diff --git a/.idea/Gencoding.iml b/.idea/Gencoding.iml index d0876a7..d9ff559 100644 --- a/.idea/Gencoding.iml +++ b/.idea/Gencoding.iml @@ -1,8 +1,10 @@ - - + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index c5cd101..7ba73c2 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/README.md b/README.md index 156bce2..778831f 100644 --- a/README.md +++ b/README.md @@ -16,3 +16,9 @@ This project provides two components of Genius, a graph-based bug search framewo The online search is based on nearpy (https://github.com/pixelogik/NearPy). +``` +D:\IDA_Pro_v6.8\idaq.exe -c -S"raw-feature-extractor/preprocessing_ida.py" file_name +D:\IDA_Pro_v6.8\idaq.exe -c -S"raw-feature-extractor/preprocessing_ida.py --path XXX" file_name + +``` + diff --git a/python_lib/PySide/QtCore.pyd b/python_lib/PySide/QtCore.pyd new file mode 100644 index 0000000..6906714 Binary files /dev/null and b/python_lib/PySide/QtCore.pyd differ diff --git a/python_lib/PySide/QtDeclarative.pyd b/python_lib/PySide/QtDeclarative.pyd new file mode 100644 index 0000000..715e514 Binary files /dev/null and b/python_lib/PySide/QtDeclarative.pyd differ diff --git a/python_lib/PySide/QtGui.pyd b/python_lib/PySide/QtGui.pyd new file mode 100644 index 0000000..35e1eaa Binary files /dev/null and b/python_lib/PySide/QtGui.pyd differ diff --git a/python_lib/PySide/QtHelp.pyd b/python_lib/PySide/QtHelp.pyd new file mode 100644 index 0000000..0abbe0d Binary files /dev/null and b/python_lib/PySide/QtHelp.pyd differ diff --git a/python_lib/PySide/QtMultimedia.pyd b/python_lib/PySide/QtMultimedia.pyd new file mode 100644 index 0000000..fc849ed Binary files /dev/null and b/python_lib/PySide/QtMultimedia.pyd differ diff --git a/python_lib/PySide/QtNetwork.pyd b/python_lib/PySide/QtNetwork.pyd new file mode 100644 index 0000000..7915608 Binary files /dev/null and b/python_lib/PySide/QtNetwork.pyd differ diff --git a/python_lib/PySide/QtOpenGL.pyd b/python_lib/PySide/QtOpenGL.pyd new file mode 100644 index 0000000..045944f Binary files /dev/null and b/python_lib/PySide/QtOpenGL.pyd differ diff --git a/python_lib/PySide/QtScript.pyd b/python_lib/PySide/QtScript.pyd new file mode 100644 index 0000000..3e8166b Binary files /dev/null and b/python_lib/PySide/QtScript.pyd differ diff --git a/python_lib/PySide/QtScriptTools.pyd b/python_lib/PySide/QtScriptTools.pyd new file mode 100644 index 0000000..050a187 Binary files /dev/null and b/python_lib/PySide/QtScriptTools.pyd differ diff --git a/python_lib/PySide/QtSql.pyd b/python_lib/PySide/QtSql.pyd new file mode 100644 index 0000000..50a4364 Binary files /dev/null and b/python_lib/PySide/QtSql.pyd differ diff --git a/python_lib/PySide/QtSvg.pyd b/python_lib/PySide/QtSvg.pyd new file mode 100644 index 0000000..1d14c2c Binary files /dev/null and b/python_lib/PySide/QtSvg.pyd differ diff --git a/python_lib/PySide/QtTest.pyd b/python_lib/PySide/QtTest.pyd new file mode 100644 index 0000000..3e0df81 Binary files /dev/null and b/python_lib/PySide/QtTest.pyd differ diff --git a/python_lib/PySide/QtUiTools.pyd b/python_lib/PySide/QtUiTools.pyd new file mode 100644 index 0000000..059892b Binary files /dev/null and b/python_lib/PySide/QtUiTools.pyd differ diff --git a/python_lib/PySide/QtXml.pyd b/python_lib/PySide/QtXml.pyd new file mode 100644 index 0000000..f95af0c Binary files /dev/null and b/python_lib/PySide/QtXml.pyd differ diff --git a/python_lib/PySide/QtXmlPatterns.pyd b/python_lib/PySide/QtXmlPatterns.pyd new file mode 100644 index 0000000..d86e5a6 Binary files /dev/null and b/python_lib/PySide/QtXmlPatterns.pyd differ diff --git a/python_lib/PySide/__init__.py b/python_lib/PySide/__init__.py new file mode 100644 index 0000000..0a9a067 --- /dev/null +++ b/python_lib/PySide/__init__.py @@ -0,0 +1,3 @@ +__all__ = ['QtCore', 'QtGui', 'QtNetwork', 'QtOpenGL', 'QtSql', 'QtSvg', 'QtTest', 'QtWebKit', 'QtScript'] +__version__ = "1.1.2" +__version_info__ = (1, 1, 2, "final", 1) diff --git a/python_lib/PySide/phonon.pyd b/python_lib/PySide/phonon.pyd new file mode 100644 index 0000000..45cfffa Binary files /dev/null and b/python_lib/PySide/phonon.pyd differ diff --git a/python_lib/PySide/pyside-python2.7.dll b/python_lib/PySide/pyside-python2.7.dll new file mode 100644 index 0000000..51c156e Binary files /dev/null and b/python_lib/PySide/pyside-python2.7.dll differ diff --git a/python_lib/PySide/shiboken-python2.7.dll b/python_lib/PySide/shiboken-python2.7.dll new file mode 100644 index 0000000..fbed31d Binary files /dev/null and b/python_lib/PySide/shiboken-python2.7.dll differ diff --git a/python_lib/idaapi.py b/python_lib/idaapi.py new file mode 100644 index 0000000..90acefd --- /dev/null +++ b/python_lib/idaapi.py @@ -0,0 +1,55604 @@ +# This file was automatically generated by SWIG (http://www.swig.org). +# Version 2.0.12 +# +# Do not make changes to this file unless you know what you are doing--modify +# the SWIG interface file instead. + + + + +""" +IDA Plugin SDK API wrapper +""" + + +from sys import version_info +if version_info >= (2,6,0): + def swig_import_helper(): + from os.path import dirname + import imp + fp = None + try: + fp, pathname, description = imp.find_module('_idaapi', [dirname(__file__)]) + except ImportError: + import _idaapi + return _idaapi + if fp is not None: + try: + _mod = imp.load_module('_idaapi', fp, pathname, description) + finally: + fp.close() + return _mod + _idaapi = swig_import_helper() + del swig_import_helper +else: + import _idaapi +del version_info +try: + _swig_property = property +except NameError: + pass # Python < 2.2 doesn't have 'property'. +def _swig_setattr_nondynamic(self,class_type,name,value,static=1): + if (name == "thisown"): return self.this.own(value) + if (name == "this"): + if type(value).__name__ == 'SwigPyObject': + self.__dict__[name] = value + return + method = class_type.__swig_setmethods__.get(name,None) + if method: return method(self,value) + if (not static): + self.__dict__[name] = value + else: + raise AttributeError("You cannot add attributes to %s" % self) + +def _swig_setattr(self,class_type,name,value): + return _swig_setattr_nondynamic(self,class_type,name,value,0) + +def _swig_getattr(self,class_type,name): + if (name == "thisown"): return self.this.own() + method = class_type.__swig_getmethods__.get(name,None) + if method: return method(self) + raise AttributeError(name) + +def _swig_repr(self): + try: strthis = "proxy of " + self.this.__repr__() + except: strthis = "" + return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,) + +try: + _object = object + _newclass = 1 +except AttributeError: + class _object : pass + _newclass = 0 + + +def _swig_setattr_nondynamic_method(set): + def set_attr(self,name,value): + if (name == "thisown"): return self.this.own(value) + if hasattr(self,name) or (name == "this"): + set(self,name,value) + else: + raise AttributeError("You cannot add attributes to %s" % self) + return set_attr + + +try: + import weakref + weakref_proxy = weakref.proxy +except: + weakref_proxy = lambda x: x + + +SIZE_MAX = _idaapi.SIZE_MAX +BADADDR = _idaapi.BADADDR +BADSEL = _idaapi.BADSEL +BADNODE = _idaapi.BADNODE +# + +import struct +import traceback +import os +import sys +import bisect +import __builtin__ +import imp + +def 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. + + For more information, see: . + """ + if modulename in sys.modules.keys(): + reload(sys.modules[modulename]) + else: + import importlib + import inspect + m = importlib.import_module(modulename, package) + frame_obj, filename, line_number, function_name, lines, index = inspect.stack()[1] + importer_module = inspect.getmodule(frame_obj) + if importer_module is None: # No importer module; called from command line + importer_module = sys.modules['__main__'] + setattr(importer_module, modulename, m) + sys.modules[modulename] = m + +# ----------------------------------------------------------------------- + +# Seek constants +SEEK_SET = 0 # from the file start +SEEK_CUR = 1 # from the current position +SEEK_END = 2 # from the file end + +# Plugin constants +PLUGIN_MOD = 0x0001 +PLUGIN_DRAW = 0x0002 +PLUGIN_SEG = 0x0004 +PLUGIN_UNL = 0x0008 +PLUGIN_HIDE = 0x0010 +PLUGIN_DBG = 0x0020 +PLUGIN_PROC = 0x0040 +PLUGIN_FIX = 0x0080 +PLUGIN_SKIP = 0 +PLUGIN_OK = 1 +PLUGIN_KEEP = 2 + +# PyIdc conversion object IDs +PY_ICID_INT64 = 0 +""" +int64 object +""" +PY_ICID_BYREF = 1 +""" +byref object +""" +PY_ICID_OPAQUE = 2 +""" +opaque object +""" + +# Step trace options (used with set_step_trace_options()) +ST_OVER_DEBUG_SEG = 0x01 +""" +step tracing will be disabled when IP is in a debugger segment +""" + +ST_OVER_LIB_FUNC = 0x02 +""" +step tracing will be disabled when IP is in a library function +""" + +# ----------------------------------------------------------------------- +class pyidc_opaque_object_t(object): + """ + This is the base class for all Python<->IDC opaque objects + """ + __idc_cvt_id__ = PY_ICID_OPAQUE + +# ----------------------------------------------------------------------- +class py_clinked_object_t(pyidc_opaque_object_t): + """ + This is a utility and base class for C linked objects + """ + def __init__(self, lnk = None): + # static link: if a link was provided + self.__static_clink__ = True if lnk else False + + # Create link if it was not provided + self.__clink__ = lnk if lnk else self._create_clink() + + def __del__(self): + """ + Delete the link upon object destruction (only if not static) + """ + self._free() + + def _free(self): + """ + Explicitly delete the link (only if not static) + """ + if not self.__static_clink__ and self.__clink__ is not None: + self._del_clink(self.__clink__) + self.__clink__ = None + + def copy(self): + """ + Returns a new copy of this class + """ + + # Create an unlinked instance + inst = self.__class__() + + # Assign self to the new instance + inst.assign(self) + + return inst + + # + # Methods to be overwritten + # + def _create_clink(self): + """ + Overwrite me. + Creates a new clink + @return: PyCObject representing the C link + """ + pass + + def _del_clink(self, lnk): + """ + Overwrite me. + This method deletes the link + """ + pass + + def _get_clink_ptr(self): + """ + Overwrite me. + Returns the C link pointer as a 64bit number + """ + pass + + def assign(self, other): + """ + Overwrite me. + This method allows you to assign an instance contents to anothers + @return: Boolean + """ + pass + + clink = property(lambda self: self.__clink__) + """ + Returns the C link as a PyObject + """ + + clink_ptr = property(lambda self: self._get_clink_ptr()) + """ + Returns the C link pointer as a number + """ + +# ----------------------------------------------------------------------- +class object_t(object): + """ + Helper class used to initialize empty objects + """ + def __init__(self, **kwds): + self.__dict__ = kwds + + def __getitem__(self, idx): + """ + Allow access to object attributes by index (like dictionaries) + """ + return getattr(self, idx) + +# ----------------------------------------------------------------------- +def _bounded_getitem_iterator(self): + """ + Helper function, to be set as __iter__ method for qvector-, or array-based classes. + """ + for i in range(len(self)): + yield self[i] + +# ----------------------------------------------------------------------- +class plugin_t(pyidc_opaque_object_t): + """ + Base class for all scripted plugins. + """ + pass + +# ----------------------------------------------------------------------- +class pyidc_cvt_helper__(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 + """ + def __init__(self, cvt_id, value): + self.__idc_cvt_id__ = cvt_id + self.value = value + + def __set_value(self, v): + self.__idc_cvt_value__ = v + def __get_value(self): + return self.__idc_cvt_value__ + value = property(__get_value, __set_value) + +# ----------------------------------------------------------------------- +class PyIdc_cvt_int64__(pyidc_cvt_helper__): + """ + Helper class for explicitly representing VT_INT64 values + """ + + def __init__(self, v): + # id = 0 = int64 object + super(self.__class__, self).__init__(PY_ICID_INT64, v) + + # operation table + __op_table = \ + { + 0: lambda a, b: a + b, + 1: lambda a, b: a - b, + 2: lambda a, b: a * b, + 3: lambda a, b: a / b + } + # carries the operation given its number + def __op(self, op_n, other, rev=False): + a = self.value + # other operand of same type? then take its value field + if type(other) == type(self): + b = other.value + else: + b = other + if rev: + t = a + a = b + b = t + # construct a new object and return as the result + return self.__class__(self.__op_table[op_n](a, b)) + + # overloaded operators + def __add__(self, other): return self.__op(0, other) + def __sub__(self, other): return self.__op(1, other) + def __mul__(self, other): return self.__op(2, other) + def __div__(self, other): return self.__op(3, other) + def __radd__(self, other): return self.__op(0, other, True) + def __rsub__(self, other): return self.__op(1, other, True) + def __rmul__(self, other): return self.__op(2, other, True) + def __rdiv__(self, other): return self.__op(3, other, True) + +# ----------------------------------------------------------------------- +# qstrvec_t clinked object +class _qstrvec_t(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 AskUsingForm 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. + """ + + def __init__(self, items=None): + py_clinked_object_t.__init__(self) + # Populate the list if needed + if items: + self.from_list(items) + + def _create_clink(self): + return _idaapi.qstrvec_t_create() + + def _del_clink(self, lnk): + return _idaapi.qstrvec_t_destroy(lnk) + + def _get_clink_ptr(self): + return _idaapi.qstrvec_t_get_clink_ptr(self) + + def assign(self, other): + """ + Copies the contents of 'other' to 'self' + """ + return _idaapi.qstrvec_t_assign(self, other) + + def __setitem__(self, idx, s): + """ + Sets string at the given index + """ + return _idaapi.qstrvec_t_set(self, idx, s) + + def __getitem__(self, idx): + """ + Gets the string at the given index + """ + return _idaapi.qstrvec_t_get(self, idx) + + def __get_size(self): + return _idaapi.qstrvec_t_size(self) + + size = property(__get_size) + """ + Returns the count of elements + """ + + def addressof(self, idx): + """ + Returns the address (as number) of the qstring at the given index + """ + return _idaapi.qstrvec_t_addressof(self, idx) + + def add(self, s): + """ + Add a string to the vector + """ + return _idaapi.qstrvec_t_add(self, s) + + def from_list(self, lst): + """ + Populates the vector from a Python string list + """ + return _idaapi.qstrvec_t_from_list(self, lst) + + def clear(self, qclear=False): + """ + Clears all strings from the vector. + @param qclear: Just reset the size but do not actually free the memory + """ + return _idaapi.qstrvec_t_clear(self, qclear) + + def insert(self, idx, s): + """ + Insert a string into the vector + """ + return _idaapi.qstrvec_t_insert(self, idx, s) + + def remove(self, idx): + """ + Removes a string from the vector + """ + return _idaapi.qstrvec_t_remove(self, idx) + +# ----------------------------------------------------------------------- +class PyIdc_cvt_refclass__(pyidc_cvt_helper__): + """ + Helper class for representing references to immutable objects + """ + def __init__(self, v): + # id = one = byref object + super(self.__class__, self).__init__(PY_ICID_BYREF, v) + + def cstr(self): + """ + Returns the string as a C string (up to the zero termination) + """ + return as_cstr(self.value) + +# ----------------------------------------------------------------------- +def 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 \x00 and returns the string value up to that point. + """ + if isinstance(val, PyIdc_cvt_refclass__): + val = val.value + + n = val.find('\x00') + return val if n == -1 else val[:n] + +# ----------------------------------------------------------------------- +def as_unicode(s): + """ + Convenience function to convert a string into appropriate unicode format + """ + # use UTF16 big/little endian, depending on the environment? + return unicode(s).encode("UTF-16" + ("BE" if _idaapi.cvar.inf.mf else "LE")) + +# ----------------------------------------------------------------------- +def as_uint32(v): + """ + Returns a number as an unsigned int32 number + """ + return v & 0xffffffff + +# ----------------------------------------------------------------------- +def as_int32(v): + """ + Returns a number as a signed int32 number + """ + return -((~v & 0xffffffff)+1) + +# ----------------------------------------------------------------------- +def as_signed(v, nbits = 32): + """ + Returns a number as signed. The number of bits are specified by the user. + The MSB holds the sign. + """ + return -(( ~v & ((1 << nbits)-1) ) + 1) if v & (1 << nbits-1) else v + +# ---------------------------------------------------------------------- +def 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 + """ + # end-bit not specified? use start bit (thus extract one bit) + if e == -1: + e = s + # swap start and end if start > end + if s > e: + e, s = s, e + + mask = ~(((1 << (e-s+1))-1) << s) + + return (v & mask) >> s + +# ---------------------------------------------------------------------- +__struct_unpack_table = { + 1: ('b', 'B'), + 2: ('h', 'H'), + 4: ('l', 'L'), + 8: ('q', 'Q') +} + +# ---------------------------------------------------------------------- +def 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. + """ + # Supported length? + n = len(buffer) + if n not in __struct_unpack_table: + return None + # Conver to number + signed = 1 if signed else 0 + + # Unpack + return struct.unpack_from(__struct_unpack_table[n][signed], buffer, offs)[0] + + +# ------------------------------------------------------------ +def IDAPython_ExecSystem(cmd): + """ + Executes a command with popen(). + """ + try: + f = os.popen(cmd, "r") + s = ''.join(f.readlines()) + f.close() + return s + except Exception as e: + return "%s\n%s" % (str(e), traceback.format_exc()) + +# ------------------------------------------------------------ +def IDAPython_FormatExc(etype, value, tb, limit=None): + """ + This function is used to format an exception given the + values returned by a PyErr_Fetch() + """ + try: + return ''.join(traceback.format_exception(etype, value, tb, limit)) + except: + return str(value) + + +# ------------------------------------------------------------ +def IDAPython_ExecScript(script, g): + """ + 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. + """ + scriptpath = os.path.dirname(script) + if len(scriptpath) and scriptpath not in sys.path: + sys.path.append(scriptpath) + + argv = sys.argv + sys.argv = [ script ] + + # Adjust the __file__ path in the globals we pass to the script + old__file__ = g['__file__'] if '__file__' in g else '' + g['__file__'] = script + + try: + execfile(script, g) + PY_COMPILE_ERR = None + except Exception as e: + PY_COMPILE_ERR = "%s\n%s" % (str(e), traceback.format_exc()) + print(PY_COMPILE_ERR) + finally: + # Restore state + g['__file__'] = old__file__ + sys.argv = argv + + return PY_COMPILE_ERR + +# ------------------------------------------------------------ +def IDAPython_LoadProcMod(script, g): + """ + Load processor module. + """ + pname = g['__name__'] if g and g.has_key("__name__") else '__main__' + parent = sys.modules[pname] + + scriptpath, scriptname = os.path.split(script) + if len(scriptpath) and scriptpath not in sys.path: + sys.path.append(scriptpath) + + procmod_name = os.path.splitext(scriptname)[0] + procobj = None + fp = None + try: + fp, pathname, description = imp.find_module(procmod_name) + procmod = imp.load_module(procmod_name, fp, pathname, description) + if parent: + setattr(parent, procmod_name, procmod) + # export attrs from parent to processor module + parent_attrs = getattr(parent, '__all__', + (attr for attr in dir(parent) if not attr.startswith('_'))) + for pa in parent_attrs: + setattr(procmod, pa, getattr(parent, pa)) + # instantiate processor object + if getattr(procmod, 'PROCESSOR_ENTRY', None): + procobj = procmod.PROCESSOR_ENTRY() + PY_COMPILE_ERR = None + except Exception as e: + PY_COMPILE_ERR = "%s\n%s" % (str(e), traceback.format_exc()) + print(PY_COMPILE_ERR) + finally: + if fp: fp.close() + + sys.path.remove(scriptpath) + + return (PY_COMPILE_ERR, procobj) + +# ------------------------------------------------------------ +def IDAPython_UnLoadProcMod(script, g): + """ + Unload processor module. + """ + pname = g['__name__'] if g and g.has_key("__name__") else '__main__' + parent = sys.modules[pname] + + scriptname = os.path.split(script)[1] + procmod_name = os.path.splitext(scriptname)[0] + if getattr(parent, procmod_name, None): + delattr(parent, procmod_name) + del sys.modules[procmod_name] + PY_COMPILE_ERR = None + return PY_COMPILE_ERR + +# ---------------------------------------------------------------------- +class __IDAPython_Completion_Util(object): + """ + Internal utility class for auto-completion support + """ + def __init__(self): + self.n = 0 + self.completion = None + self.lastmodule = None + + @staticmethod + def parse_identifier(line, prefix, prefix_start): + """ + Parse a line and extracts identifier + """ + id_start = prefix_start + while id_start > 0: + ch = line[id_start] + if not ch.isalpha() and ch != '.' and ch != '_': + id_start += 1 + break + id_start -= 1 + + return line[id_start:prefix_start + len(prefix)] + + @staticmethod + def dir_of(m, prefix): + return [x for x in dir(m) if x.startswith(prefix)] + + @classmethod + def get_completion(cls, id, prefix): + try: + m = sys.modules['__main__'] + + parts = id.split('.') + c = len(parts) + + for i in xrange(0, c-1): + m = getattr(m, parts[i]) + except Exception as e: + return (None, None) + else: + # search in the module + completion = cls.dir_of(m, prefix) + + # no completion found? looking from the global scope? then try the builtins + if not completion and c == 1: + completion = cls.dir_of(__builtin__, prefix) + + return (m, completion) if completion else (None, None) + + def __call__(self, prefix, n, line, prefix_start): + if n == 0: + self.n = n + id = self.parse_identifier(line, prefix, prefix_start) + self.lastmodule, self.completion = self.get_completion(id, prefix) + + if self.completion is None or n >= len(self.completion): + return None + + s = self.completion[n] + try: + attr = getattr(self.lastmodule, s) + # Is it callable? + if callable(attr): + return s + ("" if line.startswith("?") else "(") + # Is it iterable? + elif isinstance(attr, basestring) or getattr(attr, '__iter__', False): + return s + "[" + except: + pass + + return s + +# Instantiate an IDAPython command completion object (for use with IDA's CLI bar) +IDAPython_Completion = __IDAPython_Completion_Util() + +def _listify_types(*classes): + for cls in classes: + cls.__getitem__ = cls.at + cls.__len__ = cls.size + cls.__iter__ = _bounded_getitem_iterator + + + +# The general callback format of notify_when() is: +# def notify_when_callback(nw_code) +# In the case of NW_OPENIDB, the callback is: +# def notify_when_callback(nw_code, is_old_database) +NW_OPENIDB = 0x0001 +""" +Notify when the database is opened. Its callback is of the form: def notify_when_callback(nw_code, is_old_database) +""" +NW_CLOSEIDB = 0x0002 +""" +Notify when the database is closed. Its callback is of the form: def notify_when_callback(nw_code) +""" +NW_INITIDA = 0x0004 +""" +Notify when the IDA starts. Its callback is of the form: def notify_when_callback(nw_code) +""" +NW_TERMIDA = 0x0008 +""" +Notify when the IDA terminates. Its callback is of the form: def notify_when_callback(nw_code) +""" +NW_REMOVE = 0x0010 +""" +Use this flag with other flags to uninstall a notifywhen callback +""" + +# + +IDA_SDK_VERSION = _idaapi.IDA_SDK_VERSION +BADMEMSIZE = _idaapi.BADMEMSIZE +MAXSTR = _idaapi.MAXSTR +__MF__ = _idaapi.__MF__ + +def qatoll(*args): + """ + qatoll(nptr) -> int64 + """ + return _idaapi.qatoll(*args) +FMT_64 = _idaapi.FMT_64 +FMT_Z = _idaapi.FMT_Z +FMT_ZS = _idaapi.FMT_ZS +FMT_EA = _idaapi.FMT_EA + +def qexit(*args): + """ + qexit(code) + """ + return _idaapi.qexit(*args) + +def extend_sign(*args): + """ + extend_sign(v, nbytes, sign_extend) -> uint64 + """ + return _idaapi.extend_sign(*args) + +def readbytes(*args): + """ + readbytes(h, res, size, mf) -> int + """ + return _idaapi.readbytes(*args) + +def writebytes(*args): + """ + writebytes(h, l, size, mf) -> int + """ + return _idaapi.writebytes(*args) + +def reloc_value(*args): + """ + reloc_value(value, size, delta, mf) + """ + return _idaapi.reloc_value(*args) + +def qvector_reserve(*args): + """ + qvector_reserve(vec, old, cnt, elsize) -> void * + """ + return _idaapi.qvector_reserve(*args) +class ida_true_type(object): + """ + Proxy of C++ ida_true_type class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> ida_true_type + """ + this = _idaapi.new_ida_true_type(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_ida_true_type + __del__ = lambda self : None; +ida_true_type_swigregister = _idaapi.ida_true_type_swigregister +ida_true_type_swigregister(ida_true_type) + +class ida_false_type(object): + """ + Proxy of C++ ida_false_type class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> ida_false_type + """ + this = _idaapi.new_ida_false_type(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_ida_false_type + __del__ = lambda self : None; +ida_false_type_swigregister = _idaapi.ida_false_type_swigregister +ida_false_type_swigregister(ida_false_type) + + +def check_type_trait(*args): + """ + check_type_trait(arg1) -> bool + check_type_trait(arg1) -> bool + """ + return _idaapi.check_type_trait(*args) +class qrefcnt_obj_t(object): + """ + Proxy of C++ qrefcnt_obj_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + refcnt = _swig_property(_idaapi.qrefcnt_obj_t_refcnt_get, _idaapi.qrefcnt_obj_t_refcnt_set) + def release(self, *args): + """ + release(self) + """ + return _idaapi.qrefcnt_obj_t_release(self, *args) + + __swig_destroy__ = _idaapi.delete_qrefcnt_obj_t + __del__ = lambda self : None; +qrefcnt_obj_t_swigregister = _idaapi.qrefcnt_obj_t_swigregister +qrefcnt_obj_t_swigregister(qrefcnt_obj_t) + + +def relocate_relobj(*args): + """ + relocate_relobj(_relobj, ea, mf) -> bool + """ + return _idaapi.relocate_relobj(*args) + +def replace_tabs(*args): + """ + replace_tabs(str, tabsize) -> bool + """ + return _idaapi.replace_tabs(*args) + +def get_utf8_char(*args): + """ + get_utf8_char(pptr) -> wchar32_t + """ + return _idaapi.get_utf8_char(*args) + +def convert_encoding(*args): + """ + convert_encoding(fromcode, tocode, indata, out, flags=0) -> int + """ + return _idaapi.convert_encoding(*args) +CP_UTF8 = _idaapi.CP_UTF8 +CP_UTF16 = _idaapi.CP_UTF16 +class channel_redir_t(object): + """ + Proxy of C++ channel_redir_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + fd = _swig_property(_idaapi.channel_redir_t_fd_get, _idaapi.channel_redir_t_fd_set) + file = _swig_property(_idaapi.channel_redir_t_file_get, _idaapi.channel_redir_t_file_set) + flags = _swig_property(_idaapi.channel_redir_t_flags_get, _idaapi.channel_redir_t_flags_set) + def is_input(self, *args): + """ + is_input(self) -> bool + """ + return _idaapi.channel_redir_t_is_input(self, *args) + + def is_output(self, *args): + """ + is_output(self) -> bool + """ + return _idaapi.channel_redir_t_is_output(self, *args) + + def is_append(self, *args): + """ + is_append(self) -> bool + """ + return _idaapi.channel_redir_t_is_append(self, *args) + + def is_quoted(self, *args): + """ + is_quoted(self) -> bool + """ + return _idaapi.channel_redir_t_is_quoted(self, *args) + + start = _swig_property(_idaapi.channel_redir_t_start_get, _idaapi.channel_redir_t_start_set) + length = _swig_property(_idaapi.channel_redir_t_length_get, _idaapi.channel_redir_t_length_set) + def __init__(self, *args): + """ + __init__(self) -> channel_redir_t + """ + this = _idaapi.new_channel_redir_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_channel_redir_t + __del__ = lambda self : None; +channel_redir_t_swigregister = _idaapi.channel_redir_t_swigregister +channel_redir_t_swigregister(channel_redir_t) +cvar = _idaapi.cvar +IOREDIR_INPUT = _idaapi.IOREDIR_INPUT +IOREDIR_OUTPUT = _idaapi.IOREDIR_OUTPUT +IOREDIR_APPEND = _idaapi.IOREDIR_APPEND +IOREDIR_QUOTED = _idaapi.IOREDIR_QUOTED + + +def expand_argv(*args): + """ + expand_argv(p_argc, argc, argv) -> char ** + """ + return _idaapi.expand_argv(*args) + +def free_argv(*args): + """ + free_argv(argc, argv) + """ + return _idaapi.free_argv(*args) + +def quote_cmdline_arg(*args): + """ + quote_cmdline_arg(arg) -> bool + """ + return _idaapi.quote_cmdline_arg(*args) + +def parse_dbgopts(*args): + """ + parse_dbgopts(ido, r_switch) -> bool + """ + return _idaapi.parse_dbgopts(*args) +class instant_dbgopts_t(object): + """ + Proxy of C++ instant_dbgopts_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + debmod = _swig_property(_idaapi.instant_dbgopts_t_debmod_get, _idaapi.instant_dbgopts_t_debmod_set) + env = _swig_property(_idaapi.instant_dbgopts_t_env_get, _idaapi.instant_dbgopts_t_env_set) + host = _swig_property(_idaapi.instant_dbgopts_t_host_get, _idaapi.instant_dbgopts_t_host_set) + _pass = _swig_property(_idaapi.instant_dbgopts_t__pass_get, _idaapi.instant_dbgopts_t__pass_set) + port = _swig_property(_idaapi.instant_dbgopts_t_port_get, _idaapi.instant_dbgopts_t_port_set) + pid = _swig_property(_idaapi.instant_dbgopts_t_pid_get, _idaapi.instant_dbgopts_t_pid_set) + event_id = _swig_property(_idaapi.instant_dbgopts_t_event_id_get, _idaapi.instant_dbgopts_t_event_id_set) + attach = _swig_property(_idaapi.instant_dbgopts_t_attach_get, _idaapi.instant_dbgopts_t_attach_set) + def __init__(self, *args): + """ + __init__(self) -> instant_dbgopts_t + """ + this = _idaapi.new_instant_dbgopts_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_instant_dbgopts_t + __del__ = lambda self : None; +instant_dbgopts_t_swigregister = _idaapi.instant_dbgopts_t_swigregister +instant_dbgopts_t_swigregister(instant_dbgopts_t) + + +def qwait_timed(*args): + """ + qwait_timed(child, status, flags, timeout_ms) -> int + """ + return _idaapi.qwait_timed(*args) + +def check_process_exit(*args): + """ + check_process_exit(handle, exit_code, msecs=-1) -> int + """ + return _idaapi.check_process_exit(*args) +TCT_UNKNOWN = _idaapi.TCT_UNKNOWN +TCT_OWNER = _idaapi.TCT_OWNER +TCT_NOT_OWNER = _idaapi.TCT_NOT_OWNER + +def is_control_tty(*args): + """ + is_control_tty(fd) -> tty_control_t + """ + return _idaapi.is_control_tty(*args) + +def qdetach_tty(*args): + """ + qdetach_tty() + """ + return _idaapi.qdetach_tty(*args) + +def qcontrol_tty(*args): + """ + qcontrol_tty() + """ + return _idaapi.qcontrol_tty(*args) +class __qthread_t(object): + """ + Proxy of C++ __qthread_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> __qthread_t + """ + this = _idaapi.new___qthread_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete___qthread_t + __del__ = lambda self : None; +__qthread_t_swigregister = _idaapi.__qthread_t_swigregister +__qthread_t_swigregister(__qthread_t) + + +def is_main_thread(*args): + """ + is_main_thread() -> bool + """ + return _idaapi.is_main_thread(*args) +class __qsemaphore_t(object): + """ + Proxy of C++ __qsemaphore_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> __qsemaphore_t + """ + this = _idaapi.new___qsemaphore_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete___qsemaphore_t + __del__ = lambda self : None; +__qsemaphore_t_swigregister = _idaapi.__qsemaphore_t_swigregister +__qsemaphore_t_swigregister(__qsemaphore_t) + +class __qmutex_t(object): + """ + Proxy of C++ __qmutex_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> __qmutex_t + """ + this = _idaapi.new___qmutex_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete___qmutex_t + __del__ = lambda self : None; +__qmutex_t_swigregister = _idaapi.__qmutex_t_swigregister +__qmutex_t_swigregister(__qmutex_t) + +class qmutex_locker_t(object): + """ + Proxy of C++ qmutex_locker_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, _lock) -> qmutex_locker_t + """ + this = _idaapi.new_qmutex_locker_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_qmutex_locker_t + __del__ = lambda self : None; +qmutex_locker_t_swigregister = _idaapi.qmutex_locker_t_swigregister +qmutex_locker_t_swigregister(qmutex_locker_t) + +INTERR_MSG_FMT = _idaapi.INTERR_MSG_FMT + +def qsplitpath(*args): + """ + qsplitpath(path, dir, file) -> char * + """ + return _idaapi.qsplitpath(*args) + +def init_process(*args): + """ + init_process(lpi, errbuf) -> void * + """ + return _idaapi.init_process(*args) + +def vinterr(*args): + """ + vinterr(file, line, format, va) + """ + return _idaapi.vinterr(*args) + +def strlwr(*args): + """ + strlwr(s) -> char * + """ + return _idaapi.strlwr(*args) + +def strupr(*args): + """ + strupr(s) -> char * + """ + return _idaapi.strupr(*args) +class uvalvec_t(object): + """ + Proxy of C++ qvector<(uval_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> uvalvec_t + __init__(self, x) -> uvalvec_t + """ + this = _idaapi.new_uvalvec_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_uvalvec_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> unsigned int & + """ + return _idaapi.uvalvec_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.uvalvec_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.uvalvec_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.uvalvec_t_empty(self, *args) + + def at(self, *args): + """ + at(self, _idx) -> unsigned int const & + """ + return _idaapi.uvalvec_t_at(self, *args) + + def front(self, *args): + """ + front(self) -> unsigned int const + front(self) -> unsigned int & + """ + return _idaapi.uvalvec_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> unsigned int const + back(self) -> unsigned int & + """ + return _idaapi.uvalvec_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.uvalvec_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.uvalvec_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.uvalvec_t_resize(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.uvalvec_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.uvalvec_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.uvalvec_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.uvalvec_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> unsigned int * + """ + return _idaapi.uvalvec_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.uvalvec_t_inject(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.uvalvec_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.uvalvec_t___ne__(self, *args) + + def begin(self, *args): + """ + begin(self) -> qvector< unsigned int >::iterator + begin(self) -> qvector< unsigned int >::const_iterator + """ + return _idaapi.uvalvec_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> qvector< unsigned int >::iterator + end(self) -> qvector< unsigned int >::const_iterator + """ + return _idaapi.uvalvec_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> qvector< unsigned int >::iterator + """ + return _idaapi.uvalvec_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> qvector< unsigned int >::iterator + erase(self, first, last) -> qvector< unsigned int >::iterator + """ + return _idaapi.uvalvec_t_erase(self, *args) + + def find(self, *args): + """ + find(self, x) -> qvector< unsigned int >::iterator + find(self, x) -> qvector< unsigned int >::const_iterator + """ + return _idaapi.uvalvec_t_find(self, *args) + + def has(self, *args): + """ + has(self, x) -> bool + """ + return _idaapi.uvalvec_t_has(self, *args) + + def add_unique(self, *args): + """ + add_unique(self, x) -> bool + """ + return _idaapi.uvalvec_t_add_unique(self, *args) + + def _del(self, *args): + """ + _del(self, x) -> bool + """ + return _idaapi.uvalvec_t__del(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.uvalvec_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> unsigned int const & + """ + return _idaapi.uvalvec_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.uvalvec_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + +uvalvec_t_swigregister = _idaapi.uvalvec_t_swigregister +uvalvec_t_swigregister(uvalvec_t) + +class intvec_t(object): + """ + Proxy of C++ qvector<(int)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> intvec_t + __init__(self, x) -> intvec_t + """ + this = _idaapi.new_intvec_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_intvec_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> int & + """ + return _idaapi.intvec_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.intvec_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.intvec_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.intvec_t_empty(self, *args) + + def at(self, *args): + """ + at(self, _idx) -> int const & + """ + return _idaapi.intvec_t_at(self, *args) + + def front(self, *args): + """ + front(self) -> int const + front(self) -> int & + """ + return _idaapi.intvec_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> int const + back(self) -> int & + """ + return _idaapi.intvec_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.intvec_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.intvec_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.intvec_t_resize(self, *args) + + def grow(self, *args): + """ + grow(self, x=int()) + """ + return _idaapi.intvec_t_grow(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.intvec_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.intvec_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.intvec_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.intvec_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> int * + """ + return _idaapi.intvec_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.intvec_t_inject(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.intvec_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.intvec_t___ne__(self, *args) + + def begin(self, *args): + """ + begin(self) -> qvector< int >::iterator + begin(self) -> qvector< int >::const_iterator + """ + return _idaapi.intvec_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> qvector< int >::iterator + end(self) -> qvector< int >::const_iterator + """ + return _idaapi.intvec_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> qvector< int >::iterator + """ + return _idaapi.intvec_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> qvector< int >::iterator + erase(self, first, last) -> qvector< int >::iterator + """ + return _idaapi.intvec_t_erase(self, *args) + + def find(self, *args): + """ + find(self, x) -> qvector< int >::iterator + find(self, x) -> qvector< int >::const_iterator + """ + return _idaapi.intvec_t_find(self, *args) + + def has(self, *args): + """ + has(self, x) -> bool + """ + return _idaapi.intvec_t_has(self, *args) + + def add_unique(self, *args): + """ + add_unique(self, x) -> bool + """ + return _idaapi.intvec_t_add_unique(self, *args) + + def _del(self, *args): + """ + _del(self, x) -> bool + """ + return _idaapi.intvec_t__del(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.intvec_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> int const & + """ + return _idaapi.intvec_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.intvec_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + +intvec_t_swigregister = _idaapi.intvec_t_swigregister +intvec_t_swigregister(intvec_t) + +class boolvec_t(object): + """ + Proxy of C++ qvector<(bool)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> boolvec_t + __init__(self, x) -> boolvec_t + """ + this = _idaapi.new_boolvec_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_boolvec_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> bool & + """ + return _idaapi.boolvec_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.boolvec_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.boolvec_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.boolvec_t_empty(self, *args) + + def at(self, *args): + """ + at(self, _idx) -> bool const & + """ + return _idaapi.boolvec_t_at(self, *args) + + def front(self, *args): + """ + front(self) -> bool const + front(self) -> bool & + """ + return _idaapi.boolvec_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> bool const + back(self) -> bool & + """ + return _idaapi.boolvec_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.boolvec_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.boolvec_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.boolvec_t_resize(self, *args) + + def grow(self, *args): + """ + grow(self, x=bool()) + """ + return _idaapi.boolvec_t_grow(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.boolvec_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.boolvec_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.boolvec_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.boolvec_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> bool * + """ + return _idaapi.boolvec_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.boolvec_t_inject(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.boolvec_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.boolvec_t___ne__(self, *args) + + def begin(self, *args): + """ + begin(self) -> qvector< bool >::iterator + begin(self) -> qvector< bool >::const_iterator + """ + return _idaapi.boolvec_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> qvector< bool >::iterator + end(self) -> qvector< bool >::const_iterator + """ + return _idaapi.boolvec_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> qvector< bool >::iterator + """ + return _idaapi.boolvec_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> qvector< bool >::iterator + erase(self, first, last) -> qvector< bool >::iterator + """ + return _idaapi.boolvec_t_erase(self, *args) + + def find(self, *args): + """ + find(self, x) -> qvector< bool >::iterator + find(self, x) -> qvector< bool >::const_iterator + """ + return _idaapi.boolvec_t_find(self, *args) + + def has(self, *args): + """ + has(self, x) -> bool + """ + return _idaapi.boolvec_t_has(self, *args) + + def add_unique(self, *args): + """ + add_unique(self, x) -> bool + """ + return _idaapi.boolvec_t_add_unique(self, *args) + + def _del(self, *args): + """ + _del(self, x) -> bool + """ + return _idaapi.boolvec_t__del(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.boolvec_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> bool const & + """ + return _idaapi.boolvec_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.boolvec_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + +boolvec_t_swigregister = _idaapi.boolvec_t_swigregister +boolvec_t_swigregister(boolvec_t) + +class casevec_t(object): + """ + Proxy of C++ qvector<(qvector<(sval_t)>)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> casevec_t + __init__(self, x) -> casevec_t + """ + this = _idaapi.new_casevec_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_casevec_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> intvec_t + """ + return _idaapi.casevec_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.casevec_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.casevec_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.casevec_t_empty(self, *args) + + def at(self, *args): + """ + at(self, _idx) -> intvec_t + """ + return _idaapi.casevec_t_at(self, *args) + + def front(self, *args): + """ + front(self) -> intvec_t + front(self) -> intvec_t + """ + return _idaapi.casevec_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> intvec_t + back(self) -> intvec_t + """ + return _idaapi.casevec_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.casevec_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.casevec_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.casevec_t_resize(self, *args) + + def grow(self, *args): + """ + grow(self, x=qvector< int >()) + """ + return _idaapi.casevec_t_grow(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.casevec_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.casevec_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.casevec_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.casevec_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> intvec_t + """ + return _idaapi.casevec_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.casevec_t_inject(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.casevec_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.casevec_t___ne__(self, *args) + + def begin(self, *args): + """ + begin(self) -> intvec_t + begin(self) -> intvec_t + """ + return _idaapi.casevec_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> intvec_t + end(self) -> intvec_t + """ + return _idaapi.casevec_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> intvec_t + """ + return _idaapi.casevec_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> intvec_t + erase(self, first, last) -> intvec_t + """ + return _idaapi.casevec_t_erase(self, *args) + + def find(self, *args): + """ + find(self, x) -> intvec_t + find(self, x) -> intvec_t + """ + return _idaapi.casevec_t_find(self, *args) + + def has(self, *args): + """ + has(self, x) -> bool + """ + return _idaapi.casevec_t_has(self, *args) + + def add_unique(self, *args): + """ + add_unique(self, x) -> bool + """ + return _idaapi.casevec_t_add_unique(self, *args) + + def _del(self, *args): + """ + _del(self, x) -> bool + """ + return _idaapi.casevec_t__del(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.casevec_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> intvec_t + """ + return _idaapi.casevec_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.casevec_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + +casevec_t_swigregister = _idaapi.casevec_t_swigregister +casevec_t_swigregister(casevec_t) + +class strvec_t(object): + """ + Proxy of C++ qvector<(simpleline_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> strvec_t + __init__(self, x) -> strvec_t + """ + this = _idaapi.new_strvec_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_strvec_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> simpleline_t + """ + return _idaapi.strvec_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.strvec_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.strvec_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.strvec_t_empty(self, *args) + + def at(self, *args): + """ + at(self, _idx) -> simpleline_t + """ + return _idaapi.strvec_t_at(self, *args) + + def front(self, *args): + """ + front(self) -> simpleline_t + front(self) -> simpleline_t + """ + return _idaapi.strvec_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> simpleline_t + back(self) -> simpleline_t + """ + return _idaapi.strvec_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.strvec_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.strvec_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.strvec_t_resize(self, *args) + + def grow(self, *args): + """ + grow(self, x=simpleline_t()) + """ + return _idaapi.strvec_t_grow(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.strvec_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.strvec_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.strvec_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.strvec_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> simpleline_t + """ + return _idaapi.strvec_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.strvec_t_inject(self, *args) + + def begin(self, *args): + """ + begin(self) -> simpleline_t + begin(self) -> simpleline_t + """ + return _idaapi.strvec_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> simpleline_t + end(self) -> simpleline_t + """ + return _idaapi.strvec_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> simpleline_t + """ + return _idaapi.strvec_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> simpleline_t + erase(self, first, last) -> simpleline_t + """ + return _idaapi.strvec_t_erase(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.strvec_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> simpleline_t + """ + return _idaapi.strvec_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.strvec_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + +strvec_t_swigregister = _idaapi.strvec_t_swigregister +strvec_t_swigregister(strvec_t) + +_listify_types(uvalvec_t, + intvec_t, + boolvec_t, + casevec_t, + strvec_t) + +class uchar_array(object): + """ + Proxy of C++ uchar_array class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, nelements) -> uchar_array + """ + this = _idaapi.new_uchar_array(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_uchar_array + __del__ = lambda self : None; + def __getitem__(self, *args): + """ + __getitem__(self, index) -> uchar + """ + return _idaapi.uchar_array___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, index, value) + """ + return _idaapi.uchar_array___setitem__(self, *args) + + def cast(self, *args): + """ + cast(self) -> uchar * + """ + return _idaapi.uchar_array_cast(self, *args) + + def frompointer(*args): + """ + frompointer(t) -> uchar_array + """ + return _idaapi.uchar_array_frompointer(*args) + + frompointer = staticmethod(frompointer) +uchar_array_swigregister = _idaapi.uchar_array_swigregister +uchar_array_swigregister(uchar_array) + +def uchar_array_frompointer(*args): + """ + uchar_array_frompointer(t) -> uchar_array + """ + return _idaapi.uchar_array_frompointer(*args) + +class tid_array(object): + """ + Proxy of C++ tid_array class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, nelements) -> tid_array + """ + this = _idaapi.new_tid_array(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_tid_array + __del__ = lambda self : None; + def __getitem__(self, *args): + """ + __getitem__(self, index) -> tid_t + """ + return _idaapi.tid_array___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, index, value) + """ + return _idaapi.tid_array___setitem__(self, *args) + + def cast(self, *args): + """ + cast(self) -> tid_t * + """ + return _idaapi.tid_array_cast(self, *args) + + def frompointer(*args): + """ + frompointer(t) -> tid_array + """ + return _idaapi.tid_array_frompointer(*args) + + frompointer = staticmethod(frompointer) +tid_array_swigregister = _idaapi.tid_array_swigregister +tid_array_swigregister(tid_array) + +def tid_array_frompointer(*args): + """ + tid_array_frompointer(t) -> tid_array + """ + return _idaapi.tid_array_frompointer(*args) + +class ea_array(object): + """ + Proxy of C++ ea_array class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, nelements) -> ea_array + """ + this = _idaapi.new_ea_array(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_ea_array + __del__ = lambda self : None; + def __getitem__(self, *args): + """ + __getitem__(self, index) -> ea_t + """ + return _idaapi.ea_array___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, index, value) + """ + return _idaapi.ea_array___setitem__(self, *args) + + def cast(self, *args): + """ + cast(self) -> ea_t * + """ + return _idaapi.ea_array_cast(self, *args) + + def frompointer(*args): + """ + frompointer(t) -> ea_array + """ + return _idaapi.ea_array_frompointer(*args) + + frompointer = staticmethod(frompointer) +ea_array_swigregister = _idaapi.ea_array_swigregister +ea_array_swigregister(ea_array) + +def ea_array_frompointer(*args): + """ + ea_array_frompointer(t) -> ea_array + """ + return _idaapi.ea_array_frompointer(*args) + +class sel_array(object): + """ + Proxy of C++ sel_array class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, nelements) -> sel_array + """ + this = _idaapi.new_sel_array(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_sel_array + __del__ = lambda self : None; + def __getitem__(self, *args): + """ + __getitem__(self, index) -> sel_t + """ + return _idaapi.sel_array___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, index, value) + """ + return _idaapi.sel_array___setitem__(self, *args) + + def cast(self, *args): + """ + cast(self) -> sel_t * + """ + return _idaapi.sel_array_cast(self, *args) + + def frompointer(*args): + """ + frompointer(t) -> sel_array + """ + return _idaapi.sel_array_frompointer(*args) + + frompointer = staticmethod(frompointer) +sel_array_swigregister = _idaapi.sel_array_swigregister +sel_array_swigregister(sel_array) + +def sel_array_frompointer(*args): + """ + sel_array_frompointer(t) -> sel_array + """ + return _idaapi.sel_array_frompointer(*args) + +class uval_array(object): + """ + Proxy of C++ uval_array class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, nelements) -> uval_array + """ + this = _idaapi.new_uval_array(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_uval_array + __del__ = lambda self : None; + def __getitem__(self, *args): + """ + __getitem__(self, index) -> uval_t + """ + return _idaapi.uval_array___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, index, value) + """ + return _idaapi.uval_array___setitem__(self, *args) + + def cast(self, *args): + """ + cast(self) -> uval_t * + """ + return _idaapi.uval_array_cast(self, *args) + + def frompointer(*args): + """ + frompointer(t) -> uval_array + """ + return _idaapi.uval_array_frompointer(*args) + + frompointer = staticmethod(frompointer) +uval_array_swigregister = _idaapi.uval_array_swigregister +uval_array_swigregister(uval_array) + +def uval_array_frompointer(*args): + """ + uval_array_frompointer(t) -> uval_array + """ + return _idaapi.uval_array_frompointer(*args) + +class int_pointer(object): + """ + Proxy of C++ int_pointer class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> int_pointer + """ + this = _idaapi.new_int_pointer(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_int_pointer + __del__ = lambda self : None; + def assign(self, *args): + """ + assign(self, value) + """ + return _idaapi.int_pointer_assign(self, *args) + + def value(self, *args): + """ + value(self) -> int + """ + return _idaapi.int_pointer_value(self, *args) + + def cast(self, *args): + """ + cast(self) -> int * + """ + return _idaapi.int_pointer_cast(self, *args) + + def frompointer(*args): + """ + frompointer(t) -> int_pointer + """ + return _idaapi.int_pointer_frompointer(*args) + + frompointer = staticmethod(frompointer) +int_pointer_swigregister = _idaapi.int_pointer_swigregister +int_pointer_swigregister(int_pointer) + +def int_pointer_frompointer(*args): + """ + int_pointer_frompointer(t) -> int_pointer + """ + return _idaapi.int_pointer_frompointer(*args) + +class ea_pointer(object): + """ + Proxy of C++ ea_pointer class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> ea_pointer + """ + this = _idaapi.new_ea_pointer(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_ea_pointer + __del__ = lambda self : None; + def assign(self, *args): + """ + assign(self, value) + """ + return _idaapi.ea_pointer_assign(self, *args) + + def value(self, *args): + """ + value(self) -> ea_t + """ + return _idaapi.ea_pointer_value(self, *args) + + def cast(self, *args): + """ + cast(self) -> ea_t * + """ + return _idaapi.ea_pointer_cast(self, *args) + + def frompointer(*args): + """ + frompointer(t) -> ea_pointer + """ + return _idaapi.ea_pointer_frompointer(*args) + + frompointer = staticmethod(frompointer) +ea_pointer_swigregister = _idaapi.ea_pointer_swigregister +ea_pointer_swigregister(ea_pointer) + +def ea_pointer_frompointer(*args): + """ + ea_pointer_frompointer(t) -> ea_pointer + """ + return _idaapi.ea_pointer_frompointer(*args) + +class sval_pointer(object): + """ + Proxy of C++ sval_pointer class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> sval_pointer + """ + this = _idaapi.new_sval_pointer(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_sval_pointer + __del__ = lambda self : None; + def assign(self, *args): + """ + assign(self, value) + """ + return _idaapi.sval_pointer_assign(self, *args) + + def value(self, *args): + """ + value(self) -> sval_t + """ + return _idaapi.sval_pointer_value(self, *args) + + def cast(self, *args): + """ + cast(self) -> sval_t * + """ + return _idaapi.sval_pointer_cast(self, *args) + + def frompointer(*args): + """ + frompointer(t) -> sval_pointer + """ + return _idaapi.sval_pointer_frompointer(*args) + + frompointer = staticmethod(frompointer) +sval_pointer_swigregister = _idaapi.sval_pointer_swigregister +sval_pointer_swigregister(sval_pointer) + +def sval_pointer_frompointer(*args): + """ + sval_pointer_frompointer(t) -> sval_pointer + """ + return _idaapi.sval_pointer_frompointer(*args) + +class sel_pointer(object): + """ + Proxy of C++ sel_pointer class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> sel_pointer + """ + this = _idaapi.new_sel_pointer(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_sel_pointer + __del__ = lambda self : None; + def assign(self, *args): + """ + assign(self, value) + """ + return _idaapi.sel_pointer_assign(self, *args) + + def value(self, *args): + """ + value(self) -> sel_t + """ + return _idaapi.sel_pointer_value(self, *args) + + def cast(self, *args): + """ + cast(self) -> sel_t * + """ + return _idaapi.sel_pointer_cast(self, *args) + + def frompointer(*args): + """ + frompointer(t) -> sel_pointer + """ + return _idaapi.sel_pointer_frompointer(*args) + + frompointer = staticmethod(frompointer) +sel_pointer_swigregister = _idaapi.sel_pointer_swigregister +sel_pointer_swigregister(sel_pointer) + +def sel_pointer_frompointer(*args): + """ + sel_pointer_frompointer(t) -> sel_pointer + """ + return _idaapi.sel_pointer_frompointer(*args) + +f_EXE_old = _idaapi.f_EXE_old +f_COM_old = _idaapi.f_COM_old +f_BIN = _idaapi.f_BIN +f_DRV = _idaapi.f_DRV +f_WIN = _idaapi.f_WIN +f_HEX = _idaapi.f_HEX +f_MEX = _idaapi.f_MEX +f_LX = _idaapi.f_LX +f_LE = _idaapi.f_LE +f_NLM = _idaapi.f_NLM +f_COFF = _idaapi.f_COFF +f_PE = _idaapi.f_PE +f_OMF = _idaapi.f_OMF +f_SREC = _idaapi.f_SREC +f_ZIP = _idaapi.f_ZIP +f_OMFLIB = _idaapi.f_OMFLIB +f_AR = _idaapi.f_AR +f_LOADER = _idaapi.f_LOADER +f_ELF = _idaapi.f_ELF +f_W32RUN = _idaapi.f_W32RUN +f_AOUT = _idaapi.f_AOUT +f_PRC = _idaapi.f_PRC +f_EXE = _idaapi.f_EXE +f_COM = _idaapi.f_COM +f_AIXAR = _idaapi.f_AIXAR +f_MACHO = _idaapi.f_MACHO +class compiler_info_t(object): + """ + Proxy of C++ compiler_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + id = _swig_property(_idaapi.compiler_info_t_id_get, _idaapi.compiler_info_t_id_set) + cm = _swig_property(_idaapi.compiler_info_t_cm_get, _idaapi.compiler_info_t_cm_set) + size_i = _swig_property(_idaapi.compiler_info_t_size_i_get, _idaapi.compiler_info_t_size_i_set) + size_b = _swig_property(_idaapi.compiler_info_t_size_b_get, _idaapi.compiler_info_t_size_b_set) + size_e = _swig_property(_idaapi.compiler_info_t_size_e_get, _idaapi.compiler_info_t_size_e_set) + defalign = _swig_property(_idaapi.compiler_info_t_defalign_get, _idaapi.compiler_info_t_defalign_set) + size_s = _swig_property(_idaapi.compiler_info_t_size_s_get, _idaapi.compiler_info_t_size_s_set) + size_l = _swig_property(_idaapi.compiler_info_t_size_l_get, _idaapi.compiler_info_t_size_l_set) + size_ll = _swig_property(_idaapi.compiler_info_t_size_ll_get, _idaapi.compiler_info_t_size_ll_set) + def __init__(self, *args): + """ + __init__(self) -> compiler_info_t + """ + this = _idaapi.new_compiler_info_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_compiler_info_t + __del__ = lambda self : None; +compiler_info_t_swigregister = _idaapi.compiler_info_t_swigregister +compiler_info_t_swigregister(compiler_info_t) + +STT_CUR = _idaapi.STT_CUR +STT_VA = _idaapi.STT_VA +STT_MM = _idaapi.STT_MM +STT_DBG = _idaapi.STT_DBG +class idainfo(object): + """ + Proxy of C++ idainfo class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + tag = _swig_property(_idaapi.idainfo_tag_get, _idaapi.idainfo_tag_set) + version = _swig_property(_idaapi.idainfo_version_get, _idaapi.idainfo_version_set) + procName = _swig_property(_idaapi.idainfo_procName_get, _idaapi.idainfo_procName_set) + def set_proc_name(self, *args): + """ + set_proc_name(self, name) + """ + return _idaapi.idainfo_set_proc_name(self, *args) + + def get_proc_name(self, *args): + """ + get_proc_name(self) -> char * + """ + return _idaapi.idainfo_get_proc_name(self, *args) + + lflags = _swig_property(_idaapi.idainfo_lflags_get, _idaapi.idainfo_lflags_set) + def is_32bit(self, *args): + """ + is_32bit(self) -> bool + """ + return _idaapi.idainfo_is_32bit(self, *args) + + def is_64bit(self, *args): + """ + is_64bit(self) -> bool + """ + return _idaapi.idainfo_is_64bit(self, *args) + + def is_snapshot(self, *args): + """ + is_snapshot(self) -> bool + """ + return _idaapi.idainfo_is_snapshot(self, *args) + + def is_dll(self, *args): + """ + is_dll(self) -> bool + """ + return _idaapi.idainfo_is_dll(self, *args) + + demnames = _swig_property(_idaapi.idainfo_demnames_get, _idaapi.idainfo_demnames_set) + def get_demname_form(self, *args): + """ + get_demname_form(self) -> uchar + """ + return _idaapi.idainfo_get_demname_form(self, *args) + + filetype = _swig_property(_idaapi.idainfo_filetype_get, _idaapi.idainfo_filetype_set) + def like_binary(self, *args): + """ + like_binary(self) -> bool + """ + return _idaapi.idainfo_like_binary(self, *args) + + fcoresiz = _swig_property(_idaapi.idainfo_fcoresiz_get, _idaapi.idainfo_fcoresiz_set) + corestart = _swig_property(_idaapi.idainfo_corestart_get, _idaapi.idainfo_corestart_set) + ostype = _swig_property(_idaapi.idainfo_ostype_get, _idaapi.idainfo_ostype_set) + apptype = _swig_property(_idaapi.idainfo_apptype_get, _idaapi.idainfo_apptype_set) + startSP = _swig_property(_idaapi.idainfo_startSP_get, _idaapi.idainfo_startSP_set) + af = _swig_property(_idaapi.idainfo_af_get, _idaapi.idainfo_af_set) + startIP = _swig_property(_idaapi.idainfo_startIP_get, _idaapi.idainfo_startIP_set) + beginEA = _swig_property(_idaapi.idainfo_beginEA_get, _idaapi.idainfo_beginEA_set) + minEA = _swig_property(_idaapi.idainfo_minEA_get, _idaapi.idainfo_minEA_set) + maxEA = _swig_property(_idaapi.idainfo_maxEA_get, _idaapi.idainfo_maxEA_set) + ominEA = _swig_property(_idaapi.idainfo_ominEA_get, _idaapi.idainfo_ominEA_set) + omaxEA = _swig_property(_idaapi.idainfo_omaxEA_get, _idaapi.idainfo_omaxEA_set) + lowoff = _swig_property(_idaapi.idainfo_lowoff_get, _idaapi.idainfo_lowoff_set) + highoff = _swig_property(_idaapi.idainfo_highoff_get, _idaapi.idainfo_highoff_set) + maxref = _swig_property(_idaapi.idainfo_maxref_get, _idaapi.idainfo_maxref_set) + ASCIIbreak = _swig_property(_idaapi.idainfo_ASCIIbreak_get, _idaapi.idainfo_ASCIIbreak_set) + wide_high_byte_first = _swig_property(_idaapi.idainfo_wide_high_byte_first_get, _idaapi.idainfo_wide_high_byte_first_set) + indent = _swig_property(_idaapi.idainfo_indent_get, _idaapi.idainfo_indent_set) + comment = _swig_property(_idaapi.idainfo_comment_get, _idaapi.idainfo_comment_set) + xrefnum = _swig_property(_idaapi.idainfo_xrefnum_get, _idaapi.idainfo_xrefnum_set) + s_entab = _swig_property(_idaapi.idainfo_s_entab_get, _idaapi.idainfo_s_entab_set) + specsegs = _swig_property(_idaapi.idainfo_specsegs_get, _idaapi.idainfo_specsegs_set) + s_void = _swig_property(_idaapi.idainfo_s_void_get, _idaapi.idainfo_s_void_set) + type_xrefnum = _swig_property(_idaapi.idainfo_type_xrefnum_get, _idaapi.idainfo_type_xrefnum_set) + s_showauto = _swig_property(_idaapi.idainfo_s_showauto_get, _idaapi.idainfo_s_showauto_set) + s_auto = _swig_property(_idaapi.idainfo_s_auto_get, _idaapi.idainfo_s_auto_set) + s_limiter = _swig_property(_idaapi.idainfo_s_limiter_get, _idaapi.idainfo_s_limiter_set) + s_null = _swig_property(_idaapi.idainfo_s_null_get, _idaapi.idainfo_s_null_set) + s_genflags = _swig_property(_idaapi.idainfo_s_genflags_get, _idaapi.idainfo_s_genflags_set) + def use_allasm(self, *args): + """ + use_allasm(self) -> bool + """ + return _idaapi.idainfo_use_allasm(self, *args) + + def loading_idc(self, *args): + """ + loading_idc(self) -> bool + """ + return _idaapi.idainfo_loading_idc(self, *args) + + s_showpref = _swig_property(_idaapi.idainfo_s_showpref_get, _idaapi.idainfo_s_showpref_set) + s_prefseg = _swig_property(_idaapi.idainfo_s_prefseg_get, _idaapi.idainfo_s_prefseg_set) + asmtype = _swig_property(_idaapi.idainfo_asmtype_get, _idaapi.idainfo_asmtype_set) + baseaddr = _swig_property(_idaapi.idainfo_baseaddr_get, _idaapi.idainfo_baseaddr_set) + s_xrefflag = _swig_property(_idaapi.idainfo_s_xrefflag_get, _idaapi.idainfo_s_xrefflag_set) + binSize = _swig_property(_idaapi.idainfo_binSize_get, _idaapi.idainfo_binSize_set) + s_cmtflg = _swig_property(_idaapi.idainfo_s_cmtflg_get, _idaapi.idainfo_s_cmtflg_set) + nametype = _swig_property(_idaapi.idainfo_nametype_get, _idaapi.idainfo_nametype_set) + s_showbads = _swig_property(_idaapi.idainfo_s_showbads_get, _idaapi.idainfo_s_showbads_set) + s_prefflag = _swig_property(_idaapi.idainfo_s_prefflag_get, _idaapi.idainfo_s_prefflag_set) + s_packbase = _swig_property(_idaapi.idainfo_s_packbase_get, _idaapi.idainfo_s_packbase_set) + asciiflags = _swig_property(_idaapi.idainfo_asciiflags_get, _idaapi.idainfo_asciiflags_set) + listnames = _swig_property(_idaapi.idainfo_listnames_get, _idaapi.idainfo_listnames_set) + ASCIIpref = _swig_property(_idaapi.idainfo_ASCIIpref_get, _idaapi.idainfo_ASCIIpref_set) + ASCIIsernum = _swig_property(_idaapi.idainfo_ASCIIsernum_get, _idaapi.idainfo_ASCIIsernum_set) + ASCIIzeroes = _swig_property(_idaapi.idainfo_ASCIIzeroes_get, _idaapi.idainfo_ASCIIzeroes_set) + graph_view = _swig_property(_idaapi.idainfo_graph_view_get, _idaapi.idainfo_graph_view_set) + s_reserved5 = _swig_property(_idaapi.idainfo_s_reserved5_get, _idaapi.idainfo_s_reserved5_set) + tribyte_order = _swig_property(_idaapi.idainfo_tribyte_order_get, _idaapi.idainfo_tribyte_order_set) + mf = _swig_property(_idaapi.idainfo_mf_get, _idaapi.idainfo_mf_set) + s_org = _swig_property(_idaapi.idainfo_s_org_get, _idaapi.idainfo_s_org_set) + s_assume = _swig_property(_idaapi.idainfo_s_assume_get, _idaapi.idainfo_s_assume_set) + s_checkarg = _swig_property(_idaapi.idainfo_s_checkarg_get, _idaapi.idainfo_s_checkarg_set) + start_ss = _swig_property(_idaapi.idainfo_start_ss_get, _idaapi.idainfo_start_ss_set) + start_cs = _swig_property(_idaapi.idainfo_start_cs_get, _idaapi.idainfo_start_cs_set) + main = _swig_property(_idaapi.idainfo_main_get, _idaapi.idainfo_main_set) + short_demnames = _swig_property(_idaapi.idainfo_short_demnames_get, _idaapi.idainfo_short_demnames_set) + long_demnames = _swig_property(_idaapi.idainfo_long_demnames_get, _idaapi.idainfo_long_demnames_set) + datatypes = _swig_property(_idaapi.idainfo_datatypes_get, _idaapi.idainfo_datatypes_set) + strtype = _swig_property(_idaapi.idainfo_strtype_get, _idaapi.idainfo_strtype_set) + af2 = _swig_property(_idaapi.idainfo_af2_get, _idaapi.idainfo_af2_set) + namelen = _swig_property(_idaapi.idainfo_namelen_get, _idaapi.idainfo_namelen_set) + margin = _swig_property(_idaapi.idainfo_margin_get, _idaapi.idainfo_margin_set) + lenxref = _swig_property(_idaapi.idainfo_lenxref_get, _idaapi.idainfo_lenxref_set) + lprefix = _swig_property(_idaapi.idainfo_lprefix_get, _idaapi.idainfo_lprefix_set) + lprefixlen = _swig_property(_idaapi.idainfo_lprefixlen_get, _idaapi.idainfo_lprefixlen_set) + cc = _swig_property(_idaapi.idainfo_cc_get, _idaapi.idainfo_cc_set) + database_change_count = _swig_property(_idaapi.idainfo_database_change_count_get, _idaapi.idainfo_database_change_count_set) + size_ldbl = _swig_property(_idaapi.idainfo_size_ldbl_get, _idaapi.idainfo_size_ldbl_set) + appcall_options = _swig_property(_idaapi.idainfo_appcall_options_get, _idaapi.idainfo_appcall_options_set) + reserved = _swig_property(_idaapi.idainfo_reserved_get, _idaapi.idainfo_reserved_set) + def __init__(self, *args): + """ + __init__(self) -> idainfo + """ + this = _idaapi.new_idainfo(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_idainfo + __del__ = lambda self : None; +idainfo_swigregister = _idaapi.idainfo_swigregister +idainfo_swigregister(idainfo) +LFLG_PC_FPP = _idaapi.LFLG_PC_FPP +LFLG_PC_FLAT = _idaapi.LFLG_PC_FLAT +LFLG_64BIT = _idaapi.LFLG_64BIT +LFLG_DBG_NOPATH = _idaapi.LFLG_DBG_NOPATH +LFLG_SNAPSHOT = _idaapi.LFLG_SNAPSHOT +LFLG_IS_DLL = _idaapi.LFLG_IS_DLL +DEMNAM_MASK = _idaapi.DEMNAM_MASK +DEMNAM_CMNT = _idaapi.DEMNAM_CMNT +DEMNAM_NAME = _idaapi.DEMNAM_NAME +DEMNAM_NONE = _idaapi.DEMNAM_NONE +DEMNAM_GCC3 = _idaapi.DEMNAM_GCC3 +AF_FIXUP = _idaapi.AF_FIXUP +AF_MARKCODE = _idaapi.AF_MARKCODE +AF_UNK = _idaapi.AF_UNK +AF_CODE = _idaapi.AF_CODE +AF_PROC = _idaapi.AF_PROC +AF_USED = _idaapi.AF_USED +AF_FLIRT = _idaapi.AF_FLIRT +AF_PROCPTR = _idaapi.AF_PROCPTR +AF_JFUNC = _idaapi.AF_JFUNC +AF_NULLSUB = _idaapi.AF_NULLSUB +AF_LVAR = _idaapi.AF_LVAR +AF_TRACE = _idaapi.AF_TRACE +AF_ASCII = _idaapi.AF_ASCII +AF_IMMOFF = _idaapi.AF_IMMOFF +AF_DREFOFF = _idaapi.AF_DREFOFF +AF_FINAL = _idaapi.AF_FINAL +LMT_THIN = _idaapi.LMT_THIN +LMT_THICK = _idaapi.LMT_THICK +LMT_EMPTY = _idaapi.LMT_EMPTY +INFFL_LZERO = _idaapi.INFFL_LZERO +INFFL_ALLASM = _idaapi.INFFL_ALLASM +INFFL_LOADIDC = _idaapi.INFFL_LOADIDC +SW_SEGXRF = _idaapi.SW_SEGXRF +SW_XRFMRK = _idaapi.SW_XRFMRK +SW_XRFFNC = _idaapi.SW_XRFFNC +SW_XRFVAL = _idaapi.SW_XRFVAL +SW_RPTCMT = _idaapi.SW_RPTCMT +SW_ALLCMT = _idaapi.SW_ALLCMT +SW_NOCMT = _idaapi.SW_NOCMT +SW_LINNUM = _idaapi.SW_LINNUM +SW_TESTMODE = _idaapi.SW_TESTMODE +SW_SHHID_ITEM = _idaapi.SW_SHHID_ITEM +SW_SHHID_FUNC = _idaapi.SW_SHHID_FUNC +SW_SHHID_SEGM = _idaapi.SW_SHHID_SEGM +NM_REL_OFF = _idaapi.NM_REL_OFF +NM_PTR_OFF = _idaapi.NM_PTR_OFF +NM_NAM_OFF = _idaapi.NM_NAM_OFF +NM_REL_EA = _idaapi.NM_REL_EA +NM_PTR_EA = _idaapi.NM_PTR_EA +NM_NAM_EA = _idaapi.NM_NAM_EA +NM_EA = _idaapi.NM_EA +NM_EA4 = _idaapi.NM_EA4 +NM_EA8 = _idaapi.NM_EA8 +NM_SHORT = _idaapi.NM_SHORT +NM_SERIAL = _idaapi.NM_SERIAL +PREF_SEGADR = _idaapi.PREF_SEGADR +PREF_FNCOFF = _idaapi.PREF_FNCOFF +PREF_STACK = _idaapi.PREF_STACK +PREF_VARMARK = _idaapi.PREF_VARMARK +ASCF_GEN = _idaapi.ASCF_GEN +ASCF_AUTO = _idaapi.ASCF_AUTO +ASCF_SERIAL = _idaapi.ASCF_SERIAL +ASCF_UNICODE = _idaapi.ASCF_UNICODE +ASCF_COMMENT = _idaapi.ASCF_COMMENT +ASCF_SAVECASE = _idaapi.ASCF_SAVECASE +LN_NORMAL = _idaapi.LN_NORMAL +LN_PUBLIC = _idaapi.LN_PUBLIC +LN_AUTO = _idaapi.LN_AUTO +LN_WEAK = _idaapi.LN_WEAK +AF2_JUMPTBL = _idaapi.AF2_JUMPTBL +AF2_DODATA = _idaapi.AF2_DODATA +AF2_HFLIRT = _idaapi.AF2_HFLIRT +AF2_STKARG = _idaapi.AF2_STKARG +AF2_REGARG = _idaapi.AF2_REGARG +AF2_CHKUNI = _idaapi.AF2_CHKUNI +AF2_SIGCMT = _idaapi.AF2_SIGCMT +AF2_SIGMLT = _idaapi.AF2_SIGMLT +AF2_FTAIL = _idaapi.AF2_FTAIL +AF2_DATOFF = _idaapi.AF2_DATOFF +AF2_ANORET = _idaapi.AF2_ANORET +AF2_VERSP = _idaapi.AF2_VERSP +AF2_DOCODE = _idaapi.AF2_DOCODE +AF2_TRFUNC = _idaapi.AF2_TRFUNC +AF2_PURDAT = _idaapi.AF2_PURDAT +AF2_MEMFUNC = _idaapi.AF2_MEMFUNC + +class text_options_t(object): + """ + Proxy of C++ text_options_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + text = _swig_property(_idaapi.text_options_t_text_get, _idaapi.text_options_t_text_set) + graph = _swig_property(_idaapi.text_options_t_graph_get, _idaapi.text_options_t_graph_set) + def __init__(self, *args): + """ + __init__(self) -> text_options_t + """ + this = _idaapi.new_text_options_t(*args) + try: self.this.append(this) + except: self.this = this + def copy_to_inf(self, *args): + """ + copy_to_inf(self, gv, _inf) + """ + return _idaapi.text_options_t_copy_to_inf(self, *args) + + def copy_from_inf(self, *args): + """ + copy_from_inf(self, _inf) + """ + return _idaapi.text_options_t_copy_from_inf(self, *args) + + __swig_destroy__ = _idaapi.delete_text_options_t + __del__ = lambda self : None; +text_options_t_swigregister = _idaapi.text_options_t_swigregister +text_options_t_swigregister(text_options_t) + + +def showRepeatables(*args): + """ + showRepeatables() -> bool + """ + return _idaapi.showRepeatables(*args) + +def showAllComments(*args): + """ + showAllComments() -> bool + """ + return _idaapi.showAllComments(*args) + +def showComments(*args): + """ + showComments() -> bool + """ + return _idaapi.showComments(*args) + +def should_trace_sp(*args): + """ + should_trace_sp() -> bool + """ + return _idaapi.should_trace_sp(*args) + +def should_create_stkvars(*args): + """ + should_create_stkvars() -> bool + """ + return _idaapi.should_create_stkvars(*args) +IDAPLACE_HEXDUMP = _idaapi.IDAPLACE_HEXDUMP +IDAPLACE_STACK = _idaapi.IDAPLACE_STACK +IDAPLACE_SEGADDR = _idaapi.IDAPLACE_SEGADDR + +def calc_default_idaplace_flags(*args): + """ + calc_default_idaplace_flags() -> int + """ + return _idaapi.calc_default_idaplace_flags(*args) +MAXADDR = _idaapi.MAXADDR + +def toEA(*args): + """ + toEA(reg_cs, reg_ip) -> ea_t + """ + return _idaapi.toEA(*args) + +def idb2scr(*args): + """ + idb2scr(name) -> char * + """ + return _idaapi.idb2scr(*args) + +def scr2idb(*args): + """ + scr2idb(name) -> char * + """ + return _idaapi.scr2idb(*args) + +def ansi2idb(*args): + """ + ansi2idb(name) -> char * + """ + return _idaapi.ansi2idb(*args) +IDB_EXT32 = _idaapi.IDB_EXT32 +IDB_EXT64 = _idaapi.IDB_EXT64 +IDB_EXT = _idaapi.IDB_EXT + +def dto_copy_to_inf(*args): + """ + dto_copy_to_inf(arg1, inf) + """ + return _idaapi.dto_copy_to_inf(*args) + +def dto_copy_from_inf(*args): + """ + dto_copy_from_inf(arg1, inf) + """ + return _idaapi.dto_copy_from_inf(*args) + +def dto_init(*args): + """ + dto_init(dt, for_graph) + """ + return _idaapi.dto_init(*args) +IDD_INTERFACE_VERSION = _idaapi.IDD_INTERFACE_VERSION +NO_THREAD = _idaapi.NO_THREAD +class process_info_t(object): + """ + Proxy of C++ process_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + pid = _swig_property(_idaapi.process_info_t_pid_get, _idaapi.process_info_t_pid_set) + name = _swig_property(_idaapi.process_info_t_name_get, _idaapi.process_info_t_name_set) + def __init__(self, *args): + """ + __init__(self) -> process_info_t + """ + this = _idaapi.new_process_info_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_process_info_t + __del__ = lambda self : None; +process_info_t_swigregister = _idaapi.process_info_t_swigregister +process_info_t_swigregister(process_info_t) + +class debapp_attrs_t(object): + """ + Proxy of C++ debapp_attrs_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + cbsize = _swig_property(_idaapi.debapp_attrs_t_cbsize_get, _idaapi.debapp_attrs_t_cbsize_set) + addrsize = _swig_property(_idaapi.debapp_attrs_t_addrsize_get, _idaapi.debapp_attrs_t_addrsize_set) + platform = _swig_property(_idaapi.debapp_attrs_t_platform_get, _idaapi.debapp_attrs_t_platform_set) + def __init__(self, *args): + """ + __init__(self) -> debapp_attrs_t + """ + this = _idaapi.new_debapp_attrs_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_debapp_attrs_t + __del__ = lambda self : None; +debapp_attrs_t_swigregister = _idaapi.debapp_attrs_t_swigregister +debapp_attrs_t_swigregister(debapp_attrs_t) +DEF_ADDRSIZE = _idaapi.DEF_ADDRSIZE + +NO_EVENT = _idaapi.NO_EVENT +PROCESS_START = _idaapi.PROCESS_START +PROCESS_EXIT = _idaapi.PROCESS_EXIT +THREAD_START = _idaapi.THREAD_START +THREAD_EXIT = _idaapi.THREAD_EXIT +BREAKPOINT = _idaapi.BREAKPOINT +STEP = _idaapi.STEP +EXCEPTION = _idaapi.EXCEPTION +LIBRARY_LOAD = _idaapi.LIBRARY_LOAD +LIBRARY_UNLOAD = _idaapi.LIBRARY_UNLOAD +INFORMATION = _idaapi.INFORMATION +SYSCALL = _idaapi.SYSCALL +WINMESSAGE = _idaapi.WINMESSAGE +PROCESS_ATTACH = _idaapi.PROCESS_ATTACH +PROCESS_DETACH = _idaapi.PROCESS_DETACH +PROCESS_SUSPEND = _idaapi.PROCESS_SUSPEND +TRACE_FULL = _idaapi.TRACE_FULL +class module_info_t(object): + """ + Proxy of C++ module_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + name = _swig_property(_idaapi.module_info_t_name_get, _idaapi.module_info_t_name_set) + base = _swig_property(_idaapi.module_info_t_base_get, _idaapi.module_info_t_base_set) + size = _swig_property(_idaapi.module_info_t_size_get, _idaapi.module_info_t_size_set) + rebase_to = _swig_property(_idaapi.module_info_t_rebase_to_get, _idaapi.module_info_t_rebase_to_set) + def __init__(self, *args): + """ + __init__(self) -> module_info_t + """ + this = _idaapi.new_module_info_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_module_info_t + __del__ = lambda self : None; +module_info_t_swigregister = _idaapi.module_info_t_swigregister +module_info_t_swigregister(module_info_t) + +class e_breakpoint_t(object): + """ + Proxy of C++ e_breakpoint_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + hea = _swig_property(_idaapi.e_breakpoint_t_hea_get, _idaapi.e_breakpoint_t_hea_set) + kea = _swig_property(_idaapi.e_breakpoint_t_kea_get, _idaapi.e_breakpoint_t_kea_set) + def __init__(self, *args): + """ + __init__(self) -> e_breakpoint_t + """ + this = _idaapi.new_e_breakpoint_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_e_breakpoint_t + __del__ = lambda self : None; +e_breakpoint_t_swigregister = _idaapi.e_breakpoint_t_swigregister +e_breakpoint_t_swigregister(e_breakpoint_t) + +class e_exception_t(object): + """ + Proxy of C++ e_exception_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + code = _swig_property(_idaapi.e_exception_t_code_get, _idaapi.e_exception_t_code_set) + can_cont = _swig_property(_idaapi.e_exception_t_can_cont_get, _idaapi.e_exception_t_can_cont_set) + ea = _swig_property(_idaapi.e_exception_t_ea_get, _idaapi.e_exception_t_ea_set) + info = _swig_property(_idaapi.e_exception_t_info_get, _idaapi.e_exception_t_info_set) + def __init__(self, *args): + """ + __init__(self) -> e_exception_t + """ + this = _idaapi.new_e_exception_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_e_exception_t + __del__ = lambda self : None; +e_exception_t_swigregister = _idaapi.e_exception_t_swigregister +e_exception_t_swigregister(e_exception_t) + +class debug_event_t(object): + """ + Proxy of C++ debug_event_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> debug_event_t + """ + this = _idaapi.new_debug_event_t(*args) + try: self.this.append(this) + except: self.this = this + eid = _swig_property(_idaapi.debug_event_t_eid_get, _idaapi.debug_event_t_eid_set) + pid = _swig_property(_idaapi.debug_event_t_pid_get, _idaapi.debug_event_t_pid_set) + tid = _swig_property(_idaapi.debug_event_t_tid_get, _idaapi.debug_event_t_tid_set) + ea = _swig_property(_idaapi.debug_event_t_ea_get, _idaapi.debug_event_t_ea_set) + handled = _swig_property(_idaapi.debug_event_t_handled_get, _idaapi.debug_event_t_handled_set) + modinfo = _swig_property(_idaapi.debug_event_t_modinfo_get, _idaapi.debug_event_t_modinfo_set) + exit_code = _swig_property(_idaapi.debug_event_t_exit_code_get, _idaapi.debug_event_t_exit_code_set) + info = _swig_property(_idaapi.debug_event_t_info_get, _idaapi.debug_event_t_info_set) + bpt = _swig_property(_idaapi.debug_event_t_bpt_get, _idaapi.debug_event_t_bpt_set) + exc = _swig_property(_idaapi.debug_event_t_exc_get, _idaapi.debug_event_t_exc_set) + def bpt_ea(self, *args): + """ + bpt_ea(self) -> ea_t + """ + return _idaapi.debug_event_t_bpt_ea(self, *args) + + __swig_destroy__ = _idaapi.delete_debug_event_t + __del__ = lambda self : None; +debug_event_t_swigregister = _idaapi.debug_event_t_swigregister +debug_event_t_swigregister(debug_event_t) + +class exception_info_t(object): + """ + Proxy of C++ exception_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + code = _swig_property(_idaapi.exception_info_t_code_get, _idaapi.exception_info_t_code_set) + flags = _swig_property(_idaapi.exception_info_t_flags_get, _idaapi.exception_info_t_flags_set) + def break_on(self, *args): + """ + break_on(self) -> bool + """ + return _idaapi.exception_info_t_break_on(self, *args) + + def handle(self, *args): + """ + handle(self) -> bool + """ + return _idaapi.exception_info_t_handle(self, *args) + + name = _swig_property(_idaapi.exception_info_t_name_get, _idaapi.exception_info_t_name_set) + desc = _swig_property(_idaapi.exception_info_t_desc_get, _idaapi.exception_info_t_desc_set) + def __init__(self, *args): + """ + __init__(self) -> exception_info_t + __init__(self, _code, _flags, _name, _desc) -> exception_info_t + """ + this = _idaapi.new_exception_info_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_exception_info_t + __del__ = lambda self : None; +exception_info_t_swigregister = _idaapi.exception_info_t_swigregister +exception_info_t_swigregister(exception_info_t) +BPT_OLD_EXEC = cvar.BPT_OLD_EXEC +BPT_WRITE = cvar.BPT_WRITE +BPT_READ = cvar.BPT_READ +BPT_RDWR = cvar.BPT_RDWR +BPT_SOFT = cvar.BPT_SOFT +BPT_EXEC = cvar.BPT_EXEC +BPT_DEFAULT = cvar.BPT_DEFAULT +EXC_BREAK = _idaapi.EXC_BREAK +EXC_HANDLE = _idaapi.EXC_HANDLE +EXC_MSG = _idaapi.EXC_MSG +EXC_SILENT = _idaapi.EXC_SILENT + +class regval_t(object): + """ + Proxy of C++ regval_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + rvtype = _swig_property(_idaapi.regval_t_rvtype_get, _idaapi.regval_t_rvtype_set) + ival = _swig_property(_idaapi.regval_t_ival_get, _idaapi.regval_t_ival_set) + fval = _swig_property(_idaapi.regval_t_fval_get, _idaapi.regval_t_fval_set) + __swig_destroy__ = _idaapi.delete_regval_t + __del__ = lambda self : None; + def __init__(self, *args): + """ + __init__(self) -> regval_t + __init__(self, r) -> regval_t + """ + this = _idaapi.new_regval_t(*args) + try: self.this.append(this) + except: self.this = this + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.regval_t_clear(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.regval_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.regval_t___ne__(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.regval_t_swap(self, *args) + + def _set_int(self, *args): + """ + _set_int(self, x) + """ + return _idaapi.regval_t__set_int(self, *args) + + def _set_float(self, *args): + """ + _set_float(self, x) + """ + return _idaapi.regval_t__set_float(self, *args) + + def _set_bytes(self, *args): + """ + _set_bytes(self, data, size) + _set_bytes(self, v) + _set_bytes(self) -> bytevec_t & + """ + return _idaapi.regval_t__set_bytes(self, *args) + + def set_int(self, *args): + """ + set_int(self, x) + """ + return _idaapi.regval_t_set_int(self, *args) + + def set_float(self, *args): + """ + set_float(self, x) + """ + return _idaapi.regval_t_set_float(self, *args) + + def set_bytes(self, *args): + """ + set_bytes(self, data, size) + set_bytes(self, v) + set_bytes(self) -> bytevec_t & + """ + return _idaapi.regval_t_set_bytes(self, *args) + + def bytes(self, *args): + """ + bytes(self) -> bytevec_t + bytes(self) -> bytevec_t const & + """ + return _idaapi.regval_t_bytes(self, *args) + + def get_data(self, *args): + """ + get_data(self) + get_data(self) -> void const * + """ + return _idaapi.regval_t_get_data(self, *args) + + def get_data_size(self, *args): + """ + get_data_size(self) -> size_t + """ + return _idaapi.regval_t_get_data_size(self, *args) + +regval_t_swigregister = _idaapi.regval_t_swigregister +regval_t_swigregister(regval_t) +RVT_INT = _idaapi.RVT_INT +RVT_FLOAT = _idaapi.RVT_FLOAT + +class call_stack_info_t(object): + """ + Proxy of C++ call_stack_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + callea = _swig_property(_idaapi.call_stack_info_t_callea_get, _idaapi.call_stack_info_t_callea_set) + funcea = _swig_property(_idaapi.call_stack_info_t_funcea_get, _idaapi.call_stack_info_t_funcea_set) + fp = _swig_property(_idaapi.call_stack_info_t_fp_get, _idaapi.call_stack_info_t_fp_set) + funcok = _swig_property(_idaapi.call_stack_info_t_funcok_get, _idaapi.call_stack_info_t_funcok_set) + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.call_stack_info_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.call_stack_info_t___ne__(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> call_stack_info_t + """ + this = _idaapi.new_call_stack_info_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_call_stack_info_t + __del__ = lambda self : None; +call_stack_info_t_swigregister = _idaapi.call_stack_info_t_swigregister +call_stack_info_t_swigregister(call_stack_info_t) + +class call_stack_t(object): + """ + Proxy of C++ call_stack_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + dirty = _swig_property(_idaapi.call_stack_t_dirty_get, _idaapi.call_stack_t_dirty_set) + def __init__(self, *args): + """ + __init__(self) -> call_stack_t + """ + this = _idaapi.new_call_stack_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_call_stack_t + __del__ = lambda self : None; +call_stack_t_swigregister = _idaapi.call_stack_t_swigregister +call_stack_t_swigregister(call_stack_t) + + +def dbg_appcall(*args): + """ + dbg_appcall(func_ea, tid, tif, argnum, argv, r) -> error_t + """ + return _idaapi.dbg_appcall(*args) + +def cleanup_appcall(*args): + """ + cleanup_appcall(tid) -> error_t + """ + return _idaapi.cleanup_appcall(*args) +RESMOD_NONE = _idaapi.RESMOD_NONE +RESMOD_INTO = _idaapi.RESMOD_INTO +RESMOD_OVER = _idaapi.RESMOD_OVER +RESMOD_OUT = _idaapi.RESMOD_OUT +RESMOD_SRCINTO = _idaapi.RESMOD_SRCINTO +RESMOD_SRCOVER = _idaapi.RESMOD_SRCOVER +RESMOD_SRCOUT = _idaapi.RESMOD_SRCOUT +RESMOD_USER = _idaapi.RESMOD_USER +RESMOD_HANDLE = _idaapi.RESMOD_HANDLE +RESMOD_MAX = _idaapi.RESMOD_MAX +PROCESS_NO_THREAD = _idaapi.PROCESS_NO_THREAD +class idd_opinfo_old_t(object): + """ + Proxy of C++ idd_opinfo_old_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + addr = _swig_property(_idaapi.idd_opinfo_old_t_addr_get, _idaapi.idd_opinfo_old_t_addr_set) + value = _swig_property(_idaapi.idd_opinfo_old_t_value_get, _idaapi.idd_opinfo_old_t_value_set) + modified = _swig_property(_idaapi.idd_opinfo_old_t_modified_get, _idaapi.idd_opinfo_old_t_modified_set) + def __init__(self, *args): + """ + __init__(self) -> idd_opinfo_old_t + """ + this = _idaapi.new_idd_opinfo_old_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_idd_opinfo_old_t + __del__ = lambda self : None; +idd_opinfo_old_t_swigregister = _idaapi.idd_opinfo_old_t_swigregister +idd_opinfo_old_t_swigregister(idd_opinfo_old_t) + + +def handle_debug_event(*args): + """ + handle_debug_event(ev, rqflags) -> int + """ + return _idaapi.handle_debug_event(*args) +RQ_MASKING = _idaapi.RQ_MASKING +RQ_SUSPEND = _idaapi.RQ_SUSPEND +RQ_NOSUSP = _idaapi.RQ_NOSUSP +RQ_IGNWERR = _idaapi.RQ_IGNWERR +RQ_SILENT = _idaapi.RQ_SILENT +RQ_VERBOSE = _idaapi.RQ_VERBOSE +RQ_SWSCREEN = _idaapi.RQ_SWSCREEN +RQ__NOTHRRF = _idaapi.RQ__NOTHRRF +RQ_PROCEXIT = _idaapi.RQ_PROCEXIT +RQ_IDAIDLE = _idaapi.RQ_IDAIDLE +RQ_SUSPRUN = _idaapi.RQ_SUSPRUN +RQ_RESUME = _idaapi.RQ_RESUME +RQ_RESMOD = _idaapi.RQ_RESMOD +RQ_RESMOD_SHIFT = _idaapi.RQ_RESMOD_SHIFT +# +NO_PROCESS = 0xFFFFFFFF +NO_THREAD = 0 +# + + +def 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, dtyp, 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) + """ + return _idaapi.dbg_get_registers(*args) + +def dbg_get_thread_sreg_base(*args): + """ + 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 + """ + return _idaapi.dbg_get_thread_sreg_base(*args) + +def dbg_read_memory(*args): + """ + 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 + """ + return _idaapi.dbg_read_memory(*args) + +def dbg_write_memory(*args): + """ + dbg_write_memory(py_ea, py_buf) -> PyObject * + + + Writes a buffer to the debugee's memory + @return: Boolean + """ + return _idaapi.dbg_write_memory(*args) + +def 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 + """ + return _idaapi.dbg_get_name(*args) + +def 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(startEA, endEA, name, sclass, sbase, bitness, perm) + """ + return _idaapi.dbg_get_memory_info(*args) + +def 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 + """ + return _idaapi.dbg_can_query(*args) + +def appcall(*args): + """ + appcall(func_ea, tid, py_type, py_fields, arg_list) -> PyObject * + """ + return _idaapi.appcall(*args) + +def get_event_module_name(*args): + """ + get_event_module_name(ev) -> char + """ + return _idaapi.get_event_module_name(*args) + +def get_event_module_base(*args): + """ + get_event_module_base(ev) -> ea_t + """ + return _idaapi.get_event_module_base(*args) + +def get_event_module_size(*args): + """ + get_event_module_size(ev) -> asize_t + """ + return _idaapi.get_event_module_size(*args) + +def get_event_exc_info(*args): + """ + get_event_exc_info(ev) -> char + """ + return _idaapi.get_event_exc_info(*args) + +def get_event_info(*args): + """ + get_event_info(ev) -> char + """ + return _idaapi.get_event_info(*args) + +def get_event_bpt_hea(*args): + """ + get_event_bpt_hea(ev) -> ea_t + """ + return _idaapi.get_event_bpt_hea(*args) + +def get_event_exc_code(*args): + """ + get_event_exc_code(ev) -> uint + """ + return _idaapi.get_event_exc_code(*args) + +def get_event_exc_ea(*args): + """ + get_event_exc_ea(ev) -> ea_t + """ + return _idaapi.get_event_exc_ea(*args) + +def can_exc_continue(*args): + """ + can_exc_continue(ev) -> bool + """ + return _idaapi.can_exc_continue(*args) +# +import types + +# ----------------------------------------------------------------------- +class Appcall_array__(object): + """ + This class is used with Appcall.array() method + """ + def __init__(self, tp): + self.__type = tp + + def pack(self, L): + """ + Packs a list or tuple into a byref buffer + """ + t = type(L) + if not (t == types.ListType or t == types.TupleType): + raise ValueError, "Either a list or a tuple must be passed" + self.__size = len(L) + if self.__size == 1: + self.__typedobj = Appcall__.typedobj(self.__type + ";") + else: + self.__typedobj = Appcall__.typedobj("%s x[%d];" % (self.__type, self.__size)) + # Now store the object in a string buffer + ok, buf = self.__typedobj.store(L) + if ok: + return Appcall__.byref(buf) + else: + return None + + def 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 + """ + if not (hasattr(obj, "0") and hasattr(obj, str(self.__size-1))): + 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)] + + def unpack(self, buf, as_list=True): + """ + Unpacks an array back into a list or an object + """ + # take the value from the special ref object + if isinstance(buf, PyIdc_cvt_refclass__): + buf = buf.value + + # we can only unpack from strings + if type(buf) != types.StringType: + raise ValueError, "Cannot unpack this type!" + # now unpack + ok, obj = self.__typedobj.retrieve(buf) + if not ok: + raise ValueError, "Failed while unpacking!" + if not as_list: + return obj + return self.try_to_convert_to_list(obj) + + +# ----------------------------------------------------------------------- +# Wrapper class for the appcall() +class Appcall_callable__(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) + """ + def __init__(self, ea, tp = None, fld = None): + """ + Initializes an appcall with a given function ea + """ + self.__ea = ea + self.__type = tp + self.__fields = fld + self.__options = None # Appcall options + self.__timeout = None # Appcall timeout + + def __get_timeout(self): + return self.__timeout + + def __set_timeout(self, v): + self.__timeout = v + + timeout = property(__get_timeout, __set_timeout) + """ + An Appcall instance can change its timeout value with this attribute + """ + + def __get_options(self): + return self.__options if self.__options != None else Appcall__.get_appcall_options() + + def __set_options(self, v): + if self.timeout: + # If timeout value is set, then put the timeout flag and encode the timeout value + v |= Appcall__.APPCALL_TIMEOUT | (self.timeout << 16) + else: + # Timeout is not set, then clear the timeout flag + v &= ~Appcall__.APPCALL_TIMEOUT + + self.__options = v + + options = property(__get_options, __set_options) + """ + Sets the Appcall options locally to this Appcall instance + """ + + def __call__(self, *args): + """ + Make object callable. We redirect execution to idaapi.appcall() + """ + if self.ea is None: + raise ValueError, "Object not callable!" + + # convert arguments to a list + arg_list = list(args) + + # Save appcall options and set new global options + old_opt = Appcall__.get_appcall_options() + Appcall__.set_appcall_options(self.options) + + # Do the Appcall (use the wrapped version) + e_obj = None + try: + r = _idaapi.appcall( + self.ea, + _idaapi.get_current_thread(), + self.type, + self.fields, + arg_list) + except Exception as e: + e_obj = e + + # Restore appcall options + Appcall__.set_appcall_options(old_opt) + + # Return or re-raise exception + if e_obj: + raise Exception, e_obj + + return r + + def __get_ea(self): + return self.__ea + + def __set_ea(self, val): + self.__ea = val + + ea = property(__get_ea, __set_ea) + """ + Returns or sets the EA associated with this object + """ + + def __get_size(self): + if self.__type == None: + return -1 + r = _idaapi.calc_type_size(_idaapi.cvar.idati, self.__type) + if not r: + return -1 + return r + + size = property(__get_size) + """ + Returns the size of the type + """ + + def __get_type(self): + return self.__type + + type = property(__get_type) + """ + Returns the typestring + """ + + def __get_fields(self): + return self.__fields + + fields = property(__get_fields) + """ + Returns the field names + """ + + + def 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). + """ + + # Nothing passed? Take the address and unpack from the database + if src is None: + src = self.ea + + if type(src) == types.StringType: + return _idaapi.unpack_object_from_bv(_idaapi.cvar.idati, self.type, self.fields, src, flags) + else: + return _idaapi.unpack_object_from_idb(_idaapi.cvar.idati, self.type, self.fields, src, flags) + + def 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) + """ + + # no ea passed? thus pack to a string + if dest_ea is None: + return _idaapi.pack_object_to_bv(obj, + _idaapi.cvar.idati, + self.type, + self.fields, + base_ea, + flags) + else: + return _idaapi.pack_object_to_idb(obj, + _idaapi.cvar.idati, + self.type, + self.fields, + dest_ea, + flags) + +# ----------------------------------------------------------------------- +class Appcall_consts__(object): + """ + Helper class used by Appcall.Consts attribute + It is used to retrieve constants via attribute access +""" + def __init__(self, default=0): + self.__default = default + + def __getattr__(self, attr): + return Appcall__.valueof(attr, self.__default) + +# ----------------------------------------------------------------------- +class Appcall__(object): + APPCALL_MANUAL = 0x1 + """ + Only set up the appcall, do not run it. + you should call CleanupAppcall() when finished + """ + + APPCALL_DEBEV = 0x2 + """ + Return debug event information + If this bit is set, exceptions during appcall + will generate idc exceptions with full + information about the exception + """ + + APPCALL_TIMEOUT = 0x4 + """ + Appcall with timeout + The timeout value in milliseconds is specified + in the high 2 bytes of the 'options' argument: + If timed out, errbuf will contain "timeout". + """ + + def __init__(self): + self.__consts = Appcall_consts__() + def __get_consts(self): + return self.__consts + Consts = property(__get_consts) + """ + Use Appcall.Consts.CONST_NAME to access constants + """ + + @staticmethod + def __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 + """ + + # a string? try to resolve it + if type(name_or_ea) == types.StringType: + ea = _idaapi.get_name_ea(_idaapi.BADADDR, name_or_ea) + else: + ea = name_or_ea + # could not resolve name or invalid address? + if ea == _idaapi.BADADDR or not _idaapi.isEnabled(ea): + raise ValueError, "Undefined function " + name_or_ea + return ea + + @staticmethod + def proto(name_or_ea, prototype, 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 prototype: + @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 + """ + + # resolve and raise exception on error + ea = Appcall__.__name_or_ea(name_or_ea) + # parse the type + if flags is None: + flags = 1 | 2 | 4 # PT_SIL | PT_NDC | PT_TYP + + result = _idaapi.idc_parse_decl(_idaapi.cvar.idati, prototype, flags) + if result is None: + raise ValueError, "Could not parse type: " + prototype + + # Return the callable method with type info + return Appcall_callable__(ea, result[1], result[2]) + + def __getattr__(self, name_or_ea): + """ + Allows you to call functions as if they were member functions (by returning a callable object) + """ + # resolve and raise exception on error + ea = self.__name_or_ea(name_or_ea) + if ea == _idaapi.BADADDR: + raise ValueError, "Undefined function " + name + # Return the callable method + return Appcall_callable__(ea) + + def __getitem__(self, idx): + """ + Use self[func_name] syntax if the function name contains invalid characters for an attribute name + See __getattr___ + """ + return self.__getattr__(idx) + + @staticmethod + def 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 + """ + t, v = _idaapi.get_name_value(_idaapi.BADADDR, name) + if t == 0: # NT_NONE + v = default + return v + + @staticmethod + def int64(v): + """ + Whenever a 64bit number is needed use this method to construct an object + """ + return PyIdc_cvt_int64__(v) + + @staticmethod + def 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) + """ + return PyIdc_cvt_refclass__(val) + + @staticmethod + def 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 + """ + if str is None: + str = "" + left = size - len(str) + if left > 0: + str = str + (fill * left) + r = Appcall__.byref(str) + r.size = size + return r + + @staticmethod + def obj(**kwds): + """ + Returns an empty object or objects with attributes as passed via its keywords arguments + """ + return object_t(**kwds) + + @staticmethod + def cstr(val): + return as_cstr(val) + + @staticmethod + def unicode(s): + return as_unicode(s) + + @staticmethod + def array(type_name): + """ + Defines an array type. Later you need to pack() / unpack() + """ + return Appcall_array__(type_name) + + @staticmethod + def typedobj(typestr, ea=None): + """ + Parses a type string and returns an appcall object. + 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 + """ + # parse the type + result = _idaapi.idc_parse_decl(_idaapi.cvar.idati, typestr, 1 | 2 | 4) # PT_SIL | PT_NDC | PT_TYP + if result is None: + raise ValueError, "Could not parse type: " + typestr + # Return the callable method with type info + return Appcall_callable__(ea, result[1], result[2]) + + @staticmethod + def set_appcall_options(opt): + """ + Method to change the Appcall options globally (not per Appcall) + """ + old_opt = Appcall__.get_appcall_options() + _idaapi.cvar.inf.appcall_options = opt + return old_opt + + @staticmethod + def get_appcall_options(): + """ + Return the global Appcall options + """ + return _idaapi.cvar.inf.appcall_options + + @staticmethod + def cleanup_appcall(tid = 0): + """ + Equivalent to IDC's CleanupAppcall() + """ + return _idaapi.cleanup_appcall(tid) + +Appcall = Appcall__() +# + +IDP_INTERFACE_VERSION = _idaapi.IDP_INTERFACE_VERSION +NEXTEAS_ANSWER_SIZE = _idaapi.NEXTEAS_ANSWER_SIZE +IDPOPT_CST = _idaapi.IDPOPT_CST +IDPOPT_PRI_DEFAULT = _idaapi.IDPOPT_PRI_DEFAULT +IDPOPT_PRI_HIGH = _idaapi.IDPOPT_PRI_HIGH + +def cfg_get_cc_parm(*args): + """ + cfg_get_cc_parm(compid, name) -> char const * + """ + return _idaapi.cfg_get_cc_parm(*args) + +def cfg_get_cc_header_path(*args): + """ + cfg_get_cc_header_path(compid) -> char const * + """ + return _idaapi.cfg_get_cc_header_path(*args) + +def cfg_get_cc_predefined_macros(*args): + """ + cfg_get_cc_predefined_macros(compid) -> char const * + """ + return _idaapi.cfg_get_cc_predefined_macros(*args) + +def InstrIsSet(*args): + """ + InstrIsSet(icode, bit) -> bool + """ + return _idaapi.InstrIsSet(*args) + +def is_call_insn(*args): + """ + is_call_insn(ea) -> bool + """ + return _idaapi.is_call_insn(*args) + +def is_ret_insn(*args): + """ + is_ret_insn(ea, strict=True) -> bool + """ + return _idaapi.is_ret_insn(*args) + +def is_indirect_jump_insn(*args): + """ + is_indirect_jump_insn(ea) -> bool + """ + return _idaapi.is_indirect_jump_insn(*args) + +def is_basic_block_end(*args): + """ + is_basic_block_end(call_insn_stops_block) -> bool + """ + return _idaapi.is_basic_block_end(*args) +class asm_t(object): + """ + Proxy of C++ asm_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + flag = _swig_property(_idaapi.asm_t_flag_get, _idaapi.asm_t_flag_set) + uflag = _swig_property(_idaapi.asm_t_uflag_get, _idaapi.asm_t_uflag_set) + name = _swig_property(_idaapi.asm_t_name_get, _idaapi.asm_t_name_set) + help = _swig_property(_idaapi.asm_t_help_get, _idaapi.asm_t_help_set) + header = _swig_property(_idaapi.asm_t_header_get, _idaapi.asm_t_header_set) + badworks = _swig_property(_idaapi.asm_t_badworks_get, _idaapi.asm_t_badworks_set) + origin = _swig_property(_idaapi.asm_t_origin_get, _idaapi.asm_t_origin_set) + end = _swig_property(_idaapi.asm_t_end_get, _idaapi.asm_t_end_set) + cmnt = _swig_property(_idaapi.asm_t_cmnt_get, _idaapi.asm_t_cmnt_set) + ascsep = _swig_property(_idaapi.asm_t_ascsep_get, _idaapi.asm_t_ascsep_set) + accsep = _swig_property(_idaapi.asm_t_accsep_get, _idaapi.asm_t_accsep_set) + esccodes = _swig_property(_idaapi.asm_t_esccodes_get, _idaapi.asm_t_esccodes_set) + a_ascii = _swig_property(_idaapi.asm_t_a_ascii_get, _idaapi.asm_t_a_ascii_set) + a_byte = _swig_property(_idaapi.asm_t_a_byte_get, _idaapi.asm_t_a_byte_set) + a_word = _swig_property(_idaapi.asm_t_a_word_get, _idaapi.asm_t_a_word_set) + a_dword = _swig_property(_idaapi.asm_t_a_dword_get, _idaapi.asm_t_a_dword_set) + a_qword = _swig_property(_idaapi.asm_t_a_qword_get, _idaapi.asm_t_a_qword_set) + a_oword = _swig_property(_idaapi.asm_t_a_oword_get, _idaapi.asm_t_a_oword_set) + a_float = _swig_property(_idaapi.asm_t_a_float_get, _idaapi.asm_t_a_float_set) + a_double = _swig_property(_idaapi.asm_t_a_double_get, _idaapi.asm_t_a_double_set) + a_tbyte = _swig_property(_idaapi.asm_t_a_tbyte_get, _idaapi.asm_t_a_tbyte_set) + a_packreal = _swig_property(_idaapi.asm_t_a_packreal_get, _idaapi.asm_t_a_packreal_set) + a_dups = _swig_property(_idaapi.asm_t_a_dups_get, _idaapi.asm_t_a_dups_set) + a_bss = _swig_property(_idaapi.asm_t_a_bss_get, _idaapi.asm_t_a_bss_set) + a_equ = _swig_property(_idaapi.asm_t_a_equ_get, _idaapi.asm_t_a_equ_set) + a_seg = _swig_property(_idaapi.asm_t_a_seg_get, _idaapi.asm_t_a_seg_set) + _UNUSED1_was_atomprefix = _swig_property(_idaapi.asm_t__UNUSED1_was_atomprefix_get, _idaapi.asm_t__UNUSED1_was_atomprefix_set) + _UNUSED2_was_checkarg_operations = _swig_property(_idaapi.asm_t__UNUSED2_was_checkarg_operations_get, _idaapi.asm_t__UNUSED2_was_checkarg_operations_set) + XlatAsciiOutput = _swig_property(_idaapi.asm_t_XlatAsciiOutput_get, _idaapi.asm_t_XlatAsciiOutput_set) + a_curip = _swig_property(_idaapi.asm_t_a_curip_get, _idaapi.asm_t_a_curip_set) + a_public = _swig_property(_idaapi.asm_t_a_public_get, _idaapi.asm_t_a_public_set) + a_weak = _swig_property(_idaapi.asm_t_a_weak_get, _idaapi.asm_t_a_weak_set) + a_extrn = _swig_property(_idaapi.asm_t_a_extrn_get, _idaapi.asm_t_a_extrn_set) + a_comdef = _swig_property(_idaapi.asm_t_a_comdef_get, _idaapi.asm_t_a_comdef_set) + a_align = _swig_property(_idaapi.asm_t_a_align_get, _idaapi.asm_t_a_align_set) + lbrace = _swig_property(_idaapi.asm_t_lbrace_get, _idaapi.asm_t_lbrace_set) + rbrace = _swig_property(_idaapi.asm_t_rbrace_get, _idaapi.asm_t_rbrace_set) + a_mod = _swig_property(_idaapi.asm_t_a_mod_get, _idaapi.asm_t_a_mod_set) + a_band = _swig_property(_idaapi.asm_t_a_band_get, _idaapi.asm_t_a_band_set) + a_bor = _swig_property(_idaapi.asm_t_a_bor_get, _idaapi.asm_t_a_bor_set) + a_xor = _swig_property(_idaapi.asm_t_a_xor_get, _idaapi.asm_t_a_xor_set) + a_bnot = _swig_property(_idaapi.asm_t_a_bnot_get, _idaapi.asm_t_a_bnot_set) + a_shl = _swig_property(_idaapi.asm_t_a_shl_get, _idaapi.asm_t_a_shl_set) + a_shr = _swig_property(_idaapi.asm_t_a_shr_get, _idaapi.asm_t_a_shr_set) + a_sizeof_fmt = _swig_property(_idaapi.asm_t_a_sizeof_fmt_get, _idaapi.asm_t_a_sizeof_fmt_set) + flag2 = _swig_property(_idaapi.asm_t_flag2_get, _idaapi.asm_t_flag2_set) + cmnt2 = _swig_property(_idaapi.asm_t_cmnt2_get, _idaapi.asm_t_cmnt2_set) + low8 = _swig_property(_idaapi.asm_t_low8_get, _idaapi.asm_t_low8_set) + high8 = _swig_property(_idaapi.asm_t_high8_get, _idaapi.asm_t_high8_set) + low16 = _swig_property(_idaapi.asm_t_low16_get, _idaapi.asm_t_low16_set) + high16 = _swig_property(_idaapi.asm_t_high16_get, _idaapi.asm_t_high16_set) + a_include_fmt = _swig_property(_idaapi.asm_t_a_include_fmt_get, _idaapi.asm_t_a_include_fmt_set) + a_vstruc_fmt = _swig_property(_idaapi.asm_t_a_vstruc_fmt_get, _idaapi.asm_t_a_vstruc_fmt_set) + a_3byte = _swig_property(_idaapi.asm_t_a_3byte_get, _idaapi.asm_t_a_3byte_set) + a_rva = _swig_property(_idaapi.asm_t_a_rva_get, _idaapi.asm_t_a_rva_set) + a_yword = _swig_property(_idaapi.asm_t_a_yword_get, _idaapi.asm_t_a_yword_set) + def __init__(self, *args): + """ + __init__(self) -> asm_t + """ + this = _idaapi.new_asm_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_asm_t + __del__ = lambda self : None; +asm_t_swigregister = _idaapi.asm_t_swigregister +asm_t_swigregister(asm_t) +AS_OFFST = _idaapi.AS_OFFST +AS_COLON = _idaapi.AS_COLON +AS_UDATA = _idaapi.AS_UDATA +AS_2CHRE = _idaapi.AS_2CHRE +AS_NCHRE = _idaapi.AS_NCHRE +AS_N2CHR = _idaapi.AS_N2CHR +AS_1TEXT = _idaapi.AS_1TEXT +AS_NHIAS = _idaapi.AS_NHIAS +AS_NCMAS = _idaapi.AS_NCMAS +AS_HEXFM = _idaapi.AS_HEXFM +ASH_HEXF0 = _idaapi.ASH_HEXF0 +ASH_HEXF1 = _idaapi.ASH_HEXF1 +ASH_HEXF2 = _idaapi.ASH_HEXF2 +ASH_HEXF3 = _idaapi.ASH_HEXF3 +ASH_HEXF4 = _idaapi.ASH_HEXF4 +ASH_HEXF5 = _idaapi.ASH_HEXF5 +AS_DECFM = _idaapi.AS_DECFM +ASD_DECF0 = _idaapi.ASD_DECF0 +ASD_DECF1 = _idaapi.ASD_DECF1 +ASD_DECF2 = _idaapi.ASD_DECF2 +ASD_DECF3 = _idaapi.ASD_DECF3 +AS_OCTFM = _idaapi.AS_OCTFM +ASO_OCTF0 = _idaapi.ASO_OCTF0 +ASO_OCTF1 = _idaapi.ASO_OCTF1 +ASO_OCTF2 = _idaapi.ASO_OCTF2 +ASO_OCTF3 = _idaapi.ASO_OCTF3 +ASO_OCTF4 = _idaapi.ASO_OCTF4 +ASO_OCTF5 = _idaapi.ASO_OCTF5 +ASO_OCTF6 = _idaapi.ASO_OCTF6 +ASO_OCTF7 = _idaapi.ASO_OCTF7 +AS_BINFM = _idaapi.AS_BINFM +ASB_BINF0 = _idaapi.ASB_BINF0 +ASB_BINF1 = _idaapi.ASB_BINF1 +ASB_BINF2 = _idaapi.ASB_BINF2 +ASB_BINF3 = _idaapi.ASB_BINF3 +ASB_BINF4 = _idaapi.ASB_BINF4 +ASB_BINF5 = _idaapi.ASB_BINF5 +AS_UNEQU = _idaapi.AS_UNEQU +AS_ONEDUP = _idaapi.AS_ONEDUP +AS_NOXRF = _idaapi.AS_NOXRF +AS_XTRNTYPE = _idaapi.AS_XTRNTYPE +AS_RELSUP = _idaapi.AS_RELSUP +AS_LALIGN = _idaapi.AS_LALIGN +AS_NOCODECLN = _idaapi.AS_NOCODECLN +AS_NOTAB = _idaapi.AS_NOTAB +AS_NOSPACE = _idaapi.AS_NOSPACE +AS_ALIGN2 = _idaapi.AS_ALIGN2 +AS_ASCIIC = _idaapi.AS_ASCIIC +AS_ASCIIZ = _idaapi.AS_ASCIIZ +AS2_BRACE = _idaapi.AS2_BRACE +AS2_STRINV = _idaapi.AS2_STRINV +AS2_BYTE1CHAR = _idaapi.AS2_BYTE1CHAR +AS2_IDEALDSCR = _idaapi.AS2_IDEALDSCR +AS2_TERSESTR = _idaapi.AS2_TERSESTR +AS2_COLONSUF = _idaapi.AS2_COLONSUF +AS2_YWORD = _idaapi.AS2_YWORD + + +def str2regf(*args): + """ + str2regf(p) -> int + """ + return _idaapi.str2regf(*args) + +def str2reg(*args): + """ + str2reg(p) -> int + """ + return _idaapi.str2reg(*args) + +def is_align_insn(*args): + """ + is_align_insn(ea) -> int + """ + return _idaapi.is_align_insn(*args) + +def get_reg_name(*args): + """ + get_reg_name(reg, width, reghi=-1) -> ssize_t + """ + return _idaapi.get_reg_name(*args) + +def get_reg_info2(*args): + """ + get_reg_info2(regname, bitrange) -> char const * + """ + return _idaapi.get_reg_info2(*args) +class reg_info_t(object): + """ + Proxy of C++ reg_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + reg = _swig_property(_idaapi.reg_info_t_reg_get, _idaapi.reg_info_t_reg_set) + size = _swig_property(_idaapi.reg_info_t_size_get, _idaapi.reg_info_t_size_set) + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.reg_info_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.reg_info_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.reg_info_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.reg_info_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.reg_info_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.reg_info_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.reg_info_t_compare(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> reg_info_t + """ + this = _idaapi.new_reg_info_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_reg_info_t + __del__ = lambda self : None; +reg_info_t_swigregister = _idaapi.reg_info_t_swigregister +reg_info_t_swigregister(reg_info_t) + + +def parse_reg_name(*args): + """ + parse_reg_name(regname, ri) -> bool + """ + return _idaapi.parse_reg_name(*args) + +def sizeof_ldbl(*args): + """ + sizeof_ldbl() -> size_t + """ + return _idaapi.sizeof_ldbl(*args) + +def intel_data(*args): + """ + intel_data(ea) + """ + return _idaapi.intel_data(*args) + +def gen_spcdef(*args): + """ + gen_spcdef(ea, segtype) -> bool + """ + return _idaapi.gen_spcdef(*args) + +def gen_extern(*args): + """ + gen_extern(ea, name) -> bool + """ + return _idaapi.gen_extern(*args) + +def gen_abssym(*args): + """ + gen_abssym(ea, name) -> bool + """ + return _idaapi.gen_abssym(*args) + +def gen_comvar(*args): + """ + gen_comvar(ea, name) -> bool + """ + return _idaapi.gen_comvar(*args) +SETPROC_COMPAT = _idaapi.SETPROC_COMPAT +SETPROC_ALL = _idaapi.SETPROC_ALL +SETPROC_USER = _idaapi.SETPROC_USER +SETPROC_FATAL = _idaapi.SETPROC_FATAL + +def set_processor_type(*args): + """ + set_processor_type(procname, level) -> char * + """ + return _idaapi.set_processor_type(*args) + +def get_idp_name(*args): + """ + get_idp_name() -> char * + """ + return _idaapi.get_idp_name(*args) + +def set_target_assembler(*args): + """ + set_target_assembler(asmnum) -> bool + """ + return _idaapi.set_target_assembler(*args) + +def create_custom_fixup(*args): + """ + create_custom_fixup(name) -> int + """ + return _idaapi.create_custom_fixup(*args) +byte_patched = _idaapi.byte_patched +cmt_changed = _idaapi.cmt_changed +ti_changed = _idaapi.ti_changed +op_ti_changed = _idaapi.op_ti_changed +op_type_changed = _idaapi.op_type_changed +enum_created = _idaapi.enum_created +enum_deleted = _idaapi.enum_deleted +enum_bf_changed = _idaapi.enum_bf_changed +enum_renamed = _idaapi.enum_renamed +enum_cmt_changed = _idaapi.enum_cmt_changed +enum_const_created = _idaapi.enum_const_created +enum_const_deleted = _idaapi.enum_const_deleted +struc_created = _idaapi.struc_created +struc_deleted = _idaapi.struc_deleted +struc_renamed = _idaapi.struc_renamed +struc_expanded = _idaapi.struc_expanded +struc_cmt_changed = _idaapi.struc_cmt_changed +struc_member_created = _idaapi.struc_member_created +struc_member_deleted = _idaapi.struc_member_deleted +struc_member_renamed = _idaapi.struc_member_renamed +struc_member_changed = _idaapi.struc_member_changed +thunk_func_created = _idaapi.thunk_func_created +func_tail_appended = _idaapi.func_tail_appended +func_tail_removed = _idaapi.func_tail_removed +tail_owner_changed = _idaapi.tail_owner_changed +func_noret_changed = _idaapi.func_noret_changed +segm_added = _idaapi.segm_added +segm_deleted = _idaapi.segm_deleted +segm_start_changed = _idaapi.segm_start_changed +segm_end_changed = _idaapi.segm_end_changed +segm_moved = _idaapi.segm_moved +area_cmt_changed = _idaapi.area_cmt_changed +changing_cmt = _idaapi.changing_cmt +changing_ti = _idaapi.changing_ti +changing_op_ti = _idaapi.changing_op_ti +changing_op_type = _idaapi.changing_op_type +deleting_enum = _idaapi.deleting_enum +changing_enum_bf = _idaapi.changing_enum_bf +renaming_enum = _idaapi.renaming_enum +changing_enum_cmt = _idaapi.changing_enum_cmt +deleting_enum_const = _idaapi.deleting_enum_const +deleting_struc = _idaapi.deleting_struc +renaming_struc = _idaapi.renaming_struc +expanding_struc = _idaapi.expanding_struc +changing_struc_cmt = _idaapi.changing_struc_cmt +deleting_struc_member = _idaapi.deleting_struc_member +renaming_struc_member = _idaapi.renaming_struc_member +changing_struc_member = _idaapi.changing_struc_member +removing_func_tail = _idaapi.removing_func_tail +deleting_segm = _idaapi.deleting_segm +changing_segm_start = _idaapi.changing_segm_start +changing_segm_end = _idaapi.changing_segm_end +changing_area_cmt = _idaapi.changing_area_cmt +changing_segm_name = _idaapi.changing_segm_name +changing_segm_class = _idaapi.changing_segm_class +segm_name_changed = _idaapi.segm_name_changed +segm_class_changed = _idaapi.segm_class_changed +destroyed_items = _idaapi.destroyed_items +changed_stkpnts = _idaapi.changed_stkpnts +extra_cmt_changed = _idaapi.extra_cmt_changed +changing_struc = _idaapi.changing_struc +changed_struc = _idaapi.changed_struc +local_types_changed = _idaapi.local_types_changed +segm_attrs_changed = _idaapi.segm_attrs_changed + +def AssembleLine(*args): + """ + AssembleLine(ea, cs, ip, use32, 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 + """ + return _idaapi.AssembleLine(*args) + +def 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. + """ + return _idaapi.assemble(*args) + +def ph_get_id(*args): + """ + ph_get_id() -> size_t + + + Returns the 'ph.id' field + """ + return _idaapi.ph_get_id(*args) + +def ph_get_version(*args): + """ + ph_get_version() -> size_t + + + Returns the 'ph.version' + """ + return _idaapi.ph_get_version(*args) + +def ph_get_flag(*args): + """ + ph_get_flag() -> size_t + + + Returns the 'ph.flag' + """ + return _idaapi.ph_get_flag(*args) + +def ph_get_cnbits(*args): + """ + ph_get_cnbits() -> size_t + + + Returns the 'ph.cnbits' + """ + return _idaapi.ph_get_cnbits(*args) + +def ph_get_dnbits(*args): + """ + ph_get_dnbits() -> size_t + + + Returns the 'ph.dnbits' + """ + return _idaapi.ph_get_dnbits(*args) + +def ph_get_regFirstSreg(*args): + """ + ph_get_regFirstSreg() -> size_t + + + Returns the 'ph.regFirstSreg' + """ + return _idaapi.ph_get_regFirstSreg(*args) + +def ph_get_regLastSreg(*args): + """ + ph_get_regLastSreg() -> size_t + + + Returns the 'ph.regLastSreg' + """ + return _idaapi.ph_get_regLastSreg(*args) + +def ph_get_segreg_size(*args): + """ + ph_get_segreg_size() -> size_t + + + Returns the 'ph.segreg_size' + """ + return _idaapi.ph_get_segreg_size(*args) + +def ph_get_regCodeSreg(*args): + """ + ph_get_regCodeSreg() -> size_t + + + Returns the 'ph.regCodeSreg' + """ + return _idaapi.ph_get_regCodeSreg(*args) + +def ph_get_regDataSreg(*args): + """ + ph_get_regDataSreg() -> size_t + + + Returns the 'ph.regDataSreg' + """ + return _idaapi.ph_get_regDataSreg(*args) + +def ph_get_high_fixup_bits(*args): + """ + ph_get_high_fixup_bits() -> size_t + + + Returns the 'ph.high_fixup_bits' + """ + return _idaapi.ph_get_high_fixup_bits(*args) + +def ph_get_icode_return(*args): + """ + ph_get_icode_return() -> size_t + + + Returns the 'ph.icode_return' + """ + return _idaapi.ph_get_icode_return(*args) + +def ph_get_instruc_start(*args): + """ + ph_get_instruc_start() -> size_t + + + Returns the 'ph.instruc_start' + """ + return _idaapi.ph_get_instruc_start(*args) + +def ph_get_instruc_end(*args): + """ + ph_get_instruc_end() -> size_t + + + Returns the 'ph.instruc_end' + """ + return _idaapi.ph_get_instruc_end(*args) + +def ph_get_tbyte_size(*args): + """ + ph_get_tbyte_size() -> size_t + + + Returns the 'ph.tbyte_size' field as defined in he processor module + """ + return _idaapi.ph_get_tbyte_size(*args) + +def 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 + """ + return _idaapi.ph_get_instruc(*args) + +def ph_get_regnames(*args): + """ + ph_get_regnames() -> PyObject * + + + Returns the list of register names as defined in the processor module + """ + return _idaapi.ph_get_regnames(*args) + +def 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. + """ + return _idaapi.ph_get_operand_info(*args) +class IDP_Hooks(object): + """ + Proxy of C++ IDP_Hooks class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + __swig_destroy__ = _idaapi.delete_IDP_Hooks + __del__ = lambda self : None; + def hook(self, *args): + """ + hook(self) -> bool + + + Creates an IDP hook + + @return: Boolean true on success + """ + return _idaapi.IDP_Hooks_hook(self, *args) + + def unhook(self, *args): + """ + unhook(self) -> bool + + + Removes the IDP hook + @return: Boolean true on success + """ + return _idaapi.IDP_Hooks_unhook(self, *args) + + def custom_ana(self, *args): + """ + custom_ana(self) -> bool + + + Analyzes and decodes an instruction at idaapi.cmd.ea + - cmd.itype must be set >= idaapi.CUSTOM_CMD_ITYPE + - cmd.size must be set to the instruction length + + @return: Boolean + - False if the instruction is not recognized + - True if the instruction was decoded. idaapi.cmd should be filled in that case. + """ + return _idaapi.IDP_Hooks_custom_ana(self, *args) + + def custom_out(self, *args): + """ + custom_out(self) -> bool + + + Outputs the instruction defined in idaapi.cmd + + @return: Boolean (whether this instruction can be outputted or not) + """ + return _idaapi.IDP_Hooks_custom_out(self, *args) + + def custom_emu(self, *args): + """ + custom_emu(self) -> 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 'cmd' structure. + + @return: Boolean (whether this instruction has been emulated or not) + """ + return _idaapi.IDP_Hooks_custom_emu(self, *args) + + def custom_outop(self, *args): + """ + custom_outop(self, py_op) -> bool + + + Notification to generate operand text. + If False was returned, then the standard operand output function will be called. + + The output buffer is inited with init_output_buffer() + and this notification may use out_...() functions to form the operand text + + @return: Boolean (whether the operand has been outputted or not) + """ + return _idaapi.IDP_Hooks_custom_outop(self, *args) + + def custom_mnem(self, *args): + """ + custom_mnem(self) -> PyObject * + + + Prints the mnemonic of the instruction defined in idaapi.cmd + + @return: + - None: No mnemonic. IDA will use the default mnemonic value if present + - String: The desired mnemonic string + """ + return _idaapi.IDP_Hooks_custom_mnem(self, *args) + + def is_sane_insn(self, *args): + """ + is_sane_insn(self, no_crefs) -> int + + + is the instruction sane for the current file type? + @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: 1-ok, <=0-no, the instruction isn't likely to appear in the program + """ + return _idaapi.IDP_Hooks_is_sane_insn(self, *args) + + def may_be_func(self, *args): + """ + may_be_func(self, state) -> int + + + Can a function start here? + @param state: autoanalysis phase + 0: creating functions + 1: creating chunks + + @return: integer (probability 0..100) + """ + return _idaapi.IDP_Hooks_may_be_func(self, *args) + + def closebase(self, *args): + """ + closebase(self) -> int + + + The database will be closed now + """ + return _idaapi.IDP_Hooks_closebase(self, *args) + + def savebase(self, *args): + """ + savebase(self) + + + The database is being saved. Processor module should + """ + return _idaapi.IDP_Hooks_savebase(self, *args) + + def auto_empty_finally(self, *args): + """ + auto_empty_finally(self) + """ + return _idaapi.IDP_Hooks_auto_empty_finally(self, *args) + + def rename(self, *args): + """ + 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 + """ + return _idaapi.IDP_Hooks_rename(self, *args) + + def renamed(self, *args): + """ + renamed(self, ea, new_name, local_name) + + + The kernel has renamed a byte + + @param ea: Address + @param new_name: The new name + @param local_name: Is local name + + @return: Ignored + """ + return _idaapi.IDP_Hooks_renamed(self, *args) + + def undefine(self, *args): + """ + undefine(self, ea) -> int + + + An item in the database (insn or data) is being deleted + @param ea: Address + @return: + - returns: >0-ok, <=0-the kernel should stop + - if the return value is positive: + bit0 - ignored + bit1 - do not delete srareas at the item end + """ + return _idaapi.IDP_Hooks_undefine(self, *args) + + def make_code(self, *args): + """ + make_code(self, ea, size) -> int + + + An instruction is being created + @param ea: Address + @param size: Instruction size + @return: 1-ok, <=0-the kernel should stop + """ + return _idaapi.IDP_Hooks_make_code(self, *args) + + def make_data(self, *args): + """ + make_data(self, ea, flags, tid, len) -> int + + + A data item is being created + @param ea: Address + @param tid: type id + @param flags: item flags + @param len: data item size + @return: 1-ok, <=0-the kernel should stop + """ + return _idaapi.IDP_Hooks_make_data(self, *args) + + def load_idasgn(self, *args): + """ + load_idasgn(self, short_sig_name) + + + FLIRT signature have been loaded for normal processing + (not for recognition of startup sequences) + @param short_sig_name: signature name + @return: Ignored + """ + return _idaapi.IDP_Hooks_load_idasgn(self, *args) + + def auto_empty(self, *args): + """ + auto_empty(self) + """ + return _idaapi.IDP_Hooks_auto_empty(self, *args) + + def auto_queue_empty(self, *args): + """ + auto_queue_empty(self, type) -> int + """ + return _idaapi.IDP_Hooks_auto_queue_empty(self, *args) + + def add_func(self, *args): + """ + add_func(self, func) + + + The kernel has added a function + @param func: the func_t instance + @return: Ignored + """ + return _idaapi.IDP_Hooks_add_func(self, *args) + + def del_func(self, *args): + """ + del_func(self, func) -> int + + + The kernel is about to delete a function + @param func: the func_t instance + @return: 1-ok,<=0-do not delete + """ + return _idaapi.IDP_Hooks_del_func(self, *args) + + def is_call_insn(self, *args): + """ + is_call_insn(self, arg0) -> int + + + Is the instruction a "call"? + + @param ea: instruction address + @return: 1-unknown, 0-no, 2-yes + """ + return _idaapi.IDP_Hooks_is_call_insn(self, *args) + + def is_ret_insn(self, *args): + """ + is_ret_insn(self, arg0, arg1) -> int + + + Is the instruction a "return"? + + @param ea: instruction address + @param strict: - True: report only ret instructions + False: include instructions like "leave" which begins the function epilog + @return: 1-unknown, 0-no, 2-yes + """ + return _idaapi.IDP_Hooks_is_ret_insn(self, *args) + + def assemble(self, *args): + """ + assemble(self, arg0, arg1, arg2, arg3, arg4) -> 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 + """ + return _idaapi.IDP_Hooks_assemble(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> IDP_Hooks + """ + if self.__class__ == IDP_Hooks: + _self = None + else: + _self = self + this = _idaapi.new_IDP_Hooks(_self, *args) + try: self.this.append(this) + except: self.this = this + def __disown__(self): + self.this.disown() + _idaapi.disown_IDP_Hooks(self) + return weakref_proxy(self) +IDP_Hooks_swigregister = _idaapi.IDP_Hooks_swigregister +IDP_Hooks_swigregister(IDP_Hooks) + +AREACB_TYPE_UNKNOWN = _idaapi.AREACB_TYPE_UNKNOWN +AREACB_TYPE_FUNC = _idaapi.AREACB_TYPE_FUNC +AREACB_TYPE_SEGMENT = _idaapi.AREACB_TYPE_SEGMENT +AREACB_TYPE_HIDDEN_AREA = _idaapi.AREACB_TYPE_HIDDEN_AREA +AREACB_TYPE_SRAREA = _idaapi.AREACB_TYPE_SRAREA +class IDB_Hooks(object): + """ + Proxy of C++ IDB_Hooks class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + __swig_destroy__ = _idaapi.delete_IDB_Hooks + __del__ = lambda self : None; + def hook(self, *args): + """ + hook(self) -> bool + """ + return _idaapi.IDB_Hooks_hook(self, *args) + + def unhook(self, *args): + """ + unhook(self) -> bool + """ + return _idaapi.IDB_Hooks_unhook(self, *args) + + def byte_patched(self, *args): + """ + byte_patched(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_byte_patched(self, *args) + + def cmt_changed(self, *args): + """ + cmt_changed(self, arg0, arg1) -> int + """ + return _idaapi.IDB_Hooks_cmt_changed(self, *args) + + def area_cmt_changed(self, *args): + """ + area_cmt_changed(self, arg0, arg1, arg2, arg3) -> int + """ + return _idaapi.IDB_Hooks_area_cmt_changed(self, *args) + + def ti_changed(self, *args): + """ + ti_changed(self, arg0, arg1, arg2) -> int + """ + return _idaapi.IDB_Hooks_ti_changed(self, *args) + + def op_ti_changed(self, *args): + """ + op_ti_changed(self, arg0, arg1, arg2, arg3) -> int + """ + return _idaapi.IDB_Hooks_op_ti_changed(self, *args) + + def op_type_changed(self, *args): + """ + op_type_changed(self, arg0, arg1) -> int + """ + return _idaapi.IDB_Hooks_op_type_changed(self, *args) + + def enum_created(self, *args): + """ + enum_created(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_enum_created(self, *args) + + def enum_deleted(self, *args): + """ + enum_deleted(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_enum_deleted(self, *args) + + def enum_bf_changed(self, *args): + """ + enum_bf_changed(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_enum_bf_changed(self, *args) + + def enum_renamed(self, *args): + """ + enum_renamed(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_enum_renamed(self, *args) + + def enum_cmt_changed(self, *args): + """ + enum_cmt_changed(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_enum_cmt_changed(self, *args) + + def enum_member_created(self, *args): + """ + enum_member_created(self, arg0, cid) -> int + """ + return _idaapi.IDB_Hooks_enum_member_created(self, *args) + + def enum_member_deleted(self, *args): + """ + enum_member_deleted(self, arg0, cid) -> int + """ + return _idaapi.IDB_Hooks_enum_member_deleted(self, *args) + + def struc_created(self, *args): + """ + struc_created(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_struc_created(self, *args) + + def struc_deleted(self, *args): + """ + struc_deleted(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_struc_deleted(self, *args) + + def struc_renamed(self, *args): + """ + struc_renamed(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_struc_renamed(self, *args) + + def struc_expanded(self, *args): + """ + struc_expanded(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_struc_expanded(self, *args) + + def struc_cmt_changed(self, *args): + """ + struc_cmt_changed(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_struc_cmt_changed(self, *args) + + def struc_member_created(self, *args): + """ + struc_member_created(self, arg0, arg1) -> int + """ + return _idaapi.IDB_Hooks_struc_member_created(self, *args) + + def struc_member_deleted(self, *args): + """ + struc_member_deleted(self, arg0, arg1, arg2) -> int + """ + return _idaapi.IDB_Hooks_struc_member_deleted(self, *args) + + def struc_member_renamed(self, *args): + """ + struc_member_renamed(self, arg0, arg1) -> int + """ + return _idaapi.IDB_Hooks_struc_member_renamed(self, *args) + + def struc_member_changed(self, *args): + """ + struc_member_changed(self, arg0, arg1) -> int + """ + return _idaapi.IDB_Hooks_struc_member_changed(self, *args) + + def thunk_func_created(self, *args): + """ + thunk_func_created(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_thunk_func_created(self, *args) + + def func_tail_appended(self, *args): + """ + func_tail_appended(self, arg0, arg1) -> int + """ + return _idaapi.IDB_Hooks_func_tail_appended(self, *args) + + def func_tail_removed(self, *args): + """ + func_tail_removed(self, arg0, arg1) -> int + """ + return _idaapi.IDB_Hooks_func_tail_removed(self, *args) + + def tail_owner_changed(self, *args): + """ + tail_owner_changed(self, arg0, arg1) -> int + """ + return _idaapi.IDB_Hooks_tail_owner_changed(self, *args) + + def func_noret_changed(self, *args): + """ + func_noret_changed(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_func_noret_changed(self, *args) + + def segm_added(self, *args): + """ + segm_added(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_segm_added(self, *args) + + def segm_deleted(self, *args): + """ + segm_deleted(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_segm_deleted(self, *args) + + def segm_start_changed(self, *args): + """ + segm_start_changed(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_segm_start_changed(self, *args) + + def segm_end_changed(self, *args): + """ + segm_end_changed(self, arg0) -> int + """ + return _idaapi.IDB_Hooks_segm_end_changed(self, *args) + + def segm_moved(self, *args): + """ + segm_moved(self, arg0, arg1, arg2) -> int + """ + return _idaapi.IDB_Hooks_segm_moved(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> IDB_Hooks + """ + if self.__class__ == IDB_Hooks: + _self = None + else: + _self = self + this = _idaapi.new_IDB_Hooks(_self, *args) + try: self.this.append(this) + except: self.this = this + def __disown__(self): + self.this.disown() + _idaapi.disown_IDB_Hooks(self) + return weakref_proxy(self) +IDB_Hooks_swigregister = _idaapi.IDB_Hooks_swigregister +IDB_Hooks_swigregister(IDB_Hooks) + +class netnode(object): + """ + Proxy of C++ netnode class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> netnode + __init__(self, num) -> netnode + __init__(self, _name, namlen=0, do_create=False) -> netnode + """ + this = _idaapi.new_netnode(*args) + try: self.this.append(this) + except: self.this = this + def create(self, *args): + """ + create(self, _name, namlen=0) -> bool + create(self) -> bool + """ + return _idaapi.netnode_create(self, *args) + + def kill(self, *args): + """ + kill(self) + """ + return _idaapi.netnode_kill(self, *args) + + def get_name(self, *args): + """ + get_name(self, buf) -> ssize_t + """ + return _idaapi.netnode_get_name(self, *args) + + def name(self, *args): + """ + name(self) -> ssize_t + """ + return _idaapi.netnode_name(self, *args) + + def rename(self, *args): + """ + rename(self, newname, namlen=0) -> bool + """ + return _idaapi.netnode_rename(self, *args) + + def valobj(self, *args): + """ + valobj(self) -> ssize_t + """ + return _idaapi.netnode_valobj(self, *args) + + def valstr(self, *args): + """ + valstr(self) -> ssize_t + """ + return _idaapi.netnode_valstr(self, *args) + + def set(self, *args): + """ + set(self, value) -> bool + """ + return _idaapi.netnode_set(self, *args) + + def delvalue(self, *args): + """ + delvalue(self) -> bool + """ + return _idaapi.netnode_delvalue(self, *args) + + def set_long(self, *args): + """ + set_long(self, x) -> bool + """ + return _idaapi.netnode_set_long(self, *args) + + def value_exists(self, *args): + """ + value_exists(self) -> bool + """ + return _idaapi.netnode_value_exists(self, *args) + + def long_value(self, *args): + """ + long_value(self) -> nodeidx_t + """ + return _idaapi.netnode_long_value(self, *args) + + def altval(self, *args): + """ + altval(self, alt, tag=atag) -> nodeidx_t + """ + return _idaapi.netnode_altval(self, *args) + + def altset(self, *args): + """ + altset(self, alt, value, tag=atag) -> bool + """ + return _idaapi.netnode_altset(self, *args) + + def alt1st(self, *args): + """ + alt1st(self, tag=atag) -> nodeidx_t + """ + return _idaapi.netnode_alt1st(self, *args) + + def altnxt(self, *args): + """ + altnxt(self, cur, tag=atag) -> nodeidx_t + """ + return _idaapi.netnode_altnxt(self, *args) + + def altlast(self, *args): + """ + altlast(self, tag=atag) -> nodeidx_t + """ + return _idaapi.netnode_altlast(self, *args) + + def altprev(self, *args): + """ + altprev(self, cur, tag=atag) -> nodeidx_t + """ + return _idaapi.netnode_altprev(self, *args) + + def altshift(self, *args): + """ + altshift(self, frm, to, size, tag=atag) -> size_t + """ + return _idaapi.netnode_altshift(self, *args) + + def charval(self, *args): + """ + charval(self, alt, tag) -> uchar + """ + return _idaapi.netnode_charval(self, *args) + + def charset(self, *args): + """ + charset(self, alt, val, tag) -> bool + """ + return _idaapi.netnode_charset(self, *args) + + def chardel(self, *args): + """ + chardel(self, alt, tag) -> bool + """ + return _idaapi.netnode_chardel(self, *args) + + def char1st(self, *args): + """ + char1st(self, tag) -> nodeidx_t + """ + return _idaapi.netnode_char1st(self, *args) + + def charnxt(self, *args): + """ + charnxt(self, cur, tag) -> nodeidx_t + """ + return _idaapi.netnode_charnxt(self, *args) + + def charlast(self, *args): + """ + charlast(self, tag) -> nodeidx_t + """ + return _idaapi.netnode_charlast(self, *args) + + def charprev(self, *args): + """ + charprev(self, cur, tag) -> nodeidx_t + """ + return _idaapi.netnode_charprev(self, *args) + + def charshift(self, *args): + """ + charshift(self, frm, to, size, tag) -> size_t + """ + return _idaapi.netnode_charshift(self, *args) + + def altval_idx8(self, *args): + """ + altval_idx8(self, alt, tag) -> nodeidx_t + """ + return _idaapi.netnode_altval_idx8(self, *args) + + def altset_idx8(self, *args): + """ + altset_idx8(self, alt, val, tag) -> bool + """ + return _idaapi.netnode_altset_idx8(self, *args) + + def altdel_idx8(self, *args): + """ + altdel_idx8(self, alt, tag) -> bool + """ + return _idaapi.netnode_altdel_idx8(self, *args) + + def alt1st_idx8(self, *args): + """ + alt1st_idx8(self, tag) -> nodeidx_t + """ + return _idaapi.netnode_alt1st_idx8(self, *args) + + def altnxt_idx8(self, *args): + """ + altnxt_idx8(self, cur, tag) -> nodeidx_t + """ + return _idaapi.netnode_altnxt_idx8(self, *args) + + def altlast_idx8(self, *args): + """ + altlast_idx8(self, tag) -> nodeidx_t + """ + return _idaapi.netnode_altlast_idx8(self, *args) + + def altprev_idx8(self, *args): + """ + altprev_idx8(self, cur, tag) -> nodeidx_t + """ + return _idaapi.netnode_altprev_idx8(self, *args) + + def charval_idx8(self, *args): + """ + charval_idx8(self, alt, tag) -> uchar + """ + return _idaapi.netnode_charval_idx8(self, *args) + + def charset_idx8(self, *args): + """ + charset_idx8(self, alt, val, tag) -> bool + """ + return _idaapi.netnode_charset_idx8(self, *args) + + def chardel_idx8(self, *args): + """ + chardel_idx8(self, alt, tag) -> bool + """ + return _idaapi.netnode_chardel_idx8(self, *args) + + def char1st_idx8(self, *args): + """ + char1st_idx8(self, tag) -> nodeidx_t + """ + return _idaapi.netnode_char1st_idx8(self, *args) + + def charnxt_idx8(self, *args): + """ + charnxt_idx8(self, cur, tag) -> nodeidx_t + """ + return _idaapi.netnode_charnxt_idx8(self, *args) + + def charlast_idx8(self, *args): + """ + charlast_idx8(self, tag) -> nodeidx_t + """ + return _idaapi.netnode_charlast_idx8(self, *args) + + def charprev_idx8(self, *args): + """ + charprev_idx8(self, cur, tag) -> nodeidx_t + """ + return _idaapi.netnode_charprev_idx8(self, *args) + + def altdel(self, *args): + """ + altdel(self, alt, tag=atag) -> bool + altdel(self) -> bool + """ + return _idaapi.netnode_altdel(self, *args) + + def altdel_all(self, *args): + """ + altdel_all(self, tag) -> bool + """ + return _idaapi.netnode_altdel_all(self, *args) + + def supval(self, *args): + """ + supval(self, alt, tag=stag) -> ssize_t + """ + return _idaapi.netnode_supval(self, *args) + + def supstr(self, *args): + """ + supstr(self, alt, tag=stag) -> ssize_t + """ + return _idaapi.netnode_supstr(self, *args) + + def supset(self, *args): + """ + supset(self, alt, value, tag=stag) -> bool + """ + return _idaapi.netnode_supset(self, *args) + + def sup1st(self, *args): + """ + sup1st(self, tag=stag) -> nodeidx_t + """ + return _idaapi.netnode_sup1st(self, *args) + + def supnxt(self, *args): + """ + supnxt(self, cur, tag=stag) -> nodeidx_t + """ + return _idaapi.netnode_supnxt(self, *args) + + def suplast(self, *args): + """ + suplast(self, tag=stag) -> nodeidx_t + """ + return _idaapi.netnode_suplast(self, *args) + + def supprev(self, *args): + """ + supprev(self, cur, tag=stag) -> nodeidx_t + """ + return _idaapi.netnode_supprev(self, *args) + + def supshift(self, *args): + """ + supshift(self, frm, to, size, tag=stag) -> size_t + """ + return _idaapi.netnode_supshift(self, *args) + + def supval_idx8(self, *args): + """ + supval_idx8(self, alt, tag) -> ssize_t + """ + return _idaapi.netnode_supval_idx8(self, *args) + + def supstr_idx8(self, *args): + """ + supstr_idx8(self, alt, tag) -> ssize_t + """ + return _idaapi.netnode_supstr_idx8(self, *args) + + def supset_idx8(self, *args): + """ + supset_idx8(self, alt, value, tag) -> bool + """ + return _idaapi.netnode_supset_idx8(self, *args) + + def supdel_idx8(self, *args): + """ + supdel_idx8(self, alt, tag) -> bool + """ + return _idaapi.netnode_supdel_idx8(self, *args) + + def sup1st_idx8(self, *args): + """ + sup1st_idx8(self, tag) -> nodeidx_t + """ + return _idaapi.netnode_sup1st_idx8(self, *args) + + def supnxt_idx8(self, *args): + """ + supnxt_idx8(self, alt, tag) -> nodeidx_t + """ + return _idaapi.netnode_supnxt_idx8(self, *args) + + def suplast_idx8(self, *args): + """ + suplast_idx8(self, tag) -> nodeidx_t + """ + return _idaapi.netnode_suplast_idx8(self, *args) + + def supprev_idx8(self, *args): + """ + supprev_idx8(self, alt, tag) -> nodeidx_t + """ + return _idaapi.netnode_supprev_idx8(self, *args) + + def supdel(self, *args): + """ + supdel(self, alt, tag=stag) -> bool + supdel(self) -> bool + """ + return _idaapi.netnode_supdel(self, *args) + + def supdel_all(self, *args): + """ + supdel_all(self, tag) -> bool + """ + return _idaapi.netnode_supdel_all(self, *args) + + def supdel_range(self, *args): + """ + supdel_range(self, idx1, idx2, tag) -> int + """ + return _idaapi.netnode_supdel_range(self, *args) + + def supdel_range_idx8(self, *args): + """ + supdel_range_idx8(self, idx1, idx2, tag) -> int + """ + return _idaapi.netnode_supdel_range_idx8(self, *args) + + def hashval(self, *args): + """ + hashval(self, idx, tag=htag) -> ssize_t + """ + return _idaapi.netnode_hashval(self, *args) + + def hashstr(self, *args): + """ + hashstr(self, idx, tag=htag) -> ssize_t + """ + return _idaapi.netnode_hashstr(self, *args) + + def hashval_long(self, *args): + """ + hashval_long(self, idx, tag=htag) -> nodeidx_t + """ + return _idaapi.netnode_hashval_long(self, *args) + + def hashset(self, *args): + """ + hashset(self, idx, value, tag=htag) -> bool + """ + return _idaapi.netnode_hashset(self, *args) + + def hashset_idx(self, *args): + """ + hashset_idx(self, idx, value, tag=htag) -> bool + """ + return _idaapi.netnode_hashset_idx(self, *args) + + def hashdel(self, *args): + """ + hashdel(self, idx, tag=htag) -> bool + """ + return _idaapi.netnode_hashdel(self, *args) + + def hash1st(self, *args): + """ + hash1st(self, tag=htag) -> ssize_t + """ + return _idaapi.netnode_hash1st(self, *args) + + def hashnxt(self, *args): + """ + hashnxt(self, idx, tag=htag) -> ssize_t + """ + return _idaapi.netnode_hashnxt(self, *args) + + def hashlast(self, *args): + """ + hashlast(self, tag=htag) -> ssize_t + """ + return _idaapi.netnode_hashlast(self, *args) + + def hashprev(self, *args): + """ + hashprev(self, idx, tag=htag) -> ssize_t + """ + return _idaapi.netnode_hashprev(self, *args) + + def hashdel_all(self, *args): + """ + hashdel_all(self, tag=htag) -> bool + """ + return _idaapi.netnode_hashdel_all(self, *args) + + def blobsize(self, *args): + """ + blobsize(self, _start, tag) -> size_t + """ + return _idaapi.netnode_blobsize(self, *args) + + def setblob(self, *args): + """ + setblob(self, buf, _start, tag) -> bool + """ + return _idaapi.netnode_setblob(self, *args) + + def delblob(self, *args): + """ + delblob(self, _start, tag) -> int + """ + return _idaapi.netnode_delblob(self, *args) + + def start(self, *args): + """ + start(self) -> bool + """ + return _idaapi.netnode_start(self, *args) + + def end(self, *args): + """ + end(self) -> bool + """ + return _idaapi.netnode_end(self, *args) + + def next(self, *args): + """ + next(self) -> bool + """ + return _idaapi.netnode_next(self, *args) + + def prev(self, *args): + """ + prev(self) -> bool + """ + return _idaapi.netnode_prev(self, *args) + + def copyto(self, *args): + """ + copyto(self, target, count=1) -> size_t + """ + return _idaapi.netnode_copyto(self, *args) + + def moveto(self, *args): + """ + moveto(self, target, count=1) -> size_t + """ + return _idaapi.netnode_moveto(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, n) -> bool + __eq__(self, x) -> bool + """ + return _idaapi.netnode___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, n) -> bool + __ne__(self, x) -> bool + """ + return _idaapi.netnode___ne__(self, *args) + + def index(self, *args): + """ + index(self) -> nodeidx_t + """ + return _idaapi.netnode_index(self, *args) + + def getblob(self, *args): + """ + getblob(self, start, tag) -> PyObject * + """ + return _idaapi.netnode_getblob(self, *args) + + def hashstr_buf(self, *args): + """ + hashstr_buf(self, idx, tag=htag) -> PyObject * + """ + return _idaapi.netnode_hashstr_buf(self, *args) + + def hashset_buf(self, *args): + """ + hashset_buf(self, idx, py_str, tag=htag) -> bool + """ + return _idaapi.netnode_hashset_buf(self, *args) + + __swig_destroy__ = _idaapi.delete_netnode + __del__ = lambda self : None; +netnode_swigregister = _idaapi.netnode_swigregister +netnode_swigregister(netnode) +MAXNAMESIZE = cvar.MAXNAMESIZE +MAX_NODENAME_SIZE = cvar.MAX_NODENAME_SIZE +MAXSPECSIZE = cvar.MAXSPECSIZE +atag = cvar.atag +stag = cvar.stag +htag = cvar.htag +vtag = cvar.vtag +ntag = cvar.ntag +ltag = cvar.ltag +NNBASE_OK = _idaapi.NNBASE_OK +NNBASE_REPAIR = _idaapi.NNBASE_REPAIR +NNBASE_IOERR = _idaapi.NNBASE_IOERR +NNBASE_PAGE16 = _idaapi.NNBASE_PAGE16 + +class ids_array(object): + """ + Proxy of C++ wrapped_array_t<(tid_t,32)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + data = _swig_property(_idaapi.ids_array_data_get) + def __init__(self, *args): + """ + __init__(self, data) -> ids_array + """ + this = _idaapi.new_ids_array(*args) + try: self.this.append(this) + except: self.this = this + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.ids_array___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> unsigned int const & + """ + return _idaapi.ids_array___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.ids_array___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + + __swig_destroy__ = _idaapi.delete_ids_array + __del__ = lambda self : None; +ids_array_swigregister = _idaapi.ids_array_swigregister +ids_array_swigregister(ids_array) +BTREE_PAGE_SIZE = cvar.BTREE_PAGE_SIZE + +NALT_SWITCH = _idaapi.NALT_SWITCH +NALT_STRUCT = _idaapi.NALT_STRUCT +NALT_AFLAGS = _idaapi.NALT_AFLAGS +NALT_LINNUM = _idaapi.NALT_LINNUM +NALT_ABSBASE = _idaapi.NALT_ABSBASE +NALT_ENUM0 = _idaapi.NALT_ENUM0 +NALT_ENUM1 = _idaapi.NALT_ENUM1 +NALT_PURGE = _idaapi.NALT_PURGE +NALT_STRTYPE = _idaapi.NALT_STRTYPE +NALT_ALIGN = _idaapi.NALT_ALIGN +NALT_COLOR = _idaapi.NALT_COLOR +NSUP_CMT = _idaapi.NSUP_CMT +NSUP_REPCMT = _idaapi.NSUP_REPCMT +NSUP_FOP1 = _idaapi.NSUP_FOP1 +NSUP_FOP2 = _idaapi.NSUP_FOP2 +NSUP_JINFO = _idaapi.NSUP_JINFO +NSUP_ARRAY = _idaapi.NSUP_ARRAY +NSUP_OMFGRP = _idaapi.NSUP_OMFGRP +NSUP_FOP3 = _idaapi.NSUP_FOP3 +NSUP_SWITCH = _idaapi.NSUP_SWITCH +NSUP_REF0 = _idaapi.NSUP_REF0 +NSUP_REF1 = _idaapi.NSUP_REF1 +NSUP_REF2 = _idaapi.NSUP_REF2 +NSUP_OREF0 = _idaapi.NSUP_OREF0 +NSUP_OREF1 = _idaapi.NSUP_OREF1 +NSUP_OREF2 = _idaapi.NSUP_OREF2 +NSUP_STROFF0 = _idaapi.NSUP_STROFF0 +NSUP_STROFF1 = _idaapi.NSUP_STROFF1 +NSUP_SEGTRANS = _idaapi.NSUP_SEGTRANS +NSUP_FOP4 = _idaapi.NSUP_FOP4 +NSUP_FOP5 = _idaapi.NSUP_FOP5 +NSUP_FOP6 = _idaapi.NSUP_FOP6 +NSUP_REF3 = _idaapi.NSUP_REF3 +NSUP_REF4 = _idaapi.NSUP_REF4 +NSUP_REF5 = _idaapi.NSUP_REF5 +NSUP_OREF3 = _idaapi.NSUP_OREF3 +NSUP_OREF4 = _idaapi.NSUP_OREF4 +NSUP_OREF5 = _idaapi.NSUP_OREF5 +NSUP_XREFPOS = _idaapi.NSUP_XREFPOS +NSUP_CUSTDT = _idaapi.NSUP_CUSTDT +NSUP_GROUPS = _idaapi.NSUP_GROUPS +NSUP_POINTS = _idaapi.NSUP_POINTS +NSUP_MANUAL = _idaapi.NSUP_MANUAL +NSUP_TYPEINFO = _idaapi.NSUP_TYPEINFO +NSUP_REGVAR = _idaapi.NSUP_REGVAR +NSUP_LLABEL = _idaapi.NSUP_LLABEL +NSUP_REGARG = _idaapi.NSUP_REGARG +NSUP_FTAILS = _idaapi.NSUP_FTAILS +NSUP_GROUP = _idaapi.NSUP_GROUP +NSUP_OPTYPES = _idaapi.NSUP_OPTYPES +NALT_CREF_TO = _idaapi.NALT_CREF_TO +NALT_CREF_FROM = _idaapi.NALT_CREF_FROM +NALT_DREF_TO = _idaapi.NALT_DREF_TO +NALT_DREF_FROM = _idaapi.NALT_DREF_FROM +NSUP_GR_INFO = _idaapi.NSUP_GR_INFO +NALT_GR_LAYX = _idaapi.NALT_GR_LAYX +NSUP_GR_LAYT = _idaapi.NSUP_GR_LAYT +PATCH_TAG = _idaapi.PATCH_TAG +AFL_LINNUM = _idaapi.AFL_LINNUM +AFL_USERSP = _idaapi.AFL_USERSP +AFL_PUBNAM = _idaapi.AFL_PUBNAM +AFL_WEAKNAM = _idaapi.AFL_WEAKNAM +AFL_HIDDEN = _idaapi.AFL_HIDDEN +AFL_MANUAL = _idaapi.AFL_MANUAL +AFL_NOBRD = _idaapi.AFL_NOBRD +AFL_ZSTROFF = _idaapi.AFL_ZSTROFF +AFL_BNOT0 = _idaapi.AFL_BNOT0 +AFL_BNOT1 = _idaapi.AFL_BNOT1 +AFL_LIB = _idaapi.AFL_LIB +AFL_TI = _idaapi.AFL_TI +AFL_TI0 = _idaapi.AFL_TI0 +AFL_TI1 = _idaapi.AFL_TI1 +AFL_LNAME = _idaapi.AFL_LNAME +AFL_TILCMT = _idaapi.AFL_TILCMT +AFL_LZERO0 = _idaapi.AFL_LZERO0 +AFL_LZERO1 = _idaapi.AFL_LZERO1 +AFL_COLORED = _idaapi.AFL_COLORED +AFL_TERSESTR = _idaapi.AFL_TERSESTR +AFL_SIGN0 = _idaapi.AFL_SIGN0 +AFL_SIGN1 = _idaapi.AFL_SIGN1 +AFL_NORET = _idaapi.AFL_NORET +AFL_FIXEDSPD = _idaapi.AFL_FIXEDSPD +AFL_ALIGNFLOW = _idaapi.AFL_ALIGNFLOW +AFL_USERTI = _idaapi.AFL_USERTI +AFL_RETFP = _idaapi.AFL_RETFP +AFL_USEMODSP = _idaapi.AFL_USEMODSP +AFL_NOTCODE = _idaapi.AFL_NOTCODE + +def set_aflags(*args): + """ + set_aflags(ea, flags) + """ + return _idaapi.set_aflags(*args) + +def set_abits(*args): + """ + set_abits(ea, bits) + """ + return _idaapi.set_abits(*args) + +def clr_abits(*args): + """ + clr_abits(ea, bits) + """ + return _idaapi.clr_abits(*args) + +def get_aflags(*args): + """ + get_aflags(ea) -> uint32 + """ + return _idaapi.get_aflags(*args) + +def del_aflags(*args): + """ + del_aflags(ea) + """ + return _idaapi.del_aflags(*args) + +def is_hidden_item(*args): + """ + is_hidden_item(ea) -> bool + """ + return _idaapi.is_hidden_item(*args) + +def hide_item(*args): + """ + hide_item(ea) + """ + return _idaapi.hide_item(*args) + +def unhide_item(*args): + """ + unhide_item(ea) + """ + return _idaapi.unhide_item(*args) + +def is_hidden_border(*args): + """ + is_hidden_border(ea) -> bool + """ + return _idaapi.is_hidden_border(*args) + +def hide_border(*args): + """ + hide_border(ea) + """ + return _idaapi.hide_border(*args) + +def unhide_border(*args): + """ + unhide_border(ea) + """ + return _idaapi.unhide_border(*args) + +def uses_modsp(*args): + """ + uses_modsp(ea) -> bool + """ + return _idaapi.uses_modsp(*args) + +def set_usemodsp(*args): + """ + set_usemodsp(ea) + """ + return _idaapi.set_usemodsp(*args) + +def clr_usemodsp(*args): + """ + clr_usemodsp(ea) + """ + return _idaapi.clr_usemodsp(*args) + +def is_zstroff(*args): + """ + is_zstroff(ea) -> bool + """ + return _idaapi.is_zstroff(*args) + +def set_zstroff(*args): + """ + set_zstroff(ea) + """ + return _idaapi.set_zstroff(*args) + +def clr_zstroff(*args): + """ + clr_zstroff(ea) + """ + return _idaapi.clr_zstroff(*args) + +def is__bnot0(*args): + """ + is__bnot0(ea) -> bool + """ + return _idaapi.is__bnot0(*args) + +def set__bnot0(*args): + """ + set__bnot0(ea) + """ + return _idaapi.set__bnot0(*args) + +def clr__bnot0(*args): + """ + clr__bnot0(ea) + """ + return _idaapi.clr__bnot0(*args) + +def is__bnot1(*args): + """ + is__bnot1(ea) -> bool + """ + return _idaapi.is__bnot1(*args) + +def set__bnot1(*args): + """ + set__bnot1(ea) + """ + return _idaapi.set__bnot1(*args) + +def clr__bnot1(*args): + """ + clr__bnot1(ea) + """ + return _idaapi.clr__bnot1(*args) + +def is_libitem(*args): + """ + is_libitem(ea) -> bool + """ + return _idaapi.is_libitem(*args) + +def set_libitem(*args): + """ + set_libitem(ea) + """ + return _idaapi.set_libitem(*args) + +def clr_libitem(*args): + """ + clr_libitem(ea) + """ + return _idaapi.clr_libitem(*args) + +def has_ti(*args): + """ + has_ti(ea) -> bool + """ + return _idaapi.has_ti(*args) + +def set_has_ti(*args): + """ + set_has_ti(ea) + """ + return _idaapi.set_has_ti(*args) + +def clr_has_ti(*args): + """ + clr_has_ti(ea) + """ + return _idaapi.clr_has_ti(*args) + +def has_ti0(*args): + """ + has_ti0(ea) -> bool + """ + return _idaapi.has_ti0(*args) + +def set_has_ti0(*args): + """ + set_has_ti0(ea) + """ + return _idaapi.set_has_ti0(*args) + +def clr_has_ti0(*args): + """ + clr_has_ti0(ea) + """ + return _idaapi.clr_has_ti0(*args) + +def has_ti1(*args): + """ + has_ti1(ea) -> bool + """ + return _idaapi.has_ti1(*args) + +def set_has_ti1(*args): + """ + set_has_ti1(ea) + """ + return _idaapi.set_has_ti1(*args) + +def clr_has_ti1(*args): + """ + clr_has_ti1(ea) + """ + return _idaapi.clr_has_ti1(*args) + +def has_lname(*args): + """ + has_lname(ea) -> bool + """ + return _idaapi.has_lname(*args) + +def set_has_lname(*args): + """ + set_has_lname(ea) + """ + return _idaapi.set_has_lname(*args) + +def clr_has_lname(*args): + """ + clr_has_lname(ea) + """ + return _idaapi.clr_has_lname(*args) + +def is_tilcmt(*args): + """ + is_tilcmt(ea) -> bool + """ + return _idaapi.is_tilcmt(*args) + +def set_tilcmt(*args): + """ + set_tilcmt(ea) + """ + return _idaapi.set_tilcmt(*args) + +def clr_tilcmt(*args): + """ + clr_tilcmt(ea) + """ + return _idaapi.clr_tilcmt(*args) + +def is_usersp(*args): + """ + is_usersp(ea) -> bool + """ + return _idaapi.is_usersp(*args) + +def set_usersp(*args): + """ + set_usersp(ea) + """ + return _idaapi.set_usersp(*args) + +def clr_usersp(*args): + """ + clr_usersp(ea) + """ + return _idaapi.clr_usersp(*args) + +def is_lzero0(*args): + """ + is_lzero0(ea) -> bool + """ + return _idaapi.is_lzero0(*args) + +def set_lzero0(*args): + """ + set_lzero0(ea) + """ + return _idaapi.set_lzero0(*args) + +def clr_lzero0(*args): + """ + clr_lzero0(ea) + """ + return _idaapi.clr_lzero0(*args) + +def is_lzero1(*args): + """ + is_lzero1(ea) -> bool + """ + return _idaapi.is_lzero1(*args) + +def set_lzero1(*args): + """ + set_lzero1(ea) + """ + return _idaapi.set_lzero1(*args) + +def clr_lzero1(*args): + """ + clr_lzero1(ea) + """ + return _idaapi.clr_lzero1(*args) + +def is_colored_item(*args): + """ + is_colored_item(ea) -> bool + """ + return _idaapi.is_colored_item(*args) + +def set_colored_item(*args): + """ + set_colored_item(ea) + """ + return _idaapi.set_colored_item(*args) + +def clr_colored_item(*args): + """ + clr_colored_item(ea) + """ + return _idaapi.clr_colored_item(*args) + +def is_terse_struc(*args): + """ + is_terse_struc(ea) -> bool + """ + return _idaapi.is_terse_struc(*args) + +def set_terse_struc(*args): + """ + set_terse_struc(ea) + """ + return _idaapi.set_terse_struc(*args) + +def clr_terse_struc(*args): + """ + clr_terse_struc(ea) + """ + return _idaapi.clr_terse_struc(*args) + +def is__invsign0(*args): + """ + is__invsign0(ea) -> bool + """ + return _idaapi.is__invsign0(*args) + +def set__invsign0(*args): + """ + set__invsign0(ea) + """ + return _idaapi.set__invsign0(*args) + +def clr__invsign0(*args): + """ + clr__invsign0(ea) + """ + return _idaapi.clr__invsign0(*args) + +def is__invsign1(*args): + """ + is__invsign1(ea) -> bool + """ + return _idaapi.is__invsign1(*args) + +def set__invsign1(*args): + """ + set__invsign1(ea) + """ + return _idaapi.set__invsign1(*args) + +def clr__invsign1(*args): + """ + clr__invsign1(ea) + """ + return _idaapi.clr__invsign1(*args) + +def is_noret(*args): + """ + is_noret(ea) -> bool + """ + return _idaapi.is_noret(*args) + +def set_noret(*args): + """ + set_noret(ea) + """ + return _idaapi.set_noret(*args) + +def clr_noret(*args): + """ + clr_noret(ea) + """ + return _idaapi.clr_noret(*args) + +def is_fixed_spd(*args): + """ + is_fixed_spd(ea) -> bool + """ + return _idaapi.is_fixed_spd(*args) + +def set_fixed_spd(*args): + """ + set_fixed_spd(ea) + """ + return _idaapi.set_fixed_spd(*args) + +def clr_fixed_spd(*args): + """ + clr_fixed_spd(ea) + """ + return _idaapi.clr_fixed_spd(*args) + +def is_align_flow(*args): + """ + is_align_flow(ea) -> bool + """ + return _idaapi.is_align_flow(*args) + +def set_align_flow(*args): + """ + set_align_flow(ea) + """ + return _idaapi.set_align_flow(*args) + +def clr_align_flow(*args): + """ + clr_align_flow(ea) + """ + return _idaapi.clr_align_flow(*args) + +def is_userti(*args): + """ + is_userti(ea) -> bool + """ + return _idaapi.is_userti(*args) + +def set_userti(*args): + """ + set_userti(ea) + """ + return _idaapi.set_userti(*args) + +def clr_userti(*args): + """ + clr_userti(ea) + """ + return _idaapi.clr_userti(*args) + +def is_retfp(*args): + """ + is_retfp(ea) -> bool + """ + return _idaapi.is_retfp(*args) + +def set_retfp(*args): + """ + set_retfp(ea) + """ + return _idaapi.set_retfp(*args) + +def clr_retfp(*args): + """ + clr_retfp(ea) + """ + return _idaapi.clr_retfp(*args) + +def is_notcode(*args): + """ + is_notcode(ea) -> bool + """ + return _idaapi.is_notcode(*args) + +def set_notcode(*args): + """ + set_notcode(ea) + """ + return _idaapi.set_notcode(*args) + +def clr_notcode(*args): + """ + clr_notcode(ea) + """ + return _idaapi.clr_notcode(*args) + +def set_visible_item(*args): + """ + set_visible_item(ea, visible) + """ + return _idaapi.set_visible_item(*args) + +def is_visible_item(*args): + """ + is_visible_item(ea) -> bool + """ + return _idaapi.is_visible_item(*args) + +def is_finally_visible_item(*args): + """ + is_finally_visible_item(ea) -> bool + """ + return _idaapi.is_finally_visible_item(*args) + +def set_source_linnum(*args): + """ + set_source_linnum(ea, lnnum) + """ + return _idaapi.set_source_linnum(*args) + +def get_source_linnum(*args): + """ + get_source_linnum(ea) -> uval_t + """ + return _idaapi.get_source_linnum(*args) + +def del_source_linnum(*args): + """ + del_source_linnum(ea) + """ + return _idaapi.del_source_linnum(*args) + +def get_absbase(*args): + """ + get_absbase(ea) -> ea_t + """ + return _idaapi.get_absbase(*args) + +def set_absbase(*args): + """ + set_absbase(ea, x) + """ + return _idaapi.set_absbase(*args) + +def del_absbase(*args): + """ + del_absbase(ea) + """ + return _idaapi.del_absbase(*args) + +def get_ind_purged(*args): + """ + get_ind_purged(ea) -> ea_t + """ + return _idaapi.get_ind_purged(*args) + +def del_ind_purged(*args): + """ + del_ind_purged(ea) + """ + return _idaapi.del_ind_purged(*args) +ASCSTR_TERMCHR = _idaapi.ASCSTR_TERMCHR +ASCSTR_PASCAL = _idaapi.ASCSTR_PASCAL +ASCSTR_LEN2 = _idaapi.ASCSTR_LEN2 +ASCSTR_UNICODE = _idaapi.ASCSTR_UNICODE +ASCSTR_UTF16 = _idaapi.ASCSTR_UTF16 +ASCSTR_LEN4 = _idaapi.ASCSTR_LEN4 +ASCSTR_ULEN2 = _idaapi.ASCSTR_ULEN2 +ASCSTR_ULEN4 = _idaapi.ASCSTR_ULEN4 +ASCSTR_UTF32 = _idaapi.ASCSTR_UTF32 +ASCSTR_LAST = _idaapi.ASCSTR_LAST + +def get_str_type_code(*args): + """ + get_str_type_code(strtype) -> char + """ + return _idaapi.get_str_type_code(*args) + +def get_str_term1(*args): + """ + get_str_term1(strtype) -> char + """ + return _idaapi.get_str_term1(*args) + +def get_str_term2(*args): + """ + get_str_term2(strtype) -> char + """ + return _idaapi.get_str_term2(*args) + +def is_unicode(*args): + """ + is_unicode(strtype) -> bool + """ + return _idaapi.is_unicode(*args) + +def is_pascal(*args): + """ + is_pascal(strtype) -> bool + """ + return _idaapi.is_pascal(*args) + +def get_str_encoding_idx(*args): + """ + get_str_encoding_idx(strtype) -> uchar + """ + return _idaapi.get_str_encoding_idx(*args) +STRENC_DEFAULT = _idaapi.STRENC_DEFAULT +STRENC_NONE = _idaapi.STRENC_NONE + +def get_alignment(*args): + """ + get_alignment(ea) -> uint32 + """ + return _idaapi.get_alignment(*args) + +def set_alignment(*args): + """ + set_alignment(ea, x) + """ + return _idaapi.set_alignment(*args) + +def del_alignment(*args): + """ + del_alignment(ea) + """ + return _idaapi.del_alignment(*args) + +def set_item_color(*args): + """ + set_item_color(ea, color) + """ + return _idaapi.set_item_color(*args) + +def get_item_color(*args): + """ + get_item_color(ea) -> bgcolor_t + """ + return _idaapi.get_item_color(*args) + +def del_item_color(*args): + """ + del_item_color(ea) + """ + return _idaapi.del_item_color(*args) +class jumptable_info_t(object): + """ + Proxy of C++ jumptable_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + table = _swig_property(_idaapi.jumptable_info_t_table_get, _idaapi.jumptable_info_t_table_set) + size = _swig_property(_idaapi.jumptable_info_t_size_get, _idaapi.jumptable_info_t_size_set) + def __init__(self, *args): + """ + __init__(self) -> jumptable_info_t + """ + this = _idaapi.new_jumptable_info_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_jumptable_info_t + __del__ = lambda self : None; +jumptable_info_t_swigregister = _idaapi.jumptable_info_t_swigregister +jumptable_info_t_swigregister(jumptable_info_t) + + +def get_jumptable_info(*args): + """ + get_jumptable_info(ea, buf, bufsize) -> ssize_t + """ + return _idaapi.get_jumptable_info(*args) + +def set_jumptable_info(*args): + """ + set_jumptable_info(ea, oi) + """ + return _idaapi.set_jumptable_info(*args) + +def del_jumptable_info(*args): + """ + del_jumptable_info(ea) + """ + return _idaapi.del_jumptable_info(*args) +class array_parameters_t(object): + """ + Proxy of C++ array_parameters_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + flags = _swig_property(_idaapi.array_parameters_t_flags_get, _idaapi.array_parameters_t_flags_set) + lineitems = _swig_property(_idaapi.array_parameters_t_lineitems_get, _idaapi.array_parameters_t_lineitems_set) + alignment = _swig_property(_idaapi.array_parameters_t_alignment_get, _idaapi.array_parameters_t_alignment_set) + def __init__(self, *args): + """ + __init__(self) -> array_parameters_t + """ + this = _idaapi.new_array_parameters_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_array_parameters_t + __del__ = lambda self : None; +array_parameters_t_swigregister = _idaapi.array_parameters_t_swigregister +array_parameters_t_swigregister(array_parameters_t) +AP_ALLOWDUPS = _idaapi.AP_ALLOWDUPS +AP_SIGNED = _idaapi.AP_SIGNED +AP_INDEX = _idaapi.AP_INDEX +AP_ARRAY = _idaapi.AP_ARRAY +AP_IDXBASEMASK = _idaapi.AP_IDXBASEMASK +AP_IDXDEC = _idaapi.AP_IDXDEC +AP_IDXHEX = _idaapi.AP_IDXHEX +AP_IDXOCT = _idaapi.AP_IDXOCT +AP_IDXBIN = _idaapi.AP_IDXBIN + + +def get_array_parameters(*args): + """ + get_array_parameters(ea, buf, bufsize) -> ssize_t + """ + return _idaapi.get_array_parameters(*args) + +def set_array_parameters(*args): + """ + set_array_parameters(ea, oi) + """ + return _idaapi.set_array_parameters(*args) + +def del_array_parameters(*args): + """ + del_array_parameters(ea) + """ + return _idaapi.del_array_parameters(*args) + +def get_switch_parent(*args): + """ + get_switch_parent(ea) -> ea_t + """ + return _idaapi.get_switch_parent(*args) + +def set_switch_parent(*args): + """ + set_switch_parent(ea, x) + """ + return _idaapi.set_switch_parent(*args) + +def del_switch_parent(*args): + """ + del_switch_parent(ea) + """ + return _idaapi.del_switch_parent(*args) +class custom_data_type_ids_t(object): + """ + Proxy of C++ custom_data_type_ids_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + dtid = _swig_property(_idaapi.custom_data_type_ids_t_dtid_get, _idaapi.custom_data_type_ids_t_dtid_set) + fids = _swig_property(_idaapi.custom_data_type_ids_t_fids_get, _idaapi.custom_data_type_ids_t_fids_set) + def __init__(self, *args): + """ + __init__(self) -> custom_data_type_ids_t + """ + this = _idaapi.new_custom_data_type_ids_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_custom_data_type_ids_t + __del__ = lambda self : None; +custom_data_type_ids_t_swigregister = _idaapi.custom_data_type_ids_t_swigregister +custom_data_type_ids_t_swigregister(custom_data_type_ids_t) + + +def get_custom_data_type_ids(*args): + """ + get_custom_data_type_ids(ea, cdis, bufsize) -> int + """ + return _idaapi.get_custom_data_type_ids(*args) + +def set_custom_data_type_ids(*args): + """ + set_custom_data_type_ids(ea, cdis) + """ + return _idaapi.set_custom_data_type_ids(*args) + +def del_custom_data_type_ids(*args): + """ + del_custom_data_type_ids(ea) + """ + return _idaapi.del_custom_data_type_ids(*args) + +def get_reftype_by_size(*args): + """ + get_reftype_by_size(size) -> reftype_t + """ + return _idaapi.get_reftype_by_size(*args) +class refinfo_t(object): + """ + Proxy of C++ refinfo_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + target = _swig_property(_idaapi.refinfo_t_target_get, _idaapi.refinfo_t_target_set) + base = _swig_property(_idaapi.refinfo_t_base_get, _idaapi.refinfo_t_base_set) + tdelta = _swig_property(_idaapi.refinfo_t_tdelta_get, _idaapi.refinfo_t_tdelta_set) + flags = _swig_property(_idaapi.refinfo_t_flags_get, _idaapi.refinfo_t_flags_set) + def type(self, *args): + """ + type(self) -> reftype_t + """ + return _idaapi.refinfo_t_type(self, *args) + + def no_base_xref(self, *args): + """ + no_base_xref(self) -> bool + """ + return _idaapi.refinfo_t_no_base_xref(self, *args) + + def is_pastend(self, *args): + """ + is_pastend(self) -> bool + """ + return _idaapi.refinfo_t_is_pastend(self, *args) + + def is_rvaoff(self, *args): + """ + is_rvaoff(self) -> bool + """ + return _idaapi.refinfo_t_is_rvaoff(self, *args) + + def is_custom(self, *args): + """ + is_custom(self) -> bool + """ + return _idaapi.refinfo_t_is_custom(self, *args) + + def is_subtract(self, *args): + """ + is_subtract(self) -> bool + """ + return _idaapi.refinfo_t_is_subtract(self, *args) + + def is_signed(self, *args): + """ + is_signed(self) -> bool + """ + return _idaapi.refinfo_t_is_signed(self, *args) + + def set_type(self, *args): + """ + set_type(self, t) + """ + return _idaapi.refinfo_t_set_type(self, *args) + + def init(self, *args): + """ + init(self, reft_and_flags, _base=0, _target=BADADDR, _tdelta=0) + """ + return _idaapi.refinfo_t_init(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> refinfo_t + """ + this = _idaapi.new_refinfo_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_refinfo_t + __del__ = lambda self : None; +refinfo_t_swigregister = _idaapi.refinfo_t_swigregister +refinfo_t_swigregister(refinfo_t) +REF_OFF8 = cvar.REF_OFF8 +REF_OFF16 = cvar.REF_OFF16 +REF_OFF32 = cvar.REF_OFF32 +REF_LOW8 = cvar.REF_LOW8 +REF_LOW16 = cvar.REF_LOW16 +REF_HIGH8 = cvar.REF_HIGH8 +REF_HIGH16 = cvar.REF_HIGH16 +REF_VHIGH = cvar.REF_VHIGH +REF_VLOW = cvar.REF_VLOW +REF_OFF64 = cvar.REF_OFF64 +REF_LAST = cvar.REF_LAST +REFINFO_TYPE = _idaapi.REFINFO_TYPE +REFINFO_RVAOFF = _idaapi.REFINFO_RVAOFF +REFINFO_PASTEND = _idaapi.REFINFO_PASTEND +REFINFO_CUSTOM = _idaapi.REFINFO_CUSTOM +REFINFO_NOBASE = _idaapi.REFINFO_NOBASE +REFINFO_SUBTRACT = _idaapi.REFINFO_SUBTRACT +REFINFO_SIGNEDOP = _idaapi.REFINFO_SIGNEDOP + +MAXSTRUCPATH = _idaapi.MAXSTRUCPATH +class strpath_t(object): + """ + Proxy of C++ strpath_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + len = _swig_property(_idaapi.strpath_t_len_get, _idaapi.strpath_t_len_set) + ids = _swig_property(_idaapi.strpath_t_ids_get, _idaapi.strpath_t_ids_set) + delta = _swig_property(_idaapi.strpath_t_delta_get, _idaapi.strpath_t_delta_set) + def __getIds(self, *args): + """ + __getIds(self) -> ids_array + """ + return _idaapi.strpath_t___getIds(self, *args) + + ids = property(__getIds) + + def __init__(self, *args): + """ + __init__(self) -> strpath_t + """ + this = _idaapi.new_strpath_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_strpath_t + __del__ = lambda self : None; +strpath_t_swigregister = _idaapi.strpath_t_swigregister +strpath_t_swigregister(strpath_t) + +class enum_const_t(object): + """ + Proxy of C++ enum_const_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + tid = _swig_property(_idaapi.enum_const_t_tid_get, _idaapi.enum_const_t_tid_set) + serial = _swig_property(_idaapi.enum_const_t_serial_get, _idaapi.enum_const_t_serial_set) + def __init__(self, *args): + """ + __init__(self) -> enum_const_t + """ + this = _idaapi.new_enum_const_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_enum_const_t + __del__ = lambda self : None; +enum_const_t_swigregister = _idaapi.enum_const_t_swigregister +enum_const_t_swigregister(enum_const_t) + +class opinfo_t(object): + """ + Proxy of C++ opinfo_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ri = _swig_property(_idaapi.opinfo_t_ri_get, _idaapi.opinfo_t_ri_set) + tid = _swig_property(_idaapi.opinfo_t_tid_get, _idaapi.opinfo_t_tid_set) + path = _swig_property(_idaapi.opinfo_t_path_get, _idaapi.opinfo_t_path_set) + strtype = _swig_property(_idaapi.opinfo_t_strtype_get, _idaapi.opinfo_t_strtype_set) + ec = _swig_property(_idaapi.opinfo_t_ec_get, _idaapi.opinfo_t_ec_set) + cd = _swig_property(_idaapi.opinfo_t_cd_get, _idaapi.opinfo_t_cd_set) + def __init__(self, *args): + """ + __init__(self) -> opinfo_t + """ + this = _idaapi.new_opinfo_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_opinfo_t + __del__ = lambda self : None; +opinfo_t_swigregister = _idaapi.opinfo_t_swigregister +opinfo_t_swigregister(opinfo_t) + + +def set_refinfo_ex(*args): + """ + set_refinfo_ex(ea, n, ri) -> int + """ + return _idaapi.set_refinfo_ex(*args) + +def set_refinfo(*args): + """ + set_refinfo(ea, n, type, target=BADADDR, base=0, tdelta=0) -> int + """ + return _idaapi.set_refinfo(*args) + +def get_refinfo(*args): + """ + get_refinfo(ea, n, ri) -> int + """ + return _idaapi.get_refinfo(*args) + +def del_refinfo(*args): + """ + del_refinfo(ea, n) -> int + """ + return _idaapi.del_refinfo(*args) + +def get_tinfo2(*args): + """ + get_tinfo2(ea, tif) -> bool + """ + return _idaapi.get_tinfo2(*args) + +def set_tinfo2(*args): + """ + set_tinfo2(ea, tif) -> bool + """ + return _idaapi.set_tinfo2(*args) + +def get_op_tinfo2(*args): + """ + get_op_tinfo2(ea, n, tif) -> bool + """ + return _idaapi.get_op_tinfo2(*args) + +def set_op_tinfo2(*args): + """ + set_op_tinfo2(ea, n, tif) -> bool + """ + return _idaapi.set_op_tinfo2(*args) + +def del_tinfo2(*args): + """ + del_tinfo2(ea) + del_tinfo2(ea, n) + """ + return _idaapi.del_tinfo2(*args) +RIDX_FILE_FORMAT_NAME = _idaapi.RIDX_FILE_FORMAT_NAME +RIDX_SELECTORS = _idaapi.RIDX_SELECTORS +RIDX_GROUPS = _idaapi.RIDX_GROUPS +RIDX_H_PATH = _idaapi.RIDX_H_PATH +RIDX_C_MACROS = _idaapi.RIDX_C_MACROS +RIDX_SMALL_IDC_OLD = _idaapi.RIDX_SMALL_IDC_OLD +RIDX_NOTEPAD = _idaapi.RIDX_NOTEPAD +RIDX_INCLUDE = _idaapi.RIDX_INCLUDE +RIDX_SMALL_IDC = _idaapi.RIDX_SMALL_IDC +RIDX_DUALOP_GRAPH = _idaapi.RIDX_DUALOP_GRAPH +RIDX_DUALOP_TEXT = _idaapi.RIDX_DUALOP_TEXT +RIDX_MD5 = _idaapi.RIDX_MD5 +RIDX_IDA_VERSION = _idaapi.RIDX_IDA_VERSION +RIDX_AUTO_PLUGINS = _idaapi.RIDX_AUTO_PLUGINS +RIDX_STR_ENCODINGS = _idaapi.RIDX_STR_ENCODINGS +RIDX_SRCDBG_PATHS = _idaapi.RIDX_SRCDBG_PATHS +RIDX_SELECTED_EXTLANG = _idaapi.RIDX_SELECTED_EXTLANG +RIDX_DBG_BINPATHS = _idaapi.RIDX_DBG_BINPATHS + +def get_input_file_path(*args): + """ + get_input_file_path() -> ssize_t + """ + return _idaapi.get_input_file_path(*args) + +def get_root_filename(*args): + """ + get_root_filename() -> ssize_t + """ + return _idaapi.get_root_filename(*args) + +def set_root_filename(*args): + """ + set_root_filename(file) + """ + return _idaapi.set_root_filename(*args) + +def retrieve_input_file_crc32(*args): + """ + retrieve_input_file_crc32() -> uint32 + """ + return _idaapi.retrieve_input_file_crc32(*args) + +def retrieve_input_file_md5(*args): + """ + retrieve_input_file_md5(hash) -> bool + """ + return _idaapi.retrieve_input_file_md5(*args) + +def get_asm_inc_file(*args): + """ + get_asm_inc_file() -> ssize_t + """ + return _idaapi.get_asm_inc_file(*args) + +def set_asm_inc_file(*args): + """ + set_asm_inc_file(file) -> bool + """ + return _idaapi.set_asm_inc_file(*args) + +def get_imagebase(*args): + """ + get_imagebase() -> ea_t + """ + return _idaapi.get_imagebase(*args) + +def set_imagebase(*args): + """ + set_imagebase(base) + """ + return _idaapi.set_imagebase(*args) + +def get_ids_modnode(*args): + """ + get_ids_modnode() -> netnode + """ + return _idaapi.get_ids_modnode(*args) + +def set_ids_modnode(*args): + """ + set_ids_modnode(id) + """ + return _idaapi.set_ids_modnode(*args) + +def get_auto_plugins(*args): + """ + get_auto_plugins() -> ssize_t + """ + return _idaapi.get_auto_plugins(*args) + +def set_auto_plugins(*args): + """ + set_auto_plugins(list, listsize=0) -> bool + """ + return _idaapi.set_auto_plugins(*args) + +def dbg_get_input_path(*args): + """ + dbg_get_input_path() -> ssize_t + """ + return _idaapi.dbg_get_input_path(*args) + +def get_encodings_count(*args): + """ + get_encodings_count() -> int + """ + return _idaapi.get_encodings_count(*args) + +def get_encoding_name(*args): + """ + get_encoding_name(idx) -> char const * + """ + return _idaapi.get_encoding_name(*args) + +def add_encoding(*args): + """ + add_encoding(encoding) -> int + """ + return _idaapi.add_encoding(*args) + +def del_encoding(*args): + """ + del_encoding(idx) -> bool + """ + return _idaapi.del_encoding(*args) + +def change_encoding_name(*args): + """ + change_encoding_name(idx, encoding) -> bool + """ + return _idaapi.change_encoding_name(*args) + +def get_default_encoding_idx(*args): + """ + get_default_encoding_idx(strtype) -> int + """ + return _idaapi.get_default_encoding_idx(*args) + +def set_default_encoding_idx(*args): + """ + set_default_encoding_idx(strtype, idx) -> bool + """ + return _idaapi.set_default_encoding_idx(*args) + +def encoding_from_strtype(*args): + """ + encoding_from_strtype(strtype) -> char const * + """ + return _idaapi.encoding_from_strtype(*args) + +def get_import_module_qty(*args): + """ + get_import_module_qty() -> uint + """ + return _idaapi.get_import_module_qty(*args) + +def validate_idb_names(*args): + """ + validate_idb_names() -> int + """ + return _idaapi.validate_idb_names(*args) +SWI_SHIFT1 = _idaapi.SWI_SHIFT1 + +def get_tinfo(*args): + """ + get_tinfo(ea, type, fields) -> bool + """ + return _idaapi.get_tinfo(*args) + +def set_tinfo(*args): + """ + set_tinfo(ea, ti, fnames) -> bool + """ + return _idaapi.set_tinfo(*args) + +def 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 + """ + return _idaapi.get_import_module_name(*args) + +def get_switch_info_ex(*args): + """ + get_switch_info_ex(ea) -> PyObject * + + + Returns the a switch_info_ex_t structure containing the information about the switch. + Please refer to the SDK sample 'uiswitch' + @return: None or switch_info_ex_t instance + """ + return _idaapi.get_switch_info_ex(*args) + +def create_switch_xrefs(*args): + """ + create_switch_xrefs(insn_ea, py_swi) -> 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 insn_ea: address of the 'indirect jump' instruction + @param si: switch information + + @return: Boolean + """ + return _idaapi.create_switch_xrefs(*args) +class cases_and_targets_t(object): + """ + Proxy of C++ cases_and_targets_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + cases = _swig_property(_idaapi.cases_and_targets_t_cases_get, _idaapi.cases_and_targets_t_cases_set) + targets = _swig_property(_idaapi.cases_and_targets_t_targets_get, _idaapi.cases_and_targets_t_targets_set) + def __init__(self, *args): + """ + __init__(self) -> cases_and_targets_t + """ + this = _idaapi.new_cases_and_targets_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_cases_and_targets_t + __del__ = lambda self : None; +cases_and_targets_t_swigregister = _idaapi.cases_and_targets_t_swigregister +cases_and_targets_t_swigregister(cases_and_targets_t) + + +def create_switch_table(*args): + """ + create_switch_table(insn_ea, py_swi) -> bool + + + Create switch table from the switch information + + @param insn_ea: address of the 'indirect jump' instruction + @param si: switch information + + @return: Boolean + """ + return _idaapi.create_switch_table(*args) + +def set_switch_info_ex(*args): + """ + set_switch_info_ex(ea, py_swi) -> bool + + + Saves the switch information in the database + Please refer to the SDK sample 'uiswitch' + @return: Boolean + """ + return _idaapi.set_switch_info_ex(*args) + +def del_switch_info_ex(*args): + """ + del_switch_info_ex(ea) + + + Deletes stored switch information + """ + return _idaapi.del_switch_info_ex(*args) + +def 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) + """ + return _idaapi.enum_import_names(*args) + +def switch_info_ex_t_create(*args): + """ + switch_info_ex_t_create() -> PyObject * + """ + return _idaapi.switch_info_ex_t_create(*args) + +def switch_info_ex_t_destroy(*args): + """ + switch_info_ex_t_destroy(py_obj) -> bool + """ + return _idaapi.switch_info_ex_t_destroy(*args) + +def switch_info_ex_t_assign(*args): + """ + switch_info_ex_t_assign(self, other) -> bool + """ + return _idaapi.switch_info_ex_t_assign(*args) + +def switch_info_ex_t_get_regdtyp(*args): + """ + switch_info_ex_t_get_regdtyp(self) -> PyObject * + """ + return _idaapi.switch_info_ex_t_get_regdtyp(*args) + +def switch_info_ex_t_set_regdtyp(*args): + """ + switch_info_ex_t_set_regdtyp(self, value) + """ + return _idaapi.switch_info_ex_t_set_regdtyp(*args) + +def switch_info_ex_t_get_flags2(*args): + """ + switch_info_ex_t_get_flags2(self) -> PyObject * + """ + return _idaapi.switch_info_ex_t_get_flags2(*args) + +def switch_info_ex_t_set_flags2(*args): + """ + switch_info_ex_t_set_flags2(self, value) + """ + return _idaapi.switch_info_ex_t_set_flags2(*args) + +def switch_info_ex_t_get_jcases(*args): + """ + switch_info_ex_t_get_jcases(self) -> PyObject * + """ + return _idaapi.switch_info_ex_t_get_jcases(*args) + +def switch_info_ex_t_set_jcases(*args): + """ + switch_info_ex_t_set_jcases(self, value) + """ + return _idaapi.switch_info_ex_t_set_jcases(*args) + +def switch_info_ex_t_get_regnum(*args): + """ + switch_info_ex_t_get_regnum(self) -> PyObject * + """ + return _idaapi.switch_info_ex_t_get_regnum(*args) + +def switch_info_ex_t_set_regnum(*args): + """ + switch_info_ex_t_set_regnum(self, value) + """ + return _idaapi.switch_info_ex_t_set_regnum(*args) + +def switch_info_ex_t_get_flags(*args): + """ + switch_info_ex_t_get_flags(self) -> PyObject * + """ + return _idaapi.switch_info_ex_t_get_flags(*args) + +def switch_info_ex_t_set_flags(*args): + """ + switch_info_ex_t_set_flags(self, value) + """ + return _idaapi.switch_info_ex_t_set_flags(*args) + +def switch_info_ex_t_get_ncases(*args): + """ + switch_info_ex_t_get_ncases(self) -> PyObject * + """ + return _idaapi.switch_info_ex_t_get_ncases(*args) + +def switch_info_ex_t_set_ncases(*args): + """ + switch_info_ex_t_set_ncases(self, value) + """ + return _idaapi.switch_info_ex_t_set_ncases(*args) + +def switch_info_ex_t_get_defjump(*args): + """ + switch_info_ex_t_get_defjump(self) -> PyObject * + """ + return _idaapi.switch_info_ex_t_get_defjump(*args) + +def switch_info_ex_t_set_defjump(*args): + """ + switch_info_ex_t_set_defjump(self, value) + """ + return _idaapi.switch_info_ex_t_set_defjump(*args) + +def switch_info_ex_t_get_jumps(*args): + """ + switch_info_ex_t_get_jumps(self) -> PyObject * + """ + return _idaapi.switch_info_ex_t_get_jumps(*args) + +def switch_info_ex_t_set_jumps(*args): + """ + switch_info_ex_t_set_jumps(self, value) + """ + return _idaapi.switch_info_ex_t_set_jumps(*args) + +def switch_info_ex_t_get_elbase(*args): + """ + switch_info_ex_t_get_elbase(self) -> PyObject * + """ + return _idaapi.switch_info_ex_t_get_elbase(*args) + +def switch_info_ex_t_set_elbase(*args): + """ + switch_info_ex_t_set_elbase(self, value) + """ + return _idaapi.switch_info_ex_t_set_elbase(*args) + +def switch_info_ex_t_get_startea(*args): + """ + switch_info_ex_t_get_startea(self) -> PyObject * + """ + return _idaapi.switch_info_ex_t_get_startea(*args) + +def switch_info_ex_t_set_startea(*args): + """ + switch_info_ex_t_set_startea(self, value) + """ + return _idaapi.switch_info_ex_t_set_startea(*args) + +def switch_info_ex_t_get_custom(*args): + """ + switch_info_ex_t_get_custom(self) -> PyObject * + """ + return _idaapi.switch_info_ex_t_get_custom(*args) + +def switch_info_ex_t_set_custom(*args): + """ + switch_info_ex_t_set_custom(self, value) + """ + return _idaapi.switch_info_ex_t_set_custom(*args) + +def switch_info_ex_t_get_ind_lowcase(*args): + """ + switch_info_ex_t_get_ind_lowcase(self) -> PyObject * + """ + return _idaapi.switch_info_ex_t_get_ind_lowcase(*args) + +def switch_info_ex_t_set_ind_lowcase(*args): + """ + switch_info_ex_t_set_ind_lowcase(self, value) + """ + return _idaapi.switch_info_ex_t_set_ind_lowcase(*args) + +def switch_info_ex_t_get_values_lowcase(*args): + """ + switch_info_ex_t_get_values_lowcase(self) -> PyObject * + """ + return _idaapi.switch_info_ex_t_get_values_lowcase(*args) + +def switch_info_ex_t_set_values_lowcase(*args): + """ + switch_info_ex_t_set_values_lowcase(self, value) + """ + return _idaapi.switch_info_ex_t_set_values_lowcase(*args) +# +SWI_SPARSE = 0x1 +""" +sparse switch ( value table present ) otherwise lowcase present +""" +SWI_V32 = 0x2 +""" +32-bit values in table +""" +SWI_J32 = 0x4 +""" +32-bit jump offsets +""" +SWI_VSPLIT = 0x8 +""" +value table is split (only for 32-bit values) +""" +SWI_DEFAULT = 0x10 +""" +default case is present +""" +SWI_END_IN_TBL = 0x20 +""" +switchend in table (default entry) +""" +SWI_JMP_INV = 0x40 +""" +jumptable is inversed (last entry is for first entry in values table) +""" +SWI_SHIFT_MASK = 0x180 +""" +use formula (element*shift + elbase) to find jump targets +""" + +SWI_ELBASE = 0x200 +""" +elbase is present (if not and shift!=0, endof(jumpea) is used) +""" +SWI_JSIZE = 0x400 +""" +jump offset expansion bit +""" + +SWI_VSIZE = 0x800 +""" +value table element size expansion bit +""" + +SWI_SEPARATE = 0x1000 +""" +do not create an array of individual dwords +""" + +SWI_SIGNED = 0x2000 +""" +jump table entries are signed +""" + +SWI_CUSTOM = 0x4000 +""" +custom jump table - ph.create_switch_xrefs will be called to create code xrefs for the table. it must return 2. custom jump table must be created by the module +""" + +SWI_EXTENDED = 0x8000 +""" +this is switch_info_ex_t +""" + +SWI2_INDIRECT = 0x0001 +""" +value table elements are used as indexes into the jump table +""" +SWI2_SUBTRACT = 0x0002 +""" +table values are subtracted from the elbase instead of being addded +""" + +# -------------------------------------------------------------------------- +class switch_info_ex_t(py_clinked_object_t): + def __init__(self, lnk = None): + py_clinked_object_t.__init__(self, lnk) + + def _create_clink(self): + return _idaapi.switch_info_ex_t_create() + + def _del_clink(self, lnk): + return _idaapi.switch_info_ex_t_destroy(lnk) + + def assign(self, other): + return _idaapi.switch_info_ex_t_assign(self, other) + + def is_indirect(self): + return (self.flags & SWI_EXTENDED) != 0 and (self.flags2 & SWI2_INDIRECT) != 0 + + def is_subtract(self): + return (self.flags & SWI_EXTENDED) != 0 and (self.flags2 & SWI2_SUBTRACT) != 0 + + def get_jtable_size(self): + return self.jcases if self.is_indirect() else self.ncases + + def get_lowcase(self): + return self.ind_lowcase if self.is_indirect() else self.lowcase + + def set_expr(self, r, dt): + self.regnum = r + self.regdtyp = dt + + def get_shift(self): + return (self.flags & SWI_SHIFT_MASK) >> 7 + + def set_shift(self, shift): + self.flags &= ~SWI_SHIFT_MASK + self.flags |= ((shift & 3) << 7) + + def get_jtable_element_size(self): + code = self.flags & (SWI_J32|SWI_JSIZE) + if code == 0: return 2 + elif code == SWI_J32: return 4 + elif code == SWI_JSIZE: return 1 + else: return 8 + + def set_jtable_element_size(self, size): + self.flags &= ~(SWI_J32|SWI_JSIZE) + if size == 4: self.flags |= SWI_J32 + elif size == 1: self.flags |= SWI_JSIZE + elif size == 8: self.flags |= SWI_J32|SWI_JSIZE + elif size != 2: return False + return True + + def get_vtable_element_size(self): + code = self.flags & (SWI_V32|SWI_VSIZE) + if code == 0: return 2 + elif code == SWI_V32: return 4 + elif code == SWI_VSIZE: return 1 + return 8 + + def set_vtable_element_size(self, size): + self.flags &= ~SWI_V32|SWI_VSIZE + if size == 4: self.flags |= SWI_V32 + elif size == 1: self.flags |= SWI_VSIZE + elif size == 8: self.flags |= SWI_V32|SWI_VSIZE + elif size != 2: return False + return True + + # + # Autogenerated + # + def __get_regdtyp__(self): + return _idaapi.switch_info_ex_t_get_regdtyp(self) + def __set_regdtyp__(self, v): + _idaapi.switch_info_ex_t_set_regdtyp(self, v) + def __get_flags2__(self): + return _idaapi.switch_info_ex_t_get_flags2(self) + def __set_flags2__(self, v): + _idaapi.switch_info_ex_t_set_flags2(self, v) + def __get_jcases__(self): + return _idaapi.switch_info_ex_t_get_jcases(self) + def __set_jcases__(self, v): + _idaapi.switch_info_ex_t_set_jcases(self, v) + def __get_regnum__(self): + return _idaapi.switch_info_ex_t_get_regnum(self) + def __set_regnum__(self, v): + _idaapi.switch_info_ex_t_set_regnum(self, v) + def __get_flags__(self): + return _idaapi.switch_info_ex_t_get_flags(self) + def __set_flags__(self, v): + _idaapi.switch_info_ex_t_set_flags(self, v) + def __get_ncases__(self): + return _idaapi.switch_info_ex_t_get_ncases(self) + def __set_ncases__(self, v): + _idaapi.switch_info_ex_t_set_ncases(self, v) + def __get_defjump__(self): + return _idaapi.switch_info_ex_t_get_defjump(self) + def __set_defjump__(self, v): + _idaapi.switch_info_ex_t_set_defjump(self, v) + def __get_jumps__(self): + return _idaapi.switch_info_ex_t_get_jumps(self) + def __set_jumps__(self, v): + _idaapi.switch_info_ex_t_set_jumps(self, v) + def __get_elbase__(self): + return _idaapi.switch_info_ex_t_get_elbase(self) + def __set_elbase__(self, v): + _idaapi.switch_info_ex_t_set_elbase(self, v) + def __get_startea__(self): + return _idaapi.switch_info_ex_t_get_startea(self) + def __set_startea__(self, v): + _idaapi.switch_info_ex_t_set_startea(self, v) + def __get_custom__(self): + return _idaapi.switch_info_ex_t_get_custom(self) + def __set_custom__(self, v): + _idaapi.switch_info_ex_t_set_custom(self, v) + def __get_ind_lowcase__(self): + return _idaapi.switch_info_ex_t_get_ind_lowcase(self) + def __set_ind_lowcase__(self, v): + _idaapi.switch_info_ex_t_set_ind_lowcase(self, v) + def __get_values_lowcase__(self): + return _idaapi.switch_info_ex_t_get_values_lowcase(self) + def __set_values_lowcase__(self, v): + _idaapi.switch_info_ex_t_set_values_lowcase(self, v) + regdtyp = property(__get_regdtyp__, __set_regdtyp__) + """ + size of the switch expression register as dtyp + """ + flags2 = property(__get_flags2__, __set_flags2__) + jcases = property(__get_jcases__, __set_jcases__) + """ + number of entries in the jump table (SWI2_INDIRECT) + """ + regnum = property(__get_regnum__, __set_regnum__) + """ + the switch expression as a register number + """ + flags = property(__get_flags__, __set_flags__) + """ + the switch expression as a register number + """ + ncases = property(__get_ncases__, __set_ncases__) + """ + number of cases (excluding default) + """ + defjump = property(__get_defjump__, __set_defjump__) + """ + default jump address + """ + jumps = property(__get_jumps__, __set_jumps__) + """ + jump table address + """ + elbase = property(__get_elbase__, __set_elbase__) + """ + element base + """ + startea = property(__get_startea__, __set_startea__) + """ + start of switch idiom + """ + custom = property(__get_custom__, __set_custom__) + """ + information for custom tables (filled and used by modules) + """ + ind_lowcase = property(__get_ind_lowcase__, __set_ind_lowcase__) + values = property(__get_values_lowcase__, __set_values_lowcase__) + lowcase = property(__get_values_lowcase__, __set_values_lowcase__) + +# + +NN_null = _idaapi.NN_null +NN_aaa = _idaapi.NN_aaa +NN_aad = _idaapi.NN_aad +NN_aam = _idaapi.NN_aam +NN_aas = _idaapi.NN_aas +NN_adc = _idaapi.NN_adc +NN_add = _idaapi.NN_add +NN_and = _idaapi.NN_and +NN_arpl = _idaapi.NN_arpl +NN_bound = _idaapi.NN_bound +NN_bsf = _idaapi.NN_bsf +NN_bsr = _idaapi.NN_bsr +NN_bt = _idaapi.NN_bt +NN_btc = _idaapi.NN_btc +NN_btr = _idaapi.NN_btr +NN_bts = _idaapi.NN_bts +NN_call = _idaapi.NN_call +NN_callfi = _idaapi.NN_callfi +NN_callni = _idaapi.NN_callni +NN_cbw = _idaapi.NN_cbw +NN_cwde = _idaapi.NN_cwde +NN_cdqe = _idaapi.NN_cdqe +NN_clc = _idaapi.NN_clc +NN_cld = _idaapi.NN_cld +NN_cli = _idaapi.NN_cli +NN_clts = _idaapi.NN_clts +NN_cmc = _idaapi.NN_cmc +NN_cmp = _idaapi.NN_cmp +NN_cmps = _idaapi.NN_cmps +NN_cwd = _idaapi.NN_cwd +NN_cdq = _idaapi.NN_cdq +NN_cqo = _idaapi.NN_cqo +NN_daa = _idaapi.NN_daa +NN_das = _idaapi.NN_das +NN_dec = _idaapi.NN_dec +NN_div = _idaapi.NN_div +NN_enterw = _idaapi.NN_enterw +NN_enter = _idaapi.NN_enter +NN_enterd = _idaapi.NN_enterd +NN_enterq = _idaapi.NN_enterq +NN_hlt = _idaapi.NN_hlt +NN_idiv = _idaapi.NN_idiv +NN_imul = _idaapi.NN_imul +NN_in = _idaapi.NN_in +NN_inc = _idaapi.NN_inc +NN_ins = _idaapi.NN_ins +NN_int = _idaapi.NN_int +NN_into = _idaapi.NN_into +NN_int3 = _idaapi.NN_int3 +NN_iretw = _idaapi.NN_iretw +NN_iret = _idaapi.NN_iret +NN_iretd = _idaapi.NN_iretd +NN_iretq = _idaapi.NN_iretq +NN_ja = _idaapi.NN_ja +NN_jae = _idaapi.NN_jae +NN_jb = _idaapi.NN_jb +NN_jbe = _idaapi.NN_jbe +NN_jc = _idaapi.NN_jc +NN_jcxz = _idaapi.NN_jcxz +NN_jecxz = _idaapi.NN_jecxz +NN_jrcxz = _idaapi.NN_jrcxz +NN_je = _idaapi.NN_je +NN_jg = _idaapi.NN_jg +NN_jge = _idaapi.NN_jge +NN_jl = _idaapi.NN_jl +NN_jle = _idaapi.NN_jle +NN_jna = _idaapi.NN_jna +NN_jnae = _idaapi.NN_jnae +NN_jnb = _idaapi.NN_jnb +NN_jnbe = _idaapi.NN_jnbe +NN_jnc = _idaapi.NN_jnc +NN_jne = _idaapi.NN_jne +NN_jng = _idaapi.NN_jng +NN_jnge = _idaapi.NN_jnge +NN_jnl = _idaapi.NN_jnl +NN_jnle = _idaapi.NN_jnle +NN_jno = _idaapi.NN_jno +NN_jnp = _idaapi.NN_jnp +NN_jns = _idaapi.NN_jns +NN_jnz = _idaapi.NN_jnz +NN_jo = _idaapi.NN_jo +NN_jp = _idaapi.NN_jp +NN_jpe = _idaapi.NN_jpe +NN_jpo = _idaapi.NN_jpo +NN_js = _idaapi.NN_js +NN_jz = _idaapi.NN_jz +NN_jmp = _idaapi.NN_jmp +NN_jmpfi = _idaapi.NN_jmpfi +NN_jmpni = _idaapi.NN_jmpni +NN_jmpshort = _idaapi.NN_jmpshort +NN_lahf = _idaapi.NN_lahf +NN_lar = _idaapi.NN_lar +NN_lea = _idaapi.NN_lea +NN_leavew = _idaapi.NN_leavew +NN_leave = _idaapi.NN_leave +NN_leaved = _idaapi.NN_leaved +NN_leaveq = _idaapi.NN_leaveq +NN_lgdt = _idaapi.NN_lgdt +NN_lidt = _idaapi.NN_lidt +NN_lgs = _idaapi.NN_lgs +NN_lss = _idaapi.NN_lss +NN_lds = _idaapi.NN_lds +NN_les = _idaapi.NN_les +NN_lfs = _idaapi.NN_lfs +NN_lldt = _idaapi.NN_lldt +NN_lmsw = _idaapi.NN_lmsw +NN_lock = _idaapi.NN_lock +NN_lods = _idaapi.NN_lods +NN_loopw = _idaapi.NN_loopw +NN_loop = _idaapi.NN_loop +NN_loopd = _idaapi.NN_loopd +NN_loopq = _idaapi.NN_loopq +NN_loopwe = _idaapi.NN_loopwe +NN_loope = _idaapi.NN_loope +NN_loopde = _idaapi.NN_loopde +NN_loopqe = _idaapi.NN_loopqe +NN_loopwne = _idaapi.NN_loopwne +NN_loopne = _idaapi.NN_loopne +NN_loopdne = _idaapi.NN_loopdne +NN_loopqne = _idaapi.NN_loopqne +NN_lsl = _idaapi.NN_lsl +NN_ltr = _idaapi.NN_ltr +NN_mov = _idaapi.NN_mov +NN_movsp = _idaapi.NN_movsp +NN_movs = _idaapi.NN_movs +NN_movsx = _idaapi.NN_movsx +NN_movzx = _idaapi.NN_movzx +NN_mul = _idaapi.NN_mul +NN_neg = _idaapi.NN_neg +NN_nop = _idaapi.NN_nop +NN_not = _idaapi.NN_not +NN_or = _idaapi.NN_or +NN_out = _idaapi.NN_out +NN_outs = _idaapi.NN_outs +NN_pop = _idaapi.NN_pop +NN_popaw = _idaapi.NN_popaw +NN_popa = _idaapi.NN_popa +NN_popad = _idaapi.NN_popad +NN_popaq = _idaapi.NN_popaq +NN_popfw = _idaapi.NN_popfw +NN_popf = _idaapi.NN_popf +NN_popfd = _idaapi.NN_popfd +NN_popfq = _idaapi.NN_popfq +NN_push = _idaapi.NN_push +NN_pushaw = _idaapi.NN_pushaw +NN_pusha = _idaapi.NN_pusha +NN_pushad = _idaapi.NN_pushad +NN_pushaq = _idaapi.NN_pushaq +NN_pushfw = _idaapi.NN_pushfw +NN_pushf = _idaapi.NN_pushf +NN_pushfd = _idaapi.NN_pushfd +NN_pushfq = _idaapi.NN_pushfq +NN_rcl = _idaapi.NN_rcl +NN_rcr = _idaapi.NN_rcr +NN_rol = _idaapi.NN_rol +NN_ror = _idaapi.NN_ror +NN_rep = _idaapi.NN_rep +NN_repe = _idaapi.NN_repe +NN_repne = _idaapi.NN_repne +NN_retn = _idaapi.NN_retn +NN_retf = _idaapi.NN_retf +NN_sahf = _idaapi.NN_sahf +NN_sal = _idaapi.NN_sal +NN_sar = _idaapi.NN_sar +NN_shl = _idaapi.NN_shl +NN_shr = _idaapi.NN_shr +NN_sbb = _idaapi.NN_sbb +NN_scas = _idaapi.NN_scas +NN_seta = _idaapi.NN_seta +NN_setae = _idaapi.NN_setae +NN_setb = _idaapi.NN_setb +NN_setbe = _idaapi.NN_setbe +NN_setc = _idaapi.NN_setc +NN_sete = _idaapi.NN_sete +NN_setg = _idaapi.NN_setg +NN_setge = _idaapi.NN_setge +NN_setl = _idaapi.NN_setl +NN_setle = _idaapi.NN_setle +NN_setna = _idaapi.NN_setna +NN_setnae = _idaapi.NN_setnae +NN_setnb = _idaapi.NN_setnb +NN_setnbe = _idaapi.NN_setnbe +NN_setnc = _idaapi.NN_setnc +NN_setne = _idaapi.NN_setne +NN_setng = _idaapi.NN_setng +NN_setnge = _idaapi.NN_setnge +NN_setnl = _idaapi.NN_setnl +NN_setnle = _idaapi.NN_setnle +NN_setno = _idaapi.NN_setno +NN_setnp = _idaapi.NN_setnp +NN_setns = _idaapi.NN_setns +NN_setnz = _idaapi.NN_setnz +NN_seto = _idaapi.NN_seto +NN_setp = _idaapi.NN_setp +NN_setpe = _idaapi.NN_setpe +NN_setpo = _idaapi.NN_setpo +NN_sets = _idaapi.NN_sets +NN_setz = _idaapi.NN_setz +NN_sgdt = _idaapi.NN_sgdt +NN_sidt = _idaapi.NN_sidt +NN_shld = _idaapi.NN_shld +NN_shrd = _idaapi.NN_shrd +NN_sldt = _idaapi.NN_sldt +NN_smsw = _idaapi.NN_smsw +NN_stc = _idaapi.NN_stc +NN_std = _idaapi.NN_std +NN_sti = _idaapi.NN_sti +NN_stos = _idaapi.NN_stos +NN_str = _idaapi.NN_str +NN_sub = _idaapi.NN_sub +NN_test = _idaapi.NN_test +NN_verr = _idaapi.NN_verr +NN_verw = _idaapi.NN_verw +NN_wait = _idaapi.NN_wait +NN_xchg = _idaapi.NN_xchg +NN_xlat = _idaapi.NN_xlat +NN_xor = _idaapi.NN_xor +NN_cmpxchg = _idaapi.NN_cmpxchg +NN_bswap = _idaapi.NN_bswap +NN_xadd = _idaapi.NN_xadd +NN_invd = _idaapi.NN_invd +NN_wbinvd = _idaapi.NN_wbinvd +NN_invlpg = _idaapi.NN_invlpg +NN_rdmsr = _idaapi.NN_rdmsr +NN_wrmsr = _idaapi.NN_wrmsr +NN_cpuid = _idaapi.NN_cpuid +NN_cmpxchg8b = _idaapi.NN_cmpxchg8b +NN_rdtsc = _idaapi.NN_rdtsc +NN_rsm = _idaapi.NN_rsm +NN_cmova = _idaapi.NN_cmova +NN_cmovb = _idaapi.NN_cmovb +NN_cmovbe = _idaapi.NN_cmovbe +NN_cmovg = _idaapi.NN_cmovg +NN_cmovge = _idaapi.NN_cmovge +NN_cmovl = _idaapi.NN_cmovl +NN_cmovle = _idaapi.NN_cmovle +NN_cmovnb = _idaapi.NN_cmovnb +NN_cmovno = _idaapi.NN_cmovno +NN_cmovnp = _idaapi.NN_cmovnp +NN_cmovns = _idaapi.NN_cmovns +NN_cmovnz = _idaapi.NN_cmovnz +NN_cmovo = _idaapi.NN_cmovo +NN_cmovp = _idaapi.NN_cmovp +NN_cmovs = _idaapi.NN_cmovs +NN_cmovz = _idaapi.NN_cmovz +NN_fcmovb = _idaapi.NN_fcmovb +NN_fcmove = _idaapi.NN_fcmove +NN_fcmovbe = _idaapi.NN_fcmovbe +NN_fcmovu = _idaapi.NN_fcmovu +NN_fcmovnb = _idaapi.NN_fcmovnb +NN_fcmovne = _idaapi.NN_fcmovne +NN_fcmovnbe = _idaapi.NN_fcmovnbe +NN_fcmovnu = _idaapi.NN_fcmovnu +NN_fcomi = _idaapi.NN_fcomi +NN_fucomi = _idaapi.NN_fucomi +NN_fcomip = _idaapi.NN_fcomip +NN_fucomip = _idaapi.NN_fucomip +NN_rdpmc = _idaapi.NN_rdpmc +NN_fld = _idaapi.NN_fld +NN_fst = _idaapi.NN_fst +NN_fstp = _idaapi.NN_fstp +NN_fxch = _idaapi.NN_fxch +NN_fild = _idaapi.NN_fild +NN_fist = _idaapi.NN_fist +NN_fistp = _idaapi.NN_fistp +NN_fbld = _idaapi.NN_fbld +NN_fbstp = _idaapi.NN_fbstp +NN_fadd = _idaapi.NN_fadd +NN_faddp = _idaapi.NN_faddp +NN_fiadd = _idaapi.NN_fiadd +NN_fsub = _idaapi.NN_fsub +NN_fsubp = _idaapi.NN_fsubp +NN_fisub = _idaapi.NN_fisub +NN_fsubr = _idaapi.NN_fsubr +NN_fsubrp = _idaapi.NN_fsubrp +NN_fisubr = _idaapi.NN_fisubr +NN_fmul = _idaapi.NN_fmul +NN_fmulp = _idaapi.NN_fmulp +NN_fimul = _idaapi.NN_fimul +NN_fdiv = _idaapi.NN_fdiv +NN_fdivp = _idaapi.NN_fdivp +NN_fidiv = _idaapi.NN_fidiv +NN_fdivr = _idaapi.NN_fdivr +NN_fdivrp = _idaapi.NN_fdivrp +NN_fidivr = _idaapi.NN_fidivr +NN_fsqrt = _idaapi.NN_fsqrt +NN_fscale = _idaapi.NN_fscale +NN_fprem = _idaapi.NN_fprem +NN_frndint = _idaapi.NN_frndint +NN_fxtract = _idaapi.NN_fxtract +NN_fabs = _idaapi.NN_fabs +NN_fchs = _idaapi.NN_fchs +NN_fcom = _idaapi.NN_fcom +NN_fcomp = _idaapi.NN_fcomp +NN_fcompp = _idaapi.NN_fcompp +NN_ficom = _idaapi.NN_ficom +NN_ficomp = _idaapi.NN_ficomp +NN_ftst = _idaapi.NN_ftst +NN_fxam = _idaapi.NN_fxam +NN_fptan = _idaapi.NN_fptan +NN_fpatan = _idaapi.NN_fpatan +NN_f2xm1 = _idaapi.NN_f2xm1 +NN_fyl2x = _idaapi.NN_fyl2x +NN_fyl2xp1 = _idaapi.NN_fyl2xp1 +NN_fldz = _idaapi.NN_fldz +NN_fld1 = _idaapi.NN_fld1 +NN_fldpi = _idaapi.NN_fldpi +NN_fldl2t = _idaapi.NN_fldl2t +NN_fldl2e = _idaapi.NN_fldl2e +NN_fldlg2 = _idaapi.NN_fldlg2 +NN_fldln2 = _idaapi.NN_fldln2 +NN_finit = _idaapi.NN_finit +NN_fninit = _idaapi.NN_fninit +NN_fsetpm = _idaapi.NN_fsetpm +NN_fldcw = _idaapi.NN_fldcw +NN_fstcw = _idaapi.NN_fstcw +NN_fnstcw = _idaapi.NN_fnstcw +NN_fstsw = _idaapi.NN_fstsw +NN_fnstsw = _idaapi.NN_fnstsw +NN_fclex = _idaapi.NN_fclex +NN_fnclex = _idaapi.NN_fnclex +NN_fstenv = _idaapi.NN_fstenv +NN_fnstenv = _idaapi.NN_fnstenv +NN_fldenv = _idaapi.NN_fldenv +NN_fsave = _idaapi.NN_fsave +NN_fnsave = _idaapi.NN_fnsave +NN_frstor = _idaapi.NN_frstor +NN_fincstp = _idaapi.NN_fincstp +NN_fdecstp = _idaapi.NN_fdecstp +NN_ffree = _idaapi.NN_ffree +NN_fnop = _idaapi.NN_fnop +NN_feni = _idaapi.NN_feni +NN_fneni = _idaapi.NN_fneni +NN_fdisi = _idaapi.NN_fdisi +NN_fndisi = _idaapi.NN_fndisi +NN_fprem1 = _idaapi.NN_fprem1 +NN_fsincos = _idaapi.NN_fsincos +NN_fsin = _idaapi.NN_fsin +NN_fcos = _idaapi.NN_fcos +NN_fucom = _idaapi.NN_fucom +NN_fucomp = _idaapi.NN_fucomp +NN_fucompp = _idaapi.NN_fucompp +NN_setalc = _idaapi.NN_setalc +NN_svdc = _idaapi.NN_svdc +NN_rsdc = _idaapi.NN_rsdc +NN_svldt = _idaapi.NN_svldt +NN_rsldt = _idaapi.NN_rsldt +NN_svts = _idaapi.NN_svts +NN_rsts = _idaapi.NN_rsts +NN_icebp = _idaapi.NN_icebp +NN_loadall = _idaapi.NN_loadall +NN_emms = _idaapi.NN_emms +NN_movd = _idaapi.NN_movd +NN_movq = _idaapi.NN_movq +NN_packsswb = _idaapi.NN_packsswb +NN_packssdw = _idaapi.NN_packssdw +NN_packuswb = _idaapi.NN_packuswb +NN_paddb = _idaapi.NN_paddb +NN_paddw = _idaapi.NN_paddw +NN_paddd = _idaapi.NN_paddd +NN_paddsb = _idaapi.NN_paddsb +NN_paddsw = _idaapi.NN_paddsw +NN_paddusb = _idaapi.NN_paddusb +NN_paddusw = _idaapi.NN_paddusw +NN_pand = _idaapi.NN_pand +NN_pandn = _idaapi.NN_pandn +NN_pcmpeqb = _idaapi.NN_pcmpeqb +NN_pcmpeqw = _idaapi.NN_pcmpeqw +NN_pcmpeqd = _idaapi.NN_pcmpeqd +NN_pcmpgtb = _idaapi.NN_pcmpgtb +NN_pcmpgtw = _idaapi.NN_pcmpgtw +NN_pcmpgtd = _idaapi.NN_pcmpgtd +NN_pmaddwd = _idaapi.NN_pmaddwd +NN_pmulhw = _idaapi.NN_pmulhw +NN_pmullw = _idaapi.NN_pmullw +NN_por = _idaapi.NN_por +NN_psllw = _idaapi.NN_psllw +NN_pslld = _idaapi.NN_pslld +NN_psllq = _idaapi.NN_psllq +NN_psraw = _idaapi.NN_psraw +NN_psrad = _idaapi.NN_psrad +NN_psrlw = _idaapi.NN_psrlw +NN_psrld = _idaapi.NN_psrld +NN_psrlq = _idaapi.NN_psrlq +NN_psubb = _idaapi.NN_psubb +NN_psubw = _idaapi.NN_psubw +NN_psubd = _idaapi.NN_psubd +NN_psubsb = _idaapi.NN_psubsb +NN_psubsw = _idaapi.NN_psubsw +NN_psubusb = _idaapi.NN_psubusb +NN_psubusw = _idaapi.NN_psubusw +NN_punpckhbw = _idaapi.NN_punpckhbw +NN_punpckhwd = _idaapi.NN_punpckhwd +NN_punpckhdq = _idaapi.NN_punpckhdq +NN_punpcklbw = _idaapi.NN_punpcklbw +NN_punpcklwd = _idaapi.NN_punpcklwd +NN_punpckldq = _idaapi.NN_punpckldq +NN_pxor = _idaapi.NN_pxor +NN_fxsave = _idaapi.NN_fxsave +NN_fxrstor = _idaapi.NN_fxrstor +NN_sysenter = _idaapi.NN_sysenter +NN_sysexit = _idaapi.NN_sysexit +NN_pavgusb = _idaapi.NN_pavgusb +NN_pfadd = _idaapi.NN_pfadd +NN_pfsub = _idaapi.NN_pfsub +NN_pfsubr = _idaapi.NN_pfsubr +NN_pfacc = _idaapi.NN_pfacc +NN_pfcmpge = _idaapi.NN_pfcmpge +NN_pfcmpgt = _idaapi.NN_pfcmpgt +NN_pfcmpeq = _idaapi.NN_pfcmpeq +NN_pfmin = _idaapi.NN_pfmin +NN_pfmax = _idaapi.NN_pfmax +NN_pi2fd = _idaapi.NN_pi2fd +NN_pf2id = _idaapi.NN_pf2id +NN_pfrcp = _idaapi.NN_pfrcp +NN_pfrsqrt = _idaapi.NN_pfrsqrt +NN_pfmul = _idaapi.NN_pfmul +NN_pfrcpit1 = _idaapi.NN_pfrcpit1 +NN_pfrsqit1 = _idaapi.NN_pfrsqit1 +NN_pfrcpit2 = _idaapi.NN_pfrcpit2 +NN_pmulhrw = _idaapi.NN_pmulhrw +NN_femms = _idaapi.NN_femms +NN_prefetch = _idaapi.NN_prefetch +NN_prefetchw = _idaapi.NN_prefetchw +NN_addps = _idaapi.NN_addps +NN_addss = _idaapi.NN_addss +NN_andnps = _idaapi.NN_andnps +NN_andps = _idaapi.NN_andps +NN_cmpps = _idaapi.NN_cmpps +NN_cmpss = _idaapi.NN_cmpss +NN_comiss = _idaapi.NN_comiss +NN_cvtpi2ps = _idaapi.NN_cvtpi2ps +NN_cvtps2pi = _idaapi.NN_cvtps2pi +NN_cvtsi2ss = _idaapi.NN_cvtsi2ss +NN_cvtss2si = _idaapi.NN_cvtss2si +NN_cvttps2pi = _idaapi.NN_cvttps2pi +NN_cvttss2si = _idaapi.NN_cvttss2si +NN_divps = _idaapi.NN_divps +NN_divss = _idaapi.NN_divss +NN_ldmxcsr = _idaapi.NN_ldmxcsr +NN_maxps = _idaapi.NN_maxps +NN_maxss = _idaapi.NN_maxss +NN_minps = _idaapi.NN_minps +NN_minss = _idaapi.NN_minss +NN_movaps = _idaapi.NN_movaps +NN_movhlps = _idaapi.NN_movhlps +NN_movhps = _idaapi.NN_movhps +NN_movlhps = _idaapi.NN_movlhps +NN_movlps = _idaapi.NN_movlps +NN_movmskps = _idaapi.NN_movmskps +NN_movss = _idaapi.NN_movss +NN_movups = _idaapi.NN_movups +NN_mulps = _idaapi.NN_mulps +NN_mulss = _idaapi.NN_mulss +NN_orps = _idaapi.NN_orps +NN_rcpps = _idaapi.NN_rcpps +NN_rcpss = _idaapi.NN_rcpss +NN_rsqrtps = _idaapi.NN_rsqrtps +NN_rsqrtss = _idaapi.NN_rsqrtss +NN_shufps = _idaapi.NN_shufps +NN_sqrtps = _idaapi.NN_sqrtps +NN_sqrtss = _idaapi.NN_sqrtss +NN_stmxcsr = _idaapi.NN_stmxcsr +NN_subps = _idaapi.NN_subps +NN_subss = _idaapi.NN_subss +NN_ucomiss = _idaapi.NN_ucomiss +NN_unpckhps = _idaapi.NN_unpckhps +NN_unpcklps = _idaapi.NN_unpcklps +NN_xorps = _idaapi.NN_xorps +NN_pavgb = _idaapi.NN_pavgb +NN_pavgw = _idaapi.NN_pavgw +NN_pextrw = _idaapi.NN_pextrw +NN_pinsrw = _idaapi.NN_pinsrw +NN_pmaxsw = _idaapi.NN_pmaxsw +NN_pmaxub = _idaapi.NN_pmaxub +NN_pminsw = _idaapi.NN_pminsw +NN_pminub = _idaapi.NN_pminub +NN_pmovmskb = _idaapi.NN_pmovmskb +NN_pmulhuw = _idaapi.NN_pmulhuw +NN_psadbw = _idaapi.NN_psadbw +NN_pshufw = _idaapi.NN_pshufw +NN_maskmovq = _idaapi.NN_maskmovq +NN_movntps = _idaapi.NN_movntps +NN_movntq = _idaapi.NN_movntq +NN_prefetcht0 = _idaapi.NN_prefetcht0 +NN_prefetcht1 = _idaapi.NN_prefetcht1 +NN_prefetcht2 = _idaapi.NN_prefetcht2 +NN_prefetchnta = _idaapi.NN_prefetchnta +NN_sfence = _idaapi.NN_sfence +NN_cmpeqps = _idaapi.NN_cmpeqps +NN_cmpltps = _idaapi.NN_cmpltps +NN_cmpleps = _idaapi.NN_cmpleps +NN_cmpunordps = _idaapi.NN_cmpunordps +NN_cmpneqps = _idaapi.NN_cmpneqps +NN_cmpnltps = _idaapi.NN_cmpnltps +NN_cmpnleps = _idaapi.NN_cmpnleps +NN_cmpordps = _idaapi.NN_cmpordps +NN_cmpeqss = _idaapi.NN_cmpeqss +NN_cmpltss = _idaapi.NN_cmpltss +NN_cmpless = _idaapi.NN_cmpless +NN_cmpunordss = _idaapi.NN_cmpunordss +NN_cmpneqss = _idaapi.NN_cmpneqss +NN_cmpnltss = _idaapi.NN_cmpnltss +NN_cmpnless = _idaapi.NN_cmpnless +NN_cmpordss = _idaapi.NN_cmpordss +NN_pf2iw = _idaapi.NN_pf2iw +NN_pfnacc = _idaapi.NN_pfnacc +NN_pfpnacc = _idaapi.NN_pfpnacc +NN_pi2fw = _idaapi.NN_pi2fw +NN_pswapd = _idaapi.NN_pswapd +NN_fstp1 = _idaapi.NN_fstp1 +NN_fcom2 = _idaapi.NN_fcom2 +NN_fcomp3 = _idaapi.NN_fcomp3 +NN_fxch4 = _idaapi.NN_fxch4 +NN_fcomp5 = _idaapi.NN_fcomp5 +NN_ffreep = _idaapi.NN_ffreep +NN_fxch7 = _idaapi.NN_fxch7 +NN_fstp8 = _idaapi.NN_fstp8 +NN_fstp9 = _idaapi.NN_fstp9 +NN_addpd = _idaapi.NN_addpd +NN_addsd = _idaapi.NN_addsd +NN_andnpd = _idaapi.NN_andnpd +NN_andpd = _idaapi.NN_andpd +NN_clflush = _idaapi.NN_clflush +NN_cmppd = _idaapi.NN_cmppd +NN_cmpsd = _idaapi.NN_cmpsd +NN_comisd = _idaapi.NN_comisd +NN_cvtdq2pd = _idaapi.NN_cvtdq2pd +NN_cvtdq2ps = _idaapi.NN_cvtdq2ps +NN_cvtpd2dq = _idaapi.NN_cvtpd2dq +NN_cvtpd2pi = _idaapi.NN_cvtpd2pi +NN_cvtpd2ps = _idaapi.NN_cvtpd2ps +NN_cvtpi2pd = _idaapi.NN_cvtpi2pd +NN_cvtps2dq = _idaapi.NN_cvtps2dq +NN_cvtps2pd = _idaapi.NN_cvtps2pd +NN_cvtsd2si = _idaapi.NN_cvtsd2si +NN_cvtsd2ss = _idaapi.NN_cvtsd2ss +NN_cvtsi2sd = _idaapi.NN_cvtsi2sd +NN_cvtss2sd = _idaapi.NN_cvtss2sd +NN_cvttpd2dq = _idaapi.NN_cvttpd2dq +NN_cvttpd2pi = _idaapi.NN_cvttpd2pi +NN_cvttps2dq = _idaapi.NN_cvttps2dq +NN_cvttsd2si = _idaapi.NN_cvttsd2si +NN_divpd = _idaapi.NN_divpd +NN_divsd = _idaapi.NN_divsd +NN_lfence = _idaapi.NN_lfence +NN_maskmovdqu = _idaapi.NN_maskmovdqu +NN_maxpd = _idaapi.NN_maxpd +NN_maxsd = _idaapi.NN_maxsd +NN_mfence = _idaapi.NN_mfence +NN_minpd = _idaapi.NN_minpd +NN_minsd = _idaapi.NN_minsd +NN_movapd = _idaapi.NN_movapd +NN_movdq2q = _idaapi.NN_movdq2q +NN_movdqa = _idaapi.NN_movdqa +NN_movdqu = _idaapi.NN_movdqu +NN_movhpd = _idaapi.NN_movhpd +NN_movlpd = _idaapi.NN_movlpd +NN_movmskpd = _idaapi.NN_movmskpd +NN_movntdq = _idaapi.NN_movntdq +NN_movnti = _idaapi.NN_movnti +NN_movntpd = _idaapi.NN_movntpd +NN_movq2dq = _idaapi.NN_movq2dq +NN_movsd = _idaapi.NN_movsd +NN_movupd = _idaapi.NN_movupd +NN_mulpd = _idaapi.NN_mulpd +NN_mulsd = _idaapi.NN_mulsd +NN_orpd = _idaapi.NN_orpd +NN_paddq = _idaapi.NN_paddq +NN_pause = _idaapi.NN_pause +NN_pmuludq = _idaapi.NN_pmuludq +NN_pshufd = _idaapi.NN_pshufd +NN_pshufhw = _idaapi.NN_pshufhw +NN_pshuflw = _idaapi.NN_pshuflw +NN_pslldq = _idaapi.NN_pslldq +NN_psrldq = _idaapi.NN_psrldq +NN_psubq = _idaapi.NN_psubq +NN_punpckhqdq = _idaapi.NN_punpckhqdq +NN_punpcklqdq = _idaapi.NN_punpcklqdq +NN_shufpd = _idaapi.NN_shufpd +NN_sqrtpd = _idaapi.NN_sqrtpd +NN_sqrtsd = _idaapi.NN_sqrtsd +NN_subpd = _idaapi.NN_subpd +NN_subsd = _idaapi.NN_subsd +NN_ucomisd = _idaapi.NN_ucomisd +NN_unpckhpd = _idaapi.NN_unpckhpd +NN_unpcklpd = _idaapi.NN_unpcklpd +NN_xorpd = _idaapi.NN_xorpd +NN_syscall = _idaapi.NN_syscall +NN_sysret = _idaapi.NN_sysret +NN_swapgs = _idaapi.NN_swapgs +NN_movddup = _idaapi.NN_movddup +NN_movshdup = _idaapi.NN_movshdup +NN_movsldup = _idaapi.NN_movsldup +NN_movsxd = _idaapi.NN_movsxd +NN_cmpxchg16b = _idaapi.NN_cmpxchg16b +NN_addsubpd = _idaapi.NN_addsubpd +NN_addsubps = _idaapi.NN_addsubps +NN_haddpd = _idaapi.NN_haddpd +NN_haddps = _idaapi.NN_haddps +NN_hsubpd = _idaapi.NN_hsubpd +NN_hsubps = _idaapi.NN_hsubps +NN_monitor = _idaapi.NN_monitor +NN_mwait = _idaapi.NN_mwait +NN_fisttp = _idaapi.NN_fisttp +NN_lddqu = _idaapi.NN_lddqu +NN_psignb = _idaapi.NN_psignb +NN_psignw = _idaapi.NN_psignw +NN_psignd = _idaapi.NN_psignd +NN_pshufb = _idaapi.NN_pshufb +NN_pmulhrsw = _idaapi.NN_pmulhrsw +NN_pmaddubsw = _idaapi.NN_pmaddubsw +NN_phsubsw = _idaapi.NN_phsubsw +NN_phaddsw = _idaapi.NN_phaddsw +NN_phaddw = _idaapi.NN_phaddw +NN_phaddd = _idaapi.NN_phaddd +NN_phsubw = _idaapi.NN_phsubw +NN_phsubd = _idaapi.NN_phsubd +NN_palignr = _idaapi.NN_palignr +NN_pabsb = _idaapi.NN_pabsb +NN_pabsw = _idaapi.NN_pabsw +NN_pabsd = _idaapi.NN_pabsd +NN_vmcall = _idaapi.NN_vmcall +NN_vmclear = _idaapi.NN_vmclear +NN_vmlaunch = _idaapi.NN_vmlaunch +NN_vmresume = _idaapi.NN_vmresume +NN_vmptrld = _idaapi.NN_vmptrld +NN_vmptrst = _idaapi.NN_vmptrst +NN_vmread = _idaapi.NN_vmread +NN_vmwrite = _idaapi.NN_vmwrite +NN_vmxoff = _idaapi.NN_vmxoff +NN_vmxon = _idaapi.NN_vmxon +NN_ud2 = _idaapi.NN_ud2 +NN_rdtscp = _idaapi.NN_rdtscp +NN_pfrcpv = _idaapi.NN_pfrcpv +NN_pfrsqrtv = _idaapi.NN_pfrsqrtv +NN_cmpeqpd = _idaapi.NN_cmpeqpd +NN_cmpltpd = _idaapi.NN_cmpltpd +NN_cmplepd = _idaapi.NN_cmplepd +NN_cmpunordpd = _idaapi.NN_cmpunordpd +NN_cmpneqpd = _idaapi.NN_cmpneqpd +NN_cmpnltpd = _idaapi.NN_cmpnltpd +NN_cmpnlepd = _idaapi.NN_cmpnlepd +NN_cmpordpd = _idaapi.NN_cmpordpd +NN_cmpeqsd = _idaapi.NN_cmpeqsd +NN_cmpltsd = _idaapi.NN_cmpltsd +NN_cmplesd = _idaapi.NN_cmplesd +NN_cmpunordsd = _idaapi.NN_cmpunordsd +NN_cmpneqsd = _idaapi.NN_cmpneqsd +NN_cmpnltsd = _idaapi.NN_cmpnltsd +NN_cmpnlesd = _idaapi.NN_cmpnlesd +NN_cmpordsd = _idaapi.NN_cmpordsd +NN_blendpd = _idaapi.NN_blendpd +NN_blendps = _idaapi.NN_blendps +NN_blendvpd = _idaapi.NN_blendvpd +NN_blendvps = _idaapi.NN_blendvps +NN_dppd = _idaapi.NN_dppd +NN_dpps = _idaapi.NN_dpps +NN_extractps = _idaapi.NN_extractps +NN_insertps = _idaapi.NN_insertps +NN_movntdqa = _idaapi.NN_movntdqa +NN_mpsadbw = _idaapi.NN_mpsadbw +NN_packusdw = _idaapi.NN_packusdw +NN_pblendvb = _idaapi.NN_pblendvb +NN_pblendw = _idaapi.NN_pblendw +NN_pcmpeqq = _idaapi.NN_pcmpeqq +NN_pextrb = _idaapi.NN_pextrb +NN_pextrd = _idaapi.NN_pextrd +NN_pextrq = _idaapi.NN_pextrq +NN_phminposuw = _idaapi.NN_phminposuw +NN_pinsrb = _idaapi.NN_pinsrb +NN_pinsrd = _idaapi.NN_pinsrd +NN_pinsrq = _idaapi.NN_pinsrq +NN_pmaxsb = _idaapi.NN_pmaxsb +NN_pmaxsd = _idaapi.NN_pmaxsd +NN_pmaxud = _idaapi.NN_pmaxud +NN_pmaxuw = _idaapi.NN_pmaxuw +NN_pminsb = _idaapi.NN_pminsb +NN_pminsd = _idaapi.NN_pminsd +NN_pminud = _idaapi.NN_pminud +NN_pminuw = _idaapi.NN_pminuw +NN_pmovsxbw = _idaapi.NN_pmovsxbw +NN_pmovsxbd = _idaapi.NN_pmovsxbd +NN_pmovsxbq = _idaapi.NN_pmovsxbq +NN_pmovsxwd = _idaapi.NN_pmovsxwd +NN_pmovsxwq = _idaapi.NN_pmovsxwq +NN_pmovsxdq = _idaapi.NN_pmovsxdq +NN_pmovzxbw = _idaapi.NN_pmovzxbw +NN_pmovzxbd = _idaapi.NN_pmovzxbd +NN_pmovzxbq = _idaapi.NN_pmovzxbq +NN_pmovzxwd = _idaapi.NN_pmovzxwd +NN_pmovzxwq = _idaapi.NN_pmovzxwq +NN_pmovzxdq = _idaapi.NN_pmovzxdq +NN_pmuldq = _idaapi.NN_pmuldq +NN_pmulld = _idaapi.NN_pmulld +NN_ptest = _idaapi.NN_ptest +NN_roundpd = _idaapi.NN_roundpd +NN_roundps = _idaapi.NN_roundps +NN_roundsd = _idaapi.NN_roundsd +NN_roundss = _idaapi.NN_roundss +NN_crc32 = _idaapi.NN_crc32 +NN_pcmpestri = _idaapi.NN_pcmpestri +NN_pcmpestrm = _idaapi.NN_pcmpestrm +NN_pcmpistri = _idaapi.NN_pcmpistri +NN_pcmpistrm = _idaapi.NN_pcmpistrm +NN_pcmpgtq = _idaapi.NN_pcmpgtq +NN_popcnt = _idaapi.NN_popcnt +NN_extrq = _idaapi.NN_extrq +NN_insertq = _idaapi.NN_insertq +NN_movntsd = _idaapi.NN_movntsd +NN_movntss = _idaapi.NN_movntss +NN_lzcnt = _idaapi.NN_lzcnt +NN_xgetbv = _idaapi.NN_xgetbv +NN_xrstor = _idaapi.NN_xrstor +NN_xsave = _idaapi.NN_xsave +NN_xsetbv = _idaapi.NN_xsetbv +NN_getsec = _idaapi.NN_getsec +NN_clgi = _idaapi.NN_clgi +NN_invlpga = _idaapi.NN_invlpga +NN_skinit = _idaapi.NN_skinit +NN_stgi = _idaapi.NN_stgi +NN_vmexit = _idaapi.NN_vmexit +NN_vmload = _idaapi.NN_vmload +NN_vmmcall = _idaapi.NN_vmmcall +NN_vmrun = _idaapi.NN_vmrun +NN_vmsave = _idaapi.NN_vmsave +NN_invept = _idaapi.NN_invept +NN_invvpid = _idaapi.NN_invvpid +NN_movbe = _idaapi.NN_movbe +NN_aesenc = _idaapi.NN_aesenc +NN_aesenclast = _idaapi.NN_aesenclast +NN_aesdec = _idaapi.NN_aesdec +NN_aesdeclast = _idaapi.NN_aesdeclast +NN_aesimc = _idaapi.NN_aesimc +NN_aeskeygenassist = _idaapi.NN_aeskeygenassist +NN_pclmulqdq = _idaapi.NN_pclmulqdq +NN_retnw = _idaapi.NN_retnw +NN_retnd = _idaapi.NN_retnd +NN_retnq = _idaapi.NN_retnq +NN_retfw = _idaapi.NN_retfw +NN_retfd = _idaapi.NN_retfd +NN_retfq = _idaapi.NN_retfq +NN_rdrand = _idaapi.NN_rdrand +NN_adcx = _idaapi.NN_adcx +NN_adox = _idaapi.NN_adox +NN_andn = _idaapi.NN_andn +NN_bextr = _idaapi.NN_bextr +NN_blsi = _idaapi.NN_blsi +NN_blsmsk = _idaapi.NN_blsmsk +NN_blsr = _idaapi.NN_blsr +NN_bzhi = _idaapi.NN_bzhi +NN_clac = _idaapi.NN_clac +NN_mulx = _idaapi.NN_mulx +NN_pdep = _idaapi.NN_pdep +NN_pext = _idaapi.NN_pext +NN_rorx = _idaapi.NN_rorx +NN_sarx = _idaapi.NN_sarx +NN_shlx = _idaapi.NN_shlx +NN_shrx = _idaapi.NN_shrx +NN_stac = _idaapi.NN_stac +NN_tzcnt = _idaapi.NN_tzcnt +NN_xsaveopt = _idaapi.NN_xsaveopt +NN_invpcid = _idaapi.NN_invpcid +NN_rdseed = _idaapi.NN_rdseed +NN_rdfsbase = _idaapi.NN_rdfsbase +NN_rdgsbase = _idaapi.NN_rdgsbase +NN_wrfsbase = _idaapi.NN_wrfsbase +NN_wrgsbase = _idaapi.NN_wrgsbase +NN_vaddpd = _idaapi.NN_vaddpd +NN_vaddps = _idaapi.NN_vaddps +NN_vaddsd = _idaapi.NN_vaddsd +NN_vaddss = _idaapi.NN_vaddss +NN_vaddsubpd = _idaapi.NN_vaddsubpd +NN_vaddsubps = _idaapi.NN_vaddsubps +NN_vaesdec = _idaapi.NN_vaesdec +NN_vaesdeclast = _idaapi.NN_vaesdeclast +NN_vaesenc = _idaapi.NN_vaesenc +NN_vaesenclast = _idaapi.NN_vaesenclast +NN_vaesimc = _idaapi.NN_vaesimc +NN_vaeskeygenassist = _idaapi.NN_vaeskeygenassist +NN_vandnpd = _idaapi.NN_vandnpd +NN_vandnps = _idaapi.NN_vandnps +NN_vandpd = _idaapi.NN_vandpd +NN_vandps = _idaapi.NN_vandps +NN_vblendpd = _idaapi.NN_vblendpd +NN_vblendps = _idaapi.NN_vblendps +NN_vblendvpd = _idaapi.NN_vblendvpd +NN_vblendvps = _idaapi.NN_vblendvps +NN_vbroadcastf128 = _idaapi.NN_vbroadcastf128 +NN_vbroadcasti128 = _idaapi.NN_vbroadcasti128 +NN_vbroadcastsd = _idaapi.NN_vbroadcastsd +NN_vbroadcastss = _idaapi.NN_vbroadcastss +NN_vcmppd = _idaapi.NN_vcmppd +NN_vcmpps = _idaapi.NN_vcmpps +NN_vcmpsd = _idaapi.NN_vcmpsd +NN_vcmpss = _idaapi.NN_vcmpss +NN_vcomisd = _idaapi.NN_vcomisd +NN_vcomiss = _idaapi.NN_vcomiss +NN_vcvtdq2pd = _idaapi.NN_vcvtdq2pd +NN_vcvtdq2ps = _idaapi.NN_vcvtdq2ps +NN_vcvtpd2dq = _idaapi.NN_vcvtpd2dq +NN_vcvtpd2ps = _idaapi.NN_vcvtpd2ps +NN_vcvtph2ps = _idaapi.NN_vcvtph2ps +NN_vcvtps2dq = _idaapi.NN_vcvtps2dq +NN_vcvtps2pd = _idaapi.NN_vcvtps2pd +NN_vcvtps2ph = _idaapi.NN_vcvtps2ph +NN_vcvtsd2si = _idaapi.NN_vcvtsd2si +NN_vcvtsd2ss = _idaapi.NN_vcvtsd2ss +NN_vcvtsi2sd = _idaapi.NN_vcvtsi2sd +NN_vcvtsi2ss = _idaapi.NN_vcvtsi2ss +NN_vcvtss2sd = _idaapi.NN_vcvtss2sd +NN_vcvtss2si = _idaapi.NN_vcvtss2si +NN_vcvttpd2dq = _idaapi.NN_vcvttpd2dq +NN_vcvttps2dq = _idaapi.NN_vcvttps2dq +NN_vcvttsd2si = _idaapi.NN_vcvttsd2si +NN_vcvttss2si = _idaapi.NN_vcvttss2si +NN_vdivpd = _idaapi.NN_vdivpd +NN_vdivps = _idaapi.NN_vdivps +NN_vdivsd = _idaapi.NN_vdivsd +NN_vdivss = _idaapi.NN_vdivss +NN_vdppd = _idaapi.NN_vdppd +NN_vdpps = _idaapi.NN_vdpps +NN_vextractf128 = _idaapi.NN_vextractf128 +NN_vextracti128 = _idaapi.NN_vextracti128 +NN_vextractps = _idaapi.NN_vextractps +NN_vfmadd132pd = _idaapi.NN_vfmadd132pd +NN_vfmadd132ps = _idaapi.NN_vfmadd132ps +NN_vfmadd132sd = _idaapi.NN_vfmadd132sd +NN_vfmadd132ss = _idaapi.NN_vfmadd132ss +NN_vfmadd213pd = _idaapi.NN_vfmadd213pd +NN_vfmadd213ps = _idaapi.NN_vfmadd213ps +NN_vfmadd213sd = _idaapi.NN_vfmadd213sd +NN_vfmadd213ss = _idaapi.NN_vfmadd213ss +NN_vfmadd231pd = _idaapi.NN_vfmadd231pd +NN_vfmadd231ps = _idaapi.NN_vfmadd231ps +NN_vfmadd231sd = _idaapi.NN_vfmadd231sd +NN_vfmadd231ss = _idaapi.NN_vfmadd231ss +NN_vfmaddsub132pd = _idaapi.NN_vfmaddsub132pd +NN_vfmaddsub132ps = _idaapi.NN_vfmaddsub132ps +NN_vfmaddsub213pd = _idaapi.NN_vfmaddsub213pd +NN_vfmaddsub213ps = _idaapi.NN_vfmaddsub213ps +NN_vfmaddsub231pd = _idaapi.NN_vfmaddsub231pd +NN_vfmaddsub231ps = _idaapi.NN_vfmaddsub231ps +NN_vfmsub132pd = _idaapi.NN_vfmsub132pd +NN_vfmsub132ps = _idaapi.NN_vfmsub132ps +NN_vfmsub132sd = _idaapi.NN_vfmsub132sd +NN_vfmsub132ss = _idaapi.NN_vfmsub132ss +NN_vfmsub213pd = _idaapi.NN_vfmsub213pd +NN_vfmsub213ps = _idaapi.NN_vfmsub213ps +NN_vfmsub213sd = _idaapi.NN_vfmsub213sd +NN_vfmsub213ss = _idaapi.NN_vfmsub213ss +NN_vfmsub231pd = _idaapi.NN_vfmsub231pd +NN_vfmsub231ps = _idaapi.NN_vfmsub231ps +NN_vfmsub231sd = _idaapi.NN_vfmsub231sd +NN_vfmsub231ss = _idaapi.NN_vfmsub231ss +NN_vfmsubadd132pd = _idaapi.NN_vfmsubadd132pd +NN_vfmsubadd132ps = _idaapi.NN_vfmsubadd132ps +NN_vfmsubadd213pd = _idaapi.NN_vfmsubadd213pd +NN_vfmsubadd213ps = _idaapi.NN_vfmsubadd213ps +NN_vfmsubadd231pd = _idaapi.NN_vfmsubadd231pd +NN_vfmsubadd231ps = _idaapi.NN_vfmsubadd231ps +NN_vfnmadd132pd = _idaapi.NN_vfnmadd132pd +NN_vfnmadd132ps = _idaapi.NN_vfnmadd132ps +NN_vfnmadd132sd = _idaapi.NN_vfnmadd132sd +NN_vfnmadd132ss = _idaapi.NN_vfnmadd132ss +NN_vfnmadd213pd = _idaapi.NN_vfnmadd213pd +NN_vfnmadd213ps = _idaapi.NN_vfnmadd213ps +NN_vfnmadd213sd = _idaapi.NN_vfnmadd213sd +NN_vfnmadd213ss = _idaapi.NN_vfnmadd213ss +NN_vfnmadd231pd = _idaapi.NN_vfnmadd231pd +NN_vfnmadd231ps = _idaapi.NN_vfnmadd231ps +NN_vfnmadd231sd = _idaapi.NN_vfnmadd231sd +NN_vfnmadd231ss = _idaapi.NN_vfnmadd231ss +NN_vfnmsub132pd = _idaapi.NN_vfnmsub132pd +NN_vfnmsub132ps = _idaapi.NN_vfnmsub132ps +NN_vfnmsub132sd = _idaapi.NN_vfnmsub132sd +NN_vfnmsub132ss = _idaapi.NN_vfnmsub132ss +NN_vfnmsub213pd = _idaapi.NN_vfnmsub213pd +NN_vfnmsub213ps = _idaapi.NN_vfnmsub213ps +NN_vfnmsub213sd = _idaapi.NN_vfnmsub213sd +NN_vfnmsub213ss = _idaapi.NN_vfnmsub213ss +NN_vfnmsub231pd = _idaapi.NN_vfnmsub231pd +NN_vfnmsub231ps = _idaapi.NN_vfnmsub231ps +NN_vfnmsub231sd = _idaapi.NN_vfnmsub231sd +NN_vfnmsub231ss = _idaapi.NN_vfnmsub231ss +NN_vgatherdps = _idaapi.NN_vgatherdps +NN_vgatherdpd = _idaapi.NN_vgatherdpd +NN_vgatherqps = _idaapi.NN_vgatherqps +NN_vgatherqpd = _idaapi.NN_vgatherqpd +NN_vhaddpd = _idaapi.NN_vhaddpd +NN_vhaddps = _idaapi.NN_vhaddps +NN_vhsubpd = _idaapi.NN_vhsubpd +NN_vhsubps = _idaapi.NN_vhsubps +NN_vinsertf128 = _idaapi.NN_vinsertf128 +NN_vinserti128 = _idaapi.NN_vinserti128 +NN_vinsertps = _idaapi.NN_vinsertps +NN_vlddqu = _idaapi.NN_vlddqu +NN_vldmxcsr = _idaapi.NN_vldmxcsr +NN_vmaskmovdqu = _idaapi.NN_vmaskmovdqu +NN_vmaskmovpd = _idaapi.NN_vmaskmovpd +NN_vmaskmovps = _idaapi.NN_vmaskmovps +NN_vmaxpd = _idaapi.NN_vmaxpd +NN_vmaxps = _idaapi.NN_vmaxps +NN_vmaxsd = _idaapi.NN_vmaxsd +NN_vmaxss = _idaapi.NN_vmaxss +NN_vminpd = _idaapi.NN_vminpd +NN_vminps = _idaapi.NN_vminps +NN_vminsd = _idaapi.NN_vminsd +NN_vminss = _idaapi.NN_vminss +NN_vmovapd = _idaapi.NN_vmovapd +NN_vmovaps = _idaapi.NN_vmovaps +NN_vmovd = _idaapi.NN_vmovd +NN_vmovddup = _idaapi.NN_vmovddup +NN_vmovdqa = _idaapi.NN_vmovdqa +NN_vmovdqu = _idaapi.NN_vmovdqu +NN_vmovhlps = _idaapi.NN_vmovhlps +NN_vmovhpd = _idaapi.NN_vmovhpd +NN_vmovhps = _idaapi.NN_vmovhps +NN_vmovlhps = _idaapi.NN_vmovlhps +NN_vmovlpd = _idaapi.NN_vmovlpd +NN_vmovlps = _idaapi.NN_vmovlps +NN_vmovmskpd = _idaapi.NN_vmovmskpd +NN_vmovmskps = _idaapi.NN_vmovmskps +NN_vmovntdq = _idaapi.NN_vmovntdq +NN_vmovntdqa = _idaapi.NN_vmovntdqa +NN_vmovntpd = _idaapi.NN_vmovntpd +NN_vmovntps = _idaapi.NN_vmovntps +NN_vmovntsd = _idaapi.NN_vmovntsd +NN_vmovntss = _idaapi.NN_vmovntss +NN_vmovq = _idaapi.NN_vmovq +NN_vmovsd = _idaapi.NN_vmovsd +NN_vmovshdup = _idaapi.NN_vmovshdup +NN_vmovsldup = _idaapi.NN_vmovsldup +NN_vmovss = _idaapi.NN_vmovss +NN_vmovupd = _idaapi.NN_vmovupd +NN_vmovups = _idaapi.NN_vmovups +NN_vmpsadbw = _idaapi.NN_vmpsadbw +NN_vmulpd = _idaapi.NN_vmulpd +NN_vmulps = _idaapi.NN_vmulps +NN_vmulsd = _idaapi.NN_vmulsd +NN_vmulss = _idaapi.NN_vmulss +NN_vorpd = _idaapi.NN_vorpd +NN_vorps = _idaapi.NN_vorps +NN_vpabsb = _idaapi.NN_vpabsb +NN_vpabsd = _idaapi.NN_vpabsd +NN_vpabsw = _idaapi.NN_vpabsw +NN_vpackssdw = _idaapi.NN_vpackssdw +NN_vpacksswb = _idaapi.NN_vpacksswb +NN_vpackusdw = _idaapi.NN_vpackusdw +NN_vpackuswb = _idaapi.NN_vpackuswb +NN_vpaddb = _idaapi.NN_vpaddb +NN_vpaddd = _idaapi.NN_vpaddd +NN_vpaddq = _idaapi.NN_vpaddq +NN_vpaddsb = _idaapi.NN_vpaddsb +NN_vpaddsw = _idaapi.NN_vpaddsw +NN_vpaddusb = _idaapi.NN_vpaddusb +NN_vpaddusw = _idaapi.NN_vpaddusw +NN_vpaddw = _idaapi.NN_vpaddw +NN_vpalignr = _idaapi.NN_vpalignr +NN_vpand = _idaapi.NN_vpand +NN_vpandn = _idaapi.NN_vpandn +NN_vpavgb = _idaapi.NN_vpavgb +NN_vpavgw = _idaapi.NN_vpavgw +NN_vpblendd = _idaapi.NN_vpblendd +NN_vpblendvb = _idaapi.NN_vpblendvb +NN_vpblendw = _idaapi.NN_vpblendw +NN_vpbroadcastb = _idaapi.NN_vpbroadcastb +NN_vpbroadcastd = _idaapi.NN_vpbroadcastd +NN_vpbroadcastq = _idaapi.NN_vpbroadcastq +NN_vpbroadcastw = _idaapi.NN_vpbroadcastw +NN_vpclmulqdq = _idaapi.NN_vpclmulqdq +NN_vpcmpeqb = _idaapi.NN_vpcmpeqb +NN_vpcmpeqd = _idaapi.NN_vpcmpeqd +NN_vpcmpeqq = _idaapi.NN_vpcmpeqq +NN_vpcmpeqw = _idaapi.NN_vpcmpeqw +NN_vpcmpestri = _idaapi.NN_vpcmpestri +NN_vpcmpestrm = _idaapi.NN_vpcmpestrm +NN_vpcmpgtb = _idaapi.NN_vpcmpgtb +NN_vpcmpgtd = _idaapi.NN_vpcmpgtd +NN_vpcmpgtq = _idaapi.NN_vpcmpgtq +NN_vpcmpgtw = _idaapi.NN_vpcmpgtw +NN_vpcmpistri = _idaapi.NN_vpcmpistri +NN_vpcmpistrm = _idaapi.NN_vpcmpistrm +NN_vperm2f128 = _idaapi.NN_vperm2f128 +NN_vperm2i128 = _idaapi.NN_vperm2i128 +NN_vpermd = _idaapi.NN_vpermd +NN_vpermilpd = _idaapi.NN_vpermilpd +NN_vpermilps = _idaapi.NN_vpermilps +NN_vpermpd = _idaapi.NN_vpermpd +NN_vpermps = _idaapi.NN_vpermps +NN_vpermq = _idaapi.NN_vpermq +NN_vpextrb = _idaapi.NN_vpextrb +NN_vpextrd = _idaapi.NN_vpextrd +NN_vpextrq = _idaapi.NN_vpextrq +NN_vpextrw = _idaapi.NN_vpextrw +NN_vpgatherdd = _idaapi.NN_vpgatherdd +NN_vpgatherdq = _idaapi.NN_vpgatherdq +NN_vpgatherqd = _idaapi.NN_vpgatherqd +NN_vpgatherqq = _idaapi.NN_vpgatherqq +NN_vphaddd = _idaapi.NN_vphaddd +NN_vphaddsw = _idaapi.NN_vphaddsw +NN_vphaddw = _idaapi.NN_vphaddw +NN_vphminposuw = _idaapi.NN_vphminposuw +NN_vphsubd = _idaapi.NN_vphsubd +NN_vphsubsw = _idaapi.NN_vphsubsw +NN_vphsubw = _idaapi.NN_vphsubw +NN_vpinsrb = _idaapi.NN_vpinsrb +NN_vpinsrd = _idaapi.NN_vpinsrd +NN_vpinsrq = _idaapi.NN_vpinsrq +NN_vpinsrw = _idaapi.NN_vpinsrw +NN_vpmaddubsw = _idaapi.NN_vpmaddubsw +NN_vpmaddwd = _idaapi.NN_vpmaddwd +NN_vpmaskmovd = _idaapi.NN_vpmaskmovd +NN_vpmaskmovq = _idaapi.NN_vpmaskmovq +NN_vpmaxsb = _idaapi.NN_vpmaxsb +NN_vpmaxsd = _idaapi.NN_vpmaxsd +NN_vpmaxsw = _idaapi.NN_vpmaxsw +NN_vpmaxub = _idaapi.NN_vpmaxub +NN_vpmaxud = _idaapi.NN_vpmaxud +NN_vpmaxuw = _idaapi.NN_vpmaxuw +NN_vpminsb = _idaapi.NN_vpminsb +NN_vpminsd = _idaapi.NN_vpminsd +NN_vpminsw = _idaapi.NN_vpminsw +NN_vpminub = _idaapi.NN_vpminub +NN_vpminud = _idaapi.NN_vpminud +NN_vpminuw = _idaapi.NN_vpminuw +NN_vpmovmskb = _idaapi.NN_vpmovmskb +NN_vpmovsxbd = _idaapi.NN_vpmovsxbd +NN_vpmovsxbq = _idaapi.NN_vpmovsxbq +NN_vpmovsxbw = _idaapi.NN_vpmovsxbw +NN_vpmovsxdq = _idaapi.NN_vpmovsxdq +NN_vpmovsxwd = _idaapi.NN_vpmovsxwd +NN_vpmovsxwq = _idaapi.NN_vpmovsxwq +NN_vpmovzxbd = _idaapi.NN_vpmovzxbd +NN_vpmovzxbq = _idaapi.NN_vpmovzxbq +NN_vpmovzxbw = _idaapi.NN_vpmovzxbw +NN_vpmovzxdq = _idaapi.NN_vpmovzxdq +NN_vpmovzxwd = _idaapi.NN_vpmovzxwd +NN_vpmovzxwq = _idaapi.NN_vpmovzxwq +NN_vpmuldq = _idaapi.NN_vpmuldq +NN_vpmulhrsw = _idaapi.NN_vpmulhrsw +NN_vpmulhuw = _idaapi.NN_vpmulhuw +NN_vpmulhw = _idaapi.NN_vpmulhw +NN_vpmulld = _idaapi.NN_vpmulld +NN_vpmullw = _idaapi.NN_vpmullw +NN_vpmuludq = _idaapi.NN_vpmuludq +NN_vpor = _idaapi.NN_vpor +NN_vpsadbw = _idaapi.NN_vpsadbw +NN_vpshufb = _idaapi.NN_vpshufb +NN_vpshufd = _idaapi.NN_vpshufd +NN_vpshufhw = _idaapi.NN_vpshufhw +NN_vpshuflw = _idaapi.NN_vpshuflw +NN_vpsignb = _idaapi.NN_vpsignb +NN_vpsignd = _idaapi.NN_vpsignd +NN_vpsignw = _idaapi.NN_vpsignw +NN_vpslld = _idaapi.NN_vpslld +NN_vpslldq = _idaapi.NN_vpslldq +NN_vpsllq = _idaapi.NN_vpsllq +NN_vpsllvd = _idaapi.NN_vpsllvd +NN_vpsllvq = _idaapi.NN_vpsllvq +NN_vpsllw = _idaapi.NN_vpsllw +NN_vpsrad = _idaapi.NN_vpsrad +NN_vpsravd = _idaapi.NN_vpsravd +NN_vpsraw = _idaapi.NN_vpsraw +NN_vpsrld = _idaapi.NN_vpsrld +NN_vpsrldq = _idaapi.NN_vpsrldq +NN_vpsrlq = _idaapi.NN_vpsrlq +NN_vpsrlvd = _idaapi.NN_vpsrlvd +NN_vpsrlvq = _idaapi.NN_vpsrlvq +NN_vpsrlw = _idaapi.NN_vpsrlw +NN_vpsubb = _idaapi.NN_vpsubb +NN_vpsubd = _idaapi.NN_vpsubd +NN_vpsubq = _idaapi.NN_vpsubq +NN_vpsubsb = _idaapi.NN_vpsubsb +NN_vpsubsw = _idaapi.NN_vpsubsw +NN_vpsubusb = _idaapi.NN_vpsubusb +NN_vpsubusw = _idaapi.NN_vpsubusw +NN_vpsubw = _idaapi.NN_vpsubw +NN_vptest = _idaapi.NN_vptest +NN_vpunpckhbw = _idaapi.NN_vpunpckhbw +NN_vpunpckhdq = _idaapi.NN_vpunpckhdq +NN_vpunpckhqdq = _idaapi.NN_vpunpckhqdq +NN_vpunpckhwd = _idaapi.NN_vpunpckhwd +NN_vpunpcklbw = _idaapi.NN_vpunpcklbw +NN_vpunpckldq = _idaapi.NN_vpunpckldq +NN_vpunpcklqdq = _idaapi.NN_vpunpcklqdq +NN_vpunpcklwd = _idaapi.NN_vpunpcklwd +NN_vpxor = _idaapi.NN_vpxor +NN_vrcpps = _idaapi.NN_vrcpps +NN_vrcpss = _idaapi.NN_vrcpss +NN_vroundpd = _idaapi.NN_vroundpd +NN_vroundps = _idaapi.NN_vroundps +NN_vroundsd = _idaapi.NN_vroundsd +NN_vroundss = _idaapi.NN_vroundss +NN_vrsqrtps = _idaapi.NN_vrsqrtps +NN_vrsqrtss = _idaapi.NN_vrsqrtss +NN_vshufpd = _idaapi.NN_vshufpd +NN_vshufps = _idaapi.NN_vshufps +NN_vsqrtpd = _idaapi.NN_vsqrtpd +NN_vsqrtps = _idaapi.NN_vsqrtps +NN_vsqrtsd = _idaapi.NN_vsqrtsd +NN_vsqrtss = _idaapi.NN_vsqrtss +NN_vstmxcsr = _idaapi.NN_vstmxcsr +NN_vsubpd = _idaapi.NN_vsubpd +NN_vsubps = _idaapi.NN_vsubps +NN_vsubsd = _idaapi.NN_vsubsd +NN_vsubss = _idaapi.NN_vsubss +NN_vtestpd = _idaapi.NN_vtestpd +NN_vtestps = _idaapi.NN_vtestps +NN_vucomisd = _idaapi.NN_vucomisd +NN_vucomiss = _idaapi.NN_vucomiss +NN_vunpckhpd = _idaapi.NN_vunpckhpd +NN_vunpckhps = _idaapi.NN_vunpckhps +NN_vunpcklpd = _idaapi.NN_vunpcklpd +NN_vunpcklps = _idaapi.NN_vunpcklps +NN_vxorpd = _idaapi.NN_vxorpd +NN_vxorps = _idaapi.NN_vxorps +NN_vzeroall = _idaapi.NN_vzeroall +NN_vzeroupper = _idaapi.NN_vzeroupper +NN_xabort = _idaapi.NN_xabort +NN_xbegin = _idaapi.NN_xbegin +NN_xend = _idaapi.NN_xend +NN_xtest = _idaapi.NN_xtest +NN_vmgetinfo = _idaapi.NN_vmgetinfo +NN_vmsetinfo = _idaapi.NN_vmsetinfo +NN_vmdxdsbl = _idaapi.NN_vmdxdsbl +NN_vmdxenbl = _idaapi.NN_vmdxenbl +NN_vmcpuid = _idaapi.NN_vmcpuid +NN_vmhlt = _idaapi.NN_vmhlt +NN_vmsplaf = _idaapi.NN_vmsplaf +NN_vmpushfd = _idaapi.NN_vmpushfd +NN_vmpopfd = _idaapi.NN_vmpopfd +NN_vmcli = _idaapi.NN_vmcli +NN_vmsti = _idaapi.NN_vmsti +NN_vmiretd = _idaapi.NN_vmiretd +NN_vmsgdt = _idaapi.NN_vmsgdt +NN_vmsidt = _idaapi.NN_vmsidt +NN_vmsldt = _idaapi.NN_vmsldt +NN_vmstr = _idaapi.NN_vmstr +NN_vmsdte = _idaapi.NN_vmsdte +NN_vpcext = _idaapi.NN_vpcext +NN_vfmaddsubps = _idaapi.NN_vfmaddsubps +NN_vfmaddsubpd = _idaapi.NN_vfmaddsubpd +NN_vfmsubaddps = _idaapi.NN_vfmsubaddps +NN_vfmsubaddpd = _idaapi.NN_vfmsubaddpd +NN_vfmaddps = _idaapi.NN_vfmaddps +NN_vfmaddpd = _idaapi.NN_vfmaddpd +NN_vfmaddss = _idaapi.NN_vfmaddss +NN_vfmaddsd = _idaapi.NN_vfmaddsd +NN_vfmsubps = _idaapi.NN_vfmsubps +NN_vfmsubpd = _idaapi.NN_vfmsubpd +NN_vfmsubss = _idaapi.NN_vfmsubss +NN_vfmsubsd = _idaapi.NN_vfmsubsd +NN_vfnmaddps = _idaapi.NN_vfnmaddps +NN_vfnmaddpd = _idaapi.NN_vfnmaddpd +NN_vfnmaddss = _idaapi.NN_vfnmaddss +NN_vfnmaddsd = _idaapi.NN_vfnmaddsd +NN_vfnmsubps = _idaapi.NN_vfnmsubps +NN_vfnmsubpd = _idaapi.NN_vfnmsubpd +NN_vfnmsubss = _idaapi.NN_vfnmsubss +NN_vfnmsubsd = _idaapi.NN_vfnmsubsd +NN_last = _idaapi.NN_last +I5_null = _idaapi.I5_null +I5_aci = _idaapi.I5_aci +I5_adc = _idaapi.I5_adc +Z80_adc = _idaapi.Z80_adc +I5_add = _idaapi.I5_add +Z80_add = _idaapi.Z80_add +I5_adi = _idaapi.I5_adi +I5_ana = _idaapi.I5_ana +I5_ani = _idaapi.I5_ani +I5_call = _idaapi.I5_call +I5_cnz = _idaapi.I5_cnz +I5_cz = _idaapi.I5_cz +I5_cnc = _idaapi.I5_cnc +I5_cc = _idaapi.I5_cc +I5_cpo = _idaapi.I5_cpo +I5_cpe = _idaapi.I5_cpe +I5_cp = _idaapi.I5_cp +I5_cm = _idaapi.I5_cm +I5_cmc = _idaapi.I5_cmc +I5_cmp = _idaapi.I5_cmp +I5_cpi = _idaapi.I5_cpi +I5_cma = _idaapi.I5_cma +I5_daa = _idaapi.I5_daa +I5_dad = _idaapi.I5_dad +I5_dcr = _idaapi.I5_dcr +I5_dcx = _idaapi.I5_dcx +I5_di = _idaapi.I5_di +Z80_di = _idaapi.Z80_di +I5_ei = _idaapi.I5_ei +Z80_ei = _idaapi.Z80_ei +I5_halt = _idaapi.I5_halt +I5_in = _idaapi.I5_in +Z80_in = _idaapi.Z80_in +I5_inr = _idaapi.I5_inr +I5_inx = _idaapi.I5_inx +I5_jmp = _idaapi.I5_jmp +I5_jnz = _idaapi.I5_jnz +I5_jz = _idaapi.I5_jz +I5_jnc = _idaapi.I5_jnc +I5_jc = _idaapi.I5_jc +I5_jpo = _idaapi.I5_jpo +I5_jpe = _idaapi.I5_jpe +I5_jp = _idaapi.I5_jp +I5_jm = _idaapi.I5_jm +I5_lda = _idaapi.I5_lda +I5_ldax = _idaapi.I5_ldax +I5_lhld = _idaapi.I5_lhld +I5_lxi = _idaapi.I5_lxi +I5_mov = _idaapi.I5_mov +I5_mvi = _idaapi.I5_mvi +I5_nop = _idaapi.I5_nop +I5_ora = _idaapi.I5_ora +I5_ori = _idaapi.I5_ori +I5_out = _idaapi.I5_out +Z80_out = _idaapi.Z80_out +I5_pchl = _idaapi.I5_pchl +I5_pop = _idaapi.I5_pop +Z80_pop = _idaapi.Z80_pop +I5_push = _idaapi.I5_push +Z80_push = _idaapi.Z80_push +I5_ret = _idaapi.I5_ret +I5_rnz = _idaapi.I5_rnz +I5_rz = _idaapi.I5_rz +I5_rnc = _idaapi.I5_rnc +I5_rc = _idaapi.I5_rc +I5_rpo = _idaapi.I5_rpo +I5_rpe = _idaapi.I5_rpe +I5_rp = _idaapi.I5_rp +I5_rm = _idaapi.I5_rm +I5_ral = _idaapi.I5_ral +I5_rlc = _idaapi.I5_rlc +I5_rar = _idaapi.I5_rar +I5_rrc = _idaapi.I5_rrc +I5_rst = _idaapi.I5_rst +I5_sbb = _idaapi.I5_sbb +I5_sbi = _idaapi.I5_sbi +I5_stc = _idaapi.I5_stc +I5_sphl = _idaapi.I5_sphl +I5_sta = _idaapi.I5_sta +I5_stax = _idaapi.I5_stax +I5_shld = _idaapi.I5_shld +I5_sui = _idaapi.I5_sui +I5_sub = _idaapi.I5_sub +Z80_sub = _idaapi.Z80_sub +I5_xra = _idaapi.I5_xra +I5_xri = _idaapi.I5_xri +I5_xchg = _idaapi.I5_xchg +I5_xthl = _idaapi.I5_xthl +I5_rim = _idaapi.I5_rim +I5_sim = _idaapi.I5_sim +Z80_and = _idaapi.Z80_and +Z80_bit = _idaapi.Z80_bit +Z80_call = _idaapi.Z80_call +Z80_ccf = _idaapi.Z80_ccf +Z80_cp = _idaapi.Z80_cp +Z80_cpd = _idaapi.Z80_cpd +Z80_cpdr = _idaapi.Z80_cpdr +Z80_cpi = _idaapi.Z80_cpi +Z80_cpir = _idaapi.Z80_cpir +Z80_cpl = _idaapi.Z80_cpl +Z80_dec = _idaapi.Z80_dec +Z80_djnz = _idaapi.Z80_djnz +Z80_ex = _idaapi.Z80_ex +Z80_exx = _idaapi.Z80_exx +Z80_halt = _idaapi.Z80_halt +Z80_im = _idaapi.Z80_im +Z80_inc = _idaapi.Z80_inc +Z80_ind = _idaapi.Z80_ind +Z80_indr = _idaapi.Z80_indr +Z80_ini = _idaapi.Z80_ini +Z80_inir = _idaapi.Z80_inir +Z80_jp = _idaapi.Z80_jp +Z80_jr = _idaapi.Z80_jr +Z80_ld = _idaapi.Z80_ld +Z80_ldd = _idaapi.Z80_ldd +Z80_lddr = _idaapi.Z80_lddr +Z80_ldi = _idaapi.Z80_ldi +Z80_ldir = _idaapi.Z80_ldir +Z80_neg = _idaapi.Z80_neg +Z80_or = _idaapi.Z80_or +Z80_otdr = _idaapi.Z80_otdr +Z80_otir = _idaapi.Z80_otir +Z80_outd = _idaapi.Z80_outd +Z80_outi = _idaapi.Z80_outi +Z80_res = _idaapi.Z80_res +Z80_ret = _idaapi.Z80_ret +Z80_reti = _idaapi.Z80_reti +Z80_retn = _idaapi.Z80_retn +Z80_rl = _idaapi.Z80_rl +Z80_rla = _idaapi.Z80_rla +Z80_rlc = _idaapi.Z80_rlc +Z80_rlca = _idaapi.Z80_rlca +Z80_rld = _idaapi.Z80_rld +Z80_rr = _idaapi.Z80_rr +Z80_rra = _idaapi.Z80_rra +Z80_rrc = _idaapi.Z80_rrc +Z80_rrca = _idaapi.Z80_rrca +Z80_rrd = _idaapi.Z80_rrd +Z80_scf = _idaapi.Z80_scf +Z80_sbc = _idaapi.Z80_sbc +Z80_set = _idaapi.Z80_set +Z80_sla = _idaapi.Z80_sla +Z80_sra = _idaapi.Z80_sra +Z80_srl = _idaapi.Z80_srl +Z80_xor = _idaapi.Z80_xor +Z80_inp = _idaapi.Z80_inp +Z80_outp = _idaapi.Z80_outp +Z80_srr = _idaapi.Z80_srr +HD_in0 = _idaapi.HD_in0 +Z80_in0 = _idaapi.Z80_in0 +HD_mlt = _idaapi.HD_mlt +Z80_mlt = _idaapi.Z80_mlt +HD_otim = _idaapi.HD_otim +Z80_otim = _idaapi.Z80_otim +HD_otimr = _idaapi.HD_otimr +Z80_otimr = _idaapi.Z80_otimr +HD_otdm = _idaapi.HD_otdm +Z80_otdm = _idaapi.Z80_otdm +HD_otdmr = _idaapi.HD_otdmr +Z80_otdmr = _idaapi.Z80_otdmr +HD_out0 = _idaapi.HD_out0 +Z80_out0 = _idaapi.Z80_out0 +HD_slp = _idaapi.HD_slp +Z80_slp = _idaapi.Z80_slp +HD_tst = _idaapi.HD_tst +Z80_tst = _idaapi.Z80_tst +HD_tstio = _idaapi.HD_tstio +Z80_tstio = _idaapi.Z80_tstio +A80_lbcd = _idaapi.A80_lbcd +A80_lded = _idaapi.A80_lded +A80_lspd = _idaapi.A80_lspd +A80_lixd = _idaapi.A80_lixd +A80_liyd = _idaapi.A80_liyd +A80_sbcd = _idaapi.A80_sbcd +A80_sded = _idaapi.A80_sded +A80_sspd = _idaapi.A80_sspd +A80_sixd = _idaapi.A80_sixd +A80_siyd = _idaapi.A80_siyd +A80_xtix = _idaapi.A80_xtix +A80_xtiy = _idaapi.A80_xtiy +A80_spix = _idaapi.A80_spix +A80_spiy = _idaapi.A80_spiy +A80_pcix = _idaapi.A80_pcix +A80_pciy = _idaapi.A80_pciy +A80_mvra = _idaapi.A80_mvra +A80_mvia = _idaapi.A80_mvia +A80_mvar = _idaapi.A80_mvar +A80_mvai = _idaapi.A80_mvai +A80_addix = _idaapi.A80_addix +A80_addiy = _idaapi.A80_addiy +A80_addc = _idaapi.A80_addc +A80_addcix = _idaapi.A80_addcix +A80_addciy = _idaapi.A80_addciy +A80_subc = _idaapi.A80_subc +A80_subcix = _idaapi.A80_subcix +A80_subciy = _idaapi.A80_subciy +A80_jrc = _idaapi.A80_jrc +A80_jrnc = _idaapi.A80_jrnc +A80_jrz = _idaapi.A80_jrz +A80_jrnz = _idaapi.A80_jrnz +A80_cmpi = _idaapi.A80_cmpi +A80_cmpd = _idaapi.A80_cmpd +A80_im0 = _idaapi.A80_im0 +A80_im1 = _idaapi.A80_im1 +A80_im2 = _idaapi.A80_im2 +A80_otd = _idaapi.A80_otd +A80_oti = _idaapi.A80_oti +I5_dsub = _idaapi.I5_dsub +I5_arhl = _idaapi.I5_arhl +I5_rdel = _idaapi.I5_rdel +I5_ldhi = _idaapi.I5_ldhi +I5_ldsi = _idaapi.I5_ldsi +I5_shlx = _idaapi.I5_shlx +I5_lhlx = _idaapi.I5_lhlx +I5_rstv = _idaapi.I5_rstv +I5_jx5 = _idaapi.I5_jx5 +I5_jnx5 = _idaapi.I5_jnx5 +Z80_cplw = _idaapi.Z80_cplw +Z80_swap = _idaapi.Z80_swap +Z80_inw = _idaapi.Z80_inw +Z80_outw = _idaapi.Z80_outw +Z80_ldw = _idaapi.Z80_ldw +Z80_addw = _idaapi.Z80_addw +Z80_subw = _idaapi.Z80_subw +Z80_adcw = _idaapi.Z80_adcw +Z80_sbcw = _idaapi.Z80_sbcw +Z80_andw = _idaapi.Z80_andw +Z80_xorw = _idaapi.Z80_xorw +Z80_orw = _idaapi.Z80_orw +Z80_cpw = _idaapi.Z80_cpw +Z80_ddir = _idaapi.Z80_ddir +Z80_calr = _idaapi.Z80_calr +Z80_ldctl = _idaapi.Z80_ldctl +Z80_mtest = _idaapi.Z80_mtest +Z80_exxx = _idaapi.Z80_exxx +Z80_exxy = _idaapi.Z80_exxy +Z80_exall = _idaapi.Z80_exall +Z80_setc = _idaapi.Z80_setc +Z80_resc = _idaapi.Z80_resc +Z80_rlcw = _idaapi.Z80_rlcw +Z80_rrcw = _idaapi.Z80_rrcw +Z80_rlw = _idaapi.Z80_rlw +Z80_rrw = _idaapi.Z80_rrw +Z80_slaw = _idaapi.Z80_slaw +Z80_sraw = _idaapi.Z80_sraw +Z80_srlw = _idaapi.Z80_srlw +Z80_multw = _idaapi.Z80_multw +Z80_multuw = _idaapi.Z80_multuw +Z80_divuw = _idaapi.Z80_divuw +Z80_outaw = _idaapi.Z80_outaw +Z80_inaw = _idaapi.Z80_inaw +Z80_outa = _idaapi.Z80_outa +Z80_ina = _idaapi.Z80_ina +Z80_negw = _idaapi.Z80_negw +Z80_exts = _idaapi.Z80_exts +Z80_extsw = _idaapi.Z80_extsw +Z80_btest = _idaapi.Z80_btest +Z80_ldiw = _idaapi.Z80_ldiw +Z80_ldirw = _idaapi.Z80_ldirw +Z80_lddw = _idaapi.Z80_lddw +Z80_lddrw = _idaapi.Z80_lddrw +Z80_iniw = _idaapi.Z80_iniw +Z80_inirw = _idaapi.Z80_inirw +Z80_indw = _idaapi.Z80_indw +Z80_indrw = _idaapi.Z80_indrw +Z80_outiw = _idaapi.Z80_outiw +Z80_otirw = _idaapi.Z80_otirw +Z80_outdw = _idaapi.Z80_outdw +Z80_otdrw = _idaapi.Z80_otdrw +GB_ldh = _idaapi.GB_ldh +GB_stop = _idaapi.GB_stop +I5_last = _idaapi.I5_last +I860_null = _idaapi.I860_null +I860_adds = _idaapi.I860_adds +I860_addu = _idaapi.I860_addu +I860_and = _idaapi.I860_and +I860_andh = _idaapi.I860_andh +I860_andnot = _idaapi.I860_andnot +I860_andnoth = _idaapi.I860_andnoth +I860_bc = _idaapi.I860_bc +I860_bc_t = _idaapi.I860_bc_t +I860_bla = _idaapi.I860_bla +I860_bnc = _idaapi.I860_bnc +I860_bnc_t = _idaapi.I860_bnc_t +I860_br = _idaapi.I860_br +I860_bri = _idaapi.I860_bri +I860_bte = _idaapi.I860_bte +I860_btne = _idaapi.I860_btne +I860_call = _idaapi.I860_call +I860_calli = _idaapi.I860_calli +I860_fadd = _idaapi.I860_fadd +I860_faddp = _idaapi.I860_faddp +I860_faddz = _idaapi.I860_faddz +I860_famov = _idaapi.I860_famov +I860_fiadd = _idaapi.I860_fiadd +I860_fisub = _idaapi.I860_fisub +I860_fix = _idaapi.I860_fix +I860_fld = _idaapi.I860_fld +I860_flush = _idaapi.I860_flush +I860_fmlow_dd = _idaapi.I860_fmlow_dd +I860_fmul = _idaapi.I860_fmul +I860_form = _idaapi.I860_form +I860_frcp = _idaapi.I860_frcp +I860_frsqr = _idaapi.I860_frsqr +I860_fst = _idaapi.I860_fst +I860_fsub = _idaapi.I860_fsub +I860_ftrunc = _idaapi.I860_ftrunc +I860_fxfr = _idaapi.I860_fxfr +I860_fzchkl = _idaapi.I860_fzchkl +I860_fzchks = _idaapi.I860_fzchks +I860_introvr = _idaapi.I860_introvr +I860_ixfr = _idaapi.I860_ixfr +I860_ld_c = _idaapi.I860_ld_c +I860_ld = _idaapi.I860_ld +I860_ldint = _idaapi.I860_ldint +I860_ldio = _idaapi.I860_ldio +I860_lock = _idaapi.I860_lock +I860_or = _idaapi.I860_or +I860_orh = _idaapi.I860_orh +I860_pfadd = _idaapi.I860_pfadd +I860_pfaddp = _idaapi.I860_pfaddp +I860_pfaddz = _idaapi.I860_pfaddz +I860_pfamov = _idaapi.I860_pfamov +I860_pfeq = _idaapi.I860_pfeq +I860_pfgt = _idaapi.I860_pfgt +I860_pfiadd = _idaapi.I860_pfiadd +I860_pfisub = _idaapi.I860_pfisub +I860_pfix = _idaapi.I860_pfix +I860_pfld = _idaapi.I860_pfld +I860_pfle = _idaapi.I860_pfle +I860_pfmul = _idaapi.I860_pfmul +I860_pfmul3_dd = _idaapi.I860_pfmul3_dd +I860_pform = _idaapi.I860_pform +I860_pfsub = _idaapi.I860_pfsub +I860_pftrunc = _idaapi.I860_pftrunc +I860_pfzchkl = _idaapi.I860_pfzchkl +I860_pfzchks = _idaapi.I860_pfzchks +I860_pst_d = _idaapi.I860_pst_d +I860_scyc = _idaapi.I860_scyc +I860_shl = _idaapi.I860_shl +I860_shr = _idaapi.I860_shr +I860_shra = _idaapi.I860_shra +I860_shrd = _idaapi.I860_shrd +I860_st_c = _idaapi.I860_st_c +I860_st = _idaapi.I860_st +I860_stio = _idaapi.I860_stio +I860_subs = _idaapi.I860_subs +I860_subu = _idaapi.I860_subu +I860_trap = _idaapi.I860_trap +I860_unlock = _idaapi.I860_unlock +I860_xor = _idaapi.I860_xor +I860_xorh = _idaapi.I860_xorh +I860_r2p1 = _idaapi.I860_r2p1 +I860_r2pt = _idaapi.I860_r2pt +I860_r2ap1 = _idaapi.I860_r2ap1 +I860_r2apt = _idaapi.I860_r2apt +I860_i2p1 = _idaapi.I860_i2p1 +I860_i2pt = _idaapi.I860_i2pt +I860_i2ap1 = _idaapi.I860_i2ap1 +I860_i2apt = _idaapi.I860_i2apt +I860_rat1p2 = _idaapi.I860_rat1p2 +I860_m12apm = _idaapi.I860_m12apm +I860_ra1p2 = _idaapi.I860_ra1p2 +I860_m12ttpa = _idaapi.I860_m12ttpa +I860_iat1p2 = _idaapi.I860_iat1p2 +I860_m12tpm = _idaapi.I860_m12tpm +I860_ia1p2 = _idaapi.I860_ia1p2 +I860_m12tpa = _idaapi.I860_m12tpa +I860_r2s1 = _idaapi.I860_r2s1 +I860_r2st = _idaapi.I860_r2st +I860_r2as1 = _idaapi.I860_r2as1 +I860_r2ast = _idaapi.I860_r2ast +I860_i2s1 = _idaapi.I860_i2s1 +I860_i2st = _idaapi.I860_i2st +I860_i2as1 = _idaapi.I860_i2as1 +I860_i2ast = _idaapi.I860_i2ast +I860_rat1s2 = _idaapi.I860_rat1s2 +I860_m12asm = _idaapi.I860_m12asm +I860_ra1s2 = _idaapi.I860_ra1s2 +I860_m12ttsa = _idaapi.I860_m12ttsa +I860_iat1s2 = _idaapi.I860_iat1s2 +I860_m12tsm = _idaapi.I860_m12tsm +I860_ia1s2 = _idaapi.I860_ia1s2 +I860_m12tsa = _idaapi.I860_m12tsa +I860_mr2p1 = _idaapi.I860_mr2p1 +I860_mr2pt = _idaapi.I860_mr2pt +I860_mr2mp1 = _idaapi.I860_mr2mp1 +I860_mr2mpt = _idaapi.I860_mr2mpt +I860_mi2p1 = _idaapi.I860_mi2p1 +I860_mi2pt = _idaapi.I860_mi2pt +I860_mi2mp1 = _idaapi.I860_mi2mp1 +I860_mi2mpt = _idaapi.I860_mi2mpt +I860_mrmt1p2 = _idaapi.I860_mrmt1p2 +I860_mm12mpm = _idaapi.I860_mm12mpm +I860_mrm1p2 = _idaapi.I860_mrm1p2 +I860_mm12ttpm = _idaapi.I860_mm12ttpm +I860_mimt1p2 = _idaapi.I860_mimt1p2 +I860_mm12tpm = _idaapi.I860_mm12tpm +I860_mim1p2 = _idaapi.I860_mim1p2 +I860_mr2s1 = _idaapi.I860_mr2s1 +I860_mr2st = _idaapi.I860_mr2st +I860_mr2ms1 = _idaapi.I860_mr2ms1 +I860_mr2mst = _idaapi.I860_mr2mst +I860_mi2s1 = _idaapi.I860_mi2s1 +I860_mi2st = _idaapi.I860_mi2st +I860_mi2ms1 = _idaapi.I860_mi2ms1 +I860_mi2mst = _idaapi.I860_mi2mst +I860_mrmt1s2 = _idaapi.I860_mrmt1s2 +I860_mm12msm = _idaapi.I860_mm12msm +I860_mrm1s2 = _idaapi.I860_mrm1s2 +I860_mm12ttsm = _idaapi.I860_mm12ttsm +I860_mimt1s2 = _idaapi.I860_mimt1s2 +I860_mm12tsm = _idaapi.I860_mm12tsm +I860_mim1s2 = _idaapi.I860_mim1s2 +I860_last = _idaapi.I860_last +I51_null = _idaapi.I51_null +I51_acall = _idaapi.I51_acall +I51_add = _idaapi.I51_add +I51_addc = _idaapi.I51_addc +I51_ajmp = _idaapi.I51_ajmp +I51_anl = _idaapi.I51_anl +I51_cjne = _idaapi.I51_cjne +I51_clr = _idaapi.I51_clr +I51_cpl = _idaapi.I51_cpl +I51_da = _idaapi.I51_da +I51_dec = _idaapi.I51_dec +I51_div = _idaapi.I51_div +I51_djnz = _idaapi.I51_djnz +I51_inc = _idaapi.I51_inc +I51_jb = _idaapi.I51_jb +I51_jbc = _idaapi.I51_jbc +I51_jc = _idaapi.I51_jc +I51_jmp = _idaapi.I51_jmp +I51_jnb = _idaapi.I51_jnb +I51_jnc = _idaapi.I51_jnc +I51_jnz = _idaapi.I51_jnz +I51_jz = _idaapi.I51_jz +I51_lcall = _idaapi.I51_lcall +I51_ljmp = _idaapi.I51_ljmp +I51_mov = _idaapi.I51_mov +I51_movc = _idaapi.I51_movc +I51_movx = _idaapi.I51_movx +I51_mul = _idaapi.I51_mul +I51_nop = _idaapi.I51_nop +I51_orl = _idaapi.I51_orl +I51_pop = _idaapi.I51_pop +I51_push = _idaapi.I51_push +I51_ret = _idaapi.I51_ret +I51_reti = _idaapi.I51_reti +I51_rl = _idaapi.I51_rl +I51_rlc = _idaapi.I51_rlc +I51_rr = _idaapi.I51_rr +I51_rrc = _idaapi.I51_rrc +I51_setb = _idaapi.I51_setb +I51_sjmp = _idaapi.I51_sjmp +I51_subb = _idaapi.I51_subb +I51_swap = _idaapi.I51_swap +I51_xch = _idaapi.I51_xch +I51_xchd = _idaapi.I51_xchd +I51_xrl = _idaapi.I51_xrl +I51_jsle = _idaapi.I51_jsle +I51_jsg = _idaapi.I51_jsg +I51_jle = _idaapi.I51_jle +I51_jg = _idaapi.I51_jg +I51_jsl = _idaapi.I51_jsl +I51_jsge = _idaapi.I51_jsge +I51_je = _idaapi.I51_je +I51_jne = _idaapi.I51_jne +I51_trap = _idaapi.I51_trap +I51_ejmp = _idaapi.I51_ejmp +I51_ecall = _idaapi.I51_ecall +I51_eret = _idaapi.I51_eret +I51_movh = _idaapi.I51_movh +I51_movz = _idaapi.I51_movz +I51_movs = _idaapi.I51_movs +I51_srl = _idaapi.I51_srl +I51_sra = _idaapi.I51_sra +I51_sll = _idaapi.I51_sll +I51_sub = _idaapi.I51_sub +I51_cmp = _idaapi.I51_cmp +I51_emov = _idaapi.I51_emov +I51_last = _idaapi.I51_last +TMS_null = _idaapi.TMS_null +TMS_abs = _idaapi.TMS_abs +TMS_adcb = _idaapi.TMS_adcb +TMS_add = _idaapi.TMS_add +TMS_addb = _idaapi.TMS_addb +TMS_addc = _idaapi.TMS_addc +TMS_adds = _idaapi.TMS_adds +TMS_addt = _idaapi.TMS_addt +TMS_adrk = _idaapi.TMS_adrk +TMS_and = _idaapi.TMS_and +TMS_andb = _idaapi.TMS_andb +TMS_apac = _idaapi.TMS_apac +TMS_apl = _idaapi.TMS_apl +TMS_apl2 = _idaapi.TMS_apl2 +TMS_b = _idaapi.TMS_b +TMS_bacc = _idaapi.TMS_bacc +TMS_baccd = _idaapi.TMS_baccd +TMS_banz = _idaapi.TMS_banz +TMS_banzd = _idaapi.TMS_banzd +TMS_bcnd = _idaapi.TMS_bcnd +TMS_bcndd = _idaapi.TMS_bcndd +TMS_bd = _idaapi.TMS_bd +TMS_bit = _idaapi.TMS_bit +TMS_bitt = _idaapi.TMS_bitt +TMS_bldd = _idaapi.TMS_bldd +TMS_bldp = _idaapi.TMS_bldp +TMS_blpd = _idaapi.TMS_blpd +TMS_bsar = _idaapi.TMS_bsar +TMS_cala = _idaapi.TMS_cala +TMS_calad = _idaapi.TMS_calad +TMS_call = _idaapi.TMS_call +TMS_calld = _idaapi.TMS_calld +TMS_cc = _idaapi.TMS_cc +TMS_ccd = _idaapi.TMS_ccd +TMS_clrc = _idaapi.TMS_clrc +TMS_cmpl = _idaapi.TMS_cmpl +TMS_cmpr = _idaapi.TMS_cmpr +TMS_cpl = _idaapi.TMS_cpl +TMS_cpl2 = _idaapi.TMS_cpl2 +TMS_crgt = _idaapi.TMS_crgt +TMS_crlt = _idaapi.TMS_crlt +TMS_dmov = _idaapi.TMS_dmov +TMS_estop = _idaapi.TMS_estop +TMS_exar = _idaapi.TMS_exar +TMS_idle = _idaapi.TMS_idle +TMS_idle2 = _idaapi.TMS_idle2 +TMS_in = _idaapi.TMS_in +TMS_intr = _idaapi.TMS_intr +TMS_lacb = _idaapi.TMS_lacb +TMS_lacc = _idaapi.TMS_lacc +TMS_lacl = _idaapi.TMS_lacl +TMS_lact = _idaapi.TMS_lact +TMS_lamm = _idaapi.TMS_lamm +TMS_lar = _idaapi.TMS_lar +TMS_ldp = _idaapi.TMS_ldp +TMS_lmmr = _idaapi.TMS_lmmr +TMS_lph = _idaapi.TMS_lph +TMS_lst = _idaapi.TMS_lst +TMS_lt = _idaapi.TMS_lt +TMS_lta = _idaapi.TMS_lta +TMS_ltd = _idaapi.TMS_ltd +TMS_ltp = _idaapi.TMS_ltp +TMS_lts = _idaapi.TMS_lts +TMS_mac = _idaapi.TMS_mac +TMS_macd = _idaapi.TMS_macd +TMS_madd = _idaapi.TMS_madd +TMS_mads = _idaapi.TMS_mads +TMS_mar = _idaapi.TMS_mar +TMS_mpy = _idaapi.TMS_mpy +TMS_mpya = _idaapi.TMS_mpya +TMS_mpys = _idaapi.TMS_mpys +TMS_mpyu = _idaapi.TMS_mpyu +TMS_neg = _idaapi.TMS_neg +TMS_nmi = _idaapi.TMS_nmi +TMS_nop = _idaapi.TMS_nop +TMS_norm = _idaapi.TMS_norm +TMS_opl = _idaapi.TMS_opl +TMS_opl2 = _idaapi.TMS_opl2 +TMS_or = _idaapi.TMS_or +TMS_orb = _idaapi.TMS_orb +TMS_out = _idaapi.TMS_out +TMS_pac = _idaapi.TMS_pac +TMS_pop = _idaapi.TMS_pop +TMS_popd = _idaapi.TMS_popd +TMS_pshd = _idaapi.TMS_pshd +TMS_push = _idaapi.TMS_push +TMS_ret = _idaapi.TMS_ret +TMS_retc = _idaapi.TMS_retc +TMS_retcd = _idaapi.TMS_retcd +TMS_retd = _idaapi.TMS_retd +TMS_rete = _idaapi.TMS_rete +TMS_reti = _idaapi.TMS_reti +TMS_rol = _idaapi.TMS_rol +TMS_rolb = _idaapi.TMS_rolb +TMS_ror = _idaapi.TMS_ror +TMS_rorb = _idaapi.TMS_rorb +TMS_rpt = _idaapi.TMS_rpt +TMS_rptb = _idaapi.TMS_rptb +TMS_rptz = _idaapi.TMS_rptz +TMS_sacb = _idaapi.TMS_sacb +TMS_sach = _idaapi.TMS_sach +TMS_sacl = _idaapi.TMS_sacl +TMS_samm = _idaapi.TMS_samm +TMS_sar = _idaapi.TMS_sar +TMS_sath = _idaapi.TMS_sath +TMS_satl = _idaapi.TMS_satl +TMS_sbb = _idaapi.TMS_sbb +TMS_sbbb = _idaapi.TMS_sbbb +TMS_sbrk = _idaapi.TMS_sbrk +TMS_setc = _idaapi.TMS_setc +TMS_sfl = _idaapi.TMS_sfl +TMS_sflb = _idaapi.TMS_sflb +TMS_sfr = _idaapi.TMS_sfr +TMS_sfrb = _idaapi.TMS_sfrb +TMS_smmr = _idaapi.TMS_smmr +TMS_spac = _idaapi.TMS_spac +TMS_sph = _idaapi.TMS_sph +TMS_spl = _idaapi.TMS_spl +TMS_splk = _idaapi.TMS_splk +TMS_spm = _idaapi.TMS_spm +TMS_sqra = _idaapi.TMS_sqra +TMS_sqrs = _idaapi.TMS_sqrs +TMS_sst = _idaapi.TMS_sst +TMS_sub = _idaapi.TMS_sub +TMS_subb = _idaapi.TMS_subb +TMS_subc = _idaapi.TMS_subc +TMS_subs = _idaapi.TMS_subs +TMS_subt = _idaapi.TMS_subt +TMS_tblr = _idaapi.TMS_tblr +TMS_tblw = _idaapi.TMS_tblw +TMS_trap = _idaapi.TMS_trap +TMS_xc = _idaapi.TMS_xc +TMS_xor = _idaapi.TMS_xor +TMS_xorb = _idaapi.TMS_xorb +TMS_xpl = _idaapi.TMS_xpl +TMS_xpl2 = _idaapi.TMS_xpl2 +TMS_zalr = _idaapi.TMS_zalr +TMS_zap = _idaapi.TMS_zap +TMS_zpr = _idaapi.TMS_zpr +TMS2_abs = _idaapi.TMS2_abs +TMS2_add = _idaapi.TMS2_add +TMS2_addc = _idaapi.TMS2_addc +TMS2_addh = _idaapi.TMS2_addh +TMS2_addk = _idaapi.TMS2_addk +TMS2_adds = _idaapi.TMS2_adds +TMS2_addt = _idaapi.TMS2_addt +TMS2_adlk = _idaapi.TMS2_adlk +TMS2_adrk = _idaapi.TMS2_adrk +TMS2_and = _idaapi.TMS2_and +TMS2_andk = _idaapi.TMS2_andk +TMS2_apac = _idaapi.TMS2_apac +TMS2_b = _idaapi.TMS2_b +TMS2_bacc = _idaapi.TMS2_bacc +TMS2_banz = _idaapi.TMS2_banz +TMS2_bbnz = _idaapi.TMS2_bbnz +TMS2_bbz = _idaapi.TMS2_bbz +TMS2_bc = _idaapi.TMS2_bc +TMS2_bgez = _idaapi.TMS2_bgez +TMS2_bgz = _idaapi.TMS2_bgz +TMS2_bioz = _idaapi.TMS2_bioz +TMS2_bit = _idaapi.TMS2_bit +TMS2_bitt = _idaapi.TMS2_bitt +TMS2_blez = _idaapi.TMS2_blez +TMS2_blkd = _idaapi.TMS2_blkd +TMS2_blkp = _idaapi.TMS2_blkp +TMS2_blz = _idaapi.TMS2_blz +TMS2_bnc = _idaapi.TMS2_bnc +TMS2_bnv = _idaapi.TMS2_bnv +TMS2_bnz = _idaapi.TMS2_bnz +TMS2_bv = _idaapi.TMS2_bv +TMS2_bz = _idaapi.TMS2_bz +TMS2_cala = _idaapi.TMS2_cala +TMS2_call = _idaapi.TMS2_call +TMS2_cmpl = _idaapi.TMS2_cmpl +TMS2_cmpr = _idaapi.TMS2_cmpr +TMS2_cnfd = _idaapi.TMS2_cnfd +TMS2_cnfp = _idaapi.TMS2_cnfp +TMS2_conf = _idaapi.TMS2_conf +TMS2_dint = _idaapi.TMS2_dint +TMS2_dmov = _idaapi.TMS2_dmov +TMS2_eint = _idaapi.TMS2_eint +TMS2_fort = _idaapi.TMS2_fort +TMS2_idle = _idaapi.TMS2_idle +TMS2_in = _idaapi.TMS2_in +TMS2_lac = _idaapi.TMS2_lac +TMS2_lack = _idaapi.TMS2_lack +TMS2_lact = _idaapi.TMS2_lact +TMS2_lalk = _idaapi.TMS2_lalk +TMS2_lar = _idaapi.TMS2_lar +TMS2_lark = _idaapi.TMS2_lark +TMS2_larp = _idaapi.TMS2_larp +TMS2_ldp = _idaapi.TMS2_ldp +TMS2_ldpk = _idaapi.TMS2_ldpk +TMS2_lph = _idaapi.TMS2_lph +TMS2_lrlk = _idaapi.TMS2_lrlk +TMS2_lst = _idaapi.TMS2_lst +TMS2_lst1 = _idaapi.TMS2_lst1 +TMS2_lt = _idaapi.TMS2_lt +TMS2_lta = _idaapi.TMS2_lta +TMS2_ltd = _idaapi.TMS2_ltd +TMS2_ltp = _idaapi.TMS2_ltp +TMS2_lts = _idaapi.TMS2_lts +TMS2_mac = _idaapi.TMS2_mac +TMS2_macd = _idaapi.TMS2_macd +TMS2_mar = _idaapi.TMS2_mar +TMS2_mpy = _idaapi.TMS2_mpy +TMS2_mpya = _idaapi.TMS2_mpya +TMS2_mpyk = _idaapi.TMS2_mpyk +TMS2_mpys = _idaapi.TMS2_mpys +TMS2_mpyu = _idaapi.TMS2_mpyu +TMS2_neg = _idaapi.TMS2_neg +TMS2_nop = _idaapi.TMS2_nop +TMS2_norm = _idaapi.TMS2_norm +TMS2_or = _idaapi.TMS2_or +TMS2_ork = _idaapi.TMS2_ork +TMS2_out = _idaapi.TMS2_out +TMS2_pac = _idaapi.TMS2_pac +TMS2_pop = _idaapi.TMS2_pop +TMS2_popd = _idaapi.TMS2_popd +TMS2_pshd = _idaapi.TMS2_pshd +TMS2_push = _idaapi.TMS2_push +TMS2_rc = _idaapi.TMS2_rc +TMS2_ret = _idaapi.TMS2_ret +TMS2_rfsm = _idaapi.TMS2_rfsm +TMS2_rhm = _idaapi.TMS2_rhm +TMS2_rol = _idaapi.TMS2_rol +TMS2_ror = _idaapi.TMS2_ror +TMS2_rovm = _idaapi.TMS2_rovm +TMS2_rpt = _idaapi.TMS2_rpt +TMS2_rptk = _idaapi.TMS2_rptk +TMS2_rsxm = _idaapi.TMS2_rsxm +TMS2_rtc = _idaapi.TMS2_rtc +TMS2_rtxm = _idaapi.TMS2_rtxm +TMS2_rxf = _idaapi.TMS2_rxf +TMS2_sach = _idaapi.TMS2_sach +TMS2_sacl = _idaapi.TMS2_sacl +TMS2_sar = _idaapi.TMS2_sar +TMS2_sblk = _idaapi.TMS2_sblk +TMS2_sbrk = _idaapi.TMS2_sbrk +TMS2_sc = _idaapi.TMS2_sc +TMS2_sfl = _idaapi.TMS2_sfl +TMS2_sfr = _idaapi.TMS2_sfr +TMS2_sfsm = _idaapi.TMS2_sfsm +TMS2_shm = _idaapi.TMS2_shm +TMS2_sovm = _idaapi.TMS2_sovm +TMS2_spac = _idaapi.TMS2_spac +TMS2_sph = _idaapi.TMS2_sph +TMS2_spl = _idaapi.TMS2_spl +TMS2_spm = _idaapi.TMS2_spm +TMS2_sqra = _idaapi.TMS2_sqra +TMS2_sqrs = _idaapi.TMS2_sqrs +TMS2_sst = _idaapi.TMS2_sst +TMS2_sst1 = _idaapi.TMS2_sst1 +TMS2_ssxm = _idaapi.TMS2_ssxm +TMS2_stc = _idaapi.TMS2_stc +TMS2_stxm = _idaapi.TMS2_stxm +TMS2_sub = _idaapi.TMS2_sub +TMS2_subb = _idaapi.TMS2_subb +TMS2_subc = _idaapi.TMS2_subc +TMS2_subh = _idaapi.TMS2_subh +TMS2_subk = _idaapi.TMS2_subk +TMS2_subs = _idaapi.TMS2_subs +TMS2_subt = _idaapi.TMS2_subt +TMS2_sxf = _idaapi.TMS2_sxf +TMS2_tblr = _idaapi.TMS2_tblr +TMS2_tblw = _idaapi.TMS2_tblw +TMS2_trap = _idaapi.TMS2_trap +TMS2_xor = _idaapi.TMS2_xor +TMS2_xork = _idaapi.TMS2_xork +TMS2_zac = _idaapi.TMS2_zac +TMS2_zalh = _idaapi.TMS2_zalh +TMS2_zalr = _idaapi.TMS2_zalr +TMS2_zals = _idaapi.TMS2_zals +TMS_last = _idaapi.TMS_last +M65_null = _idaapi.M65_null +M65_adc = _idaapi.M65_adc +M65_anc = _idaapi.M65_anc +M65_and = _idaapi.M65_and +M65_ane = _idaapi.M65_ane +M65_arr = _idaapi.M65_arr +M65_asl = _idaapi.M65_asl +M65_asr = _idaapi.M65_asr +M65_bcc = _idaapi.M65_bcc +M65_bcs = _idaapi.M65_bcs +M65_beq = _idaapi.M65_beq +M65_bit = _idaapi.M65_bit +M65_bmi = _idaapi.M65_bmi +M65_bne = _idaapi.M65_bne +M65_bpl = _idaapi.M65_bpl +M65_brk = _idaapi.M65_brk +M65_bvc = _idaapi.M65_bvc +M65_bvs = _idaapi.M65_bvs +M65_clc = _idaapi.M65_clc +M65_cld = _idaapi.M65_cld +M65_cli = _idaapi.M65_cli +M65_clv = _idaapi.M65_clv +M65_cmp = _idaapi.M65_cmp +M65_cpx = _idaapi.M65_cpx +M65_cpy = _idaapi.M65_cpy +M65_dcp = _idaapi.M65_dcp +M65_dec = _idaapi.M65_dec +M65_dex = _idaapi.M65_dex +M65_dey = _idaapi.M65_dey +M65_eor = _idaapi.M65_eor +M65_inc = _idaapi.M65_inc +M65_inx = _idaapi.M65_inx +M65_iny = _idaapi.M65_iny +M65_isb = _idaapi.M65_isb +M65_jmp = _idaapi.M65_jmp +M65_jmpi = _idaapi.M65_jmpi +M65_jsr = _idaapi.M65_jsr +M65_lae = _idaapi.M65_lae +M65_lax = _idaapi.M65_lax +M65_lda = _idaapi.M65_lda +M65_ldx = _idaapi.M65_ldx +M65_ldy = _idaapi.M65_ldy +M65_lsr = _idaapi.M65_lsr +M65_lxa = _idaapi.M65_lxa +M65_nop = _idaapi.M65_nop +M65_ora = _idaapi.M65_ora +M65_pha = _idaapi.M65_pha +M65_php = _idaapi.M65_php +M65_pla = _idaapi.M65_pla +M65_plp = _idaapi.M65_plp +M65_rla = _idaapi.M65_rla +M65_rol = _idaapi.M65_rol +M65_ror = _idaapi.M65_ror +M65_rra = _idaapi.M65_rra +M65_rti = _idaapi.M65_rti +M65_rts = _idaapi.M65_rts +M65_sax = _idaapi.M65_sax +M65_sbc = _idaapi.M65_sbc +M65_sbx = _idaapi.M65_sbx +M65_sec = _idaapi.M65_sec +M65_sed = _idaapi.M65_sed +M65_sei = _idaapi.M65_sei +M65_sha = _idaapi.M65_sha +M65_shs = _idaapi.M65_shs +M65_shx = _idaapi.M65_shx +M65_shy = _idaapi.M65_shy +M65_slo = _idaapi.M65_slo +M65_sre = _idaapi.M65_sre +M65_sta = _idaapi.M65_sta +M65_stx = _idaapi.M65_stx +M65_sty = _idaapi.M65_sty +M65_tax = _idaapi.M65_tax +M65_tay = _idaapi.M65_tay +M65_tsx = _idaapi.M65_tsx +M65_txa = _idaapi.M65_txa +M65_txs = _idaapi.M65_txs +M65_tya = _idaapi.M65_tya +M65_bbr0 = _idaapi.M65_bbr0 +M65_bbr1 = _idaapi.M65_bbr1 +M65_bbr2 = _idaapi.M65_bbr2 +M65_bbr3 = _idaapi.M65_bbr3 +M65_bbr4 = _idaapi.M65_bbr4 +M65_bbr5 = _idaapi.M65_bbr5 +M65_bbr6 = _idaapi.M65_bbr6 +M65_bbr7 = _idaapi.M65_bbr7 +M65_bbs0 = _idaapi.M65_bbs0 +M65_bbs1 = _idaapi.M65_bbs1 +M65_bbs2 = _idaapi.M65_bbs2 +M65_bbs3 = _idaapi.M65_bbs3 +M65_bbs4 = _idaapi.M65_bbs4 +M65_bbs5 = _idaapi.M65_bbs5 +M65_bbs6 = _idaapi.M65_bbs6 +M65_bbs7 = _idaapi.M65_bbs7 +M65_rmb0 = _idaapi.M65_rmb0 +M65_rmb1 = _idaapi.M65_rmb1 +M65_rmb2 = _idaapi.M65_rmb2 +M65_rmb3 = _idaapi.M65_rmb3 +M65_rmb4 = _idaapi.M65_rmb4 +M65_rmb5 = _idaapi.M65_rmb5 +M65_rmb6 = _idaapi.M65_rmb6 +M65_rmb7 = _idaapi.M65_rmb7 +M65_smb0 = _idaapi.M65_smb0 +M65_smb1 = _idaapi.M65_smb1 +M65_smb2 = _idaapi.M65_smb2 +M65_smb3 = _idaapi.M65_smb3 +M65_smb4 = _idaapi.M65_smb4 +M65_smb5 = _idaapi.M65_smb5 +M65_smb6 = _idaapi.M65_smb6 +M65_smb7 = _idaapi.M65_smb7 +M65_stz = _idaapi.M65_stz +M65_tsb = _idaapi.M65_tsb +M65_trb = _idaapi.M65_trb +M65_phy = _idaapi.M65_phy +M65_ply = _idaapi.M65_ply +M65_phx = _idaapi.M65_phx +M65_plx = _idaapi.M65_plx +M65_bra = _idaapi.M65_bra +M65_last = _idaapi.M65_last +M65816_null = _idaapi.M65816_null +M65816_adc = _idaapi.M65816_adc +M65816_and = _idaapi.M65816_and +M65816_asl = _idaapi.M65816_asl +M65816_bcc = _idaapi.M65816_bcc +M65816_bcs = _idaapi.M65816_bcs +M65816_beq = _idaapi.M65816_beq +M65816_bit = _idaapi.M65816_bit +M65816_bmi = _idaapi.M65816_bmi +M65816_bne = _idaapi.M65816_bne +M65816_bpl = _idaapi.M65816_bpl +M65816_bra = _idaapi.M65816_bra +M65816_brk = _idaapi.M65816_brk +M65816_brl = _idaapi.M65816_brl +M65816_bvc = _idaapi.M65816_bvc +M65816_bvs = _idaapi.M65816_bvs +M65816_clc = _idaapi.M65816_clc +M65816_cld = _idaapi.M65816_cld +M65816_cli = _idaapi.M65816_cli +M65816_clv = _idaapi.M65816_clv +M65816_cmp = _idaapi.M65816_cmp +M65816_cop = _idaapi.M65816_cop +M65816_cpx = _idaapi.M65816_cpx +M65816_cpy = _idaapi.M65816_cpy +M65816_dec = _idaapi.M65816_dec +M65816_dex = _idaapi.M65816_dex +M65816_dey = _idaapi.M65816_dey +M65816_eor = _idaapi.M65816_eor +M65816_inc = _idaapi.M65816_inc +M65816_inx = _idaapi.M65816_inx +M65816_iny = _idaapi.M65816_iny +M65816_jml = _idaapi.M65816_jml +M65816_jmp = _idaapi.M65816_jmp +M65816_jsl = _idaapi.M65816_jsl +M65816_jsr = _idaapi.M65816_jsr +M65816_lda = _idaapi.M65816_lda +M65816_ldx = _idaapi.M65816_ldx +M65816_ldy = _idaapi.M65816_ldy +M65816_lsr = _idaapi.M65816_lsr +M65816_mvn = _idaapi.M65816_mvn +M65816_mvp = _idaapi.M65816_mvp +M65816_nop = _idaapi.M65816_nop +M65816_ora = _idaapi.M65816_ora +M65816_pea = _idaapi.M65816_pea +M65816_pei = _idaapi.M65816_pei +M65816_per = _idaapi.M65816_per +M65816_pha = _idaapi.M65816_pha +M65816_phb = _idaapi.M65816_phb +M65816_phd = _idaapi.M65816_phd +M65816_phk = _idaapi.M65816_phk +M65816_php = _idaapi.M65816_php +M65816_phx = _idaapi.M65816_phx +M65816_phy = _idaapi.M65816_phy +M65816_pla = _idaapi.M65816_pla +M65816_plb = _idaapi.M65816_plb +M65816_pld = _idaapi.M65816_pld +M65816_plp = _idaapi.M65816_plp +M65816_plx = _idaapi.M65816_plx +M65816_ply = _idaapi.M65816_ply +M65816_rep = _idaapi.M65816_rep +M65816_rol = _idaapi.M65816_rol +M65816_ror = _idaapi.M65816_ror +M65816_rti = _idaapi.M65816_rti +M65816_rtl = _idaapi.M65816_rtl +M65816_rts = _idaapi.M65816_rts +M65816_sbc = _idaapi.M65816_sbc +M65816_sec = _idaapi.M65816_sec +M65816_sed = _idaapi.M65816_sed +M65816_sei = _idaapi.M65816_sei +M65816_sep = _idaapi.M65816_sep +M65816_sta = _idaapi.M65816_sta +M65816_stp = _idaapi.M65816_stp +M65816_stx = _idaapi.M65816_stx +M65816_sty = _idaapi.M65816_sty +M65816_stz = _idaapi.M65816_stz +M65816_tax = _idaapi.M65816_tax +M65816_tay = _idaapi.M65816_tay +M65816_tcd = _idaapi.M65816_tcd +M65816_tcs = _idaapi.M65816_tcs +M65816_tdc = _idaapi.M65816_tdc +M65816_trb = _idaapi.M65816_trb +M65816_tsb = _idaapi.M65816_tsb +M65816_tsc = _idaapi.M65816_tsc +M65816_tsx = _idaapi.M65816_tsx +M65816_txa = _idaapi.M65816_txa +M65816_txs = _idaapi.M65816_txs +M65816_txy = _idaapi.M65816_txy +M65816_tya = _idaapi.M65816_tya +M65816_tyx = _idaapi.M65816_tyx +M65816_wai = _idaapi.M65816_wai +M65816_wdm = _idaapi.M65816_wdm +M65816_xba = _idaapi.M65816_xba +M65816_xce = _idaapi.M65816_xce +M65816_last = _idaapi.M65816_last +pdp_null = _idaapi.pdp_null +pdp_halt = _idaapi.pdp_halt +pdp_wait = _idaapi.pdp_wait +pdp_rti = _idaapi.pdp_rti +pdp_bpt = _idaapi.pdp_bpt +pdp_iot = _idaapi.pdp_iot +pdp_reset = _idaapi.pdp_reset +pdp_rtt = _idaapi.pdp_rtt +pdp_mfpt = _idaapi.pdp_mfpt +pdp_jmp = _idaapi.pdp_jmp +pdp_rts = _idaapi.pdp_rts +pdp_spl = _idaapi.pdp_spl +pdp_nop = _idaapi.pdp_nop +pdp_clc = _idaapi.pdp_clc +pdp_clv = _idaapi.pdp_clv +pdp_clz = _idaapi.pdp_clz +pdp_cln = _idaapi.pdp_cln +pdp_ccc = _idaapi.pdp_ccc +pdp_sec = _idaapi.pdp_sec +pdp_sev = _idaapi.pdp_sev +pdp_sez = _idaapi.pdp_sez +pdp_sen = _idaapi.pdp_sen +pdp_scc = _idaapi.pdp_scc +pdp_swab = _idaapi.pdp_swab +pdp_br = _idaapi.pdp_br +pdp_bne = _idaapi.pdp_bne +pdp_beq = _idaapi.pdp_beq +pdp_bge = _idaapi.pdp_bge +pdp_blt = _idaapi.pdp_blt +pdp_bgt = _idaapi.pdp_bgt +pdp_ble = _idaapi.pdp_ble +pdp_jsr = _idaapi.pdp_jsr +pdp_clr = _idaapi.pdp_clr +pdp_com = _idaapi.pdp_com +pdp_inc = _idaapi.pdp_inc +pdp_dec = _idaapi.pdp_dec +pdp_neg = _idaapi.pdp_neg +pdp_adc = _idaapi.pdp_adc +pdp_sbc = _idaapi.pdp_sbc +pdp_tst = _idaapi.pdp_tst +pdp_ror = _idaapi.pdp_ror +pdp_rol = _idaapi.pdp_rol +pdp_asr = _idaapi.pdp_asr +pdp_asl = _idaapi.pdp_asl +pdp_mark = _idaapi.pdp_mark +pdp_mfpi = _idaapi.pdp_mfpi +pdp_mtpi = _idaapi.pdp_mtpi +pdp_sxt = _idaapi.pdp_sxt +pdp_mov = _idaapi.pdp_mov +pdp_cmp = _idaapi.pdp_cmp +pdp_bit = _idaapi.pdp_bit +pdp_bic = _idaapi.pdp_bic +pdp_bis = _idaapi.pdp_bis +pdp_add = _idaapi.pdp_add +pdp_sub = _idaapi.pdp_sub +pdp_mul = _idaapi.pdp_mul +pdp_div = _idaapi.pdp_div +pdp_ash = _idaapi.pdp_ash +pdp_ashc = _idaapi.pdp_ashc +pdp_xor = _idaapi.pdp_xor +pdp_fadd = _idaapi.pdp_fadd +pdp_fsub = _idaapi.pdp_fsub +pdp_fmul = _idaapi.pdp_fmul +pdp_fdiv = _idaapi.pdp_fdiv +pdp_sob = _idaapi.pdp_sob +pdp_bpl = _idaapi.pdp_bpl +pdp_bmi = _idaapi.pdp_bmi +pdp_bhi = _idaapi.pdp_bhi +pdp_blos = _idaapi.pdp_blos +pdp_bvc = _idaapi.pdp_bvc +pdp_bvs = _idaapi.pdp_bvs +pdp_bcc = _idaapi.pdp_bcc +pdp_bcs = _idaapi.pdp_bcs +pdp_emt = _idaapi.pdp_emt +pdp_trap = _idaapi.pdp_trap +pdp_mtps = _idaapi.pdp_mtps +pdp_mfpd = _idaapi.pdp_mfpd +pdp_mtpd = _idaapi.pdp_mtpd +pdp_mfps = _idaapi.pdp_mfps +pdp_cfcc = _idaapi.pdp_cfcc +pdp_setf = _idaapi.pdp_setf +pdp_seti = _idaapi.pdp_seti +pdp_setd = _idaapi.pdp_setd +pdp_setl = _idaapi.pdp_setl +pdp_ldfps = _idaapi.pdp_ldfps +pdp_stfps = _idaapi.pdp_stfps +pdp_stst = _idaapi.pdp_stst +pdp_clrd = _idaapi.pdp_clrd +pdp_tstd = _idaapi.pdp_tstd +pdp_absd = _idaapi.pdp_absd +pdp_negd = _idaapi.pdp_negd +pdp_muld = _idaapi.pdp_muld +pdp_modd = _idaapi.pdp_modd +pdp_addd = _idaapi.pdp_addd +pdp_ldd = _idaapi.pdp_ldd +pdp_subd = _idaapi.pdp_subd +pdp_cmpd = _idaapi.pdp_cmpd +pdp_std = _idaapi.pdp_std +pdp_divd = _idaapi.pdp_divd +pdp_stexp = _idaapi.pdp_stexp +pdp_stcdi = _idaapi.pdp_stcdi +pdp_stcdf = _idaapi.pdp_stcdf +pdp_ldexp = _idaapi.pdp_ldexp +pdp_ldcif = _idaapi.pdp_ldcif +pdp_ldcfd = _idaapi.pdp_ldcfd +pdp_call = _idaapi.pdp_call +pdp_return = _idaapi.pdp_return +pdp_compcc = _idaapi.pdp_compcc +pdp_last = _idaapi.pdp_last +mc_null = _idaapi.mc_null +mc_abcd = _idaapi.mc_abcd +mc_add = _idaapi.mc_add +mc_adda = _idaapi.mc_adda +mc_addi = _idaapi.mc_addi +mc_addq = _idaapi.mc_addq +mc_addx = _idaapi.mc_addx +mc_and = _idaapi.mc_and +mc_andi = _idaapi.mc_andi +mc_asl = _idaapi.mc_asl +mc_asr = _idaapi.mc_asr +mc_b = _idaapi.mc_b +mc_bchg = _idaapi.mc_bchg +mc_bclr = _idaapi.mc_bclr +mc_bftst = _idaapi.mc_bftst +mc_bfchg = _idaapi.mc_bfchg +mc_bfclr = _idaapi.mc_bfclr +mc_bfset = _idaapi.mc_bfset +mc_bfextu = _idaapi.mc_bfextu +mc_bfexts = _idaapi.mc_bfexts +mc_bfffo = _idaapi.mc_bfffo +mc_bfins = _idaapi.mc_bfins +mc_bgnd = _idaapi.mc_bgnd +mc_bkpt = _idaapi.mc_bkpt +mc_bra = _idaapi.mc_bra +mc_bset = _idaapi.mc_bset +mc_bsr = _idaapi.mc_bsr +mc_btst = _idaapi.mc_btst +mc_callm = _idaapi.mc_callm +mc_cas = _idaapi.mc_cas +mc_cas2 = _idaapi.mc_cas2 +mc_chk = _idaapi.mc_chk +mc_chk2 = _idaapi.mc_chk2 +mc_cinv = _idaapi.mc_cinv +mc_clr = _idaapi.mc_clr +mc_cmp = _idaapi.mc_cmp +mc_cmp2 = _idaapi.mc_cmp2 +mc_cmpa = _idaapi.mc_cmpa +mc_cmpi = _idaapi.mc_cmpi +mc_cmpm = _idaapi.mc_cmpm +mc_cpush = _idaapi.mc_cpush +mc_db = _idaapi.mc_db +mc_divs = _idaapi.mc_divs +mc_divsl = _idaapi.mc_divsl +mc_divu = _idaapi.mc_divu +mc_divul = _idaapi.mc_divul +mc_eor = _idaapi.mc_eor +mc_eori = _idaapi.mc_eori +mc_exg = _idaapi.mc_exg +mc_ext = _idaapi.mc_ext +mc_extb = _idaapi.mc_extb +mc_fabs = _idaapi.mc_fabs +mc_facos = _idaapi.mc_facos +mc_fadd = _idaapi.mc_fadd +mc_fasin = _idaapi.mc_fasin +mc_fatan = _idaapi.mc_fatan +mc_fatanh = _idaapi.mc_fatanh +mc_fb = _idaapi.mc_fb +mc_fcmp = _idaapi.mc_fcmp +mc_fcos = _idaapi.mc_fcos +mc_fcosh = _idaapi.mc_fcosh +mc_fdabs = _idaapi.mc_fdabs +mc_fdadd = _idaapi.mc_fdadd +mc_fdb = _idaapi.mc_fdb +mc_fddiv = _idaapi.mc_fddiv +mc_fdiv = _idaapi.mc_fdiv +mc_fdmove = _idaapi.mc_fdmove +mc_fdmul = _idaapi.mc_fdmul +mc_fdneg = _idaapi.mc_fdneg +mc_fdsqrt = _idaapi.mc_fdsqrt +mc_fdsub = _idaapi.mc_fdsub +mc_fetox = _idaapi.mc_fetox +mc_fetoxm1 = _idaapi.mc_fetoxm1 +mc_fgetexp = _idaapi.mc_fgetexp +mc_fgetman = _idaapi.mc_fgetman +mc_fint = _idaapi.mc_fint +mc_fintrz = _idaapi.mc_fintrz +mc_flog2 = _idaapi.mc_flog2 +mc_flog10 = _idaapi.mc_flog10 +mc_flogn = _idaapi.mc_flogn +mc_flognp1 = _idaapi.mc_flognp1 +mc_fmod = _idaapi.mc_fmod +mc_fmove = _idaapi.mc_fmove +mc_fmovecr = _idaapi.mc_fmovecr +mc_fmovem = _idaapi.mc_fmovem +mc_fmul = _idaapi.mc_fmul +mc_fneg = _idaapi.mc_fneg +mc_fnop = _idaapi.mc_fnop +mc_frem = _idaapi.mc_frem +mc_frestore = _idaapi.mc_frestore +mc_fs = _idaapi.mc_fs +mc_fsabs = _idaapi.mc_fsabs +mc_fsadd = _idaapi.mc_fsadd +mc_fsave = _idaapi.mc_fsave +mc_fscale = _idaapi.mc_fscale +mc_fsdiv = _idaapi.mc_fsdiv +mc_fsgldiv = _idaapi.mc_fsgldiv +mc_fsglmul = _idaapi.mc_fsglmul +mc_fsin = _idaapi.mc_fsin +mc_fsincos = _idaapi.mc_fsincos +mc_fsinh = _idaapi.mc_fsinh +mc_fsmove = _idaapi.mc_fsmove +mc_fsmul = _idaapi.mc_fsmul +mc_fsneg = _idaapi.mc_fsneg +mc_fsqrt = _idaapi.mc_fsqrt +mc_fssqrt = _idaapi.mc_fssqrt +mc_fssub = _idaapi.mc_fssub +mc_fsub = _idaapi.mc_fsub +mc_ftan = _idaapi.mc_ftan +mc_ftanh = _idaapi.mc_ftanh +mc_ftentox = _idaapi.mc_ftentox +mc_ftrap = _idaapi.mc_ftrap +mc_ftst = _idaapi.mc_ftst +mc_ftwotox = _idaapi.mc_ftwotox +mc_halt = _idaapi.mc_halt +mc_illegal = _idaapi.mc_illegal +mc_jmp = _idaapi.mc_jmp +mc_jsr = _idaapi.mc_jsr +mc_lea = _idaapi.mc_lea +mc_link = _idaapi.mc_link +mc_lpstop = _idaapi.mc_lpstop +mc_lsl = _idaapi.mc_lsl +mc_lsr = _idaapi.mc_lsr +mc_mac = _idaapi.mc_mac +mc_macl = _idaapi.mc_macl +mc_move = _idaapi.mc_move +mc_move16 = _idaapi.mc_move16 +mc_movea = _idaapi.mc_movea +mc_movec = _idaapi.mc_movec +mc_movem = _idaapi.mc_movem +mc_movep = _idaapi.mc_movep +mc_moveq = _idaapi.mc_moveq +mc_moves = _idaapi.mc_moves +mc_msac = _idaapi.mc_msac +mc_msacl = _idaapi.mc_msacl +mc_muls = _idaapi.mc_muls +mc_mulu = _idaapi.mc_mulu +mc_nbcd = _idaapi.mc_nbcd +mc_neg = _idaapi.mc_neg +mc_negx = _idaapi.mc_negx +mc_nop = _idaapi.mc_nop +mc_not = _idaapi.mc_not +mc_or = _idaapi.mc_or +mc_ori = _idaapi.mc_ori +mc_pack = _idaapi.mc_pack +mc_pea = _idaapi.mc_pea +mc_pb = _idaapi.mc_pb +mc_pdb = _idaapi.mc_pdb +mc_pflush = _idaapi.mc_pflush +mc_pflushr = _idaapi.mc_pflushr +mc_ploadr = _idaapi.mc_ploadr +mc_ploadw = _idaapi.mc_ploadw +mc_pmove = _idaapi.mc_pmove +mc_prestore = _idaapi.mc_prestore +mc_psave = _idaapi.mc_psave +mc_ps = _idaapi.mc_ps +mc_ptestr = _idaapi.mc_ptestr +mc_ptestw = _idaapi.mc_ptestw +mc_ptrap = _idaapi.mc_ptrap +mc_pulse = _idaapi.mc_pulse +mc_pvalid = _idaapi.mc_pvalid +mc_rol = _idaapi.mc_rol +mc_ror = _idaapi.mc_ror +mc_roxl = _idaapi.mc_roxl +mc_roxr = _idaapi.mc_roxr +mc_reset = _idaapi.mc_reset +mc_rtd = _idaapi.mc_rtd +mc_rte = _idaapi.mc_rte +mc_rtm = _idaapi.mc_rtm +mc_rtr = _idaapi.mc_rtr +mc_rts = _idaapi.mc_rts +mc_sbcd = _idaapi.mc_sbcd +mc_s = _idaapi.mc_s +mc_stop = _idaapi.mc_stop +mc_sub = _idaapi.mc_sub +mc_suba = _idaapi.mc_suba +mc_subi = _idaapi.mc_subi +mc_subq = _idaapi.mc_subq +mc_subx = _idaapi.mc_subx +mc_swap = _idaapi.mc_swap +mc_tas = _idaapi.mc_tas +mc_tbl = _idaapi.mc_tbl +mc_trap = _idaapi.mc_trap +mc_trapv = _idaapi.mc_trapv +mc_tst = _idaapi.mc_tst +mc_unlk = _idaapi.mc_unlk +mc_unpk = _idaapi.mc_unpk +mc_wddata = _idaapi.mc_wddata +mc_wdebug = _idaapi.mc_wdebug +mc_atrap = _idaapi.mc_atrap +mc_bitrev = _idaapi.mc_bitrev +mc_byterev = _idaapi.mc_byterev +mc_ff1 = _idaapi.mc_ff1 +mc_intouch = _idaapi.mc_intouch +mc_mov3q = _idaapi.mc_mov3q +mc_mvs = _idaapi.mc_mvs +mc_mvz = _idaapi.mc_mvz +mc_sats = _idaapi.mc_sats +mc_movclr = _idaapi.mc_movclr +mc_maaac = _idaapi.mc_maaac +mc_masac = _idaapi.mc_masac +mc_msaac = _idaapi.mc_msaac +mc_mssac = _idaapi.mc_mssac +mc_remsl = _idaapi.mc_remsl +mc_remul = _idaapi.mc_remul +mc_last = _idaapi.mc_last +mc8_null = _idaapi.mc8_null +mc8_aba = _idaapi.mc8_aba +mc8_ab = _idaapi.mc8_ab +mc8_adc = _idaapi.mc8_adc +mc8_add = _idaapi.mc8_add +mc8_addd = _idaapi.mc8_addd +mc8_ais = _idaapi.mc8_ais +mc8_aix = _idaapi.mc8_aix +mc8_and = _idaapi.mc8_and +mc8_andcc = _idaapi.mc8_andcc +mc8_asr = _idaapi.mc8_asr +mc8_bcc = _idaapi.mc8_bcc +mc8_bclr = _idaapi.mc8_bclr +mc8_bcs = _idaapi.mc8_bcs +mc8_beq = _idaapi.mc8_beq +mc8_bge = _idaapi.mc8_bge +mc8_bgt = _idaapi.mc8_bgt +mc8_bhcc = _idaapi.mc8_bhcc +mc8_bhcs = _idaapi.mc8_bhcs +mc8_bhi = _idaapi.mc8_bhi +mc8_bhs = _idaapi.mc8_bhs +mc8_bih = _idaapi.mc8_bih +mc8_bil = _idaapi.mc8_bil +mc8_bit = _idaapi.mc8_bit +mc8_ble = _idaapi.mc8_ble +mc8_blo = _idaapi.mc8_blo +mc8_bls = _idaapi.mc8_bls +mc8_blt = _idaapi.mc8_blt +mc8_bmc = _idaapi.mc8_bmc +mc8_bmi = _idaapi.mc8_bmi +mc8_bms = _idaapi.mc8_bms +mc8_bne = _idaapi.mc8_bne +mc8_bpl = _idaapi.mc8_bpl +mc8_bra = _idaapi.mc8_bra +mc8_brclr = _idaapi.mc8_brclr +mc8_brn = _idaapi.mc8_brn +mc8_brset = _idaapi.mc8_brset +mc8_bset = _idaapi.mc8_bset +mc8_bsr = _idaapi.mc8_bsr +mc8_bvc = _idaapi.mc8_bvc +mc8_bvs = _idaapi.mc8_bvs +mc8_cba = _idaapi.mc8_cba +mc8_cbeq = _idaapi.mc8_cbeq +mc8_clc = _idaapi.mc8_clc +mc8_cli = _idaapi.mc8_cli +mc8_clr = _idaapi.mc8_clr +mc8_clv = _idaapi.mc8_clv +mc8_cmp = _idaapi.mc8_cmp +mc8_com = _idaapi.mc8_com +mc8_cp = _idaapi.mc8_cp +mc8_cpd = _idaapi.mc8_cpd +mc8_cphx = _idaapi.mc8_cphx +mc8_cpx = _idaapi.mc8_cpx +mc8_cwai = _idaapi.mc8_cwai +mc8_daa = _idaapi.mc8_daa +mc8_dbnz = _idaapi.mc8_dbnz +mc8_de = _idaapi.mc8_de +mc8_dec = _idaapi.mc8_dec +mc8_des = _idaapi.mc8_des +mc8_div = _idaapi.mc8_div +mc8_eor = _idaapi.mc8_eor +mc8_exg = _idaapi.mc8_exg +mc8_fdiv = _idaapi.mc8_fdiv +mc8_idiv = _idaapi.mc8_idiv +mc8_in = _idaapi.mc8_in +mc8_inc = _idaapi.mc8_inc +mc8_ins = _idaapi.mc8_ins +mc8_jmp = _idaapi.mc8_jmp +mc8_jsr = _idaapi.mc8_jsr +mc8_ld = _idaapi.mc8_ld +mc8_lda = _idaapi.mc8_lda +mc8_ldd = _idaapi.mc8_ldd +mc8_ldhx = _idaapi.mc8_ldhx +mc8_lds = _idaapi.mc8_lds +mc8_ldx = _idaapi.mc8_ldx +mc8_lea = _idaapi.mc8_lea +mc8_lsl = _idaapi.mc8_lsl +mc8_lsld = _idaapi.mc8_lsld +mc8_lsr = _idaapi.mc8_lsr +mc8_lsrd = _idaapi.mc8_lsrd +mc8_mov = _idaapi.mc8_mov +mc8_mul = _idaapi.mc8_mul +mc8_neg = _idaapi.mc8_neg +mc8_nop = _idaapi.mc8_nop +mc8_nsa = _idaapi.mc8_nsa +mc8_ora = _idaapi.mc8_ora +mc8_orcc = _idaapi.mc8_orcc +mc8_psh = _idaapi.mc8_psh +mc8_psha = _idaapi.mc8_psha +mc8_pshb = _idaapi.mc8_pshb +mc8_pshh = _idaapi.mc8_pshh +mc8_pshx = _idaapi.mc8_pshx +mc8_pul = _idaapi.mc8_pul +mc8_pula = _idaapi.mc8_pula +mc8_pulb = _idaapi.mc8_pulb +mc8_pulh = _idaapi.mc8_pulh +mc8_pulx = _idaapi.mc8_pulx +mc8_rol = _idaapi.mc8_rol +mc8_ror = _idaapi.mc8_ror +mc8_rsp = _idaapi.mc8_rsp +mc8_rti = _idaapi.mc8_rti +mc8_rts = _idaapi.mc8_rts +mc8_sba = _idaapi.mc8_sba +mc8_sbc = _idaapi.mc8_sbc +mc8_sec = _idaapi.mc8_sec +mc8_sei = _idaapi.mc8_sei +mc8_sev = _idaapi.mc8_sev +mc8_sex = _idaapi.mc8_sex +mc8_slp = _idaapi.mc8_slp +mc8_st = _idaapi.mc8_st +mc8_sta = _idaapi.mc8_sta +mc8_std = _idaapi.mc8_std +mc8_sthx = _idaapi.mc8_sthx +mc8_stop = _idaapi.mc8_stop +mc8_sts = _idaapi.mc8_sts +mc8_stx = _idaapi.mc8_stx +mc8_sub = _idaapi.mc8_sub +mc8_subd = _idaapi.mc8_subd +mc8_swi = _idaapi.mc8_swi +mc8_sync = _idaapi.mc8_sync +mc8_tab = _idaapi.mc8_tab +mc8_tap = _idaapi.mc8_tap +mc8_tax = _idaapi.mc8_tax +mc8_tba = _idaapi.mc8_tba +mc8_test = _idaapi.mc8_test +mc8_tfr = _idaapi.mc8_tfr +mc8_tpa = _idaapi.mc8_tpa +mc8_ts = _idaapi.mc8_ts +mc8_tst = _idaapi.mc8_tst +mc8_tsx = _idaapi.mc8_tsx +mc8_txa = _idaapi.mc8_txa +mc8_txs = _idaapi.mc8_txs +mc8_tys = _idaapi.mc8_tys +mc8_wai = _idaapi.mc8_wai +mc8_wait = _idaapi.mc8_wait +mc8_xgd = _idaapi.mc8_xgd +mc8_1 = _idaapi.mc8_1 +mc8_2 = _idaapi.mc8_2 +mc8_os9 = _idaapi.mc8_os9 +mc8_aim = _idaapi.mc8_aim +mc8_oim = _idaapi.mc8_oim +mc8_eim = _idaapi.mc8_eim +mc8_tim = _idaapi.mc8_tim +mc8_bgnd = _idaapi.mc8_bgnd +mc8_call = _idaapi.mc8_call +mc8_rtc = _idaapi.mc8_rtc +mc8_skip1 = _idaapi.mc8_skip1 +mc8_skip2 = _idaapi.mc8_skip2 +mc8_last = _idaapi.mc8_last +j_nop = _idaapi.j_nop +j_aconst_null = _idaapi.j_aconst_null +j_iconst_m1 = _idaapi.j_iconst_m1 +j_iconst_0 = _idaapi.j_iconst_0 +j_iconst_1 = _idaapi.j_iconst_1 +j_iconst_2 = _idaapi.j_iconst_2 +j_iconst_3 = _idaapi.j_iconst_3 +j_iconst_4 = _idaapi.j_iconst_4 +j_iconst_5 = _idaapi.j_iconst_5 +j_lconst_0 = _idaapi.j_lconst_0 +j_lconst_1 = _idaapi.j_lconst_1 +j_fconst_0 = _idaapi.j_fconst_0 +j_fconst_1 = _idaapi.j_fconst_1 +j_fconst_2 = _idaapi.j_fconst_2 +j_dconst_0 = _idaapi.j_dconst_0 +j_dconst_1 = _idaapi.j_dconst_1 +j_bipush = _idaapi.j_bipush +j_sipush = _idaapi.j_sipush +j_ldc = _idaapi.j_ldc +j_ldcw = _idaapi.j_ldcw +j_ldc2w = _idaapi.j_ldc2w +j_iload = _idaapi.j_iload +j_lload = _idaapi.j_lload +j_fload = _idaapi.j_fload +j_dload = _idaapi.j_dload +j_aload = _idaapi.j_aload +j_iload_0 = _idaapi.j_iload_0 +j_iload_1 = _idaapi.j_iload_1 +j_iload_2 = _idaapi.j_iload_2 +j_iload_3 = _idaapi.j_iload_3 +j_lload_0 = _idaapi.j_lload_0 +j_lload_1 = _idaapi.j_lload_1 +j_lload_2 = _idaapi.j_lload_2 +j_lload_3 = _idaapi.j_lload_3 +j_fload_0 = _idaapi.j_fload_0 +j_fload_1 = _idaapi.j_fload_1 +j_fload_2 = _idaapi.j_fload_2 +j_fload_3 = _idaapi.j_fload_3 +j_dload_0 = _idaapi.j_dload_0 +j_dload_1 = _idaapi.j_dload_1 +j_dload_2 = _idaapi.j_dload_2 +j_dload_3 = _idaapi.j_dload_3 +j_aload_0 = _idaapi.j_aload_0 +j_aload_1 = _idaapi.j_aload_1 +j_aload_2 = _idaapi.j_aload_2 +j_aload_3 = _idaapi.j_aload_3 +j_iaload = _idaapi.j_iaload +j_laload = _idaapi.j_laload +j_faload = _idaapi.j_faload +j_daload = _idaapi.j_daload +j_aaload = _idaapi.j_aaload +j_baload = _idaapi.j_baload +j_caload = _idaapi.j_caload +j_saload = _idaapi.j_saload +j_istore = _idaapi.j_istore +j_lstore = _idaapi.j_lstore +j_fstore = _idaapi.j_fstore +j_dstore = _idaapi.j_dstore +j_astore = _idaapi.j_astore +j_istore_0 = _idaapi.j_istore_0 +j_istore_1 = _idaapi.j_istore_1 +j_istore_2 = _idaapi.j_istore_2 +j_istore_3 = _idaapi.j_istore_3 +j_lstore_0 = _idaapi.j_lstore_0 +j_lstore_1 = _idaapi.j_lstore_1 +j_lstore_2 = _idaapi.j_lstore_2 +j_lstore_3 = _idaapi.j_lstore_3 +j_fstore_0 = _idaapi.j_fstore_0 +j_fstore_1 = _idaapi.j_fstore_1 +j_fstore_2 = _idaapi.j_fstore_2 +j_fstore_3 = _idaapi.j_fstore_3 +j_dstore_0 = _idaapi.j_dstore_0 +j_dstore_1 = _idaapi.j_dstore_1 +j_dstore_2 = _idaapi.j_dstore_2 +j_dstore_3 = _idaapi.j_dstore_3 +j_astore_0 = _idaapi.j_astore_0 +j_astore_1 = _idaapi.j_astore_1 +j_astore_2 = _idaapi.j_astore_2 +j_astore_3 = _idaapi.j_astore_3 +j_iastore = _idaapi.j_iastore +j_lastore = _idaapi.j_lastore +j_fastore = _idaapi.j_fastore +j_dastore = _idaapi.j_dastore +j_aastore = _idaapi.j_aastore +j_bastore = _idaapi.j_bastore +j_castore = _idaapi.j_castore +j_sastore = _idaapi.j_sastore +j_pop = _idaapi.j_pop +j_pop2 = _idaapi.j_pop2 +j_dup = _idaapi.j_dup +j_dup_x1 = _idaapi.j_dup_x1 +j_dup_x2 = _idaapi.j_dup_x2 +j_dup2 = _idaapi.j_dup2 +j_dup2_x1 = _idaapi.j_dup2_x1 +j_dup2_x2 = _idaapi.j_dup2_x2 +j_swap = _idaapi.j_swap +j_iadd = _idaapi.j_iadd +j_ladd = _idaapi.j_ladd +j_fadd = _idaapi.j_fadd +j_dadd = _idaapi.j_dadd +j_isub = _idaapi.j_isub +j_lsub = _idaapi.j_lsub +j_fsub = _idaapi.j_fsub +j_dsub = _idaapi.j_dsub +j_imul = _idaapi.j_imul +j_lmul = _idaapi.j_lmul +j_fmul = _idaapi.j_fmul +j_dmul = _idaapi.j_dmul +j_idiv = _idaapi.j_idiv +j_ldiv = _idaapi.j_ldiv +j_fdiv = _idaapi.j_fdiv +j_ddiv = _idaapi.j_ddiv +j_irem = _idaapi.j_irem +j_lrem = _idaapi.j_lrem +j_frem = _idaapi.j_frem +j_drem = _idaapi.j_drem +j_ineg = _idaapi.j_ineg +j_lneg = _idaapi.j_lneg +j_fneg = _idaapi.j_fneg +j_dneg = _idaapi.j_dneg +j_ishl = _idaapi.j_ishl +j_lshl = _idaapi.j_lshl +j_ishr = _idaapi.j_ishr +j_lshr = _idaapi.j_lshr +j_iushr = _idaapi.j_iushr +j_lushr = _idaapi.j_lushr +j_iand = _idaapi.j_iand +j_land = _idaapi.j_land +j_ior = _idaapi.j_ior +j_lor = _idaapi.j_lor +j_ixor = _idaapi.j_ixor +j_lxor = _idaapi.j_lxor +j_iinc = _idaapi.j_iinc +j_i2l = _idaapi.j_i2l +j_i2f = _idaapi.j_i2f +j_i2d = _idaapi.j_i2d +j_l2i = _idaapi.j_l2i +j_l2f = _idaapi.j_l2f +j_l2d = _idaapi.j_l2d +j_f2i = _idaapi.j_f2i +j_f2l = _idaapi.j_f2l +j_f2d = _idaapi.j_f2d +j_d2i = _idaapi.j_d2i +j_d2l = _idaapi.j_d2l +j_d2f = _idaapi.j_d2f +j_i2b = _idaapi.j_i2b +j_i2c = _idaapi.j_i2c +j_i2s = _idaapi.j_i2s +j_lcmp = _idaapi.j_lcmp +j_fcmpl = _idaapi.j_fcmpl +j_fcmpg = _idaapi.j_fcmpg +j_dcmpl = _idaapi.j_dcmpl +j_dcmpg = _idaapi.j_dcmpg +j_ifeq = _idaapi.j_ifeq +j_ifne = _idaapi.j_ifne +j_iflt = _idaapi.j_iflt +j_ifge = _idaapi.j_ifge +j_ifgt = _idaapi.j_ifgt +j_ifle = _idaapi.j_ifle +j_if_icmpeq = _idaapi.j_if_icmpeq +j_if_icmpne = _idaapi.j_if_icmpne +j_if_icmplt = _idaapi.j_if_icmplt +j_if_icmpge = _idaapi.j_if_icmpge +j_if_icmpgt = _idaapi.j_if_icmpgt +j_if_icmple = _idaapi.j_if_icmple +j_if_acmpeq = _idaapi.j_if_acmpeq +j_if_acmpne = _idaapi.j_if_acmpne +j_goto = _idaapi.j_goto +j_jsr = _idaapi.j_jsr +j_ret = _idaapi.j_ret +j_tableswitch = _idaapi.j_tableswitch +j_lookupswitch = _idaapi.j_lookupswitch +j_ireturn = _idaapi.j_ireturn +j_lreturn = _idaapi.j_lreturn +j_freturn = _idaapi.j_freturn +j_dreturn = _idaapi.j_dreturn +j_areturn = _idaapi.j_areturn +j_return = _idaapi.j_return +j_getstatic = _idaapi.j_getstatic +j_putstatic = _idaapi.j_putstatic +j_getfield = _idaapi.j_getfield +j_putfield = _idaapi.j_putfield +j_invokevirtual = _idaapi.j_invokevirtual +j_invokespecial = _idaapi.j_invokespecial +j_invokestatic = _idaapi.j_invokestatic +j_invokeinterface = _idaapi.j_invokeinterface +j_invokedynamic = _idaapi.j_invokedynamic +j_new = _idaapi.j_new +j_newarray = _idaapi.j_newarray +j_anewarray = _idaapi.j_anewarray +j_arraylength = _idaapi.j_arraylength +j_athrow = _idaapi.j_athrow +j_checkcast = _idaapi.j_checkcast +j_instanceof = _idaapi.j_instanceof +j_monitorenter = _idaapi.j_monitorenter +j_monitorexit = _idaapi.j_monitorexit +j_wide = _idaapi.j_wide +j_multianewarray = _idaapi.j_multianewarray +j_ifnull = _idaapi.j_ifnull +j_ifnonnull = _idaapi.j_ifnonnull +j_goto_w = _idaapi.j_goto_w +j_jsr_w = _idaapi.j_jsr_w +j_breakpoint = _idaapi.j_breakpoint +j_lastnorm = _idaapi.j_lastnorm +j_a_invokesuper = _idaapi.j_a_invokesuper +j_a_invokevirtualobject = _idaapi.j_a_invokevirtualobject +j_a_invokeignored = _idaapi.j_a_invokeignored +j_a_software = _idaapi.j_a_software +j_a_hardware = _idaapi.j_a_hardware +j_last = _idaapi.j_last +j_ldc_quick = _idaapi.j_ldc_quick +j_ldcw_quick = _idaapi.j_ldcw_quick +j_ldc2w_quick = _idaapi.j_ldc2w_quick +j_getfield_quick = _idaapi.j_getfield_quick +j_putfield_quick = _idaapi.j_putfield_quick +j_getfield2_quick = _idaapi.j_getfield2_quick +j_putfield2_quick = _idaapi.j_putfield2_quick +j_getstatic_quick = _idaapi.j_getstatic_quick +j_putstatic_quick = _idaapi.j_putstatic_quick +j_getstatic2_quick = _idaapi.j_getstatic2_quick +j_putstatic2_quick = _idaapi.j_putstatic2_quick +j_invokevirtual_quick = _idaapi.j_invokevirtual_quick +j_invokenonvirtual_quick = _idaapi.j_invokenonvirtual_quick +j_invokesuper_quick = _idaapi.j_invokesuper_quick +j_invokestatic_quick = _idaapi.j_invokestatic_quick +j_invokeinterface_quick = _idaapi.j_invokeinterface_quick +j_invokevirtualobject_quick = _idaapi.j_invokevirtualobject_quick +j_invokeignored_quick = _idaapi.j_invokeignored_quick +j_new_quick = _idaapi.j_new_quick +j_anewarray_quick = _idaapi.j_anewarray_quick +j_multianewarray_quick = _idaapi.j_multianewarray_quick +j_checkcast_quick = _idaapi.j_checkcast_quick +j_instanceof_quick = _idaapi.j_instanceof_quick +j_invokevirtual_quick_w = _idaapi.j_invokevirtual_quick_w +j_getfield_quick_w = _idaapi.j_getfield_quick_w +j_putfield_quick_w = _idaapi.j_putfield_quick_w +j_quick_last = _idaapi.j_quick_last +ARM_null = _idaapi.ARM_null +ARM_ret = _idaapi.ARM_ret +ARM_nop = _idaapi.ARM_nop +ARM_b = _idaapi.ARM_b +ARM_bl = _idaapi.ARM_bl +ARM_asr = _idaapi.ARM_asr +ARM_lsl = _idaapi.ARM_lsl +ARM_lsr = _idaapi.ARM_lsr +ARM_ror = _idaapi.ARM_ror +ARM_neg = _idaapi.ARM_neg +ARM_and = _idaapi.ARM_and +ARM_eor = _idaapi.ARM_eor +ARM_sub = _idaapi.ARM_sub +ARM_rsb = _idaapi.ARM_rsb +ARM_add = _idaapi.ARM_add +ARM_adc = _idaapi.ARM_adc +ARM_sbc = _idaapi.ARM_sbc +ARM_rsc = _idaapi.ARM_rsc +ARM_tst = _idaapi.ARM_tst +ARM_teq = _idaapi.ARM_teq +ARM_cmp = _idaapi.ARM_cmp +ARM_cmn = _idaapi.ARM_cmn +ARM_orr = _idaapi.ARM_orr +ARM_mov = _idaapi.ARM_mov +ARM_bic = _idaapi.ARM_bic +ARM_mvn = _idaapi.ARM_mvn +ARM_mrs = _idaapi.ARM_mrs +ARM_msr = _idaapi.ARM_msr +ARM_mul = _idaapi.ARM_mul +ARM_mla = _idaapi.ARM_mla +ARM_ldr = _idaapi.ARM_ldr +ARM_ldrpc = _idaapi.ARM_ldrpc +ARM_str = _idaapi.ARM_str +ARM_ldm = _idaapi.ARM_ldm +ARM_stm = _idaapi.ARM_stm +ARM_swp = _idaapi.ARM_swp +ARM_svc = _idaapi.ARM_svc +ARM_smull = _idaapi.ARM_smull +ARM_smlal = _idaapi.ARM_smlal +ARM_umull = _idaapi.ARM_umull +ARM_umlal = _idaapi.ARM_umlal +ARM_bx = _idaapi.ARM_bx +ARM_pop = _idaapi.ARM_pop +ARM_push = _idaapi.ARM_push +ARM_adr = _idaapi.ARM_adr +ARM_bkpt = _idaapi.ARM_bkpt +ARM_blx1 = _idaapi.ARM_blx1 +ARM_blx2 = _idaapi.ARM_blx2 +ARM_clz = _idaapi.ARM_clz +ARM_ldrd = _idaapi.ARM_ldrd +ARM_pld = _idaapi.ARM_pld +ARM_qadd = _idaapi.ARM_qadd +ARM_qdadd = _idaapi.ARM_qdadd +ARM_qdsub = _idaapi.ARM_qdsub +ARM_qsub = _idaapi.ARM_qsub +ARM_smlabb = _idaapi.ARM_smlabb +ARM_smlatb = _idaapi.ARM_smlatb +ARM_smlabt = _idaapi.ARM_smlabt +ARM_smlatt = _idaapi.ARM_smlatt +ARM_smlalbb = _idaapi.ARM_smlalbb +ARM_smlaltb = _idaapi.ARM_smlaltb +ARM_smlalbt = _idaapi.ARM_smlalbt +ARM_smlaltt = _idaapi.ARM_smlaltt +ARM_smlawb = _idaapi.ARM_smlawb +ARM_smulwb = _idaapi.ARM_smulwb +ARM_smlawt = _idaapi.ARM_smlawt +ARM_smulwt = _idaapi.ARM_smulwt +ARM_smulbb = _idaapi.ARM_smulbb +ARM_smultb = _idaapi.ARM_smultb +ARM_smulbt = _idaapi.ARM_smulbt +ARM_smultt = _idaapi.ARM_smultt +ARM_strd = _idaapi.ARM_strd +xScale_mia = _idaapi.xScale_mia +xScale_miaph = _idaapi.xScale_miaph +xScale_miabb = _idaapi.xScale_miabb +xScale_miabt = _idaapi.xScale_miabt +xScale_miatb = _idaapi.xScale_miatb +xScale_miatt = _idaapi.xScale_miatt +xScale_mar = _idaapi.xScale_mar +xScale_mra = _idaapi.xScale_mra +ARM_movl = _idaapi.ARM_movl +ARM_adrl = _idaapi.ARM_adrl +ARM_swbkpt = _idaapi.ARM_swbkpt +ARM_cdp = _idaapi.ARM_cdp +ARM_cdp2 = _idaapi.ARM_cdp2 +ARM_ldc = _idaapi.ARM_ldc +ARM_ldc2 = _idaapi.ARM_ldc2 +ARM_stc = _idaapi.ARM_stc +ARM_stc2 = _idaapi.ARM_stc2 +ARM_mrc = _idaapi.ARM_mrc +ARM_mrc2 = _idaapi.ARM_mrc2 +ARM_mcr = _idaapi.ARM_mcr +ARM_mcr2 = _idaapi.ARM_mcr2 +ARM_mcrr = _idaapi.ARM_mcrr +ARM_mrrc = _idaapi.ARM_mrrc +ARM_fabsd = _idaapi.ARM_fabsd +ARM_fabss = _idaapi.ARM_fabss +ARM_faddd = _idaapi.ARM_faddd +ARM_fadds = _idaapi.ARM_fadds +ARM_fcmpd = _idaapi.ARM_fcmpd +ARM_fcmps = _idaapi.ARM_fcmps +ARM_fcmped = _idaapi.ARM_fcmped +ARM_fcmpes = _idaapi.ARM_fcmpes +ARM_fcmpezd = _idaapi.ARM_fcmpezd +ARM_fcmpezs = _idaapi.ARM_fcmpezs +ARM_fcmpzd = _idaapi.ARM_fcmpzd +ARM_fcmpzs = _idaapi.ARM_fcmpzs +ARM_fcpyd = _idaapi.ARM_fcpyd +ARM_fcpys = _idaapi.ARM_fcpys +ARM_fcvtsd = _idaapi.ARM_fcvtsd +ARM_fcvtds = _idaapi.ARM_fcvtds +ARM_fdivd = _idaapi.ARM_fdivd +ARM_fdivs = _idaapi.ARM_fdivs +ARM_fldd = _idaapi.ARM_fldd +ARM_flds = _idaapi.ARM_flds +ARM_fldmd = _idaapi.ARM_fldmd +ARM_fldms = _idaapi.ARM_fldms +ARM_fldmx = _idaapi.ARM_fldmx +ARM_fmacd = _idaapi.ARM_fmacd +ARM_fmacs = _idaapi.ARM_fmacs +ARM_fmscd = _idaapi.ARM_fmscd +ARM_fmscs = _idaapi.ARM_fmscs +ARM_fmstat = _idaapi.ARM_fmstat +ARM_fmuld = _idaapi.ARM_fmuld +ARM_fmuls = _idaapi.ARM_fmuls +ARM_fnegd = _idaapi.ARM_fnegd +ARM_fnegs = _idaapi.ARM_fnegs +ARM_fnmacd = _idaapi.ARM_fnmacd +ARM_fnmacs = _idaapi.ARM_fnmacs +ARM_fnmscd = _idaapi.ARM_fnmscd +ARM_fnmscs = _idaapi.ARM_fnmscs +ARM_fnmuld = _idaapi.ARM_fnmuld +ARM_fnmuls = _idaapi.ARM_fnmuls +ARM_fsitod = _idaapi.ARM_fsitod +ARM_fsitos = _idaapi.ARM_fsitos +ARM_fsqrtd = _idaapi.ARM_fsqrtd +ARM_fsqrts = _idaapi.ARM_fsqrts +ARM_fstd = _idaapi.ARM_fstd +ARM_fsts = _idaapi.ARM_fsts +ARM_fstmd = _idaapi.ARM_fstmd +ARM_fstms = _idaapi.ARM_fstms +ARM_fstmx = _idaapi.ARM_fstmx +ARM_fsubd = _idaapi.ARM_fsubd +ARM_fsubs = _idaapi.ARM_fsubs +ARM_ftosid = _idaapi.ARM_ftosid +ARM_ftosis = _idaapi.ARM_ftosis +ARM_ftosizd = _idaapi.ARM_ftosizd +ARM_ftosizs = _idaapi.ARM_ftosizs +ARM_ftouid = _idaapi.ARM_ftouid +ARM_ftouis = _idaapi.ARM_ftouis +ARM_ftouizd = _idaapi.ARM_ftouizd +ARM_ftouizs = _idaapi.ARM_ftouizs +ARM_fuitod = _idaapi.ARM_fuitod +ARM_fuitos = _idaapi.ARM_fuitos +ARM_fmdhr = _idaapi.ARM_fmdhr +ARM_fmrdh = _idaapi.ARM_fmrdh +ARM_fmdlr = _idaapi.ARM_fmdlr +ARM_fmrdl = _idaapi.ARM_fmrdl +ARM_fmxr = _idaapi.ARM_fmxr +ARM_fmrx = _idaapi.ARM_fmrx +ARM_fmsr = _idaapi.ARM_fmsr +ARM_fmrs = _idaapi.ARM_fmrs +ARM_fmdrr = _idaapi.ARM_fmdrr +ARM_fmrrd = _idaapi.ARM_fmrrd +ARM_fmsrr = _idaapi.ARM_fmsrr +ARM_fmrrs = _idaapi.ARM_fmrrs +ARM_bxj = _idaapi.ARM_bxj +ARM_mcrr2 = _idaapi.ARM_mcrr2 +ARM_mrrc2 = _idaapi.ARM_mrrc2 +ARM_cps = _idaapi.ARM_cps +ARM_cpsid = _idaapi.ARM_cpsid +ARM_cpsie = _idaapi.ARM_cpsie +ARM_ldrex = _idaapi.ARM_ldrex +ARM_pkhbt = _idaapi.ARM_pkhbt +ARM_pkhtb = _idaapi.ARM_pkhtb +ARM_qadd16 = _idaapi.ARM_qadd16 +ARM_qadd8 = _idaapi.ARM_qadd8 +ARM_qaddsubx = _idaapi.ARM_qaddsubx +ARM_qsub16 = _idaapi.ARM_qsub16 +ARM_qsub8 = _idaapi.ARM_qsub8 +ARM_qsubaddx = _idaapi.ARM_qsubaddx +ARM_rev = _idaapi.ARM_rev +ARM_rev16 = _idaapi.ARM_rev16 +ARM_revsh = _idaapi.ARM_revsh +ARM_rfe = _idaapi.ARM_rfe +ARM_sadd16 = _idaapi.ARM_sadd16 +ARM_sadd8 = _idaapi.ARM_sadd8 +ARM_saddsubx = _idaapi.ARM_saddsubx +ARM_sel = _idaapi.ARM_sel +ARM_setend = _idaapi.ARM_setend +ARM_shadd16 = _idaapi.ARM_shadd16 +ARM_shadd8 = _idaapi.ARM_shadd8 +ARM_shaddsubx = _idaapi.ARM_shaddsubx +ARM_shsub16 = _idaapi.ARM_shsub16 +ARM_shsub8 = _idaapi.ARM_shsub8 +ARM_shsubaddx = _idaapi.ARM_shsubaddx +ARM_smlad = _idaapi.ARM_smlad +ARM_smladx = _idaapi.ARM_smladx +ARM_smuad = _idaapi.ARM_smuad +ARM_smuadx = _idaapi.ARM_smuadx +ARM_smlald = _idaapi.ARM_smlald +ARM_smlaldx = _idaapi.ARM_smlaldx +ARM_smlsd = _idaapi.ARM_smlsd +ARM_smlsdx = _idaapi.ARM_smlsdx +ARM_smusd = _idaapi.ARM_smusd +ARM_smusdx = _idaapi.ARM_smusdx +ARM_smlsld = _idaapi.ARM_smlsld +ARM_smlsldx = _idaapi.ARM_smlsldx +ARM_smmla = _idaapi.ARM_smmla +ARM_smmlar = _idaapi.ARM_smmlar +ARM_smmul = _idaapi.ARM_smmul +ARM_smmulr = _idaapi.ARM_smmulr +ARM_smmls = _idaapi.ARM_smmls +ARM_smmlsr = _idaapi.ARM_smmlsr +ARM_srs = _idaapi.ARM_srs +ARM_ssat = _idaapi.ARM_ssat +ARM_ssat16 = _idaapi.ARM_ssat16 +ARM_ssub16 = _idaapi.ARM_ssub16 +ARM_ssub8 = _idaapi.ARM_ssub8 +ARM_ssubaddx = _idaapi.ARM_ssubaddx +ARM_strex = _idaapi.ARM_strex +ARM_sxtab = _idaapi.ARM_sxtab +ARM_sxtb = _idaapi.ARM_sxtb +ARM_sxtab16 = _idaapi.ARM_sxtab16 +ARM_sxtb16 = _idaapi.ARM_sxtb16 +ARM_sxtah = _idaapi.ARM_sxtah +ARM_sxth = _idaapi.ARM_sxth +ARM_uadd16 = _idaapi.ARM_uadd16 +ARM_uadd8 = _idaapi.ARM_uadd8 +ARM_uaddsubx = _idaapi.ARM_uaddsubx +ARM_uhadd16 = _idaapi.ARM_uhadd16 +ARM_uhadd8 = _idaapi.ARM_uhadd8 +ARM_uhaddsubx = _idaapi.ARM_uhaddsubx +ARM_uhsub16 = _idaapi.ARM_uhsub16 +ARM_uhsub8 = _idaapi.ARM_uhsub8 +ARM_uhsubaddx = _idaapi.ARM_uhsubaddx +ARM_umaal = _idaapi.ARM_umaal +ARM_uqadd16 = _idaapi.ARM_uqadd16 +ARM_uqadd8 = _idaapi.ARM_uqadd8 +ARM_uqaddsubx = _idaapi.ARM_uqaddsubx +ARM_uqsub16 = _idaapi.ARM_uqsub16 +ARM_uqsub8 = _idaapi.ARM_uqsub8 +ARM_uqsubaddx = _idaapi.ARM_uqsubaddx +ARM_usada8 = _idaapi.ARM_usada8 +ARM_usad8 = _idaapi.ARM_usad8 +ARM_usat = _idaapi.ARM_usat +ARM_usat16 = _idaapi.ARM_usat16 +ARM_usub16 = _idaapi.ARM_usub16 +ARM_usub8 = _idaapi.ARM_usub8 +ARM_usubaddx = _idaapi.ARM_usubaddx +ARM_uxtab = _idaapi.ARM_uxtab +ARM_uxtb = _idaapi.ARM_uxtb +ARM_uxtab16 = _idaapi.ARM_uxtab16 +ARM_uxtb16 = _idaapi.ARM_uxtb16 +ARM_uxtah = _idaapi.ARM_uxtah +ARM_uxth = _idaapi.ARM_uxth +ARM_clrex = _idaapi.ARM_clrex +ARM_ldrexb = _idaapi.ARM_ldrexb +ARM_ldrexd = _idaapi.ARM_ldrexd +ARM_ldrexh = _idaapi.ARM_ldrexh +ARM_strexb = _idaapi.ARM_strexb +ARM_strexd = _idaapi.ARM_strexd +ARM_strexh = _idaapi.ARM_strexh +ARM_yield = _idaapi.ARM_yield +ARM_sev = _idaapi.ARM_sev +ARM_wfe = _idaapi.ARM_wfe +ARM_wfi = _idaapi.ARM_wfi +ARM_smc = _idaapi.ARM_smc +ARM_orn = _idaapi.ARM_orn +ARM_movt = _idaapi.ARM_movt +ARM_sbfx = _idaapi.ARM_sbfx +ARM_ubfx = _idaapi.ARM_ubfx +ARM_bfi = _idaapi.ARM_bfi +ARM_bfc = _idaapi.ARM_bfc +ARM_tbb = _idaapi.ARM_tbb +ARM_tbh = _idaapi.ARM_tbh +ARM_pli = _idaapi.ARM_pli +ARM_rbit = _idaapi.ARM_rbit +ARM_it = _idaapi.ARM_it +ARM_mls = _idaapi.ARM_mls +ARM_sdiv = _idaapi.ARM_sdiv +ARM_udiv = _idaapi.ARM_udiv +ARM_cbz = _idaapi.ARM_cbz +ARM_cbnz = _idaapi.ARM_cbnz +ARM_dsb = _idaapi.ARM_dsb +ARM_dmb = _idaapi.ARM_dmb +ARM_isb = _idaapi.ARM_isb +ARM_dbg = _idaapi.ARM_dbg +ARM_und = _idaapi.ARM_und +ARM_rrx = _idaapi.ARM_rrx +ARM_enterx = _idaapi.ARM_enterx +ARM_leavex = _idaapi.ARM_leavex +ARM_chka = _idaapi.ARM_chka +ARM_hb = _idaapi.ARM_hb +ARM_hbl = _idaapi.ARM_hbl +ARM_hblp = _idaapi.ARM_hblp +ARM_hbp = _idaapi.ARM_hbp +ARM_vaba = _idaapi.ARM_vaba +ARM_vabal = _idaapi.ARM_vabal +ARM_vabd = _idaapi.ARM_vabd +ARM_vabdl = _idaapi.ARM_vabdl +ARM_vabs = _idaapi.ARM_vabs +ARM_vacge = _idaapi.ARM_vacge +ARM_vacgt = _idaapi.ARM_vacgt +ARM_vacle = _idaapi.ARM_vacle +ARM_vaclt = _idaapi.ARM_vaclt +ARM_vadd = _idaapi.ARM_vadd +ARM_vaddhn = _idaapi.ARM_vaddhn +ARM_vaddl = _idaapi.ARM_vaddl +ARM_vaddw = _idaapi.ARM_vaddw +ARM_vand = _idaapi.ARM_vand +ARM_vbic = _idaapi.ARM_vbic +ARM_vbif = _idaapi.ARM_vbif +ARM_vbit = _idaapi.ARM_vbit +ARM_vbsl = _idaapi.ARM_vbsl +ARM_vceq = _idaapi.ARM_vceq +ARM_vcge = _idaapi.ARM_vcge +ARM_vcgt = _idaapi.ARM_vcgt +ARM_vcle = _idaapi.ARM_vcle +ARM_vcls = _idaapi.ARM_vcls +ARM_vclt = _idaapi.ARM_vclt +ARM_vclz = _idaapi.ARM_vclz +ARM_vcmp = _idaapi.ARM_vcmp +ARM_vcmpe = _idaapi.ARM_vcmpe +ARM_vcnt = _idaapi.ARM_vcnt +ARM_vcvt = _idaapi.ARM_vcvt +ARM_vcvtr = _idaapi.ARM_vcvtr +ARM_vcvtb = _idaapi.ARM_vcvtb +ARM_vcvtt = _idaapi.ARM_vcvtt +ARM_vdiv = _idaapi.ARM_vdiv +ARM_vdup = _idaapi.ARM_vdup +ARM_veor = _idaapi.ARM_veor +ARM_vext = _idaapi.ARM_vext +ARM_vfma = _idaapi.ARM_vfma +ARM_vfms = _idaapi.ARM_vfms +ARM_vfnma = _idaapi.ARM_vfnma +ARM_vfnms = _idaapi.ARM_vfnms +ARM_vhadd = _idaapi.ARM_vhadd +ARM_vhsub = _idaapi.ARM_vhsub +ARM_vld1 = _idaapi.ARM_vld1 +ARM_vld2 = _idaapi.ARM_vld2 +ARM_vld3 = _idaapi.ARM_vld3 +ARM_vld4 = _idaapi.ARM_vld4 +ARM_vldm = _idaapi.ARM_vldm +ARM_vldr = _idaapi.ARM_vldr +ARM_vmax = _idaapi.ARM_vmax +ARM_vmin = _idaapi.ARM_vmin +ARM_vmla = _idaapi.ARM_vmla +ARM_vmlal = _idaapi.ARM_vmlal +ARM_vmls = _idaapi.ARM_vmls +ARM_vmlsl = _idaapi.ARM_vmlsl +ARM_vmov = _idaapi.ARM_vmov +ARM_vmovl = _idaapi.ARM_vmovl +ARM_vmovn = _idaapi.ARM_vmovn +ARM_vmrs = _idaapi.ARM_vmrs +ARM_vmsr = _idaapi.ARM_vmsr +ARM_vmul = _idaapi.ARM_vmul +ARM_vmull = _idaapi.ARM_vmull +ARM_vmvn = _idaapi.ARM_vmvn +ARM_vneg = _idaapi.ARM_vneg +ARM_vnmla = _idaapi.ARM_vnmla +ARM_vnmls = _idaapi.ARM_vnmls +ARM_vnmul = _idaapi.ARM_vnmul +ARM_vorn = _idaapi.ARM_vorn +ARM_vorr = _idaapi.ARM_vorr +ARM_vpadal = _idaapi.ARM_vpadal +ARM_vpadd = _idaapi.ARM_vpadd +ARM_vpaddl = _idaapi.ARM_vpaddl +ARM_vpmax = _idaapi.ARM_vpmax +ARM_vpmin = _idaapi.ARM_vpmin +ARM_vpop = _idaapi.ARM_vpop +ARM_vpush = _idaapi.ARM_vpush +ARM_vqabs = _idaapi.ARM_vqabs +ARM_vqadd = _idaapi.ARM_vqadd +ARM_vqdmlal = _idaapi.ARM_vqdmlal +ARM_vqdmlsl = _idaapi.ARM_vqdmlsl +ARM_vqdmulh = _idaapi.ARM_vqdmulh +ARM_vqdmull = _idaapi.ARM_vqdmull +ARM_vqmovn = _idaapi.ARM_vqmovn +ARM_vqmovun = _idaapi.ARM_vqmovun +ARM_vqneg = _idaapi.ARM_vqneg +ARM_vqrdmulh = _idaapi.ARM_vqrdmulh +ARM_vqrshl = _idaapi.ARM_vqrshl +ARM_vqrshrn = _idaapi.ARM_vqrshrn +ARM_vqrshrun = _idaapi.ARM_vqrshrun +ARM_vqshl = _idaapi.ARM_vqshl +ARM_vqshlu = _idaapi.ARM_vqshlu +ARM_vqshrn = _idaapi.ARM_vqshrn +ARM_vqshrun = _idaapi.ARM_vqshrun +ARM_vqsub = _idaapi.ARM_vqsub +ARM_vraddhn = _idaapi.ARM_vraddhn +ARM_vrecpe = _idaapi.ARM_vrecpe +ARM_vrecps = _idaapi.ARM_vrecps +ARM_vrev16 = _idaapi.ARM_vrev16 +ARM_vrev32 = _idaapi.ARM_vrev32 +ARM_vrev64 = _idaapi.ARM_vrev64 +ARM_vrhadd = _idaapi.ARM_vrhadd +ARM_vrshl = _idaapi.ARM_vrshl +ARM_vrshr = _idaapi.ARM_vrshr +ARM_vrshrn = _idaapi.ARM_vrshrn +ARM_vrsqrte = _idaapi.ARM_vrsqrte +ARM_vrsqrts = _idaapi.ARM_vrsqrts +ARM_vrsra = _idaapi.ARM_vrsra +ARM_vrsubhn = _idaapi.ARM_vrsubhn +ARM_vshl = _idaapi.ARM_vshl +ARM_vshll = _idaapi.ARM_vshll +ARM_vshr = _idaapi.ARM_vshr +ARM_vshrn = _idaapi.ARM_vshrn +ARM_vsli = _idaapi.ARM_vsli +ARM_vsqrt = _idaapi.ARM_vsqrt +ARM_vsra = _idaapi.ARM_vsra +ARM_vsri = _idaapi.ARM_vsri +ARM_vst1 = _idaapi.ARM_vst1 +ARM_vst2 = _idaapi.ARM_vst2 +ARM_vst3 = _idaapi.ARM_vst3 +ARM_vst4 = _idaapi.ARM_vst4 +ARM_vstm = _idaapi.ARM_vstm +ARM_vstr = _idaapi.ARM_vstr +ARM_vsub = _idaapi.ARM_vsub +ARM_vsubhn = _idaapi.ARM_vsubhn +ARM_vsubl = _idaapi.ARM_vsubl +ARM_vsubw = _idaapi.ARM_vsubw +ARM_vswp = _idaapi.ARM_vswp +ARM_vtbl = _idaapi.ARM_vtbl +ARM_vtbx = _idaapi.ARM_vtbx +ARM_vtrn = _idaapi.ARM_vtrn +ARM_vtst = _idaapi.ARM_vtst +ARM_vuzp = _idaapi.ARM_vuzp +ARM_vzip = _idaapi.ARM_vzip +ARM_eret = _idaapi.ARM_eret +ARM_hvc = _idaapi.ARM_hvc +ARM_lda = _idaapi.ARM_lda +ARM_stl = _idaapi.ARM_stl +ARM_ldaex = _idaapi.ARM_ldaex +ARM_stlex = _idaapi.ARM_stlex +ARM_vsel = _idaapi.ARM_vsel +ARM_vmaxnm = _idaapi.ARM_vmaxnm +ARM_vminnm = _idaapi.ARM_vminnm +ARM_vcvta = _idaapi.ARM_vcvta +ARM_vcvtn = _idaapi.ARM_vcvtn +ARM_vcvtp = _idaapi.ARM_vcvtp +ARM_vcvtm = _idaapi.ARM_vcvtm +ARM_vrintx = _idaapi.ARM_vrintx +ARM_vrintr = _idaapi.ARM_vrintr +ARM_vrintz = _idaapi.ARM_vrintz +ARM_vrinta = _idaapi.ARM_vrinta +ARM_vrintn = _idaapi.ARM_vrintn +ARM_vrintp = _idaapi.ARM_vrintp +ARM_vrintm = _idaapi.ARM_vrintm +ARM_aesd = _idaapi.ARM_aesd +ARM_aese = _idaapi.ARM_aese +ARM_aesimc = _idaapi.ARM_aesimc +ARM_aesmc = _idaapi.ARM_aesmc +ARM_sha1c = _idaapi.ARM_sha1c +ARM_sha1m = _idaapi.ARM_sha1m +ARM_sha1p = _idaapi.ARM_sha1p +ARM_sha1h = _idaapi.ARM_sha1h +ARM_sha1su0 = _idaapi.ARM_sha1su0 +ARM_sha1su1 = _idaapi.ARM_sha1su1 +ARM_sha256h = _idaapi.ARM_sha256h +ARM_sha256h2 = _idaapi.ARM_sha256h2 +ARM_sha256su0 = _idaapi.ARM_sha256su0 +ARM_sha256su1 = _idaapi.ARM_sha256su1 +ARM_dcps1 = _idaapi.ARM_dcps1 +ARM_dcps2 = _idaapi.ARM_dcps2 +ARM_dcps3 = _idaapi.ARM_dcps3 +ARM_hlt = _idaapi.ARM_hlt +ARM_sevl = _idaapi.ARM_sevl +ARM_tbz = _idaapi.ARM_tbz +ARM_tbnz = _idaapi.ARM_tbnz +ARM_br = _idaapi.ARM_br +ARM_blr = _idaapi.ARM_blr +ARM_ldur = _idaapi.ARM_ldur +ARM_stur = _idaapi.ARM_stur +ARM_ldp = _idaapi.ARM_ldp +ARM_stp = _idaapi.ARM_stp +ARM_ldnp = _idaapi.ARM_ldnp +ARM_stnp = _idaapi.ARM_stnp +ARM_ldtr = _idaapi.ARM_ldtr +ARM_sttr = _idaapi.ARM_sttr +ARM_ldxr = _idaapi.ARM_ldxr +ARM_stxr = _idaapi.ARM_stxr +ARM_ldxp = _idaapi.ARM_ldxp +ARM_stxp = _idaapi.ARM_stxp +ARM_ldar = _idaapi.ARM_ldar +ARM_stlr = _idaapi.ARM_stlr +ARM_ldaxr = _idaapi.ARM_ldaxr +ARM_stlxr = _idaapi.ARM_stlxr +ARM_ldaxp = _idaapi.ARM_ldaxp +ARM_stlxp = _idaapi.ARM_stlxp +ARM_prfm = _idaapi.ARM_prfm +ARM_prfum = _idaapi.ARM_prfum +ARM_movi = _idaapi.ARM_movi +ARM_mvni = _idaapi.ARM_mvni +ARM_movz = _idaapi.ARM_movz +ARM_movn = _idaapi.ARM_movn +ARM_movk = _idaapi.ARM_movk +ARM_adrp = _idaapi.ARM_adrp +ARM_bfm = _idaapi.ARM_bfm +ARM_sbfm = _idaapi.ARM_sbfm +ARM_ubfm = _idaapi.ARM_ubfm +ARM_bfxil = _idaapi.ARM_bfxil +ARM_sbfiz = _idaapi.ARM_sbfiz +ARM_ubfiz = _idaapi.ARM_ubfiz +ARM_extr = _idaapi.ARM_extr +ARM_sxtw = _idaapi.ARM_sxtw +ARM_uxtw = _idaapi.ARM_uxtw +ARM_eon = _idaapi.ARM_eon +ARM_not = _idaapi.ARM_not +ARM_cls = _idaapi.ARM_cls +ARM_rev32 = _idaapi.ARM_rev32 +ARM_csel = _idaapi.ARM_csel +ARM_csinc = _idaapi.ARM_csinc +ARM_csinv = _idaapi.ARM_csinv +ARM_csneg = _idaapi.ARM_csneg +ARM_cset = _idaapi.ARM_cset +ARM_csetm = _idaapi.ARM_csetm +ARM_cinc = _idaapi.ARM_cinc +ARM_cinv = _idaapi.ARM_cinv +ARM_cneg = _idaapi.ARM_cneg +ARM_ngc = _idaapi.ARM_ngc +ARM_ccmn = _idaapi.ARM_ccmn +ARM_ccmp = _idaapi.ARM_ccmp +ARM_madd = _idaapi.ARM_madd +ARM_msub = _idaapi.ARM_msub +ARM_mneg = _idaapi.ARM_mneg +ARM_smaddl = _idaapi.ARM_smaddl +ARM_smsubl = _idaapi.ARM_smsubl +ARM_smnegl = _idaapi.ARM_smnegl +ARM_smulh = _idaapi.ARM_smulh +ARM_umaddl = _idaapi.ARM_umaddl +ARM_umsubl = _idaapi.ARM_umsubl +ARM_umnegl = _idaapi.ARM_umnegl +ARM_umulh = _idaapi.ARM_umulh +ARM_drps = _idaapi.ARM_drps +ARM_sys = _idaapi.ARM_sys +ARM_sysl = _idaapi.ARM_sysl +ARM_ic = _idaapi.ARM_ic +ARM_dc = _idaapi.ARM_dc +ARM_at = _idaapi.ARM_at +ARM_tlbi = _idaapi.ARM_tlbi +ARM_hint = _idaapi.ARM_hint +ARM_brk = _idaapi.ARM_brk +ARM_uaba = _idaapi.ARM_uaba +ARM_saba = _idaapi.ARM_saba +ARM_uabal = _idaapi.ARM_uabal +ARM_uabal2 = _idaapi.ARM_uabal2 +ARM_sabal = _idaapi.ARM_sabal +ARM_sabal2 = _idaapi.ARM_sabal2 +ARM_uabd = _idaapi.ARM_uabd +ARM_sabd = _idaapi.ARM_sabd +ARM_fabd = _idaapi.ARM_fabd +ARM_uabdl = _idaapi.ARM_uabdl +ARM_uabdl2 = _idaapi.ARM_uabdl2 +ARM_sabdl = _idaapi.ARM_sabdl +ARM_sabdl2 = _idaapi.ARM_sabdl2 +ARM_abs = _idaapi.ARM_abs +ARM_fabs = _idaapi.ARM_fabs +ARM_facge = _idaapi.ARM_facge +ARM_facgt = _idaapi.ARM_facgt +ARM_facle = _idaapi.ARM_facle +ARM_faclt = _idaapi.ARM_faclt +ARM_fadd = _idaapi.ARM_fadd +ARM_addhn = _idaapi.ARM_addhn +ARM_addhn2 = _idaapi.ARM_addhn2 +ARM_uaddl = _idaapi.ARM_uaddl +ARM_uaddl2 = _idaapi.ARM_uaddl2 +ARM_saddl = _idaapi.ARM_saddl +ARM_saddl2 = _idaapi.ARM_saddl2 +ARM_uaddw = _idaapi.ARM_uaddw +ARM_uaddw2 = _idaapi.ARM_uaddw2 +ARM_saddw = _idaapi.ARM_saddw +ARM_saddw2 = _idaapi.ARM_saddw2 +ARM_bif = _idaapi.ARM_bif +ARM_bit = _idaapi.ARM_bit +ARM_bsl = _idaapi.ARM_bsl +ARM_cmeq = _idaapi.ARM_cmeq +ARM_fcmeq = _idaapi.ARM_fcmeq +ARM_cmhs = _idaapi.ARM_cmhs +ARM_cmge = _idaapi.ARM_cmge +ARM_fcmge = _idaapi.ARM_fcmge +ARM_cmhi = _idaapi.ARM_cmhi +ARM_cmgt = _idaapi.ARM_cmgt +ARM_fcmgt = _idaapi.ARM_fcmgt +ARM_cmls = _idaapi.ARM_cmls +ARM_cmle = _idaapi.ARM_cmle +ARM_fcmle = _idaapi.ARM_fcmle +ARM_cmlo = _idaapi.ARM_cmlo +ARM_cmlt = _idaapi.ARM_cmlt +ARM_fcmlt = _idaapi.ARM_fcmlt +ARM_fcmp = _idaapi.ARM_fcmp +ARM_fcmpe = _idaapi.ARM_fcmpe +ARM_fccmp = _idaapi.ARM_fccmp +ARM_fccmpe = _idaapi.ARM_fccmpe +ARM_fcsel = _idaapi.ARM_fcsel +ARM_cnt = _idaapi.ARM_cnt +ARM_fcvt = _idaapi.ARM_fcvt +ARM_fcvtzs = _idaapi.ARM_fcvtzs +ARM_fcvtas = _idaapi.ARM_fcvtas +ARM_fcvtns = _idaapi.ARM_fcvtns +ARM_fcvtps = _idaapi.ARM_fcvtps +ARM_fcvtms = _idaapi.ARM_fcvtms +ARM_fcvtzu = _idaapi.ARM_fcvtzu +ARM_fcvtau = _idaapi.ARM_fcvtau +ARM_fcvtnu = _idaapi.ARM_fcvtnu +ARM_fcvtpu = _idaapi.ARM_fcvtpu +ARM_fcvtmu = _idaapi.ARM_fcvtmu +ARM_ucvtf = _idaapi.ARM_ucvtf +ARM_scvtf = _idaapi.ARM_scvtf +ARM_fcvtn = _idaapi.ARM_fcvtn +ARM_fcvtn2 = _idaapi.ARM_fcvtn2 +ARM_fcvtl = _idaapi.ARM_fcvtl +ARM_fcvtl2 = _idaapi.ARM_fcvtl2 +ARM_fcvtxn = _idaapi.ARM_fcvtxn +ARM_fcvtxn2 = _idaapi.ARM_fcvtxn2 +ARM_frinta = _idaapi.ARM_frinta +ARM_frinti = _idaapi.ARM_frinti +ARM_frintm = _idaapi.ARM_frintm +ARM_frintn = _idaapi.ARM_frintn +ARM_frintp = _idaapi.ARM_frintp +ARM_frintx = _idaapi.ARM_frintx +ARM_frintz = _idaapi.ARM_frintz +ARM_fmadd = _idaapi.ARM_fmadd +ARM_fmsub = _idaapi.ARM_fmsub +ARM_fnmadd = _idaapi.ARM_fnmadd +ARM_fnmsub = _idaapi.ARM_fnmsub +ARM_fdiv = _idaapi.ARM_fdiv +ARM_dup = _idaapi.ARM_dup +ARM_ins = _idaapi.ARM_ins +ARM_ext = _idaapi.ARM_ext +ARM_uhadd = _idaapi.ARM_uhadd +ARM_shadd = _idaapi.ARM_shadd +ARM_uhsub = _idaapi.ARM_uhsub +ARM_shsub = _idaapi.ARM_shsub +ARM_ld1 = _idaapi.ARM_ld1 +ARM_ld2 = _idaapi.ARM_ld2 +ARM_ld3 = _idaapi.ARM_ld3 +ARM_ld4 = _idaapi.ARM_ld4 +ARM_ld1r = _idaapi.ARM_ld1r +ARM_ld2r = _idaapi.ARM_ld2r +ARM_ld3r = _idaapi.ARM_ld3r +ARM_ld4r = _idaapi.ARM_ld4r +ARM_umax = _idaapi.ARM_umax +ARM_smax = _idaapi.ARM_smax +ARM_fmax = _idaapi.ARM_fmax +ARM_fmaxnm = _idaapi.ARM_fmaxnm +ARM_umin = _idaapi.ARM_umin +ARM_smin = _idaapi.ARM_smin +ARM_fmin = _idaapi.ARM_fmin +ARM_fminnm = _idaapi.ARM_fminnm +ARM_fmla = _idaapi.ARM_fmla +ARM_umlal2 = _idaapi.ARM_umlal2 +ARM_smlal2 = _idaapi.ARM_smlal2 +ARM_fmls = _idaapi.ARM_fmls +ARM_umlsl = _idaapi.ARM_umlsl +ARM_umlsl2 = _idaapi.ARM_umlsl2 +ARM_smlsl = _idaapi.ARM_smlsl +ARM_smlsl2 = _idaapi.ARM_smlsl2 +ARM_umov = _idaapi.ARM_umov +ARM_smov = _idaapi.ARM_smov +ARM_fmov = _idaapi.ARM_fmov +ARM_uxtl = _idaapi.ARM_uxtl +ARM_uxtl2 = _idaapi.ARM_uxtl2 +ARM_sxtl = _idaapi.ARM_sxtl +ARM_sxtl2 = _idaapi.ARM_sxtl2 +ARM_xtn = _idaapi.ARM_xtn +ARM_xtn2 = _idaapi.ARM_xtn2 +ARM_fmul = _idaapi.ARM_fmul +ARM_pmul = _idaapi.ARM_pmul +ARM_fmulx = _idaapi.ARM_fmulx +ARM_fnmul = _idaapi.ARM_fnmul +ARM_umull2 = _idaapi.ARM_umull2 +ARM_smull2 = _idaapi.ARM_smull2 +ARM_pmull = _idaapi.ARM_pmull +ARM_pmull2 = _idaapi.ARM_pmull2 +ARM_fneg = _idaapi.ARM_fneg +ARM_uadalp = _idaapi.ARM_uadalp +ARM_sadalp = _idaapi.ARM_sadalp +ARM_addp = _idaapi.ARM_addp +ARM_faddp = _idaapi.ARM_faddp +ARM_uaddlp = _idaapi.ARM_uaddlp +ARM_saddlp = _idaapi.ARM_saddlp +ARM_umaxp = _idaapi.ARM_umaxp +ARM_smaxp = _idaapi.ARM_smaxp +ARM_fmaxp = _idaapi.ARM_fmaxp +ARM_fmaxnmp = _idaapi.ARM_fmaxnmp +ARM_uminp = _idaapi.ARM_uminp +ARM_sminp = _idaapi.ARM_sminp +ARM_fminp = _idaapi.ARM_fminp +ARM_fminnmp = _idaapi.ARM_fminnmp +ARM_sqabs = _idaapi.ARM_sqabs +ARM_uqadd = _idaapi.ARM_uqadd +ARM_sqadd = _idaapi.ARM_sqadd +ARM_suqadd = _idaapi.ARM_suqadd +ARM_usqadd = _idaapi.ARM_usqadd +ARM_sqdmlal = _idaapi.ARM_sqdmlal +ARM_sqdmlal2 = _idaapi.ARM_sqdmlal2 +ARM_sqdmlsl = _idaapi.ARM_sqdmlsl +ARM_sqdmlsl2 = _idaapi.ARM_sqdmlsl2 +ARM_sqdmulh = _idaapi.ARM_sqdmulh +ARM_sqdmull = _idaapi.ARM_sqdmull +ARM_sqdmull2 = _idaapi.ARM_sqdmull2 +ARM_uqxtn = _idaapi.ARM_uqxtn +ARM_uqxtn2 = _idaapi.ARM_uqxtn2 +ARM_sqxtn = _idaapi.ARM_sqxtn +ARM_sqxtn2 = _idaapi.ARM_sqxtn2 +ARM_sqxtun = _idaapi.ARM_sqxtun +ARM_sqxtun2 = _idaapi.ARM_sqxtun2 +ARM_sqneg = _idaapi.ARM_sqneg +ARM_sqrdmulh = _idaapi.ARM_sqrdmulh +ARM_uqrshl = _idaapi.ARM_uqrshl +ARM_sqrshl = _idaapi.ARM_sqrshl +ARM_uqrshrn = _idaapi.ARM_uqrshrn +ARM_uqrshrn2 = _idaapi.ARM_uqrshrn2 +ARM_sqrshrn = _idaapi.ARM_sqrshrn +ARM_sqrshrn2 = _idaapi.ARM_sqrshrn2 +ARM_sqrshrun = _idaapi.ARM_sqrshrun +ARM_sqrshrun2 = _idaapi.ARM_sqrshrun2 +ARM_uqshl = _idaapi.ARM_uqshl +ARM_sqshl = _idaapi.ARM_sqshl +ARM_sqshlu = _idaapi.ARM_sqshlu +ARM_uqshrn = _idaapi.ARM_uqshrn +ARM_uqshrn2 = _idaapi.ARM_uqshrn2 +ARM_sqshrn = _idaapi.ARM_sqshrn +ARM_sqshrn2 = _idaapi.ARM_sqshrn2 +ARM_sqshrun = _idaapi.ARM_sqshrun +ARM_sqshrun2 = _idaapi.ARM_sqshrun2 +ARM_uqsub = _idaapi.ARM_uqsub +ARM_sqsub = _idaapi.ARM_sqsub +ARM_raddhn = _idaapi.ARM_raddhn +ARM_raddhn2 = _idaapi.ARM_raddhn2 +ARM_urecpe = _idaapi.ARM_urecpe +ARM_frecpe = _idaapi.ARM_frecpe +ARM_frecps = _idaapi.ARM_frecps +ARM_frecpx = _idaapi.ARM_frecpx +ARM_rev64 = _idaapi.ARM_rev64 +ARM_urhadd = _idaapi.ARM_urhadd +ARM_srhadd = _idaapi.ARM_srhadd +ARM_urshl = _idaapi.ARM_urshl +ARM_srshl = _idaapi.ARM_srshl +ARM_urshr = _idaapi.ARM_urshr +ARM_srshr = _idaapi.ARM_srshr +ARM_rshrn = _idaapi.ARM_rshrn +ARM_rshrn2 = _idaapi.ARM_rshrn2 +ARM_ursqrte = _idaapi.ARM_ursqrte +ARM_frsqrte = _idaapi.ARM_frsqrte +ARM_frsqrts = _idaapi.ARM_frsqrts +ARM_ursra = _idaapi.ARM_ursra +ARM_srsra = _idaapi.ARM_srsra +ARM_rsubhn = _idaapi.ARM_rsubhn +ARM_rsubhn2 = _idaapi.ARM_rsubhn2 +ARM_ushl = _idaapi.ARM_ushl +ARM_sshl = _idaapi.ARM_sshl +ARM_ushll = _idaapi.ARM_ushll +ARM_ushll2 = _idaapi.ARM_ushll2 +ARM_sshll = _idaapi.ARM_sshll +ARM_sshll2 = _idaapi.ARM_sshll2 +ARM_ushr = _idaapi.ARM_ushr +ARM_sshr = _idaapi.ARM_sshr +ARM_shrn = _idaapi.ARM_shrn +ARM_shrn2 = _idaapi.ARM_shrn2 +ARM_shl = _idaapi.ARM_shl +ARM_shll = _idaapi.ARM_shll +ARM_shll2 = _idaapi.ARM_shll2 +ARM_sli = _idaapi.ARM_sli +ARM_fsqrt = _idaapi.ARM_fsqrt +ARM_usra = _idaapi.ARM_usra +ARM_ssra = _idaapi.ARM_ssra +ARM_sri = _idaapi.ARM_sri +ARM_st1 = _idaapi.ARM_st1 +ARM_st2 = _idaapi.ARM_st2 +ARM_st3 = _idaapi.ARM_st3 +ARM_st4 = _idaapi.ARM_st4 +ARM_fsub = _idaapi.ARM_fsub +ARM_subhn = _idaapi.ARM_subhn +ARM_subhn2 = _idaapi.ARM_subhn2 +ARM_usubl = _idaapi.ARM_usubl +ARM_usubl2 = _idaapi.ARM_usubl2 +ARM_ssubl = _idaapi.ARM_ssubl +ARM_ssubl2 = _idaapi.ARM_ssubl2 +ARM_usubw = _idaapi.ARM_usubw +ARM_usubw2 = _idaapi.ARM_usubw2 +ARM_ssubw = _idaapi.ARM_ssubw +ARM_ssubw2 = _idaapi.ARM_ssubw2 +ARM_tbl = _idaapi.ARM_tbl +ARM_tbx = _idaapi.ARM_tbx +ARM_trn1 = _idaapi.ARM_trn1 +ARM_trn2 = _idaapi.ARM_trn2 +ARM_cmtst = _idaapi.ARM_cmtst +ARM_uzp1 = _idaapi.ARM_uzp1 +ARM_uzp2 = _idaapi.ARM_uzp2 +ARM_zip1 = _idaapi.ARM_zip1 +ARM_zip2 = _idaapi.ARM_zip2 +ARM_addv = _idaapi.ARM_addv +ARM_uaddlv = _idaapi.ARM_uaddlv +ARM_saddlv = _idaapi.ARM_saddlv +ARM_umaxv = _idaapi.ARM_umaxv +ARM_smaxv = _idaapi.ARM_smaxv +ARM_fmaxv = _idaapi.ARM_fmaxv +ARM_fmaxnmv = _idaapi.ARM_fmaxnmv +ARM_uminv = _idaapi.ARM_uminv +ARM_sminv = _idaapi.ARM_sminv +ARM_fminv = _idaapi.ARM_fminv +ARM_fminnmv = _idaapi.ARM_fminnmv +ARM_last = _idaapi.ARM_last +TMS6_null = _idaapi.TMS6_null +TMS6_abs = _idaapi.TMS6_abs +TMS6_add = _idaapi.TMS6_add +TMS6_addu = _idaapi.TMS6_addu +TMS6_addab = _idaapi.TMS6_addab +TMS6_addah = _idaapi.TMS6_addah +TMS6_addaw = _idaapi.TMS6_addaw +TMS6_addk = _idaapi.TMS6_addk +TMS6_add2 = _idaapi.TMS6_add2 +TMS6_and = _idaapi.TMS6_and +TMS6_b = _idaapi.TMS6_b +TMS6_clr = _idaapi.TMS6_clr +TMS6_cmpeq = _idaapi.TMS6_cmpeq +TMS6_cmpgt = _idaapi.TMS6_cmpgt +TMS6_cmpgtu = _idaapi.TMS6_cmpgtu +TMS6_cmplt = _idaapi.TMS6_cmplt +TMS6_cmpltu = _idaapi.TMS6_cmpltu +TMS6_ext = _idaapi.TMS6_ext +TMS6_extu = _idaapi.TMS6_extu +TMS6_idle = _idaapi.TMS6_idle +TMS6_ldb = _idaapi.TMS6_ldb +TMS6_ldbu = _idaapi.TMS6_ldbu +TMS6_ldh = _idaapi.TMS6_ldh +TMS6_ldhu = _idaapi.TMS6_ldhu +TMS6_ldw = _idaapi.TMS6_ldw +TMS6_lmbd = _idaapi.TMS6_lmbd +TMS6_mpy = _idaapi.TMS6_mpy +TMS6_mpyu = _idaapi.TMS6_mpyu +TMS6_mpyus = _idaapi.TMS6_mpyus +TMS6_mpysu = _idaapi.TMS6_mpysu +TMS6_mpyh = _idaapi.TMS6_mpyh +TMS6_mpyhu = _idaapi.TMS6_mpyhu +TMS6_mpyhus = _idaapi.TMS6_mpyhus +TMS6_mpyhsu = _idaapi.TMS6_mpyhsu +TMS6_mpyhl = _idaapi.TMS6_mpyhl +TMS6_mpyhlu = _idaapi.TMS6_mpyhlu +TMS6_mpyhuls = _idaapi.TMS6_mpyhuls +TMS6_mpyhslu = _idaapi.TMS6_mpyhslu +TMS6_mpylh = _idaapi.TMS6_mpylh +TMS6_mpylhu = _idaapi.TMS6_mpylhu +TMS6_mpyluhs = _idaapi.TMS6_mpyluhs +TMS6_mpylshu = _idaapi.TMS6_mpylshu +TMS6_mv = _idaapi.TMS6_mv +TMS6_mvc = _idaapi.TMS6_mvc +TMS6_mvk = _idaapi.TMS6_mvk +TMS6_mvkh = _idaapi.TMS6_mvkh +TMS6_mvklh = _idaapi.TMS6_mvklh +TMS6_neg = _idaapi.TMS6_neg +TMS6_nop = _idaapi.TMS6_nop +TMS6_norm = _idaapi.TMS6_norm +TMS6_not = _idaapi.TMS6_not +TMS6_or = _idaapi.TMS6_or +TMS6_sadd = _idaapi.TMS6_sadd +TMS6_sat = _idaapi.TMS6_sat +TMS6_set = _idaapi.TMS6_set +TMS6_shl = _idaapi.TMS6_shl +TMS6_shr = _idaapi.TMS6_shr +TMS6_shru = _idaapi.TMS6_shru +TMS6_smpy = _idaapi.TMS6_smpy +TMS6_smpyhl = _idaapi.TMS6_smpyhl +TMS6_smpylh = _idaapi.TMS6_smpylh +TMS6_smpyh = _idaapi.TMS6_smpyh +TMS6_sshl = _idaapi.TMS6_sshl +TMS6_ssub = _idaapi.TMS6_ssub +TMS6_stb = _idaapi.TMS6_stb +TMS6_stbu = _idaapi.TMS6_stbu +TMS6_sth = _idaapi.TMS6_sth +TMS6_sthu = _idaapi.TMS6_sthu +TMS6_stw = _idaapi.TMS6_stw +TMS6_sub = _idaapi.TMS6_sub +TMS6_subu = _idaapi.TMS6_subu +TMS6_subab = _idaapi.TMS6_subab +TMS6_subah = _idaapi.TMS6_subah +TMS6_subaw = _idaapi.TMS6_subaw +TMS6_subc = _idaapi.TMS6_subc +TMS6_sub2 = _idaapi.TMS6_sub2 +TMS6_xor = _idaapi.TMS6_xor +TMS6_zero = _idaapi.TMS6_zero +TMS6_abs2 = _idaapi.TMS6_abs2 +TMS6_absdp = _idaapi.TMS6_absdp +TMS6_abssp = _idaapi.TMS6_abssp +TMS6_add4 = _idaapi.TMS6_add4 +TMS6_addad = _idaapi.TMS6_addad +TMS6_adddp = _idaapi.TMS6_adddp +TMS6_addkpc = _idaapi.TMS6_addkpc +TMS6_addsp = _idaapi.TMS6_addsp +TMS6_addsub = _idaapi.TMS6_addsub +TMS6_addsub2 = _idaapi.TMS6_addsub2 +TMS6_andn = _idaapi.TMS6_andn +TMS6_avg2 = _idaapi.TMS6_avg2 +TMS6_avgu4 = _idaapi.TMS6_avgu4 +TMS6_bdec = _idaapi.TMS6_bdec +TMS6_bitc4 = _idaapi.TMS6_bitc4 +TMS6_bitr = _idaapi.TMS6_bitr +TMS6_bnop = _idaapi.TMS6_bnop +TMS6_bpos = _idaapi.TMS6_bpos +TMS6_callp = _idaapi.TMS6_callp +TMS6_cmpeq2 = _idaapi.TMS6_cmpeq2 +TMS6_cmpeq4 = _idaapi.TMS6_cmpeq4 +TMS6_cmpeqdp = _idaapi.TMS6_cmpeqdp +TMS6_cmpeqsp = _idaapi.TMS6_cmpeqsp +TMS6_cmpgt2 = _idaapi.TMS6_cmpgt2 +TMS6_cmpgtdp = _idaapi.TMS6_cmpgtdp +TMS6_cmpgtsp = _idaapi.TMS6_cmpgtsp +TMS6_cmpgtu4 = _idaapi.TMS6_cmpgtu4 +TMS6_cmplt2 = _idaapi.TMS6_cmplt2 +TMS6_cmpltdp = _idaapi.TMS6_cmpltdp +TMS6_cmpltsp = _idaapi.TMS6_cmpltsp +TMS6_cmpltu4 = _idaapi.TMS6_cmpltu4 +TMS6_cmpy = _idaapi.TMS6_cmpy +TMS6_cmpyr = _idaapi.TMS6_cmpyr +TMS6_cmpyr1 = _idaapi.TMS6_cmpyr1 +TMS6_ddotp4 = _idaapi.TMS6_ddotp4 +TMS6_ddotph2 = _idaapi.TMS6_ddotph2 +TMS6_ddotph2r = _idaapi.TMS6_ddotph2r +TMS6_ddotpl2 = _idaapi.TMS6_ddotpl2 +TMS6_ddotpl2r = _idaapi.TMS6_ddotpl2r +TMS6_deal = _idaapi.TMS6_deal +TMS6_dint = _idaapi.TMS6_dint +TMS6_dmv = _idaapi.TMS6_dmv +TMS6_dotp2 = _idaapi.TMS6_dotp2 +TMS6_dotpn2 = _idaapi.TMS6_dotpn2 +TMS6_dotpnrsu2 = _idaapi.TMS6_dotpnrsu2 +TMS6_dotpnrus2 = _idaapi.TMS6_dotpnrus2 +TMS6_dotprsu2 = _idaapi.TMS6_dotprsu2 +TMS6_dotprus2 = _idaapi.TMS6_dotprus2 +TMS6_dotpsu4 = _idaapi.TMS6_dotpsu4 +TMS6_dotpu4 = _idaapi.TMS6_dotpu4 +TMS6_dotpus4 = _idaapi.TMS6_dotpus4 +TMS6_dpack2 = _idaapi.TMS6_dpack2 +TMS6_dpackx2 = _idaapi.TMS6_dpackx2 +TMS6_dpint = _idaapi.TMS6_dpint +TMS6_dpsp = _idaapi.TMS6_dpsp +TMS6_dptrunc = _idaapi.TMS6_dptrunc +TMS6_gmpy = _idaapi.TMS6_gmpy +TMS6_gmpy4 = _idaapi.TMS6_gmpy4 +TMS6_intdp = _idaapi.TMS6_intdp +TMS6_intdpu = _idaapi.TMS6_intdpu +TMS6_intsp = _idaapi.TMS6_intsp +TMS6_intspu = _idaapi.TMS6_intspu +TMS6_lddw = _idaapi.TMS6_lddw +TMS6_ldndw = _idaapi.TMS6_ldndw +TMS6_ldnw = _idaapi.TMS6_ldnw +TMS6_max2 = _idaapi.TMS6_max2 +TMS6_maxu4 = _idaapi.TMS6_maxu4 +TMS6_min2 = _idaapi.TMS6_min2 +TMS6_minu4 = _idaapi.TMS6_minu4 +TMS6_mpy2 = _idaapi.TMS6_mpy2 +TMS6_mpy2ir = _idaapi.TMS6_mpy2ir +TMS6_mpy32 = _idaapi.TMS6_mpy32 +TMS6_mpy32su = _idaapi.TMS6_mpy32su +TMS6_mpy32u = _idaapi.TMS6_mpy32u +TMS6_mpy32us = _idaapi.TMS6_mpy32us +TMS6_mpydp = _idaapi.TMS6_mpydp +TMS6_mpyhi = _idaapi.TMS6_mpyhi +TMS6_mpyhir = _idaapi.TMS6_mpyhir +TMS6_mpyi = _idaapi.TMS6_mpyi +TMS6_mpyid = _idaapi.TMS6_mpyid +TMS6_mpyih = _idaapi.TMS6_mpyih +TMS6_mpyihr = _idaapi.TMS6_mpyihr +TMS6_mpyil = _idaapi.TMS6_mpyil +TMS6_mpyilr = _idaapi.TMS6_mpyilr +TMS6_mpyli = _idaapi.TMS6_mpyli +TMS6_mpylir = _idaapi.TMS6_mpylir +TMS6_mpysp = _idaapi.TMS6_mpysp +TMS6_mpysp2dp = _idaapi.TMS6_mpysp2dp +TMS6_mpyspdp = _idaapi.TMS6_mpyspdp +TMS6_mpysu4 = _idaapi.TMS6_mpysu4 +TMS6_mpyu4 = _idaapi.TMS6_mpyu4 +TMS6_mpyus4 = _idaapi.TMS6_mpyus4 +TMS6_mvd = _idaapi.TMS6_mvd +TMS6_mvkl = _idaapi.TMS6_mvkl +TMS6_pack2 = _idaapi.TMS6_pack2 +TMS6_packh2 = _idaapi.TMS6_packh2 +TMS6_packh4 = _idaapi.TMS6_packh4 +TMS6_packhl2 = _idaapi.TMS6_packhl2 +TMS6_packl4 = _idaapi.TMS6_packl4 +TMS6_packlh2 = _idaapi.TMS6_packlh2 +TMS6_rcpdp = _idaapi.TMS6_rcpdp +TMS6_rcpsp = _idaapi.TMS6_rcpsp +TMS6_rint = _idaapi.TMS6_rint +TMS6_rotl = _idaapi.TMS6_rotl +TMS6_rpack2 = _idaapi.TMS6_rpack2 +TMS6_rsqrdp = _idaapi.TMS6_rsqrdp +TMS6_rsqrsp = _idaapi.TMS6_rsqrsp +TMS6_sadd2 = _idaapi.TMS6_sadd2 +TMS6_saddsu2 = _idaapi.TMS6_saddsu2 +TMS6_saddsub = _idaapi.TMS6_saddsub +TMS6_saddsub2 = _idaapi.TMS6_saddsub2 +TMS6_saddu4 = _idaapi.TMS6_saddu4 +TMS6_saddus2 = _idaapi.TMS6_saddus2 +TMS6_shfl = _idaapi.TMS6_shfl +TMS6_shfl3 = _idaapi.TMS6_shfl3 +TMS6_shlmb = _idaapi.TMS6_shlmb +TMS6_shr2 = _idaapi.TMS6_shr2 +TMS6_shrmb = _idaapi.TMS6_shrmb +TMS6_shru2 = _idaapi.TMS6_shru2 +TMS6_smpy2 = _idaapi.TMS6_smpy2 +TMS6_smpy32 = _idaapi.TMS6_smpy32 +TMS6_spack2 = _idaapi.TMS6_spack2 +TMS6_spacku4 = _idaapi.TMS6_spacku4 +TMS6_spdp = _idaapi.TMS6_spdp +TMS6_spint = _idaapi.TMS6_spint +TMS6_spkernel = _idaapi.TMS6_spkernel +TMS6_spkernelr = _idaapi.TMS6_spkernelr +TMS6_sploop = _idaapi.TMS6_sploop +TMS6_sploopd = _idaapi.TMS6_sploopd +TMS6_sploopw = _idaapi.TMS6_sploopw +TMS6_spmask = _idaapi.TMS6_spmask +TMS6_spmaskr = _idaapi.TMS6_spmaskr +TMS6_sptrunc = _idaapi.TMS6_sptrunc +TMS6_sshvl = _idaapi.TMS6_sshvl +TMS6_sshvr = _idaapi.TMS6_sshvr +TMS6_ssub2 = _idaapi.TMS6_ssub2 +TMS6_stdw = _idaapi.TMS6_stdw +TMS6_stndw = _idaapi.TMS6_stndw +TMS6_stnw = _idaapi.TMS6_stnw +TMS6_sub4 = _idaapi.TMS6_sub4 +TMS6_subabs4 = _idaapi.TMS6_subabs4 +TMS6_subdp = _idaapi.TMS6_subdp +TMS6_subsp = _idaapi.TMS6_subsp +TMS6_swap2 = _idaapi.TMS6_swap2 +TMS6_swap4 = _idaapi.TMS6_swap4 +TMS6_swe = _idaapi.TMS6_swe +TMS6_swenr = _idaapi.TMS6_swenr +TMS6_unpkhu4 = _idaapi.TMS6_unpkhu4 +TMS6_unpklu4 = _idaapi.TMS6_unpklu4 +TMS6_xormpy = _idaapi.TMS6_xormpy +TMS6_xpnd2 = _idaapi.TMS6_xpnd2 +TMS6_xpnd4 = _idaapi.TMS6_xpnd4 +TMS6_last = _idaapi.TMS6_last +I196_null = _idaapi.I196_null +I196_add2 = _idaapi.I196_add2 +I196_add3 = _idaapi.I196_add3 +I196_addb2 = _idaapi.I196_addb2 +I196_addb3 = _idaapi.I196_addb3 +I196_addc = _idaapi.I196_addc +I196_addcb = _idaapi.I196_addcb +I196_and2 = _idaapi.I196_and2 +I196_and3 = _idaapi.I196_and3 +I196_andb2 = _idaapi.I196_andb2 +I196_andb3 = _idaapi.I196_andb3 +I196_bmov = _idaapi.I196_bmov +I196_bmovi = _idaapi.I196_bmovi +I196_br = _idaapi.I196_br +I196_clr = _idaapi.I196_clr +I196_clrb = _idaapi.I196_clrb +I196_clrc = _idaapi.I196_clrc +I196_clrvt = _idaapi.I196_clrvt +I196_cmp = _idaapi.I196_cmp +I196_cmpb = _idaapi.I196_cmpb +I196_cmpl = _idaapi.I196_cmpl +I196_dec = _idaapi.I196_dec +I196_decb = _idaapi.I196_decb +I196_di = _idaapi.I196_di +I196_div = _idaapi.I196_div +I196_divb = _idaapi.I196_divb +I196_divu = _idaapi.I196_divu +I196_divub = _idaapi.I196_divub +I196_djnz = _idaapi.I196_djnz +I196_djnzw = _idaapi.I196_djnzw +I196_dpts = _idaapi.I196_dpts +I196_ei = _idaapi.I196_ei +I196_epts = _idaapi.I196_epts +I196_ext = _idaapi.I196_ext +I196_extb = _idaapi.I196_extb +I196_idlpd = _idaapi.I196_idlpd +I196_inc = _idaapi.I196_inc +I196_incb = _idaapi.I196_incb +I196_jbc = _idaapi.I196_jbc +I196_jbs = _idaapi.I196_jbs +I196_jc = _idaapi.I196_jc +I196_je = _idaapi.I196_je +I196_jge = _idaapi.I196_jge +I196_jgt = _idaapi.I196_jgt +I196_jh = _idaapi.I196_jh +I196_jle = _idaapi.I196_jle +I196_jlt = _idaapi.I196_jlt +I196_jnc = _idaapi.I196_jnc +I196_jne = _idaapi.I196_jne +I196_jnh = _idaapi.I196_jnh +I196_jnst = _idaapi.I196_jnst +I196_jnv = _idaapi.I196_jnv +I196_jnvt = _idaapi.I196_jnvt +I196_jst = _idaapi.I196_jst +I196_jv = _idaapi.I196_jv +I196_jvt = _idaapi.I196_jvt +I196_lcall = _idaapi.I196_lcall +I196_ld = _idaapi.I196_ld +I196_ldb = _idaapi.I196_ldb +I196_ldbse = _idaapi.I196_ldbse +I196_ldbze = _idaapi.I196_ldbze +I196_ljmp = _idaapi.I196_ljmp +I196_mul2 = _idaapi.I196_mul2 +I196_mul3 = _idaapi.I196_mul3 +I196_mulb2 = _idaapi.I196_mulb2 +I196_mulb3 = _idaapi.I196_mulb3 +I196_mulu2 = _idaapi.I196_mulu2 +I196_mulu3 = _idaapi.I196_mulu3 +I196_mulub2 = _idaapi.I196_mulub2 +I196_mulub3 = _idaapi.I196_mulub3 +I196_neg = _idaapi.I196_neg +I196_negb = _idaapi.I196_negb +I196_nop = _idaapi.I196_nop +I196_norml = _idaapi.I196_norml +I196_not = _idaapi.I196_not +I196_notb = _idaapi.I196_notb +I196_or = _idaapi.I196_or +I196_orb = _idaapi.I196_orb +I196_pop = _idaapi.I196_pop +I196_popa = _idaapi.I196_popa +I196_popf = _idaapi.I196_popf +I196_push = _idaapi.I196_push +I196_pusha = _idaapi.I196_pusha +I196_pushf = _idaapi.I196_pushf +I196_ret = _idaapi.I196_ret +I196_rst = _idaapi.I196_rst +I196_scall = _idaapi.I196_scall +I196_setc = _idaapi.I196_setc +I196_shl = _idaapi.I196_shl +I196_shlb = _idaapi.I196_shlb +I196_shll = _idaapi.I196_shll +I196_shr = _idaapi.I196_shr +I196_shra = _idaapi.I196_shra +I196_shrab = _idaapi.I196_shrab +I196_shral = _idaapi.I196_shral +I196_shrb = _idaapi.I196_shrb +I196_shrl = _idaapi.I196_shrl +I196_sjmp = _idaapi.I196_sjmp +I196_skip = _idaapi.I196_skip +I196_st = _idaapi.I196_st +I196_stb = _idaapi.I196_stb +I196_sub2 = _idaapi.I196_sub2 +I196_sub3 = _idaapi.I196_sub3 +I196_subb2 = _idaapi.I196_subb2 +I196_subb3 = _idaapi.I196_subb3 +I196_subc = _idaapi.I196_subc +I196_subcb = _idaapi.I196_subcb +I196_tijmp = _idaapi.I196_tijmp +I196_trap = _idaapi.I196_trap +I196_xch = _idaapi.I196_xch +I196_xchb = _idaapi.I196_xchb +I196_xor = _idaapi.I196_xor +I196_xorb = _idaapi.I196_xorb +I196_ebmovi = _idaapi.I196_ebmovi +I196_ebr = _idaapi.I196_ebr +I196_ecall = _idaapi.I196_ecall +I196_ejmp = _idaapi.I196_ejmp +I196_eld = _idaapi.I196_eld +I196_eldb = _idaapi.I196_eldb +I196_est = _idaapi.I196_est +I196_estb = _idaapi.I196_estb +I196_last = _idaapi.I196_last +SH3_null = _idaapi.SH3_null +SH3_add = _idaapi.SH3_add +SH3_addc = _idaapi.SH3_addc +SH3_addv = _idaapi.SH3_addv +SH3_and = _idaapi.SH3_and +SH3_and_b = _idaapi.SH3_and_b +SH3_bf = _idaapi.SH3_bf +SH3_bf_s = _idaapi.SH3_bf_s +SH3_bra = _idaapi.SH3_bra +SH3_braf = _idaapi.SH3_braf +SH3_bsr = _idaapi.SH3_bsr +SH3_bsrf = _idaapi.SH3_bsrf +SH3_bt = _idaapi.SH3_bt +SH3_bt_s = _idaapi.SH3_bt_s +SH3_clrmac = _idaapi.SH3_clrmac +SH3_clrs = _idaapi.SH3_clrs +SH3_clrt = _idaapi.SH3_clrt +SH3_cmp_eq = _idaapi.SH3_cmp_eq +SH3_cmp_ge = _idaapi.SH3_cmp_ge +SH3_cmp_gt = _idaapi.SH3_cmp_gt +SH3_cmp_hi = _idaapi.SH3_cmp_hi +SH3_cmp_hs = _idaapi.SH3_cmp_hs +SH3_cmp_pl = _idaapi.SH3_cmp_pl +SH3_cmp_pz = _idaapi.SH3_cmp_pz +SH3_cmp_str = _idaapi.SH3_cmp_str +SH3_div0s = _idaapi.SH3_div0s +SH3_div0u = _idaapi.SH3_div0u +SH3_div1 = _idaapi.SH3_div1 +SH3_dmuls_l = _idaapi.SH3_dmuls_l +SH3_dmulu_l = _idaapi.SH3_dmulu_l +SH3_dt = _idaapi.SH3_dt +SH3_exts_b = _idaapi.SH3_exts_b +SH3_exts_w = _idaapi.SH3_exts_w +SH3_extu_b = _idaapi.SH3_extu_b +SH3_extu_w = _idaapi.SH3_extu_w +SH3_jmp = _idaapi.SH3_jmp +SH3_jsr = _idaapi.SH3_jsr +SH3_ldc = _idaapi.SH3_ldc +SH3_ldc_l = _idaapi.SH3_ldc_l +SH3_lds = _idaapi.SH3_lds +SH3_lds_l = _idaapi.SH3_lds_l +SH3_ldtlb = _idaapi.SH3_ldtlb +SH3_mac_w = _idaapi.SH3_mac_w +SH3_mac_l = _idaapi.SH3_mac_l +SH3_mov = _idaapi.SH3_mov +SH3_mov_b = _idaapi.SH3_mov_b +SH3_mov_w = _idaapi.SH3_mov_w +SH3_mov_l = _idaapi.SH3_mov_l +SH3_movi = _idaapi.SH3_movi +SH3_movi_w = _idaapi.SH3_movi_w +SH3_movi_l = _idaapi.SH3_movi_l +SH3_movp_b = _idaapi.SH3_movp_b +SH3_movp_w = _idaapi.SH3_movp_w +SH3_movp_l = _idaapi.SH3_movp_l +SH3_movs_b = _idaapi.SH3_movs_b +SH3_movs_w = _idaapi.SH3_movs_w +SH3_movs_l = _idaapi.SH3_movs_l +SH3_mova = _idaapi.SH3_mova +SH3_movt = _idaapi.SH3_movt +SH3_mul = _idaapi.SH3_mul +SH3_muls = _idaapi.SH3_muls +SH3_mulu = _idaapi.SH3_mulu +SH3_neg = _idaapi.SH3_neg +SH3_negc = _idaapi.SH3_negc +SH3_nop = _idaapi.SH3_nop +SH3_not = _idaapi.SH3_not +SH3_or = _idaapi.SH3_or +SH3_or_b = _idaapi.SH3_or_b +SH3_pref = _idaapi.SH3_pref +SH3_rotcl = _idaapi.SH3_rotcl +SH3_rotcr = _idaapi.SH3_rotcr +SH3_rotl = _idaapi.SH3_rotl +SH3_rotr = _idaapi.SH3_rotr +SH3_rte = _idaapi.SH3_rte +SH3_rts = _idaapi.SH3_rts +SH3_sets = _idaapi.SH3_sets +SH3_sett = _idaapi.SH3_sett +SH3_shad = _idaapi.SH3_shad +SH3_shal = _idaapi.SH3_shal +SH3_shar = _idaapi.SH3_shar +SH3_shld = _idaapi.SH3_shld +SH3_shll = _idaapi.SH3_shll +SH3_shll2 = _idaapi.SH3_shll2 +SH3_shll8 = _idaapi.SH3_shll8 +SH3_shll16 = _idaapi.SH3_shll16 +SH3_shlr = _idaapi.SH3_shlr +SH3_shlr2 = _idaapi.SH3_shlr2 +SH3_shlr8 = _idaapi.SH3_shlr8 +SH3_shlr16 = _idaapi.SH3_shlr16 +SH3_sleep = _idaapi.SH3_sleep +SH3_stc = _idaapi.SH3_stc +SH3_stc_l = _idaapi.SH3_stc_l +SH3_sts = _idaapi.SH3_sts +SH3_sts_l = _idaapi.SH3_sts_l +SH3_sub = _idaapi.SH3_sub +SH3_subc = _idaapi.SH3_subc +SH3_subv = _idaapi.SH3_subv +SH3_swap_b = _idaapi.SH3_swap_b +SH3_swap_w = _idaapi.SH3_swap_w +SH3_tas_b = _idaapi.SH3_tas_b +SH3_trapa = _idaapi.SH3_trapa +SH3_tst = _idaapi.SH3_tst +SH3_tst_b = _idaapi.SH3_tst_b +SH3_xor = _idaapi.SH3_xor +SH3_xor_b = _idaapi.SH3_xor_b +SH3_xtrct = _idaapi.SH3_xtrct +SH4_fabs = _idaapi.SH4_fabs +SH4_fadd = _idaapi.SH4_fadd +SH4_fcmp_eq = _idaapi.SH4_fcmp_eq +SH4_fcmp_gt = _idaapi.SH4_fcmp_gt +SH4_fcnvds = _idaapi.SH4_fcnvds +SH4_fcnvsd = _idaapi.SH4_fcnvsd +SH4_fdiv = _idaapi.SH4_fdiv +SH4_fipr = _idaapi.SH4_fipr +SH4_fldi0 = _idaapi.SH4_fldi0 +SH4_fldi1 = _idaapi.SH4_fldi1 +SH4_flds = _idaapi.SH4_flds +SH4_float = _idaapi.SH4_float +SH4_fmac = _idaapi.SH4_fmac +SH4_fmov = _idaapi.SH4_fmov +SH4_fmov_s = _idaapi.SH4_fmov_s +SH4_fmovex = _idaapi.SH4_fmovex +SH4_fmul = _idaapi.SH4_fmul +SH4_fneg = _idaapi.SH4_fneg +SH4_frchg = _idaapi.SH4_frchg +SH4_fschg = _idaapi.SH4_fschg +SH4_fsqrt = _idaapi.SH4_fsqrt +SH4_fsts = _idaapi.SH4_fsts +SH4_fsub = _idaapi.SH4_fsub +SH4_ftrc = _idaapi.SH4_ftrc +SH4_ftrv = _idaapi.SH4_ftrv +SH4_ftstn = _idaapi.SH4_ftstn +SH4_movca_l = _idaapi.SH4_movca_l +SH4_ocbi = _idaapi.SH4_ocbi +SH4_ocbp = _idaapi.SH4_ocbp +SH4_ocbwb = _idaapi.SH4_ocbwb +SH4_fsca = _idaapi.SH4_fsca +SH2a_band_b = _idaapi.SH2a_band_b +SH2a_bandnot_b = _idaapi.SH2a_bandnot_b +SH2a_bclr = _idaapi.SH2a_bclr +SH2a_bclr_b = _idaapi.SH2a_bclr_b +SH2a_bld = _idaapi.SH2a_bld +SH2a_bld_b = _idaapi.SH2a_bld_b +SH2a_bldnot_b = _idaapi.SH2a_bldnot_b +SH2a_bor_b = _idaapi.SH2a_bor_b +SH2a_bornot_b = _idaapi.SH2a_bornot_b +SH2a_bset = _idaapi.SH2a_bset +SH2a_bset_b = _idaapi.SH2a_bset_b +SH2a_bst = _idaapi.SH2a_bst +SH2a_bst_b = _idaapi.SH2a_bst_b +SH2a_bxor_b = _idaapi.SH2a_bxor_b +SH2a_clips_b = _idaapi.SH2a_clips_b +SH2a_clips_w = _idaapi.SH2a_clips_w +SH2a_clipu_b = _idaapi.SH2a_clipu_b +SH2a_clipu_w = _idaapi.SH2a_clipu_w +SH2a_divs = _idaapi.SH2a_divs +SH2a_divu = _idaapi.SH2a_divu +SH2a_jsr_n = _idaapi.SH2a_jsr_n +SH2a_ldbank = _idaapi.SH2a_ldbank +SH2a_movi20 = _idaapi.SH2a_movi20 +SH2a_movi20s = _idaapi.SH2a_movi20s +SH2a_movml_l = _idaapi.SH2a_movml_l +SH2a_movmu_l = _idaapi.SH2a_movmu_l +SH2a_movrt = _idaapi.SH2a_movrt +SH2a_movu_b = _idaapi.SH2a_movu_b +SH2a_movu_w = _idaapi.SH2a_movu_w +SH2a_mulr = _idaapi.SH2a_mulr +SH2a_nott = _idaapi.SH2a_nott +SH2a_resbank = _idaapi.SH2a_resbank +SH2a_rts_n = _idaapi.SH2a_rts_n +SH2a_rtv_n = _idaapi.SH2a_rtv_n +SH2a_stbank = _idaapi.SH2a_stbank +SH4a_movco_l = _idaapi.SH4a_movco_l +SH4a_movli_l = _idaapi.SH4a_movli_l +SH4a_movua_l = _idaapi.SH4a_movua_l +SH4a_icbi = _idaapi.SH4a_icbi +SH4a_prefi = _idaapi.SH4a_prefi +SH4a_synco = _idaapi.SH4a_synco +SH4a_fsrra = _idaapi.SH4a_fsrra +SH4a_fpchg = _idaapi.SH4a_fpchg +SH4_last = _idaapi.SH4_last +Z8_null = _idaapi.Z8_null +Z8_adc = _idaapi.Z8_adc +Z8_add = _idaapi.Z8_add +Z8_and = _idaapi.Z8_and +Z8_call = _idaapi.Z8_call +Z8_ccf = _idaapi.Z8_ccf +Z8_clr = _idaapi.Z8_clr +Z8_com = _idaapi.Z8_com +Z8_cp = _idaapi.Z8_cp +Z8_da = _idaapi.Z8_da +Z8_dec = _idaapi.Z8_dec +Z8_decw = _idaapi.Z8_decw +Z8_di = _idaapi.Z8_di +Z8_djnz = _idaapi.Z8_djnz +Z8_ei = _idaapi.Z8_ei +Z8_halt = _idaapi.Z8_halt +Z8_inc = _idaapi.Z8_inc +Z8_incw = _idaapi.Z8_incw +Z8_iret = _idaapi.Z8_iret +Z8_jp = _idaapi.Z8_jp +Z8_jpcond = _idaapi.Z8_jpcond +Z8_jr = _idaapi.Z8_jr +Z8_jrcond = _idaapi.Z8_jrcond +Z8_ld = _idaapi.Z8_ld +Z8_ldc = _idaapi.Z8_ldc +Z8_ldci = _idaapi.Z8_ldci +Z8_lde = _idaapi.Z8_lde +Z8_ldei = _idaapi.Z8_ldei +Z8_nop = _idaapi.Z8_nop +Z8_or = _idaapi.Z8_or +Z8_pop = _idaapi.Z8_pop +Z8_push = _idaapi.Z8_push +Z8_rcf = _idaapi.Z8_rcf +Z8_ret = _idaapi.Z8_ret +Z8_rl = _idaapi.Z8_rl +Z8_rlc = _idaapi.Z8_rlc +Z8_rr = _idaapi.Z8_rr +Z8_rrc = _idaapi.Z8_rrc +Z8_sbc = _idaapi.Z8_sbc +Z8_scf = _idaapi.Z8_scf +Z8_sra = _idaapi.Z8_sra +Z8_srp = _idaapi.Z8_srp +Z8_stop = _idaapi.Z8_stop +Z8_sub = _idaapi.Z8_sub +Z8_swap = _idaapi.Z8_swap +Z8_tm = _idaapi.Z8_tm +Z8_tcm = _idaapi.Z8_tcm +Z8_xor = _idaapi.Z8_xor +Z8_wdh = _idaapi.Z8_wdh +Z8_wdt = _idaapi.Z8_wdt +Z8_last = _idaapi.Z8_last +AVR_null = _idaapi.AVR_null +AVR_add = _idaapi.AVR_add +AVR_adc = _idaapi.AVR_adc +AVR_adiw = _idaapi.AVR_adiw +AVR_sub = _idaapi.AVR_sub +AVR_subi = _idaapi.AVR_subi +AVR_sbc = _idaapi.AVR_sbc +AVR_sbci = _idaapi.AVR_sbci +AVR_sbiw = _idaapi.AVR_sbiw +AVR_and = _idaapi.AVR_and +AVR_andi = _idaapi.AVR_andi +AVR_or = _idaapi.AVR_or +AVR_ori = _idaapi.AVR_ori +AVR_eor = _idaapi.AVR_eor +AVR_com = _idaapi.AVR_com +AVR_neg = _idaapi.AVR_neg +AVR_sbr = _idaapi.AVR_sbr +AVR_cbr = _idaapi.AVR_cbr +AVR_inc = _idaapi.AVR_inc +AVR_dec = _idaapi.AVR_dec +AVR_tst = _idaapi.AVR_tst +AVR_clr = _idaapi.AVR_clr +AVR_ser = _idaapi.AVR_ser +AVR_cp = _idaapi.AVR_cp +AVR_cpc = _idaapi.AVR_cpc +AVR_cpi = _idaapi.AVR_cpi +AVR_mul = _idaapi.AVR_mul +AVR_rjmp = _idaapi.AVR_rjmp +AVR_ijmp = _idaapi.AVR_ijmp +AVR_jmp = _idaapi.AVR_jmp +AVR_rcall = _idaapi.AVR_rcall +AVR_icall = _idaapi.AVR_icall +AVR_call = _idaapi.AVR_call +AVR_ret = _idaapi.AVR_ret +AVR_reti = _idaapi.AVR_reti +AVR_cpse = _idaapi.AVR_cpse +AVR_sbrc = _idaapi.AVR_sbrc +AVR_sbrs = _idaapi.AVR_sbrs +AVR_sbic = _idaapi.AVR_sbic +AVR_sbis = _idaapi.AVR_sbis +AVR_brbs = _idaapi.AVR_brbs +AVR_brbc = _idaapi.AVR_brbc +AVR_breq = _idaapi.AVR_breq +AVR_brne = _idaapi.AVR_brne +AVR_brcs = _idaapi.AVR_brcs +AVR_brcc = _idaapi.AVR_brcc +AVR_brsh = _idaapi.AVR_brsh +AVR_brlo = _idaapi.AVR_brlo +AVR_brmi = _idaapi.AVR_brmi +AVR_brpl = _idaapi.AVR_brpl +AVR_brge = _idaapi.AVR_brge +AVR_brlt = _idaapi.AVR_brlt +AVR_brhs = _idaapi.AVR_brhs +AVR_brhc = _idaapi.AVR_brhc +AVR_brts = _idaapi.AVR_brts +AVR_brtc = _idaapi.AVR_brtc +AVR_brvs = _idaapi.AVR_brvs +AVR_brvc = _idaapi.AVR_brvc +AVR_brie = _idaapi.AVR_brie +AVR_brid = _idaapi.AVR_brid +AVR_mov = _idaapi.AVR_mov +AVR_ldi = _idaapi.AVR_ldi +AVR_lds = _idaapi.AVR_lds +AVR_ld = _idaapi.AVR_ld +AVR_ldd = _idaapi.AVR_ldd +AVR_sts = _idaapi.AVR_sts +AVR_st = _idaapi.AVR_st +AVR_std = _idaapi.AVR_std +AVR_lpm = _idaapi.AVR_lpm +AVR_in = _idaapi.AVR_in +AVR_out = _idaapi.AVR_out +AVR_push = _idaapi.AVR_push +AVR_pop = _idaapi.AVR_pop +AVR_lsl = _idaapi.AVR_lsl +AVR_lsr = _idaapi.AVR_lsr +AVR_rol = _idaapi.AVR_rol +AVR_ror = _idaapi.AVR_ror +AVR_asr = _idaapi.AVR_asr +AVR_swap = _idaapi.AVR_swap +AVR_bset = _idaapi.AVR_bset +AVR_bclr = _idaapi.AVR_bclr +AVR_sbi = _idaapi.AVR_sbi +AVR_cbi = _idaapi.AVR_cbi +AVR_bst = _idaapi.AVR_bst +AVR_bld = _idaapi.AVR_bld +AVR_sec = _idaapi.AVR_sec +AVR_clc = _idaapi.AVR_clc +AVR_sen = _idaapi.AVR_sen +AVR_cln = _idaapi.AVR_cln +AVR_sez = _idaapi.AVR_sez +AVR_clz = _idaapi.AVR_clz +AVR_sei = _idaapi.AVR_sei +AVR_cli = _idaapi.AVR_cli +AVR_ses = _idaapi.AVR_ses +AVR_cls = _idaapi.AVR_cls +AVR_sev = _idaapi.AVR_sev +AVR_clv = _idaapi.AVR_clv +AVR_set = _idaapi.AVR_set +AVR_clt = _idaapi.AVR_clt +AVR_seh = _idaapi.AVR_seh +AVR_clh = _idaapi.AVR_clh +AVR_nop = _idaapi.AVR_nop +AVR_sleep = _idaapi.AVR_sleep +AVR_wdr = _idaapi.AVR_wdr +AVR_elpm = _idaapi.AVR_elpm +AVR_espm = _idaapi.AVR_espm +AVR_fmul = _idaapi.AVR_fmul +AVR_fmuls = _idaapi.AVR_fmuls +AVR_fmulsu = _idaapi.AVR_fmulsu +AVR_movw = _idaapi.AVR_movw +AVR_muls = _idaapi.AVR_muls +AVR_mulsu = _idaapi.AVR_mulsu +AVR_spm = _idaapi.AVR_spm +AVR_eicall = _idaapi.AVR_eicall +AVR_eijmp = _idaapi.AVR_eijmp +AVR_des = _idaapi.AVR_des +AVR_lac = _idaapi.AVR_lac +AVR_las = _idaapi.AVR_las +AVR_lat = _idaapi.AVR_lat +AVR_xch = _idaapi.AVR_xch +AVR_last = _idaapi.AVR_last +MIPS_null = _idaapi.MIPS_null +MIPS_add = _idaapi.MIPS_add +MIPS_addu = _idaapi.MIPS_addu +MIPS_and = _idaapi.MIPS_and +MIPS_dadd = _idaapi.MIPS_dadd +MIPS_daddu = _idaapi.MIPS_daddu +MIPS_dsub = _idaapi.MIPS_dsub +MIPS_dsubu = _idaapi.MIPS_dsubu +MIPS_nor = _idaapi.MIPS_nor +MIPS_or = _idaapi.MIPS_or +MIPS_slt = _idaapi.MIPS_slt +MIPS_sltu = _idaapi.MIPS_sltu +MIPS_sub = _idaapi.MIPS_sub +MIPS_subu = _idaapi.MIPS_subu +MIPS_xor = _idaapi.MIPS_xor +MIPS_dsll = _idaapi.MIPS_dsll +MIPS_dsll32 = _idaapi.MIPS_dsll32 +MIPS_dsra = _idaapi.MIPS_dsra +MIPS_dsra32 = _idaapi.MIPS_dsra32 +MIPS_dsrl = _idaapi.MIPS_dsrl +MIPS_dsrl32 = _idaapi.MIPS_dsrl32 +MIPS_sll = _idaapi.MIPS_sll +MIPS_sra = _idaapi.MIPS_sra +MIPS_srl = _idaapi.MIPS_srl +MIPS_dsllv = _idaapi.MIPS_dsllv +MIPS_dsrav = _idaapi.MIPS_dsrav +MIPS_dsrlv = _idaapi.MIPS_dsrlv +MIPS_sllv = _idaapi.MIPS_sllv +MIPS_srav = _idaapi.MIPS_srav +MIPS_srlv = _idaapi.MIPS_srlv +MIPS_addi = _idaapi.MIPS_addi +MIPS_addiu = _idaapi.MIPS_addiu +MIPS_daddi = _idaapi.MIPS_daddi +MIPS_daddiu = _idaapi.MIPS_daddiu +MIPS_slti = _idaapi.MIPS_slti +MIPS_sltiu = _idaapi.MIPS_sltiu +MIPS_andi = _idaapi.MIPS_andi +MIPS_ori = _idaapi.MIPS_ori +MIPS_xori = _idaapi.MIPS_xori +MIPS_teq = _idaapi.MIPS_teq +MIPS_tge = _idaapi.MIPS_tge +MIPS_tgeu = _idaapi.MIPS_tgeu +MIPS_tlt = _idaapi.MIPS_tlt +MIPS_tltu = _idaapi.MIPS_tltu +MIPS_tne = _idaapi.MIPS_tne +MIPS_cfc1 = _idaapi.MIPS_cfc1 +MIPS_cfc2 = _idaapi.MIPS_cfc2 +MIPS_ctc1 = _idaapi.MIPS_ctc1 +MIPS_ctc2 = _idaapi.MIPS_ctc2 +MIPS_dmfc0 = _idaapi.MIPS_dmfc0 +MIPS_qmfc2 = _idaapi.MIPS_qmfc2 +MIPS_dmtc0 = _idaapi.MIPS_dmtc0 +MIPS_qmtc2 = _idaapi.MIPS_qmtc2 +MIPS_mfc0 = _idaapi.MIPS_mfc0 +MIPS_mfc1 = _idaapi.MIPS_mfc1 +MIPS_mfc2 = _idaapi.MIPS_mfc2 +MIPS_mtc0 = _idaapi.MIPS_mtc0 +MIPS_mtc1 = _idaapi.MIPS_mtc1 +MIPS_mtc2 = _idaapi.MIPS_mtc2 +MIPS_teqi = _idaapi.MIPS_teqi +MIPS_tgei = _idaapi.MIPS_tgei +MIPS_tgeiu = _idaapi.MIPS_tgeiu +MIPS_tlti = _idaapi.MIPS_tlti +MIPS_tltiu = _idaapi.MIPS_tltiu +MIPS_tnei = _idaapi.MIPS_tnei +MIPS_ddiv = _idaapi.MIPS_ddiv +MIPS_ddivu = _idaapi.MIPS_ddivu +MIPS_div = _idaapi.MIPS_div +MIPS_divu = _idaapi.MIPS_divu +MIPS_dmult = _idaapi.MIPS_dmult +MIPS_dmultu = _idaapi.MIPS_dmultu +MIPS_mult = _idaapi.MIPS_mult +MIPS_multu = _idaapi.MIPS_multu +MIPS_mthi = _idaapi.MIPS_mthi +MIPS_mtlo = _idaapi.MIPS_mtlo +MIPS_mfhi = _idaapi.MIPS_mfhi +MIPS_mflo = _idaapi.MIPS_mflo +MIPS_cop0 = _idaapi.MIPS_cop0 +MIPS_cop1 = _idaapi.MIPS_cop1 +MIPS_cop2 = _idaapi.MIPS_cop2 +MIPS_break = _idaapi.MIPS_break +MIPS_syscall = _idaapi.MIPS_syscall +MIPS_bc0f = _idaapi.MIPS_bc0f +MIPS_bc1f = _idaapi.MIPS_bc1f +MIPS_bc2f = _idaapi.MIPS_bc2f +MIPS_bc3f = _idaapi.MIPS_bc3f +MIPS_bc0fl = _idaapi.MIPS_bc0fl +MIPS_bc1fl = _idaapi.MIPS_bc1fl +MIPS_bc2fl = _idaapi.MIPS_bc2fl +MIPS_bc3fl = _idaapi.MIPS_bc3fl +MIPS_bc0t = _idaapi.MIPS_bc0t +MIPS_bc1t = _idaapi.MIPS_bc1t +MIPS_bc2t = _idaapi.MIPS_bc2t +MIPS_bc3t = _idaapi.MIPS_bc3t +MIPS_bc0tl = _idaapi.MIPS_bc0tl +MIPS_bc1tl = _idaapi.MIPS_bc1tl +MIPS_bc2tl = _idaapi.MIPS_bc2tl +MIPS_bc3tl = _idaapi.MIPS_bc3tl +MIPS_bgez = _idaapi.MIPS_bgez +MIPS_bgezal = _idaapi.MIPS_bgezal +MIPS_bgezall = _idaapi.MIPS_bgezall +MIPS_bgezl = _idaapi.MIPS_bgezl +MIPS_bgtz = _idaapi.MIPS_bgtz +MIPS_bgtzl = _idaapi.MIPS_bgtzl +MIPS_blez = _idaapi.MIPS_blez +MIPS_blezl = _idaapi.MIPS_blezl +MIPS_bltz = _idaapi.MIPS_bltz +MIPS_bltzal = _idaapi.MIPS_bltzal +MIPS_bltzall = _idaapi.MIPS_bltzall +MIPS_bltzl = _idaapi.MIPS_bltzl +MIPS_beq = _idaapi.MIPS_beq +MIPS_beql = _idaapi.MIPS_beql +MIPS_bne = _idaapi.MIPS_bne +MIPS_bnel = _idaapi.MIPS_bnel +MIPS_jalr = _idaapi.MIPS_jalr +MIPS_j = _idaapi.MIPS_j +MIPS_jr = _idaapi.MIPS_jr +MIPS_jal = _idaapi.MIPS_jal +MIPS_jalx = _idaapi.MIPS_jalx +MIPS_cache = _idaapi.MIPS_cache +MIPS_lb = _idaapi.MIPS_lb +MIPS_lbu = _idaapi.MIPS_lbu +MIPS_ldl = _idaapi.MIPS_ldl +MIPS_ldr = _idaapi.MIPS_ldr +MIPS_lwl = _idaapi.MIPS_lwl +MIPS_lwr = _idaapi.MIPS_lwr +MIPS_ld = _idaapi.MIPS_ld +MIPS_lld = _idaapi.MIPS_lld +MIPS_ldc1 = _idaapi.MIPS_ldc1 +MIPS_ldc2 = _idaapi.MIPS_ldc2 +MIPS_ll = _idaapi.MIPS_ll +MIPS_lw = _idaapi.MIPS_lw +MIPS_lwu = _idaapi.MIPS_lwu +MIPS_lh = _idaapi.MIPS_lh +MIPS_lhu = _idaapi.MIPS_lhu +MIPS_lui = _idaapi.MIPS_lui +MIPS_lwc1 = _idaapi.MIPS_lwc1 +MIPS_lwc2 = _idaapi.MIPS_lwc2 +MIPS_sb = _idaapi.MIPS_sb +MIPS_sdl = _idaapi.MIPS_sdl +MIPS_sdr = _idaapi.MIPS_sdr +MIPS_swl = _idaapi.MIPS_swl +MIPS_swr = _idaapi.MIPS_swr +MIPS_scd = _idaapi.MIPS_scd +MIPS_sd = _idaapi.MIPS_sd +MIPS_sdc1 = _idaapi.MIPS_sdc1 +MIPS_sdc2 = _idaapi.MIPS_sdc2 +MIPS_sc = _idaapi.MIPS_sc +MIPS_sw = _idaapi.MIPS_sw +MIPS_sh = _idaapi.MIPS_sh +MIPS_swc1 = _idaapi.MIPS_swc1 +MIPS_swc2 = _idaapi.MIPS_swc2 +MIPS_sync = _idaapi.MIPS_sync +MIPS_eret = _idaapi.MIPS_eret +MIPS_tlbp = _idaapi.MIPS_tlbp +MIPS_tlbr = _idaapi.MIPS_tlbr +MIPS_tlbwi = _idaapi.MIPS_tlbwi +MIPS_tlbwr = _idaapi.MIPS_tlbwr +MIPS_fadd = _idaapi.MIPS_fadd +MIPS_fsub = _idaapi.MIPS_fsub +MIPS_fmul = _idaapi.MIPS_fmul +MIPS_fdiv = _idaapi.MIPS_fdiv +MIPS_fabs = _idaapi.MIPS_fabs +MIPS_fcvt_s = _idaapi.MIPS_fcvt_s +MIPS_fcvt_d = _idaapi.MIPS_fcvt_d +MIPS_fcvt_w = _idaapi.MIPS_fcvt_w +MIPS_fcvt_l = _idaapi.MIPS_fcvt_l +MIPS_fround_l = _idaapi.MIPS_fround_l +MIPS_ftrunc_l = _idaapi.MIPS_ftrunc_l +MIPS_fceil_l = _idaapi.MIPS_fceil_l +MIPS_ffloor_l = _idaapi.MIPS_ffloor_l +MIPS_fround_w = _idaapi.MIPS_fround_w +MIPS_ftrunc_w = _idaapi.MIPS_ftrunc_w +MIPS_fceil_w = _idaapi.MIPS_fceil_w +MIPS_ffloor_w = _idaapi.MIPS_ffloor_w +MIPS_fmov = _idaapi.MIPS_fmov +MIPS_fneg = _idaapi.MIPS_fneg +MIPS_fsqrt = _idaapi.MIPS_fsqrt +MIPS_fc_f = _idaapi.MIPS_fc_f +MIPS_fc_un = _idaapi.MIPS_fc_un +MIPS_fc_eq = _idaapi.MIPS_fc_eq +MIPS_fc_ueq = _idaapi.MIPS_fc_ueq +MIPS_fc_olt = _idaapi.MIPS_fc_olt +MIPS_fc_ult = _idaapi.MIPS_fc_ult +MIPS_fc_ole = _idaapi.MIPS_fc_ole +MIPS_fc_ule = _idaapi.MIPS_fc_ule +MIPS_fc_sf = _idaapi.MIPS_fc_sf +MIPS_fc_ngle = _idaapi.MIPS_fc_ngle +MIPS_fc_seq = _idaapi.MIPS_fc_seq +MIPS_fc_ngl = _idaapi.MIPS_fc_ngl +MIPS_fc_lt = _idaapi.MIPS_fc_lt +MIPS_fc_nge = _idaapi.MIPS_fc_nge +MIPS_fc_le = _idaapi.MIPS_fc_le +MIPS_fc_ngt = _idaapi.MIPS_fc_ngt +MIPS_nop = _idaapi.MIPS_nop +MIPS_mov = _idaapi.MIPS_mov +MIPS_neg = _idaapi.MIPS_neg +MIPS_negu = _idaapi.MIPS_negu +MIPS_bnez = _idaapi.MIPS_bnez +MIPS_bnezl = _idaapi.MIPS_bnezl +MIPS_beqz = _idaapi.MIPS_beqz +MIPS_beqzl = _idaapi.MIPS_beqzl +MIPS_b = _idaapi.MIPS_b +MIPS_bal = _idaapi.MIPS_bal +MIPS_li = _idaapi.MIPS_li +MIPS_la = _idaapi.MIPS_la +MIPS_pref = _idaapi.MIPS_pref +MIPS_ldxc1 = _idaapi.MIPS_ldxc1 +MIPS_lwxc1 = _idaapi.MIPS_lwxc1 +MIPS_sdxc1 = _idaapi.MIPS_sdxc1 +MIPS_swxc1 = _idaapi.MIPS_swxc1 +MIPS_madd_s = _idaapi.MIPS_madd_s +MIPS_madd_d = _idaapi.MIPS_madd_d +MIPS_msub_s = _idaapi.MIPS_msub_s +MIPS_msub_d = _idaapi.MIPS_msub_d +MIPS_movf = _idaapi.MIPS_movf +MIPS_movt = _idaapi.MIPS_movt +MIPS_movn = _idaapi.MIPS_movn +MIPS_movz = _idaapi.MIPS_movz +MIPS_fmovf = _idaapi.MIPS_fmovf +MIPS_fmovt = _idaapi.MIPS_fmovt +MIPS_fmovn = _idaapi.MIPS_fmovn +MIPS_fmovz = _idaapi.MIPS_fmovz +MIPS_nmadd_s = _idaapi.MIPS_nmadd_s +MIPS_nmadd_d = _idaapi.MIPS_nmadd_d +MIPS_nmsub_s = _idaapi.MIPS_nmsub_s +MIPS_nmsub_d = _idaapi.MIPS_nmsub_d +MIPS_prefx = _idaapi.MIPS_prefx +MIPS_frecip = _idaapi.MIPS_frecip +MIPS_frsqrt = _idaapi.MIPS_frsqrt +MIPS_lbv = _idaapi.MIPS_lbv +MIPS_lsv = _idaapi.MIPS_lsv +MIPS_llv = _idaapi.MIPS_llv +MIPS_ldv = _idaapi.MIPS_ldv +MIPS_lqv = _idaapi.MIPS_lqv +MIPS_lrv = _idaapi.MIPS_lrv +MIPS_lpv = _idaapi.MIPS_lpv +MIPS_luv = _idaapi.MIPS_luv +MIPS_lhv = _idaapi.MIPS_lhv +MIPS_lfv = _idaapi.MIPS_lfv +MIPS_lwv = _idaapi.MIPS_lwv +MIPS_ltv = _idaapi.MIPS_ltv +MIPS_sbv = _idaapi.MIPS_sbv +MIPS_ssv = _idaapi.MIPS_ssv +MIPS_slv = _idaapi.MIPS_slv +MIPS_sdv = _idaapi.MIPS_sdv +MIPS_sqv = _idaapi.MIPS_sqv +MIPS_srv = _idaapi.MIPS_srv +MIPS_spv = _idaapi.MIPS_spv +MIPS_suv = _idaapi.MIPS_suv +MIPS_shv = _idaapi.MIPS_shv +MIPS_sfv = _idaapi.MIPS_sfv +MIPS_swv = _idaapi.MIPS_swv +MIPS_stv = _idaapi.MIPS_stv +MIPS_vmulf = _idaapi.MIPS_vmulf +MIPS_vmacf = _idaapi.MIPS_vmacf +MIPS_vmulu = _idaapi.MIPS_vmulu +MIPS_vmacu = _idaapi.MIPS_vmacu +MIPS_vrndp = _idaapi.MIPS_vrndp +MIPS_vrndn = _idaapi.MIPS_vrndn +MIPS_vmulq = _idaapi.MIPS_vmulq +MIPS_vmacq = _idaapi.MIPS_vmacq +MIPS_vmudh = _idaapi.MIPS_vmudh +MIPS_vmadh = _idaapi.MIPS_vmadh +MIPS_vmudm = _idaapi.MIPS_vmudm +MIPS_vmadm = _idaapi.MIPS_vmadm +MIPS_vmudn = _idaapi.MIPS_vmudn +MIPS_vmadn = _idaapi.MIPS_vmadn +MIPS_vmudl = _idaapi.MIPS_vmudl +MIPS_vmadl = _idaapi.MIPS_vmadl +MIPS_vadd = _idaapi.MIPS_vadd +MIPS_vsub = _idaapi.MIPS_vsub +MIPS_vsut = _idaapi.MIPS_vsut +MIPS_vabs = _idaapi.MIPS_vabs +MIPS_vaddc = _idaapi.MIPS_vaddc +MIPS_vsubc = _idaapi.MIPS_vsubc +MIPS_vaddb = _idaapi.MIPS_vaddb +MIPS_vsubb = _idaapi.MIPS_vsubb +MIPS_vaccb = _idaapi.MIPS_vaccb +MIPS_vsucb = _idaapi.MIPS_vsucb +MIPS_vsad = _idaapi.MIPS_vsad +MIPS_vsac = _idaapi.MIPS_vsac +MIPS_vsum = _idaapi.MIPS_vsum +MIPS_vsaw = _idaapi.MIPS_vsaw +MIPS_vlt = _idaapi.MIPS_vlt +MIPS_veq = _idaapi.MIPS_veq +MIPS_vne = _idaapi.MIPS_vne +MIPS_vge = _idaapi.MIPS_vge +MIPS_vcl = _idaapi.MIPS_vcl +MIPS_vch = _idaapi.MIPS_vch +MIPS_vcr = _idaapi.MIPS_vcr +MIPS_vmrg = _idaapi.MIPS_vmrg +MIPS_vand = _idaapi.MIPS_vand +MIPS_vnand = _idaapi.MIPS_vnand +MIPS_vor = _idaapi.MIPS_vor +MIPS_vnor = _idaapi.MIPS_vnor +MIPS_vxor = _idaapi.MIPS_vxor +MIPS_vnxor = _idaapi.MIPS_vnxor +MIPS_vnoop = _idaapi.MIPS_vnoop +MIPS_vmov = _idaapi.MIPS_vmov +MIPS_vrcp = _idaapi.MIPS_vrcp +MIPS_vrsq = _idaapi.MIPS_vrsq +MIPS_vrcph = _idaapi.MIPS_vrcph +MIPS_vrsqh = _idaapi.MIPS_vrsqh +MIPS_vrcpl = _idaapi.MIPS_vrcpl +MIPS_vrsql = _idaapi.MIPS_vrsql +MIPS_vinst = _idaapi.MIPS_vinst +MIPS_vextt = _idaapi.MIPS_vextt +MIPS_vinsq = _idaapi.MIPS_vinsq +MIPS_vextq = _idaapi.MIPS_vextq +MIPS_vinsn = _idaapi.MIPS_vinsn +MIPS_vextn = _idaapi.MIPS_vextn +MIPS_cfc0 = _idaapi.MIPS_cfc0 +MIPS_ctc0 = _idaapi.MIPS_ctc0 +MIPS_mtsa = _idaapi.MIPS_mtsa +MIPS_R5900_first = _idaapi.MIPS_R5900_first +MIPS_mfsa = _idaapi.MIPS_mfsa +MIPS_mtsab = _idaapi.MIPS_mtsab +MIPS_mtsah = _idaapi.MIPS_mtsah +MIPS_fadda = _idaapi.MIPS_fadda +MIPS_fsuba = _idaapi.MIPS_fsuba +MIPS_fmula = _idaapi.MIPS_fmula +MIPS_fmadda = _idaapi.MIPS_fmadda +MIPS_fmsuba = _idaapi.MIPS_fmsuba +MIPS_fmadd = _idaapi.MIPS_fmadd +MIPS_fmsub = _idaapi.MIPS_fmsub +MIPS_fmax = _idaapi.MIPS_fmax +MIPS_fmin = _idaapi.MIPS_fmin +MIPS_plzcw = _idaapi.MIPS_plzcw +MIPS_mthi1 = _idaapi.MIPS_mthi1 +MIPS_mtlo1 = _idaapi.MIPS_mtlo1 +MIPS_pmthl_lw = _idaapi.MIPS_pmthl_lw +MIPS_pmthi = _idaapi.MIPS_pmthi +MIPS_pmtlo = _idaapi.MIPS_pmtlo +MIPS_div1 = _idaapi.MIPS_div1 +MIPS_divu1 = _idaapi.MIPS_divu1 +MIPS_pdivw = _idaapi.MIPS_pdivw +MIPS_pdivuw = _idaapi.MIPS_pdivuw +MIPS_pdivbw = _idaapi.MIPS_pdivbw +MIPS_paddw = _idaapi.MIPS_paddw +MIPS_pmaddw = _idaapi.MIPS_pmaddw +MIPS_mult1 = _idaapi.MIPS_mult1 +MIPS_multu1 = _idaapi.MIPS_multu1 +MIPS_madd1 = _idaapi.MIPS_madd1 +MIPS_maddu1 = _idaapi.MIPS_maddu1 +MIPS_pmadduw = _idaapi.MIPS_pmadduw +MIPS_psubw = _idaapi.MIPS_psubw +MIPS_pcgtw = _idaapi.MIPS_pcgtw +MIPS_psllvw = _idaapi.MIPS_psllvw +MIPS_pceqw = _idaapi.MIPS_pceqw +MIPS_pmaxw = _idaapi.MIPS_pmaxw +MIPS_psrlvw = _idaapi.MIPS_psrlvw +MIPS_pminw = _idaapi.MIPS_pminw +MIPS_psravw = _idaapi.MIPS_psravw +MIPS_paddh = _idaapi.MIPS_paddh +MIPS_pmsubw = _idaapi.MIPS_pmsubw +MIPS_padsbh = _idaapi.MIPS_padsbh +MIPS_psubh = _idaapi.MIPS_psubh +MIPS_pcgth = _idaapi.MIPS_pcgth +MIPS_pceqh = _idaapi.MIPS_pceqh +MIPS_pmaxh = _idaapi.MIPS_pmaxh +MIPS_pminh = _idaapi.MIPS_pminh +MIPS_paddb = _idaapi.MIPS_paddb +MIPS_psubb = _idaapi.MIPS_psubb +MIPS_pcgtb = _idaapi.MIPS_pcgtb +MIPS_pinth = _idaapi.MIPS_pinth +MIPS_pceqb = _idaapi.MIPS_pceqb +MIPS_pintoh = _idaapi.MIPS_pintoh +MIPS_pmultw = _idaapi.MIPS_pmultw +MIPS_pmultuw = _idaapi.MIPS_pmultuw +MIPS_pcpyld = _idaapi.MIPS_pcpyld +MIPS_pcpyud = _idaapi.MIPS_pcpyud +MIPS_paddsw = _idaapi.MIPS_paddsw +MIPS_pmaddh = _idaapi.MIPS_pmaddh +MIPS_padduw = _idaapi.MIPS_padduw +MIPS_psubsw = _idaapi.MIPS_psubsw +MIPS_phmadh = _idaapi.MIPS_phmadh +MIPS_psubuw = _idaapi.MIPS_psubuw +MIPS_pextlw = _idaapi.MIPS_pextlw +MIPS_pand = _idaapi.MIPS_pand +MIPS_pextuw = _idaapi.MIPS_pextuw +MIPS_por = _idaapi.MIPS_por +MIPS_ppacw = _idaapi.MIPS_ppacw +MIPS_pxor = _idaapi.MIPS_pxor +MIPS_pnor = _idaapi.MIPS_pnor +MIPS_paddsh = _idaapi.MIPS_paddsh +MIPS_pmsubh = _idaapi.MIPS_pmsubh +MIPS_padduh = _idaapi.MIPS_padduh +MIPS_psubsh = _idaapi.MIPS_psubsh +MIPS_phmsbh = _idaapi.MIPS_phmsbh +MIPS_psubuh = _idaapi.MIPS_psubuh +MIPS_pextlh = _idaapi.MIPS_pextlh +MIPS_pextuh = _idaapi.MIPS_pextuh +MIPS_ppach = _idaapi.MIPS_ppach +MIPS_paddsb = _idaapi.MIPS_paddsb +MIPS_paddub = _idaapi.MIPS_paddub +MIPS_psubsb = _idaapi.MIPS_psubsb +MIPS_psubub = _idaapi.MIPS_psubub +MIPS_pextlb = _idaapi.MIPS_pextlb +MIPS_pextub = _idaapi.MIPS_pextub +MIPS_ppacb = _idaapi.MIPS_ppacb +MIPS_qfsrv = _idaapi.MIPS_qfsrv +MIPS_pmulth = _idaapi.MIPS_pmulth +MIPS_pabsw = _idaapi.MIPS_pabsw +MIPS_pabsh = _idaapi.MIPS_pabsh +MIPS_pexoh = _idaapi.MIPS_pexoh +MIPS_pexch = _idaapi.MIPS_pexch +MIPS_prevh = _idaapi.MIPS_prevh +MIPS_pcpyh = _idaapi.MIPS_pcpyh +MIPS_pext5 = _idaapi.MIPS_pext5 +MIPS_pexow = _idaapi.MIPS_pexow +MIPS_pexcw = _idaapi.MIPS_pexcw +MIPS_ppac5 = _idaapi.MIPS_ppac5 +MIPS_prot3w = _idaapi.MIPS_prot3w +MIPS_psllh = _idaapi.MIPS_psllh +MIPS_psrlh = _idaapi.MIPS_psrlh +MIPS_psrah = _idaapi.MIPS_psrah +MIPS_psllw = _idaapi.MIPS_psllw +MIPS_psrlw = _idaapi.MIPS_psrlw +MIPS_psraw = _idaapi.MIPS_psraw +MIPS_mfhi1 = _idaapi.MIPS_mfhi1 +MIPS_mflo1 = _idaapi.MIPS_mflo1 +MIPS_pmfhi = _idaapi.MIPS_pmfhi +MIPS_pmflo = _idaapi.MIPS_pmflo +MIPS_pmfhl = _idaapi.MIPS_pmfhl +MIPS_lq = _idaapi.MIPS_lq +MIPS_sq = _idaapi.MIPS_sq +MIPS_lqc2 = _idaapi.MIPS_lqc2 +MIPS_sqc2 = _idaapi.MIPS_sqc2 +MIPS_madd_r5900 = _idaapi.MIPS_madd_r5900 +MIPS_maddu_r5900 = _idaapi.MIPS_maddu_r5900 +MIPS_R5900_last = _idaapi.MIPS_R5900_last +MIPS_mult3 = _idaapi.MIPS_mult3 +MIPS_multu3 = _idaapi.MIPS_multu3 +MIPS_bteqz = _idaapi.MIPS_bteqz +MIPS_btnez = _idaapi.MIPS_btnez +MIPS_cmp = _idaapi.MIPS_cmp +MIPS_cmpi = _idaapi.MIPS_cmpi +MIPS_extend = _idaapi.MIPS_extend +MIPS_move = _idaapi.MIPS_move +MIPS_not = _idaapi.MIPS_not +MIPS_dla = _idaapi.MIPS_dla +MIPS_clo = _idaapi.MIPS_clo +MIPS_clz = _idaapi.MIPS_clz +MIPS_madd = _idaapi.MIPS_madd +MIPS_maddu = _idaapi.MIPS_maddu +MIPS_msub = _idaapi.MIPS_msub +MIPS_msubu = _idaapi.MIPS_msubu +MIPS_mul = _idaapi.MIPS_mul +MIPS_sdbbp = _idaapi.MIPS_sdbbp +MIPS_wait = _idaapi.MIPS_wait +MIPS_alnv_ps = _idaapi.MIPS_alnv_ps +MIPS_deret = _idaapi.MIPS_deret +MIPS_di = _idaapi.MIPS_di +MIPS_ehb = _idaapi.MIPS_ehb +MIPS_ei = _idaapi.MIPS_ei +MIPS_ext = _idaapi.MIPS_ext +MIPS_fcvt_ps = _idaapi.MIPS_fcvt_ps +MIPS_fcvt_s_pl = _idaapi.MIPS_fcvt_s_pl +MIPS_fcvt_s_pu = _idaapi.MIPS_fcvt_s_pu +MIPS_ins = _idaapi.MIPS_ins +MIPS_jalr_hb = _idaapi.MIPS_jalr_hb +MIPS_jr_hb = _idaapi.MIPS_jr_hb +MIPS_luxc1 = _idaapi.MIPS_luxc1 +MIPS_madd_ps = _idaapi.MIPS_madd_ps +MIPS_mfhc1 = _idaapi.MIPS_mfhc1 +MIPS_mfhc2 = _idaapi.MIPS_mfhc2 +MIPS_msub_ps = _idaapi.MIPS_msub_ps +MIPS_mthc1 = _idaapi.MIPS_mthc1 +MIPS_mthc2 = _idaapi.MIPS_mthc2 +MIPS_nmadd_ps = _idaapi.MIPS_nmadd_ps +MIPS_nmsub_ps = _idaapi.MIPS_nmsub_ps +MIPS_pll = _idaapi.MIPS_pll +MIPS_plu = _idaapi.MIPS_plu +MIPS_pul = _idaapi.MIPS_pul +MIPS_puu = _idaapi.MIPS_puu +MIPS_rdhwr = _idaapi.MIPS_rdhwr +MIPS_rdpgpr = _idaapi.MIPS_rdpgpr +MIPS_rotr = _idaapi.MIPS_rotr +MIPS_rotrv = _idaapi.MIPS_rotrv +MIPS_seb = _idaapi.MIPS_seb +MIPS_seh = _idaapi.MIPS_seh +MIPS_suxc1 = _idaapi.MIPS_suxc1 +MIPS_synci = _idaapi.MIPS_synci +MIPS_wrpgpr = _idaapi.MIPS_wrpgpr +MIPS_wsbh = _idaapi.MIPS_wsbh +MIPS_dmfc1 = _idaapi.MIPS_dmfc1 +MIPS_dmtc1 = _idaapi.MIPS_dmtc1 +MIPS_save = _idaapi.MIPS_save +MIPS_restore = _idaapi.MIPS_restore +MIPS_jalrc = _idaapi.MIPS_jalrc +MIPS_jrc = _idaapi.MIPS_jrc +MIPS_sew = _idaapi.MIPS_sew +MIPS_zeb = _idaapi.MIPS_zeb +MIPS_zeh = _idaapi.MIPS_zeh +MIPS_zew = _idaapi.MIPS_zew +MIPS_ssnop = _idaapi.MIPS_ssnop +MIPS_li_s = _idaapi.MIPS_li_s +MIPS_li_d = _idaapi.MIPS_li_d +MIPS_dneg = _idaapi.MIPS_dneg +MIPS_dnegu = _idaapi.MIPS_dnegu +MIPS_pause = _idaapi.MIPS_pause +MIPS_dclo = _idaapi.MIPS_dclo +MIPS_dclz = _idaapi.MIPS_dclz +MIPS_dext = _idaapi.MIPS_dext +MIPS_dextm = _idaapi.MIPS_dextm +MIPS_dextu = _idaapi.MIPS_dextu +MIPS_dins = _idaapi.MIPS_dins +MIPS_dinsm = _idaapi.MIPS_dinsm +MIPS_dinsu = _idaapi.MIPS_dinsu +MIPS_dmfc2 = _idaapi.MIPS_dmfc2 +MIPS_dmtc2 = _idaapi.MIPS_dmtc2 +MIPS_drotr = _idaapi.MIPS_drotr +MIPS_drotr32 = _idaapi.MIPS_drotr32 +MIPS_drotrv = _idaapi.MIPS_drotrv +MIPS_dsbh = _idaapi.MIPS_dsbh +MIPS_dshd = _idaapi.MIPS_dshd +MIPS_baddu = _idaapi.MIPS_baddu +MIPS_bbit0 = _idaapi.MIPS_bbit0 +MIPS_bbit032 = _idaapi.MIPS_bbit032 +MIPS_bbit1 = _idaapi.MIPS_bbit1 +MIPS_bbit132 = _idaapi.MIPS_bbit132 +MIPS_cins = _idaapi.MIPS_cins +MIPS_cins32 = _idaapi.MIPS_cins32 +MIPS_dmul = _idaapi.MIPS_dmul +MIPS_dpop = _idaapi.MIPS_dpop +MIPS_exts = _idaapi.MIPS_exts +MIPS_exts32 = _idaapi.MIPS_exts32 +MIPS_mtm0 = _idaapi.MIPS_mtm0 +MIPS_mtm1 = _idaapi.MIPS_mtm1 +MIPS_mtm2 = _idaapi.MIPS_mtm2 +MIPS_mtp0 = _idaapi.MIPS_mtp0 +MIPS_mtp1 = _idaapi.MIPS_mtp1 +MIPS_mtp2 = _idaapi.MIPS_mtp2 +MIPS_pop = _idaapi.MIPS_pop +MIPS_saa = _idaapi.MIPS_saa +MIPS_saad = _idaapi.MIPS_saad +MIPS_seq = _idaapi.MIPS_seq +MIPS_seqi = _idaapi.MIPS_seqi +MIPS_sne = _idaapi.MIPS_sne +MIPS_snei = _idaapi.MIPS_snei +MIPS_synciobdma = _idaapi.MIPS_synciobdma +MIPS_syncs = _idaapi.MIPS_syncs +MIPS_syncw = _idaapi.MIPS_syncw +MIPS_syncws = _idaapi.MIPS_syncws +MIPS_uld = _idaapi.MIPS_uld +MIPS_ulw = _idaapi.MIPS_ulw +MIPS_usd = _idaapi.MIPS_usd +MIPS_usw = _idaapi.MIPS_usw +MIPS_v3mulu = _idaapi.MIPS_v3mulu +MIPS_vmm0 = _idaapi.MIPS_vmm0 +MIPS_vmulu_cn = _idaapi.MIPS_vmulu_cn +MIPS_dbreak = _idaapi.MIPS_dbreak +MIPS_dret = _idaapi.MIPS_dret +MIPS_mfdr = _idaapi.MIPS_mfdr +MIPS_mtdr = _idaapi.MIPS_mtdr +PSP_bitrev = _idaapi.PSP_bitrev +PSP_max = _idaapi.PSP_max +PSP_min = _idaapi.PSP_min +PSP_mfic = _idaapi.PSP_mfic +PSP_mtic = _idaapi.PSP_mtic +PSP_wsbw = _idaapi.PSP_wsbw +PSP_sleep = _idaapi.PSP_sleep +PSP_lv = _idaapi.PSP_lv +PSP_lvl = _idaapi.PSP_lvl +PSP_lvr = _idaapi.PSP_lvr +PSP_sv = _idaapi.PSP_sv +PSP_svl = _idaapi.PSP_svl +PSP_svr = _idaapi.PSP_svr +PSP_mfv = _idaapi.PSP_mfv +PSP_mtv = _idaapi.PSP_mtv +PSP_mfvc = _idaapi.PSP_mfvc +PSP_mtvc = _idaapi.PSP_mtvc +PSP_bvf = _idaapi.PSP_bvf +PSP_bvt = _idaapi.PSP_bvt +PSP_bvfl = _idaapi.PSP_bvfl +PSP_bvtl = _idaapi.PSP_bvtl +PSP_vnop = _idaapi.PSP_vnop +PSP_vflush = _idaapi.PSP_vflush +PSP_vsync = _idaapi.PSP_vsync +PSP_vabs = _idaapi.PSP_vabs +PSP_vadd = _idaapi.PSP_vadd +PSP_vasin = _idaapi.PSP_vasin +PSP_vavg = _idaapi.PSP_vavg +PSP_vbfy1 = _idaapi.PSP_vbfy1 +PSP_vbfy2 = _idaapi.PSP_vbfy2 +PSP_vc2i = _idaapi.PSP_vc2i +PSP_vcmovf = _idaapi.PSP_vcmovf +PSP_vcmovt = _idaapi.PSP_vcmovt +PSP_vcmp = _idaapi.PSP_vcmp +PSP_vcos = _idaapi.PSP_vcos +PSP_vcrs = _idaapi.PSP_vcrs +PSP_vcrsp = _idaapi.PSP_vcrsp +PSP_vcst = _idaapi.PSP_vcst +PSP_vdet = _idaapi.PSP_vdet +PSP_vdiv = _idaapi.PSP_vdiv +PSP_vdot = _idaapi.PSP_vdot +PSP_vexp2 = _idaapi.PSP_vexp2 +PSP_vf2h = _idaapi.PSP_vf2h +PSP_vf2id = _idaapi.PSP_vf2id +PSP_vf2in = _idaapi.PSP_vf2in +PSP_vf2iu = _idaapi.PSP_vf2iu +PSP_vf2iz = _idaapi.PSP_vf2iz +PSP_vfad = _idaapi.PSP_vfad +PSP_vfim = _idaapi.PSP_vfim +PSP_vh2f = _idaapi.PSP_vh2f +PSP_vhdp = _idaapi.PSP_vhdp +PSP_vhtfm2 = _idaapi.PSP_vhtfm2 +PSP_vhtfm3 = _idaapi.PSP_vhtfm3 +PSP_vhtfm4 = _idaapi.PSP_vhtfm4 +PSP_vi2c = _idaapi.PSP_vi2c +PSP_vi2f = _idaapi.PSP_vi2f +PSP_vi2s = _idaapi.PSP_vi2s +PSP_vi2uc = _idaapi.PSP_vi2uc +PSP_vi2us = _idaapi.PSP_vi2us +PSP_vidt = _idaapi.PSP_vidt +PSP_viim = _idaapi.PSP_viim +PSP_vlgb = _idaapi.PSP_vlgb +PSP_vlog2 = _idaapi.PSP_vlog2 +PSP_vmax = _idaapi.PSP_vmax +PSP_vmfvc = _idaapi.PSP_vmfvc +PSP_vmidt = _idaapi.PSP_vmidt +PSP_vmin = _idaapi.PSP_vmin +PSP_vmmov = _idaapi.PSP_vmmov +PSP_vmmul = _idaapi.PSP_vmmul +PSP_vmone = _idaapi.PSP_vmone +PSP_vmov = _idaapi.PSP_vmov +PSP_vmscl = _idaapi.PSP_vmscl +PSP_vmtvc = _idaapi.PSP_vmtvc +PSP_vmul = _idaapi.PSP_vmul +PSP_vmzero = _idaapi.PSP_vmzero +PSP_vneg = _idaapi.PSP_vneg +PSP_vnrcp = _idaapi.PSP_vnrcp +PSP_vnsin = _idaapi.PSP_vnsin +PSP_vocp = _idaapi.PSP_vocp +PSP_vone = _idaapi.PSP_vone +PSP_vpfxd = _idaapi.PSP_vpfxd +PSP_vpfxs = _idaapi.PSP_vpfxs +PSP_vpfxt = _idaapi.PSP_vpfxt +PSP_vqmul = _idaapi.PSP_vqmul +PSP_vrcp = _idaapi.PSP_vrcp +PSP_vrexp2 = _idaapi.PSP_vrexp2 +PSP_vrndf1 = _idaapi.PSP_vrndf1 +PSP_vrndf2 = _idaapi.PSP_vrndf2 +PSP_vrndi = _idaapi.PSP_vrndi +PSP_vrnds = _idaapi.PSP_vrnds +PSP_vrot = _idaapi.PSP_vrot +PSP_vrsq = _idaapi.PSP_vrsq +PSP_vs2i = _idaapi.PSP_vs2i +PSP_vsat0 = _idaapi.PSP_vsat0 +PSP_vsat1 = _idaapi.PSP_vsat1 +PSP_vsbn = _idaapi.PSP_vsbn +PSP_vsbz = _idaapi.PSP_vsbz +PSP_vscl = _idaapi.PSP_vscl +PSP_vscmp = _idaapi.PSP_vscmp +PSP_vsge = _idaapi.PSP_vsge +PSP_vsgn = _idaapi.PSP_vsgn +PSP_vsin = _idaapi.PSP_vsin +PSP_vslt = _idaapi.PSP_vslt +PSP_vsocp = _idaapi.PSP_vsocp +PSP_vsqrt = _idaapi.PSP_vsqrt +PSP_vsrt1 = _idaapi.PSP_vsrt1 +PSP_vsrt2 = _idaapi.PSP_vsrt2 +PSP_vsrt3 = _idaapi.PSP_vsrt3 +PSP_vsrt4 = _idaapi.PSP_vsrt4 +PSP_vsub = _idaapi.PSP_vsub +PSP_vt4444 = _idaapi.PSP_vt4444 +PSP_vt5551 = _idaapi.PSP_vt5551 +PSP_vt5650 = _idaapi.PSP_vt5650 +PSP_vtfm2 = _idaapi.PSP_vtfm2 +PSP_vtfm3 = _idaapi.PSP_vtfm3 +PSP_vtfm4 = _idaapi.PSP_vtfm4 +PSP_vuc2i = _idaapi.PSP_vuc2i +PSP_vus2i = _idaapi.PSP_vus2i +PSP_vwbn = _idaapi.PSP_vwbn +PSP_vzero = _idaapi.PSP_vzero +PSP_mfvme = _idaapi.PSP_mfvme +PSP_mtvme = _idaapi.PSP_mtvme +MIPS_ac0iu = _idaapi.MIPS_ac0iu +MIPS_bs1f = _idaapi.MIPS_bs1f +MIPS_bfins = _idaapi.MIPS_bfins +MIPS_addmiu = _idaapi.MIPS_addmiu +MIPS_sadd = _idaapi.MIPS_sadd +MIPS_ssub = _idaapi.MIPS_ssub +MIPS_btst = _idaapi.MIPS_btst +MIPS_bclr = _idaapi.MIPS_bclr +MIPS_bset = _idaapi.MIPS_bset +MIPS_bins = _idaapi.MIPS_bins +MIPS_bext = _idaapi.MIPS_bext +MIPS_dive = _idaapi.MIPS_dive +MIPS_diveu = _idaapi.MIPS_diveu +MIPS_min = _idaapi.MIPS_min +MIPS_max = _idaapi.MIPS_max +MIPS_madd3 = _idaapi.MIPS_madd3 +MIPS_maddu3 = _idaapi.MIPS_maddu3 +MIPS_msub3 = _idaapi.MIPS_msub3 +MIPS_msubu3 = _idaapi.MIPS_msubu3 +MIPS_dvpe = _idaapi.MIPS_dvpe +MIPS_evpe = _idaapi.MIPS_evpe +MIPS_dmt = _idaapi.MIPS_dmt +MIPS_emt = _idaapi.MIPS_emt +MIPS_fork = _idaapi.MIPS_fork +MIPS_yield = _idaapi.MIPS_yield +MIPS_mftr = _idaapi.MIPS_mftr +MIPS_mftc0 = _idaapi.MIPS_mftc0 +MIPS_mftlo = _idaapi.MIPS_mftlo +MIPS_mfthi = _idaapi.MIPS_mfthi +MIPS_mftacx = _idaapi.MIPS_mftacx +MIPS_mftdsp = _idaapi.MIPS_mftdsp +MIPS_mfthc1 = _idaapi.MIPS_mfthc1 +MIPS_mftc1 = _idaapi.MIPS_mftc1 +MIPS_cftc1 = _idaapi.MIPS_cftc1 +MIPS_mfthc2 = _idaapi.MIPS_mfthc2 +MIPS_mftc2 = _idaapi.MIPS_mftc2 +MIPS_cftc2 = _idaapi.MIPS_cftc2 +MIPS_mftgpr = _idaapi.MIPS_mftgpr +MIPS_mttr = _idaapi.MIPS_mttr +MIPS_mttc0 = _idaapi.MIPS_mttc0 +MIPS_mttlo = _idaapi.MIPS_mttlo +MIPS_mtthi = _idaapi.MIPS_mtthi +MIPS_mttacx = _idaapi.MIPS_mttacx +MIPS_mttdsp = _idaapi.MIPS_mttdsp +MIPS_mtthc1 = _idaapi.MIPS_mtthc1 +MIPS_mttc1 = _idaapi.MIPS_mttc1 +MIPS_cttc1 = _idaapi.MIPS_cttc1 +MIPS_mtthc2 = _idaapi.MIPS_mtthc2 +MIPS_mttc2 = _idaapi.MIPS_mttc2 +MIPS_cttc2 = _idaapi.MIPS_cttc2 +MIPS_mttgpr = _idaapi.MIPS_mttgpr +MIPS_faddr = _idaapi.MIPS_faddr +MIPS_bc1any2f = _idaapi.MIPS_bc1any2f +MIPS_bc1any2t = _idaapi.MIPS_bc1any2t +MIPS_bc1any4f = _idaapi.MIPS_bc1any4f +MIPS_bc1any4t = _idaapi.MIPS_bc1any4t +MIPS_fcabs_f = _idaapi.MIPS_fcabs_f +MIPS_fcabs_un = _idaapi.MIPS_fcabs_un +MIPS_fcabs_eq = _idaapi.MIPS_fcabs_eq +MIPS_fcabs_ueq = _idaapi.MIPS_fcabs_ueq +MIPS_fcabs_olt = _idaapi.MIPS_fcabs_olt +MIPS_fcabs_ult = _idaapi.MIPS_fcabs_ult +MIPS_fcabs_ole = _idaapi.MIPS_fcabs_ole +MIPS_fcabs_ule = _idaapi.MIPS_fcabs_ule +MIPS_fcabs_sf = _idaapi.MIPS_fcabs_sf +MIPS_fcabs_ngle = _idaapi.MIPS_fcabs_ngle +MIPS_fcabs_seq = _idaapi.MIPS_fcabs_seq +MIPS_fcabs_ngl = _idaapi.MIPS_fcabs_ngl +MIPS_fcabs_lt = _idaapi.MIPS_fcabs_lt +MIPS_fcabs_nge = _idaapi.MIPS_fcabs_nge +MIPS_fcabs_le = _idaapi.MIPS_fcabs_le +MIPS_fcabs_ngt = _idaapi.MIPS_fcabs_ngt +MIPS_fcvt_pw_ps = _idaapi.MIPS_fcvt_pw_ps +MIPS_fcvt_ps_pw = _idaapi.MIPS_fcvt_ps_pw +MIPS_fmulr = _idaapi.MIPS_fmulr +MIPS_frecip1 = _idaapi.MIPS_frecip1 +MIPS_frecip2 = _idaapi.MIPS_frecip2 +MIPS_frsqrt1 = _idaapi.MIPS_frsqrt1 +MIPS_frsqrt2 = _idaapi.MIPS_frsqrt2 +MIPS_lwxs = _idaapi.MIPS_lwxs +MIPS_maddp = _idaapi.MIPS_maddp +MIPS_mflhxu = _idaapi.MIPS_mflhxu +MIPS_mtlhx = _idaapi.MIPS_mtlhx +MIPS_multp = _idaapi.MIPS_multp +MIPS_pperm = _idaapi.MIPS_pperm +MIPS_jals = _idaapi.MIPS_jals +MIPS_lwp = _idaapi.MIPS_lwp +MIPS_ldp = _idaapi.MIPS_ldp +MIPS_lwm = _idaapi.MIPS_lwm +MIPS_ldm = _idaapi.MIPS_ldm +MIPS_swp = _idaapi.MIPS_swp +MIPS_sdp = _idaapi.MIPS_sdp +MIPS_swm = _idaapi.MIPS_swm +MIPS_sdm = _idaapi.MIPS_sdm +MIPS_bnezc = _idaapi.MIPS_bnezc +MIPS_bltzals = _idaapi.MIPS_bltzals +MIPS_beqzc = _idaapi.MIPS_beqzc +MIPS_bgezals = _idaapi.MIPS_bgezals +MIPS_jraddiusp = _idaapi.MIPS_jraddiusp +MIPS_jalrs = _idaapi.MIPS_jalrs +MIPS_jalrs_hb = _idaapi.MIPS_jalrs_hb +MIPS_movep = _idaapi.MIPS_movep +MIPS_dli = _idaapi.MIPS_dli +MIPS_insv = _idaapi.MIPS_insv +MIPS_dinsv = _idaapi.MIPS_dinsv +MIPS_bposge32 = _idaapi.MIPS_bposge32 +MIPS_bposge64 = _idaapi.MIPS_bposge64 +MIPS_addu_qb = _idaapi.MIPS_addu_qb +MIPS_addu_ph = _idaapi.MIPS_addu_ph +MIPS_addsc = _idaapi.MIPS_addsc +MIPS_subu_qb = _idaapi.MIPS_subu_qb +MIPS_subu_ph = _idaapi.MIPS_subu_ph +MIPS_addwc = _idaapi.MIPS_addwc +MIPS_addq_ph = _idaapi.MIPS_addq_ph +MIPS_modsub = _idaapi.MIPS_modsub +MIPS_subq_ph = _idaapi.MIPS_subq_ph +MIPS_addu_s_qb = _idaapi.MIPS_addu_s_qb +MIPS_addu_s_ph = _idaapi.MIPS_addu_s_ph +MIPS_raddu_w_qb = _idaapi.MIPS_raddu_w_qb +MIPS_muleq_s_w_phl = _idaapi.MIPS_muleq_s_w_phl +MIPS_subu_s_qb = _idaapi.MIPS_subu_s_qb +MIPS_subu_s_ph = _idaapi.MIPS_subu_s_ph +MIPS_muleq_s_w_phr = _idaapi.MIPS_muleq_s_w_phr +MIPS_muleu_s_ph_qbl = _idaapi.MIPS_muleu_s_ph_qbl +MIPS_addq_s_ph = _idaapi.MIPS_addq_s_ph +MIPS_addq_s_w = _idaapi.MIPS_addq_s_w +MIPS_mulq_s_ph = _idaapi.MIPS_mulq_s_ph +MIPS_muleu_s_ph_qbr = _idaapi.MIPS_muleu_s_ph_qbr +MIPS_subq_s_ph = _idaapi.MIPS_subq_s_ph +MIPS_subq_s_w = _idaapi.MIPS_subq_s_w +MIPS_mulq_rs_ph = _idaapi.MIPS_mulq_rs_ph +MIPS_addu_ob = _idaapi.MIPS_addu_ob +MIPS_subu_ob = _idaapi.MIPS_subu_ob +MIPS_addq_qh = _idaapi.MIPS_addq_qh +MIPS_addq_pw = _idaapi.MIPS_addq_pw +MIPS_subq_qh = _idaapi.MIPS_subq_qh +MIPS_subq_pw = _idaapi.MIPS_subq_pw +MIPS_addu_s_ob = _idaapi.MIPS_addu_s_ob +MIPS_raddu_l_ob = _idaapi.MIPS_raddu_l_ob +MIPS_muleq_s_pw_qhl = _idaapi.MIPS_muleq_s_pw_qhl +MIPS_subu_s_ob = _idaapi.MIPS_subu_s_ob +MIPS_muleq_s_pw_qhr = _idaapi.MIPS_muleq_s_pw_qhr +MIPS_muleu_s_qh_obl = _idaapi.MIPS_muleu_s_qh_obl +MIPS_addq_s_qh = _idaapi.MIPS_addq_s_qh +MIPS_addq_s_pw = _idaapi.MIPS_addq_s_pw +MIPS_muleu_s_qh_obr = _idaapi.MIPS_muleu_s_qh_obr +MIPS_subq_s_qh = _idaapi.MIPS_subq_s_qh +MIPS_subq_s_pw = _idaapi.MIPS_subq_s_pw +MIPS_mulq_rs_qh = _idaapi.MIPS_mulq_rs_qh +MIPS_cmpu_eq_qb = _idaapi.MIPS_cmpu_eq_qb +MIPS_cmp_eq_ph = _idaapi.MIPS_cmp_eq_ph +MIPS_cmpgdu_eq_qb = _idaapi.MIPS_cmpgdu_eq_qb +MIPS_cmpu_lt_qb = _idaapi.MIPS_cmpu_lt_qb +MIPS_cmp_lt_ph = _idaapi.MIPS_cmp_lt_ph +MIPS_cmpgdu_lt_qb = _idaapi.MIPS_cmpgdu_lt_qb +MIPS_cmpu_le_qb = _idaapi.MIPS_cmpu_le_qb +MIPS_cmp_le_ph = _idaapi.MIPS_cmp_le_ph +MIPS_cmpgdu_le_qb = _idaapi.MIPS_cmpgdu_le_qb +MIPS_pick_qb = _idaapi.MIPS_pick_qb +MIPS_pick_ph = _idaapi.MIPS_pick_ph +MIPS_cmpgu_eq_qb = _idaapi.MIPS_cmpgu_eq_qb +MIPS_precrq_qb_ph = _idaapi.MIPS_precrq_qb_ph +MIPS_precrq_ph_w = _idaapi.MIPS_precrq_ph_w +MIPS_cmpgu_lt_qb = _idaapi.MIPS_cmpgu_lt_qb +MIPS_precr_qb_ph = _idaapi.MIPS_precr_qb_ph +MIPS_precrq_rs_ph_w = _idaapi.MIPS_precrq_rs_ph_w +MIPS_cmpgu_le_qb = _idaapi.MIPS_cmpgu_le_qb +MIPS_packrl_ph = _idaapi.MIPS_packrl_ph +MIPS_precr_sra_ph_w = _idaapi.MIPS_precr_sra_ph_w +MIPS_precrqu_s_qb_ph = _idaapi.MIPS_precrqu_s_qb_ph +MIPS_precr_sra_r_ph_w = _idaapi.MIPS_precr_sra_r_ph_w +MIPS_cmpu_eq_ob = _idaapi.MIPS_cmpu_eq_ob +MIPS_cmp_eq_qh = _idaapi.MIPS_cmp_eq_qh +MIPS_cmp_eq_pw = _idaapi.MIPS_cmp_eq_pw +MIPS_cmpu_lt_ob = _idaapi.MIPS_cmpu_lt_ob +MIPS_cmp_lt_qh = _idaapi.MIPS_cmp_lt_qh +MIPS_cmp_lt_pw = _idaapi.MIPS_cmp_lt_pw +MIPS_cmpu_le_ob = _idaapi.MIPS_cmpu_le_ob +MIPS_cmp_le_qh = _idaapi.MIPS_cmp_le_qh +MIPS_cmp_le_pw = _idaapi.MIPS_cmp_le_pw +MIPS_pick_ob = _idaapi.MIPS_pick_ob +MIPS_pick_qh = _idaapi.MIPS_pick_qh +MIPS_pick_pw = _idaapi.MIPS_pick_pw +MIPS_cmpgu_eq_ob = _idaapi.MIPS_cmpgu_eq_ob +MIPS_precrq_ob_qh = _idaapi.MIPS_precrq_ob_qh +MIPS_precrq_qh_pw = _idaapi.MIPS_precrq_qh_pw +MIPS_precrq_pw_l = _idaapi.MIPS_precrq_pw_l +MIPS_cmpgu_lt_ob = _idaapi.MIPS_cmpgu_lt_ob +MIPS_precrq_rs_qh_pw = _idaapi.MIPS_precrq_rs_qh_pw +MIPS_cmpgu_le_ob = _idaapi.MIPS_cmpgu_le_ob +MIPS_packrl_pw = _idaapi.MIPS_packrl_pw +MIPS_precrqu_s_ob_qh = _idaapi.MIPS_precrqu_s_ob_qh +MIPS_absq_s_qb = _idaapi.MIPS_absq_s_qb +MIPS_absq_s_ph = _idaapi.MIPS_absq_s_ph +MIPS_absq_s_w = _idaapi.MIPS_absq_s_w +MIPS_repl_qb = _idaapi.MIPS_repl_qb +MIPS_repl_ph = _idaapi.MIPS_repl_ph +MIPS_replv_qb = _idaapi.MIPS_replv_qb +MIPS_replv_ph = _idaapi.MIPS_replv_ph +MIPS_bitrev = _idaapi.MIPS_bitrev +MIPS_precequ_ph_qbl = _idaapi.MIPS_precequ_ph_qbl +MIPS_preceq_w_phl = _idaapi.MIPS_preceq_w_phl +MIPS_preceu_ph_qbl = _idaapi.MIPS_preceu_ph_qbl +MIPS_precequ_ph_qbr = _idaapi.MIPS_precequ_ph_qbr +MIPS_preceq_w_phr = _idaapi.MIPS_preceq_w_phr +MIPS_preceu_ph_qbr = _idaapi.MIPS_preceu_ph_qbr +MIPS_precequ_ph_qbla = _idaapi.MIPS_precequ_ph_qbla +MIPS_preceu_ph_qbla = _idaapi.MIPS_preceu_ph_qbla +MIPS_precequ_ph_qbra = _idaapi.MIPS_precequ_ph_qbra +MIPS_preceu_ph_qbra = _idaapi.MIPS_preceu_ph_qbra +MIPS_absq_s_qh = _idaapi.MIPS_absq_s_qh +MIPS_absq_s_pw = _idaapi.MIPS_absq_s_pw +MIPS_repl_ob = _idaapi.MIPS_repl_ob +MIPS_repl_qh = _idaapi.MIPS_repl_qh +MIPS_repl_pw = _idaapi.MIPS_repl_pw +MIPS_replv_ob = _idaapi.MIPS_replv_ob +MIPS_replv_qh = _idaapi.MIPS_replv_qh +MIPS_replv_pw = _idaapi.MIPS_replv_pw +MIPS_precequ_pw_qhl = _idaapi.MIPS_precequ_pw_qhl +MIPS_preceq_pw_qhl = _idaapi.MIPS_preceq_pw_qhl +MIPS_preceq_s_l_pwl = _idaapi.MIPS_preceq_s_l_pwl +MIPS_preceu_qh_obl = _idaapi.MIPS_preceu_qh_obl +MIPS_precequ_pw_qhr = _idaapi.MIPS_precequ_pw_qhr +MIPS_preceq_pw_qhr = _idaapi.MIPS_preceq_pw_qhr +MIPS_preceq_s_l_pwr = _idaapi.MIPS_preceq_s_l_pwr +MIPS_preceu_qh_obr = _idaapi.MIPS_preceu_qh_obr +MIPS_precequ_pw_qhla = _idaapi.MIPS_precequ_pw_qhla +MIPS_preceq_pw_qhla = _idaapi.MIPS_preceq_pw_qhla +MIPS_preceu_qh_obla = _idaapi.MIPS_preceu_qh_obla +MIPS_precequ_pw_qhra = _idaapi.MIPS_precequ_pw_qhra +MIPS_preceq_pw_qhra = _idaapi.MIPS_preceq_pw_qhra +MIPS_preceu_qh_obra = _idaapi.MIPS_preceu_qh_obra +MIPS_shll_qb = _idaapi.MIPS_shll_qb +MIPS_shll_ph = _idaapi.MIPS_shll_ph +MIPS_shrl_qb = _idaapi.MIPS_shrl_qb +MIPS_shra_ph = _idaapi.MIPS_shra_ph +MIPS_shrl_ph = _idaapi.MIPS_shrl_ph +MIPS_shllv_qb = _idaapi.MIPS_shllv_qb +MIPS_shllv_ph = _idaapi.MIPS_shllv_ph +MIPS_shrlv_qb = _idaapi.MIPS_shrlv_qb +MIPS_shrav_ph = _idaapi.MIPS_shrav_ph +MIPS_shrlv_ph = _idaapi.MIPS_shrlv_ph +MIPS_shra_qb = _idaapi.MIPS_shra_qb +MIPS_shll_s_ph = _idaapi.MIPS_shll_s_ph +MIPS_shll_s_w = _idaapi.MIPS_shll_s_w +MIPS_shra_r_qb = _idaapi.MIPS_shra_r_qb +MIPS_shra_r_ph = _idaapi.MIPS_shra_r_ph +MIPS_shra_r_w = _idaapi.MIPS_shra_r_w +MIPS_shrav_qb = _idaapi.MIPS_shrav_qb +MIPS_shllv_s_ph = _idaapi.MIPS_shllv_s_ph +MIPS_shllv_s_w = _idaapi.MIPS_shllv_s_w +MIPS_shrav_r_qb = _idaapi.MIPS_shrav_r_qb +MIPS_shrav_r_ph = _idaapi.MIPS_shrav_r_ph +MIPS_shrav_r_w = _idaapi.MIPS_shrav_r_w +MIPS_shll_ob = _idaapi.MIPS_shll_ob +MIPS_shll_qh = _idaapi.MIPS_shll_qh +MIPS_shll_pw = _idaapi.MIPS_shll_pw +MIPS_shrl_ob = _idaapi.MIPS_shrl_ob +MIPS_shra_qh = _idaapi.MIPS_shra_qh +MIPS_shra_pw = _idaapi.MIPS_shra_pw +MIPS_shllv_ob = _idaapi.MIPS_shllv_ob +MIPS_shllv_qh = _idaapi.MIPS_shllv_qh +MIPS_shllv_pw = _idaapi.MIPS_shllv_pw +MIPS_shrlv_ob = _idaapi.MIPS_shrlv_ob +MIPS_shrav_qh = _idaapi.MIPS_shrav_qh +MIPS_shrav_pw = _idaapi.MIPS_shrav_pw +MIPS_shll_s_qh = _idaapi.MIPS_shll_s_qh +MIPS_shll_s_pw = _idaapi.MIPS_shll_s_pw +MIPS_shra_r_qh = _idaapi.MIPS_shra_r_qh +MIPS_shra_r_pw = _idaapi.MIPS_shra_r_pw +MIPS_shllv_s_qh = _idaapi.MIPS_shllv_s_qh +MIPS_shllv_s_pw = _idaapi.MIPS_shllv_s_pw +MIPS_shrav_r_qh = _idaapi.MIPS_shrav_r_qh +MIPS_shrav_r_pw = _idaapi.MIPS_shrav_r_pw +MIPS_lwx = _idaapi.MIPS_lwx +MIPS_ldx = _idaapi.MIPS_ldx +MIPS_lhx = _idaapi.MIPS_lhx +MIPS_lbux = _idaapi.MIPS_lbux +MIPS_dpa_w_ph = _idaapi.MIPS_dpa_w_ph +MIPS_dpax_w_ph = _idaapi.MIPS_dpax_w_ph +MIPS_maq_sa_w_phl = _idaapi.MIPS_maq_sa_w_phl +MIPS_dpaqx_s_w_ph = _idaapi.MIPS_dpaqx_s_w_ph +MIPS_dps_w_ph = _idaapi.MIPS_dps_w_ph +MIPS_dpsx_w_ph = _idaapi.MIPS_dpsx_w_ph +MIPS_dpsqx_s_w_ph = _idaapi.MIPS_dpsqx_s_w_ph +MIPS_mulsa_w_ph = _idaapi.MIPS_mulsa_w_ph +MIPS_maq_sa_w_phr = _idaapi.MIPS_maq_sa_w_phr +MIPS_dpaqx_sa_w_ph = _idaapi.MIPS_dpaqx_sa_w_ph +MIPS_dpau_h_qbl = _idaapi.MIPS_dpau_h_qbl +MIPS_dpsu_h_qbl = _idaapi.MIPS_dpsu_h_qbl +MIPS_dpsqx_sa_w_ph = _idaapi.MIPS_dpsqx_sa_w_ph +MIPS_dpaq_s_w_ph = _idaapi.MIPS_dpaq_s_w_ph +MIPS_dpaq_sa_l_w = _idaapi.MIPS_dpaq_sa_l_w +MIPS_maq_s_w_phl = _idaapi.MIPS_maq_s_w_phl +MIPS_dpsq_s_w_ph = _idaapi.MIPS_dpsq_s_w_ph +MIPS_dpsq_sa_l_w = _idaapi.MIPS_dpsq_sa_l_w +MIPS_mulsaq_s_w_ph = _idaapi.MIPS_mulsaq_s_w_ph +MIPS_maq_s_w_phr = _idaapi.MIPS_maq_s_w_phr +MIPS_dpau_h_qbr = _idaapi.MIPS_dpau_h_qbr +MIPS_dpsu_h_qbr = _idaapi.MIPS_dpsu_h_qbr +MIPS_maq_sa_w_qhll = _idaapi.MIPS_maq_sa_w_qhll +MIPS_maq_sa_w_qhlr = _idaapi.MIPS_maq_sa_w_qhlr +MIPS_dmadd = _idaapi.MIPS_dmadd +MIPS_dmsub = _idaapi.MIPS_dmsub +MIPS_maq_sa_w_qhrl = _idaapi.MIPS_maq_sa_w_qhrl +MIPS_dpau_h_obl = _idaapi.MIPS_dpau_h_obl +MIPS_dpsu_h_obl = _idaapi.MIPS_dpsu_h_obl +MIPS_maq_sa_w_qhrr = _idaapi.MIPS_maq_sa_w_qhrr +MIPS_dpaq_s_w_qh = _idaapi.MIPS_dpaq_s_w_qh +MIPS_dpaq_sa_l_pw = _idaapi.MIPS_dpaq_sa_l_pw +MIPS_maq_s_w_qhll = _idaapi.MIPS_maq_s_w_qhll +MIPS_maq_s_l_pwl = _idaapi.MIPS_maq_s_l_pwl +MIPS_dpsq_s_w_qh = _idaapi.MIPS_dpsq_s_w_qh +MIPS_dpsq_sa_l_pw = _idaapi.MIPS_dpsq_sa_l_pw +MIPS_maq_s_w_qhlr = _idaapi.MIPS_maq_s_w_qhlr +MIPS_dmaddu = _idaapi.MIPS_dmaddu +MIPS_mulsaq_s_w_qh = _idaapi.MIPS_mulsaq_s_w_qh +MIPS_mulsaq_s_l_pw = _idaapi.MIPS_mulsaq_s_l_pw +MIPS_maq_s_w_qhrl = _idaapi.MIPS_maq_s_w_qhrl +MIPS_maq_s_l_pwr = _idaapi.MIPS_maq_s_l_pwr +MIPS_dpau_h_obr = _idaapi.MIPS_dpau_h_obr +MIPS_dpsu_h_obr = _idaapi.MIPS_dpsu_h_obr +MIPS_maq_s_w_qhrr = _idaapi.MIPS_maq_s_w_qhrr +MIPS_dmsubu = _idaapi.MIPS_dmsubu +MIPS_extr_w = _idaapi.MIPS_extr_w +MIPS_extrv_w = _idaapi.MIPS_extrv_w +MIPS_extp = _idaapi.MIPS_extp +MIPS_extpdp = _idaapi.MIPS_extpdp +MIPS_rddsp = _idaapi.MIPS_rddsp +MIPS_shilo = _idaapi.MIPS_shilo +MIPS_extpv = _idaapi.MIPS_extpv +MIPS_extpdpv = _idaapi.MIPS_extpdpv +MIPS_wrdsp = _idaapi.MIPS_wrdsp +MIPS_shilov = _idaapi.MIPS_shilov +MIPS_extr_r_w = _idaapi.MIPS_extr_r_w +MIPS_extrv_r_w = _idaapi.MIPS_extrv_r_w +MIPS_extr_rs_w = _idaapi.MIPS_extr_rs_w +MIPS_extr_s_h = _idaapi.MIPS_extr_s_h +MIPS_extrv_rs_w = _idaapi.MIPS_extrv_rs_w +MIPS_extrv_s_h = _idaapi.MIPS_extrv_s_h +MIPS_mthlip = _idaapi.MIPS_mthlip +MIPS_dextr_w = _idaapi.MIPS_dextr_w +MIPS_dextr_l = _idaapi.MIPS_dextr_l +MIPS_dextrv_w = _idaapi.MIPS_dextrv_w +MIPS_dextrv_l = _idaapi.MIPS_dextrv_l +MIPS_dextp = _idaapi.MIPS_dextp +MIPS_dextpdp = _idaapi.MIPS_dextpdp +MIPS_dshilo = _idaapi.MIPS_dshilo +MIPS_dextpv = _idaapi.MIPS_dextpv +MIPS_dextpdpv = _idaapi.MIPS_dextpdpv +MIPS_dshilov = _idaapi.MIPS_dshilov +MIPS_dextr_r_w = _idaapi.MIPS_dextr_r_w +MIPS_dextr_r_l = _idaapi.MIPS_dextr_r_l +MIPS_dextrv_r_w = _idaapi.MIPS_dextrv_r_w +MIPS_dextrv_r_l = _idaapi.MIPS_dextrv_r_l +MIPS_dextr_rs_w = _idaapi.MIPS_dextr_rs_w +MIPS_dextr_s_h = _idaapi.MIPS_dextr_s_h +MIPS_dextr_rs_l = _idaapi.MIPS_dextr_rs_l +MIPS_dextrv_rs_w = _idaapi.MIPS_dextrv_rs_w +MIPS_dextrv_s_h = _idaapi.MIPS_dextrv_s_h +MIPS_dextrv_rs_l = _idaapi.MIPS_dextrv_rs_l +MIPS_dmthlip = _idaapi.MIPS_dmthlip +MIPS_adduh_qb = _idaapi.MIPS_adduh_qb +MIPS_addqh_ph = _idaapi.MIPS_addqh_ph +MIPS_addqh_w = _idaapi.MIPS_addqh_w +MIPS_subuh_qb = _idaapi.MIPS_subuh_qb +MIPS_subqh_ph = _idaapi.MIPS_subqh_ph +MIPS_subqh_w = _idaapi.MIPS_subqh_w +MIPS_adduh_r_qb = _idaapi.MIPS_adduh_r_qb +MIPS_addqh_r_ph = _idaapi.MIPS_addqh_r_ph +MIPS_addqh_r_w = _idaapi.MIPS_addqh_r_w +MIPS_subuh_r_qb = _idaapi.MIPS_subuh_r_qb +MIPS_subqh_r_ph = _idaapi.MIPS_subqh_r_ph +MIPS_subqh_r_w = _idaapi.MIPS_subqh_r_w +MIPS_mul_ph = _idaapi.MIPS_mul_ph +MIPS_mul_s_ph = _idaapi.MIPS_mul_s_ph +MIPS_mulq_s_w = _idaapi.MIPS_mulq_s_w +MIPS_mulq_rs_w = _idaapi.MIPS_mulq_rs_w +MIPS_append = _idaapi.MIPS_append +MIPS_balign = _idaapi.MIPS_balign +MIPS_prepend = _idaapi.MIPS_prepend +MIPS_laa = _idaapi.MIPS_laa +MIPS_laad = _idaapi.MIPS_laad +MIPS_lac = _idaapi.MIPS_lac +MIPS_lacd = _idaapi.MIPS_lacd +MIPS_lad = _idaapi.MIPS_lad +MIPS_ladd = _idaapi.MIPS_ladd +MIPS_lai = _idaapi.MIPS_lai +MIPS_laid = _idaapi.MIPS_laid +MIPS_las = _idaapi.MIPS_las +MIPS_lasd = _idaapi.MIPS_lasd +MIPS_law = _idaapi.MIPS_law +MIPS_lawd = _idaapi.MIPS_lawd +MIPS_lbx = _idaapi.MIPS_lbx +MIPS_lhux = _idaapi.MIPS_lhux +MIPS_lwux = _idaapi.MIPS_lwux +MIPS_qmac_00 = _idaapi.MIPS_qmac_00 +MIPS_qmac_01 = _idaapi.MIPS_qmac_01 +MIPS_qmac_02 = _idaapi.MIPS_qmac_02 +MIPS_qmac_03 = _idaapi.MIPS_qmac_03 +MIPS_qmacs_00 = _idaapi.MIPS_qmacs_00 +MIPS_qmacs_01 = _idaapi.MIPS_qmacs_01 +MIPS_qmacs_02 = _idaapi.MIPS_qmacs_02 +MIPS_qmacs_03 = _idaapi.MIPS_qmacs_03 +MIPS_zcb = _idaapi.MIPS_zcb +MIPS_zcbt = _idaapi.MIPS_zcbt +MIPS_msa_sll_b = _idaapi.MIPS_msa_sll_b +MIPS_msa_sll_h = _idaapi.MIPS_msa_sll_h +MIPS_msa_sll_w = _idaapi.MIPS_msa_sll_w +MIPS_msa_sll_d = _idaapi.MIPS_msa_sll_d +MIPS_msa_slli_b = _idaapi.MIPS_msa_slli_b +MIPS_msa_slli_h = _idaapi.MIPS_msa_slli_h +MIPS_msa_slli_w = _idaapi.MIPS_msa_slli_w +MIPS_msa_slli_d = _idaapi.MIPS_msa_slli_d +MIPS_msa_sra_b = _idaapi.MIPS_msa_sra_b +MIPS_msa_sra_h = _idaapi.MIPS_msa_sra_h +MIPS_msa_sra_w = _idaapi.MIPS_msa_sra_w +MIPS_msa_sra_d = _idaapi.MIPS_msa_sra_d +MIPS_msa_srai_b = _idaapi.MIPS_msa_srai_b +MIPS_msa_srai_h = _idaapi.MIPS_msa_srai_h +MIPS_msa_srai_w = _idaapi.MIPS_msa_srai_w +MIPS_msa_srai_d = _idaapi.MIPS_msa_srai_d +MIPS_msa_srl_b = _idaapi.MIPS_msa_srl_b +MIPS_msa_srl_h = _idaapi.MIPS_msa_srl_h +MIPS_msa_srl_w = _idaapi.MIPS_msa_srl_w +MIPS_msa_srl_d = _idaapi.MIPS_msa_srl_d +MIPS_msa_srli_b = _idaapi.MIPS_msa_srli_b +MIPS_msa_srli_h = _idaapi.MIPS_msa_srli_h +MIPS_msa_srli_w = _idaapi.MIPS_msa_srli_w +MIPS_msa_srli_d = _idaapi.MIPS_msa_srli_d +MIPS_msa_bclr_b = _idaapi.MIPS_msa_bclr_b +MIPS_msa_bclr_h = _idaapi.MIPS_msa_bclr_h +MIPS_msa_bclr_w = _idaapi.MIPS_msa_bclr_w +MIPS_msa_bclr_d = _idaapi.MIPS_msa_bclr_d +MIPS_msa_bclri_b = _idaapi.MIPS_msa_bclri_b +MIPS_msa_bclri_h = _idaapi.MIPS_msa_bclri_h +MIPS_msa_bclri_w = _idaapi.MIPS_msa_bclri_w +MIPS_msa_bclri_d = _idaapi.MIPS_msa_bclri_d +MIPS_msa_bset_b = _idaapi.MIPS_msa_bset_b +MIPS_msa_bset_h = _idaapi.MIPS_msa_bset_h +MIPS_msa_bset_w = _idaapi.MIPS_msa_bset_w +MIPS_msa_bset_d = _idaapi.MIPS_msa_bset_d +MIPS_msa_bseti_b = _idaapi.MIPS_msa_bseti_b +MIPS_msa_bseti_h = _idaapi.MIPS_msa_bseti_h +MIPS_msa_bseti_w = _idaapi.MIPS_msa_bseti_w +MIPS_msa_bseti_d = _idaapi.MIPS_msa_bseti_d +MIPS_msa_bneg_b = _idaapi.MIPS_msa_bneg_b +MIPS_msa_bneg_h = _idaapi.MIPS_msa_bneg_h +MIPS_msa_bneg_w = _idaapi.MIPS_msa_bneg_w +MIPS_msa_bneg_d = _idaapi.MIPS_msa_bneg_d +MIPS_msa_bnegi_b = _idaapi.MIPS_msa_bnegi_b +MIPS_msa_bnegi_h = _idaapi.MIPS_msa_bnegi_h +MIPS_msa_bnegi_w = _idaapi.MIPS_msa_bnegi_w +MIPS_msa_bnegi_d = _idaapi.MIPS_msa_bnegi_d +MIPS_msa_binsl_b = _idaapi.MIPS_msa_binsl_b +MIPS_msa_binsl_h = _idaapi.MIPS_msa_binsl_h +MIPS_msa_binsl_w = _idaapi.MIPS_msa_binsl_w +MIPS_msa_binsl_d = _idaapi.MIPS_msa_binsl_d +MIPS_msa_binsli_b = _idaapi.MIPS_msa_binsli_b +MIPS_msa_binsli_h = _idaapi.MIPS_msa_binsli_h +MIPS_msa_binsli_w = _idaapi.MIPS_msa_binsli_w +MIPS_msa_binsli_d = _idaapi.MIPS_msa_binsli_d +MIPS_msa_binsr_b = _idaapi.MIPS_msa_binsr_b +MIPS_msa_binsr_h = _idaapi.MIPS_msa_binsr_h +MIPS_msa_binsr_w = _idaapi.MIPS_msa_binsr_w +MIPS_msa_binsr_d = _idaapi.MIPS_msa_binsr_d +MIPS_msa_binsri_b = _idaapi.MIPS_msa_binsri_b +MIPS_msa_binsri_h = _idaapi.MIPS_msa_binsri_h +MIPS_msa_binsri_w = _idaapi.MIPS_msa_binsri_w +MIPS_msa_binsri_d = _idaapi.MIPS_msa_binsri_d +MIPS_msa_addv_b = _idaapi.MIPS_msa_addv_b +MIPS_msa_addv_h = _idaapi.MIPS_msa_addv_h +MIPS_msa_addv_w = _idaapi.MIPS_msa_addv_w +MIPS_msa_addv_d = _idaapi.MIPS_msa_addv_d +MIPS_msa_addvi_b = _idaapi.MIPS_msa_addvi_b +MIPS_msa_addvi_h = _idaapi.MIPS_msa_addvi_h +MIPS_msa_addvi_w = _idaapi.MIPS_msa_addvi_w +MIPS_msa_addvi_d = _idaapi.MIPS_msa_addvi_d +MIPS_msa_subv_b = _idaapi.MIPS_msa_subv_b +MIPS_msa_subv_h = _idaapi.MIPS_msa_subv_h +MIPS_msa_subv_w = _idaapi.MIPS_msa_subv_w +MIPS_msa_subv_d = _idaapi.MIPS_msa_subv_d +MIPS_msa_subvi_b = _idaapi.MIPS_msa_subvi_b +MIPS_msa_subvi_h = _idaapi.MIPS_msa_subvi_h +MIPS_msa_subvi_w = _idaapi.MIPS_msa_subvi_w +MIPS_msa_subvi_d = _idaapi.MIPS_msa_subvi_d +MIPS_msa_max_s_b = _idaapi.MIPS_msa_max_s_b +MIPS_msa_max_s_h = _idaapi.MIPS_msa_max_s_h +MIPS_msa_max_s_w = _idaapi.MIPS_msa_max_s_w +MIPS_msa_max_s_d = _idaapi.MIPS_msa_max_s_d +MIPS_msa_maxi_s_b = _idaapi.MIPS_msa_maxi_s_b +MIPS_msa_maxi_s_h = _idaapi.MIPS_msa_maxi_s_h +MIPS_msa_maxi_s_w = _idaapi.MIPS_msa_maxi_s_w +MIPS_msa_maxi_s_d = _idaapi.MIPS_msa_maxi_s_d +MIPS_msa_max_u_b = _idaapi.MIPS_msa_max_u_b +MIPS_msa_max_u_h = _idaapi.MIPS_msa_max_u_h +MIPS_msa_max_u_w = _idaapi.MIPS_msa_max_u_w +MIPS_msa_max_u_d = _idaapi.MIPS_msa_max_u_d +MIPS_msa_maxi_u_b = _idaapi.MIPS_msa_maxi_u_b +MIPS_msa_maxi_u_h = _idaapi.MIPS_msa_maxi_u_h +MIPS_msa_maxi_u_w = _idaapi.MIPS_msa_maxi_u_w +MIPS_msa_maxi_u_d = _idaapi.MIPS_msa_maxi_u_d +MIPS_msa_min_s_b = _idaapi.MIPS_msa_min_s_b +MIPS_msa_min_s_h = _idaapi.MIPS_msa_min_s_h +MIPS_msa_min_s_w = _idaapi.MIPS_msa_min_s_w +MIPS_msa_min_s_d = _idaapi.MIPS_msa_min_s_d +MIPS_msa_mini_s_b = _idaapi.MIPS_msa_mini_s_b +MIPS_msa_mini_s_h = _idaapi.MIPS_msa_mini_s_h +MIPS_msa_mini_s_w = _idaapi.MIPS_msa_mini_s_w +MIPS_msa_mini_s_d = _idaapi.MIPS_msa_mini_s_d +MIPS_msa_min_u_b = _idaapi.MIPS_msa_min_u_b +MIPS_msa_min_u_h = _idaapi.MIPS_msa_min_u_h +MIPS_msa_min_u_w = _idaapi.MIPS_msa_min_u_w +MIPS_msa_min_u_d = _idaapi.MIPS_msa_min_u_d +MIPS_msa_mini_u_b = _idaapi.MIPS_msa_mini_u_b +MIPS_msa_mini_u_h = _idaapi.MIPS_msa_mini_u_h +MIPS_msa_mini_u_w = _idaapi.MIPS_msa_mini_u_w +MIPS_msa_mini_u_d = _idaapi.MIPS_msa_mini_u_d +MIPS_msa_max_a_b = _idaapi.MIPS_msa_max_a_b +MIPS_msa_max_a_h = _idaapi.MIPS_msa_max_a_h +MIPS_msa_max_a_w = _idaapi.MIPS_msa_max_a_w +MIPS_msa_max_a_d = _idaapi.MIPS_msa_max_a_d +MIPS_msa_min_a_b = _idaapi.MIPS_msa_min_a_b +MIPS_msa_min_a_h = _idaapi.MIPS_msa_min_a_h +MIPS_msa_min_a_w = _idaapi.MIPS_msa_min_a_w +MIPS_msa_min_a_d = _idaapi.MIPS_msa_min_a_d +MIPS_msa_ceq_b = _idaapi.MIPS_msa_ceq_b +MIPS_msa_ceq_h = _idaapi.MIPS_msa_ceq_h +MIPS_msa_ceq_w = _idaapi.MIPS_msa_ceq_w +MIPS_msa_ceq_d = _idaapi.MIPS_msa_ceq_d +MIPS_msa_ceqi_b = _idaapi.MIPS_msa_ceqi_b +MIPS_msa_ceqi_h = _idaapi.MIPS_msa_ceqi_h +MIPS_msa_ceqi_w = _idaapi.MIPS_msa_ceqi_w +MIPS_msa_ceqi_d = _idaapi.MIPS_msa_ceqi_d +MIPS_msa_clt_s_b = _idaapi.MIPS_msa_clt_s_b +MIPS_msa_clt_s_h = _idaapi.MIPS_msa_clt_s_h +MIPS_msa_clt_s_w = _idaapi.MIPS_msa_clt_s_w +MIPS_msa_clt_s_d = _idaapi.MIPS_msa_clt_s_d +MIPS_msa_clti_s_b = _idaapi.MIPS_msa_clti_s_b +MIPS_msa_clti_s_h = _idaapi.MIPS_msa_clti_s_h +MIPS_msa_clti_s_w = _idaapi.MIPS_msa_clti_s_w +MIPS_msa_clti_s_d = _idaapi.MIPS_msa_clti_s_d +MIPS_msa_clt_u_b = _idaapi.MIPS_msa_clt_u_b +MIPS_msa_clt_u_h = _idaapi.MIPS_msa_clt_u_h +MIPS_msa_clt_u_w = _idaapi.MIPS_msa_clt_u_w +MIPS_msa_clt_u_d = _idaapi.MIPS_msa_clt_u_d +MIPS_msa_clti_u_b = _idaapi.MIPS_msa_clti_u_b +MIPS_msa_clti_u_h = _idaapi.MIPS_msa_clti_u_h +MIPS_msa_clti_u_w = _idaapi.MIPS_msa_clti_u_w +MIPS_msa_clti_u_d = _idaapi.MIPS_msa_clti_u_d +MIPS_msa_cle_s_b = _idaapi.MIPS_msa_cle_s_b +MIPS_msa_cle_s_h = _idaapi.MIPS_msa_cle_s_h +MIPS_msa_cle_s_w = _idaapi.MIPS_msa_cle_s_w +MIPS_msa_cle_s_d = _idaapi.MIPS_msa_cle_s_d +MIPS_msa_clei_s_b = _idaapi.MIPS_msa_clei_s_b +MIPS_msa_clei_s_h = _idaapi.MIPS_msa_clei_s_h +MIPS_msa_clei_s_w = _idaapi.MIPS_msa_clei_s_w +MIPS_msa_clei_s_d = _idaapi.MIPS_msa_clei_s_d +MIPS_msa_cle_u_b = _idaapi.MIPS_msa_cle_u_b +MIPS_msa_cle_u_h = _idaapi.MIPS_msa_cle_u_h +MIPS_msa_cle_u_w = _idaapi.MIPS_msa_cle_u_w +MIPS_msa_cle_u_d = _idaapi.MIPS_msa_cle_u_d +MIPS_msa_clei_u_b = _idaapi.MIPS_msa_clei_u_b +MIPS_msa_clei_u_h = _idaapi.MIPS_msa_clei_u_h +MIPS_msa_clei_u_w = _idaapi.MIPS_msa_clei_u_w +MIPS_msa_clei_u_d = _idaapi.MIPS_msa_clei_u_d +MIPS_msa_ld_b = _idaapi.MIPS_msa_ld_b +MIPS_msa_ld_h = _idaapi.MIPS_msa_ld_h +MIPS_msa_ld_w = _idaapi.MIPS_msa_ld_w +MIPS_msa_ld_d = _idaapi.MIPS_msa_ld_d +MIPS_msa_st_b = _idaapi.MIPS_msa_st_b +MIPS_msa_st_h = _idaapi.MIPS_msa_st_h +MIPS_msa_st_w = _idaapi.MIPS_msa_st_w +MIPS_msa_st_d = _idaapi.MIPS_msa_st_d +MIPS_msa_sat_s_b = _idaapi.MIPS_msa_sat_s_b +MIPS_msa_sat_s_h = _idaapi.MIPS_msa_sat_s_h +MIPS_msa_sat_s_w = _idaapi.MIPS_msa_sat_s_w +MIPS_msa_sat_s_d = _idaapi.MIPS_msa_sat_s_d +MIPS_msa_sat_u_b = _idaapi.MIPS_msa_sat_u_b +MIPS_msa_sat_u_h = _idaapi.MIPS_msa_sat_u_h +MIPS_msa_sat_u_w = _idaapi.MIPS_msa_sat_u_w +MIPS_msa_sat_u_d = _idaapi.MIPS_msa_sat_u_d +MIPS_msa_add_a_b = _idaapi.MIPS_msa_add_a_b +MIPS_msa_add_a_h = _idaapi.MIPS_msa_add_a_h +MIPS_msa_add_a_w = _idaapi.MIPS_msa_add_a_w +MIPS_msa_add_a_d = _idaapi.MIPS_msa_add_a_d +MIPS_msa_adds_a_b = _idaapi.MIPS_msa_adds_a_b +MIPS_msa_adds_a_h = _idaapi.MIPS_msa_adds_a_h +MIPS_msa_adds_a_w = _idaapi.MIPS_msa_adds_a_w +MIPS_msa_adds_a_d = _idaapi.MIPS_msa_adds_a_d +MIPS_msa_adds_s_b = _idaapi.MIPS_msa_adds_s_b +MIPS_msa_adds_s_h = _idaapi.MIPS_msa_adds_s_h +MIPS_msa_adds_s_w = _idaapi.MIPS_msa_adds_s_w +MIPS_msa_adds_s_d = _idaapi.MIPS_msa_adds_s_d +MIPS_msa_adds_u_b = _idaapi.MIPS_msa_adds_u_b +MIPS_msa_adds_u_h = _idaapi.MIPS_msa_adds_u_h +MIPS_msa_adds_u_w = _idaapi.MIPS_msa_adds_u_w +MIPS_msa_adds_u_d = _idaapi.MIPS_msa_adds_u_d +MIPS_msa_ave_s_b = _idaapi.MIPS_msa_ave_s_b +MIPS_msa_ave_s_h = _idaapi.MIPS_msa_ave_s_h +MIPS_msa_ave_s_w = _idaapi.MIPS_msa_ave_s_w +MIPS_msa_ave_s_d = _idaapi.MIPS_msa_ave_s_d +MIPS_msa_ave_u_b = _idaapi.MIPS_msa_ave_u_b +MIPS_msa_ave_u_h = _idaapi.MIPS_msa_ave_u_h +MIPS_msa_ave_u_w = _idaapi.MIPS_msa_ave_u_w +MIPS_msa_ave_u_d = _idaapi.MIPS_msa_ave_u_d +MIPS_msa_aver_s_b = _idaapi.MIPS_msa_aver_s_b +MIPS_msa_aver_s_h = _idaapi.MIPS_msa_aver_s_h +MIPS_msa_aver_s_w = _idaapi.MIPS_msa_aver_s_w +MIPS_msa_aver_s_d = _idaapi.MIPS_msa_aver_s_d +MIPS_msa_aver_u_b = _idaapi.MIPS_msa_aver_u_b +MIPS_msa_aver_u_h = _idaapi.MIPS_msa_aver_u_h +MIPS_msa_aver_u_w = _idaapi.MIPS_msa_aver_u_w +MIPS_msa_aver_u_d = _idaapi.MIPS_msa_aver_u_d +MIPS_msa_subs_s_b = _idaapi.MIPS_msa_subs_s_b +MIPS_msa_subs_s_h = _idaapi.MIPS_msa_subs_s_h +MIPS_msa_subs_s_w = _idaapi.MIPS_msa_subs_s_w +MIPS_msa_subs_s_d = _idaapi.MIPS_msa_subs_s_d +MIPS_msa_subs_u_b = _idaapi.MIPS_msa_subs_u_b +MIPS_msa_subs_u_h = _idaapi.MIPS_msa_subs_u_h +MIPS_msa_subs_u_w = _idaapi.MIPS_msa_subs_u_w +MIPS_msa_subs_u_d = _idaapi.MIPS_msa_subs_u_d +MIPS_msa_subsus_u_b = _idaapi.MIPS_msa_subsus_u_b +MIPS_msa_subsus_u_h = _idaapi.MIPS_msa_subsus_u_h +MIPS_msa_subsus_u_w = _idaapi.MIPS_msa_subsus_u_w +MIPS_msa_subsus_u_d = _idaapi.MIPS_msa_subsus_u_d +MIPS_msa_subsuu_s_b = _idaapi.MIPS_msa_subsuu_s_b +MIPS_msa_subsuu_s_h = _idaapi.MIPS_msa_subsuu_s_h +MIPS_msa_subsuu_s_w = _idaapi.MIPS_msa_subsuu_s_w +MIPS_msa_subsuu_s_d = _idaapi.MIPS_msa_subsuu_s_d +MIPS_msa_asub_s_b = _idaapi.MIPS_msa_asub_s_b +MIPS_msa_asub_s_h = _idaapi.MIPS_msa_asub_s_h +MIPS_msa_asub_s_w = _idaapi.MIPS_msa_asub_s_w +MIPS_msa_asub_s_d = _idaapi.MIPS_msa_asub_s_d +MIPS_msa_asub_u_b = _idaapi.MIPS_msa_asub_u_b +MIPS_msa_asub_u_h = _idaapi.MIPS_msa_asub_u_h +MIPS_msa_asub_u_w = _idaapi.MIPS_msa_asub_u_w +MIPS_msa_asub_u_d = _idaapi.MIPS_msa_asub_u_d +MIPS_msa_mulv_b = _idaapi.MIPS_msa_mulv_b +MIPS_msa_mulv_h = _idaapi.MIPS_msa_mulv_h +MIPS_msa_mulv_w = _idaapi.MIPS_msa_mulv_w +MIPS_msa_mulv_d = _idaapi.MIPS_msa_mulv_d +MIPS_msa_maddv_b = _idaapi.MIPS_msa_maddv_b +MIPS_msa_maddv_h = _idaapi.MIPS_msa_maddv_h +MIPS_msa_maddv_w = _idaapi.MIPS_msa_maddv_w +MIPS_msa_maddv_d = _idaapi.MIPS_msa_maddv_d +MIPS_msa_msubv_b = _idaapi.MIPS_msa_msubv_b +MIPS_msa_msubv_h = _idaapi.MIPS_msa_msubv_h +MIPS_msa_msubv_w = _idaapi.MIPS_msa_msubv_w +MIPS_msa_msubv_d = _idaapi.MIPS_msa_msubv_d +MIPS_msa_div_s_b = _idaapi.MIPS_msa_div_s_b +MIPS_msa_div_s_h = _idaapi.MIPS_msa_div_s_h +MIPS_msa_div_s_w = _idaapi.MIPS_msa_div_s_w +MIPS_msa_div_s_d = _idaapi.MIPS_msa_div_s_d +MIPS_msa_div_u_b = _idaapi.MIPS_msa_div_u_b +MIPS_msa_div_u_h = _idaapi.MIPS_msa_div_u_h +MIPS_msa_div_u_w = _idaapi.MIPS_msa_div_u_w +MIPS_msa_div_u_d = _idaapi.MIPS_msa_div_u_d +MIPS_msa_mod_s_b = _idaapi.MIPS_msa_mod_s_b +MIPS_msa_mod_s_h = _idaapi.MIPS_msa_mod_s_h +MIPS_msa_mod_s_w = _idaapi.MIPS_msa_mod_s_w +MIPS_msa_mod_s_d = _idaapi.MIPS_msa_mod_s_d +MIPS_msa_mod_u_b = _idaapi.MIPS_msa_mod_u_b +MIPS_msa_mod_u_h = _idaapi.MIPS_msa_mod_u_h +MIPS_msa_mod_u_w = _idaapi.MIPS_msa_mod_u_w +MIPS_msa_mod_u_d = _idaapi.MIPS_msa_mod_u_d +MIPS_msa_dotp_s_h = _idaapi.MIPS_msa_dotp_s_h +MIPS_msa_dotp_s_w = _idaapi.MIPS_msa_dotp_s_w +MIPS_msa_dotp_s_d = _idaapi.MIPS_msa_dotp_s_d +MIPS_msa_dotp_u_h = _idaapi.MIPS_msa_dotp_u_h +MIPS_msa_dotp_u_w = _idaapi.MIPS_msa_dotp_u_w +MIPS_msa_dotp_u_d = _idaapi.MIPS_msa_dotp_u_d +MIPS_msa_dpadd_s_h = _idaapi.MIPS_msa_dpadd_s_h +MIPS_msa_dpadd_s_w = _idaapi.MIPS_msa_dpadd_s_w +MIPS_msa_dpadd_s_d = _idaapi.MIPS_msa_dpadd_s_d +MIPS_msa_dpadd_u_h = _idaapi.MIPS_msa_dpadd_u_h +MIPS_msa_dpadd_u_w = _idaapi.MIPS_msa_dpadd_u_w +MIPS_msa_dpadd_u_d = _idaapi.MIPS_msa_dpadd_u_d +MIPS_msa_dpsub_s_h = _idaapi.MIPS_msa_dpsub_s_h +MIPS_msa_dpsub_s_w = _idaapi.MIPS_msa_dpsub_s_w +MIPS_msa_dpsub_s_d = _idaapi.MIPS_msa_dpsub_s_d +MIPS_msa_dpsub_u_h = _idaapi.MIPS_msa_dpsub_u_h +MIPS_msa_dpsub_u_w = _idaapi.MIPS_msa_dpsub_u_w +MIPS_msa_dpsub_u_d = _idaapi.MIPS_msa_dpsub_u_d +MIPS_msa_sld_b = _idaapi.MIPS_msa_sld_b +MIPS_msa_sld_h = _idaapi.MIPS_msa_sld_h +MIPS_msa_sld_w = _idaapi.MIPS_msa_sld_w +MIPS_msa_sld_d = _idaapi.MIPS_msa_sld_d +MIPS_msa_sldi_b = _idaapi.MIPS_msa_sldi_b +MIPS_msa_sldi_h = _idaapi.MIPS_msa_sldi_h +MIPS_msa_sldi_w = _idaapi.MIPS_msa_sldi_w +MIPS_msa_sldi_d = _idaapi.MIPS_msa_sldi_d +MIPS_msa_splat_b = _idaapi.MIPS_msa_splat_b +MIPS_msa_splat_h = _idaapi.MIPS_msa_splat_h +MIPS_msa_splat_w = _idaapi.MIPS_msa_splat_w +MIPS_msa_splat_d = _idaapi.MIPS_msa_splat_d +MIPS_msa_splati_b = _idaapi.MIPS_msa_splati_b +MIPS_msa_splati_h = _idaapi.MIPS_msa_splati_h +MIPS_msa_splati_w = _idaapi.MIPS_msa_splati_w +MIPS_msa_splati_d = _idaapi.MIPS_msa_splati_d +MIPS_msa_pckev_b = _idaapi.MIPS_msa_pckev_b +MIPS_msa_pckev_h = _idaapi.MIPS_msa_pckev_h +MIPS_msa_pckev_w = _idaapi.MIPS_msa_pckev_w +MIPS_msa_pckev_d = _idaapi.MIPS_msa_pckev_d +MIPS_msa_pckod_b = _idaapi.MIPS_msa_pckod_b +MIPS_msa_pckod_h = _idaapi.MIPS_msa_pckod_h +MIPS_msa_pckod_w = _idaapi.MIPS_msa_pckod_w +MIPS_msa_pckod_d = _idaapi.MIPS_msa_pckod_d +MIPS_msa_ilvl_b = _idaapi.MIPS_msa_ilvl_b +MIPS_msa_ilvl_h = _idaapi.MIPS_msa_ilvl_h +MIPS_msa_ilvl_w = _idaapi.MIPS_msa_ilvl_w +MIPS_msa_ilvl_d = _idaapi.MIPS_msa_ilvl_d +MIPS_msa_ilvr_b = _idaapi.MIPS_msa_ilvr_b +MIPS_msa_ilvr_h = _idaapi.MIPS_msa_ilvr_h +MIPS_msa_ilvr_w = _idaapi.MIPS_msa_ilvr_w +MIPS_msa_ilvr_d = _idaapi.MIPS_msa_ilvr_d +MIPS_msa_ilvev_b = _idaapi.MIPS_msa_ilvev_b +MIPS_msa_ilvev_h = _idaapi.MIPS_msa_ilvev_h +MIPS_msa_ilvev_w = _idaapi.MIPS_msa_ilvev_w +MIPS_msa_ilvev_d = _idaapi.MIPS_msa_ilvev_d +MIPS_msa_ilvod_b = _idaapi.MIPS_msa_ilvod_b +MIPS_msa_ilvod_h = _idaapi.MIPS_msa_ilvod_h +MIPS_msa_ilvod_w = _idaapi.MIPS_msa_ilvod_w +MIPS_msa_ilvod_d = _idaapi.MIPS_msa_ilvod_d +MIPS_msa_vshf_b = _idaapi.MIPS_msa_vshf_b +MIPS_msa_vshf_h = _idaapi.MIPS_msa_vshf_h +MIPS_msa_vshf_w = _idaapi.MIPS_msa_vshf_w +MIPS_msa_vshf_d = _idaapi.MIPS_msa_vshf_d +MIPS_msa_srar_b = _idaapi.MIPS_msa_srar_b +MIPS_msa_srar_h = _idaapi.MIPS_msa_srar_h +MIPS_msa_srar_w = _idaapi.MIPS_msa_srar_w +MIPS_msa_srar_d = _idaapi.MIPS_msa_srar_d +MIPS_msa_srari_b = _idaapi.MIPS_msa_srari_b +MIPS_msa_srari_h = _idaapi.MIPS_msa_srari_h +MIPS_msa_srari_w = _idaapi.MIPS_msa_srari_w +MIPS_msa_srari_d = _idaapi.MIPS_msa_srari_d +MIPS_msa_srlr_b = _idaapi.MIPS_msa_srlr_b +MIPS_msa_srlr_h = _idaapi.MIPS_msa_srlr_h +MIPS_msa_srlr_w = _idaapi.MIPS_msa_srlr_w +MIPS_msa_srlr_d = _idaapi.MIPS_msa_srlr_d +MIPS_msa_srlri_b = _idaapi.MIPS_msa_srlri_b +MIPS_msa_srlri_h = _idaapi.MIPS_msa_srlri_h +MIPS_msa_srlri_w = _idaapi.MIPS_msa_srlri_w +MIPS_msa_srlri_d = _idaapi.MIPS_msa_srlri_d +MIPS_msa_hadd_s_h = _idaapi.MIPS_msa_hadd_s_h +MIPS_msa_hadd_s_w = _idaapi.MIPS_msa_hadd_s_w +MIPS_msa_hadd_s_d = _idaapi.MIPS_msa_hadd_s_d +MIPS_msa_hadd_u_h = _idaapi.MIPS_msa_hadd_u_h +MIPS_msa_hadd_u_w = _idaapi.MIPS_msa_hadd_u_w +MIPS_msa_hadd_u_d = _idaapi.MIPS_msa_hadd_u_d +MIPS_msa_hsub_s_h = _idaapi.MIPS_msa_hsub_s_h +MIPS_msa_hsub_s_w = _idaapi.MIPS_msa_hsub_s_w +MIPS_msa_hsub_s_d = _idaapi.MIPS_msa_hsub_s_d +MIPS_msa_hsub_u_h = _idaapi.MIPS_msa_hsub_u_h +MIPS_msa_hsub_u_w = _idaapi.MIPS_msa_hsub_u_w +MIPS_msa_hsub_u_d = _idaapi.MIPS_msa_hsub_u_d +MIPS_msa_and_v = _idaapi.MIPS_msa_and_v +MIPS_msa_andi_b = _idaapi.MIPS_msa_andi_b +MIPS_msa_or_v = _idaapi.MIPS_msa_or_v +MIPS_msa_ori_b = _idaapi.MIPS_msa_ori_b +MIPS_msa_nor_v = _idaapi.MIPS_msa_nor_v +MIPS_msa_nori_b = _idaapi.MIPS_msa_nori_b +MIPS_msa_xor_v = _idaapi.MIPS_msa_xor_v +MIPS_msa_xori_b = _idaapi.MIPS_msa_xori_b +MIPS_msa_bmnz_v = _idaapi.MIPS_msa_bmnz_v +MIPS_msa_bmnzi_b = _idaapi.MIPS_msa_bmnzi_b +MIPS_msa_bmz_v = _idaapi.MIPS_msa_bmz_v +MIPS_msa_bmzi_b = _idaapi.MIPS_msa_bmzi_b +MIPS_msa_bsel_v = _idaapi.MIPS_msa_bsel_v +MIPS_msa_bseli_b = _idaapi.MIPS_msa_bseli_b +MIPS_msa_shf_b = _idaapi.MIPS_msa_shf_b +MIPS_msa_shf_h = _idaapi.MIPS_msa_shf_h +MIPS_msa_shf_w = _idaapi.MIPS_msa_shf_w +MIPS_msa_bnz_v = _idaapi.MIPS_msa_bnz_v +MIPS_msa_bz_v = _idaapi.MIPS_msa_bz_v +MIPS_msa_fill_b = _idaapi.MIPS_msa_fill_b +MIPS_msa_fill_h = _idaapi.MIPS_msa_fill_h +MIPS_msa_fill_w = _idaapi.MIPS_msa_fill_w +MIPS_msa_fill_d = _idaapi.MIPS_msa_fill_d +MIPS_msa_pcnt_b = _idaapi.MIPS_msa_pcnt_b +MIPS_msa_pcnt_h = _idaapi.MIPS_msa_pcnt_h +MIPS_msa_pcnt_w = _idaapi.MIPS_msa_pcnt_w +MIPS_msa_pcnt_d = _idaapi.MIPS_msa_pcnt_d +MIPS_msa_nloc_b = _idaapi.MIPS_msa_nloc_b +MIPS_msa_nloc_h = _idaapi.MIPS_msa_nloc_h +MIPS_msa_nloc_w = _idaapi.MIPS_msa_nloc_w +MIPS_msa_nloc_d = _idaapi.MIPS_msa_nloc_d +MIPS_msa_nlzc_b = _idaapi.MIPS_msa_nlzc_b +MIPS_msa_nlzc_h = _idaapi.MIPS_msa_nlzc_h +MIPS_msa_nlzc_w = _idaapi.MIPS_msa_nlzc_w +MIPS_msa_nlzc_d = _idaapi.MIPS_msa_nlzc_d +MIPS_msa_copy_s_b = _idaapi.MIPS_msa_copy_s_b +MIPS_msa_copy_s_h = _idaapi.MIPS_msa_copy_s_h +MIPS_msa_copy_s_w = _idaapi.MIPS_msa_copy_s_w +MIPS_msa_copy_s_d = _idaapi.MIPS_msa_copy_s_d +MIPS_msa_copy_u_b = _idaapi.MIPS_msa_copy_u_b +MIPS_msa_copy_u_h = _idaapi.MIPS_msa_copy_u_h +MIPS_msa_copy_u_w = _idaapi.MIPS_msa_copy_u_w +MIPS_msa_copy_u_d = _idaapi.MIPS_msa_copy_u_d +MIPS_msa_insert_b = _idaapi.MIPS_msa_insert_b +MIPS_msa_insert_h = _idaapi.MIPS_msa_insert_h +MIPS_msa_insert_w = _idaapi.MIPS_msa_insert_w +MIPS_msa_insert_d = _idaapi.MIPS_msa_insert_d +MIPS_msa_insve_b = _idaapi.MIPS_msa_insve_b +MIPS_msa_insve_h = _idaapi.MIPS_msa_insve_h +MIPS_msa_insve_w = _idaapi.MIPS_msa_insve_w +MIPS_msa_insve_d = _idaapi.MIPS_msa_insve_d +MIPS_msa_bnz_b = _idaapi.MIPS_msa_bnz_b +MIPS_msa_bnz_h = _idaapi.MIPS_msa_bnz_h +MIPS_msa_bnz_w = _idaapi.MIPS_msa_bnz_w +MIPS_msa_bnz_d = _idaapi.MIPS_msa_bnz_d +MIPS_msa_bz_b = _idaapi.MIPS_msa_bz_b +MIPS_msa_bz_h = _idaapi.MIPS_msa_bz_h +MIPS_msa_bz_w = _idaapi.MIPS_msa_bz_w +MIPS_msa_bz_d = _idaapi.MIPS_msa_bz_d +MIPS_msa_ldi_b = _idaapi.MIPS_msa_ldi_b +MIPS_msa_ldi_h = _idaapi.MIPS_msa_ldi_h +MIPS_msa_ldi_w = _idaapi.MIPS_msa_ldi_w +MIPS_msa_ldi_d = _idaapi.MIPS_msa_ldi_d +MIPS_msa_fcaf_w = _idaapi.MIPS_msa_fcaf_w +MIPS_msa_fcaf_d = _idaapi.MIPS_msa_fcaf_d +MIPS_msa_fcun_w = _idaapi.MIPS_msa_fcun_w +MIPS_msa_fcun_d = _idaapi.MIPS_msa_fcun_d +MIPS_msa_fceq_w = _idaapi.MIPS_msa_fceq_w +MIPS_msa_fceq_d = _idaapi.MIPS_msa_fceq_d +MIPS_msa_fcueq_w = _idaapi.MIPS_msa_fcueq_w +MIPS_msa_fcueq_d = _idaapi.MIPS_msa_fcueq_d +MIPS_msa_fclt_w = _idaapi.MIPS_msa_fclt_w +MIPS_msa_fclt_d = _idaapi.MIPS_msa_fclt_d +MIPS_msa_fcult_w = _idaapi.MIPS_msa_fcult_w +MIPS_msa_fcult_d = _idaapi.MIPS_msa_fcult_d +MIPS_msa_fcle_w = _idaapi.MIPS_msa_fcle_w +MIPS_msa_fcle_d = _idaapi.MIPS_msa_fcle_d +MIPS_msa_fcule_w = _idaapi.MIPS_msa_fcule_w +MIPS_msa_fcule_d = _idaapi.MIPS_msa_fcule_d +MIPS_msa_fsaf_w = _idaapi.MIPS_msa_fsaf_w +MIPS_msa_fsaf_d = _idaapi.MIPS_msa_fsaf_d +MIPS_msa_fsun_w = _idaapi.MIPS_msa_fsun_w +MIPS_msa_fsun_d = _idaapi.MIPS_msa_fsun_d +MIPS_msa_fseq_w = _idaapi.MIPS_msa_fseq_w +MIPS_msa_fseq_d = _idaapi.MIPS_msa_fseq_d +MIPS_msa_fsueq_w = _idaapi.MIPS_msa_fsueq_w +MIPS_msa_fsueq_d = _idaapi.MIPS_msa_fsueq_d +MIPS_msa_fslt_w = _idaapi.MIPS_msa_fslt_w +MIPS_msa_fslt_d = _idaapi.MIPS_msa_fslt_d +MIPS_msa_fsult_w = _idaapi.MIPS_msa_fsult_w +MIPS_msa_fsult_d = _idaapi.MIPS_msa_fsult_d +MIPS_msa_fsle_w = _idaapi.MIPS_msa_fsle_w +MIPS_msa_fsle_d = _idaapi.MIPS_msa_fsle_d +MIPS_msa_fsule_w = _idaapi.MIPS_msa_fsule_w +MIPS_msa_fsule_d = _idaapi.MIPS_msa_fsule_d +MIPS_msa_fadd_w = _idaapi.MIPS_msa_fadd_w +MIPS_msa_fadd_d = _idaapi.MIPS_msa_fadd_d +MIPS_msa_fsub_w = _idaapi.MIPS_msa_fsub_w +MIPS_msa_fsub_d = _idaapi.MIPS_msa_fsub_d +MIPS_msa_fmul_w = _idaapi.MIPS_msa_fmul_w +MIPS_msa_fmul_d = _idaapi.MIPS_msa_fmul_d +MIPS_msa_fdiv_w = _idaapi.MIPS_msa_fdiv_w +MIPS_msa_fdiv_d = _idaapi.MIPS_msa_fdiv_d +MIPS_msa_fmadd_w = _idaapi.MIPS_msa_fmadd_w +MIPS_msa_fmadd_d = _idaapi.MIPS_msa_fmadd_d +MIPS_msa_fmsub_w = _idaapi.MIPS_msa_fmsub_w +MIPS_msa_fmsub_d = _idaapi.MIPS_msa_fmsub_d +MIPS_msa_fexp2_w = _idaapi.MIPS_msa_fexp2_w +MIPS_msa_fexp2_d = _idaapi.MIPS_msa_fexp2_d +MIPS_msa_fexdo_h = _idaapi.MIPS_msa_fexdo_h +MIPS_msa_fexdo_w = _idaapi.MIPS_msa_fexdo_w +MIPS_msa_ftq_h = _idaapi.MIPS_msa_ftq_h +MIPS_msa_ftq_w = _idaapi.MIPS_msa_ftq_w +MIPS_msa_fmin_w = _idaapi.MIPS_msa_fmin_w +MIPS_msa_fmin_d = _idaapi.MIPS_msa_fmin_d +MIPS_msa_fmin_a_w = _idaapi.MIPS_msa_fmin_a_w +MIPS_msa_fmin_a_d = _idaapi.MIPS_msa_fmin_a_d +MIPS_msa_fmax_w = _idaapi.MIPS_msa_fmax_w +MIPS_msa_fmax_d = _idaapi.MIPS_msa_fmax_d +MIPS_msa_fmax_a_w = _idaapi.MIPS_msa_fmax_a_w +MIPS_msa_fmax_a_d = _idaapi.MIPS_msa_fmax_a_d +MIPS_msa_fcor_w = _idaapi.MIPS_msa_fcor_w +MIPS_msa_fcor_d = _idaapi.MIPS_msa_fcor_d +MIPS_msa_fcune_w = _idaapi.MIPS_msa_fcune_w +MIPS_msa_fcune_d = _idaapi.MIPS_msa_fcune_d +MIPS_msa_fcne_w = _idaapi.MIPS_msa_fcne_w +MIPS_msa_fcne_d = _idaapi.MIPS_msa_fcne_d +MIPS_msa_mul_q_h = _idaapi.MIPS_msa_mul_q_h +MIPS_msa_mul_q_w = _idaapi.MIPS_msa_mul_q_w +MIPS_msa_madd_q_h = _idaapi.MIPS_msa_madd_q_h +MIPS_msa_madd_q_w = _idaapi.MIPS_msa_madd_q_w +MIPS_msa_msub_q_h = _idaapi.MIPS_msa_msub_q_h +MIPS_msa_msub_q_w = _idaapi.MIPS_msa_msub_q_w +MIPS_msa_fsor_w = _idaapi.MIPS_msa_fsor_w +MIPS_msa_fsor_d = _idaapi.MIPS_msa_fsor_d +MIPS_msa_fsune_w = _idaapi.MIPS_msa_fsune_w +MIPS_msa_fsune_d = _idaapi.MIPS_msa_fsune_d +MIPS_msa_fsne_w = _idaapi.MIPS_msa_fsne_w +MIPS_msa_fsne_d = _idaapi.MIPS_msa_fsne_d +MIPS_msa_mulr_q_h = _idaapi.MIPS_msa_mulr_q_h +MIPS_msa_mulr_q_w = _idaapi.MIPS_msa_mulr_q_w +MIPS_msa_maddr_q_h = _idaapi.MIPS_msa_maddr_q_h +MIPS_msa_maddr_q_w = _idaapi.MIPS_msa_maddr_q_w +MIPS_msa_msubr_q_h = _idaapi.MIPS_msa_msubr_q_h +MIPS_msa_msubr_q_w = _idaapi.MIPS_msa_msubr_q_w +MIPS_msa_fclass_w = _idaapi.MIPS_msa_fclass_w +MIPS_msa_fclass_d = _idaapi.MIPS_msa_fclass_d +MIPS_msa_ftrunc_s_w = _idaapi.MIPS_msa_ftrunc_s_w +MIPS_msa_ftrunc_s_d = _idaapi.MIPS_msa_ftrunc_s_d +MIPS_msa_ftrunc_u_w = _idaapi.MIPS_msa_ftrunc_u_w +MIPS_msa_ftrunc_u_d = _idaapi.MIPS_msa_ftrunc_u_d +MIPS_msa_fsqrt_w = _idaapi.MIPS_msa_fsqrt_w +MIPS_msa_fsqrt_d = _idaapi.MIPS_msa_fsqrt_d +MIPS_msa_frsqrt_w = _idaapi.MIPS_msa_frsqrt_w +MIPS_msa_frsqrt_d = _idaapi.MIPS_msa_frsqrt_d +MIPS_msa_frcp_w = _idaapi.MIPS_msa_frcp_w +MIPS_msa_frcp_d = _idaapi.MIPS_msa_frcp_d +MIPS_msa_frint_w = _idaapi.MIPS_msa_frint_w +MIPS_msa_frint_d = _idaapi.MIPS_msa_frint_d +MIPS_msa_flog2_w = _idaapi.MIPS_msa_flog2_w +MIPS_msa_flog2_d = _idaapi.MIPS_msa_flog2_d +MIPS_msa_fexupl_w = _idaapi.MIPS_msa_fexupl_w +MIPS_msa_fexupl_d = _idaapi.MIPS_msa_fexupl_d +MIPS_msa_fexupr_w = _idaapi.MIPS_msa_fexupr_w +MIPS_msa_fexupr_d = _idaapi.MIPS_msa_fexupr_d +MIPS_msa_ffql_w = _idaapi.MIPS_msa_ffql_w +MIPS_msa_ffql_d = _idaapi.MIPS_msa_ffql_d +MIPS_msa_ffqr_w = _idaapi.MIPS_msa_ffqr_w +MIPS_msa_ffqr_d = _idaapi.MIPS_msa_ffqr_d +MIPS_msa_ftint_s_w = _idaapi.MIPS_msa_ftint_s_w +MIPS_msa_ftint_s_d = _idaapi.MIPS_msa_ftint_s_d +MIPS_msa_ftint_u_w = _idaapi.MIPS_msa_ftint_u_w +MIPS_msa_ftint_u_d = _idaapi.MIPS_msa_ftint_u_d +MIPS_msa_ffint_s_w = _idaapi.MIPS_msa_ffint_s_w +MIPS_msa_ffint_s_d = _idaapi.MIPS_msa_ffint_s_d +MIPS_msa_ffint_u_w = _idaapi.MIPS_msa_ffint_u_w +MIPS_msa_ffint_u_d = _idaapi.MIPS_msa_ffint_u_d +MIPS_msa_ctcmsa = _idaapi.MIPS_msa_ctcmsa +MIPS_msa_cfcmsa = _idaapi.MIPS_msa_cfcmsa +MIPS_msa_move_v = _idaapi.MIPS_msa_move_v +MIPS_lsa = _idaapi.MIPS_lsa +MIPS_dlsa = _idaapi.MIPS_dlsa +MIPS_last = _idaapi.MIPS_last +H8_null = _idaapi.H8_null +H8_add = _idaapi.H8_add +H8_adds = _idaapi.H8_adds +H8_addx = _idaapi.H8_addx +H8_and = _idaapi.H8_and +H8_andc = _idaapi.H8_andc +H8_band = _idaapi.H8_band +H8_bra = _idaapi.H8_bra +H8_brn = _idaapi.H8_brn +H8_bhi = _idaapi.H8_bhi +H8_bls = _idaapi.H8_bls +H8_bcc = _idaapi.H8_bcc +H8_bcs = _idaapi.H8_bcs +H8_bne = _idaapi.H8_bne +H8_beq = _idaapi.H8_beq +H8_bvc = _idaapi.H8_bvc +H8_bvs = _idaapi.H8_bvs +H8_bpl = _idaapi.H8_bpl +H8_bmi = _idaapi.H8_bmi +H8_bge = _idaapi.H8_bge +H8_blt = _idaapi.H8_blt +H8_bgt = _idaapi.H8_bgt +H8_ble = _idaapi.H8_ble +H8_bclr = _idaapi.H8_bclr +H8_biand = _idaapi.H8_biand +H8_bild = _idaapi.H8_bild +H8_bior = _idaapi.H8_bior +H8_bist = _idaapi.H8_bist +H8_bixor = _idaapi.H8_bixor +H8_bld = _idaapi.H8_bld +H8_bnot = _idaapi.H8_bnot +H8_bor = _idaapi.H8_bor +H8_bset = _idaapi.H8_bset +H8_bsr = _idaapi.H8_bsr +H8_bst = _idaapi.H8_bst +H8_btst = _idaapi.H8_btst +H8_bxor = _idaapi.H8_bxor +H8_clrmac = _idaapi.H8_clrmac +H8_cmp = _idaapi.H8_cmp +H8_daa = _idaapi.H8_daa +H8_das = _idaapi.H8_das +H8_dec = _idaapi.H8_dec +H8_divxs = _idaapi.H8_divxs +H8_divxu = _idaapi.H8_divxu +H8_eepmov = _idaapi.H8_eepmov +H8_exts = _idaapi.H8_exts +H8_extu = _idaapi.H8_extu +H8_inc = _idaapi.H8_inc +H8_jmp = _idaapi.H8_jmp +H8_jsr = _idaapi.H8_jsr +H8_ldc = _idaapi.H8_ldc +H8_ldm = _idaapi.H8_ldm +H8_ldmac = _idaapi.H8_ldmac +H8_mac = _idaapi.H8_mac +H8_mov = _idaapi.H8_mov +H8_movfpe = _idaapi.H8_movfpe +H8_movtpe = _idaapi.H8_movtpe +H8_mulxs = _idaapi.H8_mulxs +H8_mulxu = _idaapi.H8_mulxu +H8_neg = _idaapi.H8_neg +H8_nop = _idaapi.H8_nop +H8_not = _idaapi.H8_not +H8_or = _idaapi.H8_or +H8_orc = _idaapi.H8_orc +H8_pop = _idaapi.H8_pop +H8_push = _idaapi.H8_push +H8_rotl = _idaapi.H8_rotl +H8_rotr = _idaapi.H8_rotr +H8_rotxl = _idaapi.H8_rotxl +H8_rotxr = _idaapi.H8_rotxr +H8_rte = _idaapi.H8_rte +H8_rts = _idaapi.H8_rts +H8_shal = _idaapi.H8_shal +H8_shar = _idaapi.H8_shar +H8_shll = _idaapi.H8_shll +H8_shlr = _idaapi.H8_shlr +H8_sleep = _idaapi.H8_sleep +H8_stc = _idaapi.H8_stc +H8_stm = _idaapi.H8_stm +H8_stmac = _idaapi.H8_stmac +H8_sub = _idaapi.H8_sub +H8_subs = _idaapi.H8_subs +H8_subx = _idaapi.H8_subx +H8_tas = _idaapi.H8_tas +H8_trapa = _idaapi.H8_trapa +H8_xor = _idaapi.H8_xor +H8_xorc = _idaapi.H8_xorc +H8_rtel = _idaapi.H8_rtel +H8_rtsl = _idaapi.H8_rtsl +H8_movmd = _idaapi.H8_movmd +H8_movsd = _idaapi.H8_movsd +H8_bras = _idaapi.H8_bras +H8_movab = _idaapi.H8_movab +H8_movaw = _idaapi.H8_movaw +H8_moval = _idaapi.H8_moval +H8_bsetne = _idaapi.H8_bsetne +H8_bseteq = _idaapi.H8_bseteq +H8_bclrne = _idaapi.H8_bclrne +H8_bclreq = _idaapi.H8_bclreq +H8_bstz = _idaapi.H8_bstz +H8_bistz = _idaapi.H8_bistz +H8_bfld = _idaapi.H8_bfld +H8_bfst = _idaapi.H8_bfst +H8_muls = _idaapi.H8_muls +H8_divs = _idaapi.H8_divs +H8_mulu = _idaapi.H8_mulu +H8_divu = _idaapi.H8_divu +H8_mulsu = _idaapi.H8_mulsu +H8_muluu = _idaapi.H8_muluu +H8_brabc = _idaapi.H8_brabc +H8_brabs = _idaapi.H8_brabs +H8_bsrbc = _idaapi.H8_bsrbc +H8_bsrbs = _idaapi.H8_bsrbs +H8_last = _idaapi.H8_last +PIC_null = _idaapi.PIC_null +PIC_addwf = _idaapi.PIC_addwf +PIC_andwf = _idaapi.PIC_andwf +PIC_clrf = _idaapi.PIC_clrf +PIC_clrw = _idaapi.PIC_clrw +PIC_comf = _idaapi.PIC_comf +PIC_decf = _idaapi.PIC_decf +PIC_decfsz = _idaapi.PIC_decfsz +PIC_incf = _idaapi.PIC_incf +PIC_incfsz = _idaapi.PIC_incfsz +PIC_iorwf = _idaapi.PIC_iorwf +PIC_movf = _idaapi.PIC_movf +PIC_movwf = _idaapi.PIC_movwf +PIC_nop = _idaapi.PIC_nop +PIC_rlf = _idaapi.PIC_rlf +PIC_rrf = _idaapi.PIC_rrf +PIC_subwf = _idaapi.PIC_subwf +PIC_swapf = _idaapi.PIC_swapf +PIC_xorwf = _idaapi.PIC_xorwf +PIC_bcf = _idaapi.PIC_bcf +PIC_bsf = _idaapi.PIC_bsf +PIC_btfsc = _idaapi.PIC_btfsc +PIC_btfss = _idaapi.PIC_btfss +PIC_addlw = _idaapi.PIC_addlw +PIC_andlw = _idaapi.PIC_andlw +PIC_call = _idaapi.PIC_call +PIC_clrwdt = _idaapi.PIC_clrwdt +PIC_goto = _idaapi.PIC_goto +PIC_iorlw = _idaapi.PIC_iorlw +PIC_movlw = _idaapi.PIC_movlw +PIC_retfie = _idaapi.PIC_retfie +PIC_retlw = _idaapi.PIC_retlw +PIC_return = _idaapi.PIC_return +PIC_sleep = _idaapi.PIC_sleep +PIC_sublw = _idaapi.PIC_sublw +PIC_xorlw = _idaapi.PIC_xorlw +PIC_option = _idaapi.PIC_option +PIC_tris = _idaapi.PIC_tris +PIC_movfw = _idaapi.PIC_movfw +PIC_tstf = _idaapi.PIC_tstf +PIC_negf = _idaapi.PIC_negf +PIC_b = _idaapi.PIC_b +PIC_clrc = _idaapi.PIC_clrc +PIC_clrdc = _idaapi.PIC_clrdc +PIC_clrz = _idaapi.PIC_clrz +PIC_setc = _idaapi.PIC_setc +PIC_setdc = _idaapi.PIC_setdc +PIC_setz = _idaapi.PIC_setz +PIC_skpc = _idaapi.PIC_skpc +PIC_skpdc = _idaapi.PIC_skpdc +PIC_skpnc = _idaapi.PIC_skpnc +PIC_skpndc = _idaapi.PIC_skpndc +PIC_skpnz = _idaapi.PIC_skpnz +PIC_skpz = _idaapi.PIC_skpz +PIC_bc = _idaapi.PIC_bc +PIC_bdc = _idaapi.PIC_bdc +PIC_bnc = _idaapi.PIC_bnc +PIC_bndc = _idaapi.PIC_bndc +PIC_bnz = _idaapi.PIC_bnz +PIC_bz = _idaapi.PIC_bz +PIC_addcf = _idaapi.PIC_addcf +PIC_adddcf = _idaapi.PIC_adddcf +PIC_subcf = _idaapi.PIC_subcf +PIC_addwf3 = _idaapi.PIC_addwf3 +PIC_addwfc3 = _idaapi.PIC_addwfc3 +PIC_andwf3 = _idaapi.PIC_andwf3 +PIC_clrf2 = _idaapi.PIC_clrf2 +PIC_comf3 = _idaapi.PIC_comf3 +PIC_cpfseq2 = _idaapi.PIC_cpfseq2 +PIC_cpfsgt2 = _idaapi.PIC_cpfsgt2 +PIC_cpfslt2 = _idaapi.PIC_cpfslt2 +PIC_decf3 = _idaapi.PIC_decf3 +PIC_decfsz3 = _idaapi.PIC_decfsz3 +PIC_dcfsnz3 = _idaapi.PIC_dcfsnz3 +PIC_incf3 = _idaapi.PIC_incf3 +PIC_incfsz3 = _idaapi.PIC_incfsz3 +PIC_infsnz3 = _idaapi.PIC_infsnz3 +PIC_iorwf3 = _idaapi.PIC_iorwf3 +PIC_movf3 = _idaapi.PIC_movf3 +PIC_movff2 = _idaapi.PIC_movff2 +PIC_movwf2 = _idaapi.PIC_movwf2 +PIC_mulwf2 = _idaapi.PIC_mulwf2 +PIC_negf2 = _idaapi.PIC_negf2 +PIC_rlcf3 = _idaapi.PIC_rlcf3 +PIC_rlncf3 = _idaapi.PIC_rlncf3 +PIC_rrcf3 = _idaapi.PIC_rrcf3 +PIC_rrncf3 = _idaapi.PIC_rrncf3 +PIC_setf2 = _idaapi.PIC_setf2 +PIC_subfwb3 = _idaapi.PIC_subfwb3 +PIC_subwf3 = _idaapi.PIC_subwf3 +PIC_subwfb3 = _idaapi.PIC_subwfb3 +PIC_swapf3 = _idaapi.PIC_swapf3 +PIC_tstfsz2 = _idaapi.PIC_tstfsz2 +PIC_xorwf3 = _idaapi.PIC_xorwf3 +PIC_bcf3 = _idaapi.PIC_bcf3 +PIC_bsf3 = _idaapi.PIC_bsf3 +PIC_btfsc3 = _idaapi.PIC_btfsc3 +PIC_btfss3 = _idaapi.PIC_btfss3 +PIC_btg3 = _idaapi.PIC_btg3 +PIC_bc1 = _idaapi.PIC_bc1 +PIC_bn1 = _idaapi.PIC_bn1 +PIC_bnc1 = _idaapi.PIC_bnc1 +PIC_bnn1 = _idaapi.PIC_bnn1 +PIC_bnov1 = _idaapi.PIC_bnov1 +PIC_bnz1 = _idaapi.PIC_bnz1 +PIC_bov1 = _idaapi.PIC_bov1 +PIC_bra1 = _idaapi.PIC_bra1 +PIC_bz1 = _idaapi.PIC_bz1 +PIC_call2 = _idaapi.PIC_call2 +PIC_daw0 = _idaapi.PIC_daw0 +PIC_pop0 = _idaapi.PIC_pop0 +PIC_push0 = _idaapi.PIC_push0 +PIC_rcall1 = _idaapi.PIC_rcall1 +PIC_reset0 = _idaapi.PIC_reset0 +PIC_retfie1 = _idaapi.PIC_retfie1 +PIC_return1 = _idaapi.PIC_return1 +PIC_lfsr2 = _idaapi.PIC_lfsr2 +PIC_movlb1 = _idaapi.PIC_movlb1 +PIC_mullw1 = _idaapi.PIC_mullw1 +PIC_tblrd0 = _idaapi.PIC_tblrd0 +PIC_tblrd0p = _idaapi.PIC_tblrd0p +PIC_tblrd0m = _idaapi.PIC_tblrd0m +PIC_tblrdp0 = _idaapi.PIC_tblrdp0 +PIC_tblwt0 = _idaapi.PIC_tblwt0 +PIC_tblwt0p = _idaapi.PIC_tblwt0p +PIC_tblwt0m = _idaapi.PIC_tblwt0m +PIC_tblwtp0 = _idaapi.PIC_tblwtp0 +PIC_last = _idaapi.PIC_last +SPARC_null = _idaapi.SPARC_null +SPARC_add = _idaapi.SPARC_add +SPARC_addcc = _idaapi.SPARC_addcc +SPARC_addc = _idaapi.SPARC_addc +SPARC_addccc = _idaapi.SPARC_addccc +SPARC_and = _idaapi.SPARC_and +SPARC_andcc = _idaapi.SPARC_andcc +SPARC_andn = _idaapi.SPARC_andn +SPARC_andncc = _idaapi.SPARC_andncc +SPARC_b = _idaapi.SPARC_b +SPARC_bp = _idaapi.SPARC_bp +SPARC_bpr = _idaapi.SPARC_bpr +SPARC_call = _idaapi.SPARC_call +SPARC_casa = _idaapi.SPARC_casa +SPARC_casxa = _idaapi.SPARC_casxa +SPARC_done = _idaapi.SPARC_done +SPARC_fabs = _idaapi.SPARC_fabs +SPARC_fadd = _idaapi.SPARC_fadd +SPARC_fbp = _idaapi.SPARC_fbp +SPARC_fb = _idaapi.SPARC_fb +SPARC_fcmp = _idaapi.SPARC_fcmp +SPARC_fcmpe = _idaapi.SPARC_fcmpe +SPARC_fdiv = _idaapi.SPARC_fdiv +SPARC_fdmulq = _idaapi.SPARC_fdmulq +SPARC_flush = _idaapi.SPARC_flush +SPARC_flushw = _idaapi.SPARC_flushw +SPARC_fmov = _idaapi.SPARC_fmov +SPARC_fmovcc = _idaapi.SPARC_fmovcc +SPARC_fmovr = _idaapi.SPARC_fmovr +SPARC_fmul = _idaapi.SPARC_fmul +SPARC_fneg = _idaapi.SPARC_fneg +SPARC_fsmuld = _idaapi.SPARC_fsmuld +SPARC_fsqrt = _idaapi.SPARC_fsqrt +SPARC_fsub = _idaapi.SPARC_fsub +SPARC_fstox = _idaapi.SPARC_fstox +SPARC_fdtox = _idaapi.SPARC_fdtox +SPARC_fqtox = _idaapi.SPARC_fqtox +SPARC_fxtos = _idaapi.SPARC_fxtos +SPARC_fxtod = _idaapi.SPARC_fxtod +SPARC_fxtoq = _idaapi.SPARC_fxtoq +SPARC_fitos = _idaapi.SPARC_fitos +SPARC_fdtos = _idaapi.SPARC_fdtos +SPARC_fqtos = _idaapi.SPARC_fqtos +SPARC_fitod = _idaapi.SPARC_fitod +SPARC_fstod = _idaapi.SPARC_fstod +SPARC_fqtod = _idaapi.SPARC_fqtod +SPARC_fitoq = _idaapi.SPARC_fitoq +SPARC_fstoq = _idaapi.SPARC_fstoq +SPARC_fdtoq = _idaapi.SPARC_fdtoq +SPARC_fstoi = _idaapi.SPARC_fstoi +SPARC_fdtoi = _idaapi.SPARC_fdtoi +SPARC_fqtoi = _idaapi.SPARC_fqtoi +SPARC_illtrap = _idaapi.SPARC_illtrap +SPARC_impdep1 = _idaapi.SPARC_impdep1 +SPARC_impdep2 = _idaapi.SPARC_impdep2 +SPARC_jmpl = _idaapi.SPARC_jmpl +SPARC_ldd = _idaapi.SPARC_ldd +SPARC_ldda = _idaapi.SPARC_ldda +SPARC_lddf = _idaapi.SPARC_lddf +SPARC_lddfa = _idaapi.SPARC_lddfa +SPARC_ldf = _idaapi.SPARC_ldf +SPARC_ldfa = _idaapi.SPARC_ldfa +SPARC_ldfsr = _idaapi.SPARC_ldfsr +SPARC_ldqf = _idaapi.SPARC_ldqf +SPARC_ldqfa = _idaapi.SPARC_ldqfa +SPARC_ldsb = _idaapi.SPARC_ldsb +SPARC_ldsba = _idaapi.SPARC_ldsba +SPARC_ldsh = _idaapi.SPARC_ldsh +SPARC_ldsha = _idaapi.SPARC_ldsha +SPARC_ldstub = _idaapi.SPARC_ldstub +SPARC_ldstuba = _idaapi.SPARC_ldstuba +SPARC_ldsw = _idaapi.SPARC_ldsw +SPARC_ldswa = _idaapi.SPARC_ldswa +SPARC_ldub = _idaapi.SPARC_ldub +SPARC_lduba = _idaapi.SPARC_lduba +SPARC_lduh = _idaapi.SPARC_lduh +SPARC_lduha = _idaapi.SPARC_lduha +SPARC_lduw = _idaapi.SPARC_lduw +SPARC_lduwa = _idaapi.SPARC_lduwa +SPARC_ldx = _idaapi.SPARC_ldx +SPARC_ldxa = _idaapi.SPARC_ldxa +SPARC_ldxfsr = _idaapi.SPARC_ldxfsr +SPARC_membar = _idaapi.SPARC_membar +SPARC_mov = _idaapi.SPARC_mov +SPARC_movr = _idaapi.SPARC_movr +SPARC_mulscc = _idaapi.SPARC_mulscc +SPARC_mulx = _idaapi.SPARC_mulx +SPARC_nop = _idaapi.SPARC_nop +SPARC_or = _idaapi.SPARC_or +SPARC_orcc = _idaapi.SPARC_orcc +SPARC_orn = _idaapi.SPARC_orn +SPARC_orncc = _idaapi.SPARC_orncc +SPARC_popc = _idaapi.SPARC_popc +SPARC_prefetch = _idaapi.SPARC_prefetch +SPARC_prefetcha = _idaapi.SPARC_prefetcha +SPARC_rd = _idaapi.SPARC_rd +SPARC_rdpr = _idaapi.SPARC_rdpr +SPARC_restore = _idaapi.SPARC_restore +SPARC_restored = _idaapi.SPARC_restored +SPARC_retry = _idaapi.SPARC_retry +SPARC_return = _idaapi.SPARC_return +SPARC_save = _idaapi.SPARC_save +SPARC_saved = _idaapi.SPARC_saved +SPARC_sdiv = _idaapi.SPARC_sdiv +SPARC_sdivcc = _idaapi.SPARC_sdivcc +SPARC_sdivx = _idaapi.SPARC_sdivx +SPARC_sethi = _idaapi.SPARC_sethi +SPARC_sir = _idaapi.SPARC_sir +SPARC_sll = _idaapi.SPARC_sll +SPARC_sllx = _idaapi.SPARC_sllx +SPARC_smul = _idaapi.SPARC_smul +SPARC_smulcc = _idaapi.SPARC_smulcc +SPARC_sra = _idaapi.SPARC_sra +SPARC_srax = _idaapi.SPARC_srax +SPARC_srl = _idaapi.SPARC_srl +SPARC_srlx = _idaapi.SPARC_srlx +SPARC_stb = _idaapi.SPARC_stb +SPARC_stba = _idaapi.SPARC_stba +SPARC_stbar = _idaapi.SPARC_stbar +SPARC_std = _idaapi.SPARC_std +SPARC_stda = _idaapi.SPARC_stda +SPARC_stdf = _idaapi.SPARC_stdf +SPARC_stdfa = _idaapi.SPARC_stdfa +SPARC_stf = _idaapi.SPARC_stf +SPARC_stfa = _idaapi.SPARC_stfa +SPARC_stfsr = _idaapi.SPARC_stfsr +SPARC_sth = _idaapi.SPARC_sth +SPARC_stha = _idaapi.SPARC_stha +SPARC_stqf = _idaapi.SPARC_stqf +SPARC_stqfa = _idaapi.SPARC_stqfa +SPARC_stw = _idaapi.SPARC_stw +SPARC_stwa = _idaapi.SPARC_stwa +SPARC_stx = _idaapi.SPARC_stx +SPARC_stxa = _idaapi.SPARC_stxa +SPARC_stxfsr = _idaapi.SPARC_stxfsr +SPARC_sub = _idaapi.SPARC_sub +SPARC_subcc = _idaapi.SPARC_subcc +SPARC_subc = _idaapi.SPARC_subc +SPARC_subccc = _idaapi.SPARC_subccc +SPARC_swap = _idaapi.SPARC_swap +SPARC_swapa = _idaapi.SPARC_swapa +SPARC_taddcc = _idaapi.SPARC_taddcc +SPARC_taddcctv = _idaapi.SPARC_taddcctv +SPARC_tsubcc = _idaapi.SPARC_tsubcc +SPARC_tsubcctv = _idaapi.SPARC_tsubcctv +SPARC_t = _idaapi.SPARC_t +SPARC_udiv = _idaapi.SPARC_udiv +SPARC_udivcc = _idaapi.SPARC_udivcc +SPARC_udivx = _idaapi.SPARC_udivx +SPARC_umul = _idaapi.SPARC_umul +SPARC_umulcc = _idaapi.SPARC_umulcc +SPARC_wr = _idaapi.SPARC_wr +SPARC_wrpr = _idaapi.SPARC_wrpr +SPARC_xnor = _idaapi.SPARC_xnor +SPARC_xnorcc = _idaapi.SPARC_xnorcc +SPARC_xor = _idaapi.SPARC_xor +SPARC_xorcc = _idaapi.SPARC_xorcc +SPARC_cmp = _idaapi.SPARC_cmp +SPARC_jmp = _idaapi.SPARC_jmp +SPARC_iprefetch = _idaapi.SPARC_iprefetch +SPARC_tst = _idaapi.SPARC_tst +SPARC_ret = _idaapi.SPARC_ret +SPARC_retl = _idaapi.SPARC_retl +SPARC_setuw = _idaapi.SPARC_setuw +SPARC_setsw = _idaapi.SPARC_setsw +SPARC_setx = _idaapi.SPARC_setx +SPARC_signx = _idaapi.SPARC_signx +SPARC_not = _idaapi.SPARC_not +SPARC_neg = _idaapi.SPARC_neg +SPARC_cas = _idaapi.SPARC_cas +SPARC_casl = _idaapi.SPARC_casl +SPARC_casx = _idaapi.SPARC_casx +SPARC_casxl = _idaapi.SPARC_casxl +SPARC_inc = _idaapi.SPARC_inc +SPARC_inccc = _idaapi.SPARC_inccc +SPARC_dec = _idaapi.SPARC_dec +SPARC_deccc = _idaapi.SPARC_deccc +SPARC_btst = _idaapi.SPARC_btst +SPARC_bset = _idaapi.SPARC_bset +SPARC_bclr = _idaapi.SPARC_bclr +SPARC_btog = _idaapi.SPARC_btog +SPARC_clr = _idaapi.SPARC_clr +SPARC_clrb = _idaapi.SPARC_clrb +SPARC_clrh = _idaapi.SPARC_clrh +SPARC_clrx = _idaapi.SPARC_clrx +SPARC_clruw = _idaapi.SPARC_clruw +SPARC_pseudo_mov = _idaapi.SPARC_pseudo_mov +SPARC_alignaddress = _idaapi.SPARC_alignaddress +SPARC_array = _idaapi.SPARC_array +SPARC_edge = _idaapi.SPARC_edge +SPARC_faligndata = _idaapi.SPARC_faligndata +SPARC_fandnot1 = _idaapi.SPARC_fandnot1 +SPARC_fandnot2 = _idaapi.SPARC_fandnot2 +SPARC_fand = _idaapi.SPARC_fand +SPARC_fcmpeq = _idaapi.SPARC_fcmpeq +SPARC_fcmpgt = _idaapi.SPARC_fcmpgt +SPARC_fcmple = _idaapi.SPARC_fcmple +SPARC_fcmpne = _idaapi.SPARC_fcmpne +SPARC_fexpand = _idaapi.SPARC_fexpand +SPARC_fmul8sux16 = _idaapi.SPARC_fmul8sux16 +SPARC_fmul8ulx16 = _idaapi.SPARC_fmul8ulx16 +SPARC_fmul8x16 = _idaapi.SPARC_fmul8x16 +SPARC_fmul8x16al = _idaapi.SPARC_fmul8x16al +SPARC_fmul8x16au = _idaapi.SPARC_fmul8x16au +SPARC_fmuld8sux16 = _idaapi.SPARC_fmuld8sux16 +SPARC_fmuld8ulx16 = _idaapi.SPARC_fmuld8ulx16 +SPARC_fnand = _idaapi.SPARC_fnand +SPARC_fnor = _idaapi.SPARC_fnor +SPARC_fnot1 = _idaapi.SPARC_fnot1 +SPARC_fnot2 = _idaapi.SPARC_fnot2 +SPARC_fone = _idaapi.SPARC_fone +SPARC_fornot1 = _idaapi.SPARC_fornot1 +SPARC_fornot2 = _idaapi.SPARC_fornot2 +SPARC_for = _idaapi.SPARC_for +SPARC_fpackfix = _idaapi.SPARC_fpackfix +SPARC_fpack = _idaapi.SPARC_fpack +SPARC_fpadd = _idaapi.SPARC_fpadd +SPARC_fpmerge = _idaapi.SPARC_fpmerge +SPARC_fpsub = _idaapi.SPARC_fpsub +SPARC_fsrc1 = _idaapi.SPARC_fsrc1 +SPARC_fsrc2 = _idaapi.SPARC_fsrc2 +SPARC_fxnor = _idaapi.SPARC_fxnor +SPARC_fxor = _idaapi.SPARC_fxor +SPARC_fzero = _idaapi.SPARC_fzero +SPARC_pdist = _idaapi.SPARC_pdist +SPARC_shutdown = _idaapi.SPARC_shutdown +SPARC_rett = _idaapi.SPARC_rett +SPARC_last = _idaapi.SPARC_last +HPPA_null = _idaapi.HPPA_null +HPPA_add = _idaapi.HPPA_add +HPPA_addb = _idaapi.HPPA_addb +HPPA_addi = _idaapi.HPPA_addi +HPPA_addib = _idaapi.HPPA_addib +HPPA_addil = _idaapi.HPPA_addil +HPPA_and = _idaapi.HPPA_and +HPPA_andcm = _idaapi.HPPA_andcm +HPPA_b = _idaapi.HPPA_b +HPPA_bb = _idaapi.HPPA_bb +HPPA_be = _idaapi.HPPA_be +HPPA_blr = _idaapi.HPPA_blr +HPPA_break = _idaapi.HPPA_break +HPPA_bv = _idaapi.HPPA_bv +HPPA_bve = _idaapi.HPPA_bve +HPPA_cldd = _idaapi.HPPA_cldd +HPPA_cldw = _idaapi.HPPA_cldw +HPPA_clrbts = _idaapi.HPPA_clrbts +HPPA_cmpb = _idaapi.HPPA_cmpb +HPPA_cmpclr = _idaapi.HPPA_cmpclr +HPPA_cmpib = _idaapi.HPPA_cmpib +HPPA_cmpiclr = _idaapi.HPPA_cmpiclr +HPPA_copr = _idaapi.HPPA_copr +HPPA_cstd = _idaapi.HPPA_cstd +HPPA_cstw = _idaapi.HPPA_cstw +HPPA_dcor = _idaapi.HPPA_dcor +HPPA_depd = _idaapi.HPPA_depd +HPPA_depdi = _idaapi.HPPA_depdi +HPPA_depw = _idaapi.HPPA_depw +HPPA_depwi = _idaapi.HPPA_depwi +HPPA_diag = _idaapi.HPPA_diag +HPPA_ds = _idaapi.HPPA_ds +HPPA_extrd = _idaapi.HPPA_extrd +HPPA_extrw = _idaapi.HPPA_extrw +HPPA_fdc = _idaapi.HPPA_fdc +HPPA_fdce = _idaapi.HPPA_fdce +HPPA_fic = _idaapi.HPPA_fic +HPPA_fice = _idaapi.HPPA_fice +HPPA_hadd = _idaapi.HPPA_hadd +HPPA_havg = _idaapi.HPPA_havg +HPPA_hshl = _idaapi.HPPA_hshl +HPPA_hshladd = _idaapi.HPPA_hshladd +HPPA_hshr = _idaapi.HPPA_hshr +HPPA_hshradd = _idaapi.HPPA_hshradd +HPPA_hsub = _idaapi.HPPA_hsub +HPPA_idtlbt = _idaapi.HPPA_idtlbt +HPPA_iitlbt = _idaapi.HPPA_iitlbt +HPPA_lci = _idaapi.HPPA_lci +HPPA_ldb = _idaapi.HPPA_ldb +HPPA_ldcd = _idaapi.HPPA_ldcd +HPPA_ldcw = _idaapi.HPPA_ldcw +HPPA_ldd = _idaapi.HPPA_ldd +HPPA_ldda = _idaapi.HPPA_ldda +HPPA_ldh = _idaapi.HPPA_ldh +HPPA_ldil = _idaapi.HPPA_ldil +HPPA_ldo = _idaapi.HPPA_ldo +HPPA_ldsid = _idaapi.HPPA_ldsid +HPPA_ldw = _idaapi.HPPA_ldw +HPPA_ldwa = _idaapi.HPPA_ldwa +HPPA_lpa = _idaapi.HPPA_lpa +HPPA_mfctl = _idaapi.HPPA_mfctl +HPPA_mfia = _idaapi.HPPA_mfia +HPPA_mfsp = _idaapi.HPPA_mfsp +HPPA_mixh = _idaapi.HPPA_mixh +HPPA_mixw = _idaapi.HPPA_mixw +HPPA_movb = _idaapi.HPPA_movb +HPPA_movib = _idaapi.HPPA_movib +HPPA_mtctl = _idaapi.HPPA_mtctl +HPPA_mtsarcm = _idaapi.HPPA_mtsarcm +HPPA_mtsm = _idaapi.HPPA_mtsm +HPPA_mtsp = _idaapi.HPPA_mtsp +HPPA_or = _idaapi.HPPA_or +HPPA_pdc = _idaapi.HPPA_pdc +HPPA_pdtlb = _idaapi.HPPA_pdtlb +HPPA_pdtlbe = _idaapi.HPPA_pdtlbe +HPPA_permh = _idaapi.HPPA_permh +HPPA_pitlb = _idaapi.HPPA_pitlb +HPPA_pitlbe = _idaapi.HPPA_pitlbe +HPPA_popbts = _idaapi.HPPA_popbts +HPPA_probe = _idaapi.HPPA_probe +HPPA_probei = _idaapi.HPPA_probei +HPPA_pushbts = _idaapi.HPPA_pushbts +HPPA_pushnom = _idaapi.HPPA_pushnom +HPPA_rfi = _idaapi.HPPA_rfi +HPPA_rsm = _idaapi.HPPA_rsm +HPPA_shladd = _idaapi.HPPA_shladd +HPPA_shrpd = _idaapi.HPPA_shrpd +HPPA_shrpw = _idaapi.HPPA_shrpw +HPPA_spop0 = _idaapi.HPPA_spop0 +HPPA_spop1 = _idaapi.HPPA_spop1 +HPPA_spop2 = _idaapi.HPPA_spop2 +HPPA_spop3 = _idaapi.HPPA_spop3 +HPPA_ssm = _idaapi.HPPA_ssm +HPPA_stb = _idaapi.HPPA_stb +HPPA_stby = _idaapi.HPPA_stby +HPPA_std = _idaapi.HPPA_std +HPPA_stda = _idaapi.HPPA_stda +HPPA_stdby = _idaapi.HPPA_stdby +HPPA_sth = _idaapi.HPPA_sth +HPPA_stw = _idaapi.HPPA_stw +HPPA_stwa = _idaapi.HPPA_stwa +HPPA_sub = _idaapi.HPPA_sub +HPPA_subi = _idaapi.HPPA_subi +HPPA_sync = _idaapi.HPPA_sync +HPPA_syncdma = _idaapi.HPPA_syncdma +HPPA_uaddcm = _idaapi.HPPA_uaddcm +HPPA_uxor = _idaapi.HPPA_uxor +HPPA_xor = _idaapi.HPPA_xor +HPPA_fabs = _idaapi.HPPA_fabs +HPPA_fadd = _idaapi.HPPA_fadd +HPPA_fcmp = _idaapi.HPPA_fcmp +HPPA_fcnv = _idaapi.HPPA_fcnv +HPPA_fcpy = _idaapi.HPPA_fcpy +HPPA_fdiv = _idaapi.HPPA_fdiv +HPPA_fid = _idaapi.HPPA_fid +HPPA_fldd = _idaapi.HPPA_fldd +HPPA_fldw = _idaapi.HPPA_fldw +HPPA_fmpy = _idaapi.HPPA_fmpy +HPPA_fmpyadd = _idaapi.HPPA_fmpyadd +HPPA_fmpyfadd = _idaapi.HPPA_fmpyfadd +HPPA_fmpynfadd = _idaapi.HPPA_fmpynfadd +HPPA_fmpysub = _idaapi.HPPA_fmpysub +HPPA_fneg = _idaapi.HPPA_fneg +HPPA_fnegabs = _idaapi.HPPA_fnegabs +HPPA_frem = _idaapi.HPPA_frem +HPPA_frnd = _idaapi.HPPA_frnd +HPPA_fsqrt = _idaapi.HPPA_fsqrt +HPPA_fstd = _idaapi.HPPA_fstd +HPPA_fstw = _idaapi.HPPA_fstw +HPPA_fsub = _idaapi.HPPA_fsub +HPPA_ftest = _idaapi.HPPA_ftest +HPPA_xmpyu = _idaapi.HPPA_xmpyu +HPPA_pmdis = _idaapi.HPPA_pmdis +HPPA_pmenb = _idaapi.HPPA_pmenb +HPPA_call = _idaapi.HPPA_call +HPPA_ret = _idaapi.HPPA_ret +HPPA_shld = _idaapi.HPPA_shld +HPPA_shlw = _idaapi.HPPA_shlw +HPPA_shrd = _idaapi.HPPA_shrd +HPPA_shrw = _idaapi.HPPA_shrw +HPPA_ldi = _idaapi.HPPA_ldi +HPPA_copy = _idaapi.HPPA_copy +HPPA_mtsar = _idaapi.HPPA_mtsar +HPPA_nop = _idaapi.HPPA_nop +HPPA_last = _idaapi.HPPA_last +H8500_null = _idaapi.H8500_null +H8500_mov_g = _idaapi.H8500_mov_g +H8500_mov_e = _idaapi.H8500_mov_e +H8500_mov_i = _idaapi.H8500_mov_i +H8500_mov_f = _idaapi.H8500_mov_f +H8500_mov_l = _idaapi.H8500_mov_l +H8500_mov_s = _idaapi.H8500_mov_s +H8500_ldm = _idaapi.H8500_ldm +H8500_stm = _idaapi.H8500_stm +H8500_xch = _idaapi.H8500_xch +H8500_swap = _idaapi.H8500_swap +H8500_movtpe = _idaapi.H8500_movtpe +H8500_movfpe = _idaapi.H8500_movfpe +H8500_add_g = _idaapi.H8500_add_g +H8500_add_q = _idaapi.H8500_add_q +H8500_sub = _idaapi.H8500_sub +H8500_adds = _idaapi.H8500_adds +H8500_subs = _idaapi.H8500_subs +H8500_addx = _idaapi.H8500_addx +H8500_subx = _idaapi.H8500_subx +H8500_dadd = _idaapi.H8500_dadd +H8500_dsub = _idaapi.H8500_dsub +H8500_mulxu = _idaapi.H8500_mulxu +H8500_divxu = _idaapi.H8500_divxu +H8500_cmp_g = _idaapi.H8500_cmp_g +H8500_cmp_e = _idaapi.H8500_cmp_e +H8500_cmp_i = _idaapi.H8500_cmp_i +H8500_exts = _idaapi.H8500_exts +H8500_extu = _idaapi.H8500_extu +H8500_tst = _idaapi.H8500_tst +H8500_neg = _idaapi.H8500_neg +H8500_clr = _idaapi.H8500_clr +H8500_tas = _idaapi.H8500_tas +H8500_and = _idaapi.H8500_and +H8500_or = _idaapi.H8500_or +H8500_xor = _idaapi.H8500_xor +H8500_not = _idaapi.H8500_not +H8500_shal = _idaapi.H8500_shal +H8500_shar = _idaapi.H8500_shar +H8500_shll = _idaapi.H8500_shll +H8500_shlr = _idaapi.H8500_shlr +H8500_rotl = _idaapi.H8500_rotl +H8500_rotr = _idaapi.H8500_rotr +H8500_rotxl = _idaapi.H8500_rotxl +H8500_rotxr = _idaapi.H8500_rotxr +H8500_bset = _idaapi.H8500_bset +H8500_bclr = _idaapi.H8500_bclr +H8500_bnot = _idaapi.H8500_bnot +H8500_btst = _idaapi.H8500_btst +H8500_bra = _idaapi.H8500_bra +H8500_brn = _idaapi.H8500_brn +H8500_bhi = _idaapi.H8500_bhi +H8500_bls = _idaapi.H8500_bls +H8500_bcc = _idaapi.H8500_bcc +H8500_bcs = _idaapi.H8500_bcs +H8500_bne = _idaapi.H8500_bne +H8500_beq = _idaapi.H8500_beq +H8500_bvc = _idaapi.H8500_bvc +H8500_bvs = _idaapi.H8500_bvs +H8500_bpl = _idaapi.H8500_bpl +H8500_bmi = _idaapi.H8500_bmi +H8500_bge = _idaapi.H8500_bge +H8500_blt = _idaapi.H8500_blt +H8500_bgt = _idaapi.H8500_bgt +H8500_ble = _idaapi.H8500_ble +H8500_jmp = _idaapi.H8500_jmp +H8500_pjmp = _idaapi.H8500_pjmp +H8500_bsr = _idaapi.H8500_bsr +H8500_jsr = _idaapi.H8500_jsr +H8500_pjsr = _idaapi.H8500_pjsr +H8500_rts = _idaapi.H8500_rts +H8500_prts = _idaapi.H8500_prts +H8500_rtd = _idaapi.H8500_rtd +H8500_prtd = _idaapi.H8500_prtd +H8500_scb = _idaapi.H8500_scb +H8500_trapa = _idaapi.H8500_trapa +H8500_trap_vs = _idaapi.H8500_trap_vs +H8500_rte = _idaapi.H8500_rte +H8500_link = _idaapi.H8500_link +H8500_unlk = _idaapi.H8500_unlk +H8500_sleep = _idaapi.H8500_sleep +H8500_ldc = _idaapi.H8500_ldc +H8500_stc = _idaapi.H8500_stc +H8500_andc = _idaapi.H8500_andc +H8500_orc = _idaapi.H8500_orc +H8500_xorc = _idaapi.H8500_xorc +H8500_nop = _idaapi.H8500_nop +H8500_bpt = _idaapi.H8500_bpt +H8500_last = _idaapi.H8500_last +DSP56_null = _idaapi.DSP56_null +DSP56_abs = _idaapi.DSP56_abs +DSP56_adc = _idaapi.DSP56_adc +DSP56_add = _idaapi.DSP56_add +DSP56_addl = _idaapi.DSP56_addl +DSP56_addr = _idaapi.DSP56_addr +DSP56_and = _idaapi.DSP56_and +DSP56_andi = _idaapi.DSP56_andi +DSP56_asl = _idaapi.DSP56_asl +DSP56_asl4 = _idaapi.DSP56_asl4 +DSP56_asr = _idaapi.DSP56_asr +DSP56_asr4 = _idaapi.DSP56_asr4 +DSP56_asr16 = _idaapi.DSP56_asr16 +DSP56_bfchg = _idaapi.DSP56_bfchg +DSP56_bfclr = _idaapi.DSP56_bfclr +DSP56_bfset = _idaapi.DSP56_bfset +DSP56_bftsth = _idaapi.DSP56_bftsth +DSP56_bftstl = _idaapi.DSP56_bftstl +DSP56_bcc = _idaapi.DSP56_bcc +DSP56_bchg = _idaapi.DSP56_bchg +DSP56_bclr = _idaapi.DSP56_bclr +DSP56_bra = _idaapi.DSP56_bra +DSP56_brclr = _idaapi.DSP56_brclr +DSP56_brkcc = _idaapi.DSP56_brkcc +DSP56_brset = _idaapi.DSP56_brset +DSP56_bscc = _idaapi.DSP56_bscc +DSP56_bsclr = _idaapi.DSP56_bsclr +DSP56_bset = _idaapi.DSP56_bset +DSP56_bsr = _idaapi.DSP56_bsr +DSP56_bsset = _idaapi.DSP56_bsset +DSP56_btst = _idaapi.DSP56_btst +DSP56_chkaau = _idaapi.DSP56_chkaau +DSP56_clb = _idaapi.DSP56_clb +DSP56_clr = _idaapi.DSP56_clr +DSP56_clr24 = _idaapi.DSP56_clr24 +DSP56_cmp = _idaapi.DSP56_cmp +DSP56_cmpm = _idaapi.DSP56_cmpm +DSP56_cmpu = _idaapi.DSP56_cmpu +DSP56_debug = _idaapi.DSP56_debug +DSP56_debugcc = _idaapi.DSP56_debugcc +DSP56_dec = _idaapi.DSP56_dec +DSP56_dec24 = _idaapi.DSP56_dec24 +DSP56_div = _idaapi.DSP56_div +DSP56_dmac = _idaapi.DSP56_dmac +DSP56_do = _idaapi.DSP56_do +DSP56_do_f = _idaapi.DSP56_do_f +DSP56_dor = _idaapi.DSP56_dor +DSP56_dor_f = _idaapi.DSP56_dor_f +DSP56_enddo = _idaapi.DSP56_enddo +DSP56_eor = _idaapi.DSP56_eor +DSP56_extract = _idaapi.DSP56_extract +DSP56_extractu = _idaapi.DSP56_extractu +DSP56_ext = _idaapi.DSP56_ext +DSP56_ill = _idaapi.DSP56_ill +DSP56_imac = _idaapi.DSP56_imac +DSP56_impy = _idaapi.DSP56_impy +DSP56_inc = _idaapi.DSP56_inc +DSP56_inc24 = _idaapi.DSP56_inc24 +DSP56_insert = _idaapi.DSP56_insert +DSP56_jcc = _idaapi.DSP56_jcc +DSP56_jclr = _idaapi.DSP56_jclr +DSP56_jmp = _idaapi.DSP56_jmp +DSP56_jscc = _idaapi.DSP56_jscc +DSP56_jsclr = _idaapi.DSP56_jsclr +DSP56_jset = _idaapi.DSP56_jset +DSP56_jsr = _idaapi.DSP56_jsr +DSP56_jsset = _idaapi.DSP56_jsset +DSP56_lra = _idaapi.DSP56_lra +DSP56_lsl = _idaapi.DSP56_lsl +DSP56_lsr = _idaapi.DSP56_lsr +DSP56_lua = _idaapi.DSP56_lua +DSP56_lea = _idaapi.DSP56_lea +DSP56_mac = _idaapi.DSP56_mac +DSP56_maci = _idaapi.DSP56_maci +DSP56_mac_s_u = _idaapi.DSP56_mac_s_u +DSP56_macr = _idaapi.DSP56_macr +DSP56_macri = _idaapi.DSP56_macri +DSP56_max = _idaapi.DSP56_max +DSP56_maxm = _idaapi.DSP56_maxm +DSP56_merge = _idaapi.DSP56_merge +DSP56_move = _idaapi.DSP56_move +DSP56_movec = _idaapi.DSP56_movec +DSP56_movei = _idaapi.DSP56_movei +DSP56_movem = _idaapi.DSP56_movem +DSP56_movep = _idaapi.DSP56_movep +DSP56_moves = _idaapi.DSP56_moves +DSP56_mpy = _idaapi.DSP56_mpy +DSP56_mpyi = _idaapi.DSP56_mpyi +DSP56_mpy_s_u = _idaapi.DSP56_mpy_s_u +DSP56_mpyr = _idaapi.DSP56_mpyr +DSP56_mpyri = _idaapi.DSP56_mpyri +DSP56_neg = _idaapi.DSP56_neg +DSP56_negc = _idaapi.DSP56_negc +DSP56_nop = _idaapi.DSP56_nop +DSP56_norm = _idaapi.DSP56_norm +DSP56_normf = _idaapi.DSP56_normf +DSP56_not = _idaapi.DSP56_not +DSP56_or = _idaapi.DSP56_or +DSP56_ori = _idaapi.DSP56_ori +DSP56_pflush = _idaapi.DSP56_pflush +DSP56_pflushun = _idaapi.DSP56_pflushun +DSP56_pfree = _idaapi.DSP56_pfree +DSP56_plock = _idaapi.DSP56_plock +DSP56_plockr = _idaapi.DSP56_plockr +DSP56_punlock = _idaapi.DSP56_punlock +DSP56_punlockr = _idaapi.DSP56_punlockr +DSP56_rep = _idaapi.DSP56_rep +DSP56_repcc = _idaapi.DSP56_repcc +DSP56_reset = _idaapi.DSP56_reset +DSP56_rnd = _idaapi.DSP56_rnd +DSP56_rol = _idaapi.DSP56_rol +DSP56_ror = _idaapi.DSP56_ror +DSP56_rti = _idaapi.DSP56_rti +DSP56_rts = _idaapi.DSP56_rts +DSP56_sbc = _idaapi.DSP56_sbc +DSP56_stop = _idaapi.DSP56_stop +DSP56_sub = _idaapi.DSP56_sub +DSP56_subl = _idaapi.DSP56_subl +DSP56_subr = _idaapi.DSP56_subr +DSP56_swap = _idaapi.DSP56_swap +DSP56_tcc = _idaapi.DSP56_tcc +DSP56_tfr = _idaapi.DSP56_tfr +DSP56_tfr2 = _idaapi.DSP56_tfr2 +DSP56_tfr3 = _idaapi.DSP56_tfr3 +DSP56_trap = _idaapi.DSP56_trap +DSP56_trapcc = _idaapi.DSP56_trapcc +DSP56_tst = _idaapi.DSP56_tst +DSP56_tst2 = _idaapi.DSP56_tst2 +DSP56_vsl = _idaapi.DSP56_vsl +DSP56_wait = _idaapi.DSP56_wait +DSP56_zero = _idaapi.DSP56_zero +DSP56_swi = _idaapi.DSP56_swi +DSP56_pmov = _idaapi.DSP56_pmov +DSP56_last = _idaapi.DSP56_last +DSP96_null = _idaapi.DSP96_null +DSP96_abs = _idaapi.DSP96_abs +DSP96_add = _idaapi.DSP96_add +DSP96_addc = _idaapi.DSP96_addc +DSP96_and = _idaapi.DSP96_and +DSP96_andc = _idaapi.DSP96_andc +DSP96_andi = _idaapi.DSP96_andi +DSP96_asl = _idaapi.DSP96_asl +DSP96_asr = _idaapi.DSP96_asr +DSP96_bcc = _idaapi.DSP96_bcc +DSP96_bccd = _idaapi.DSP96_bccd +DSP96_bchg = _idaapi.DSP96_bchg +DSP96_bclr = _idaapi.DSP96_bclr +DSP96_bfind = _idaapi.DSP96_bfind +DSP96_bra = _idaapi.DSP96_bra +DSP96_brclr = _idaapi.DSP96_brclr +DSP96_brset = _idaapi.DSP96_brset +DSP96_bscc = _idaapi.DSP96_bscc +DSP96_bsccd = _idaapi.DSP96_bsccd +DSP96_bsclr = _idaapi.DSP96_bsclr +DSP96_bset = _idaapi.DSP96_bset +DSP96_bsr = _idaapi.DSP96_bsr +DSP96_bsrd = _idaapi.DSP96_bsrd +DSP96_bsset = _idaapi.DSP96_bsset +DSP96_btst = _idaapi.DSP96_btst +DSP96_clr = _idaapi.DSP96_clr +DSP96_cmp = _idaapi.DSP96_cmp +DSP96_cmpg = _idaapi.DSP96_cmpg +DSP96_debugcc = _idaapi.DSP96_debugcc +DSP96_dec = _idaapi.DSP96_dec +DSP96_do = _idaapi.DSP96_do +DSP96_dor = _idaapi.DSP96_dor +DSP96_enddo = _idaapi.DSP96_enddo +DSP96_eor = _idaapi.DSP96_eor +DSP96_ext = _idaapi.DSP96_ext +DSP96_extb = _idaapi.DSP96_extb +DSP96_fabs = _idaapi.DSP96_fabs +DSP96_fadd = _idaapi.DSP96_fadd +DSP96_faddsub = _idaapi.DSP96_faddsub +DSP96_fbcc = _idaapi.DSP96_fbcc +DSP96_fbccd = _idaapi.DSP96_fbccd +DSP96_fbscc = _idaapi.DSP96_fbscc +DSP96_fbsccd = _idaapi.DSP96_fbsccd +DSP96_fclr = _idaapi.DSP96_fclr +DSP96_fcmp = _idaapi.DSP96_fcmp +DSP96_fcmpg = _idaapi.DSP96_fcmpg +DSP96_fcmpm = _idaapi.DSP96_fcmpm +DSP96_fcopys = _idaapi.DSP96_fcopys +DSP96_fdebugcc = _idaapi.DSP96_fdebugcc +DSP96_fgetman = _idaapi.DSP96_fgetman +DSP96_fint = _idaapi.DSP96_fint +DSP96_fjcc = _idaapi.DSP96_fjcc +DSP96_fjccd = _idaapi.DSP96_fjccd +DSP96_fjscc = _idaapi.DSP96_fjscc +DSP96_fjsccd = _idaapi.DSP96_fjsccd +DSP96_float = _idaapi.DSP96_float +DSP96_floatu = _idaapi.DSP96_floatu +DSP96_floor = _idaapi.DSP96_floor +DSP96_fmove = _idaapi.DSP96_fmove +DSP96_fmpyfadd = _idaapi.DSP96_fmpyfadd +DSP96_fmpyfaddsub = _idaapi.DSP96_fmpyfaddsub +DSP96_fmpyfsub = _idaapi.DSP96_fmpyfsub +DSP96_fmpy = _idaapi.DSP96_fmpy +DSP96_fneg = _idaapi.DSP96_fneg +DSP96_fscale = _idaapi.DSP96_fscale +DSP96_fseedd = _idaapi.DSP96_fseedd +DSP96_fseedr = _idaapi.DSP96_fseedr +DSP96_fsub = _idaapi.DSP96_fsub +DSP96_ftfr = _idaapi.DSP96_ftfr +DSP96_ftrapcc = _idaapi.DSP96_ftrapcc +DSP96_ftst = _idaapi.DSP96_ftst +DSP96_getexp = _idaapi.DSP96_getexp +DSP96_illegal = _idaapi.DSP96_illegal +DSP96_inc = _idaapi.DSP96_inc +DSP96_int = _idaapi.DSP96_int +DSP96_intrz = _idaapi.DSP96_intrz +DSP96_intu = _idaapi.DSP96_intu +DSP96_inturz = _idaapi.DSP96_inturz +DSP96_jcc = _idaapi.DSP96_jcc +DSP96_jccd = _idaapi.DSP96_jccd +DSP96_jclr = _idaapi.DSP96_jclr +DSP96_join = _idaapi.DSP96_join +DSP96_joinb = _idaapi.DSP96_joinb +DSP96_jscc = _idaapi.DSP96_jscc +DSP96_jsccd = _idaapi.DSP96_jsccd +DSP96_jsclr = _idaapi.DSP96_jsclr +DSP96_jset = _idaapi.DSP96_jset +DSP96_jsset = _idaapi.DSP96_jsset +DSP96_lea = _idaapi.DSP96_lea +DSP96_lra = _idaapi.DSP96_lra +DSP96_lsl = _idaapi.DSP96_lsl +DSP96_lsr = _idaapi.DSP96_lsr +DSP96_move = _idaapi.DSP96_move +DSP96_movec = _idaapi.DSP96_movec +DSP96_movei = _idaapi.DSP96_movei +DSP96_movem = _idaapi.DSP96_movem +DSP96_movep = _idaapi.DSP96_movep +DSP96_moves = _idaapi.DSP96_moves +DSP96_moveta = _idaapi.DSP96_moveta +DSP96_mpys = _idaapi.DSP96_mpys +DSP96_mpyu = _idaapi.DSP96_mpyu +DSP96_neg = _idaapi.DSP96_neg +DSP96_negc = _idaapi.DSP96_negc +DSP96_nop = _idaapi.DSP96_nop +DSP96_not = _idaapi.DSP96_not +DSP96_or = _idaapi.DSP96_or +DSP96_orc = _idaapi.DSP96_orc +DSP96_ori = _idaapi.DSP96_ori +DSP96_rep = _idaapi.DSP96_rep +DSP96_reset = _idaapi.DSP96_reset +DSP96_rol = _idaapi.DSP96_rol +DSP96_ror = _idaapi.DSP96_ror +DSP96_rti = _idaapi.DSP96_rti +DSP96_rtr = _idaapi.DSP96_rtr +DSP96_rts = _idaapi.DSP96_rts +DSP96_setw = _idaapi.DSP96_setw +DSP96_split = _idaapi.DSP96_split +DSP96_splitb = _idaapi.DSP96_splitb +DSP96_stop = _idaapi.DSP96_stop +DSP96_sub = _idaapi.DSP96_sub +DSP96_subc = _idaapi.DSP96_subc +DSP96_tfr = _idaapi.DSP96_tfr +DSP96_trapcc = _idaapi.DSP96_trapcc +DSP96_tst = _idaapi.DSP96_tst +DSP96_wait = _idaapi.DSP96_wait +DSP96_last = _idaapi.DSP96_last +PM96_NoMove = _idaapi.PM96_NoMove +PM96_R2R = _idaapi.PM96_R2R +PM96_Update = _idaapi.PM96_Update +PM96_XYMem = _idaapi.PM96_XYMem +PM96_XYmemR = _idaapi.PM96_XYmemR +PM96_Long = _idaapi.PM96_Long +PM96_XY = _idaapi.PM96_XY +PM96_IFcc = _idaapi.PM96_IFcc +C166_null = _idaapi.C166_null +C166_add = _idaapi.C166_add +C166_addb = _idaapi.C166_addb +C166_addc = _idaapi.C166_addc +C166_addcb = _idaapi.C166_addcb +C166_and = _idaapi.C166_and +C166_andb = _idaapi.C166_andb +C166_ashr = _idaapi.C166_ashr +C166_atomic = _idaapi.C166_atomic +C166_band = _idaapi.C166_band +C166_bclr = _idaapi.C166_bclr +C166_bcmp = _idaapi.C166_bcmp +C166_bfldh = _idaapi.C166_bfldh +C166_bfldl = _idaapi.C166_bfldl +C166_bmov = _idaapi.C166_bmov +C166_bmovn = _idaapi.C166_bmovn +C166_bor = _idaapi.C166_bor +C166_bset = _idaapi.C166_bset +C166_bxor = _idaapi.C166_bxor +C166_calla = _idaapi.C166_calla +C166_calli = _idaapi.C166_calli +C166_callr = _idaapi.C166_callr +C166_calls = _idaapi.C166_calls +C166_cmp = _idaapi.C166_cmp +C166_cmpb = _idaapi.C166_cmpb +C166_cmpd1 = _idaapi.C166_cmpd1 +C166_cmpd2 = _idaapi.C166_cmpd2 +C166_cmpi1 = _idaapi.C166_cmpi1 +C166_cmpi2 = _idaapi.C166_cmpi2 +C166_cpl = _idaapi.C166_cpl +C166_cplb = _idaapi.C166_cplb +C166_diswdt = _idaapi.C166_diswdt +C166_div = _idaapi.C166_div +C166_divl = _idaapi.C166_divl +C166_divlu = _idaapi.C166_divlu +C166_divu = _idaapi.C166_divu +C166_einit = _idaapi.C166_einit +C166_extr = _idaapi.C166_extr +C166_extp = _idaapi.C166_extp +C166_extpr = _idaapi.C166_extpr +C166_exts = _idaapi.C166_exts +C166_extsr = _idaapi.C166_extsr +C166_idle = _idaapi.C166_idle +C166_jb = _idaapi.C166_jb +C166_jbc = _idaapi.C166_jbc +C166_jmpa = _idaapi.C166_jmpa +C166_jmpi = _idaapi.C166_jmpi +C166_jmpr = _idaapi.C166_jmpr +C166_jmps = _idaapi.C166_jmps +C166_jnb = _idaapi.C166_jnb +C166_jnbs = _idaapi.C166_jnbs +C166_mov = _idaapi.C166_mov +C166_movb = _idaapi.C166_movb +C166_movbs = _idaapi.C166_movbs +C166_movbz = _idaapi.C166_movbz +C166_mul = _idaapi.C166_mul +C166_mulu = _idaapi.C166_mulu +C166_neg = _idaapi.C166_neg +C166_negb = _idaapi.C166_negb +C166_nop = _idaapi.C166_nop +C166_or = _idaapi.C166_or +C166_orb = _idaapi.C166_orb +C166_pcall = _idaapi.C166_pcall +C166_pop = _idaapi.C166_pop +C166_prior = _idaapi.C166_prior +C166_push = _idaapi.C166_push +C166_pwrdn = _idaapi.C166_pwrdn +C166_ret = _idaapi.C166_ret +C166_reti = _idaapi.C166_reti +C166_retp = _idaapi.C166_retp +C166_rets = _idaapi.C166_rets +C166_rol = _idaapi.C166_rol +C166_ror = _idaapi.C166_ror +C166_scxt = _idaapi.C166_scxt +C166_shl = _idaapi.C166_shl +C166_shr = _idaapi.C166_shr +C166_srst = _idaapi.C166_srst +C166_srvwdt = _idaapi.C166_srvwdt +C166_sub = _idaapi.C166_sub +C166_subb = _idaapi.C166_subb +C166_subc = _idaapi.C166_subc +C166_subcb = _idaapi.C166_subcb +C166_trap = _idaapi.C166_trap +C166_xor = _idaapi.C166_xor +C166_xorb = _idaapi.C166_xorb +ST10_CoABS = _idaapi.ST10_CoABS +ST10_CoADD = _idaapi.ST10_CoADD +ST10_CoASHR = _idaapi.ST10_CoASHR +ST10_CoCMP = _idaapi.ST10_CoCMP +ST10_CoLOAD = _idaapi.ST10_CoLOAD +ST10_CoMAC = _idaapi.ST10_CoMAC +ST10_CoMACM = _idaapi.ST10_CoMACM +ST10_CoMAX = _idaapi.ST10_CoMAX +ST10_CoMIN = _idaapi.ST10_CoMIN +ST10_CoMOV = _idaapi.ST10_CoMOV +ST10_CoMUL = _idaapi.ST10_CoMUL +ST10_CoNEG = _idaapi.ST10_CoNEG +ST10_CoNOP = _idaapi.ST10_CoNOP +ST10_CoRND = _idaapi.ST10_CoRND +ST10_CoSHL = _idaapi.ST10_CoSHL +ST10_CoSHR = _idaapi.ST10_CoSHR +ST10_CoSTORE = _idaapi.ST10_CoSTORE +ST10_CoSUB = _idaapi.ST10_CoSUB +C166_enwdt = _idaapi.C166_enwdt +C166_sbrk = _idaapi.C166_sbrk +C166_last = _idaapi.C166_last +ST20_null = _idaapi.ST20_null +ST20_adc = _idaapi.ST20_adc +ST20_add = _idaapi.ST20_add +ST20_addc = _idaapi.ST20_addc +ST20_ajw = _idaapi.ST20_ajw +ST20_and = _idaapi.ST20_and +ST20_arot = _idaapi.ST20_arot +ST20_ashr = _idaapi.ST20_ashr +ST20_biquad = _idaapi.ST20_biquad +ST20_bitld = _idaapi.ST20_bitld +ST20_bitmask = _idaapi.ST20_bitmask +ST20_bitst = _idaapi.ST20_bitst +ST20_breakpoint = _idaapi.ST20_breakpoint +ST20_cj = _idaapi.ST20_cj +ST20_dequeue = _idaapi.ST20_dequeue +ST20_divstep = _idaapi.ST20_divstep +ST20_dup = _idaapi.ST20_dup +ST20_ecall = _idaapi.ST20_ecall +ST20_enqueue = _idaapi.ST20_enqueue +ST20_eqc = _idaapi.ST20_eqc +ST20_eret = _idaapi.ST20_eret +ST20_fcall = _idaapi.ST20_fcall +ST20_gajw = _idaapi.ST20_gajw +ST20_gt = _idaapi.ST20_gt +ST20_gtu = _idaapi.ST20_gtu +ST20_io = _idaapi.ST20_io +ST20_j = _idaapi.ST20_j +ST20_jab = _idaapi.ST20_jab +ST20_lbinc = _idaapi.ST20_lbinc +ST20_ldc = _idaapi.ST20_ldc +ST20_ldl = _idaapi.ST20_ldl +ST20_ldlp = _idaapi.ST20_ldlp +ST20_ldnl = _idaapi.ST20_ldnl +ST20_ldnlp = _idaapi.ST20_ldnlp +ST20_ldpi = _idaapi.ST20_ldpi +ST20_ldprodid = _idaapi.ST20_ldprodid +ST20_ldtdesc = _idaapi.ST20_ldtdesc +ST20_lsinc = _idaapi.ST20_lsinc +ST20_lsxinc = _idaapi.ST20_lsxinc +ST20_lwinc = _idaapi.ST20_lwinc +ST20_mac = _idaapi.ST20_mac +ST20_mul = _idaapi.ST20_mul +ST20_nfix = _idaapi.ST20_nfix +ST20_nop = _idaapi.ST20_nop +ST20_not = _idaapi.ST20_not +ST20_opr = _idaapi.ST20_opr +ST20_or = _idaapi.ST20_or +ST20_order = _idaapi.ST20_order +ST20_orderu = _idaapi.ST20_orderu +ST20_pfix = _idaapi.ST20_pfix +ST20_rev = _idaapi.ST20_rev +ST20_rmw = _idaapi.ST20_rmw +ST20_rot = _idaapi.ST20_rot +ST20_run = _idaapi.ST20_run +ST20_saturate = _idaapi.ST20_saturate +ST20_sbinc = _idaapi.ST20_sbinc +ST20_shl = _idaapi.ST20_shl +ST20_shr = _idaapi.ST20_shr +ST20_signal = _idaapi.ST20_signal +ST20_smacinit = _idaapi.ST20_smacinit +ST20_smacloop = _idaapi.ST20_smacloop +ST20_smul = _idaapi.ST20_smul +ST20_ssinc = _idaapi.ST20_ssinc +ST20_statusclr = _idaapi.ST20_statusclr +ST20_statusset = _idaapi.ST20_statusset +ST20_statustst = _idaapi.ST20_statustst +ST20_stl = _idaapi.ST20_stl +ST20_stnl = _idaapi.ST20_stnl +ST20_stop = _idaapi.ST20_stop +ST20_sub = _idaapi.ST20_sub +ST20_subc = _idaapi.ST20_subc +ST20_swap32 = _idaapi.ST20_swap32 +ST20_swinc = _idaapi.ST20_swinc +ST20_timeslice = _idaapi.ST20_timeslice +ST20_umac = _idaapi.ST20_umac +ST20_unsign = _idaapi.ST20_unsign +ST20_wait = _idaapi.ST20_wait +ST20_wsub = _idaapi.ST20_wsub +ST20_xbword = _idaapi.ST20_xbword +ST20_xor = _idaapi.ST20_xor +ST20_xsword = _idaapi.ST20_xsword +ST20_alt = _idaapi.ST20_alt +ST20_altend = _idaapi.ST20_altend +ST20_altwt = _idaapi.ST20_altwt +ST20_bcnt = _idaapi.ST20_bcnt +ST20_bitcnt = _idaapi.ST20_bitcnt +ST20_bitrevnbits = _idaapi.ST20_bitrevnbits +ST20_bitrevword = _idaapi.ST20_bitrevword +ST20_bsub = _idaapi.ST20_bsub +ST20_call = _idaapi.ST20_call +ST20_causeerror = _idaapi.ST20_causeerror +ST20_cb = _idaapi.ST20_cb +ST20_cbu = _idaapi.ST20_cbu +ST20_ccnt1 = _idaapi.ST20_ccnt1 +ST20_cflerr = _idaapi.ST20_cflerr +ST20_cir = _idaapi.ST20_cir +ST20_ciru = _idaapi.ST20_ciru +ST20_clockdis = _idaapi.ST20_clockdis +ST20_clockenb = _idaapi.ST20_clockenb +ST20_clrhalterr = _idaapi.ST20_clrhalterr +ST20_crcbyte = _idaapi.ST20_crcbyte +ST20_crcword = _idaapi.ST20_crcword +ST20_cs = _idaapi.ST20_cs +ST20_csngl = _idaapi.ST20_csngl +ST20_csu = _idaapi.ST20_csu +ST20_csub0 = _idaapi.ST20_csub0 +ST20_cword = _idaapi.ST20_cword +ST20_devlb = _idaapi.ST20_devlb +ST20_devls = _idaapi.ST20_devls +ST20_devlw = _idaapi.ST20_devlw +ST20_devmove = _idaapi.ST20_devmove +ST20_devsb = _idaapi.ST20_devsb +ST20_devss = _idaapi.ST20_devss +ST20_devsw = _idaapi.ST20_devsw +ST20_diff = _idaapi.ST20_diff +ST20_disc = _idaapi.ST20_disc +ST20_diss = _idaapi.ST20_diss +ST20_dist = _idaapi.ST20_dist +ST20_div = _idaapi.ST20_div +ST20_enbc = _idaapi.ST20_enbc +ST20_enbs = _idaapi.ST20_enbs +ST20_enbt = _idaapi.ST20_enbt +ST20_endp = _idaapi.ST20_endp +ST20_fmul = _idaapi.ST20_fmul +ST20_fptesterr = _idaapi.ST20_fptesterr +ST20_gcall = _idaapi.ST20_gcall +ST20_gintdis = _idaapi.ST20_gintdis +ST20_gintenb = _idaapi.ST20_gintenb +ST20_in = _idaapi.ST20_in +ST20_insertqueue = _idaapi.ST20_insertqueue +ST20_intdis = _idaapi.ST20_intdis +ST20_intenb = _idaapi.ST20_intenb +ST20_iret = _idaapi.ST20_iret +ST20_ladd = _idaapi.ST20_ladd +ST20_lb = _idaapi.ST20_lb +ST20_lbx = _idaapi.ST20_lbx +ST20_ldclock = _idaapi.ST20_ldclock +ST20_lddevid = _idaapi.ST20_lddevid +ST20_ldiff = _idaapi.ST20_ldiff +ST20_ldinf = _idaapi.ST20_ldinf +ST20_ldiv = _idaapi.ST20_ldiv +ST20_ldmemstartval = _idaapi.ST20_ldmemstartval +ST20_ldpri = _idaapi.ST20_ldpri +ST20_ldshadow = _idaapi.ST20_ldshadow +ST20_ldtimer = _idaapi.ST20_ldtimer +ST20_ldtraph = _idaapi.ST20_ldtraph +ST20_ldtrapped = _idaapi.ST20_ldtrapped +ST20_lend = _idaapi.ST20_lend +ST20_lmul = _idaapi.ST20_lmul +ST20_ls = _idaapi.ST20_ls +ST20_lshl = _idaapi.ST20_lshl +ST20_lshr = _idaapi.ST20_lshr +ST20_lsub = _idaapi.ST20_lsub +ST20_lsum = _idaapi.ST20_lsum +ST20_lsx = _idaapi.ST20_lsx +ST20_mint = _idaapi.ST20_mint +ST20_move = _idaapi.ST20_move +ST20_move2dall = _idaapi.ST20_move2dall +ST20_move2dinit = _idaapi.ST20_move2dinit +ST20_move2dnonzero = _idaapi.ST20_move2dnonzero +ST20_move2dzero = _idaapi.ST20_move2dzero +ST20_norm = _idaapi.ST20_norm +ST20_out = _idaapi.ST20_out +ST20_outbyte = _idaapi.ST20_outbyte +ST20_outword = _idaapi.ST20_outword +ST20_pop = _idaapi.ST20_pop +ST20_postnormsn = _idaapi.ST20_postnormsn +ST20_prod = _idaapi.ST20_prod +ST20_reboot = _idaapi.ST20_reboot +ST20_rem = _idaapi.ST20_rem +ST20_resetch = _idaapi.ST20_resetch +ST20_restart = _idaapi.ST20_restart +ST20_ret = _idaapi.ST20_ret +ST20_roundsn = _idaapi.ST20_roundsn +ST20_runp = _idaapi.ST20_runp +ST20_satadd = _idaapi.ST20_satadd +ST20_satmul = _idaapi.ST20_satmul +ST20_satsub = _idaapi.ST20_satsub +ST20_saveh = _idaapi.ST20_saveh +ST20_savel = _idaapi.ST20_savel +ST20_sb = _idaapi.ST20_sb +ST20_seterr = _idaapi.ST20_seterr +ST20_sethalterr = _idaapi.ST20_sethalterr +ST20_settimeslice = _idaapi.ST20_settimeslice +ST20_slmul = _idaapi.ST20_slmul +ST20_ss = _idaapi.ST20_ss +ST20_ssub = _idaapi.ST20_ssub +ST20_startp = _idaapi.ST20_startp +ST20_stclock = _idaapi.ST20_stclock +ST20_sthb = _idaapi.ST20_sthb +ST20_sthf = _idaapi.ST20_sthf +ST20_stlb = _idaapi.ST20_stlb +ST20_stlf = _idaapi.ST20_stlf +ST20_stoperr = _idaapi.ST20_stoperr +ST20_stopp = _idaapi.ST20_stopp +ST20_stshadow = _idaapi.ST20_stshadow +ST20_sttimer = _idaapi.ST20_sttimer +ST20_sttraph = _idaapi.ST20_sttraph +ST20_sttrapped = _idaapi.ST20_sttrapped +ST20_sulmul = _idaapi.ST20_sulmul +ST20_sum = _idaapi.ST20_sum +ST20_swapqueue = _idaapi.ST20_swapqueue +ST20_swaptimer = _idaapi.ST20_swaptimer +ST20_talt = _idaapi.ST20_talt +ST20_taltwt = _idaapi.ST20_taltwt +ST20_testerr = _idaapi.ST20_testerr +ST20_testhalterr = _idaapi.ST20_testhalterr +ST20_testpranal = _idaapi.ST20_testpranal +ST20_tin = _idaapi.ST20_tin +ST20_trapdis = _idaapi.ST20_trapdis +ST20_trapenb = _idaapi.ST20_trapenb +ST20_tret = _idaapi.ST20_tret +ST20_unpacksn = _idaapi.ST20_unpacksn +ST20_wcnt = _idaapi.ST20_wcnt +ST20_wsubdb = _idaapi.ST20_wsubdb +ST20_xdble = _idaapi.ST20_xdble +ST20_xword = _idaapi.ST20_xword +ST20_last = _idaapi.ST20_last +ST7_null = _idaapi.ST7_null +ST7_adc = _idaapi.ST7_adc +ST7_add = _idaapi.ST7_add +ST7_and = _idaapi.ST7_and +ST7_bcp = _idaapi.ST7_bcp +ST7_bres = _idaapi.ST7_bres +ST7_bset = _idaapi.ST7_bset +ST7_btjf = _idaapi.ST7_btjf +ST7_btjt = _idaapi.ST7_btjt +ST7_call = _idaapi.ST7_call +ST7_callr = _idaapi.ST7_callr +ST7_clr = _idaapi.ST7_clr +ST7_cp = _idaapi.ST7_cp +ST7_cpl = _idaapi.ST7_cpl +ST7_dec = _idaapi.ST7_dec +ST7_halt = _idaapi.ST7_halt +ST7_iret = _idaapi.ST7_iret +ST7_inc = _idaapi.ST7_inc +ST7_jp = _idaapi.ST7_jp +ST7_jra = _idaapi.ST7_jra +ST7_jrt = _idaapi.ST7_jrt +ST7_jrf = _idaapi.ST7_jrf +ST7_jrih = _idaapi.ST7_jrih +ST7_jril = _idaapi.ST7_jril +ST7_jrh = _idaapi.ST7_jrh +ST7_jrnh = _idaapi.ST7_jrnh +ST7_jrm = _idaapi.ST7_jrm +ST7_jrnm = _idaapi.ST7_jrnm +ST7_jrmi = _idaapi.ST7_jrmi +ST7_jrpl = _idaapi.ST7_jrpl +ST7_jreq = _idaapi.ST7_jreq +ST7_jrne = _idaapi.ST7_jrne +ST7_jrc = _idaapi.ST7_jrc +ST7_jrnc = _idaapi.ST7_jrnc +ST7_jrult = _idaapi.ST7_jrult +ST7_jruge = _idaapi.ST7_jruge +ST7_jrugt = _idaapi.ST7_jrugt +ST7_jrule = _idaapi.ST7_jrule +ST7_ld = _idaapi.ST7_ld +ST7_mul = _idaapi.ST7_mul +ST7_neg = _idaapi.ST7_neg +ST7_nop = _idaapi.ST7_nop +ST7_or = _idaapi.ST7_or +ST7_pop = _idaapi.ST7_pop +ST7_push = _idaapi.ST7_push +ST7_rcf = _idaapi.ST7_rcf +ST7_ret = _idaapi.ST7_ret +ST7_rim = _idaapi.ST7_rim +ST7_rlc = _idaapi.ST7_rlc +ST7_rrc = _idaapi.ST7_rrc +ST7_rsp = _idaapi.ST7_rsp +ST7_sbc = _idaapi.ST7_sbc +ST7_scf = _idaapi.ST7_scf +ST7_sim = _idaapi.ST7_sim +ST7_sla = _idaapi.ST7_sla +ST7_sll = _idaapi.ST7_sll +ST7_srl = _idaapi.ST7_srl +ST7_sra = _idaapi.ST7_sra +ST7_sub = _idaapi.ST7_sub +ST7_swap = _idaapi.ST7_swap +ST7_tnz = _idaapi.ST7_tnz +ST7_trap = _idaapi.ST7_trap +ST7_wfi = _idaapi.ST7_wfi +ST7_xor = _idaapi.ST7_xor +ST7_last = _idaapi.ST7_last +IA64_null = _idaapi.IA64_null +IA64_0 = _idaapi.IA64_0 +IA64_1 = _idaapi.IA64_1 +IA64_a = _idaapi.IA64_a +IA64_acq = _idaapi.IA64_acq +IA64_add = _idaapi.IA64_add +IA64_addl = _idaapi.IA64_addl +IA64_addp4 = _idaapi.IA64_addp4 +IA64_adds = _idaapi.IA64_adds +IA64_alloc = _idaapi.IA64_alloc +IA64_and = _idaapi.IA64_and +IA64_andcm = _idaapi.IA64_andcm +IA64_b = _idaapi.IA64_b +IA64_bias = _idaapi.IA64_bias +IA64_br = _idaapi.IA64_br +IA64_break = _idaapi.IA64_break +IA64_brl = _idaapi.IA64_brl +IA64_brp = _idaapi.IA64_brp +IA64_bsw = _idaapi.IA64_bsw +IA64_c = _idaapi.IA64_c +IA64_call = _idaapi.IA64_call +IA64_cexit = _idaapi.IA64_cexit +IA64_chk = _idaapi.IA64_chk +IA64_cloop = _idaapi.IA64_cloop +IA64_clr = _idaapi.IA64_clr +IA64_clrrrb = _idaapi.IA64_clrrrb +IA64_cmp = _idaapi.IA64_cmp +IA64_cmp4 = _idaapi.IA64_cmp4 +IA64_cmpxchg1 = _idaapi.IA64_cmpxchg1 +IA64_cmpxchg2 = _idaapi.IA64_cmpxchg2 +IA64_cmpxchg4 = _idaapi.IA64_cmpxchg4 +IA64_cmpxchg8 = _idaapi.IA64_cmpxchg8 +IA64_cond = _idaapi.IA64_cond +IA64_cover = _idaapi.IA64_cover +IA64_ctop = _idaapi.IA64_ctop +IA64_czx1 = _idaapi.IA64_czx1 +IA64_czx2 = _idaapi.IA64_czx2 +IA64_d = _idaapi.IA64_d +IA64_dep = _idaapi.IA64_dep +IA64_dpnt = _idaapi.IA64_dpnt +IA64_dptk = _idaapi.IA64_dptk +IA64_e = _idaapi.IA64_e +IA64_epc = _idaapi.IA64_epc +IA64_eq = _idaapi.IA64_eq +IA64_excl = _idaapi.IA64_excl +IA64_exit = _idaapi.IA64_exit +IA64_exp = _idaapi.IA64_exp +IA64_extr = _idaapi.IA64_extr +IA64_f = _idaapi.IA64_f +IA64_fabs = _idaapi.IA64_fabs +IA64_fadd = _idaapi.IA64_fadd +IA64_famax = _idaapi.IA64_famax +IA64_famin = _idaapi.IA64_famin +IA64_fand = _idaapi.IA64_fand +IA64_fandcm = _idaapi.IA64_fandcm +IA64_fault = _idaapi.IA64_fault +IA64_fc = _idaapi.IA64_fc +IA64_fchkf = _idaapi.IA64_fchkf +IA64_fclass = _idaapi.IA64_fclass +IA64_fclrf = _idaapi.IA64_fclrf +IA64_fcmp = _idaapi.IA64_fcmp +IA64_fcvt = _idaapi.IA64_fcvt +IA64_fetchadd4 = _idaapi.IA64_fetchadd4 +IA64_fetchadd8 = _idaapi.IA64_fetchadd8 +IA64_few = _idaapi.IA64_few +IA64_fill = _idaapi.IA64_fill +IA64_flushrs = _idaapi.IA64_flushrs +IA64_fma = _idaapi.IA64_fma +IA64_fmax = _idaapi.IA64_fmax +IA64_fmerge = _idaapi.IA64_fmerge +IA64_fmin = _idaapi.IA64_fmin +IA64_fmix = _idaapi.IA64_fmix +IA64_fmpy = _idaapi.IA64_fmpy +IA64_fms = _idaapi.IA64_fms +IA64_fneg = _idaapi.IA64_fneg +IA64_fnegabs = _idaapi.IA64_fnegabs +IA64_fnma = _idaapi.IA64_fnma +IA64_fnmpy = _idaapi.IA64_fnmpy +IA64_fnorm = _idaapi.IA64_fnorm +IA64_for = _idaapi.IA64_for +IA64_fpabs = _idaapi.IA64_fpabs +IA64_fpack = _idaapi.IA64_fpack +IA64_fpamax = _idaapi.IA64_fpamax +IA64_fpamin = _idaapi.IA64_fpamin +IA64_fpcmp = _idaapi.IA64_fpcmp +IA64_fpcvt = _idaapi.IA64_fpcvt +IA64_fpma = _idaapi.IA64_fpma +IA64_fpmax = _idaapi.IA64_fpmax +IA64_fpmerge = _idaapi.IA64_fpmerge +IA64_fpmin = _idaapi.IA64_fpmin +IA64_fpmpy = _idaapi.IA64_fpmpy +IA64_fpms = _idaapi.IA64_fpms +IA64_fpneg = _idaapi.IA64_fpneg +IA64_fpnegabs = _idaapi.IA64_fpnegabs +IA64_fpnma = _idaapi.IA64_fpnma +IA64_fpnmpy = _idaapi.IA64_fpnmpy +IA64_fprcpa = _idaapi.IA64_fprcpa +IA64_fprsqrta = _idaapi.IA64_fprsqrta +IA64_frcpa = _idaapi.IA64_frcpa +IA64_frsqrta = _idaapi.IA64_frsqrta +IA64_fselect = _idaapi.IA64_fselect +IA64_fsetc = _idaapi.IA64_fsetc +IA64_fsub = _idaapi.IA64_fsub +IA64_fswap = _idaapi.IA64_fswap +IA64_fsxt = _idaapi.IA64_fsxt +IA64_fwb = _idaapi.IA64_fwb +IA64_fx = _idaapi.IA64_fx +IA64_fxor = _idaapi.IA64_fxor +IA64_fxu = _idaapi.IA64_fxu +IA64_g = _idaapi.IA64_g +IA64_ga = _idaapi.IA64_ga +IA64_ge = _idaapi.IA64_ge +IA64_getf = _idaapi.IA64_getf +IA64_geu = _idaapi.IA64_geu +IA64_gt = _idaapi.IA64_gt +IA64_gtu = _idaapi.IA64_gtu +IA64_h = _idaapi.IA64_h +IA64_hu = _idaapi.IA64_hu +IA64_i = _idaapi.IA64_i +IA64_ia = _idaapi.IA64_ia +IA64_imp = _idaapi.IA64_imp +IA64_invala = _idaapi.IA64_invala +IA64_itc = _idaapi.IA64_itc +IA64_itr = _idaapi.IA64_itr +IA64_l = _idaapi.IA64_l +IA64_ld1 = _idaapi.IA64_ld1 +IA64_ld2 = _idaapi.IA64_ld2 +IA64_ld4 = _idaapi.IA64_ld4 +IA64_ld8 = _idaapi.IA64_ld8 +IA64_ldf = _idaapi.IA64_ldf +IA64_ldf8 = _idaapi.IA64_ldf8 +IA64_ldfd = _idaapi.IA64_ldfd +IA64_ldfe = _idaapi.IA64_ldfe +IA64_ldfp8 = _idaapi.IA64_ldfp8 +IA64_ldfpd = _idaapi.IA64_ldfpd +IA64_ldfps = _idaapi.IA64_ldfps +IA64_ldfs = _idaapi.IA64_ldfs +IA64_le = _idaapi.IA64_le +IA64_leu = _idaapi.IA64_leu +IA64_lfetch = _idaapi.IA64_lfetch +IA64_loadrs = _idaapi.IA64_loadrs +IA64_loop = _idaapi.IA64_loop +IA64_lr = _idaapi.IA64_lr +IA64_lt = _idaapi.IA64_lt +IA64_ltu = _idaapi.IA64_ltu +IA64_lu = _idaapi.IA64_lu +IA64_m = _idaapi.IA64_m +IA64_many = _idaapi.IA64_many +IA64_mf = _idaapi.IA64_mf +IA64_mix1 = _idaapi.IA64_mix1 +IA64_mix2 = _idaapi.IA64_mix2 +IA64_mix4 = _idaapi.IA64_mix4 +IA64_mov = _idaapi.IA64_mov +IA64_movl = _idaapi.IA64_movl +IA64_mux1 = _idaapi.IA64_mux1 +IA64_mux2 = _idaapi.IA64_mux2 +IA64_nc = _idaapi.IA64_nc +IA64_ne = _idaapi.IA64_ne +IA64_neq = _idaapi.IA64_neq +IA64_nge = _idaapi.IA64_nge +IA64_ngt = _idaapi.IA64_ngt +IA64_nl = _idaapi.IA64_nl +IA64_nle = _idaapi.IA64_nle +IA64_nlt = _idaapi.IA64_nlt +IA64_nm = _idaapi.IA64_nm +IA64_nop = _idaapi.IA64_nop +IA64_nr = _idaapi.IA64_nr +IA64_ns = _idaapi.IA64_ns +IA64_nt1 = _idaapi.IA64_nt1 +IA64_nt2 = _idaapi.IA64_nt2 +IA64_nta = _idaapi.IA64_nta +IA64_nz = _idaapi.IA64_nz +IA64_or = _idaapi.IA64_or +IA64_orcm = _idaapi.IA64_orcm +IA64_ord = _idaapi.IA64_ord +IA64_pack2 = _idaapi.IA64_pack2 +IA64_pack4 = _idaapi.IA64_pack4 +IA64_padd1 = _idaapi.IA64_padd1 +IA64_padd2 = _idaapi.IA64_padd2 +IA64_padd4 = _idaapi.IA64_padd4 +IA64_pavg1 = _idaapi.IA64_pavg1 +IA64_pavg2 = _idaapi.IA64_pavg2 +IA64_pavgsub1 = _idaapi.IA64_pavgsub1 +IA64_pavgsub2 = _idaapi.IA64_pavgsub2 +IA64_pcmp1 = _idaapi.IA64_pcmp1 +IA64_pcmp2 = _idaapi.IA64_pcmp2 +IA64_pcmp4 = _idaapi.IA64_pcmp4 +IA64_pmax1 = _idaapi.IA64_pmax1 +IA64_pmax2 = _idaapi.IA64_pmax2 +IA64_pmin1 = _idaapi.IA64_pmin1 +IA64_pmin2 = _idaapi.IA64_pmin2 +IA64_pmpy2 = _idaapi.IA64_pmpy2 +IA64_pmpyshr2 = _idaapi.IA64_pmpyshr2 +IA64_popcnt = _idaapi.IA64_popcnt +IA64_pr = _idaapi.IA64_pr +IA64_probe = _idaapi.IA64_probe +IA64_psad1 = _idaapi.IA64_psad1 +IA64_pshl2 = _idaapi.IA64_pshl2 +IA64_pshl4 = _idaapi.IA64_pshl4 +IA64_pshladd2 = _idaapi.IA64_pshladd2 +IA64_pshr2 = _idaapi.IA64_pshr2 +IA64_pshr4 = _idaapi.IA64_pshr4 +IA64_pshradd2 = _idaapi.IA64_pshradd2 +IA64_psub1 = _idaapi.IA64_psub1 +IA64_psub2 = _idaapi.IA64_psub2 +IA64_psub4 = _idaapi.IA64_psub4 +IA64_ptc = _idaapi.IA64_ptc +IA64_ptr = _idaapi.IA64_ptr +IA64_r = _idaapi.IA64_r +IA64_raz = _idaapi.IA64_raz +IA64_rel = _idaapi.IA64_rel +IA64_ret = _idaapi.IA64_ret +IA64_rfi = _idaapi.IA64_rfi +IA64_rsm = _idaapi.IA64_rsm +IA64_rum = _idaapi.IA64_rum +IA64_rw = _idaapi.IA64_rw +IA64_s = _idaapi.IA64_s +IA64_s0 = _idaapi.IA64_s0 +IA64_s1 = _idaapi.IA64_s1 +IA64_s2 = _idaapi.IA64_s2 +IA64_s3 = _idaapi.IA64_s3 +IA64_sa = _idaapi.IA64_sa +IA64_se = _idaapi.IA64_se +IA64_setf = _idaapi.IA64_setf +IA64_shl = _idaapi.IA64_shl +IA64_shladd = _idaapi.IA64_shladd +IA64_shladdp4 = _idaapi.IA64_shladdp4 +IA64_shr = _idaapi.IA64_shr +IA64_shrp = _idaapi.IA64_shrp +IA64_sig = _idaapi.IA64_sig +IA64_spill = _idaapi.IA64_spill +IA64_spnt = _idaapi.IA64_spnt +IA64_sptk = _idaapi.IA64_sptk +IA64_srlz = _idaapi.IA64_srlz +IA64_ssm = _idaapi.IA64_ssm +IA64_sss = _idaapi.IA64_sss +IA64_st1 = _idaapi.IA64_st1 +IA64_st2 = _idaapi.IA64_st2 +IA64_st4 = _idaapi.IA64_st4 +IA64_st8 = _idaapi.IA64_st8 +IA64_stf = _idaapi.IA64_stf +IA64_stf8 = _idaapi.IA64_stf8 +IA64_stfd = _idaapi.IA64_stfd +IA64_stfe = _idaapi.IA64_stfe +IA64_stfs = _idaapi.IA64_stfs +IA64_sub = _idaapi.IA64_sub +IA64_sum = _idaapi.IA64_sum +IA64_sxt1 = _idaapi.IA64_sxt1 +IA64_sxt2 = _idaapi.IA64_sxt2 +IA64_sxt4 = _idaapi.IA64_sxt4 +IA64_sync = _idaapi.IA64_sync +IA64_tak = _idaapi.IA64_tak +IA64_tbit = _idaapi.IA64_tbit +IA64_thash = _idaapi.IA64_thash +IA64_tnat = _idaapi.IA64_tnat +IA64_tpa = _idaapi.IA64_tpa +IA64_trunc = _idaapi.IA64_trunc +IA64_ttag = _idaapi.IA64_ttag +IA64_u = _idaapi.IA64_u +IA64_unc = _idaapi.IA64_unc +IA64_unord = _idaapi.IA64_unord +IA64_unpack1 = _idaapi.IA64_unpack1 +IA64_unpack2 = _idaapi.IA64_unpack2 +IA64_unpack4 = _idaapi.IA64_unpack4 +IA64_uss = _idaapi.IA64_uss +IA64_uus = _idaapi.IA64_uus +IA64_uuu = _idaapi.IA64_uuu +IA64_w = _idaapi.IA64_w +IA64_wexit = _idaapi.IA64_wexit +IA64_wtop = _idaapi.IA64_wtop +IA64_x = _idaapi.IA64_x +IA64_xchg1 = _idaapi.IA64_xchg1 +IA64_xchg2 = _idaapi.IA64_xchg2 +IA64_xchg4 = _idaapi.IA64_xchg4 +IA64_xchg8 = _idaapi.IA64_xchg8 +IA64_xf = _idaapi.IA64_xf +IA64_xma = _idaapi.IA64_xma +IA64_xmpy = _idaapi.IA64_xmpy +IA64_xor = _idaapi.IA64_xor +IA64_xuf = _idaapi.IA64_xuf +IA64_z = _idaapi.IA64_z +IA64_zxt1 = _idaapi.IA64_zxt1 +IA64_zxt2 = _idaapi.IA64_zxt2 +IA64_zxt4 = _idaapi.IA64_zxt4 +IA64_last = _idaapi.IA64_last +NET_null = _idaapi.NET_null +NET_add = _idaapi.NET_add +NET_add_ovf = _idaapi.NET_add_ovf +NET_add_ovf_un = _idaapi.NET_add_ovf_un +NET_and = _idaapi.NET_and +NET_ann_arg = _idaapi.NET_ann_arg +NET_ann_call = _idaapi.NET_ann_call +NET_ann_catch = _idaapi.NET_ann_catch +NET_ann_data = _idaapi.NET_ann_data +NET_ann_data_s = _idaapi.NET_ann_data_s +NET_ann_dead = _idaapi.NET_ann_dead +NET_ann_def = _idaapi.NET_ann_def +NET_ann_hoisted = _idaapi.NET_ann_hoisted +NET_ann_hoisted_call = _idaapi.NET_ann_hoisted_call +NET_ann_lab = _idaapi.NET_ann_lab +NET_ann_live = _idaapi.NET_ann_live +NET_ann_phi = _idaapi.NET_ann_phi +NET_ann_ref = _idaapi.NET_ann_ref +NET_ann_ref_s = _idaapi.NET_ann_ref_s +NET_arglist = _idaapi.NET_arglist +NET_beq = _idaapi.NET_beq +NET_beq_s = _idaapi.NET_beq_s +NET_bge = _idaapi.NET_bge +NET_bge_s = _idaapi.NET_bge_s +NET_bge_un = _idaapi.NET_bge_un +NET_bge_un_s = _idaapi.NET_bge_un_s +NET_bgt = _idaapi.NET_bgt +NET_bgt_s = _idaapi.NET_bgt_s +NET_bgt_un = _idaapi.NET_bgt_un +NET_bgt_un_s = _idaapi.NET_bgt_un_s +NET_ble = _idaapi.NET_ble +NET_ble_s = _idaapi.NET_ble_s +NET_ble_un = _idaapi.NET_ble_un +NET_ble_un_s = _idaapi.NET_ble_un_s +NET_blt = _idaapi.NET_blt +NET_blt_s = _idaapi.NET_blt_s +NET_blt_un = _idaapi.NET_blt_un +NET_blt_un_s = _idaapi.NET_blt_un_s +NET_bne_un = _idaapi.NET_bne_un +NET_bne_un_s = _idaapi.NET_bne_un_s +NET_box = _idaapi.NET_box +NET_br = _idaapi.NET_br +NET_br_s = _idaapi.NET_br_s +NET_break = _idaapi.NET_break +NET_brfalse = _idaapi.NET_brfalse +NET_brfalse_s = _idaapi.NET_brfalse_s +NET_brtrue = _idaapi.NET_brtrue +NET_brtrue_s = _idaapi.NET_brtrue_s +NET_call = _idaapi.NET_call +NET_calli = _idaapi.NET_calli +NET_callvirt = _idaapi.NET_callvirt +NET_castclass = _idaapi.NET_castclass +NET_ceq = _idaapi.NET_ceq +NET_cgt = _idaapi.NET_cgt +NET_cgt_un = _idaapi.NET_cgt_un +NET_ckfinite = _idaapi.NET_ckfinite +NET_clt = _idaapi.NET_clt +NET_clt_un = _idaapi.NET_clt_un +NET_conv_i = _idaapi.NET_conv_i +NET_conv_i1 = _idaapi.NET_conv_i1 +NET_conv_i2 = _idaapi.NET_conv_i2 +NET_conv_i4 = _idaapi.NET_conv_i4 +NET_conv_i8 = _idaapi.NET_conv_i8 +NET_conv_ovf_i = _idaapi.NET_conv_ovf_i +NET_conv_ovf_i1 = _idaapi.NET_conv_ovf_i1 +NET_conv_ovf_i1_un = _idaapi.NET_conv_ovf_i1_un +NET_conv_ovf_i2 = _idaapi.NET_conv_ovf_i2 +NET_conv_ovf_i2_un = _idaapi.NET_conv_ovf_i2_un +NET_conv_ovf_i4 = _idaapi.NET_conv_ovf_i4 +NET_conv_ovf_i4_un = _idaapi.NET_conv_ovf_i4_un +NET_conv_ovf_i8 = _idaapi.NET_conv_ovf_i8 +NET_conv_ovf_i8_un = _idaapi.NET_conv_ovf_i8_un +NET_conv_ovf_i_un = _idaapi.NET_conv_ovf_i_un +NET_conv_ovf_u = _idaapi.NET_conv_ovf_u +NET_conv_ovf_u1 = _idaapi.NET_conv_ovf_u1 +NET_conv_ovf_u1_un = _idaapi.NET_conv_ovf_u1_un +NET_conv_ovf_u2 = _idaapi.NET_conv_ovf_u2 +NET_conv_ovf_u2_un = _idaapi.NET_conv_ovf_u2_un +NET_conv_ovf_u4 = _idaapi.NET_conv_ovf_u4 +NET_conv_ovf_u4_un = _idaapi.NET_conv_ovf_u4_un +NET_conv_ovf_u8 = _idaapi.NET_conv_ovf_u8 +NET_conv_ovf_u8_un = _idaapi.NET_conv_ovf_u8_un +NET_conv_ovf_u_un = _idaapi.NET_conv_ovf_u_un +NET_conv_r4 = _idaapi.NET_conv_r4 +NET_conv_r8 = _idaapi.NET_conv_r8 +NET_conv_r_un = _idaapi.NET_conv_r_un +NET_conv_u = _idaapi.NET_conv_u +NET_conv_u1 = _idaapi.NET_conv_u1 +NET_conv_u2 = _idaapi.NET_conv_u2 +NET_conv_u4 = _idaapi.NET_conv_u4 +NET_conv_u8 = _idaapi.NET_conv_u8 +NET_cpblk = _idaapi.NET_cpblk +NET_cpobj = _idaapi.NET_cpobj +NET_div = _idaapi.NET_div +NET_div_un = _idaapi.NET_div_un +NET_dup = _idaapi.NET_dup +NET_endfilter = _idaapi.NET_endfilter +NET_endfinally = _idaapi.NET_endfinally +NET_initblk = _idaapi.NET_initblk +NET_initobj = _idaapi.NET_initobj +NET_isinst = _idaapi.NET_isinst +NET_jmp = _idaapi.NET_jmp +NET_ldarg = _idaapi.NET_ldarg +NET_ldarg_0 = _idaapi.NET_ldarg_0 +NET_ldarg_1 = _idaapi.NET_ldarg_1 +NET_ldarg_2 = _idaapi.NET_ldarg_2 +NET_ldarg_3 = _idaapi.NET_ldarg_3 +NET_ldarg_s = _idaapi.NET_ldarg_s +NET_ldarga = _idaapi.NET_ldarga +NET_ldarga_s = _idaapi.NET_ldarga_s +NET_ldc_i4 = _idaapi.NET_ldc_i4 +NET_ldc_i4_0 = _idaapi.NET_ldc_i4_0 +NET_ldc_i4_1 = _idaapi.NET_ldc_i4_1 +NET_ldc_i4_2 = _idaapi.NET_ldc_i4_2 +NET_ldc_i4_3 = _idaapi.NET_ldc_i4_3 +NET_ldc_i4_4 = _idaapi.NET_ldc_i4_4 +NET_ldc_i4_5 = _idaapi.NET_ldc_i4_5 +NET_ldc_i4_6 = _idaapi.NET_ldc_i4_6 +NET_ldc_i4_7 = _idaapi.NET_ldc_i4_7 +NET_ldc_i4_8 = _idaapi.NET_ldc_i4_8 +NET_ldc_i4_m1 = _idaapi.NET_ldc_i4_m1 +NET_ldc_i4_s = _idaapi.NET_ldc_i4_s +NET_ldc_i8 = _idaapi.NET_ldc_i8 +NET_ldc_r4 = _idaapi.NET_ldc_r4 +NET_ldc_r8 = _idaapi.NET_ldc_r8 +NET_ldelem_i = _idaapi.NET_ldelem_i +NET_ldelem_i1 = _idaapi.NET_ldelem_i1 +NET_ldelem_i2 = _idaapi.NET_ldelem_i2 +NET_ldelem_i4 = _idaapi.NET_ldelem_i4 +NET_ldelem_i8 = _idaapi.NET_ldelem_i8 +NET_ldelem_r4 = _idaapi.NET_ldelem_r4 +NET_ldelem_r8 = _idaapi.NET_ldelem_r8 +NET_ldelem_ref = _idaapi.NET_ldelem_ref +NET_ldelem_u1 = _idaapi.NET_ldelem_u1 +NET_ldelem_u2 = _idaapi.NET_ldelem_u2 +NET_ldelem_u4 = _idaapi.NET_ldelem_u4 +NET_ldelema = _idaapi.NET_ldelema +NET_ldfld = _idaapi.NET_ldfld +NET_ldflda = _idaapi.NET_ldflda +NET_ldftn = _idaapi.NET_ldftn +NET_ldind_i = _idaapi.NET_ldind_i +NET_ldind_i1 = _idaapi.NET_ldind_i1 +NET_ldind_i2 = _idaapi.NET_ldind_i2 +NET_ldind_i4 = _idaapi.NET_ldind_i4 +NET_ldind_i8 = _idaapi.NET_ldind_i8 +NET_ldind_r4 = _idaapi.NET_ldind_r4 +NET_ldind_r8 = _idaapi.NET_ldind_r8 +NET_ldind_ref = _idaapi.NET_ldind_ref +NET_ldind_u1 = _idaapi.NET_ldind_u1 +NET_ldind_u2 = _idaapi.NET_ldind_u2 +NET_ldind_u4 = _idaapi.NET_ldind_u4 +NET_ldlen = _idaapi.NET_ldlen +NET_ldloc = _idaapi.NET_ldloc +NET_ldloc_0 = _idaapi.NET_ldloc_0 +NET_ldloc_1 = _idaapi.NET_ldloc_1 +NET_ldloc_2 = _idaapi.NET_ldloc_2 +NET_ldloc_3 = _idaapi.NET_ldloc_3 +NET_ldloc_s = _idaapi.NET_ldloc_s +NET_ldloca = _idaapi.NET_ldloca +NET_ldloca_s = _idaapi.NET_ldloca_s +NET_ldnull = _idaapi.NET_ldnull +NET_ldobj = _idaapi.NET_ldobj +NET_ldsfld = _idaapi.NET_ldsfld +NET_ldsflda = _idaapi.NET_ldsflda +NET_ldstr = _idaapi.NET_ldstr +NET_ldtoken = _idaapi.NET_ldtoken +NET_ldvirtftn = _idaapi.NET_ldvirtftn +NET_leave = _idaapi.NET_leave +NET_leave_s = _idaapi.NET_leave_s +NET_localloc = _idaapi.NET_localloc +NET_mkrefany = _idaapi.NET_mkrefany +NET_mul = _idaapi.NET_mul +NET_mul_ovf = _idaapi.NET_mul_ovf +NET_mul_ovf_un = _idaapi.NET_mul_ovf_un +NET_neg = _idaapi.NET_neg +NET_newarr = _idaapi.NET_newarr +NET_newobj = _idaapi.NET_newobj +NET_nop = _idaapi.NET_nop +NET_not = _idaapi.NET_not +NET_or = _idaapi.NET_or +NET_pop = _idaapi.NET_pop +NET_refanytype = _idaapi.NET_refanytype +NET_refanyval = _idaapi.NET_refanyval +NET_rem = _idaapi.NET_rem +NET_rem_un = _idaapi.NET_rem_un +NET_ret = _idaapi.NET_ret +NET_rethrow = _idaapi.NET_rethrow +NET_shl = _idaapi.NET_shl +NET_shr = _idaapi.NET_shr +NET_shr_un = _idaapi.NET_shr_un +NET_sizeof = _idaapi.NET_sizeof +NET_starg = _idaapi.NET_starg +NET_starg_s = _idaapi.NET_starg_s +NET_stelem_i = _idaapi.NET_stelem_i +NET_stelem_i1 = _idaapi.NET_stelem_i1 +NET_stelem_i2 = _idaapi.NET_stelem_i2 +NET_stelem_i4 = _idaapi.NET_stelem_i4 +NET_stelem_i8 = _idaapi.NET_stelem_i8 +NET_stelem_r4 = _idaapi.NET_stelem_r4 +NET_stelem_r8 = _idaapi.NET_stelem_r8 +NET_stelem_ref = _idaapi.NET_stelem_ref +NET_stfld = _idaapi.NET_stfld +NET_stind_i = _idaapi.NET_stind_i +NET_stind_i1 = _idaapi.NET_stind_i1 +NET_stind_i2 = _idaapi.NET_stind_i2 +NET_stind_i4 = _idaapi.NET_stind_i4 +NET_stind_i8 = _idaapi.NET_stind_i8 +NET_stind_r4 = _idaapi.NET_stind_r4 +NET_stind_r8 = _idaapi.NET_stind_r8 +NET_stind_ref = _idaapi.NET_stind_ref +NET_stloc = _idaapi.NET_stloc +NET_stloc_0 = _idaapi.NET_stloc_0 +NET_stloc_1 = _idaapi.NET_stloc_1 +NET_stloc_2 = _idaapi.NET_stloc_2 +NET_stloc_3 = _idaapi.NET_stloc_3 +NET_stloc_s = _idaapi.NET_stloc_s +NET_stobj = _idaapi.NET_stobj +NET_stsfld = _idaapi.NET_stsfld +NET_sub = _idaapi.NET_sub +NET_sub_ovf = _idaapi.NET_sub_ovf +NET_sub_ovf_un = _idaapi.NET_sub_ovf_un +NET_switch = _idaapi.NET_switch +NET_tail_ = _idaapi.NET_tail_ +NET_throw = _idaapi.NET_throw +NET_unaligned_ = _idaapi.NET_unaligned_ +NET_unbox = _idaapi.NET_unbox +NET_volatile_ = _idaapi.NET_volatile_ +NET_xor = _idaapi.NET_xor +NET_ldelem = _idaapi.NET_ldelem +NET_stelem = _idaapi.NET_stelem +NET_unbox_any = _idaapi.NET_unbox_any +NET_constrained_ = _idaapi.NET_constrained_ +NET_no_ = _idaapi.NET_no_ +NET_readonly_ = _idaapi.NET_readonly_ +NET_last = _idaapi.NET_last +MC12_null = _idaapi.MC12_null +MC12_aba = _idaapi.MC12_aba +MC12_abx = _idaapi.MC12_abx +MC12_aby = _idaapi.MC12_aby +MC12_adca = _idaapi.MC12_adca +MC12_adcb = _idaapi.MC12_adcb +MC12_adda = _idaapi.MC12_adda +MC12_addb = _idaapi.MC12_addb +MC12_addd = _idaapi.MC12_addd +MC12_anda = _idaapi.MC12_anda +MC12_andb = _idaapi.MC12_andb +MC12_andcc = _idaapi.MC12_andcc +MC12_asl = _idaapi.MC12_asl +MC12_asla = _idaapi.MC12_asla +MC12_aslb = _idaapi.MC12_aslb +MC12_asld = _idaapi.MC12_asld +MC12_asr = _idaapi.MC12_asr +MC12_asra = _idaapi.MC12_asra +MC12_asrb = _idaapi.MC12_asrb +MC12_bcc = _idaapi.MC12_bcc +MC12_bclr = _idaapi.MC12_bclr +MC12_bcs = _idaapi.MC12_bcs +MC12_beq = _idaapi.MC12_beq +MC12_bge = _idaapi.MC12_bge +MC12_bgnd = _idaapi.MC12_bgnd +MC12_bgt = _idaapi.MC12_bgt +MC12_bhi = _idaapi.MC12_bhi +MC12_bhs = _idaapi.MC12_bhs +MC12_bita = _idaapi.MC12_bita +MC12_bitb = _idaapi.MC12_bitb +MC12_ble = _idaapi.MC12_ble +MC12_blo = _idaapi.MC12_blo +MC12_bls = _idaapi.MC12_bls +MC12_blt = _idaapi.MC12_blt +MC12_bmi = _idaapi.MC12_bmi +MC12_bne = _idaapi.MC12_bne +MC12_bpl = _idaapi.MC12_bpl +MC12_bra = _idaapi.MC12_bra +MC12_brclr = _idaapi.MC12_brclr +MC12_brn = _idaapi.MC12_brn +MC12_brset = _idaapi.MC12_brset +MC12_bset = _idaapi.MC12_bset +MC12_bsr = _idaapi.MC12_bsr +MC12_bvc = _idaapi.MC12_bvc +MC12_bvs = _idaapi.MC12_bvs +MC12_call = _idaapi.MC12_call +MC12_cba = _idaapi.MC12_cba +MC12_clc = _idaapi.MC12_clc +MC12_cli = _idaapi.MC12_cli +MC12_clr = _idaapi.MC12_clr +MC12_clra = _idaapi.MC12_clra +MC12_clrb = _idaapi.MC12_clrb +MC12_clv = _idaapi.MC12_clv +MC12_cmpa = _idaapi.MC12_cmpa +MC12_cmpb = _idaapi.MC12_cmpb +MC12_com = _idaapi.MC12_com +MC12_coma = _idaapi.MC12_coma +MC12_comb = _idaapi.MC12_comb +MC12_cpd = _idaapi.MC12_cpd +MC12_cps = _idaapi.MC12_cps +MC12_cpx = _idaapi.MC12_cpx +MC12_cpy = _idaapi.MC12_cpy +MC12_daa = _idaapi.MC12_daa +MC12_dbeq = _idaapi.MC12_dbeq +MC12_dbne = _idaapi.MC12_dbne +MC12_dec = _idaapi.MC12_dec +MC12_deca = _idaapi.MC12_deca +MC12_decb = _idaapi.MC12_decb +MC12_des = _idaapi.MC12_des +MC12_dex = _idaapi.MC12_dex +MC12_dey = _idaapi.MC12_dey +MC12_ediv = _idaapi.MC12_ediv +MC12_edivs = _idaapi.MC12_edivs +MC12_emacs = _idaapi.MC12_emacs +MC12_emaxd = _idaapi.MC12_emaxd +MC12_emaxm = _idaapi.MC12_emaxm +MC12_emind = _idaapi.MC12_emind +MC12_eminm = _idaapi.MC12_eminm +MC12_emul = _idaapi.MC12_emul +MC12_emuls = _idaapi.MC12_emuls +MC12_eora = _idaapi.MC12_eora +MC12_eorb = _idaapi.MC12_eorb +MC12_etbl = _idaapi.MC12_etbl +MC12_exg = _idaapi.MC12_exg +MC12_fdiv = _idaapi.MC12_fdiv +MC12_ibeq = _idaapi.MC12_ibeq +MC12_ibne = _idaapi.MC12_ibne +MC12_idiv = _idaapi.MC12_idiv +MC12_idivs = _idaapi.MC12_idivs +MC12_inc = _idaapi.MC12_inc +MC12_inca = _idaapi.MC12_inca +MC12_incb = _idaapi.MC12_incb +MC12_ins = _idaapi.MC12_ins +MC12_inx = _idaapi.MC12_inx +MC12_iny = _idaapi.MC12_iny +MC12_jmp = _idaapi.MC12_jmp +MC12_jsr = _idaapi.MC12_jsr +MC12_lbcc = _idaapi.MC12_lbcc +MC12_lbcs = _idaapi.MC12_lbcs +MC12_lbeq = _idaapi.MC12_lbeq +MC12_lbge = _idaapi.MC12_lbge +MC12_lbgt = _idaapi.MC12_lbgt +MC12_lbhi = _idaapi.MC12_lbhi +MC12_lbhs = _idaapi.MC12_lbhs +MC12_lble = _idaapi.MC12_lble +MC12_lblo = _idaapi.MC12_lblo +MC12_lbls = _idaapi.MC12_lbls +MC12_lblt = _idaapi.MC12_lblt +MC12_lbmi = _idaapi.MC12_lbmi +MC12_lbne = _idaapi.MC12_lbne +MC12_lbpl = _idaapi.MC12_lbpl +MC12_lbra = _idaapi.MC12_lbra +MC12_lbrn = _idaapi.MC12_lbrn +MC12_lbvc = _idaapi.MC12_lbvc +MC12_lbvs = _idaapi.MC12_lbvs +MC12_ldaa = _idaapi.MC12_ldaa +MC12_ldab = _idaapi.MC12_ldab +MC12_ldd = _idaapi.MC12_ldd +MC12_lds = _idaapi.MC12_lds +MC12_ldx = _idaapi.MC12_ldx +MC12_ldy = _idaapi.MC12_ldy +MC12_leas = _idaapi.MC12_leas +MC12_leax = _idaapi.MC12_leax +MC12_leay = _idaapi.MC12_leay +MC12_lsl = _idaapi.MC12_lsl +MC12_lsla = _idaapi.MC12_lsla +MC12_lslb = _idaapi.MC12_lslb +MC12_lsld = _idaapi.MC12_lsld +MC12_lsr = _idaapi.MC12_lsr +MC12_lsra = _idaapi.MC12_lsra +MC12_lsrb = _idaapi.MC12_lsrb +MC12_lsrd = _idaapi.MC12_lsrd +MC12_maxa = _idaapi.MC12_maxa +MC12_maxm = _idaapi.MC12_maxm +MC12_mem = _idaapi.MC12_mem +MC12_mina = _idaapi.MC12_mina +MC12_minm = _idaapi.MC12_minm +MC12_movb = _idaapi.MC12_movb +MC12_movw = _idaapi.MC12_movw +MC12_mul = _idaapi.MC12_mul +MC12_neg = _idaapi.MC12_neg +MC12_nega = _idaapi.MC12_nega +MC12_negb = _idaapi.MC12_negb +MC12_nop = _idaapi.MC12_nop +MC12_oraa = _idaapi.MC12_oraa +MC12_orab = _idaapi.MC12_orab +MC12_orcc = _idaapi.MC12_orcc +MC12_psha = _idaapi.MC12_psha +MC12_pshb = _idaapi.MC12_pshb +MC12_pshc = _idaapi.MC12_pshc +MC12_pshd = _idaapi.MC12_pshd +MC12_pshx = _idaapi.MC12_pshx +MC12_pshy = _idaapi.MC12_pshy +MC12_pula = _idaapi.MC12_pula +MC12_pulb = _idaapi.MC12_pulb +MC12_pulc = _idaapi.MC12_pulc +MC12_puld = _idaapi.MC12_puld +MC12_pulx = _idaapi.MC12_pulx +MC12_puly = _idaapi.MC12_puly +MC12_rev = _idaapi.MC12_rev +MC12_revw = _idaapi.MC12_revw +MC12_rol = _idaapi.MC12_rol +MC12_rola = _idaapi.MC12_rola +MC12_rolb = _idaapi.MC12_rolb +MC12_ror = _idaapi.MC12_ror +MC12_rora = _idaapi.MC12_rora +MC12_rorb = _idaapi.MC12_rorb +MC12_rtc = _idaapi.MC12_rtc +MC12_rti = _idaapi.MC12_rti +MC12_rts = _idaapi.MC12_rts +MC12_sba = _idaapi.MC12_sba +MC12_sbca = _idaapi.MC12_sbca +MC12_sbcb = _idaapi.MC12_sbcb +MC12_sec = _idaapi.MC12_sec +MC12_sei = _idaapi.MC12_sei +MC12_sev = _idaapi.MC12_sev +MC12_sex = _idaapi.MC12_sex +MC12_staa = _idaapi.MC12_staa +MC12_stab = _idaapi.MC12_stab +MC12_std = _idaapi.MC12_std +MC12_stop = _idaapi.MC12_stop +MC12_sts = _idaapi.MC12_sts +MC12_stx = _idaapi.MC12_stx +MC12_sty = _idaapi.MC12_sty +MC12_suba = _idaapi.MC12_suba +MC12_subb = _idaapi.MC12_subb +MC12_subd = _idaapi.MC12_subd +MC12_swi = _idaapi.MC12_swi +MC12_tab = _idaapi.MC12_tab +MC12_tap = _idaapi.MC12_tap +MC12_tba = _idaapi.MC12_tba +MC12_tbeq = _idaapi.MC12_tbeq +MC12_tbl = _idaapi.MC12_tbl +MC12_tbne = _idaapi.MC12_tbne +MC12_tfr = _idaapi.MC12_tfr +MC12_tpa = _idaapi.MC12_tpa +MC12_trap = _idaapi.MC12_trap +MC12_tst = _idaapi.MC12_tst +MC12_tsta = _idaapi.MC12_tsta +MC12_tstb = _idaapi.MC12_tstb +MC12_tsx = _idaapi.MC12_tsx +MC12_tsy = _idaapi.MC12_tsy +MC12_txs = _idaapi.MC12_txs +MC12_tys = _idaapi.MC12_tys +MC12_wai = _idaapi.MC12_wai +MC12_wav = _idaapi.MC12_wav +MC12_wavr = _idaapi.MC12_wavr +MC12_xgdx = _idaapi.MC12_xgdx +MC12_xgdy = _idaapi.MC12_xgdy +MC12_skip1 = _idaapi.MC12_skip1 +MC12_skip2 = _idaapi.MC12_skip2 +MC12X_addx = _idaapi.MC12X_addx +MC12X_addy = _idaapi.MC12X_addy +MC12X_aded = _idaapi.MC12X_aded +MC12X_adex = _idaapi.MC12X_adex +MC12X_adey = _idaapi.MC12X_adey +MC12X_andx = _idaapi.MC12X_andx +MC12X_andy = _idaapi.MC12X_andy +MC12X_aslw = _idaapi.MC12X_aslw +MC12X_aslx = _idaapi.MC12X_aslx +MC12X_asly = _idaapi.MC12X_asly +MC12X_asrw = _idaapi.MC12X_asrw +MC12X_asrx = _idaapi.MC12X_asrx +MC12X_asry = _idaapi.MC12X_asry +MC12X_bitx = _idaapi.MC12X_bitx +MC12X_bity = _idaapi.MC12X_bity +MC12X_btas = _idaapi.MC12X_btas +MC12X_clrw = _idaapi.MC12X_clrw +MC12X_clrx = _idaapi.MC12X_clrx +MC12X_clry = _idaapi.MC12X_clry +MC12X_comw = _idaapi.MC12X_comw +MC12X_comx = _idaapi.MC12X_comx +MC12X_comy = _idaapi.MC12X_comy +MC12X_cped = _idaapi.MC12X_cped +MC12X_cpes = _idaapi.MC12X_cpes +MC12X_cpex = _idaapi.MC12X_cpex +MC12X_cpey = _idaapi.MC12X_cpey +MC12X_decw = _idaapi.MC12X_decw +MC12X_decx = _idaapi.MC12X_decx +MC12X_decy = _idaapi.MC12X_decy +MC12X_eorx = _idaapi.MC12X_eorx +MC12X_eory = _idaapi.MC12X_eory +MC12X_gldaa = _idaapi.MC12X_gldaa +MC12X_gldab = _idaapi.MC12X_gldab +MC12X_gldd = _idaapi.MC12X_gldd +MC12X_glds = _idaapi.MC12X_glds +MC12X_gldx = _idaapi.MC12X_gldx +MC12X_gldy = _idaapi.MC12X_gldy +MC12X_gstaa = _idaapi.MC12X_gstaa +MC12X_gstab = _idaapi.MC12X_gstab +MC12X_gstd = _idaapi.MC12X_gstd +MC12X_gsts = _idaapi.MC12X_gsts +MC12X_gstx = _idaapi.MC12X_gstx +MC12X_gsty = _idaapi.MC12X_gsty +MC12X_incw = _idaapi.MC12X_incw +MC12X_incx = _idaapi.MC12X_incx +MC12X_incy = _idaapi.MC12X_incy +MC12X_lsrw = _idaapi.MC12X_lsrw +MC12X_lsrx = _idaapi.MC12X_lsrx +MC12X_lsry = _idaapi.MC12X_lsry +MC12X_negw = _idaapi.MC12X_negw +MC12X_negx = _idaapi.MC12X_negx +MC12X_negy = _idaapi.MC12X_negy +MC12X_orx = _idaapi.MC12X_orx +MC12X_ory = _idaapi.MC12X_ory +MC12X_pshcw = _idaapi.MC12X_pshcw +MC12X_pulcw = _idaapi.MC12X_pulcw +MC12X_rolw = _idaapi.MC12X_rolw +MC12X_rolx = _idaapi.MC12X_rolx +MC12X_roly = _idaapi.MC12X_roly +MC12X_rorw = _idaapi.MC12X_rorw +MC12X_rorx = _idaapi.MC12X_rorx +MC12X_rory = _idaapi.MC12X_rory +MC12X_sbed = _idaapi.MC12X_sbed +MC12X_sbex = _idaapi.MC12X_sbex +MC12X_sbey = _idaapi.MC12X_sbey +MC12X_subx = _idaapi.MC12X_subx +MC12X_suby = _idaapi.MC12X_suby +MC12X_tstw = _idaapi.MC12X_tstw +MC12X_tstx = _idaapi.MC12X_tstx +MC12X_tsty = _idaapi.MC12X_tsty +MC12X_sys = _idaapi.MC12X_sys +MC12XGATE_adc = _idaapi.MC12XGATE_adc +MC12XGATE_add = _idaapi.MC12XGATE_add +MC12XGATE_addh = _idaapi.MC12XGATE_addh +MC12XGATE_addl = _idaapi.MC12XGATE_addl +MC12XGATE_and = _idaapi.MC12XGATE_and +MC12XGATE_andh = _idaapi.MC12XGATE_andh +MC12XGATE_andl = _idaapi.MC12XGATE_andl +MC12XGATE_asr = _idaapi.MC12XGATE_asr +MC12XGATE_bcc = _idaapi.MC12XGATE_bcc +MC12XGATE_bcs = _idaapi.MC12XGATE_bcs +MC12XGATE_beq = _idaapi.MC12XGATE_beq +MC12XGATE_bfext = _idaapi.MC12XGATE_bfext +MC12XGATE_bffo = _idaapi.MC12XGATE_bffo +MC12XGATE_bfins = _idaapi.MC12XGATE_bfins +MC12XGATE_bfinsi = _idaapi.MC12XGATE_bfinsi +MC12XGATE_bfinsx = _idaapi.MC12XGATE_bfinsx +MC12XGATE_bge = _idaapi.MC12XGATE_bge +MC12XGATE_bgt = _idaapi.MC12XGATE_bgt +MC12XGATE_bhi = _idaapi.MC12XGATE_bhi +MC12XGATE_bhs = _idaapi.MC12XGATE_bhs +MC12XGATE_bith = _idaapi.MC12XGATE_bith +MC12XGATE_bitl = _idaapi.MC12XGATE_bitl +MC12XGATE_ble = _idaapi.MC12XGATE_ble +MC12XGATE_blo = _idaapi.MC12XGATE_blo +MC12XGATE_bls = _idaapi.MC12XGATE_bls +MC12XGATE_blt = _idaapi.MC12XGATE_blt +MC12XGATE_bmi = _idaapi.MC12XGATE_bmi +MC12XGATE_bne = _idaapi.MC12XGATE_bne +MC12XGATE_bpl = _idaapi.MC12XGATE_bpl +MC12XGATE_bra = _idaapi.MC12XGATE_bra +MC12XGATE_brk = _idaapi.MC12XGATE_brk +MC12XGATE_bvc = _idaapi.MC12XGATE_bvc +MC12XGATE_bvs = _idaapi.MC12XGATE_bvs +MC12XGATE_cmp = _idaapi.MC12XGATE_cmp +MC12XGATE_cmpl = _idaapi.MC12XGATE_cmpl +MC12XGATE_com = _idaapi.MC12XGATE_com +MC12XGATE_cpc = _idaapi.MC12XGATE_cpc +MC12XGATE_cpch = _idaapi.MC12XGATE_cpch +MC12XGATE_csem = _idaapi.MC12XGATE_csem +MC12XGATE_csl = _idaapi.MC12XGATE_csl +MC12XGATE_csr = _idaapi.MC12XGATE_csr +MC12XGATE_jal = _idaapi.MC12XGATE_jal +MC12XGATE_ldb = _idaapi.MC12XGATE_ldb +MC12XGATE_ldh = _idaapi.MC12XGATE_ldh +MC12XGATE_ldl = _idaapi.MC12XGATE_ldl +MC12XGATE_ldw = _idaapi.MC12XGATE_ldw +MC12XGATE_lsl = _idaapi.MC12XGATE_lsl +MC12XGATE_lsr = _idaapi.MC12XGATE_lsr +MC12XGATE_mov = _idaapi.MC12XGATE_mov +MC12XGATE_neg = _idaapi.MC12XGATE_neg +MC12XGATE_nop = _idaapi.MC12XGATE_nop +MC12XGATE_or = _idaapi.MC12XGATE_or +MC12XGATE_orh = _idaapi.MC12XGATE_orh +MC12XGATE_orl = _idaapi.MC12XGATE_orl +MC12XGATE_par = _idaapi.MC12XGATE_par +MC12XGATE_rol = _idaapi.MC12XGATE_rol +MC12XGATE_ror = _idaapi.MC12XGATE_ror +MC12XGATE_rts = _idaapi.MC12XGATE_rts +MC12XGATE_sbc = _idaapi.MC12XGATE_sbc +MC12XGATE_sex = _idaapi.MC12XGATE_sex +MC12XGATE_sif = _idaapi.MC12XGATE_sif +MC12XGATE_ssem = _idaapi.MC12XGATE_ssem +MC12XGATE_stb = _idaapi.MC12XGATE_stb +MC12XGATE_stw = _idaapi.MC12XGATE_stw +MC12XGATE_sub = _idaapi.MC12XGATE_sub +MC12XGATE_subh = _idaapi.MC12XGATE_subh +MC12XGATE_subl = _idaapi.MC12XGATE_subl +MC12XGATE_tfr = _idaapi.MC12XGATE_tfr +MC12XGATE_tst = _idaapi.MC12XGATE_tst +MC12XGATE_xnor = _idaapi.MC12XGATE_xnor +MC12XGATE_xnorh = _idaapi.MC12XGATE_xnorh +MC12XGATE_xnorl = _idaapi.MC12XGATE_xnorl +MC12XGATE_add16 = _idaapi.MC12XGATE_add16 +MC12XGATE_and16 = _idaapi.MC12XGATE_and16 +MC12XGATE_cmp16 = _idaapi.MC12XGATE_cmp16 +MC12XGATE_ldw16 = _idaapi.MC12XGATE_ldw16 +MC12XGATE_or16 = _idaapi.MC12XGATE_or16 +MC12XGATE_sub16 = _idaapi.MC12XGATE_sub16 +MC12XGATE_xnor16 = _idaapi.MC12XGATE_xnor16 +MC12_last = _idaapi.MC12_last +MC6816_null = _idaapi.MC6816_null +MC6816_ldaa = _idaapi.MC6816_ldaa +MC6816_ldab = _idaapi.MC6816_ldab +MC6816_ldd = _idaapi.MC6816_ldd +MC6816_lde = _idaapi.MC6816_lde +MC6816_lded = _idaapi.MC6816_lded +MC6816_movb = _idaapi.MC6816_movb +MC6816_movw = _idaapi.MC6816_movw +MC6816_staa = _idaapi.MC6816_staa +MC6816_stab = _idaapi.MC6816_stab +MC6816_std = _idaapi.MC6816_std +MC6816_ste = _idaapi.MC6816_ste +MC6816_sted = _idaapi.MC6816_sted +MC6816_tab = _idaapi.MC6816_tab +MC6816_tba = _idaapi.MC6816_tba +MC6816_tde = _idaapi.MC6816_tde +MC6816_ted = _idaapi.MC6816_ted +MC6816_xgab = _idaapi.MC6816_xgab +MC6816_xgde = _idaapi.MC6816_xgde +MC6816_aba = _idaapi.MC6816_aba +MC6816_adca = _idaapi.MC6816_adca +MC6816_adcb = _idaapi.MC6816_adcb +MC6816_adcd = _idaapi.MC6816_adcd +MC6816_adce = _idaapi.MC6816_adce +MC6816_adda = _idaapi.MC6816_adda +MC6816_addb = _idaapi.MC6816_addb +MC6816_addd = _idaapi.MC6816_addd +MC6816_adde = _idaapi.MC6816_adde +MC6816_ade = _idaapi.MC6816_ade +MC6816_sba = _idaapi.MC6816_sba +MC6816_sbca = _idaapi.MC6816_sbca +MC6816_sbcb = _idaapi.MC6816_sbcb +MC6816_sbcd = _idaapi.MC6816_sbcd +MC6816_sbce = _idaapi.MC6816_sbce +MC6816_sde = _idaapi.MC6816_sde +MC6816_suba = _idaapi.MC6816_suba +MC6816_subb = _idaapi.MC6816_subb +MC6816_subd = _idaapi.MC6816_subd +MC6816_sube = _idaapi.MC6816_sube +MC6816_daa = _idaapi.MC6816_daa +MC6816_sxt = _idaapi.MC6816_sxt +MC6816_cba = _idaapi.MC6816_cba +MC6816_cmpa = _idaapi.MC6816_cmpa +MC6816_cmpb = _idaapi.MC6816_cmpb +MC6816_cpd = _idaapi.MC6816_cpd +MC6816_cpe = _idaapi.MC6816_cpe +MC6816_tst = _idaapi.MC6816_tst +MC6816_tsta = _idaapi.MC6816_tsta +MC6816_tstb = _idaapi.MC6816_tstb +MC6816_tstd = _idaapi.MC6816_tstd +MC6816_tste = _idaapi.MC6816_tste +MC6816_tstw = _idaapi.MC6816_tstw +MC6816_ediv = _idaapi.MC6816_ediv +MC6816_edivs = _idaapi.MC6816_edivs +MC6816_emul = _idaapi.MC6816_emul +MC6816_emuls = _idaapi.MC6816_emuls +MC6816_fdiv = _idaapi.MC6816_fdiv +MC6816_fmuls = _idaapi.MC6816_fmuls +MC6816_idiv = _idaapi.MC6816_idiv +MC6816_mul = _idaapi.MC6816_mul +MC6816_dec = _idaapi.MC6816_dec +MC6816_deca = _idaapi.MC6816_deca +MC6816_decb = _idaapi.MC6816_decb +MC6816_decw = _idaapi.MC6816_decw +MC6816_inc = _idaapi.MC6816_inc +MC6816_inca = _idaapi.MC6816_inca +MC6816_incb = _idaapi.MC6816_incb +MC6816_incw = _idaapi.MC6816_incw +MC6816_clr = _idaapi.MC6816_clr +MC6816_clra = _idaapi.MC6816_clra +MC6816_clrb = _idaapi.MC6816_clrb +MC6816_clrd = _idaapi.MC6816_clrd +MC6816_clre = _idaapi.MC6816_clre +MC6816_clrw = _idaapi.MC6816_clrw +MC6816_com = _idaapi.MC6816_com +MC6816_coma = _idaapi.MC6816_coma +MC6816_comb = _idaapi.MC6816_comb +MC6816_comd = _idaapi.MC6816_comd +MC6816_come = _idaapi.MC6816_come +MC6816_comw = _idaapi.MC6816_comw +MC6816_neg = _idaapi.MC6816_neg +MC6816_nega = _idaapi.MC6816_nega +MC6816_negb = _idaapi.MC6816_negb +MC6816_negd = _idaapi.MC6816_negd +MC6816_nege = _idaapi.MC6816_nege +MC6816_negw = _idaapi.MC6816_negw +MC6816_anda = _idaapi.MC6816_anda +MC6816_andb = _idaapi.MC6816_andb +MC6816_andd = _idaapi.MC6816_andd +MC6816_ande = _idaapi.MC6816_ande +MC6816_eora = _idaapi.MC6816_eora +MC6816_eorb = _idaapi.MC6816_eorb +MC6816_eord = _idaapi.MC6816_eord +MC6816_eore = _idaapi.MC6816_eore +MC6816_oraa = _idaapi.MC6816_oraa +MC6816_orab = _idaapi.MC6816_orab +MC6816_ord = _idaapi.MC6816_ord +MC6816_ore = _idaapi.MC6816_ore +MC6816_bita = _idaapi.MC6816_bita +MC6816_bitb = _idaapi.MC6816_bitb +MC6816_bclr = _idaapi.MC6816_bclr +MC6816_bclrw = _idaapi.MC6816_bclrw +MC6816_bset = _idaapi.MC6816_bset +MC6816_bsetw = _idaapi.MC6816_bsetw +MC6816_lsr = _idaapi.MC6816_lsr +MC6816_lsra = _idaapi.MC6816_lsra +MC6816_lsrb = _idaapi.MC6816_lsrb +MC6816_lsrd = _idaapi.MC6816_lsrd +MC6816_lsre = _idaapi.MC6816_lsre +MC6816_lsrw = _idaapi.MC6816_lsrw +MC6816_asl = _idaapi.MC6816_asl +MC6816_asla = _idaapi.MC6816_asla +MC6816_aslb = _idaapi.MC6816_aslb +MC6816_asld = _idaapi.MC6816_asld +MC6816_asle = _idaapi.MC6816_asle +MC6816_aslw = _idaapi.MC6816_aslw +MC6816_asr = _idaapi.MC6816_asr +MC6816_asra = _idaapi.MC6816_asra +MC6816_asrb = _idaapi.MC6816_asrb +MC6816_asrd = _idaapi.MC6816_asrd +MC6816_asre = _idaapi.MC6816_asre +MC6816_asrw = _idaapi.MC6816_asrw +MC6816_rol = _idaapi.MC6816_rol +MC6816_rola = _idaapi.MC6816_rola +MC6816_rolb = _idaapi.MC6816_rolb +MC6816_rold = _idaapi.MC6816_rold +MC6816_role = _idaapi.MC6816_role +MC6816_rolw = _idaapi.MC6816_rolw +MC6816_ror = _idaapi.MC6816_ror +MC6816_rora = _idaapi.MC6816_rora +MC6816_rorb = _idaapi.MC6816_rorb +MC6816_rord = _idaapi.MC6816_rord +MC6816_rore = _idaapi.MC6816_rore +MC6816_rorw = _idaapi.MC6816_rorw +MC6816_bra = _idaapi.MC6816_bra +MC6816_brn = _idaapi.MC6816_brn +MC6816_bcc = _idaapi.MC6816_bcc +MC6816_bcs = _idaapi.MC6816_bcs +MC6816_beq = _idaapi.MC6816_beq +MC6816_bmi = _idaapi.MC6816_bmi +MC6816_bne = _idaapi.MC6816_bne +MC6816_bpl = _idaapi.MC6816_bpl +MC6816_bvc = _idaapi.MC6816_bvc +MC6816_bvs = _idaapi.MC6816_bvs +MC6816_bhi = _idaapi.MC6816_bhi +MC6816_bls = _idaapi.MC6816_bls +MC6816_bge = _idaapi.MC6816_bge +MC6816_bgt = _idaapi.MC6816_bgt +MC6816_ble = _idaapi.MC6816_ble +MC6816_blt = _idaapi.MC6816_blt +MC6816_lbra = _idaapi.MC6816_lbra +MC6816_lbrn = _idaapi.MC6816_lbrn +MC6816_lbcc = _idaapi.MC6816_lbcc +MC6816_lbcs = _idaapi.MC6816_lbcs +MC6816_lbeq = _idaapi.MC6816_lbeq +MC6816_lbev = _idaapi.MC6816_lbev +MC6816_lbmi = _idaapi.MC6816_lbmi +MC6816_lbmv = _idaapi.MC6816_lbmv +MC6816_lbne = _idaapi.MC6816_lbne +MC6816_lbpl = _idaapi.MC6816_lbpl +MC6816_lbvc = _idaapi.MC6816_lbvc +MC6816_lbvs = _idaapi.MC6816_lbvs +MC6816_lbhi = _idaapi.MC6816_lbhi +MC6816_lbls = _idaapi.MC6816_lbls +MC6816_lbge = _idaapi.MC6816_lbge +MC6816_lbgt = _idaapi.MC6816_lbgt +MC6816_lble = _idaapi.MC6816_lble +MC6816_lblt = _idaapi.MC6816_lblt +MC6816_brclr = _idaapi.MC6816_brclr +MC6816_brset = _idaapi.MC6816_brset +MC6816_jmp = _idaapi.MC6816_jmp +MC6816_bsr = _idaapi.MC6816_bsr +MC6816_jsr = _idaapi.MC6816_jsr +MC6816_lbsr = _idaapi.MC6816_lbsr +MC6816_rts = _idaapi.MC6816_rts +MC6816_rti = _idaapi.MC6816_rti +MC6816_swi = _idaapi.MC6816_swi +MC6816_abx = _idaapi.MC6816_abx +MC6816_aby = _idaapi.MC6816_aby +MC6816_abz = _idaapi.MC6816_abz +MC6816_adx = _idaapi.MC6816_adx +MC6816_ady = _idaapi.MC6816_ady +MC6816_adz = _idaapi.MC6816_adz +MC6816_aex = _idaapi.MC6816_aex +MC6816_aey = _idaapi.MC6816_aey +MC6816_aez = _idaapi.MC6816_aez +MC6816_aix = _idaapi.MC6816_aix +MC6816_aiy = _idaapi.MC6816_aiy +MC6816_aiz = _idaapi.MC6816_aiz +MC6816_cpx = _idaapi.MC6816_cpx +MC6816_cpy = _idaapi.MC6816_cpy +MC6816_cpz = _idaapi.MC6816_cpz +MC6816_ldx = _idaapi.MC6816_ldx +MC6816_ldy = _idaapi.MC6816_ldy +MC6816_ldz = _idaapi.MC6816_ldz +MC6816_stx = _idaapi.MC6816_stx +MC6816_sty = _idaapi.MC6816_sty +MC6816_stz = _idaapi.MC6816_stz +MC6816_tsx = _idaapi.MC6816_tsx +MC6816_tsy = _idaapi.MC6816_tsy +MC6816_tsz = _idaapi.MC6816_tsz +MC6816_txs = _idaapi.MC6816_txs +MC6816_txy = _idaapi.MC6816_txy +MC6816_txz = _idaapi.MC6816_txz +MC6816_tys = _idaapi.MC6816_tys +MC6816_tyx = _idaapi.MC6816_tyx +MC6816_tyz = _idaapi.MC6816_tyz +MC6816_tzs = _idaapi.MC6816_tzs +MC6816_tzx = _idaapi.MC6816_tzx +MC6816_tzy = _idaapi.MC6816_tzy +MC6816_xgdx = _idaapi.MC6816_xgdx +MC6816_xgdy = _idaapi.MC6816_xgdy +MC6816_xgdz = _idaapi.MC6816_xgdz +MC6816_xgex = _idaapi.MC6816_xgex +MC6816_xgey = _idaapi.MC6816_xgey +MC6816_xgez = _idaapi.MC6816_xgez +MC6816_tbek = _idaapi.MC6816_tbek +MC6816_tbsk = _idaapi.MC6816_tbsk +MC6816_tbxk = _idaapi.MC6816_tbxk +MC6816_tbyk = _idaapi.MC6816_tbyk +MC6816_tbzk = _idaapi.MC6816_tbzk +MC6816_tekb = _idaapi.MC6816_tekb +MC6816_tskb = _idaapi.MC6816_tskb +MC6816_txkb = _idaapi.MC6816_txkb +MC6816_tykb = _idaapi.MC6816_tykb +MC6816_tzkb = _idaapi.MC6816_tzkb +MC6816_ais = _idaapi.MC6816_ais +MC6816_cps = _idaapi.MC6816_cps +MC6816_lds = _idaapi.MC6816_lds +MC6816_sts = _idaapi.MC6816_sts +MC6816_psha = _idaapi.MC6816_psha +MC6816_pshb = _idaapi.MC6816_pshb +MC6816_pshm = _idaapi.MC6816_pshm +MC6816_pula = _idaapi.MC6816_pula +MC6816_pulb = _idaapi.MC6816_pulb +MC6816_pulm = _idaapi.MC6816_pulm +MC6816_andp = _idaapi.MC6816_andp +MC6816_orp = _idaapi.MC6816_orp +MC6816_tap = _idaapi.MC6816_tap +MC6816_tdp = _idaapi.MC6816_tdp +MC6816_tpa = _idaapi.MC6816_tpa +MC6816_tpd = _idaapi.MC6816_tpd +MC6816_ace = _idaapi.MC6816_ace +MC6816_aced = _idaapi.MC6816_aced +MC6816_aslm = _idaapi.MC6816_aslm +MC6816_asrm = _idaapi.MC6816_asrm +MC6816_clrm = _idaapi.MC6816_clrm +MC6816_ldhi = _idaapi.MC6816_ldhi +MC6816_mac = _idaapi.MC6816_mac +MC6816_pshmac = _idaapi.MC6816_pshmac +MC6816_pulmac = _idaapi.MC6816_pulmac +MC6816_rmac = _idaapi.MC6816_rmac +MC6816_tdmsk = _idaapi.MC6816_tdmsk +MC6816_tedm = _idaapi.MC6816_tedm +MC6816_tem = _idaapi.MC6816_tem +MC6816_tmer = _idaapi.MC6816_tmer +MC6816_tmet = _idaapi.MC6816_tmet +MC6816_tmxed = _idaapi.MC6816_tmxed +MC6816_lpstop = _idaapi.MC6816_lpstop +MC6816_wai = _idaapi.MC6816_wai +MC6816_bgnd = _idaapi.MC6816_bgnd +MC6816_nop = _idaapi.MC6816_nop +MC6816_last = _idaapi.MC6816_last +I960_null = _idaapi.I960_null +I960_addc = _idaapi.I960_addc +I960_addi = _idaapi.I960_addi +I960_addo = _idaapi.I960_addo +I960_alterbit = _idaapi.I960_alterbit +I960_and = _idaapi.I960_and +I960_andnot = _idaapi.I960_andnot +I960_atadd = _idaapi.I960_atadd +I960_atmod = _idaapi.I960_atmod +I960_b = _idaapi.I960_b +I960_bal = _idaapi.I960_bal +I960_balx = _idaapi.I960_balx +I960_bbc = _idaapi.I960_bbc +I960_bbs = _idaapi.I960_bbs +I960_bno = _idaapi.I960_bno +I960_bg = _idaapi.I960_bg +I960_be = _idaapi.I960_be +I960_bge = _idaapi.I960_bge +I960_bl = _idaapi.I960_bl +I960_bne = _idaapi.I960_bne +I960_ble = _idaapi.I960_ble +I960_bo = _idaapi.I960_bo +I960_bx = _idaapi.I960_bx +I960_call = _idaapi.I960_call +I960_calls = _idaapi.I960_calls +I960_callx = _idaapi.I960_callx +I960_chkbit = _idaapi.I960_chkbit +I960_clrbit = _idaapi.I960_clrbit +I960_cmpdeci = _idaapi.I960_cmpdeci +I960_cmpdeco = _idaapi.I960_cmpdeco +I960_cmpi = _idaapi.I960_cmpi +I960_cmpibno = _idaapi.I960_cmpibno +I960_cmpibg = _idaapi.I960_cmpibg +I960_cmpibe = _idaapi.I960_cmpibe +I960_cmpibge = _idaapi.I960_cmpibge +I960_cmpibl = _idaapi.I960_cmpibl +I960_cmpibne = _idaapi.I960_cmpibne +I960_cmpible = _idaapi.I960_cmpible +I960_cmpibo = _idaapi.I960_cmpibo +I960_cmpinci = _idaapi.I960_cmpinci +I960_cmpinco = _idaapi.I960_cmpinco +I960_cmpo = _idaapi.I960_cmpo +I960_cmpobg = _idaapi.I960_cmpobg +I960_cmpobe = _idaapi.I960_cmpobe +I960_cmpobge = _idaapi.I960_cmpobge +I960_cmpobl = _idaapi.I960_cmpobl +I960_cmpobne = _idaapi.I960_cmpobne +I960_cmpoble = _idaapi.I960_cmpoble +I960_concmpi = _idaapi.I960_concmpi +I960_concmpo = _idaapi.I960_concmpo +I960_divi = _idaapi.I960_divi +I960_divo = _idaapi.I960_divo +I960_ediv = _idaapi.I960_ediv +I960_emul = _idaapi.I960_emul +I960_eshro = _idaapi.I960_eshro +I960_extract = _idaapi.I960_extract +I960_faultno = _idaapi.I960_faultno +I960_faultg = _idaapi.I960_faultg +I960_faulte = _idaapi.I960_faulte +I960_faultge = _idaapi.I960_faultge +I960_faultl = _idaapi.I960_faultl +I960_faultne = _idaapi.I960_faultne +I960_faultle = _idaapi.I960_faultle +I960_faulto = _idaapi.I960_faulto +I960_flushreg = _idaapi.I960_flushreg +I960_fmark = _idaapi.I960_fmark +I960_ld = _idaapi.I960_ld +I960_lda = _idaapi.I960_lda +I960_ldib = _idaapi.I960_ldib +I960_ldis = _idaapi.I960_ldis +I960_ldl = _idaapi.I960_ldl +I960_ldob = _idaapi.I960_ldob +I960_ldos = _idaapi.I960_ldos +I960_ldq = _idaapi.I960_ldq +I960_ldt = _idaapi.I960_ldt +I960_mark = _idaapi.I960_mark +I960_modac = _idaapi.I960_modac +I960_modi = _idaapi.I960_modi +I960_modify = _idaapi.I960_modify +I960_modpc = _idaapi.I960_modpc +I960_modtc = _idaapi.I960_modtc +I960_mov = _idaapi.I960_mov +I960_movl = _idaapi.I960_movl +I960_movq = _idaapi.I960_movq +I960_movt = _idaapi.I960_movt +I960_muli = _idaapi.I960_muli +I960_mulo = _idaapi.I960_mulo +I960_nand = _idaapi.I960_nand +I960_nor = _idaapi.I960_nor +I960_not = _idaapi.I960_not +I960_notand = _idaapi.I960_notand +I960_notbit = _idaapi.I960_notbit +I960_notor = _idaapi.I960_notor +I960_or = _idaapi.I960_or +I960_ornot = _idaapi.I960_ornot +I960_remi = _idaapi.I960_remi +I960_remo = _idaapi.I960_remo +I960_ret = _idaapi.I960_ret +I960_rotate = _idaapi.I960_rotate +I960_scanbit = _idaapi.I960_scanbit +I960_scanbyte = _idaapi.I960_scanbyte +I960_setbit = _idaapi.I960_setbit +I960_shli = _idaapi.I960_shli +I960_shlo = _idaapi.I960_shlo +I960_shrdi = _idaapi.I960_shrdi +I960_shri = _idaapi.I960_shri +I960_shro = _idaapi.I960_shro +I960_spanbit = _idaapi.I960_spanbit +I960_st = _idaapi.I960_st +I960_stib = _idaapi.I960_stib +I960_stis = _idaapi.I960_stis +I960_stl = _idaapi.I960_stl +I960_stob = _idaapi.I960_stob +I960_stos = _idaapi.I960_stos +I960_stq = _idaapi.I960_stq +I960_stt = _idaapi.I960_stt +I960_subc = _idaapi.I960_subc +I960_subi = _idaapi.I960_subi +I960_subo = _idaapi.I960_subo +I960_syncf = _idaapi.I960_syncf +I960_testno = _idaapi.I960_testno +I960_testg = _idaapi.I960_testg +I960_teste = _idaapi.I960_teste +I960_testge = _idaapi.I960_testge +I960_testl = _idaapi.I960_testl +I960_testne = _idaapi.I960_testne +I960_testle = _idaapi.I960_testle +I960_testo = _idaapi.I960_testo +I960_xnor = _idaapi.I960_xnor +I960_xor = _idaapi.I960_xor +I960_sdma = _idaapi.I960_sdma +I960_sysctl = _idaapi.I960_sysctl +I960_udma = _idaapi.I960_udma +I960_dcinva = _idaapi.I960_dcinva +I960_cmpob = _idaapi.I960_cmpob +I960_cmpib = _idaapi.I960_cmpib +I960_cmpos = _idaapi.I960_cmpos +I960_cmpis = _idaapi.I960_cmpis +I960_bswap = _idaapi.I960_bswap +I960_intdis = _idaapi.I960_intdis +I960_inten = _idaapi.I960_inten +I960_synmov = _idaapi.I960_synmov +I960_synmovl = _idaapi.I960_synmovl +I960_synmovq = _idaapi.I960_synmovq +I960_cmpstr = _idaapi.I960_cmpstr +I960_movqstr = _idaapi.I960_movqstr +I960_movstr = _idaapi.I960_movstr +I960_inspacc = _idaapi.I960_inspacc +I960_ldphy = _idaapi.I960_ldphy +I960_synld = _idaapi.I960_synld +I960_fill = _idaapi.I960_fill +I960_daddc = _idaapi.I960_daddc +I960_dsubc = _idaapi.I960_dsubc +I960_dmovt = _idaapi.I960_dmovt +I960_condrec = _idaapi.I960_condrec +I960_receive = _idaapi.I960_receive +I960_intctl = _idaapi.I960_intctl +I960_icctl = _idaapi.I960_icctl +I960_dcctl = _idaapi.I960_dcctl +I960_halt = _idaapi.I960_halt +I960_send = _idaapi.I960_send +I960_sendserv = _idaapi.I960_sendserv +I960_resumprcs = _idaapi.I960_resumprcs +I960_schedprcs = _idaapi.I960_schedprcs +I960_saveprcs = _idaapi.I960_saveprcs +I960_condwait = _idaapi.I960_condwait +I960_wait = _idaapi.I960_wait +I960_signal = _idaapi.I960_signal +I960_ldtime = _idaapi.I960_ldtime +I960_addono = _idaapi.I960_addono +I960_addino = _idaapi.I960_addino +I960_subono = _idaapi.I960_subono +I960_subino = _idaapi.I960_subino +I960_selno = _idaapi.I960_selno +I960_addog = _idaapi.I960_addog +I960_addig = _idaapi.I960_addig +I960_subog = _idaapi.I960_subog +I960_subig = _idaapi.I960_subig +I960_selg = _idaapi.I960_selg +I960_addoe = _idaapi.I960_addoe +I960_addie = _idaapi.I960_addie +I960_suboe = _idaapi.I960_suboe +I960_subie = _idaapi.I960_subie +I960_sele = _idaapi.I960_sele +I960_addoge = _idaapi.I960_addoge +I960_addige = _idaapi.I960_addige +I960_suboge = _idaapi.I960_suboge +I960_subige = _idaapi.I960_subige +I960_selge = _idaapi.I960_selge +I960_addol = _idaapi.I960_addol +I960_addil = _idaapi.I960_addil +I960_subol = _idaapi.I960_subol +I960_subil = _idaapi.I960_subil +I960_sell = _idaapi.I960_sell +I960_addone = _idaapi.I960_addone +I960_addine = _idaapi.I960_addine +I960_subone = _idaapi.I960_subone +I960_subine = _idaapi.I960_subine +I960_selne = _idaapi.I960_selne +I960_addole = _idaapi.I960_addole +I960_addile = _idaapi.I960_addile +I960_subole = _idaapi.I960_subole +I960_subile = _idaapi.I960_subile +I960_selle = _idaapi.I960_selle +I960_addoo = _idaapi.I960_addoo +I960_addio = _idaapi.I960_addio +I960_suboo = _idaapi.I960_suboo +I960_subio = _idaapi.I960_subio +I960_selo = _idaapi.I960_selo +I960_faddr = _idaapi.I960_faddr +I960_fp_first = _idaapi.I960_fp_first +I960_faddrl = _idaapi.I960_faddrl +I960_fatanr = _idaapi.I960_fatanr +I960_fatanrl = _idaapi.I960_fatanrl +I960_fclassr = _idaapi.I960_fclassr +I960_fclassrl = _idaapi.I960_fclassrl +I960_fcmpor = _idaapi.I960_fcmpor +I960_fcmporl = _idaapi.I960_fcmporl +I960_fcmpr = _idaapi.I960_fcmpr +I960_fcmprl = _idaapi.I960_fcmprl +I960_fcosr = _idaapi.I960_fcosr +I960_fcosrl = _idaapi.I960_fcosrl +I960_fcpyrsre = _idaapi.I960_fcpyrsre +I960_fcpysre = _idaapi.I960_fcpysre +I960_fcvtilr = _idaapi.I960_fcvtilr +I960_fcvtir = _idaapi.I960_fcvtir +I960_fcvtri = _idaapi.I960_fcvtri +I960_fcvtril = _idaapi.I960_fcvtril +I960_fcvtzri = _idaapi.I960_fcvtzri +I960_fcvtzril = _idaapi.I960_fcvtzril +I960_fdivr = _idaapi.I960_fdivr +I960_fdivrl = _idaapi.I960_fdivrl +I960_fexpr = _idaapi.I960_fexpr +I960_fexprl = _idaapi.I960_fexprl +I960_flogbnr = _idaapi.I960_flogbnr +I960_flogbnrl = _idaapi.I960_flogbnrl +I960_flogepr = _idaapi.I960_flogepr +I960_flogeprl = _idaapi.I960_flogeprl +I960_flogr = _idaapi.I960_flogr +I960_flogrl = _idaapi.I960_flogrl +I960_fmovr = _idaapi.I960_fmovr +I960_fmovre = _idaapi.I960_fmovre +I960_fmovrl = _idaapi.I960_fmovrl +I960_fmulr = _idaapi.I960_fmulr +I960_fmulrl = _idaapi.I960_fmulrl +I960_fremr = _idaapi.I960_fremr +I960_fremrl = _idaapi.I960_fremrl +I960_froundr = _idaapi.I960_froundr +I960_froundrl = _idaapi.I960_froundrl +I960_fscaler = _idaapi.I960_fscaler +I960_fscalerl = _idaapi.I960_fscalerl +I960_fsinr = _idaapi.I960_fsinr +I960_fsinrl = _idaapi.I960_fsinrl +I960_fsqrtr = _idaapi.I960_fsqrtr +I960_fsqrtrl = _idaapi.I960_fsqrtrl +I960_fsubr = _idaapi.I960_fsubr +I960_fsubrl = _idaapi.I960_fsubrl +I960_ftanr = _idaapi.I960_ftanr +I960_ftanrl = _idaapi.I960_ftanrl +I960_fp_last = _idaapi.I960_fp_last +I960_last = _idaapi.I960_last +F2MC_null = _idaapi.F2MC_null +F2MC_mov = _idaapi.F2MC_mov +F2MC_movn = _idaapi.F2MC_movn +F2MC_movx = _idaapi.F2MC_movx +F2MC_xch = _idaapi.F2MC_xch +F2MC_movw = _idaapi.F2MC_movw +F2MC_xchw = _idaapi.F2MC_xchw +F2MC_movl = _idaapi.F2MC_movl +F2MC_add = _idaapi.F2MC_add +F2MC_addc1 = _idaapi.F2MC_addc1 +F2MC_addc2 = _idaapi.F2MC_addc2 +F2MC_adddc = _idaapi.F2MC_adddc +F2MC_sub = _idaapi.F2MC_sub +F2MC_subc1 = _idaapi.F2MC_subc1 +F2MC_subc2 = _idaapi.F2MC_subc2 +F2MC_subdc = _idaapi.F2MC_subdc +F2MC_addw1 = _idaapi.F2MC_addw1 +F2MC_addw2 = _idaapi.F2MC_addw2 +F2MC_addcw = _idaapi.F2MC_addcw +F2MC_subw1 = _idaapi.F2MC_subw1 +F2MC_subw2 = _idaapi.F2MC_subw2 +F2MC_subcw = _idaapi.F2MC_subcw +F2MC_addl = _idaapi.F2MC_addl +F2MC_subl = _idaapi.F2MC_subl +F2MC_inc = _idaapi.F2MC_inc +F2MC_dec = _idaapi.F2MC_dec +F2MC_incw = _idaapi.F2MC_incw +F2MC_decw = _idaapi.F2MC_decw +F2MC_incl = _idaapi.F2MC_incl +F2MC_decl = _idaapi.F2MC_decl +F2MC_cmp1 = _idaapi.F2MC_cmp1 +F2MC_cmp2 = _idaapi.F2MC_cmp2 +F2MC_cmpw1 = _idaapi.F2MC_cmpw1 +F2MC_cmpw2 = _idaapi.F2MC_cmpw2 +F2MC_cmpl = _idaapi.F2MC_cmpl +F2MC_divu1 = _idaapi.F2MC_divu1 +F2MC_divu2 = _idaapi.F2MC_divu2 +F2MC_divuw = _idaapi.F2MC_divuw +F2MC_mulu1 = _idaapi.F2MC_mulu1 +F2MC_mulu2 = _idaapi.F2MC_mulu2 +F2MC_muluw1 = _idaapi.F2MC_muluw1 +F2MC_muluw2 = _idaapi.F2MC_muluw2 +F2MC_div1 = _idaapi.F2MC_div1 +F2MC_div2 = _idaapi.F2MC_div2 +F2MC_divw = _idaapi.F2MC_divw +F2MC_mul1 = _idaapi.F2MC_mul1 +F2MC_mul2 = _idaapi.F2MC_mul2 +F2MC_mulw1 = _idaapi.F2MC_mulw1 +F2MC_mulw2 = _idaapi.F2MC_mulw2 +F2MC_and = _idaapi.F2MC_and +F2MC_or = _idaapi.F2MC_or +F2MC_xor = _idaapi.F2MC_xor +F2MC_not = _idaapi.F2MC_not +F2MC_andw1 = _idaapi.F2MC_andw1 +F2MC_andw2 = _idaapi.F2MC_andw2 +F2MC_orw1 = _idaapi.F2MC_orw1 +F2MC_orw2 = _idaapi.F2MC_orw2 +F2MC_xorw1 = _idaapi.F2MC_xorw1 +F2MC_xorw2 = _idaapi.F2MC_xorw2 +F2MC_notw = _idaapi.F2MC_notw +F2MC_andl = _idaapi.F2MC_andl +F2MC_orl = _idaapi.F2MC_orl +F2MC_xorl = _idaapi.F2MC_xorl +F2MC_neg = _idaapi.F2MC_neg +F2MC_negw = _idaapi.F2MC_negw +F2MC_nrml = _idaapi.F2MC_nrml +F2MC_rorc = _idaapi.F2MC_rorc +F2MC_rolc = _idaapi.F2MC_rolc +F2MC_asr = _idaapi.F2MC_asr +F2MC_lsr = _idaapi.F2MC_lsr +F2MC_lsl = _idaapi.F2MC_lsl +F2MC_asrw1 = _idaapi.F2MC_asrw1 +F2MC_asrw2 = _idaapi.F2MC_asrw2 +F2MC_lsrw1 = _idaapi.F2MC_lsrw1 +F2MC_lsrw2 = _idaapi.F2MC_lsrw2 +F2MC_lslw1 = _idaapi.F2MC_lslw1 +F2MC_lslw2 = _idaapi.F2MC_lslw2 +F2MC_asrl = _idaapi.F2MC_asrl +F2MC_lsrl = _idaapi.F2MC_lsrl +F2MC_lsll = _idaapi.F2MC_lsll +F2MC_bz = _idaapi.F2MC_bz +F2MC_bnz = _idaapi.F2MC_bnz +F2MC_bc = _idaapi.F2MC_bc +F2MC_bnc = _idaapi.F2MC_bnc +F2MC_bn = _idaapi.F2MC_bn +F2MC_bp = _idaapi.F2MC_bp +F2MC_bv = _idaapi.F2MC_bv +F2MC_bnv = _idaapi.F2MC_bnv +F2MC_bt = _idaapi.F2MC_bt +F2MC_bnt = _idaapi.F2MC_bnt +F2MC_blt = _idaapi.F2MC_blt +F2MC_bge = _idaapi.F2MC_bge +F2MC_ble = _idaapi.F2MC_ble +F2MC_bgt = _idaapi.F2MC_bgt +F2MC_bls = _idaapi.F2MC_bls +F2MC_bhi = _idaapi.F2MC_bhi +F2MC_bra = _idaapi.F2MC_bra +F2MC_jmp = _idaapi.F2MC_jmp +F2MC_jmpp = _idaapi.F2MC_jmpp +F2MC_call = _idaapi.F2MC_call +F2MC_callv = _idaapi.F2MC_callv +F2MC_callp = _idaapi.F2MC_callp +F2MC_cbne = _idaapi.F2MC_cbne +F2MC_cwbne = _idaapi.F2MC_cwbne +F2MC_dbnz = _idaapi.F2MC_dbnz +F2MC_dwbnz = _idaapi.F2MC_dwbnz +F2MC_int = _idaapi.F2MC_int +F2MC_intp = _idaapi.F2MC_intp +F2MC_int9 = _idaapi.F2MC_int9 +F2MC_reti = _idaapi.F2MC_reti +F2MC_link = _idaapi.F2MC_link +F2MC_unlink = _idaapi.F2MC_unlink +F2MC_ret = _idaapi.F2MC_ret +F2MC_retp = _idaapi.F2MC_retp +F2MC_pushw = _idaapi.F2MC_pushw +F2MC_popw = _idaapi.F2MC_popw +F2MC_jctx = _idaapi.F2MC_jctx +F2MC_movea = _idaapi.F2MC_movea +F2MC_addsp = _idaapi.F2MC_addsp +F2MC_nop = _idaapi.F2MC_nop +F2MC_adb = _idaapi.F2MC_adb +F2MC_dtb = _idaapi.F2MC_dtb +F2MC_pcb = _idaapi.F2MC_pcb +F2MC_spb = _idaapi.F2MC_spb +F2MC_ncc = _idaapi.F2MC_ncc +F2MC_cmr = _idaapi.F2MC_cmr +F2MC_movb = _idaapi.F2MC_movb +F2MC_setb = _idaapi.F2MC_setb +F2MC_clrb = _idaapi.F2MC_clrb +F2MC_bbc = _idaapi.F2MC_bbc +F2MC_bbs = _idaapi.F2MC_bbs +F2MC_sbbs = _idaapi.F2MC_sbbs +F2MC_wbts = _idaapi.F2MC_wbts +F2MC_wbtc = _idaapi.F2MC_wbtc +F2MC_swap = _idaapi.F2MC_swap +F2MC_swapw = _idaapi.F2MC_swapw +F2MC_ext = _idaapi.F2MC_ext +F2MC_extw = _idaapi.F2MC_extw +F2MC_zext = _idaapi.F2MC_zext +F2MC_zextw = _idaapi.F2MC_zextw +F2MC_movsi = _idaapi.F2MC_movsi +F2MC_movsd = _idaapi.F2MC_movsd +F2MC_sceqi = _idaapi.F2MC_sceqi +F2MC_sceqd = _idaapi.F2MC_sceqd +F2MC_filsi = _idaapi.F2MC_filsi +F2MC_movswi = _idaapi.F2MC_movswi +F2MC_movswd = _idaapi.F2MC_movswd +F2MC_scweqi = _idaapi.F2MC_scweqi +F2MC_scweqd = _idaapi.F2MC_scweqd +F2MC_filswi = _idaapi.F2MC_filswi +F2MC_bz16 = _idaapi.F2MC_bz16 +F2MC_bnz16 = _idaapi.F2MC_bnz16 +F2MC_bc16 = _idaapi.F2MC_bc16 +F2MC_bnc16 = _idaapi.F2MC_bnc16 +F2MC_bn16 = _idaapi.F2MC_bn16 +F2MC_bp16 = _idaapi.F2MC_bp16 +F2MC_bv16 = _idaapi.F2MC_bv16 +F2MC_bnv16 = _idaapi.F2MC_bnv16 +F2MC_bt16 = _idaapi.F2MC_bt16 +F2MC_bnt16 = _idaapi.F2MC_bnt16 +F2MC_blt16 = _idaapi.F2MC_blt16 +F2MC_bge16 = _idaapi.F2MC_bge16 +F2MC_ble16 = _idaapi.F2MC_ble16 +F2MC_bgt16 = _idaapi.F2MC_bgt16 +F2MC_bls16 = _idaapi.F2MC_bls16 +F2MC_bhi16 = _idaapi.F2MC_bhi16 +F2MC_cbne16 = _idaapi.F2MC_cbne16 +F2MC_cwbne16 = _idaapi.F2MC_cwbne16 +F2MC_dbnz16 = _idaapi.F2MC_dbnz16 +F2MC_dwbnz16 = _idaapi.F2MC_dwbnz16 +F2MC_bbc16 = _idaapi.F2MC_bbc16 +F2MC_bbs16 = _idaapi.F2MC_bbs16 +F2MC_sbbs16 = _idaapi.F2MC_sbbs16 +F2MC_last = _idaapi.F2MC_last +TMS320C3X_null = _idaapi.TMS320C3X_null +TMS320C3X_ABSF = _idaapi.TMS320C3X_ABSF +TMS320C3X_ABSI = _idaapi.TMS320C3X_ABSI +TMS320C3X_ADDC = _idaapi.TMS320C3X_ADDC +TMS320C3X_ADDF = _idaapi.TMS320C3X_ADDF +TMS320C3X_ADDI = _idaapi.TMS320C3X_ADDI +TMS320C3X_AND = _idaapi.TMS320C3X_AND +TMS320C3X_ANDN = _idaapi.TMS320C3X_ANDN +TMS320C3X_ASH = _idaapi.TMS320C3X_ASH +TMS320C3X_CMPF = _idaapi.TMS320C3X_CMPF +TMS320C3X_CMPI = _idaapi.TMS320C3X_CMPI +TMS320C3X_FIX = _idaapi.TMS320C3X_FIX +TMS320C3X_FLOAT = _idaapi.TMS320C3X_FLOAT +TMS320C3X_IDLE = _idaapi.TMS320C3X_IDLE +TMS320C3X_IDLE2 = _idaapi.TMS320C3X_IDLE2 +TMS320C3X_LDE = _idaapi.TMS320C3X_LDE +TMS320C3X_LDF = _idaapi.TMS320C3X_LDF +TMS320C3X_LDFI = _idaapi.TMS320C3X_LDFI +TMS320C3X_LDI = _idaapi.TMS320C3X_LDI +TMS320C3X_LDII = _idaapi.TMS320C3X_LDII +TMS320C3X_LDM = _idaapi.TMS320C3X_LDM +TMS320C3X_LSH = _idaapi.TMS320C3X_LSH +TMS320C3X_MPYF = _idaapi.TMS320C3X_MPYF +TMS320C3X_MPYI = _idaapi.TMS320C3X_MPYI +TMS320C3X_NEGB = _idaapi.TMS320C3X_NEGB +TMS320C3X_NEGF = _idaapi.TMS320C3X_NEGF +TMS320C3X_NEGI = _idaapi.TMS320C3X_NEGI +TMS320C3X_NOP = _idaapi.TMS320C3X_NOP +TMS320C3X_NORM = _idaapi.TMS320C3X_NORM +TMS320C3X_NOT = _idaapi.TMS320C3X_NOT +TMS320C3X_POP = _idaapi.TMS320C3X_POP +TMS320C3X_POPF = _idaapi.TMS320C3X_POPF +TMS320C3X_PUSH = _idaapi.TMS320C3X_PUSH +TMS320C3X_PUSHF = _idaapi.TMS320C3X_PUSHF +TMS320C3X_OR = _idaapi.TMS320C3X_OR +TMS320C3X_LOPOWER = _idaapi.TMS320C3X_LOPOWER +TMS320C3X_MAXSPEED = _idaapi.TMS320C3X_MAXSPEED +TMS320C3X_RND = _idaapi.TMS320C3X_RND +TMS320C3X_ROL = _idaapi.TMS320C3X_ROL +TMS320C3X_ROLC = _idaapi.TMS320C3X_ROLC +TMS320C3X_ROR = _idaapi.TMS320C3X_ROR +TMS320C3X_RORC = _idaapi.TMS320C3X_RORC +TMS320C3X_RPTS = _idaapi.TMS320C3X_RPTS +TMS320C3X_STF = _idaapi.TMS320C3X_STF +TMS320C3X_STFI = _idaapi.TMS320C3X_STFI +TMS320C3X_STI = _idaapi.TMS320C3X_STI +TMS320C3X_STII = _idaapi.TMS320C3X_STII +TMS320C3X_SIGI = _idaapi.TMS320C3X_SIGI +TMS320C3X_SUBB = _idaapi.TMS320C3X_SUBB +TMS320C3X_SUBC = _idaapi.TMS320C3X_SUBC +TMS320C3X_SUBF = _idaapi.TMS320C3X_SUBF +TMS320C3X_SUBI = _idaapi.TMS320C3X_SUBI +TMS320C3X_SUBRB = _idaapi.TMS320C3X_SUBRB +TMS320C3X_SUBRF = _idaapi.TMS320C3X_SUBRF +TMS320C3X_SUBRI = _idaapi.TMS320C3X_SUBRI +TMS320C3X_TSTB = _idaapi.TMS320C3X_TSTB +TMS320C3X_XOR = _idaapi.TMS320C3X_XOR +TMS320C3X_IACK = _idaapi.TMS320C3X_IACK +TMS320C3X_ADDC3 = _idaapi.TMS320C3X_ADDC3 +TMS320C3X_ADDF3 = _idaapi.TMS320C3X_ADDF3 +TMS320C3X_ADDI3 = _idaapi.TMS320C3X_ADDI3 +TMS320C3X_AND3 = _idaapi.TMS320C3X_AND3 +TMS320C3X_ANDN3 = _idaapi.TMS320C3X_ANDN3 +TMS320C3X_ASH3 = _idaapi.TMS320C3X_ASH3 +TMS320C3X_CMPF3 = _idaapi.TMS320C3X_CMPF3 +TMS320C3X_CMPI3 = _idaapi.TMS320C3X_CMPI3 +TMS320C3X_LSH3 = _idaapi.TMS320C3X_LSH3 +TMS320C3X_MPYF3 = _idaapi.TMS320C3X_MPYF3 +TMS320C3X_MPYI3 = _idaapi.TMS320C3X_MPYI3 +TMS320C3X_OR3 = _idaapi.TMS320C3X_OR3 +TMS320C3X_SUBB3 = _idaapi.TMS320C3X_SUBB3 +TMS320C3X_SUBF3 = _idaapi.TMS320C3X_SUBF3 +TMS320C3X_SUBI3 = _idaapi.TMS320C3X_SUBI3 +TMS320C3X_TSTB3 = _idaapi.TMS320C3X_TSTB3 +TMS320C3X_XOR3 = _idaapi.TMS320C3X_XOR3 +TMS320C3X_LDFcond = _idaapi.TMS320C3X_LDFcond +TMS320C3X_LDIcond = _idaapi.TMS320C3X_LDIcond +TMS320C3X_BR = _idaapi.TMS320C3X_BR +TMS320C3X_BRD = _idaapi.TMS320C3X_BRD +TMS320C3X_CALL = _idaapi.TMS320C3X_CALL +TMS320C3X_RPTB = _idaapi.TMS320C3X_RPTB +TMS320C3X_SWI = _idaapi.TMS320C3X_SWI +TMS320C3X_Bcond = _idaapi.TMS320C3X_Bcond +TMS320C3X_DBcond = _idaapi.TMS320C3X_DBcond +TMS320C3X_CALLcond = _idaapi.TMS320C3X_CALLcond +TMS320C3X_TRAPcond = _idaapi.TMS320C3X_TRAPcond +TMS320C3X_RETIcond = _idaapi.TMS320C3X_RETIcond +TMS320C3X_RETScond = _idaapi.TMS320C3X_RETScond +TMS320C3X_RETIU = _idaapi.TMS320C3X_RETIU +TMS320C3X_RETSU = _idaapi.TMS320C3X_RETSU +TMS320C3X_NONE = _idaapi.TMS320C3X_NONE +TMS320C3X_MV_IDX = _idaapi.TMS320C3X_MV_IDX +TMS320C3X_last = _idaapi.TMS320C3X_last +TMS320C54_null = _idaapi.TMS320C54_null +TMS320C54_add1 = _idaapi.TMS320C54_add1 +TMS320C54_add2 = _idaapi.TMS320C54_add2 +TMS320C54_add3 = _idaapi.TMS320C54_add3 +TMS320C54_addc = _idaapi.TMS320C54_addc +TMS320C54_addm = _idaapi.TMS320C54_addm +TMS320C54_adds = _idaapi.TMS320C54_adds +TMS320C54_sub1 = _idaapi.TMS320C54_sub1 +TMS320C54_sub2 = _idaapi.TMS320C54_sub2 +TMS320C54_sub3 = _idaapi.TMS320C54_sub3 +TMS320C54_subb = _idaapi.TMS320C54_subb +TMS320C54_subc = _idaapi.TMS320C54_subc +TMS320C54_subs = _idaapi.TMS320C54_subs +TMS320C54_mpy2 = _idaapi.TMS320C54_mpy2 +TMS320C54_mpy3 = _idaapi.TMS320C54_mpy3 +TMS320C54_mpyr2 = _idaapi.TMS320C54_mpyr2 +TMS320C54_mpya = _idaapi.TMS320C54_mpya +TMS320C54_mpyu = _idaapi.TMS320C54_mpyu +TMS320C54_squr = _idaapi.TMS320C54_squr +TMS320C54_mac2 = _idaapi.TMS320C54_mac2 +TMS320C54_mac3 = _idaapi.TMS320C54_mac3 +TMS320C54_macr2 = _idaapi.TMS320C54_macr2 +TMS320C54_macr3 = _idaapi.TMS320C54_macr3 +TMS320C54_maca1 = _idaapi.TMS320C54_maca1 +TMS320C54_maca2 = _idaapi.TMS320C54_maca2 +TMS320C54_maca3 = _idaapi.TMS320C54_maca3 +TMS320C54_macar1 = _idaapi.TMS320C54_macar1 +TMS320C54_macar2 = _idaapi.TMS320C54_macar2 +TMS320C54_macar3 = _idaapi.TMS320C54_macar3 +TMS320C54_macd = _idaapi.TMS320C54_macd +TMS320C54_macp = _idaapi.TMS320C54_macp +TMS320C54_macsu = _idaapi.TMS320C54_macsu +TMS320C54_mas2 = _idaapi.TMS320C54_mas2 +TMS320C54_mas3 = _idaapi.TMS320C54_mas3 +TMS320C54_masr2 = _idaapi.TMS320C54_masr2 +TMS320C54_masr3 = _idaapi.TMS320C54_masr3 +TMS320C54_masa1 = _idaapi.TMS320C54_masa1 +TMS320C54_masa2 = _idaapi.TMS320C54_masa2 +TMS320C54_masa3 = _idaapi.TMS320C54_masa3 +TMS320C54_masar1 = _idaapi.TMS320C54_masar1 +TMS320C54_masar2 = _idaapi.TMS320C54_masar2 +TMS320C54_masar3 = _idaapi.TMS320C54_masar3 +TMS320C54_squra = _idaapi.TMS320C54_squra +TMS320C54_squrs = _idaapi.TMS320C54_squrs +TMS320C54_dadd2 = _idaapi.TMS320C54_dadd2 +TMS320C54_dadd3 = _idaapi.TMS320C54_dadd3 +TMS320C54_dadst = _idaapi.TMS320C54_dadst +TMS320C54_drsub = _idaapi.TMS320C54_drsub +TMS320C54_dsadt = _idaapi.TMS320C54_dsadt +TMS320C54_dsub = _idaapi.TMS320C54_dsub +TMS320C54_dsubt = _idaapi.TMS320C54_dsubt +TMS320C54_abdst = _idaapi.TMS320C54_abdst +TMS320C54_abs1 = _idaapi.TMS320C54_abs1 +TMS320C54_abs2 = _idaapi.TMS320C54_abs2 +TMS320C54_cmpl1 = _idaapi.TMS320C54_cmpl1 +TMS320C54_cmpl2 = _idaapi.TMS320C54_cmpl2 +TMS320C54_delay = _idaapi.TMS320C54_delay +TMS320C54_exp = _idaapi.TMS320C54_exp +TMS320C54_firs = _idaapi.TMS320C54_firs +TMS320C54_lms = _idaapi.TMS320C54_lms +TMS320C54_max = _idaapi.TMS320C54_max +TMS320C54_min = _idaapi.TMS320C54_min +TMS320C54_neg1 = _idaapi.TMS320C54_neg1 +TMS320C54_neg2 = _idaapi.TMS320C54_neg2 +TMS320C54_norm1 = _idaapi.TMS320C54_norm1 +TMS320C54_norm2 = _idaapi.TMS320C54_norm2 +TMS320C54_poly = _idaapi.TMS320C54_poly +TMS320C54_rnd1 = _idaapi.TMS320C54_rnd1 +TMS320C54_rnd2 = _idaapi.TMS320C54_rnd2 +TMS320C54_sat = _idaapi.TMS320C54_sat +TMS320C54_sqdst = _idaapi.TMS320C54_sqdst +TMS320C54_and1 = _idaapi.TMS320C54_and1 +TMS320C54_and2 = _idaapi.TMS320C54_and2 +TMS320C54_and3 = _idaapi.TMS320C54_and3 +TMS320C54_andm = _idaapi.TMS320C54_andm +TMS320C54_or1 = _idaapi.TMS320C54_or1 +TMS320C54_or2 = _idaapi.TMS320C54_or2 +TMS320C54_or3 = _idaapi.TMS320C54_or3 +TMS320C54_orm = _idaapi.TMS320C54_orm +TMS320C54_xor1 = _idaapi.TMS320C54_xor1 +TMS320C54_xor2 = _idaapi.TMS320C54_xor2 +TMS320C54_xor3 = _idaapi.TMS320C54_xor3 +TMS320C54_xorm = _idaapi.TMS320C54_xorm +TMS320C54_rol = _idaapi.TMS320C54_rol +TMS320C54_roltc = _idaapi.TMS320C54_roltc +TMS320C54_ror = _idaapi.TMS320C54_ror +TMS320C54_sfta2 = _idaapi.TMS320C54_sfta2 +TMS320C54_sfta3 = _idaapi.TMS320C54_sfta3 +TMS320C54_sftc = _idaapi.TMS320C54_sftc +TMS320C54_sftl2 = _idaapi.TMS320C54_sftl2 +TMS320C54_sftl3 = _idaapi.TMS320C54_sftl3 +TMS320C54_bit = _idaapi.TMS320C54_bit +TMS320C54_bitf = _idaapi.TMS320C54_bitf +TMS320C54_bitt = _idaapi.TMS320C54_bitt +TMS320C54_cmpm = _idaapi.TMS320C54_cmpm +TMS320C54_cmpr = _idaapi.TMS320C54_cmpr +TMS320C54_b = _idaapi.TMS320C54_b +TMS320C54_bd = _idaapi.TMS320C54_bd +TMS320C54_bacc = _idaapi.TMS320C54_bacc +TMS320C54_baccd = _idaapi.TMS320C54_baccd +TMS320C54_banz = _idaapi.TMS320C54_banz +TMS320C54_banzd = _idaapi.TMS320C54_banzd +TMS320C54_bc2 = _idaapi.TMS320C54_bc2 +TMS320C54_bc3 = _idaapi.TMS320C54_bc3 +TMS320C54_bcd2 = _idaapi.TMS320C54_bcd2 +TMS320C54_bcd3 = _idaapi.TMS320C54_bcd3 +TMS320C54_fb = _idaapi.TMS320C54_fb +TMS320C54_fbd = _idaapi.TMS320C54_fbd +TMS320C54_fbacc = _idaapi.TMS320C54_fbacc +TMS320C54_fbaccd = _idaapi.TMS320C54_fbaccd +TMS320C54_cala = _idaapi.TMS320C54_cala +TMS320C54_calad = _idaapi.TMS320C54_calad +TMS320C54_call = _idaapi.TMS320C54_call +TMS320C54_calld = _idaapi.TMS320C54_calld +TMS320C54_cc2 = _idaapi.TMS320C54_cc2 +TMS320C54_cc3 = _idaapi.TMS320C54_cc3 +TMS320C54_ccd2 = _idaapi.TMS320C54_ccd2 +TMS320C54_ccd3 = _idaapi.TMS320C54_ccd3 +TMS320C54_fcala = _idaapi.TMS320C54_fcala +TMS320C54_fcalad = _idaapi.TMS320C54_fcalad +TMS320C54_fcall = _idaapi.TMS320C54_fcall +TMS320C54_fcalld = _idaapi.TMS320C54_fcalld +TMS320C54_intr = _idaapi.TMS320C54_intr +TMS320C54_trap = _idaapi.TMS320C54_trap +TMS320C54_fret = _idaapi.TMS320C54_fret +TMS320C54_fretd = _idaapi.TMS320C54_fretd +TMS320C54_frete = _idaapi.TMS320C54_frete +TMS320C54_freted = _idaapi.TMS320C54_freted +TMS320C54_rc1 = _idaapi.TMS320C54_rc1 +TMS320C54_rc2 = _idaapi.TMS320C54_rc2 +TMS320C54_rc3 = _idaapi.TMS320C54_rc3 +TMS320C54_rcd1 = _idaapi.TMS320C54_rcd1 +TMS320C54_rcd2 = _idaapi.TMS320C54_rcd2 +TMS320C54_rcd3 = _idaapi.TMS320C54_rcd3 +TMS320C54_ret = _idaapi.TMS320C54_ret +TMS320C54_retd = _idaapi.TMS320C54_retd +TMS320C54_rete = _idaapi.TMS320C54_rete +TMS320C54_reted = _idaapi.TMS320C54_reted +TMS320C54_retf = _idaapi.TMS320C54_retf +TMS320C54_retfd = _idaapi.TMS320C54_retfd +TMS320C54_rpt = _idaapi.TMS320C54_rpt +TMS320C54_rptb = _idaapi.TMS320C54_rptb +TMS320C54_rptbd = _idaapi.TMS320C54_rptbd +TMS320C54_rptz = _idaapi.TMS320C54_rptz +TMS320C54_frame = _idaapi.TMS320C54_frame +TMS320C54_popd = _idaapi.TMS320C54_popd +TMS320C54_popm = _idaapi.TMS320C54_popm +TMS320C54_pshd = _idaapi.TMS320C54_pshd +TMS320C54_pshm = _idaapi.TMS320C54_pshm +TMS320C54_idle = _idaapi.TMS320C54_idle +TMS320C54_mar = _idaapi.TMS320C54_mar +TMS320C54_nop = _idaapi.TMS320C54_nop +TMS320C54_reset = _idaapi.TMS320C54_reset +TMS320C54_rsbx1 = _idaapi.TMS320C54_rsbx1 +TMS320C54_rsbx2 = _idaapi.TMS320C54_rsbx2 +TMS320C54_ssbx1 = _idaapi.TMS320C54_ssbx1 +TMS320C54_ssbx2 = _idaapi.TMS320C54_ssbx2 +TMS320C54_xc2 = _idaapi.TMS320C54_xc2 +TMS320C54_xc3 = _idaapi.TMS320C54_xc3 +TMS320C54_dld = _idaapi.TMS320C54_dld +TMS320C54_ld1 = _idaapi.TMS320C54_ld1 +TMS320C54_ld2 = _idaapi.TMS320C54_ld2 +TMS320C54_ld3 = _idaapi.TMS320C54_ld3 +TMS320C54_ldm = _idaapi.TMS320C54_ldm +TMS320C54_ldr = _idaapi.TMS320C54_ldr +TMS320C54_ldu = _idaapi.TMS320C54_ldu +TMS320C54_ltd = _idaapi.TMS320C54_ltd +TMS320C54_dst = _idaapi.TMS320C54_dst +TMS320C54_st = _idaapi.TMS320C54_st +TMS320C54_sth2 = _idaapi.TMS320C54_sth2 +TMS320C54_sth3 = _idaapi.TMS320C54_sth3 +TMS320C54_stl2 = _idaapi.TMS320C54_stl2 +TMS320C54_stl3 = _idaapi.TMS320C54_stl3 +TMS320C54_stlm = _idaapi.TMS320C54_stlm +TMS320C54_stm = _idaapi.TMS320C54_stm +TMS320C54_cmps = _idaapi.TMS320C54_cmps +TMS320C54_saccd = _idaapi.TMS320C54_saccd +TMS320C54_srccd = _idaapi.TMS320C54_srccd +TMS320C54_strcd = _idaapi.TMS320C54_strcd +TMS320C54_st_ld = _idaapi.TMS320C54_st_ld +TMS320C54_ld_mac = _idaapi.TMS320C54_ld_mac +TMS320C54_ld_macr = _idaapi.TMS320C54_ld_macr +TMS320C54_ld_mas = _idaapi.TMS320C54_ld_mas +TMS320C54_ld_masr = _idaapi.TMS320C54_ld_masr +TMS320C54_st_add = _idaapi.TMS320C54_st_add +TMS320C54_st_sub = _idaapi.TMS320C54_st_sub +TMS320C54_st_mac = _idaapi.TMS320C54_st_mac +TMS320C54_st_macr = _idaapi.TMS320C54_st_macr +TMS320C54_st_mas = _idaapi.TMS320C54_st_mas +TMS320C54_st_masr = _idaapi.TMS320C54_st_masr +TMS320C54_st_mpy = _idaapi.TMS320C54_st_mpy +TMS320C54_mvdd = _idaapi.TMS320C54_mvdd +TMS320C54_mvdk = _idaapi.TMS320C54_mvdk +TMS320C54_mvdm = _idaapi.TMS320C54_mvdm +TMS320C54_mvdp = _idaapi.TMS320C54_mvdp +TMS320C54_mvkd = _idaapi.TMS320C54_mvkd +TMS320C54_mvmd = _idaapi.TMS320C54_mvmd +TMS320C54_mvmm = _idaapi.TMS320C54_mvmm +TMS320C54_mvpd = _idaapi.TMS320C54_mvpd +TMS320C54_portr = _idaapi.TMS320C54_portr +TMS320C54_portw = _idaapi.TMS320C54_portw +TMS320C54_reada = _idaapi.TMS320C54_reada +TMS320C54_writa = _idaapi.TMS320C54_writa +TMS320C54_last = _idaapi.TMS320C54_last +TMS320C55_null = _idaapi.TMS320C55_null +TMS320C55_abdst = _idaapi.TMS320C55_abdst +TMS320C55_abs1 = _idaapi.TMS320C55_abs1 +TMS320C55_abs2 = _idaapi.TMS320C55_abs2 +TMS320C55_add1 = _idaapi.TMS320C55_add1 +TMS320C55_add2 = _idaapi.TMS320C55_add2 +TMS320C55_add3 = _idaapi.TMS320C55_add3 +TMS320C55_add4 = _idaapi.TMS320C55_add4 +TMS320C55_addv1 = _idaapi.TMS320C55_addv1 +TMS320C55_addv2 = _idaapi.TMS320C55_addv2 +TMS320C55_addrv1 = _idaapi.TMS320C55_addrv1 +TMS320C55_addrv2 = _idaapi.TMS320C55_addrv2 +TMS320C55_maxdiff = _idaapi.TMS320C55_maxdiff +TMS320C55_dmaxdiff = _idaapi.TMS320C55_dmaxdiff +TMS320C55_mindiff = _idaapi.TMS320C55_mindiff +TMS320C55_dmindiff = _idaapi.TMS320C55_dmindiff +TMS320C55_addsubcc4 = _idaapi.TMS320C55_addsubcc4 +TMS320C55_addsubcc5 = _idaapi.TMS320C55_addsubcc5 +TMS320C55_addsub2cc = _idaapi.TMS320C55_addsub2cc +TMS320C55_sftcc = _idaapi.TMS320C55_sftcc +TMS320C55_subc2 = _idaapi.TMS320C55_subc2 +TMS320C55_subc3 = _idaapi.TMS320C55_subc3 +TMS320C55_addsub = _idaapi.TMS320C55_addsub +TMS320C55_subadd = _idaapi.TMS320C55_subadd +TMS320C55_mpy_mpy = _idaapi.TMS320C55_mpy_mpy +TMS320C55_mpy_mpyr = _idaapi.TMS320C55_mpy_mpyr +TMS320C55_mpy_mpy40 = _idaapi.TMS320C55_mpy_mpy40 +TMS320C55_mpy_mpyr40 = _idaapi.TMS320C55_mpy_mpyr40 +TMS320C55_mac_mpy = _idaapi.TMS320C55_mac_mpy +TMS320C55_macr_mpyr = _idaapi.TMS320C55_macr_mpyr +TMS320C55_mac40_mpy40 = _idaapi.TMS320C55_mac40_mpy40 +TMS320C55_macr40_mpyr40 = _idaapi.TMS320C55_macr40_mpyr40 +TMS320C55_mas_mpy = _idaapi.TMS320C55_mas_mpy +TMS320C55_masr_mpyr = _idaapi.TMS320C55_masr_mpyr +TMS320C55_mas40_mpy40 = _idaapi.TMS320C55_mas40_mpy40 +TMS320C55_masr40_mpyr40 = _idaapi.TMS320C55_masr40_mpyr40 +TMS320C55_amar_mpy = _idaapi.TMS320C55_amar_mpy +TMS320C55_amar_mpyr = _idaapi.TMS320C55_amar_mpyr +TMS320C55_amar_mpy40 = _idaapi.TMS320C55_amar_mpy40 +TMS320C55_amar_mpyr40 = _idaapi.TMS320C55_amar_mpyr40 +TMS320C55_mac_mac = _idaapi.TMS320C55_mac_mac +TMS320C55_macr_macr = _idaapi.TMS320C55_macr_macr +TMS320C55_mac40_mac40 = _idaapi.TMS320C55_mac40_mac40 +TMS320C55_macr40_macr40 = _idaapi.TMS320C55_macr40_macr40 +TMS320C55_mas_mac = _idaapi.TMS320C55_mas_mac +TMS320C55_masr_macr = _idaapi.TMS320C55_masr_macr +TMS320C55_mas40_mac40 = _idaapi.TMS320C55_mas40_mac40 +TMS320C55_masr40_macr40 = _idaapi.TMS320C55_masr40_macr40 +TMS320C55_amar_mac = _idaapi.TMS320C55_amar_mac +TMS320C55_amar_macr = _idaapi.TMS320C55_amar_macr +TMS320C55_amar_mac40 = _idaapi.TMS320C55_amar_mac40 +TMS320C55_amar_macr40 = _idaapi.TMS320C55_amar_macr40 +TMS320C55_mas_mas = _idaapi.TMS320C55_mas_mas +TMS320C55_masr_masr = _idaapi.TMS320C55_masr_masr +TMS320C55_mas40_mas40 = _idaapi.TMS320C55_mas40_mas40 +TMS320C55_masr40_masr40 = _idaapi.TMS320C55_masr40_masr40 +TMS320C55_amar_mas = _idaapi.TMS320C55_amar_mas +TMS320C55_amar_masr = _idaapi.TMS320C55_amar_masr +TMS320C55_amar_mas40 = _idaapi.TMS320C55_amar_mas40 +TMS320C55_amar_masr40 = _idaapi.TMS320C55_amar_masr40 +TMS320C55_mpy_mac = _idaapi.TMS320C55_mpy_mac +TMS320C55_mpyr_macr = _idaapi.TMS320C55_mpyr_macr +TMS320C55_mpy40_mac40 = _idaapi.TMS320C55_mpy40_mac40 +TMS320C55_mpyr40_macr40 = _idaapi.TMS320C55_mpyr40_macr40 +TMS320C55_amar3 = _idaapi.TMS320C55_amar3 +TMS320C55_firsadd = _idaapi.TMS320C55_firsadd +TMS320C55_firssub = _idaapi.TMS320C55_firssub +TMS320C55_mpym_mov = _idaapi.TMS320C55_mpym_mov +TMS320C55_mpymr_mov = _idaapi.TMS320C55_mpymr_mov +TMS320C55_macm_mov = _idaapi.TMS320C55_macm_mov +TMS320C55_macmr_mov = _idaapi.TMS320C55_macmr_mov +TMS320C55_masm_mov = _idaapi.TMS320C55_masm_mov +TMS320C55_masmr_mov = _idaapi.TMS320C55_masmr_mov +TMS320C55_add_mov = _idaapi.TMS320C55_add_mov +TMS320C55_sub_mov = _idaapi.TMS320C55_sub_mov +TMS320C55_mov_mov = _idaapi.TMS320C55_mov_mov +TMS320C55_mov_aadd = _idaapi.TMS320C55_mov_aadd +TMS320C55_mov_add = _idaapi.TMS320C55_mov_add +TMS320C55_amar_amar = _idaapi.TMS320C55_amar_amar +TMS320C55_add_asub = _idaapi.TMS320C55_add_asub +TMS320C55_btst_mov = _idaapi.TMS320C55_btst_mov +TMS320C55_mov_asub = _idaapi.TMS320C55_mov_asub +TMS320C55_lms = _idaapi.TMS320C55_lms +TMS320C55_max1 = _idaapi.TMS320C55_max1 +TMS320C55_max2 = _idaapi.TMS320C55_max2 +TMS320C55_min1 = _idaapi.TMS320C55_min1 +TMS320C55_min2 = _idaapi.TMS320C55_min2 +TMS320C55_cmp = _idaapi.TMS320C55_cmp +TMS320C55_cmpu = _idaapi.TMS320C55_cmpu +TMS320C55_aadd = _idaapi.TMS320C55_aadd +TMS320C55_asub = _idaapi.TMS320C55_asub +TMS320C55_amov = _idaapi.TMS320C55_amov +TMS320C55_amar1 = _idaapi.TMS320C55_amar1 +TMS320C55_sqr1 = _idaapi.TMS320C55_sqr1 +TMS320C55_sqr2 = _idaapi.TMS320C55_sqr2 +TMS320C55_sqrr1 = _idaapi.TMS320C55_sqrr1 +TMS320C55_sqrr2 = _idaapi.TMS320C55_sqrr2 +TMS320C55_mpy1 = _idaapi.TMS320C55_mpy1 +TMS320C55_mpy2 = _idaapi.TMS320C55_mpy2 +TMS320C55_mpy3 = _idaapi.TMS320C55_mpy3 +TMS320C55_mpyr1 = _idaapi.TMS320C55_mpyr1 +TMS320C55_mpyr2 = _idaapi.TMS320C55_mpyr2 +TMS320C55_mpyr3 = _idaapi.TMS320C55_mpyr3 +TMS320C55_mpyk2 = _idaapi.TMS320C55_mpyk2 +TMS320C55_mpyk3 = _idaapi.TMS320C55_mpyk3 +TMS320C55_mpykr2 = _idaapi.TMS320C55_mpykr2 +TMS320C55_mpykr3 = _idaapi.TMS320C55_mpykr3 +TMS320C55_mpym2 = _idaapi.TMS320C55_mpym2 +TMS320C55_mpym3 = _idaapi.TMS320C55_mpym3 +TMS320C55_mpymr2 = _idaapi.TMS320C55_mpymr2 +TMS320C55_mpymr3 = _idaapi.TMS320C55_mpymr3 +TMS320C55_mpym403 = _idaapi.TMS320C55_mpym403 +TMS320C55_mpymr403 = _idaapi.TMS320C55_mpymr403 +TMS320C55_mpymu3 = _idaapi.TMS320C55_mpymu3 +TMS320C55_mpymru3 = _idaapi.TMS320C55_mpymru3 +TMS320C55_sqrm = _idaapi.TMS320C55_sqrm +TMS320C55_sqrmr = _idaapi.TMS320C55_sqrmr +TMS320C55_mpymk = _idaapi.TMS320C55_mpymk +TMS320C55_mpymkr = _idaapi.TMS320C55_mpymkr +TMS320C55_sqa1 = _idaapi.TMS320C55_sqa1 +TMS320C55_sqa2 = _idaapi.TMS320C55_sqa2 +TMS320C55_sqar1 = _idaapi.TMS320C55_sqar1 +TMS320C55_sqar2 = _idaapi.TMS320C55_sqar2 +TMS320C55_mac3 = _idaapi.TMS320C55_mac3 +TMS320C55_mac4 = _idaapi.TMS320C55_mac4 +TMS320C55_macr3 = _idaapi.TMS320C55_macr3 +TMS320C55_macr4 = _idaapi.TMS320C55_macr4 +TMS320C55_mack3 = _idaapi.TMS320C55_mack3 +TMS320C55_mack4 = _idaapi.TMS320C55_mack4 +TMS320C55_mackr3 = _idaapi.TMS320C55_mackr3 +TMS320C55_mackr4 = _idaapi.TMS320C55_mackr4 +TMS320C55_macm2 = _idaapi.TMS320C55_macm2 +TMS320C55_macm3 = _idaapi.TMS320C55_macm3 +TMS320C55_macm4 = _idaapi.TMS320C55_macm4 +TMS320C55_macmr2 = _idaapi.TMS320C55_macmr2 +TMS320C55_macmr3 = _idaapi.TMS320C55_macmr3 +TMS320C55_macmr4 = _idaapi.TMS320C55_macmr4 +TMS320C55_macm403 = _idaapi.TMS320C55_macm403 +TMS320C55_macm404 = _idaapi.TMS320C55_macm404 +TMS320C55_macmr403 = _idaapi.TMS320C55_macmr403 +TMS320C55_macmr404 = _idaapi.TMS320C55_macmr404 +TMS320C55_macmz = _idaapi.TMS320C55_macmz +TMS320C55_macmrz = _idaapi.TMS320C55_macmrz +TMS320C55_sqam2 = _idaapi.TMS320C55_sqam2 +TMS320C55_sqam3 = _idaapi.TMS320C55_sqam3 +TMS320C55_sqamr2 = _idaapi.TMS320C55_sqamr2 +TMS320C55_sqamr3 = _idaapi.TMS320C55_sqamr3 +TMS320C55_macmk3 = _idaapi.TMS320C55_macmk3 +TMS320C55_macmk4 = _idaapi.TMS320C55_macmk4 +TMS320C55_macmkr3 = _idaapi.TMS320C55_macmkr3 +TMS320C55_macmkr4 = _idaapi.TMS320C55_macmkr4 +TMS320C55_sqs1 = _idaapi.TMS320C55_sqs1 +TMS320C55_sqs2 = _idaapi.TMS320C55_sqs2 +TMS320C55_sqsr1 = _idaapi.TMS320C55_sqsr1 +TMS320C55_sqsr2 = _idaapi.TMS320C55_sqsr2 +TMS320C55_mas2 = _idaapi.TMS320C55_mas2 +TMS320C55_mas3 = _idaapi.TMS320C55_mas3 +TMS320C55_masr2 = _idaapi.TMS320C55_masr2 +TMS320C55_masr3 = _idaapi.TMS320C55_masr3 +TMS320C55_masm2 = _idaapi.TMS320C55_masm2 +TMS320C55_masm3 = _idaapi.TMS320C55_masm3 +TMS320C55_masm4 = _idaapi.TMS320C55_masm4 +TMS320C55_masmr2 = _idaapi.TMS320C55_masmr2 +TMS320C55_masmr3 = _idaapi.TMS320C55_masmr3 +TMS320C55_masmr4 = _idaapi.TMS320C55_masmr4 +TMS320C55_masm403 = _idaapi.TMS320C55_masm403 +TMS320C55_masm404 = _idaapi.TMS320C55_masm404 +TMS320C55_masmr403 = _idaapi.TMS320C55_masmr403 +TMS320C55_masmr404 = _idaapi.TMS320C55_masmr404 +TMS320C55_sqsm2 = _idaapi.TMS320C55_sqsm2 +TMS320C55_sqsm3 = _idaapi.TMS320C55_sqsm3 +TMS320C55_sqsmr2 = _idaapi.TMS320C55_sqsmr2 +TMS320C55_sqsmr3 = _idaapi.TMS320C55_sqsmr3 +TMS320C55_neg1 = _idaapi.TMS320C55_neg1 +TMS320C55_neg2 = _idaapi.TMS320C55_neg2 +TMS320C55_mant_nexp = _idaapi.TMS320C55_mant_nexp +TMS320C55_exp = _idaapi.TMS320C55_exp +TMS320C55_cmpand = _idaapi.TMS320C55_cmpand +TMS320C55_cmpandu = _idaapi.TMS320C55_cmpandu +TMS320C55_cmpor = _idaapi.TMS320C55_cmpor +TMS320C55_cmporu = _idaapi.TMS320C55_cmporu +TMS320C55_round1 = _idaapi.TMS320C55_round1 +TMS320C55_round2 = _idaapi.TMS320C55_round2 +TMS320C55_sat1 = _idaapi.TMS320C55_sat1 +TMS320C55_sat2 = _idaapi.TMS320C55_sat2 +TMS320C55_satr1 = _idaapi.TMS320C55_satr1 +TMS320C55_satr2 = _idaapi.TMS320C55_satr2 +TMS320C55_sfts2 = _idaapi.TMS320C55_sfts2 +TMS320C55_sfts3 = _idaapi.TMS320C55_sfts3 +TMS320C55_sftsc2 = _idaapi.TMS320C55_sftsc2 +TMS320C55_sftsc3 = _idaapi.TMS320C55_sftsc3 +TMS320C55_sqdst = _idaapi.TMS320C55_sqdst +TMS320C55_sub1 = _idaapi.TMS320C55_sub1 +TMS320C55_sub2 = _idaapi.TMS320C55_sub2 +TMS320C55_sub3 = _idaapi.TMS320C55_sub3 +TMS320C55_sub4 = _idaapi.TMS320C55_sub4 +TMS320C55_band = _idaapi.TMS320C55_band +TMS320C55_bfxpa = _idaapi.TMS320C55_bfxpa +TMS320C55_bfxtr = _idaapi.TMS320C55_bfxtr +TMS320C55_btst = _idaapi.TMS320C55_btst +TMS320C55_bnot = _idaapi.TMS320C55_bnot +TMS320C55_bclr2 = _idaapi.TMS320C55_bclr2 +TMS320C55_bset2 = _idaapi.TMS320C55_bset2 +TMS320C55_btstset = _idaapi.TMS320C55_btstset +TMS320C55_btstclr = _idaapi.TMS320C55_btstclr +TMS320C55_btstnot = _idaapi.TMS320C55_btstnot +TMS320C55_btstp = _idaapi.TMS320C55_btstp +TMS320C55_bclr1 = _idaapi.TMS320C55_bclr1 +TMS320C55_bset1 = _idaapi.TMS320C55_bset1 +TMS320C55_amar2 = _idaapi.TMS320C55_amar2 +TMS320C55_popboth = _idaapi.TMS320C55_popboth +TMS320C55_pshboth = _idaapi.TMS320C55_pshboth +TMS320C55_bcnt = _idaapi.TMS320C55_bcnt +TMS320C55_not1 = _idaapi.TMS320C55_not1 +TMS320C55_not2 = _idaapi.TMS320C55_not2 +TMS320C55_and1 = _idaapi.TMS320C55_and1 +TMS320C55_and2 = _idaapi.TMS320C55_and2 +TMS320C55_and3 = _idaapi.TMS320C55_and3 +TMS320C55_or1 = _idaapi.TMS320C55_or1 +TMS320C55_or2 = _idaapi.TMS320C55_or2 +TMS320C55_or3 = _idaapi.TMS320C55_or3 +TMS320C55_xor1 = _idaapi.TMS320C55_xor1 +TMS320C55_xor2 = _idaapi.TMS320C55_xor2 +TMS320C55_xor3 = _idaapi.TMS320C55_xor3 +TMS320C55_sftl2 = _idaapi.TMS320C55_sftl2 +TMS320C55_sftl3 = _idaapi.TMS320C55_sftl3 +TMS320C55_rol = _idaapi.TMS320C55_rol +TMS320C55_ror = _idaapi.TMS320C55_ror +TMS320C55_swap = _idaapi.TMS320C55_swap +TMS320C55_swapp = _idaapi.TMS320C55_swapp +TMS320C55_swap4 = _idaapi.TMS320C55_swap4 +TMS320C55_mov2 = _idaapi.TMS320C55_mov2 +TMS320C55_mov3 = _idaapi.TMS320C55_mov3 +TMS320C55_mov402 = _idaapi.TMS320C55_mov402 +TMS320C55_delay = _idaapi.TMS320C55_delay +TMS320C55_pop1 = _idaapi.TMS320C55_pop1 +TMS320C55_pop2 = _idaapi.TMS320C55_pop2 +TMS320C55_psh1 = _idaapi.TMS320C55_psh1 +TMS320C55_psh2 = _idaapi.TMS320C55_psh2 +TMS320C55_bcc = _idaapi.TMS320C55_bcc +TMS320C55_bccu = _idaapi.TMS320C55_bccu +TMS320C55_b = _idaapi.TMS320C55_b +TMS320C55_callcc = _idaapi.TMS320C55_callcc +TMS320C55_call = _idaapi.TMS320C55_call +TMS320C55_xcc = _idaapi.TMS320C55_xcc +TMS320C55_xccpart = _idaapi.TMS320C55_xccpart +TMS320C55_idle = _idaapi.TMS320C55_idle +TMS320C55_nop = _idaapi.TMS320C55_nop +TMS320C55_nop_16 = _idaapi.TMS320C55_nop_16 +TMS320C55_rptblocal = _idaapi.TMS320C55_rptblocal +TMS320C55_rptb = _idaapi.TMS320C55_rptb +TMS320C55_rptcc = _idaapi.TMS320C55_rptcc +TMS320C55_rpt = _idaapi.TMS320C55_rpt +TMS320C55_rptadd = _idaapi.TMS320C55_rptadd +TMS320C55_rptsub = _idaapi.TMS320C55_rptsub +TMS320C55_retcc = _idaapi.TMS320C55_retcc +TMS320C55_ret = _idaapi.TMS320C55_ret +TMS320C55_reti = _idaapi.TMS320C55_reti +TMS320C55_intr = _idaapi.TMS320C55_intr +TMS320C55_reset = _idaapi.TMS320C55_reset +TMS320C55_trap = _idaapi.TMS320C55_trap +TMS320C55_last = _idaapi.TMS320C55_last +TRIMEDIA_null = _idaapi.TRIMEDIA_null +TRIMEDIA_igtri = _idaapi.TRIMEDIA_igtri +TRIMEDIA_igeqi = _idaapi.TRIMEDIA_igeqi +TRIMEDIA_ilesi = _idaapi.TRIMEDIA_ilesi +TRIMEDIA_ineqi = _idaapi.TRIMEDIA_ineqi +TRIMEDIA_ieqli = _idaapi.TRIMEDIA_ieqli +TRIMEDIA_iaddi = _idaapi.TRIMEDIA_iaddi +TRIMEDIA_ild16d = _idaapi.TRIMEDIA_ild16d +TRIMEDIA_ld32d = _idaapi.TRIMEDIA_ld32d +TRIMEDIA_uld8d = _idaapi.TRIMEDIA_uld8d +TRIMEDIA_lsri = _idaapi.TRIMEDIA_lsri +TRIMEDIA_asri = _idaapi.TRIMEDIA_asri +TRIMEDIA_asli = _idaapi.TRIMEDIA_asli +TRIMEDIA_iadd = _idaapi.TRIMEDIA_iadd +TRIMEDIA_isub = _idaapi.TRIMEDIA_isub +TRIMEDIA_igeq = _idaapi.TRIMEDIA_igeq +TRIMEDIA_igtr = _idaapi.TRIMEDIA_igtr +TRIMEDIA_bitand = _idaapi.TRIMEDIA_bitand +TRIMEDIA_bitor = _idaapi.TRIMEDIA_bitor +TRIMEDIA_asr = _idaapi.TRIMEDIA_asr +TRIMEDIA_asl = _idaapi.TRIMEDIA_asl +TRIMEDIA_ifloat = _idaapi.TRIMEDIA_ifloat +TRIMEDIA_ifixrz = _idaapi.TRIMEDIA_ifixrz +TRIMEDIA_fadd = _idaapi.TRIMEDIA_fadd +TRIMEDIA_imin = _idaapi.TRIMEDIA_imin +TRIMEDIA_imax = _idaapi.TRIMEDIA_imax +TRIMEDIA_iavgonep = _idaapi.TRIMEDIA_iavgonep +TRIMEDIA_ume8uu = _idaapi.TRIMEDIA_ume8uu +TRIMEDIA_imul = _idaapi.TRIMEDIA_imul +TRIMEDIA_fmul = _idaapi.TRIMEDIA_fmul +TRIMEDIA_h_st8d = _idaapi.TRIMEDIA_h_st8d +TRIMEDIA_h_st16d = _idaapi.TRIMEDIA_h_st16d +TRIMEDIA_h_st32d = _idaapi.TRIMEDIA_h_st32d +TRIMEDIA_isubi = _idaapi.TRIMEDIA_isubi +TRIMEDIA_ugtr = _idaapi.TRIMEDIA_ugtr +TRIMEDIA_ugtri = _idaapi.TRIMEDIA_ugtri +TRIMEDIA_ugeq = _idaapi.TRIMEDIA_ugeq +TRIMEDIA_ugeqi = _idaapi.TRIMEDIA_ugeqi +TRIMEDIA_ieql = _idaapi.TRIMEDIA_ieql +TRIMEDIA_ueqli = _idaapi.TRIMEDIA_ueqli +TRIMEDIA_ineq = _idaapi.TRIMEDIA_ineq +TRIMEDIA_uneqi = _idaapi.TRIMEDIA_uneqi +TRIMEDIA_ulesi = _idaapi.TRIMEDIA_ulesi +TRIMEDIA_ileqi = _idaapi.TRIMEDIA_ileqi +TRIMEDIA_uleqi = _idaapi.TRIMEDIA_uleqi +TRIMEDIA_h_iabs = _idaapi.TRIMEDIA_h_iabs +TRIMEDIA_carry = _idaapi.TRIMEDIA_carry +TRIMEDIA_izero = _idaapi.TRIMEDIA_izero +TRIMEDIA_inonzero = _idaapi.TRIMEDIA_inonzero +TRIMEDIA_bitxor = _idaapi.TRIMEDIA_bitxor +TRIMEDIA_bitandinv = _idaapi.TRIMEDIA_bitandinv +TRIMEDIA_bitinv = _idaapi.TRIMEDIA_bitinv +TRIMEDIA_sex16 = _idaapi.TRIMEDIA_sex16 +TRIMEDIA_packbytes = _idaapi.TRIMEDIA_packbytes +TRIMEDIA_pack16lsb = _idaapi.TRIMEDIA_pack16lsb +TRIMEDIA_pack16msb = _idaapi.TRIMEDIA_pack16msb +TRIMEDIA_ubytesel = _idaapi.TRIMEDIA_ubytesel +TRIMEDIA_ibytesel = _idaapi.TRIMEDIA_ibytesel +TRIMEDIA_mergelsb = _idaapi.TRIMEDIA_mergelsb +TRIMEDIA_mergemsb = _idaapi.TRIMEDIA_mergemsb +TRIMEDIA_ume8ii = _idaapi.TRIMEDIA_ume8ii +TRIMEDIA_h_dspiabs = _idaapi.TRIMEDIA_h_dspiabs +TRIMEDIA_dspiadd = _idaapi.TRIMEDIA_dspiadd +TRIMEDIA_dspuadd = _idaapi.TRIMEDIA_dspuadd +TRIMEDIA_dspisub = _idaapi.TRIMEDIA_dspisub +TRIMEDIA_dspusub = _idaapi.TRIMEDIA_dspusub +TRIMEDIA_dspidualadd = _idaapi.TRIMEDIA_dspidualadd +TRIMEDIA_dspidualsub = _idaapi.TRIMEDIA_dspidualsub +TRIMEDIA_h_dspidualabs = _idaapi.TRIMEDIA_h_dspidualabs +TRIMEDIA_quadavg = _idaapi.TRIMEDIA_quadavg +TRIMEDIA_iclipi = _idaapi.TRIMEDIA_iclipi +TRIMEDIA_uclipi = _idaapi.TRIMEDIA_uclipi +TRIMEDIA_uclipu = _idaapi.TRIMEDIA_uclipu +TRIMEDIA_iflip = _idaapi.TRIMEDIA_iflip +TRIMEDIA_dspuquadaddui = _idaapi.TRIMEDIA_dspuquadaddui +TRIMEDIA_quadumin = _idaapi.TRIMEDIA_quadumin +TRIMEDIA_quadumax = _idaapi.TRIMEDIA_quadumax +TRIMEDIA_dualiclipi = _idaapi.TRIMEDIA_dualiclipi +TRIMEDIA_dualuclipi = _idaapi.TRIMEDIA_dualuclipi +TRIMEDIA_quadumulmsb = _idaapi.TRIMEDIA_quadumulmsb +TRIMEDIA_ufir8uu = _idaapi.TRIMEDIA_ufir8uu +TRIMEDIA_ifir8ui = _idaapi.TRIMEDIA_ifir8ui +TRIMEDIA_ifir8ii = _idaapi.TRIMEDIA_ifir8ii +TRIMEDIA_ifir16 = _idaapi.TRIMEDIA_ifir16 +TRIMEDIA_ufir16 = _idaapi.TRIMEDIA_ufir16 +TRIMEDIA_dspidualmul = _idaapi.TRIMEDIA_dspidualmul +TRIMEDIA_lsr = _idaapi.TRIMEDIA_lsr +TRIMEDIA_rol = _idaapi.TRIMEDIA_rol +TRIMEDIA_roli = _idaapi.TRIMEDIA_roli +TRIMEDIA_funshift1 = _idaapi.TRIMEDIA_funshift1 +TRIMEDIA_funshift2 = _idaapi.TRIMEDIA_funshift2 +TRIMEDIA_funshift3 = _idaapi.TRIMEDIA_funshift3 +TRIMEDIA_dualasr = _idaapi.TRIMEDIA_dualasr +TRIMEDIA_mergedual16lsb = _idaapi.TRIMEDIA_mergedual16lsb +TRIMEDIA_fdiv = _idaapi.TRIMEDIA_fdiv +TRIMEDIA_fdivflags = _idaapi.TRIMEDIA_fdivflags +TRIMEDIA_fsqrt = _idaapi.TRIMEDIA_fsqrt +TRIMEDIA_fsqrtflags = _idaapi.TRIMEDIA_fsqrtflags +TRIMEDIA_faddflags = _idaapi.TRIMEDIA_faddflags +TRIMEDIA_fsub = _idaapi.TRIMEDIA_fsub +TRIMEDIA_fsubflags = _idaapi.TRIMEDIA_fsubflags +TRIMEDIA_fabsval = _idaapi.TRIMEDIA_fabsval +TRIMEDIA_fabsvalflags = _idaapi.TRIMEDIA_fabsvalflags +TRIMEDIA_ifloatrz = _idaapi.TRIMEDIA_ifloatrz +TRIMEDIA_ifloatrzflags = _idaapi.TRIMEDIA_ifloatrzflags +TRIMEDIA_ufloatrz = _idaapi.TRIMEDIA_ufloatrz +TRIMEDIA_ufloatrzflags = _idaapi.TRIMEDIA_ufloatrzflags +TRIMEDIA_ifixieee = _idaapi.TRIMEDIA_ifixieee +TRIMEDIA_ifixieeeflags = _idaapi.TRIMEDIA_ifixieeeflags +TRIMEDIA_ufixieee = _idaapi.TRIMEDIA_ufixieee +TRIMEDIA_ufixieeeflags = _idaapi.TRIMEDIA_ufixieeeflags +TRIMEDIA_ufixrz = _idaapi.TRIMEDIA_ufixrz +TRIMEDIA_ufixrzflags = _idaapi.TRIMEDIA_ufixrzflags +TRIMEDIA_ufloat = _idaapi.TRIMEDIA_ufloat +TRIMEDIA_ufloatflags = _idaapi.TRIMEDIA_ufloatflags +TRIMEDIA_ifixrzflags = _idaapi.TRIMEDIA_ifixrzflags +TRIMEDIA_ifloatflags = _idaapi.TRIMEDIA_ifloatflags +TRIMEDIA_umul = _idaapi.TRIMEDIA_umul +TRIMEDIA_imulm = _idaapi.TRIMEDIA_imulm +TRIMEDIA_umulm = _idaapi.TRIMEDIA_umulm +TRIMEDIA_dspimul = _idaapi.TRIMEDIA_dspimul +TRIMEDIA_dspumul = _idaapi.TRIMEDIA_dspumul +TRIMEDIA_fmulflags = _idaapi.TRIMEDIA_fmulflags +TRIMEDIA_fgtr = _idaapi.TRIMEDIA_fgtr +TRIMEDIA_fgtrflags = _idaapi.TRIMEDIA_fgtrflags +TRIMEDIA_fgeq = _idaapi.TRIMEDIA_fgeq +TRIMEDIA_fgeqflags = _idaapi.TRIMEDIA_fgeqflags +TRIMEDIA_feql = _idaapi.TRIMEDIA_feql +TRIMEDIA_feqlflags = _idaapi.TRIMEDIA_feqlflags +TRIMEDIA_fneq = _idaapi.TRIMEDIA_fneq +TRIMEDIA_fneqflags = _idaapi.TRIMEDIA_fneqflags +TRIMEDIA_fsign = _idaapi.TRIMEDIA_fsign +TRIMEDIA_fsignflags = _idaapi.TRIMEDIA_fsignflags +TRIMEDIA_cycles = _idaapi.TRIMEDIA_cycles +TRIMEDIA_hicycles = _idaapi.TRIMEDIA_hicycles +TRIMEDIA_readdpc = _idaapi.TRIMEDIA_readdpc +TRIMEDIA_readspc = _idaapi.TRIMEDIA_readspc +TRIMEDIA_readpcsw = _idaapi.TRIMEDIA_readpcsw +TRIMEDIA_writespc = _idaapi.TRIMEDIA_writespc +TRIMEDIA_writedpc = _idaapi.TRIMEDIA_writedpc +TRIMEDIA_writepcsw = _idaapi.TRIMEDIA_writepcsw +TRIMEDIA_curcycles = _idaapi.TRIMEDIA_curcycles +TRIMEDIA_jmpt = _idaapi.TRIMEDIA_jmpt +TRIMEDIA_ijmpt = _idaapi.TRIMEDIA_ijmpt +TRIMEDIA_jmpi = _idaapi.TRIMEDIA_jmpi +TRIMEDIA_ijmpi = _idaapi.TRIMEDIA_ijmpi +TRIMEDIA_jmpf = _idaapi.TRIMEDIA_jmpf +TRIMEDIA_ijmpf = _idaapi.TRIMEDIA_ijmpf +TRIMEDIA_iclr = _idaapi.TRIMEDIA_iclr +TRIMEDIA_uimm = _idaapi.TRIMEDIA_uimm +TRIMEDIA_ild8d = _idaapi.TRIMEDIA_ild8d +TRIMEDIA_ild8r = _idaapi.TRIMEDIA_ild8r +TRIMEDIA_uld8r = _idaapi.TRIMEDIA_uld8r +TRIMEDIA_ild16r = _idaapi.TRIMEDIA_ild16r +TRIMEDIA_ild16x = _idaapi.TRIMEDIA_ild16x +TRIMEDIA_uld16d = _idaapi.TRIMEDIA_uld16d +TRIMEDIA_uld16r = _idaapi.TRIMEDIA_uld16r +TRIMEDIA_uld16x = _idaapi.TRIMEDIA_uld16x +TRIMEDIA_ld32r = _idaapi.TRIMEDIA_ld32r +TRIMEDIA_ld32x = _idaapi.TRIMEDIA_ld32x +TRIMEDIA_rdtag = _idaapi.TRIMEDIA_rdtag +TRIMEDIA_rdstatus = _idaapi.TRIMEDIA_rdstatus +TRIMEDIA_dcb = _idaapi.TRIMEDIA_dcb +TRIMEDIA_dinvalid = _idaapi.TRIMEDIA_dinvalid +TRIMEDIA_prefd = _idaapi.TRIMEDIA_prefd +TRIMEDIA_prefr = _idaapi.TRIMEDIA_prefr +TRIMEDIA_pref16x = _idaapi.TRIMEDIA_pref16x +TRIMEDIA_pref32x = _idaapi.TRIMEDIA_pref32x +TRIMEDIA_allocd = _idaapi.TRIMEDIA_allocd +TRIMEDIA_allocr = _idaapi.TRIMEDIA_allocr +TRIMEDIA_allocx = _idaapi.TRIMEDIA_allocx +TRIMEDIA_nop = _idaapi.TRIMEDIA_nop +TRIMEDIA_alloc = _idaapi.TRIMEDIA_alloc +TRIMEDIA_dspiabs = _idaapi.TRIMEDIA_dspiabs +TRIMEDIA_dspidualabs = _idaapi.TRIMEDIA_dspidualabs +TRIMEDIA_iabs = _idaapi.TRIMEDIA_iabs +TRIMEDIA_ild16 = _idaapi.TRIMEDIA_ild16 +TRIMEDIA_ild8 = _idaapi.TRIMEDIA_ild8 +TRIMEDIA_ineg = _idaapi.TRIMEDIA_ineg +TRIMEDIA_ld32 = _idaapi.TRIMEDIA_ld32 +TRIMEDIA_pref = _idaapi.TRIMEDIA_pref +TRIMEDIA_sex8 = _idaapi.TRIMEDIA_sex8 +TRIMEDIA_st16 = _idaapi.TRIMEDIA_st16 +TRIMEDIA_st16d = _idaapi.TRIMEDIA_st16d +TRIMEDIA_st32 = _idaapi.TRIMEDIA_st32 +TRIMEDIA_st32d = _idaapi.TRIMEDIA_st32d +TRIMEDIA_st8 = _idaapi.TRIMEDIA_st8 +TRIMEDIA_st8d = _idaapi.TRIMEDIA_st8d +TRIMEDIA_uld16 = _idaapi.TRIMEDIA_uld16 +TRIMEDIA_uld8 = _idaapi.TRIMEDIA_uld8 +TRIMEDIA_zex16 = _idaapi.TRIMEDIA_zex16 +TRIMEDIA_zex8 = _idaapi.TRIMEDIA_zex8 +TRIMEDIA_ident = _idaapi.TRIMEDIA_ident +TRIMEDIA_iles = _idaapi.TRIMEDIA_iles +TRIMEDIA_ileq = _idaapi.TRIMEDIA_ileq +TRIMEDIA_ules = _idaapi.TRIMEDIA_ules +TRIMEDIA_uleq = _idaapi.TRIMEDIA_uleq +TRIMEDIA_fles = _idaapi.TRIMEDIA_fles +TRIMEDIA_fleq = _idaapi.TRIMEDIA_fleq +TRIMEDIA_ueql = _idaapi.TRIMEDIA_ueql +TRIMEDIA_uneq = _idaapi.TRIMEDIA_uneq +TRIMEDIA_flesflags = _idaapi.TRIMEDIA_flesflags +TRIMEDIA_fleqflags = _idaapi.TRIMEDIA_fleqflags +TRIMEDIA_borrow = _idaapi.TRIMEDIA_borrow +TRIMEDIA_umin = _idaapi.TRIMEDIA_umin +TRIMEDIA_lsl = _idaapi.TRIMEDIA_lsl +TRIMEDIA_lsli = _idaapi.TRIMEDIA_lsli +TRIMEDIA_last = _idaapi.TRIMEDIA_last +NEC_78K_0_null = _idaapi.NEC_78K_0_null +NEC_78K_0_mov = _idaapi.NEC_78K_0_mov +NEC_78K_0_xch = _idaapi.NEC_78K_0_xch +NEC_78K_0_movw = _idaapi.NEC_78K_0_movw +NEC_78K_0_xchw = _idaapi.NEC_78K_0_xchw +NEC_78K_0_add = _idaapi.NEC_78K_0_add +NEC_78K_0_addc = _idaapi.NEC_78K_0_addc +NEC_78K_0_sub = _idaapi.NEC_78K_0_sub +NEC_78K_0_subc = _idaapi.NEC_78K_0_subc +NEC_78K_0_and = _idaapi.NEC_78K_0_and +NEC_78K_0_or = _idaapi.NEC_78K_0_or +NEC_78K_0_xor = _idaapi.NEC_78K_0_xor +NEC_78K_0_cmp = _idaapi.NEC_78K_0_cmp +NEC_78K_0_addw = _idaapi.NEC_78K_0_addw +NEC_78K_0_subw = _idaapi.NEC_78K_0_subw +NEC_78K_0_cmpw = _idaapi.NEC_78K_0_cmpw +NEC_78K_0_mulu = _idaapi.NEC_78K_0_mulu +NEC_78K_0_divuw = _idaapi.NEC_78K_0_divuw +NEC_78K_0_inc = _idaapi.NEC_78K_0_inc +NEC_78K_0_dec = _idaapi.NEC_78K_0_dec +NEC_78K_0_incw = _idaapi.NEC_78K_0_incw +NEC_78K_0_decw = _idaapi.NEC_78K_0_decw +NEC_78K_0_ror = _idaapi.NEC_78K_0_ror +NEC_78K_0_rol = _idaapi.NEC_78K_0_rol +NEC_78K_0_rorc = _idaapi.NEC_78K_0_rorc +NEC_78K_0_rolc = _idaapi.NEC_78K_0_rolc +NEC_78K_0_ror4 = _idaapi.NEC_78K_0_ror4 +NEC_78K_0_rol4 = _idaapi.NEC_78K_0_rol4 +NEC_78K_0_adjba = _idaapi.NEC_78K_0_adjba +NEC_78K_0_adjbs = _idaapi.NEC_78K_0_adjbs +NEC_78K_0_mov1 = _idaapi.NEC_78K_0_mov1 +NEC_78K_0_and1 = _idaapi.NEC_78K_0_and1 +NEC_78K_0_or1 = _idaapi.NEC_78K_0_or1 +NEC_78K_0_xor1 = _idaapi.NEC_78K_0_xor1 +NEC_78K_0_set1 = _idaapi.NEC_78K_0_set1 +NEC_78K_0_clr1 = _idaapi.NEC_78K_0_clr1 +NEC_78K_0_not1 = _idaapi.NEC_78K_0_not1 +NEC_78K_0_call = _idaapi.NEC_78K_0_call +NEC_78K_0_callf = _idaapi.NEC_78K_0_callf +NEC_78K_0_callt = _idaapi.NEC_78K_0_callt +NEC_78K_0_brk = _idaapi.NEC_78K_0_brk +NEC_78K_0_ret = _idaapi.NEC_78K_0_ret +NEC_78K_0_retb = _idaapi.NEC_78K_0_retb +NEC_78K_0_reti = _idaapi.NEC_78K_0_reti +NEC_78K_0_push = _idaapi.NEC_78K_0_push +NEC_78K_0_pop = _idaapi.NEC_78K_0_pop +NEC_78K_0_br = _idaapi.NEC_78K_0_br +NEC_78K_0_bc = _idaapi.NEC_78K_0_bc +NEC_78K_0_bnc = _idaapi.NEC_78K_0_bnc +NEC_78K_0_bz = _idaapi.NEC_78K_0_bz +NEC_78K_0_bnz = _idaapi.NEC_78K_0_bnz +NEC_78K_0_bt = _idaapi.NEC_78K_0_bt +NEC_78K_0_bf = _idaapi.NEC_78K_0_bf +NEC_78K_0_btclr = _idaapi.NEC_78K_0_btclr +NEC_78K_0_dbnz = _idaapi.NEC_78K_0_dbnz +NEC_78K_0_sel = _idaapi.NEC_78K_0_sel +NEC_78K_0_nop = _idaapi.NEC_78K_0_nop +NEC_78K_0_EI = _idaapi.NEC_78K_0_EI +NEC_78K_0_DI = _idaapi.NEC_78K_0_DI +NEC_78K_0_HALT = _idaapi.NEC_78K_0_HALT +NEC_78K_0_STOP = _idaapi.NEC_78K_0_STOP +NEC_78K_0_last = _idaapi.NEC_78K_0_last +NEC_78K_0S_null = _idaapi.NEC_78K_0S_null +NEC_78K_0S_cmp = _idaapi.NEC_78K_0S_cmp +NEC_78K_0S_xor = _idaapi.NEC_78K_0S_xor +NEC_78K_0S_and = _idaapi.NEC_78K_0S_and +NEC_78K_0S_or = _idaapi.NEC_78K_0S_or +NEC_78K_0S_add = _idaapi.NEC_78K_0S_add +NEC_78K_0S_sub = _idaapi.NEC_78K_0S_sub +NEC_78K_0S_addc = _idaapi.NEC_78K_0S_addc +NEC_78K_0S_subc = _idaapi.NEC_78K_0S_subc +NEC_78K_0S_subw = _idaapi.NEC_78K_0S_subw +NEC_78K_0S_addw = _idaapi.NEC_78K_0S_addw +NEC_78K_0S_cmpw = _idaapi.NEC_78K_0S_cmpw +NEC_78K_0S_inc = _idaapi.NEC_78K_0S_inc +NEC_78K_0S_dec = _idaapi.NEC_78K_0S_dec +NEC_78K_0S_incw = _idaapi.NEC_78K_0S_incw +NEC_78K_0S_decw = _idaapi.NEC_78K_0S_decw +NEC_78K_0S_ror = _idaapi.NEC_78K_0S_ror +NEC_78K_0S_rol = _idaapi.NEC_78K_0S_rol +NEC_78K_0S_rorc = _idaapi.NEC_78K_0S_rorc +NEC_78K_0S_rolc = _idaapi.NEC_78K_0S_rolc +NEC_78K_0S_call = _idaapi.NEC_78K_0S_call +NEC_78K_0S_callt = _idaapi.NEC_78K_0S_callt +NEC_78K_0S_ret = _idaapi.NEC_78K_0S_ret +NEC_78K_0S_reti = _idaapi.NEC_78K_0S_reti +NEC_78K_0S_mov = _idaapi.NEC_78K_0S_mov +NEC_78K_0S_xch = _idaapi.NEC_78K_0S_xch +NEC_78K_0S_xchw = _idaapi.NEC_78K_0S_xchw +NEC_78K_0S_set1 = _idaapi.NEC_78K_0S_set1 +NEC_78K_0S_clr1 = _idaapi.NEC_78K_0S_clr1 +NEC_78K_0S_not1 = _idaapi.NEC_78K_0S_not1 +NEC_78K_0S_push = _idaapi.NEC_78K_0S_push +NEC_78K_0S_pop = _idaapi.NEC_78K_0S_pop +NEC_78K_0S_movw = _idaapi.NEC_78K_0S_movw +NEC_78K_0S_br = _idaapi.NEC_78K_0S_br +NEC_78K_0S_bc = _idaapi.NEC_78K_0S_bc +NEC_78K_0S_bnc = _idaapi.NEC_78K_0S_bnc +NEC_78K_0S_bz = _idaapi.NEC_78K_0S_bz +NEC_78K_0S_bnz = _idaapi.NEC_78K_0S_bnz +NEC_78K_0S_bt = _idaapi.NEC_78K_0S_bt +NEC_78K_0S_bf = _idaapi.NEC_78K_0S_bf +NEC_78K_0S_dbnz = _idaapi.NEC_78K_0S_dbnz +NEC_78K_0S_nop = _idaapi.NEC_78K_0S_nop +NEC_78K_0S_EI = _idaapi.NEC_78K_0S_EI +NEC_78K_0S_DI = _idaapi.NEC_78K_0S_DI +NEC_78K_0S_HALT = _idaapi.NEC_78K_0S_HALT +NEC_78K_0S_STOP = _idaapi.NEC_78K_0S_STOP +NEC_78K_0S_last = _idaapi.NEC_78K_0S_last +M16C_null = _idaapi.M16C_null +M16C_abs = _idaapi.M16C_abs +M16C_adc = _idaapi.M16C_adc +M16C_adcf = _idaapi.M16C_adcf +M16C_add = _idaapi.M16C_add +M16C_adjnz = _idaapi.M16C_adjnz +M16C_and = _idaapi.M16C_and +M16C_band = _idaapi.M16C_band +M16C_bclr = _idaapi.M16C_bclr +M16C_bmcnd = _idaapi.M16C_bmcnd +M16C_bmgeu = _idaapi.M16C_bmgeu +M16C_bmgtu = _idaapi.M16C_bmgtu +M16C_bmeq = _idaapi.M16C_bmeq +M16C_bmn = _idaapi.M16C_bmn +M16C_bmle = _idaapi.M16C_bmle +M16C_bmo = _idaapi.M16C_bmo +M16C_bmge = _idaapi.M16C_bmge +M16C_bmltu = _idaapi.M16C_bmltu +M16C_bmleu = _idaapi.M16C_bmleu +M16C_bmne = _idaapi.M16C_bmne +M16C_bmpz = _idaapi.M16C_bmpz +M16C_bmgt = _idaapi.M16C_bmgt +M16C_bmno = _idaapi.M16C_bmno +M16C_bmlt = _idaapi.M16C_bmlt +M16C_bnand = _idaapi.M16C_bnand +M16C_bnor = _idaapi.M16C_bnor +M16C_bnot = _idaapi.M16C_bnot +M16C_bntst = _idaapi.M16C_bntst +M16C_bnxor = _idaapi.M16C_bnxor +M16C_bor = _idaapi.M16C_bor +M16C_brk = _idaapi.M16C_brk +M16C_bset = _idaapi.M16C_bset +M16C_btst = _idaapi.M16C_btst +M16C_btstc = _idaapi.M16C_btstc +M16C_btsts = _idaapi.M16C_btsts +M16C_bxor = _idaapi.M16C_bxor +M16C_cmp = _idaapi.M16C_cmp +M16C_dadc = _idaapi.M16C_dadc +M16C_dadd = _idaapi.M16C_dadd +M16C_dec = _idaapi.M16C_dec +M16C_div = _idaapi.M16C_div +M16C_divu = _idaapi.M16C_divu +M16C_divx = _idaapi.M16C_divx +M16C_dsbb = _idaapi.M16C_dsbb +M16C_dsub = _idaapi.M16C_dsub +M16C_enter = _idaapi.M16C_enter +M16C_exitd = _idaapi.M16C_exitd +M16C_exts = _idaapi.M16C_exts +M16C_fclr = _idaapi.M16C_fclr +M16C_fset = _idaapi.M16C_fset +M16C_inc = _idaapi.M16C_inc +M16C_int = _idaapi.M16C_int +M16C_into = _idaapi.M16C_into +M16C_jcnd = _idaapi.M16C_jcnd +M16C_jgeu = _idaapi.M16C_jgeu +M16C_jgtu = _idaapi.M16C_jgtu +M16C_jeq = _idaapi.M16C_jeq +M16C_jn = _idaapi.M16C_jn +M16C_jle = _idaapi.M16C_jle +M16C_jo = _idaapi.M16C_jo +M16C_jge = _idaapi.M16C_jge +M16C_jltu = _idaapi.M16C_jltu +M16C_jleu = _idaapi.M16C_jleu +M16C_jne = _idaapi.M16C_jne +M16C_jpz = _idaapi.M16C_jpz +M16C_jgt = _idaapi.M16C_jgt +M16C_jno = _idaapi.M16C_jno +M16C_jlt = _idaapi.M16C_jlt +M16C_jmp = _idaapi.M16C_jmp +M16C_jmpi = _idaapi.M16C_jmpi +M16C_jmps = _idaapi.M16C_jmps +M16C_jsr = _idaapi.M16C_jsr +M16C_jsri = _idaapi.M16C_jsri +M16C_jsrs = _idaapi.M16C_jsrs +M16C_ldc = _idaapi.M16C_ldc +M16C_ldctx = _idaapi.M16C_ldctx +M16C_lde = _idaapi.M16C_lde +M16C_ldintb = _idaapi.M16C_ldintb +M16C_ldipl = _idaapi.M16C_ldipl +M16C_mov = _idaapi.M16C_mov +M16C_mova = _idaapi.M16C_mova +M16C_movhh = _idaapi.M16C_movhh +M16C_movhl = _idaapi.M16C_movhl +M16C_movlh = _idaapi.M16C_movlh +M16C_movll = _idaapi.M16C_movll +M16C_mul = _idaapi.M16C_mul +M16C_mulu = _idaapi.M16C_mulu +M16C_neg = _idaapi.M16C_neg +M16C_nop = _idaapi.M16C_nop +M16C_not = _idaapi.M16C_not +M16C_or = _idaapi.M16C_or +M16C_pop = _idaapi.M16C_pop +M16C_popc = _idaapi.M16C_popc +M16C_popm = _idaapi.M16C_popm +M16C_push = _idaapi.M16C_push +M16C_pusha = _idaapi.M16C_pusha +M16C_pushc = _idaapi.M16C_pushc +M16C_pushm = _idaapi.M16C_pushm +M16C_reit = _idaapi.M16C_reit +M16C_rmpa = _idaapi.M16C_rmpa +M16C_rolc = _idaapi.M16C_rolc +M16C_rorc = _idaapi.M16C_rorc +M16C_rot = _idaapi.M16C_rot +M16C_rts = _idaapi.M16C_rts +M16C_sbb = _idaapi.M16C_sbb +M16C_sbjnz = _idaapi.M16C_sbjnz +M16C_sha = _idaapi.M16C_sha +M16C_shl = _idaapi.M16C_shl +M16C_smovb = _idaapi.M16C_smovb +M16C_smovf = _idaapi.M16C_smovf +M16C_sstr = _idaapi.M16C_sstr +M16C_stc = _idaapi.M16C_stc +M16C_stctx = _idaapi.M16C_stctx +M16C_ste = _idaapi.M16C_ste +M16C_stnz = _idaapi.M16C_stnz +M16C_stz = _idaapi.M16C_stz +M16C_stzx = _idaapi.M16C_stzx +M16C_sub = _idaapi.M16C_sub +M16C_tst = _idaapi.M16C_tst +M16C_und = _idaapi.M16C_und +M16C_wait = _idaapi.M16C_wait +M16C_xchg = _idaapi.M16C_xchg +M16C_xor = _idaapi.M16C_xor +M16C_last = _idaapi.M16C_last +m32r_null = _idaapi.m32r_null +m32r_add = _idaapi.m32r_add +m32r_add3 = _idaapi.m32r_add3 +m32r_addi = _idaapi.m32r_addi +m32r_addv = _idaapi.m32r_addv +m32r_addv3 = _idaapi.m32r_addv3 +m32r_addx = _idaapi.m32r_addx +m32r_and = _idaapi.m32r_and +m32r_and3 = _idaapi.m32r_and3 +m32r_bc = _idaapi.m32r_bc +m32r_beq = _idaapi.m32r_beq +m32r_beqz = _idaapi.m32r_beqz +m32r_bgez = _idaapi.m32r_bgez +m32r_bgtz = _idaapi.m32r_bgtz +m32r_bl = _idaapi.m32r_bl +m32r_blez = _idaapi.m32r_blez +m32r_bltz = _idaapi.m32r_bltz +m32r_bnc = _idaapi.m32r_bnc +m32r_bne = _idaapi.m32r_bne +m32r_bnez = _idaapi.m32r_bnez +m32r_bra = _idaapi.m32r_bra +m32r_cmp = _idaapi.m32r_cmp +m32r_cmpi = _idaapi.m32r_cmpi +m32r_cmpu = _idaapi.m32r_cmpu +m32r_cmpui = _idaapi.m32r_cmpui +m32r_div = _idaapi.m32r_div +m32r_divu = _idaapi.m32r_divu +m32r_jl = _idaapi.m32r_jl +m32r_jmp = _idaapi.m32r_jmp +m32r_ld = _idaapi.m32r_ld +m32r_ld24 = _idaapi.m32r_ld24 +m32r_ldb = _idaapi.m32r_ldb +m32r_ldh = _idaapi.m32r_ldh +m32r_ldi = _idaapi.m32r_ldi +m32r_ldub = _idaapi.m32r_ldub +m32r_lduh = _idaapi.m32r_lduh +m32r_lock = _idaapi.m32r_lock +m32r_machi = _idaapi.m32r_machi +m32r_maclo = _idaapi.m32r_maclo +m32r_macwhi = _idaapi.m32r_macwhi +m32r_macwlo = _idaapi.m32r_macwlo +m32r_mul = _idaapi.m32r_mul +m32r_mulhi = _idaapi.m32r_mulhi +m32r_mullo = _idaapi.m32r_mullo +m32r_mulwhi = _idaapi.m32r_mulwhi +m32r_mulwlo = _idaapi.m32r_mulwlo +m32r_mv = _idaapi.m32r_mv +m32r_mvfachi = _idaapi.m32r_mvfachi +m32r_mvfaclo = _idaapi.m32r_mvfaclo +m32r_mvfacmi = _idaapi.m32r_mvfacmi +m32r_mvfc = _idaapi.m32r_mvfc +m32r_mvtachi = _idaapi.m32r_mvtachi +m32r_mvtaclo = _idaapi.m32r_mvtaclo +m32r_mvtc = _idaapi.m32r_mvtc +m32r_neg = _idaapi.m32r_neg +m32r_nop = _idaapi.m32r_nop +m32r_not = _idaapi.m32r_not +m32r_or = _idaapi.m32r_or +m32r_or3 = _idaapi.m32r_or3 +m32r_push = _idaapi.m32r_push +m32r_pop = _idaapi.m32r_pop +m32r_rac = _idaapi.m32r_rac +m32r_rach = _idaapi.m32r_rach +m32r_rem = _idaapi.m32r_rem +m32r_remu = _idaapi.m32r_remu +m32r_rte = _idaapi.m32r_rte +m32r_seth = _idaapi.m32r_seth +m32r_sll = _idaapi.m32r_sll +m32r_sll3 = _idaapi.m32r_sll3 +m32r_slli = _idaapi.m32r_slli +m32r_sra = _idaapi.m32r_sra +m32r_sra3 = _idaapi.m32r_sra3 +m32r_srai = _idaapi.m32r_srai +m32r_srl = _idaapi.m32r_srl +m32r_srl3 = _idaapi.m32r_srl3 +m32r_srli = _idaapi.m32r_srli +m32r_st = _idaapi.m32r_st +m32r_stb = _idaapi.m32r_stb +m32r_sth = _idaapi.m32r_sth +m32r_sub = _idaapi.m32r_sub +m32r_subv = _idaapi.m32r_subv +m32r_subx = _idaapi.m32r_subx +m32r_trap = _idaapi.m32r_trap +m32r_unlock = _idaapi.m32r_unlock +m32r_xor = _idaapi.m32r_xor +m32r_xor3 = _idaapi.m32r_xor3 +m32rx_bcl = _idaapi.m32rx_bcl +m32rx_bncl = _idaapi.m32rx_bncl +m32rx_cmpeq = _idaapi.m32rx_cmpeq +m32rx_cmpz = _idaapi.m32rx_cmpz +m32rx_divh = _idaapi.m32rx_divh +m32rx_jc = _idaapi.m32rx_jc +m32rx_jnc = _idaapi.m32rx_jnc +m32rx_machi = _idaapi.m32rx_machi +m32rx_maclo = _idaapi.m32rx_maclo +m32rx_macwhi = _idaapi.m32rx_macwhi +m32rx_macwlo = _idaapi.m32rx_macwlo +m32rx_mulhi = _idaapi.m32rx_mulhi +m32rx_mullo = _idaapi.m32rx_mullo +m32rx_mulwhi = _idaapi.m32rx_mulwhi +m32rx_mulwlo = _idaapi.m32rx_mulwlo +m32rx_mvfachi = _idaapi.m32rx_mvfachi +m32rx_mvfaclo = _idaapi.m32rx_mvfaclo +m32rx_mvfacmi = _idaapi.m32rx_mvfacmi +m32rx_mvtachi = _idaapi.m32rx_mvtachi +m32rx_mvtaclo = _idaapi.m32rx_mvtaclo +m32rx_rac = _idaapi.m32rx_rac +m32rx_rach = _idaapi.m32rx_rach +m32rx_satb = _idaapi.m32rx_satb +m32rx_sath = _idaapi.m32rx_sath +m32rx_sat = _idaapi.m32rx_sat +m32rx_pcmpbz = _idaapi.m32rx_pcmpbz +m32rx_sadd = _idaapi.m32rx_sadd +m32rx_macwu1 = _idaapi.m32rx_macwu1 +m32rx_msblo = _idaapi.m32rx_msblo +m32rx_mulwu1 = _idaapi.m32rx_mulwu1 +m32rx_maclh1 = _idaapi.m32rx_maclh1 +m32rx_sc = _idaapi.m32rx_sc +m32rx_snc = _idaapi.m32rx_snc +m32r_fadd = _idaapi.m32r_fadd +m32r_fsub = _idaapi.m32r_fsub +m32r_fmul = _idaapi.m32r_fmul +m32r_fdiv = _idaapi.m32r_fdiv +m32r_fmadd = _idaapi.m32r_fmadd +m32r_fmsub = _idaapi.m32r_fmsub +m32r_itof = _idaapi.m32r_itof +m32r_utof = _idaapi.m32r_utof +m32r_ftoi = _idaapi.m32r_ftoi +m32r_ftos = _idaapi.m32r_ftos +m32r_fcmp = _idaapi.m32r_fcmp +m32r_fcmpe = _idaapi.m32r_fcmpe +m32r_bset = _idaapi.m32r_bset +m32r_bclr = _idaapi.m32r_bclr +m32r_btst = _idaapi.m32r_btst +m32r_setpsw = _idaapi.m32r_setpsw +m32r_clrpsw = _idaapi.m32r_clrpsw +m32r_last = _idaapi.m32r_last +m740_null = _idaapi.m740_null +m740_adc = _idaapi.m740_adc +m740_and = _idaapi.m740_and +m740_asl = _idaapi.m740_asl +m740_bbc = _idaapi.m740_bbc +m740_bbs = _idaapi.m740_bbs +m740_bcc = _idaapi.m740_bcc +m740_bcs = _idaapi.m740_bcs +m740_beq = _idaapi.m740_beq +m740_bit = _idaapi.m740_bit +m740_bmi = _idaapi.m740_bmi +m740_bne = _idaapi.m740_bne +m740_bpl = _idaapi.m740_bpl +m740_bra = _idaapi.m740_bra +m740_brk = _idaapi.m740_brk +m740_bvc = _idaapi.m740_bvc +m740_bvs = _idaapi.m740_bvs +m740_clb = _idaapi.m740_clb +m740_clc = _idaapi.m740_clc +m740_cld = _idaapi.m740_cld +m740_cli = _idaapi.m740_cli +m740_clt = _idaapi.m740_clt +m740_clv = _idaapi.m740_clv +m740_cmp = _idaapi.m740_cmp +m740_com = _idaapi.m740_com +m740_cpx = _idaapi.m740_cpx +m740_cpy = _idaapi.m740_cpy +m740_dec = _idaapi.m740_dec +m740_dex = _idaapi.m740_dex +m740_dey = _idaapi.m740_dey +m740_div = _idaapi.m740_div +m740_eor = _idaapi.m740_eor +m740_inc = _idaapi.m740_inc +m740_inx = _idaapi.m740_inx +m740_iny = _idaapi.m740_iny +m740_jmp = _idaapi.m740_jmp +m740_jsr = _idaapi.m740_jsr +m740_lda = _idaapi.m740_lda +m740_ldm = _idaapi.m740_ldm +m740_ldx = _idaapi.m740_ldx +m740_ldy = _idaapi.m740_ldy +m740_lsr = _idaapi.m740_lsr +m740_mul = _idaapi.m740_mul +m740_nop = _idaapi.m740_nop +m740_ora = _idaapi.m740_ora +m740_pha = _idaapi.m740_pha +m740_php = _idaapi.m740_php +m740_pla = _idaapi.m740_pla +m740_plp = _idaapi.m740_plp +m740_rol = _idaapi.m740_rol +m740_ror = _idaapi.m740_ror +m740_rrf = _idaapi.m740_rrf +m740_rti = _idaapi.m740_rti +m740_rts = _idaapi.m740_rts +m740_sbc = _idaapi.m740_sbc +m740_seb = _idaapi.m740_seb +m740_sec = _idaapi.m740_sec +m740_sed = _idaapi.m740_sed +m740_sei = _idaapi.m740_sei +m740_set = _idaapi.m740_set +m740_sta = _idaapi.m740_sta +m740_stp = _idaapi.m740_stp +m740_stx = _idaapi.m740_stx +m740_sty = _idaapi.m740_sty +m740_tax = _idaapi.m740_tax +m740_tay = _idaapi.m740_tay +m740_tst = _idaapi.m740_tst +m740_tsx = _idaapi.m740_tsx +m740_txa = _idaapi.m740_txa +m740_txs = _idaapi.m740_txs +m740_tya = _idaapi.m740_tya +m740_wit = _idaapi.m740_wit +m740_last = _idaapi.m740_last +m7700_null = _idaapi.m7700_null +m7700_adc = _idaapi.m7700_adc +m7700_and = _idaapi.m7700_and +m7700_asl = _idaapi.m7700_asl +m7700_bbc = _idaapi.m7700_bbc +m7700_bbs = _idaapi.m7700_bbs +m7700_bcc = _idaapi.m7700_bcc +m7700_bcs = _idaapi.m7700_bcs +m7700_beq = _idaapi.m7700_beq +m7700_bmi = _idaapi.m7700_bmi +m7700_bne = _idaapi.m7700_bne +m7700_bpl = _idaapi.m7700_bpl +m7700_bra = _idaapi.m7700_bra +m7700_brk = _idaapi.m7700_brk +m7700_bvc = _idaapi.m7700_bvc +m7700_bvs = _idaapi.m7700_bvs +m7700_clb = _idaapi.m7700_clb +m7700_clc = _idaapi.m7700_clc +m7700_cli = _idaapi.m7700_cli +m7700_clm = _idaapi.m7700_clm +m7700_clp = _idaapi.m7700_clp +m7700_clv = _idaapi.m7700_clv +m7700_cmp = _idaapi.m7700_cmp +m7700_cpx = _idaapi.m7700_cpx +m7700_cpy = _idaapi.m7700_cpy +m7700_dec = _idaapi.m7700_dec +m7700_dex = _idaapi.m7700_dex +m7700_dey = _idaapi.m7700_dey +m7700_div = _idaapi.m7700_div +m7700_eor = _idaapi.m7700_eor +m7700_inc = _idaapi.m7700_inc +m7700_inx = _idaapi.m7700_inx +m7700_iny = _idaapi.m7700_iny +m7700_jmp = _idaapi.m7700_jmp +m7700_jsr = _idaapi.m7700_jsr +m7700_lda = _idaapi.m7700_lda +m7700_ldm = _idaapi.m7700_ldm +m7700_ldt = _idaapi.m7700_ldt +m7700_ldx = _idaapi.m7700_ldx +m7700_ldy = _idaapi.m7700_ldy +m7700_lsr = _idaapi.m7700_lsr +m7700_mpy = _idaapi.m7700_mpy +m7700_mvn = _idaapi.m7700_mvn +m7700_mvp = _idaapi.m7700_mvp +m7700_nop = _idaapi.m7700_nop +m7700_ora = _idaapi.m7700_ora +m7700_pea = _idaapi.m7700_pea +m7700_pei = _idaapi.m7700_pei +m7700_per = _idaapi.m7700_per +m7700_pha = _idaapi.m7700_pha +m7700_phb = _idaapi.m7700_phb +m7700_phd = _idaapi.m7700_phd +m7700_phg = _idaapi.m7700_phg +m7700_php = _idaapi.m7700_php +m7700_pht = _idaapi.m7700_pht +m7700_phx = _idaapi.m7700_phx +m7700_phy = _idaapi.m7700_phy +m7700_pla = _idaapi.m7700_pla +m7700_plb = _idaapi.m7700_plb +m7700_pld = _idaapi.m7700_pld +m7700_plp = _idaapi.m7700_plp +m7700_plt = _idaapi.m7700_plt +m7700_plx = _idaapi.m7700_plx +m7700_ply = _idaapi.m7700_ply +m7700_psh = _idaapi.m7700_psh +m7700_pul = _idaapi.m7700_pul +m7700_rla = _idaapi.m7700_rla +m7700_rol = _idaapi.m7700_rol +m7700_ror = _idaapi.m7700_ror +m7700_rti = _idaapi.m7700_rti +m7700_rtl = _idaapi.m7700_rtl +m7700_rts = _idaapi.m7700_rts +m7700_sbc = _idaapi.m7700_sbc +m7700_seb = _idaapi.m7700_seb +m7700_sec = _idaapi.m7700_sec +m7700_sei = _idaapi.m7700_sei +m7700_sem = _idaapi.m7700_sem +m7700_sep = _idaapi.m7700_sep +m7700_sta = _idaapi.m7700_sta +m7700_stp = _idaapi.m7700_stp +m7700_stx = _idaapi.m7700_stx +m7700_sty = _idaapi.m7700_sty +m7700_tad = _idaapi.m7700_tad +m7700_tas = _idaapi.m7700_tas +m7700_tax = _idaapi.m7700_tax +m7700_tay = _idaapi.m7700_tay +m7700_tbd = _idaapi.m7700_tbd +m7700_tbs = _idaapi.m7700_tbs +m7700_tbx = _idaapi.m7700_tbx +m7700_tby = _idaapi.m7700_tby +m7700_tda = _idaapi.m7700_tda +m7700_tdb = _idaapi.m7700_tdb +m7700_tsa = _idaapi.m7700_tsa +m7700_tsb = _idaapi.m7700_tsb +m7700_tsx = _idaapi.m7700_tsx +m7700_txa = _idaapi.m7700_txa +m7700_txb = _idaapi.m7700_txb +m7700_txs = _idaapi.m7700_txs +m7700_txy = _idaapi.m7700_txy +m7700_tya = _idaapi.m7700_tya +m7700_tyb = _idaapi.m7700_tyb +m7700_tyx = _idaapi.m7700_tyx +m7700_wit = _idaapi.m7700_wit +m7700_xab = _idaapi.m7700_xab +m7750_asr = _idaapi.m7750_asr +m7750_divs = _idaapi.m7750_divs +m7750_exts = _idaapi.m7750_exts +m7750_extz = _idaapi.m7750_extz +m7750_mpys = _idaapi.m7750_mpys +m7700_last = _idaapi.m7700_last +m7900_null = _idaapi.m7900_null +m7900_abs = _idaapi.m7900_abs +m7900_absd = _idaapi.m7900_absd +m7900_adc = _idaapi.m7900_adc +m7900_adcb = _idaapi.m7900_adcb +m7900_adcd = _idaapi.m7900_adcd +m7900_add = _idaapi.m7900_add +m7900_addb = _idaapi.m7900_addb +m7900_addd = _idaapi.m7900_addd +m7900_addm = _idaapi.m7900_addm +m7900_addmb = _idaapi.m7900_addmb +m7900_addmd = _idaapi.m7900_addmd +m7900_adds = _idaapi.m7900_adds +m7900_addx = _idaapi.m7900_addx +m7900_addy = _idaapi.m7900_addy +m7900_and = _idaapi.m7900_and +m7900_andb = _idaapi.m7900_andb +m7900_andm = _idaapi.m7900_andm +m7900_andmb = _idaapi.m7900_andmb +m7900_andmd = _idaapi.m7900_andmd +m7900_asl = _idaapi.m7900_asl +m7900_asln = _idaapi.m7900_asln +m7900_asldn = _idaapi.m7900_asldn +m7900_asr = _idaapi.m7900_asr +m7900_asrn = _idaapi.m7900_asrn +m7900_asrdn = _idaapi.m7900_asrdn +m7900_bbc = _idaapi.m7900_bbc +m7900_bbcb = _idaapi.m7900_bbcb +m7900_bbs = _idaapi.m7900_bbs +m7900_bbsb = _idaapi.m7900_bbsb +m7900_bcc = _idaapi.m7900_bcc +m7900_bcs = _idaapi.m7900_bcs +m7900_beq = _idaapi.m7900_beq +m7900_bge = _idaapi.m7900_bge +m7900_bgt = _idaapi.m7900_bgt +m7900_bgtu = _idaapi.m7900_bgtu +m7900_ble = _idaapi.m7900_ble +m7900_bleu = _idaapi.m7900_bleu +m7900_blt = _idaapi.m7900_blt +m7900_bmi = _idaapi.m7900_bmi +m7900_bne = _idaapi.m7900_bne +m7900_bpl = _idaapi.m7900_bpl +m7900_bra = _idaapi.m7900_bra +m7900_bral = _idaapi.m7900_bral +m7900_brk = _idaapi.m7900_brk +m7900_bsc = _idaapi.m7900_bsc +m7900_bsr = _idaapi.m7900_bsr +m7900_bss = _idaapi.m7900_bss +m7900_bvc = _idaapi.m7900_bvc +m7900_bvs = _idaapi.m7900_bvs +m7900_cbeq = _idaapi.m7900_cbeq +m7900_cbeqb = _idaapi.m7900_cbeqb +m7900_cbne = _idaapi.m7900_cbne +m7900_cbneb = _idaapi.m7900_cbneb +m7900_clc = _idaapi.m7900_clc +m7900_cli = _idaapi.m7900_cli +m7900_clm = _idaapi.m7900_clm +m7900_clp = _idaapi.m7900_clp +m7900_clr = _idaapi.m7900_clr +m7900_clrb = _idaapi.m7900_clrb +m7900_clrm = _idaapi.m7900_clrm +m7900_clrmb = _idaapi.m7900_clrmb +m7900_clrx = _idaapi.m7900_clrx +m7900_clry = _idaapi.m7900_clry +m7900_clv = _idaapi.m7900_clv +m7900_cmp = _idaapi.m7900_cmp +m7900_cmpb = _idaapi.m7900_cmpb +m7900_cmpd = _idaapi.m7900_cmpd +m7900_cmpm = _idaapi.m7900_cmpm +m7900_cmpmb = _idaapi.m7900_cmpmb +m7900_cmpmd = _idaapi.m7900_cmpmd +m7900_cpx = _idaapi.m7900_cpx +m7900_cpy = _idaapi.m7900_cpy +m7900_debne = _idaapi.m7900_debne +m7900_dec = _idaapi.m7900_dec +m7900_dex = _idaapi.m7900_dex +m7900_dey = _idaapi.m7900_dey +m7900_div = _idaapi.m7900_div +m7900_divs = _idaapi.m7900_divs +m7900_dxbne = _idaapi.m7900_dxbne +m7900_dybne = _idaapi.m7900_dybne +m7900_eor = _idaapi.m7900_eor +m7900_eorb = _idaapi.m7900_eorb +m7900_eorm = _idaapi.m7900_eorm +m7900_eormb = _idaapi.m7900_eormb +m7900_eormd = _idaapi.m7900_eormd +m7900_exts = _idaapi.m7900_exts +m7900_extsd = _idaapi.m7900_extsd +m7900_extz = _idaapi.m7900_extz +m7900_extzd = _idaapi.m7900_extzd +m7900_inc = _idaapi.m7900_inc +m7900_inx = _idaapi.m7900_inx +m7900_iny = _idaapi.m7900_iny +m7900_jmp = _idaapi.m7900_jmp +m7900_jmpl = _idaapi.m7900_jmpl +m7900_jsr = _idaapi.m7900_jsr +m7900_jsrl = _idaapi.m7900_jsrl +m7900_lda = _idaapi.m7900_lda +m7900_ldab = _idaapi.m7900_ldab +m7900_ldad = _idaapi.m7900_ldad +m7900_lddn = _idaapi.m7900_lddn +m7900_ldt = _idaapi.m7900_ldt +m7900_ldx = _idaapi.m7900_ldx +m7900_ldxb = _idaapi.m7900_ldxb +m7900_ldy = _idaapi.m7900_ldy +m7900_ldyb = _idaapi.m7900_ldyb +m7900_lsr = _idaapi.m7900_lsr +m7900_lsrn = _idaapi.m7900_lsrn +m7900_lsrdn = _idaapi.m7900_lsrdn +m7900_movm = _idaapi.m7900_movm +m7900_movmb = _idaapi.m7900_movmb +m7900_movr = _idaapi.m7900_movr +m7900_movrb = _idaapi.m7900_movrb +m7900_mpy = _idaapi.m7900_mpy +m7900_mpys = _idaapi.m7900_mpys +m7900_mvn = _idaapi.m7900_mvn +m7900_mvp = _idaapi.m7900_mvp +m7900_neg = _idaapi.m7900_neg +m7900_negd = _idaapi.m7900_negd +m7900_nop = _idaapi.m7900_nop +m7900_ora = _idaapi.m7900_ora +m7900_orab = _idaapi.m7900_orab +m7900_oram = _idaapi.m7900_oram +m7900_oramb = _idaapi.m7900_oramb +m7900_oramd = _idaapi.m7900_oramd +m7900_pea = _idaapi.m7900_pea +m7900_pei = _idaapi.m7900_pei +m7900_per = _idaapi.m7900_per +m7900_pha = _idaapi.m7900_pha +m7900_phb = _idaapi.m7900_phb +m7900_phd = _idaapi.m7900_phd +m7900_phdn = _idaapi.m7900_phdn +m7900_phg = _idaapi.m7900_phg +m7900_phldn = _idaapi.m7900_phldn +m7900_php = _idaapi.m7900_php +m7900_pht = _idaapi.m7900_pht +m7900_phx = _idaapi.m7900_phx +m7900_phy = _idaapi.m7900_phy +m7900_pla = _idaapi.m7900_pla +m7900_plb = _idaapi.m7900_plb +m7900_pld = _idaapi.m7900_pld +m7900_pldn = _idaapi.m7900_pldn +m7900_plp = _idaapi.m7900_plp +m7900_plt = _idaapi.m7900_plt +m7900_plx = _idaapi.m7900_plx +m7900_ply = _idaapi.m7900_ply +m7900_psh = _idaapi.m7900_psh +m7900_pul = _idaapi.m7900_pul +m7900_rla = _idaapi.m7900_rla +m7900_rmpa = _idaapi.m7900_rmpa +m7900_rol = _idaapi.m7900_rol +m7900_roln = _idaapi.m7900_roln +m7900_roldn = _idaapi.m7900_roldn +m7900_ror = _idaapi.m7900_ror +m7900_rorn = _idaapi.m7900_rorn +m7900_rordn = _idaapi.m7900_rordn +m7900_rti = _idaapi.m7900_rti +m7900_rtl = _idaapi.m7900_rtl +m7900_rtld = _idaapi.m7900_rtld +m7900_rts = _idaapi.m7900_rts +m7900_rtsdn = _idaapi.m7900_rtsdn +m7900_sbc = _idaapi.m7900_sbc +m7900_sbcb = _idaapi.m7900_sbcb +m7900_sbcd = _idaapi.m7900_sbcd +m7900_sec = _idaapi.m7900_sec +m7900_sei = _idaapi.m7900_sei +m7900_sem = _idaapi.m7900_sem +m7900_sep = _idaapi.m7900_sep +m7900_sta = _idaapi.m7900_sta +m7900_stab = _idaapi.m7900_stab +m7900_stad = _idaapi.m7900_stad +m7900_stp = _idaapi.m7900_stp +m7900_stx = _idaapi.m7900_stx +m7900_sty = _idaapi.m7900_sty +m7900_sub = _idaapi.m7900_sub +m7900_subb = _idaapi.m7900_subb +m7900_subd = _idaapi.m7900_subd +m7900_subm = _idaapi.m7900_subm +m7900_submb = _idaapi.m7900_submb +m7900_submd = _idaapi.m7900_submd +m7900_subs = _idaapi.m7900_subs +m7900_subx = _idaapi.m7900_subx +m7900_suby = _idaapi.m7900_suby +m7900_tadn = _idaapi.m7900_tadn +m7900_tas = _idaapi.m7900_tas +m7900_tax = _idaapi.m7900_tax +m7900_tay = _idaapi.m7900_tay +m7900_tbdn = _idaapi.m7900_tbdn +m7900_tbs = _idaapi.m7900_tbs +m7900_tbx = _idaapi.m7900_tbx +m7900_tby = _idaapi.m7900_tby +m7900_tdan = _idaapi.m7900_tdan +m7900_tdbn = _idaapi.m7900_tdbn +m7900_tds = _idaapi.m7900_tds +m7900_tsa = _idaapi.m7900_tsa +m7900_tsb = _idaapi.m7900_tsb +m7900_tsd = _idaapi.m7900_tsd +m7900_tsx = _idaapi.m7900_tsx +m7900_txa = _idaapi.m7900_txa +m7900_txb = _idaapi.m7900_txb +m7900_txs = _idaapi.m7900_txs +m7900_txy = _idaapi.m7900_txy +m7900_tya = _idaapi.m7900_tya +m7900_tyb = _idaapi.m7900_tyb +m7900_tyx = _idaapi.m7900_tyx +m7900_wit = _idaapi.m7900_wit +m7900_xab = _idaapi.m7900_xab +m7900_last = _idaapi.m7900_last +st9_null = _idaapi.st9_null +st9_ld = _idaapi.st9_ld +st9_ldw = _idaapi.st9_ldw +st9_ldpp = _idaapi.st9_ldpp +st9_ldpd = _idaapi.st9_ldpd +st9_lddp = _idaapi.st9_lddp +st9_lddd = _idaapi.st9_lddd +st9_add = _idaapi.st9_add +st9_addw = _idaapi.st9_addw +st9_adc = _idaapi.st9_adc +st9_adcw = _idaapi.st9_adcw +st9_sub = _idaapi.st9_sub +st9_subw = _idaapi.st9_subw +st9_sbc = _idaapi.st9_sbc +st9_sbcw = _idaapi.st9_sbcw +st9_and = _idaapi.st9_and +st9_andw = _idaapi.st9_andw +st9_or = _idaapi.st9_or +st9_orw = _idaapi.st9_orw +st9_xor = _idaapi.st9_xor +st9_xorw = _idaapi.st9_xorw +st9_cp = _idaapi.st9_cp +st9_cpw = _idaapi.st9_cpw +st9_tm = _idaapi.st9_tm +st9_tmw = _idaapi.st9_tmw +st9_tcm = _idaapi.st9_tcm +st9_tcmw = _idaapi.st9_tcmw +st9_inc = _idaapi.st9_inc +st9_incw = _idaapi.st9_incw +st9_dec = _idaapi.st9_dec +st9_decw = _idaapi.st9_decw +st9_sla = _idaapi.st9_sla +st9_slaw = _idaapi.st9_slaw +st9_sra = _idaapi.st9_sra +st9_sraw = _idaapi.st9_sraw +st9_rrc = _idaapi.st9_rrc +st9_rrcw = _idaapi.st9_rrcw +st9_rlc = _idaapi.st9_rlc +st9_rlcw = _idaapi.st9_rlcw +st9_ror = _idaapi.st9_ror +st9_rol = _idaapi.st9_rol +st9_clr = _idaapi.st9_clr +st9_cpl = _idaapi.st9_cpl +st9_swap = _idaapi.st9_swap +st9_da = _idaapi.st9_da +st9_push = _idaapi.st9_push +st9_pushw = _idaapi.st9_pushw +st9_pea = _idaapi.st9_pea +st9_pop = _idaapi.st9_pop +st9_popw = _idaapi.st9_popw +st9_pushu = _idaapi.st9_pushu +st9_pushuw = _idaapi.st9_pushuw +st9_peau = _idaapi.st9_peau +st9_popu = _idaapi.st9_popu +st9_popuw = _idaapi.st9_popuw +st9_link = _idaapi.st9_link +st9_unlink = _idaapi.st9_unlink +st9_linku = _idaapi.st9_linku +st9_unlinku = _idaapi.st9_unlinku +st9_mul = _idaapi.st9_mul +st9_div = _idaapi.st9_div +st9_divws = _idaapi.st9_divws +st9_bset = _idaapi.st9_bset +st9_bres = _idaapi.st9_bres +st9_bcpl = _idaapi.st9_bcpl +st9_btset = _idaapi.st9_btset +st9_bld = _idaapi.st9_bld +st9_band = _idaapi.st9_band +st9_bor = _idaapi.st9_bor +st9_bxor = _idaapi.st9_bxor +st9_ret = _idaapi.st9_ret +st9_rets = _idaapi.st9_rets +st9_iret = _idaapi.st9_iret +st9_jrcc = _idaapi.st9_jrcc +st9_jpcc = _idaapi.st9_jpcc +st9_jp = _idaapi.st9_jp +st9_jps = _idaapi.st9_jps +st9_call = _idaapi.st9_call +st9_calls = _idaapi.st9_calls +st9_btjf = _idaapi.st9_btjf +st9_btjt = _idaapi.st9_btjt +st9_djnz = _idaapi.st9_djnz +st9_dwjnz = _idaapi.st9_dwjnz +st9_cpjfi = _idaapi.st9_cpjfi +st9_cpjti = _idaapi.st9_cpjti +st9_xch = _idaapi.st9_xch +st9_srp = _idaapi.st9_srp +st9_srp0 = _idaapi.st9_srp0 +st9_srp1 = _idaapi.st9_srp1 +st9_spp = _idaapi.st9_spp +st9_ext = _idaapi.st9_ext +st9_ei = _idaapi.st9_ei +st9_di = _idaapi.st9_di +st9_scf = _idaapi.st9_scf +st9_rcf = _idaapi.st9_rcf +st9_ccf = _idaapi.st9_ccf +st9_spm = _idaapi.st9_spm +st9_sdm = _idaapi.st9_sdm +st9_nop = _idaapi.st9_nop +st9_wfi = _idaapi.st9_wfi +st9_halt = _idaapi.st9_halt +st9_etrap = _idaapi.st9_etrap +st9_eret = _idaapi.st9_eret +st9_ald = _idaapi.st9_ald +st9_aldw = _idaapi.st9_aldw +st9_last = _idaapi.st9_last +fr_null = _idaapi.fr_null +fr_add = _idaapi.fr_add +fr_add2 = _idaapi.fr_add2 +fr_addc = _idaapi.fr_addc +fr_addn = _idaapi.fr_addn +fr_addn2 = _idaapi.fr_addn2 +fr_sub = _idaapi.fr_sub +fr_subc = _idaapi.fr_subc +fr_subn = _idaapi.fr_subn +fr_cmp = _idaapi.fr_cmp +fr_cmp2 = _idaapi.fr_cmp2 +fr_and = _idaapi.fr_and +fr_andh = _idaapi.fr_andh +fr_andb = _idaapi.fr_andb +fr_or = _idaapi.fr_or +fr_orh = _idaapi.fr_orh +fr_orb = _idaapi.fr_orb +fr_eor = _idaapi.fr_eor +fr_eorh = _idaapi.fr_eorh +fr_eorb = _idaapi.fr_eorb +fr_bandl = _idaapi.fr_bandl +fr_bandh = _idaapi.fr_bandh +fr_borl = _idaapi.fr_borl +fr_borh = _idaapi.fr_borh +fr_beorl = _idaapi.fr_beorl +fr_beorh = _idaapi.fr_beorh +fr_btstl = _idaapi.fr_btstl +fr_btsth = _idaapi.fr_btsth +fr_mul = _idaapi.fr_mul +fr_mulu = _idaapi.fr_mulu +fr_mulh = _idaapi.fr_mulh +fr_muluh = _idaapi.fr_muluh +fr_div0s = _idaapi.fr_div0s +fr_div0u = _idaapi.fr_div0u +fr_div1 = _idaapi.fr_div1 +fr_div2 = _idaapi.fr_div2 +fr_div3 = _idaapi.fr_div3 +fr_div4s = _idaapi.fr_div4s +fr_lsl = _idaapi.fr_lsl +fr_lsl2 = _idaapi.fr_lsl2 +fr_lsr = _idaapi.fr_lsr +fr_lsr2 = _idaapi.fr_lsr2 +fr_asr = _idaapi.fr_asr +fr_asr2 = _idaapi.fr_asr2 +fr_ldi_32 = _idaapi.fr_ldi_32 +fr_ldi_20 = _idaapi.fr_ldi_20 +fr_ldi_8 = _idaapi.fr_ldi_8 +fr_ld = _idaapi.fr_ld +fr_lduh = _idaapi.fr_lduh +fr_ldub = _idaapi.fr_ldub +fr_st = _idaapi.fr_st +fr_sth = _idaapi.fr_sth +fr_stb = _idaapi.fr_stb +fr_mov = _idaapi.fr_mov +fr_jmp = _idaapi.fr_jmp +fr_call = _idaapi.fr_call +fr_ret = _idaapi.fr_ret +fr_int = _idaapi.fr_int +fr_inte = _idaapi.fr_inte +fr_reti = _idaapi.fr_reti +fr_bra = _idaapi.fr_bra +fr_bno = _idaapi.fr_bno +fr_beq = _idaapi.fr_beq +fr_bne = _idaapi.fr_bne +fr_bc = _idaapi.fr_bc +fr_bnc = _idaapi.fr_bnc +fr_bn = _idaapi.fr_bn +fr_bp = _idaapi.fr_bp +fr_bv = _idaapi.fr_bv +fr_bnv = _idaapi.fr_bnv +fr_blt = _idaapi.fr_blt +fr_bge = _idaapi.fr_bge +fr_ble = _idaapi.fr_ble +fr_bgt = _idaapi.fr_bgt +fr_bls = _idaapi.fr_bls +fr_bhi = _idaapi.fr_bhi +fr_dmov = _idaapi.fr_dmov +fr_dmovh = _idaapi.fr_dmovh +fr_dmovb = _idaapi.fr_dmovb +fr_ldres = _idaapi.fr_ldres +fr_stres = _idaapi.fr_stres +fr_copop = _idaapi.fr_copop +fr_copld = _idaapi.fr_copld +fr_copst = _idaapi.fr_copst +fr_copsv = _idaapi.fr_copsv +fr_nop = _idaapi.fr_nop +fr_andccr = _idaapi.fr_andccr +fr_orccr = _idaapi.fr_orccr +fr_stilm = _idaapi.fr_stilm +fr_addsp = _idaapi.fr_addsp +fr_extsb = _idaapi.fr_extsb +fr_extub = _idaapi.fr_extub +fr_extsh = _idaapi.fr_extsh +fr_extuh = _idaapi.fr_extuh +fr_ldm0 = _idaapi.fr_ldm0 +fr_ldm1 = _idaapi.fr_ldm1 +fr_stm0 = _idaapi.fr_stm0 +fr_stm1 = _idaapi.fr_stm1 +fr_enter = _idaapi.fr_enter +fr_leave = _idaapi.fr_leave +fr_xchb = _idaapi.fr_xchb +fr_last = _idaapi.fr_last +ALPHA_null = _idaapi.ALPHA_null +ALPHA_addf = _idaapi.ALPHA_addf +ALPHA_addg = _idaapi.ALPHA_addg +ALPHA_addl = _idaapi.ALPHA_addl +ALPHA_addl_v = _idaapi.ALPHA_addl_v +ALPHA_addq = _idaapi.ALPHA_addq +ALPHA_addq_v = _idaapi.ALPHA_addq_v +ALPHA_adds = _idaapi.ALPHA_adds +ALPHA_addt = _idaapi.ALPHA_addt +ALPHA_amask = _idaapi.ALPHA_amask +ALPHA_and = _idaapi.ALPHA_and +ALPHA_beq = _idaapi.ALPHA_beq +ALPHA_bge = _idaapi.ALPHA_bge +ALPHA_bgt = _idaapi.ALPHA_bgt +ALPHA_bic = _idaapi.ALPHA_bic +ALPHA_bis = _idaapi.ALPHA_bis +ALPHA_blbc = _idaapi.ALPHA_blbc +ALPHA_blbs = _idaapi.ALPHA_blbs +ALPHA_ble = _idaapi.ALPHA_ble +ALPHA_blt = _idaapi.ALPHA_blt +ALPHA_bne = _idaapi.ALPHA_bne +ALPHA_br = _idaapi.ALPHA_br +ALPHA_bsr = _idaapi.ALPHA_bsr +ALPHA_call_pal = _idaapi.ALPHA_call_pal +ALPHA_cmoveq = _idaapi.ALPHA_cmoveq +ALPHA_cmovge = _idaapi.ALPHA_cmovge +ALPHA_cmovgt = _idaapi.ALPHA_cmovgt +ALPHA_cmovlbc = _idaapi.ALPHA_cmovlbc +ALPHA_cmovlbs = _idaapi.ALPHA_cmovlbs +ALPHA_cmovle = _idaapi.ALPHA_cmovle +ALPHA_cmovlt = _idaapi.ALPHA_cmovlt +ALPHA_cmovne = _idaapi.ALPHA_cmovne +ALPHA_cmpbge = _idaapi.ALPHA_cmpbge +ALPHA_cmpeq = _idaapi.ALPHA_cmpeq +ALPHA_cmpgeq = _idaapi.ALPHA_cmpgeq +ALPHA_cmpgle = _idaapi.ALPHA_cmpgle +ALPHA_cmpglt = _idaapi.ALPHA_cmpglt +ALPHA_cmple = _idaapi.ALPHA_cmple +ALPHA_cmplt = _idaapi.ALPHA_cmplt +ALPHA_cmpteq = _idaapi.ALPHA_cmpteq +ALPHA_cmptle = _idaapi.ALPHA_cmptle +ALPHA_cmptlt = _idaapi.ALPHA_cmptlt +ALPHA_cmptun = _idaapi.ALPHA_cmptun +ALPHA_cmpule = _idaapi.ALPHA_cmpule +ALPHA_cmpult = _idaapi.ALPHA_cmpult +ALPHA_cpys = _idaapi.ALPHA_cpys +ALPHA_cpyse = _idaapi.ALPHA_cpyse +ALPHA_cpysn = _idaapi.ALPHA_cpysn +ALPHA_ctlz = _idaapi.ALPHA_ctlz +ALPHA_ctpop = _idaapi.ALPHA_ctpop +ALPHA_cttz = _idaapi.ALPHA_cttz +ALPHA_cvtdg = _idaapi.ALPHA_cvtdg +ALPHA_cvtgd = _idaapi.ALPHA_cvtgd +ALPHA_cvtgf = _idaapi.ALPHA_cvtgf +ALPHA_cvtgq = _idaapi.ALPHA_cvtgq +ALPHA_cvtlq = _idaapi.ALPHA_cvtlq +ALPHA_cvtqf = _idaapi.ALPHA_cvtqf +ALPHA_cvtqg = _idaapi.ALPHA_cvtqg +ALPHA_cvtql = _idaapi.ALPHA_cvtql +ALPHA_cvtqs = _idaapi.ALPHA_cvtqs +ALPHA_cvtqt = _idaapi.ALPHA_cvtqt +ALPHA_cvtst = _idaapi.ALPHA_cvtst +ALPHA_cvttq = _idaapi.ALPHA_cvttq +ALPHA_cvtts = _idaapi.ALPHA_cvtts +ALPHA_divf = _idaapi.ALPHA_divf +ALPHA_divg = _idaapi.ALPHA_divg +ALPHA_divs = _idaapi.ALPHA_divs +ALPHA_divt = _idaapi.ALPHA_divt +ALPHA_ecb = _idaapi.ALPHA_ecb +ALPHA_eqv = _idaapi.ALPHA_eqv +ALPHA_excb = _idaapi.ALPHA_excb +ALPHA_extbl = _idaapi.ALPHA_extbl +ALPHA_extlh = _idaapi.ALPHA_extlh +ALPHA_extll = _idaapi.ALPHA_extll +ALPHA_extqh = _idaapi.ALPHA_extqh +ALPHA_extql = _idaapi.ALPHA_extql +ALPHA_extwh = _idaapi.ALPHA_extwh +ALPHA_extwl = _idaapi.ALPHA_extwl +ALPHA_fbeq = _idaapi.ALPHA_fbeq +ALPHA_fbge = _idaapi.ALPHA_fbge +ALPHA_fbgt = _idaapi.ALPHA_fbgt +ALPHA_fble = _idaapi.ALPHA_fble +ALPHA_fblt = _idaapi.ALPHA_fblt +ALPHA_fbne = _idaapi.ALPHA_fbne +ALPHA_fcmoveq = _idaapi.ALPHA_fcmoveq +ALPHA_fcmovge = _idaapi.ALPHA_fcmovge +ALPHA_fcmovgt = _idaapi.ALPHA_fcmovgt +ALPHA_fcmovle = _idaapi.ALPHA_fcmovle +ALPHA_fcmovlt = _idaapi.ALPHA_fcmovlt +ALPHA_fcmovne = _idaapi.ALPHA_fcmovne +ALPHA_fetch = _idaapi.ALPHA_fetch +ALPHA_fetch_m = _idaapi.ALPHA_fetch_m +ALPHA_ftois = _idaapi.ALPHA_ftois +ALPHA_ftoit = _idaapi.ALPHA_ftoit +ALPHA_implver = _idaapi.ALPHA_implver +ALPHA_insbl = _idaapi.ALPHA_insbl +ALPHA_inslh = _idaapi.ALPHA_inslh +ALPHA_insll = _idaapi.ALPHA_insll +ALPHA_insqh = _idaapi.ALPHA_insqh +ALPHA_insql = _idaapi.ALPHA_insql +ALPHA_inswh = _idaapi.ALPHA_inswh +ALPHA_inswl = _idaapi.ALPHA_inswl +ALPHA_itoff = _idaapi.ALPHA_itoff +ALPHA_itofs = _idaapi.ALPHA_itofs +ALPHA_itoft = _idaapi.ALPHA_itoft +ALPHA_jmp = _idaapi.ALPHA_jmp +ALPHA_jsr = _idaapi.ALPHA_jsr +ALPHA_jsr_coroutine = _idaapi.ALPHA_jsr_coroutine +ALPHA_lda = _idaapi.ALPHA_lda +ALPHA_ldah = _idaapi.ALPHA_ldah +ALPHA_ldbu = _idaapi.ALPHA_ldbu +ALPHA_ldwu = _idaapi.ALPHA_ldwu +ALPHA_ldf = _idaapi.ALPHA_ldf +ALPHA_ldg = _idaapi.ALPHA_ldg +ALPHA_ldl = _idaapi.ALPHA_ldl +ALPHA_ldl_l = _idaapi.ALPHA_ldl_l +ALPHA_ldq = _idaapi.ALPHA_ldq +ALPHA_ldq_l = _idaapi.ALPHA_ldq_l +ALPHA_ldq_u = _idaapi.ALPHA_ldq_u +ALPHA_lds = _idaapi.ALPHA_lds +ALPHA_ldt = _idaapi.ALPHA_ldt +ALPHA_maxsb8 = _idaapi.ALPHA_maxsb8 +ALPHA_maxsw4 = _idaapi.ALPHA_maxsw4 +ALPHA_maxub8 = _idaapi.ALPHA_maxub8 +ALPHA_maxuw4 = _idaapi.ALPHA_maxuw4 +ALPHA_mb = _idaapi.ALPHA_mb +ALPHA_mf_fpcr = _idaapi.ALPHA_mf_fpcr +ALPHA_minsb8 = _idaapi.ALPHA_minsb8 +ALPHA_minsw4 = _idaapi.ALPHA_minsw4 +ALPHA_minub8 = _idaapi.ALPHA_minub8 +ALPHA_minuw4 = _idaapi.ALPHA_minuw4 +ALPHA_mskbl = _idaapi.ALPHA_mskbl +ALPHA_msklh = _idaapi.ALPHA_msklh +ALPHA_mskll = _idaapi.ALPHA_mskll +ALPHA_mskqh = _idaapi.ALPHA_mskqh +ALPHA_mskql = _idaapi.ALPHA_mskql +ALPHA_mskwh = _idaapi.ALPHA_mskwh +ALPHA_mskwl = _idaapi.ALPHA_mskwl +ALPHA_mt_fpcr = _idaapi.ALPHA_mt_fpcr +ALPHA_mulf = _idaapi.ALPHA_mulf +ALPHA_mulg = _idaapi.ALPHA_mulg +ALPHA_mull = _idaapi.ALPHA_mull +ALPHA_mull_v = _idaapi.ALPHA_mull_v +ALPHA_mulq = _idaapi.ALPHA_mulq +ALPHA_mulq_v = _idaapi.ALPHA_mulq_v +ALPHA_muls = _idaapi.ALPHA_muls +ALPHA_mult = _idaapi.ALPHA_mult +ALPHA_ornot = _idaapi.ALPHA_ornot +ALPHA_perr = _idaapi.ALPHA_perr +ALPHA_pklb = _idaapi.ALPHA_pklb +ALPHA_pkwb = _idaapi.ALPHA_pkwb +ALPHA_rc = _idaapi.ALPHA_rc +ALPHA_ret = _idaapi.ALPHA_ret +ALPHA_rpcc = _idaapi.ALPHA_rpcc +ALPHA_rs = _idaapi.ALPHA_rs +ALPHA_s4addl = _idaapi.ALPHA_s4addl +ALPHA_s4addq = _idaapi.ALPHA_s4addq +ALPHA_s4subl = _idaapi.ALPHA_s4subl +ALPHA_s4subq = _idaapi.ALPHA_s4subq +ALPHA_s8addl = _idaapi.ALPHA_s8addl +ALPHA_s8addq = _idaapi.ALPHA_s8addq +ALPHA_s8subl = _idaapi.ALPHA_s8subl +ALPHA_s8subq = _idaapi.ALPHA_s8subq +ALPHA_sextb = _idaapi.ALPHA_sextb +ALPHA_sextw = _idaapi.ALPHA_sextw +ALPHA_sll = _idaapi.ALPHA_sll +ALPHA_sqrtf = _idaapi.ALPHA_sqrtf +ALPHA_sqrtg = _idaapi.ALPHA_sqrtg +ALPHA_sqrts = _idaapi.ALPHA_sqrts +ALPHA_sqrtt = _idaapi.ALPHA_sqrtt +ALPHA_sra = _idaapi.ALPHA_sra +ALPHA_srl = _idaapi.ALPHA_srl +ALPHA_stb = _idaapi.ALPHA_stb +ALPHA_stf = _idaapi.ALPHA_stf +ALPHA_stg = _idaapi.ALPHA_stg +ALPHA_sts = _idaapi.ALPHA_sts +ALPHA_stl = _idaapi.ALPHA_stl +ALPHA_stl_c = _idaapi.ALPHA_stl_c +ALPHA_stq = _idaapi.ALPHA_stq +ALPHA_stq_c = _idaapi.ALPHA_stq_c +ALPHA_stq_u = _idaapi.ALPHA_stq_u +ALPHA_stt = _idaapi.ALPHA_stt +ALPHA_stw = _idaapi.ALPHA_stw +ALPHA_subf = _idaapi.ALPHA_subf +ALPHA_subg = _idaapi.ALPHA_subg +ALPHA_subl = _idaapi.ALPHA_subl +ALPHA_subl_v = _idaapi.ALPHA_subl_v +ALPHA_subq = _idaapi.ALPHA_subq +ALPHA_subq_v = _idaapi.ALPHA_subq_v +ALPHA_subs = _idaapi.ALPHA_subs +ALPHA_subt = _idaapi.ALPHA_subt +ALPHA_trapb = _idaapi.ALPHA_trapb +ALPHA_umulh = _idaapi.ALPHA_umulh +ALPHA_unpkbl = _idaapi.ALPHA_unpkbl +ALPHA_unpkbw = _idaapi.ALPHA_unpkbw +ALPHA_wh64 = _idaapi.ALPHA_wh64 +ALPHA_wmb = _idaapi.ALPHA_wmb +ALPHA_xor = _idaapi.ALPHA_xor +ALPHA_zap = _idaapi.ALPHA_zap +ALPHA_zapnot = _idaapi.ALPHA_zapnot +ALPHA_unop = _idaapi.ALPHA_unop +ALPHA_nop = _idaapi.ALPHA_nop +ALPHA_fnop = _idaapi.ALPHA_fnop +ALPHA_clr = _idaapi.ALPHA_clr +ALPHA_fabs = _idaapi.ALPHA_fabs +ALPHA_fclr = _idaapi.ALPHA_fclr +ALPHA_fmov = _idaapi.ALPHA_fmov +ALPHA_fneg = _idaapi.ALPHA_fneg +ALPHA_mov = _idaapi.ALPHA_mov +ALPHA_negl = _idaapi.ALPHA_negl +ALPHA_negl_v = _idaapi.ALPHA_negl_v +ALPHA_negq = _idaapi.ALPHA_negq +ALPHA_negq_v = _idaapi.ALPHA_negq_v +ALPHA_negf = _idaapi.ALPHA_negf +ALPHA_negg = _idaapi.ALPHA_negg +ALPHA_negs = _idaapi.ALPHA_negs +ALPHA_negt = _idaapi.ALPHA_negt +ALPHA_not = _idaapi.ALPHA_not +ALPHA_sextl = _idaapi.ALPHA_sextl +ALPHA_or = _idaapi.ALPHA_or +ALPHA_andnot = _idaapi.ALPHA_andnot +ALPHA_xornot = _idaapi.ALPHA_xornot +ALPHA_br0 = _idaapi.ALPHA_br0 +ALPHA_last = _idaapi.ALPHA_last +KR1878_null = _idaapi.KR1878_null +KR1878_mov = _idaapi.KR1878_mov +KR1878_cmp = _idaapi.KR1878_cmp +KR1878_add = _idaapi.KR1878_add +KR1878_sub = _idaapi.KR1878_sub +KR1878_and = _idaapi.KR1878_and +KR1878_or = _idaapi.KR1878_or +KR1878_xor = _idaapi.KR1878_xor +KR1878_movl = _idaapi.KR1878_movl +KR1878_cmpl = _idaapi.KR1878_cmpl +KR1878_addl = _idaapi.KR1878_addl +KR1878_subl = _idaapi.KR1878_subl +KR1878_bic = _idaapi.KR1878_bic +KR1878_bis = _idaapi.KR1878_bis +KR1878_btg = _idaapi.KR1878_btg +KR1878_btt = _idaapi.KR1878_btt +KR1878_swap = _idaapi.KR1878_swap +KR1878_neg = _idaapi.KR1878_neg +KR1878_not = _idaapi.KR1878_not +KR1878_shl = _idaapi.KR1878_shl +KR1878_shr = _idaapi.KR1878_shr +KR1878_shra = _idaapi.KR1878_shra +KR1878_rlc = _idaapi.KR1878_rlc +KR1878_rrc = _idaapi.KR1878_rrc +KR1878_adc = _idaapi.KR1878_adc +KR1878_sbc = _idaapi.KR1878_sbc +KR1878_ldr = _idaapi.KR1878_ldr +KR1878_mtpr = _idaapi.KR1878_mtpr +KR1878_mfpr = _idaapi.KR1878_mfpr +KR1878_push = _idaapi.KR1878_push +KR1878_pop = _idaapi.KR1878_pop +KR1878_sst = _idaapi.KR1878_sst +KR1878_cst = _idaapi.KR1878_cst +KR1878_tof = _idaapi.KR1878_tof +KR1878_tdc = _idaapi.KR1878_tdc +KR1878_jmp = _idaapi.KR1878_jmp +KR1878_jsr = _idaapi.KR1878_jsr +KR1878_jnz = _idaapi.KR1878_jnz +KR1878_jz = _idaapi.KR1878_jz +KR1878_jns = _idaapi.KR1878_jns +KR1878_js = _idaapi.KR1878_js +KR1878_jnc = _idaapi.KR1878_jnc +KR1878_jc = _idaapi.KR1878_jc +KR1878_ijmp = _idaapi.KR1878_ijmp +KR1878_ijsr = _idaapi.KR1878_ijsr +KR1878_rts = _idaapi.KR1878_rts +KR1878_rtsc = _idaapi.KR1878_rtsc +KR1878_rti = _idaapi.KR1878_rti +KR1878_nop = _idaapi.KR1878_nop +KR1878_wait = _idaapi.KR1878_wait +KR1878_stop = _idaapi.KR1878_stop +KR1878_reset = _idaapi.KR1878_reset +KR1878_sksp = _idaapi.KR1878_sksp +KR1878_last = _idaapi.KR1878_last +AD218X_null = _idaapi.AD218X_null +AD218X_amf_01 = _idaapi.AD218X_amf_01 +AD218X_amf_03 = _idaapi.AD218X_amf_03 +AD218X_amf_02 = _idaapi.AD218X_amf_02 +AD218X_amf_04 = _idaapi.AD218X_amf_04 +AD218X_amf_05 = _idaapi.AD218X_amf_05 +AD218X_amf_06 = _idaapi.AD218X_amf_06 +AD218X_amf_07 = _idaapi.AD218X_amf_07 +AD218X_amf_08 = _idaapi.AD218X_amf_08 +AD218X_amf_09 = _idaapi.AD218X_amf_09 +AD218X_amf_0a = _idaapi.AD218X_amf_0a +AD218X_amf_0b = _idaapi.AD218X_amf_0b +AD218X_amf_0c = _idaapi.AD218X_amf_0c +AD218X_amf_0d = _idaapi.AD218X_amf_0d +AD218X_amf_0e = _idaapi.AD218X_amf_0e +AD218X_amf_0f = _idaapi.AD218X_amf_0f +AD218X_amf_10 = _idaapi.AD218X_amf_10 +AD218X_amf_11 = _idaapi.AD218X_amf_11 +AD218X_amf_12 = _idaapi.AD218X_amf_12 +AD218X_amf_13 = _idaapi.AD218X_amf_13 +AD218X_amf_14 = _idaapi.AD218X_amf_14 +AD218X_amf_15 = _idaapi.AD218X_amf_15 +AD218X_amf_16 = _idaapi.AD218X_amf_16 +AD218X_amf_17 = _idaapi.AD218X_amf_17 +AD218X_amf_18 = _idaapi.AD218X_amf_18 +AD218X_amf_19 = _idaapi.AD218X_amf_19 +AD218X_amf_1a = _idaapi.AD218X_amf_1a +AD218X_amf_1b = _idaapi.AD218X_amf_1b +AD218X_amf_1c = _idaapi.AD218X_amf_1c +AD218X_amf_1d = _idaapi.AD218X_amf_1d +AD218X_amf_1e = _idaapi.AD218X_amf_1e +AD218X_amf_1f = _idaapi.AD218X_amf_1f +AD218X_shft_0 = _idaapi.AD218X_shft_0 +AD218X_shft_1 = _idaapi.AD218X_shft_1 +AD218X_shft_2 = _idaapi.AD218X_shft_2 +AD218X_shft_3 = _idaapi.AD218X_shft_3 +AD218X_shft_4 = _idaapi.AD218X_shft_4 +AD218X_shft_5 = _idaapi.AD218X_shft_5 +AD218X_shft_6 = _idaapi.AD218X_shft_6 +AD218X_shft_7 = _idaapi.AD218X_shft_7 +AD218X_shft_8 = _idaapi.AD218X_shft_8 +AD218X_shft_9 = _idaapi.AD218X_shft_9 +AD218X_shft_a = _idaapi.AD218X_shft_a +AD218X_shft_b = _idaapi.AD218X_shft_b +AD218X_shft_c = _idaapi.AD218X_shft_c +AD218X_shft_d = _idaapi.AD218X_shft_d +AD218X_shft_e = _idaapi.AD218X_shft_e +AD218X_shft_f = _idaapi.AD218X_shft_f +AD218X_alu_00 = _idaapi.AD218X_alu_00 +AD218X_alu_01 = _idaapi.AD218X_alu_01 +AD218X_alu_02 = _idaapi.AD218X_alu_02 +AD218X_alu_03 = _idaapi.AD218X_alu_03 +AD218X_alu_04 = _idaapi.AD218X_alu_04 +AD218X_alu_05 = _idaapi.AD218X_alu_05 +AD218X_alu_06 = _idaapi.AD218X_alu_06 +AD218X_alu_07 = _idaapi.AD218X_alu_07 +AD218X_alu_08 = _idaapi.AD218X_alu_08 +AD218X_alu_09 = _idaapi.AD218X_alu_09 +AD218X_alu_0a = _idaapi.AD218X_alu_0a +AD218X_alu_0b = _idaapi.AD218X_alu_0b +AD218X_alu_0c = _idaapi.AD218X_alu_0c +AD218X_alu_0d = _idaapi.AD218X_alu_0d +AD218X_alu_0e = _idaapi.AD218X_alu_0e +AD218X_alu_0f = _idaapi.AD218X_alu_0f +AD218X_alu_10 = _idaapi.AD218X_alu_10 +AD218X_alu_11 = _idaapi.AD218X_alu_11 +AD218X_alu_12 = _idaapi.AD218X_alu_12 +AD218X_alu_13 = _idaapi.AD218X_alu_13 +AD218X_alu_14 = _idaapi.AD218X_alu_14 +AD218X_alu_15 = _idaapi.AD218X_alu_15 +AD218X_alu_16 = _idaapi.AD218X_alu_16 +AD218X_alu_17 = _idaapi.AD218X_alu_17 +AD218X_alu_18 = _idaapi.AD218X_alu_18 +AD218X_alu_19 = _idaapi.AD218X_alu_19 +AD218X_alu_1a = _idaapi.AD218X_alu_1a +AD218X_alu_1b = _idaapi.AD218X_alu_1b +AD218X_alu_1c = _idaapi.AD218X_alu_1c +AD218X_alu_1d = _idaapi.AD218X_alu_1d +AD218X_mac_0 = _idaapi.AD218X_mac_0 +AD218X_mac_1 = _idaapi.AD218X_mac_1 +AD218X_mac_2 = _idaapi.AD218X_mac_2 +AD218X_mac_3 = _idaapi.AD218X_mac_3 +AD218X_mac_4 = _idaapi.AD218X_mac_4 +AD218X_mac_5 = _idaapi.AD218X_mac_5 +AD218X_mac_6 = _idaapi.AD218X_mac_6 +AD218X_mac_7 = _idaapi.AD218X_mac_7 +AD218X_mac_8 = _idaapi.AD218X_mac_8 +AD218X_mac_9 = _idaapi.AD218X_mac_9 +AD218X_mac_a = _idaapi.AD218X_mac_a +AD218X_mac_b = _idaapi.AD218X_mac_b +AD218X_amf = _idaapi.AD218X_amf +AD218X_shft = _idaapi.AD218X_shft +AD218X_shifter_0 = _idaapi.AD218X_shifter_0 +AD218X_shifter_1 = _idaapi.AD218X_shifter_1 +AD218X_shifter_2 = _idaapi.AD218X_shifter_2 +AD218X_shifter_3 = _idaapi.AD218X_shifter_3 +AD218X_shifter_4 = _idaapi.AD218X_shifter_4 +AD218X_shifter_5 = _idaapi.AD218X_shifter_5 +AD218X_shifter_6 = _idaapi.AD218X_shifter_6 +AD218X_shifter_7 = _idaapi.AD218X_shifter_7 +AD218X_move_0 = _idaapi.AD218X_move_0 +AD218X_move_1 = _idaapi.AD218X_move_1 +AD218X_move_2 = _idaapi.AD218X_move_2 +AD218X_move_3 = _idaapi.AD218X_move_3 +AD218X_move_4 = _idaapi.AD218X_move_4 +AD218X_move_5 = _idaapi.AD218X_move_5 +AD218X_move_6 = _idaapi.AD218X_move_6 +AD218X_move_7 = _idaapi.AD218X_move_7 +AD218X_move_8 = _idaapi.AD218X_move_8 +AD218X_move_9 = _idaapi.AD218X_move_9 +AD218X_move_a = _idaapi.AD218X_move_a +AD218X_move_b = _idaapi.AD218X_move_b +AD218X_jump = _idaapi.AD218X_jump +AD218X_jump_1 = _idaapi.AD218X_jump_1 +AD218X_jump_2 = _idaapi.AD218X_jump_2 +AD218X_jump_3 = _idaapi.AD218X_jump_3 +AD218X_jump_4 = _idaapi.AD218X_jump_4 +AD218X_call = _idaapi.AD218X_call +AD218X_call_1 = _idaapi.AD218X_call_1 +AD218X_call_2 = _idaapi.AD218X_call_2 +AD218X_rts = _idaapi.AD218X_rts +AD218X_rts_cond = _idaapi.AD218X_rts_cond +AD218X_rti = _idaapi.AD218X_rti +AD218X_rti_cond = _idaapi.AD218X_rti_cond +AD218X_nop = _idaapi.AD218X_nop +AD218X_do = _idaapi.AD218X_do +AD218X_idle = _idaapi.AD218X_idle +AD218X_idle_1 = _idaapi.AD218X_idle_1 +AD218X_flag_out = _idaapi.AD218X_flag_out +AD218X_stack_ctl = _idaapi.AD218X_stack_ctl +AD218X_mode_ctl = _idaapi.AD218X_mode_ctl +AD218X_tops_w = _idaapi.AD218X_tops_w +AD218X_tops_r = _idaapi.AD218X_tops_r +AD218X_ints_dis = _idaapi.AD218X_ints_dis +AD218X_ints_ena = _idaapi.AD218X_ints_ena +AD218X_modify = _idaapi.AD218X_modify +AD218X_double_move = _idaapi.AD218X_double_move +AD218X_amf_move_0 = _idaapi.AD218X_amf_move_0 +AD218X_amf_move_1 = _idaapi.AD218X_amf_move_1 +AD218X_amf_move_2 = _idaapi.AD218X_amf_move_2 +AD218X_amf_move_3 = _idaapi.AD218X_amf_move_3 +AD218X_amf_move_4 = _idaapi.AD218X_amf_move_4 +AD218X_amf_move_5 = _idaapi.AD218X_amf_move_5 +AD218X_amf_move_6 = _idaapi.AD218X_amf_move_6 +AD218X_amf_move_7 = _idaapi.AD218X_amf_move_7 +AD218X_amf_move_8 = _idaapi.AD218X_amf_move_8 +AD218X_amf_move_9 = _idaapi.AD218X_amf_move_9 +AD218X_amf_move_a = _idaapi.AD218X_amf_move_a +AD218X_last = _idaapi.AD218X_last +OAK_Dsp_null = _idaapi.OAK_Dsp_null +OAK_Dsp_proc = _idaapi.OAK_Dsp_proc +OAK_Dsp_or = _idaapi.OAK_Dsp_or +OAK_Dsp_and = _idaapi.OAK_Dsp_and +OAK_Dsp_xor = _idaapi.OAK_Dsp_xor +OAK_Dsp_add = _idaapi.OAK_Dsp_add +OAK_Dsp_alm_tst0 = _idaapi.OAK_Dsp_alm_tst0 +OAK_Dsp_alm_tst1 = _idaapi.OAK_Dsp_alm_tst1 +OAK_Dsp_cmp = _idaapi.OAK_Dsp_cmp +OAK_Dsp_sub = _idaapi.OAK_Dsp_sub +OAK_Dsp_alm_msu = _idaapi.OAK_Dsp_alm_msu +OAK_Dsp_addh = _idaapi.OAK_Dsp_addh +OAK_Dsp_addl = _idaapi.OAK_Dsp_addl +OAK_Dsp_subh = _idaapi.OAK_Dsp_subh +OAK_Dsp_subl = _idaapi.OAK_Dsp_subl +OAK_Dsp_sqr = _idaapi.OAK_Dsp_sqr +OAK_Dsp_sqra = _idaapi.OAK_Dsp_sqra +OAK_Dsp_cmpu = _idaapi.OAK_Dsp_cmpu +OAK_Dsp_shr = _idaapi.OAK_Dsp_shr +OAK_Dsp_shr4 = _idaapi.OAK_Dsp_shr4 +OAK_Dsp_shl = _idaapi.OAK_Dsp_shl +OAK_Dsp_shl4 = _idaapi.OAK_Dsp_shl4 +OAK_Dsp_ror = _idaapi.OAK_Dsp_ror +OAK_Dsp_rol = _idaapi.OAK_Dsp_rol +OAK_Dsp_clr = _idaapi.OAK_Dsp_clr +OAK_Dsp_mod_reserved = _idaapi.OAK_Dsp_mod_reserved +OAK_Dsp_not = _idaapi.OAK_Dsp_not +OAK_Dsp_neg = _idaapi.OAK_Dsp_neg +OAK_Dsp_rnd = _idaapi.OAK_Dsp_rnd +OAK_Dsp_pacr = _idaapi.OAK_Dsp_pacr +OAK_Dsp_clrr = _idaapi.OAK_Dsp_clrr +OAK_Dsp_inc = _idaapi.OAK_Dsp_inc +OAK_Dsp_dec = _idaapi.OAK_Dsp_dec +OAK_Dsp_copy = _idaapi.OAK_Dsp_copy +OAK_Dsp_norm = _idaapi.OAK_Dsp_norm +OAK_Dsp_divs = _idaapi.OAK_Dsp_divs +OAK_Dsp_set = _idaapi.OAK_Dsp_set +OAK_Dsp_rst = _idaapi.OAK_Dsp_rst +OAK_Dsp_chng = _idaapi.OAK_Dsp_chng +OAK_Dsp_addv = _idaapi.OAK_Dsp_addv +OAK_Dsp_alb_tst0 = _idaapi.OAK_Dsp_alb_tst0 +OAK_Dsp_alb_tst1 = _idaapi.OAK_Dsp_alb_tst1 +OAK_Dsp_cmpv = _idaapi.OAK_Dsp_cmpv +OAK_Dsp_subv = _idaapi.OAK_Dsp_subv +OAK_Dsp_maxd = _idaapi.OAK_Dsp_maxd +OAK_Dsp_max = _idaapi.OAK_Dsp_max +OAK_Dsp_min = _idaapi.OAK_Dsp_min +OAK_Dsp_lim = _idaapi.OAK_Dsp_lim +OAK_Dsp_mpy = _idaapi.OAK_Dsp_mpy +OAK_Dsp_mpysu = _idaapi.OAK_Dsp_mpysu +OAK_Dsp_mac = _idaapi.OAK_Dsp_mac +OAK_Dsp_macus = _idaapi.OAK_Dsp_macus +OAK_Dsp_maa = _idaapi.OAK_Dsp_maa +OAK_Dsp_macuu = _idaapi.OAK_Dsp_macuu +OAK_Dsp_macsu = _idaapi.OAK_Dsp_macsu +OAK_Dsp_maasu = _idaapi.OAK_Dsp_maasu +OAK_Dsp_mpyi = _idaapi.OAK_Dsp_mpyi +OAK_Dsp_msu = _idaapi.OAK_Dsp_msu +OAK_Dsp_tstb = _idaapi.OAK_Dsp_tstb +OAK_Dsp_shfc = _idaapi.OAK_Dsp_shfc +OAK_Dsp_shfi = _idaapi.OAK_Dsp_shfi +OAK_Dsp_exp = _idaapi.OAK_Dsp_exp +OAK_Dsp_mov = _idaapi.OAK_Dsp_mov +OAK_Dsp_movp = _idaapi.OAK_Dsp_movp +OAK_Dsp_movs = _idaapi.OAK_Dsp_movs +OAK_Dsp_movsi = _idaapi.OAK_Dsp_movsi +OAK_Dsp_movr = _idaapi.OAK_Dsp_movr +OAK_Dsp_movd = _idaapi.OAK_Dsp_movd +OAK_Dsp_push = _idaapi.OAK_Dsp_push +OAK_Dsp_pop = _idaapi.OAK_Dsp_pop +OAK_Dsp_swap = _idaapi.OAK_Dsp_swap +OAK_Dsp_banke = _idaapi.OAK_Dsp_banke +OAK_Dsp_rep = _idaapi.OAK_Dsp_rep +OAK_Dsp_bkrep = _idaapi.OAK_Dsp_bkrep +OAK_Dsp_break = _idaapi.OAK_Dsp_break +OAK_Dsp_br = _idaapi.OAK_Dsp_br +OAK_Dsp_brr = _idaapi.OAK_Dsp_brr +OAK_Dsp_br_u = _idaapi.OAK_Dsp_br_u +OAK_Dsp_brr_u = _idaapi.OAK_Dsp_brr_u +OAK_Dsp_call = _idaapi.OAK_Dsp_call +OAK_Dsp_callr = _idaapi.OAK_Dsp_callr +OAK_Dsp_calla = _idaapi.OAK_Dsp_calla +OAK_Dsp_ret = _idaapi.OAK_Dsp_ret +OAK_Dsp_ret_u = _idaapi.OAK_Dsp_ret_u +OAK_Dsp_retd = _idaapi.OAK_Dsp_retd +OAK_Dsp_reti = _idaapi.OAK_Dsp_reti +OAK_Dsp_reti_u = _idaapi.OAK_Dsp_reti_u +OAK_Dsp_retid = _idaapi.OAK_Dsp_retid +OAK_Dsp_rets = _idaapi.OAK_Dsp_rets +OAK_Dsp_cntx = _idaapi.OAK_Dsp_cntx +OAK_Dsp_nop = _idaapi.OAK_Dsp_nop +OAK_Dsp_modr = _idaapi.OAK_Dsp_modr +OAK_Dsp_dint = _idaapi.OAK_Dsp_dint +OAK_Dsp_eint = _idaapi.OAK_Dsp_eint +OAK_Dsp_trap = _idaapi.OAK_Dsp_trap +OAK_Dsp_lpg = _idaapi.OAK_Dsp_lpg +OAK_Dsp_load = _idaapi.OAK_Dsp_load +OAK_Dsp_mov_eu = _idaapi.OAK_Dsp_mov_eu +OAK_Dsp_last = _idaapi.OAK_Dsp_last +T900_null = _idaapi.T900_null +T900_ld = _idaapi.T900_ld +T900_ldw = _idaapi.T900_ldw +T900_push = _idaapi.T900_push +T900_pushw = _idaapi.T900_pushw +T900_pop = _idaapi.T900_pop +T900_popw = _idaapi.T900_popw +T900_lda = _idaapi.T900_lda +T900_ldar = _idaapi.T900_ldar +T900_ex = _idaapi.T900_ex +T900_mirr = _idaapi.T900_mirr +T900_ldi = _idaapi.T900_ldi +T900_ldiw = _idaapi.T900_ldiw +T900_ldir = _idaapi.T900_ldir +T900_ldirw = _idaapi.T900_ldirw +T900_ldd = _idaapi.T900_ldd +T900_lddw = _idaapi.T900_lddw +T900_lddr = _idaapi.T900_lddr +T900_lddrw = _idaapi.T900_lddrw +T900_cpi = _idaapi.T900_cpi +T900_cpir = _idaapi.T900_cpir +T900_cpd = _idaapi.T900_cpd +T900_cpdr = _idaapi.T900_cpdr +T900_add = _idaapi.T900_add +T900_addw = _idaapi.T900_addw +T900_adc = _idaapi.T900_adc +T900_adcw = _idaapi.T900_adcw +T900_sub = _idaapi.T900_sub +T900_subw = _idaapi.T900_subw +T900_sbc = _idaapi.T900_sbc +T900_sbcw = _idaapi.T900_sbcw +T900_cp = _idaapi.T900_cp +T900_cpw = _idaapi.T900_cpw +T900_inc = _idaapi.T900_inc +T900_incw = _idaapi.T900_incw +T900_dec = _idaapi.T900_dec +T900_decw = _idaapi.T900_decw +T900_neg = _idaapi.T900_neg +T900_extz = _idaapi.T900_extz +T900_exts = _idaapi.T900_exts +T900_daa = _idaapi.T900_daa +T900_paa = _idaapi.T900_paa +T900_cpl = _idaapi.T900_cpl +T900_mul = _idaapi.T900_mul +T900_muls = _idaapi.T900_muls +T900_div = _idaapi.T900_div +T900_divs = _idaapi.T900_divs +T900_mula = _idaapi.T900_mula +T900_minc1 = _idaapi.T900_minc1 +T900_minc2 = _idaapi.T900_minc2 +T900_minc4 = _idaapi.T900_minc4 +T900_mdec1 = _idaapi.T900_mdec1 +T900_mdec2 = _idaapi.T900_mdec2 +T900_mdec4 = _idaapi.T900_mdec4 +T900_and = _idaapi.T900_and +T900_andw = _idaapi.T900_andw +T900_or = _idaapi.T900_or +T900_orw = _idaapi.T900_orw +T900_xor = _idaapi.T900_xor +T900_xorw = _idaapi.T900_xorw +T900_ldcf = _idaapi.T900_ldcf +T900_stcf = _idaapi.T900_stcf +T900_andcf = _idaapi.T900_andcf +T900_orcf = _idaapi.T900_orcf +T900_xorcf = _idaapi.T900_xorcf +T900_rcf = _idaapi.T900_rcf +T900_scf = _idaapi.T900_scf +T900_ccf = _idaapi.T900_ccf +T900_zcf = _idaapi.T900_zcf +T900_bit = _idaapi.T900_bit +T900_res = _idaapi.T900_res +T900_set = _idaapi.T900_set +T900_chg = _idaapi.T900_chg +T900_tset = _idaapi.T900_tset +T900_bs1f = _idaapi.T900_bs1f +T900_bs1b = _idaapi.T900_bs1b +T900_nop = _idaapi.T900_nop +T900_ei = _idaapi.T900_ei +T900_di = _idaapi.T900_di +T900_swi = _idaapi.T900_swi +T900_halt = _idaapi.T900_halt +T900_ldc = _idaapi.T900_ldc +T900_ldx = _idaapi.T900_ldx +T900_link = _idaapi.T900_link +T900_unlk = _idaapi.T900_unlk +T900_ldf = _idaapi.T900_ldf +T900_incf = _idaapi.T900_incf +T900_decf = _idaapi.T900_decf +T900_scc = _idaapi.T900_scc +T900_rlc = _idaapi.T900_rlc +T900_rlc_mem = _idaapi.T900_rlc_mem +T900_rlcw_mem = _idaapi.T900_rlcw_mem +T900_rrc = _idaapi.T900_rrc +T900_rrc_mem = _idaapi.T900_rrc_mem +T900_rrcw_mem = _idaapi.T900_rrcw_mem +T900_rl = _idaapi.T900_rl +T900_rl_mem = _idaapi.T900_rl_mem +T900_rlw_mem = _idaapi.T900_rlw_mem +T900_rr = _idaapi.T900_rr +T900_rr_mem = _idaapi.T900_rr_mem +T900_rrw_mem = _idaapi.T900_rrw_mem +T900_sla = _idaapi.T900_sla +T900_sla_mem = _idaapi.T900_sla_mem +T900_slaw_mem = _idaapi.T900_slaw_mem +T900_sra = _idaapi.T900_sra +T900_sra_mem = _idaapi.T900_sra_mem +T900_sraw_mem = _idaapi.T900_sraw_mem +T900_sll = _idaapi.T900_sll +T900_sll_mem = _idaapi.T900_sll_mem +T900_sllw_mem = _idaapi.T900_sllw_mem +T900_srl = _idaapi.T900_srl +T900_srl_mem = _idaapi.T900_srl_mem +T900_srlw_mem = _idaapi.T900_srlw_mem +T900_rld = _idaapi.T900_rld +T900_rrd = _idaapi.T900_rrd +T900_jp = _idaapi.T900_jp +T900_jp_cond = _idaapi.T900_jp_cond +T900_jr = _idaapi.T900_jr +T900_jr_cond = _idaapi.T900_jr_cond +T900_jrl = _idaapi.T900_jrl +T900_jrl_cond = _idaapi.T900_jrl_cond +T900_call = _idaapi.T900_call +T900_calr = _idaapi.T900_calr +T900_djnz = _idaapi.T900_djnz +T900_ret = _idaapi.T900_ret +T900_ret_cond = _idaapi.T900_ret_cond +T900_retd = _idaapi.T900_retd +T900_reti = _idaapi.T900_reti +T900_max = _idaapi.T900_max +T900_normal = _idaapi.T900_normal +T900_last = _idaapi.T900_last +C39_null = _idaapi.C39_null +C39_adc = _idaapi.C39_adc +C39_add = _idaapi.C39_add +C39_anc = _idaapi.C39_anc +C39_and = _idaapi.C39_and +C39_ane = _idaapi.C39_ane +C39_arr = _idaapi.C39_arr +C39_asl = _idaapi.C39_asl +C39_asr = _idaapi.C39_asr +C39_bar = _idaapi.C39_bar +C39_bas = _idaapi.C39_bas +C39_bbr = _idaapi.C39_bbr +C39_bbs = _idaapi.C39_bbs +C39_bcc = _idaapi.C39_bcc +C39_bcs = _idaapi.C39_bcs +C39_beq = _idaapi.C39_beq +C39_bit = _idaapi.C39_bit +C39_bmi = _idaapi.C39_bmi +C39_bne = _idaapi.C39_bne +C39_bpl = _idaapi.C39_bpl +C39_bra = _idaapi.C39_bra +C39_brk = _idaapi.C39_brk +C39_bvc = _idaapi.C39_bvc +C39_bvs = _idaapi.C39_bvs +C39_clc = _idaapi.C39_clc +C39_cld = _idaapi.C39_cld +C39_cli = _idaapi.C39_cli +C39_clv = _idaapi.C39_clv +C39_clw = _idaapi.C39_clw +C39_cmp = _idaapi.C39_cmp +C39_cpx = _idaapi.C39_cpx +C39_cpy = _idaapi.C39_cpy +C39_dcp = _idaapi.C39_dcp +C39_dec = _idaapi.C39_dec +C39_dex = _idaapi.C39_dex +C39_dey = _idaapi.C39_dey +C39_eor = _idaapi.C39_eor +C39_exc = _idaapi.C39_exc +C39_inc = _idaapi.C39_inc +C39_ini = _idaapi.C39_ini +C39_inx = _idaapi.C39_inx +C39_iny = _idaapi.C39_iny +C39_isb = _idaapi.C39_isb +C39_jmp = _idaapi.C39_jmp +C39_jpi = _idaapi.C39_jpi +C39_jsb = _idaapi.C39_jsb +C39_jsr = _idaapi.C39_jsr +C39_lab = _idaapi.C39_lab +C39_lae = _idaapi.C39_lae +C39_lai = _idaapi.C39_lai +C39_lan = _idaapi.C39_lan +C39_lax = _idaapi.C39_lax +C39_lda = _idaapi.C39_lda +C39_ldx = _idaapi.C39_ldx +C39_ldy = _idaapi.C39_ldy +C39_lii = _idaapi.C39_lii +C39_lsr = _idaapi.C39_lsr +C39_lxa = _idaapi.C39_lxa +C39_mpa = _idaapi.C39_mpa +C39_mpy = _idaapi.C39_mpy +C39_neg = _idaapi.C39_neg +C39_nop = _idaapi.C39_nop +C39_nxt = _idaapi.C39_nxt +C39_ora = _idaapi.C39_ora +C39_pha = _idaapi.C39_pha +C39_phi = _idaapi.C39_phi +C39_php = _idaapi.C39_php +C39_phw = _idaapi.C39_phw +C39_phx = _idaapi.C39_phx +C39_phy = _idaapi.C39_phy +C39_pia = _idaapi.C39_pia +C39_pla = _idaapi.C39_pla +C39_pli = _idaapi.C39_pli +C39_plp = _idaapi.C39_plp +C39_plw = _idaapi.C39_plw +C39_plx = _idaapi.C39_plx +C39_ply = _idaapi.C39_ply +C39_psh = _idaapi.C39_psh +C39_pul = _idaapi.C39_pul +C39_rba = _idaapi.C39_rba +C39_rla = _idaapi.C39_rla +C39_rmb = _idaapi.C39_rmb +C39_rnd = _idaapi.C39_rnd +C39_rol = _idaapi.C39_rol +C39_ror = _idaapi.C39_ror +C39_rra = _idaapi.C39_rra +C39_rti = _idaapi.C39_rti +C39_rts = _idaapi.C39_rts +C39_sax = _idaapi.C39_sax +C39_sba = _idaapi.C39_sba +C39_sbc = _idaapi.C39_sbc +C39_sbx = _idaapi.C39_sbx +C39_sec = _idaapi.C39_sec +C39_sed = _idaapi.C39_sed +C39_sei = _idaapi.C39_sei +C39_sha = _idaapi.C39_sha +C39_shs = _idaapi.C39_shs +C39_shx = _idaapi.C39_shx +C39_shy = _idaapi.C39_shy +C39_slo = _idaapi.C39_slo +C39_smb = _idaapi.C39_smb +C39_sre = _idaapi.C39_sre +C39_sta = _idaapi.C39_sta +C39_sti = _idaapi.C39_sti +C39_stx = _idaapi.C39_stx +C39_sty = _idaapi.C39_sty +C39_tax = _idaapi.C39_tax +C39_tay = _idaapi.C39_tay +C39_taw = _idaapi.C39_taw +C39_tip = _idaapi.C39_tip +C39_tsx = _idaapi.C39_tsx +C39_twa = _idaapi.C39_twa +C39_txa = _idaapi.C39_txa +C39_txs = _idaapi.C39_txs +C39_tya = _idaapi.C39_tya +C39_last = _idaapi.C39_last +CR16_null = _idaapi.CR16_null +CR16_addb = _idaapi.CR16_addb +CR16_addw = _idaapi.CR16_addw +CR16_addub = _idaapi.CR16_addub +CR16_adduw = _idaapi.CR16_adduw +CR16_addcb = _idaapi.CR16_addcb +CR16_addcw = _idaapi.CR16_addcw +CR16_andb = _idaapi.CR16_andb +CR16_andw = _idaapi.CR16_andw +CR16_ashub = _idaapi.CR16_ashub +CR16_ashuw = _idaapi.CR16_ashuw +CR16_beq = _idaapi.CR16_beq +CR16_bne = _idaapi.CR16_bne +CR16_bcs = _idaapi.CR16_bcs +CR16_bcc = _idaapi.CR16_bcc +CR16_bhi = _idaapi.CR16_bhi +CR16_bls = _idaapi.CR16_bls +CR16_bgt = _idaapi.CR16_bgt +CR16_ble = _idaapi.CR16_ble +CR16_bfs = _idaapi.CR16_bfs +CR16_bfc = _idaapi.CR16_bfc +CR16_blo = _idaapi.CR16_blo +CR16_bhs = _idaapi.CR16_bhs +CR16_blt = _idaapi.CR16_blt +CR16_bge = _idaapi.CR16_bge +CR16_br = _idaapi.CR16_br +CR16_bal = _idaapi.CR16_bal +CR16_cmpb = _idaapi.CR16_cmpb +CR16_cmpw = _idaapi.CR16_cmpw +CR16_beq1b = _idaapi.CR16_beq1b +CR16_beq1w = _idaapi.CR16_beq1w +CR16_beq0b = _idaapi.CR16_beq0b +CR16_beq0w = _idaapi.CR16_beq0w +CR16_bne1b = _idaapi.CR16_bne1b +CR16_bne1w = _idaapi.CR16_bne1w +CR16_bne0b = _idaapi.CR16_bne0b +CR16_bne0w = _idaapi.CR16_bne0w +CR16_di = _idaapi.CR16_di +CR16_ei = _idaapi.CR16_ei +CR16_excp = _idaapi.CR16_excp +CR16_jeq = _idaapi.CR16_jeq +CR16_jne = _idaapi.CR16_jne +CR16_jcs = _idaapi.CR16_jcs +CR16_jcc = _idaapi.CR16_jcc +CR16_jhi = _idaapi.CR16_jhi +CR16_jls = _idaapi.CR16_jls +CR16_jgt = _idaapi.CR16_jgt +CR16_jle = _idaapi.CR16_jle +CR16_jfs = _idaapi.CR16_jfs +CR16_jfc = _idaapi.CR16_jfc +CR16_jlo = _idaapi.CR16_jlo +CR16_jhs = _idaapi.CR16_jhs +CR16_jlt = _idaapi.CR16_jlt +CR16_jge = _idaapi.CR16_jge +CR16_jump = _idaapi.CR16_jump +CR16_jal = _idaapi.CR16_jal +CR16_loadb = _idaapi.CR16_loadb +CR16_loadw = _idaapi.CR16_loadw +CR16_loadm = _idaapi.CR16_loadm +CR16_lpr = _idaapi.CR16_lpr +CR16_lshb = _idaapi.CR16_lshb +CR16_lshw = _idaapi.CR16_lshw +CR16_movb = _idaapi.CR16_movb +CR16_movw = _idaapi.CR16_movw +CR16_movxb = _idaapi.CR16_movxb +CR16_movzb = _idaapi.CR16_movzb +CR16_movd = _idaapi.CR16_movd +CR16_mulb = _idaapi.CR16_mulb +CR16_mulw = _idaapi.CR16_mulw +CR16_mulsb = _idaapi.CR16_mulsb +CR16_mulsw = _idaapi.CR16_mulsw +CR16_muluw = _idaapi.CR16_muluw +CR16_nop = _idaapi.CR16_nop +CR16_orb = _idaapi.CR16_orb +CR16_orw = _idaapi.CR16_orw +CR16_push = _idaapi.CR16_push +CR16_pop = _idaapi.CR16_pop +CR16_popret = _idaapi.CR16_popret +CR16_retx = _idaapi.CR16_retx +CR16_seq = _idaapi.CR16_seq +CR16_sne = _idaapi.CR16_sne +CR16_scs = _idaapi.CR16_scs +CR16_scc = _idaapi.CR16_scc +CR16_shi = _idaapi.CR16_shi +CR16_sls = _idaapi.CR16_sls +CR16_sgt = _idaapi.CR16_sgt +CR16_sle = _idaapi.CR16_sle +CR16_sfs = _idaapi.CR16_sfs +CR16_sfc = _idaapi.CR16_sfc +CR16_slo = _idaapi.CR16_slo +CR16_shs = _idaapi.CR16_shs +CR16_slt = _idaapi.CR16_slt +CR16_sge = _idaapi.CR16_sge +CR16_spr = _idaapi.CR16_spr +CR16_storb = _idaapi.CR16_storb +CR16_storw = _idaapi.CR16_storw +CR16_storm = _idaapi.CR16_storm +CR16_subb = _idaapi.CR16_subb +CR16_subw = _idaapi.CR16_subw +CR16_subcb = _idaapi.CR16_subcb +CR16_subcw = _idaapi.CR16_subcw +CR16_tbit = _idaapi.CR16_tbit +CR16_tbitb = _idaapi.CR16_tbitb +CR16_tbitw = _idaapi.CR16_tbitw +CR16_sbitb = _idaapi.CR16_sbitb +CR16_sbitw = _idaapi.CR16_sbitw +CR16_cbitb = _idaapi.CR16_cbitb +CR16_cbitw = _idaapi.CR16_cbitw +CR16_wait = _idaapi.CR16_wait +CR16_eiwait = _idaapi.CR16_eiwait +CR16_xorb = _idaapi.CR16_xorb +CR16_xorw = _idaapi.CR16_xorw +CR16_last = _idaapi.CR16_last +mn102_null = _idaapi.mn102_null +mn102_add = _idaapi.mn102_add +mn102_addc = _idaapi.mn102_addc +mn102_addnf = _idaapi.mn102_addnf +mn102_and = _idaapi.mn102_and +mn102_asr = _idaapi.mn102_asr +mn102_bcc = _idaapi.mn102_bcc +mn102_bccx = _idaapi.mn102_bccx +mn102_bclr = _idaapi.mn102_bclr +mn102_bcs = _idaapi.mn102_bcs +mn102_bcsx = _idaapi.mn102_bcsx +mn102_beq = _idaapi.mn102_beq +mn102_beqx = _idaapi.mn102_beqx +mn102_bge = _idaapi.mn102_bge +mn102_bgex = _idaapi.mn102_bgex +mn102_bgt = _idaapi.mn102_bgt +mn102_bgtx = _idaapi.mn102_bgtx +mn102_bhi = _idaapi.mn102_bhi +mn102_bhix = _idaapi.mn102_bhix +mn102_ble = _idaapi.mn102_ble +mn102_blex = _idaapi.mn102_blex +mn102_bls = _idaapi.mn102_bls +mn102_blsx = _idaapi.mn102_blsx +mn102_blt = _idaapi.mn102_blt +mn102_bltx = _idaapi.mn102_bltx +mn102_bnc = _idaapi.mn102_bnc +mn102_bncx = _idaapi.mn102_bncx +mn102_bne = _idaapi.mn102_bne +mn102_bnex = _idaapi.mn102_bnex +mn102_bns = _idaapi.mn102_bns +mn102_bnsx = _idaapi.mn102_bnsx +mn102_bra = _idaapi.mn102_bra +mn102_bset = _idaapi.mn102_bset +mn102_btst = _idaapi.mn102_btst +mn102_bvc = _idaapi.mn102_bvc +mn102_bvcx = _idaapi.mn102_bvcx +mn102_bvs = _idaapi.mn102_bvs +mn102_bvsx = _idaapi.mn102_bvsx +mn102_cmp = _idaapi.mn102_cmp +mn102_divu = _idaapi.mn102_divu +mn102_ext = _idaapi.mn102_ext +mn102_extx = _idaapi.mn102_extx +mn102_extxb = _idaapi.mn102_extxb +mn102_extxbu = _idaapi.mn102_extxbu +mn102_extxu = _idaapi.mn102_extxu +mn102_jmp = _idaapi.mn102_jmp +mn102_jsr = _idaapi.mn102_jsr +mn102_lsr = _idaapi.mn102_lsr +mn102_mov = _idaapi.mn102_mov +mn102_movb = _idaapi.mn102_movb +mn102_movbu = _idaapi.mn102_movbu +mn102_movx = _idaapi.mn102_movx +mn102_mul = _idaapi.mn102_mul +mn102_mulq = _idaapi.mn102_mulq +mn102_mulqh = _idaapi.mn102_mulqh +mn102_mulql = _idaapi.mn102_mulql +mn102_mulu = _idaapi.mn102_mulu +mn102_nop = _idaapi.mn102_nop +mn102_not = _idaapi.mn102_not +mn102_or = _idaapi.mn102_or +mn102_pxst = _idaapi.mn102_pxst +mn102_rol = _idaapi.mn102_rol +mn102_ror = _idaapi.mn102_ror +mn102_rti = _idaapi.mn102_rti +mn102_rts = _idaapi.mn102_rts +mn102_sub = _idaapi.mn102_sub +mn102_subc = _idaapi.mn102_subc +mn102_tbnz = _idaapi.mn102_tbnz +mn102_tbz = _idaapi.mn102_tbz +mn102_xor = _idaapi.mn102_xor +mn102_last = _idaapi.mn102_last +PPC_null = _idaapi.PPC_null +PPC_add = _idaapi.PPC_add +PPC_addc = _idaapi.PPC_addc +PPC_adde = _idaapi.PPC_adde +PPC_addi = _idaapi.PPC_addi +PPC_addic = _idaapi.PPC_addic +PPC_addis = _idaapi.PPC_addis +PPC_addme = _idaapi.PPC_addme +PPC_addze = _idaapi.PPC_addze +PPC_and = _idaapi.PPC_and +PPC_andc = _idaapi.PPC_andc +PPC_andi = _idaapi.PPC_andi +PPC_andis = _idaapi.PPC_andis +PPC_b = _idaapi.PPC_b +PPC_bc = _idaapi.PPC_bc +PPC_bcctr = _idaapi.PPC_bcctr +PPC_bclr = _idaapi.PPC_bclr +PPC_cmp = _idaapi.PPC_cmp +PPC_cmpi = _idaapi.PPC_cmpi +PPC_cmpl = _idaapi.PPC_cmpl +PPC_cmpli = _idaapi.PPC_cmpli +PPC_cntlzd = _idaapi.PPC_cntlzd +PPC_cntlzw = _idaapi.PPC_cntlzw +PPC_crand = _idaapi.PPC_crand +PPC_crandc = _idaapi.PPC_crandc +PPC_creqv = _idaapi.PPC_creqv +PPC_crnand = _idaapi.PPC_crnand +PPC_crnor = _idaapi.PPC_crnor +PPC_cror = _idaapi.PPC_cror +PPC_crorc = _idaapi.PPC_crorc +PPC_crxor = _idaapi.PPC_crxor +PPC_dcba = _idaapi.PPC_dcba +PPC_dcbf = _idaapi.PPC_dcbf +PPC_dcbi = _idaapi.PPC_dcbi +PPC_dcbst = _idaapi.PPC_dcbst +PPC_dcbt = _idaapi.PPC_dcbt +PPC_dcbtst = _idaapi.PPC_dcbtst +PPC_dcbz = _idaapi.PPC_dcbz +PPC_divd = _idaapi.PPC_divd +PPC_divdu = _idaapi.PPC_divdu +PPC_divw = _idaapi.PPC_divw +PPC_divwu = _idaapi.PPC_divwu +PPC_eciwx = _idaapi.PPC_eciwx +PPC_ecowx = _idaapi.PPC_ecowx +PPC_eieio = _idaapi.PPC_eieio +PPC_eqv = _idaapi.PPC_eqv +PPC_extsb = _idaapi.PPC_extsb +PPC_extsh = _idaapi.PPC_extsh +PPC_extsw = _idaapi.PPC_extsw +PPC_fabs = _idaapi.PPC_fabs +PPC_fadd = _idaapi.PPC_fadd +PPC_fadds = _idaapi.PPC_fadds +PPC_fcfid = _idaapi.PPC_fcfid +PPC_fcmpo = _idaapi.PPC_fcmpo +PPC_fcmpu = _idaapi.PPC_fcmpu +PPC_fctid = _idaapi.PPC_fctid +PPC_fctidz = _idaapi.PPC_fctidz +PPC_fctiw = _idaapi.PPC_fctiw +PPC_fctiwz = _idaapi.PPC_fctiwz +PPC_fdiv = _idaapi.PPC_fdiv +PPC_fdivs = _idaapi.PPC_fdivs +PPC_fmadd = _idaapi.PPC_fmadd +PPC_fmadds = _idaapi.PPC_fmadds +PPC_fmr = _idaapi.PPC_fmr +PPC_fmsub = _idaapi.PPC_fmsub +PPC_fmsubs = _idaapi.PPC_fmsubs +PPC_fmul = _idaapi.PPC_fmul +PPC_fmuls = _idaapi.PPC_fmuls +PPC_fnabs = _idaapi.PPC_fnabs +PPC_fneg = _idaapi.PPC_fneg +PPC_fnmadd = _idaapi.PPC_fnmadd +PPC_fnmadds = _idaapi.PPC_fnmadds +PPC_fnmsub = _idaapi.PPC_fnmsub +PPC_fnmsubs = _idaapi.PPC_fnmsubs +PPC_fres = _idaapi.PPC_fres +PPC_frsp = _idaapi.PPC_frsp +PPC_frsqrte = _idaapi.PPC_frsqrte +PPC_fsel = _idaapi.PPC_fsel +PPC_fsqrt = _idaapi.PPC_fsqrt +PPC_fsqrts = _idaapi.PPC_fsqrts +PPC_fsub = _idaapi.PPC_fsub +PPC_fsubs = _idaapi.PPC_fsubs +PPC_icbi = _idaapi.PPC_icbi +PPC_isync = _idaapi.PPC_isync +PPC_lbz = _idaapi.PPC_lbz +PPC_lbzu = _idaapi.PPC_lbzu +PPC_lbzux = _idaapi.PPC_lbzux +PPC_lbzx = _idaapi.PPC_lbzx +PPC_ld = _idaapi.PPC_ld +PPC_ldarx = _idaapi.PPC_ldarx +PPC_ldu = _idaapi.PPC_ldu +PPC_ldux = _idaapi.PPC_ldux +PPC_ldx = _idaapi.PPC_ldx +PPC_lfd = _idaapi.PPC_lfd +PPC_lfdu = _idaapi.PPC_lfdu +PPC_lfdux = _idaapi.PPC_lfdux +PPC_lfdx = _idaapi.PPC_lfdx +PPC_lfs = _idaapi.PPC_lfs +PPC_lfsu = _idaapi.PPC_lfsu +PPC_lfsux = _idaapi.PPC_lfsux +PPC_lfsx = _idaapi.PPC_lfsx +PPC_lha = _idaapi.PPC_lha +PPC_lhau = _idaapi.PPC_lhau +PPC_lhaux = _idaapi.PPC_lhaux +PPC_lhax = _idaapi.PPC_lhax +PPC_lhbrx = _idaapi.PPC_lhbrx +PPC_lhz = _idaapi.PPC_lhz +PPC_lhzu = _idaapi.PPC_lhzu +PPC_lhzux = _idaapi.PPC_lhzux +PPC_lhzx = _idaapi.PPC_lhzx +PPC_lmw = _idaapi.PPC_lmw +PPC_lswi = _idaapi.PPC_lswi +PPC_lswx = _idaapi.PPC_lswx +PPC_lwa = _idaapi.PPC_lwa +PPC_lwarx = _idaapi.PPC_lwarx +PPC_lwaux = _idaapi.PPC_lwaux +PPC_lwax = _idaapi.PPC_lwax +PPC_lwbrx = _idaapi.PPC_lwbrx +PPC_lwz = _idaapi.PPC_lwz +PPC_lwzu = _idaapi.PPC_lwzu +PPC_lwzux = _idaapi.PPC_lwzux +PPC_lwzx = _idaapi.PPC_lwzx +PPC_mcrf = _idaapi.PPC_mcrf +PPC_mcrfs = _idaapi.PPC_mcrfs +PPC_mcrxr = _idaapi.PPC_mcrxr +PPC_mfcr = _idaapi.PPC_mfcr +PPC_mffs = _idaapi.PPC_mffs +PPC_mfmsr = _idaapi.PPC_mfmsr +PPC_mfspr = _idaapi.PPC_mfspr +PPC_mfsr = _idaapi.PPC_mfsr +PPC_mfsrin = _idaapi.PPC_mfsrin +PPC_mftb = _idaapi.PPC_mftb +PPC_mtcrf = _idaapi.PPC_mtcrf +PPC_mtfsb0 = _idaapi.PPC_mtfsb0 +PPC_mtfsb1 = _idaapi.PPC_mtfsb1 +PPC_mtfsf = _idaapi.PPC_mtfsf +PPC_mtfsfi = _idaapi.PPC_mtfsfi +PPC_mtmsr = _idaapi.PPC_mtmsr +PPC_mtmsrd = _idaapi.PPC_mtmsrd +PPC_mtspr = _idaapi.PPC_mtspr +PPC_mtsr = _idaapi.PPC_mtsr +PPC_mtsrd = _idaapi.PPC_mtsrd +PPC_mtsrdin = _idaapi.PPC_mtsrdin +PPC_mtsrin = _idaapi.PPC_mtsrin +PPC_mulhd = _idaapi.PPC_mulhd +PPC_mulhdu = _idaapi.PPC_mulhdu +PPC_mulhw = _idaapi.PPC_mulhw +PPC_mulhwu = _idaapi.PPC_mulhwu +PPC_mulld = _idaapi.PPC_mulld +PPC_mulli = _idaapi.PPC_mulli +PPC_mullw = _idaapi.PPC_mullw +PPC_nand = _idaapi.PPC_nand +PPC_neg = _idaapi.PPC_neg +PPC_nor = _idaapi.PPC_nor +PPC_or = _idaapi.PPC_or +PPC_orc = _idaapi.PPC_orc +PPC_ori = _idaapi.PPC_ori +PPC_oris = _idaapi.PPC_oris +PPC_rfi = _idaapi.PPC_rfi +PPC_rfid = _idaapi.PPC_rfid +PPC_rldcl = _idaapi.PPC_rldcl +PPC_rldcr = _idaapi.PPC_rldcr +PPC_rldic = _idaapi.PPC_rldic +PPC_rldicl = _idaapi.PPC_rldicl +PPC_rldicr = _idaapi.PPC_rldicr +PPC_rldimi = _idaapi.PPC_rldimi +PPC_rlwimi = _idaapi.PPC_rlwimi +PPC_rlwinm = _idaapi.PPC_rlwinm +PPC_rlwnm = _idaapi.PPC_rlwnm +PPC_sc = _idaapi.PPC_sc +PPC_slbia = _idaapi.PPC_slbia +PPC_slbie = _idaapi.PPC_slbie +PPC_sld = _idaapi.PPC_sld +PPC_slw = _idaapi.PPC_slw +PPC_srad = _idaapi.PPC_srad +PPC_sradi = _idaapi.PPC_sradi +PPC_sraw = _idaapi.PPC_sraw +PPC_srawi = _idaapi.PPC_srawi +PPC_srd = _idaapi.PPC_srd +PPC_srw = _idaapi.PPC_srw +PPC_stb = _idaapi.PPC_stb +PPC_stbu = _idaapi.PPC_stbu +PPC_stbux = _idaapi.PPC_stbux +PPC_stbx = _idaapi.PPC_stbx +PPC_std = _idaapi.PPC_std +PPC_stdcx = _idaapi.PPC_stdcx +PPC_stdu = _idaapi.PPC_stdu +PPC_stdux = _idaapi.PPC_stdux +PPC_stdx = _idaapi.PPC_stdx +PPC_stfd = _idaapi.PPC_stfd +PPC_stfdu = _idaapi.PPC_stfdu +PPC_stfdux = _idaapi.PPC_stfdux +PPC_stfdx = _idaapi.PPC_stfdx +PPC_stfiwx = _idaapi.PPC_stfiwx +PPC_stfs = _idaapi.PPC_stfs +PPC_stfsu = _idaapi.PPC_stfsu +PPC_stfsux = _idaapi.PPC_stfsux +PPC_stfsx = _idaapi.PPC_stfsx +PPC_sth = _idaapi.PPC_sth +PPC_sthbrx = _idaapi.PPC_sthbrx +PPC_sthu = _idaapi.PPC_sthu +PPC_sthux = _idaapi.PPC_sthux +PPC_sthx = _idaapi.PPC_sthx +PPC_stmw = _idaapi.PPC_stmw +PPC_stswi = _idaapi.PPC_stswi +PPC_stswx = _idaapi.PPC_stswx +PPC_stw = _idaapi.PPC_stw +PPC_stwbrx = _idaapi.PPC_stwbrx +PPC_stwcx = _idaapi.PPC_stwcx +PPC_stwu = _idaapi.PPC_stwu +PPC_stwux = _idaapi.PPC_stwux +PPC_stwx = _idaapi.PPC_stwx +PPC_subf = _idaapi.PPC_subf +PPC_subfc = _idaapi.PPC_subfc +PPC_subfe = _idaapi.PPC_subfe +PPC_subfic = _idaapi.PPC_subfic +PPC_subfme = _idaapi.PPC_subfme +PPC_subfze = _idaapi.PPC_subfze +PPC_sync = _idaapi.PPC_sync +PPC_td = _idaapi.PPC_td +PPC_tdi = _idaapi.PPC_tdi +PPC_tlbia = _idaapi.PPC_tlbia +PPC_tlbie = _idaapi.PPC_tlbie +PPC_tlbsync = _idaapi.PPC_tlbsync +PPC_tw = _idaapi.PPC_tw +PPC_twi = _idaapi.PPC_twi +PPC_xor = _idaapi.PPC_xor +PPC_xori = _idaapi.PPC_xori +PPC_xoris = _idaapi.PPC_xoris +PPC_last_basic = _idaapi.PPC_last_basic +PPC_cmpwi = _idaapi.PPC_cmpwi +PPC_cmpw = _idaapi.PPC_cmpw +PPC_cmplwi = _idaapi.PPC_cmplwi +PPC_cmplw = _idaapi.PPC_cmplw +PPC_cmpdi = _idaapi.PPC_cmpdi +PPC_cmpd = _idaapi.PPC_cmpd +PPC_cmpldi = _idaapi.PPC_cmpldi +PPC_cmpld = _idaapi.PPC_cmpld +PPC_trap = _idaapi.PPC_trap +PPC_trapd = _idaapi.PPC_trapd +PPC_twlgt = _idaapi.PPC_twlgt +PPC_twllt = _idaapi.PPC_twllt +PPC_tweq = _idaapi.PPC_tweq +PPC_twlge = _idaapi.PPC_twlge +PPC_twlle = _idaapi.PPC_twlle +PPC_twgt = _idaapi.PPC_twgt +PPC_twge = _idaapi.PPC_twge +PPC_twlt = _idaapi.PPC_twlt +PPC_twle = _idaapi.PPC_twle +PPC_twne = _idaapi.PPC_twne +PPC_twlgti = _idaapi.PPC_twlgti +PPC_twllti = _idaapi.PPC_twllti +PPC_tweqi = _idaapi.PPC_tweqi +PPC_twlgei = _idaapi.PPC_twlgei +PPC_twllei = _idaapi.PPC_twllei +PPC_twgti = _idaapi.PPC_twgti +PPC_twgei = _idaapi.PPC_twgei +PPC_twlti = _idaapi.PPC_twlti +PPC_twlei = _idaapi.PPC_twlei +PPC_twnei = _idaapi.PPC_twnei +PPC_tdlgt = _idaapi.PPC_tdlgt +PPC_tdllt = _idaapi.PPC_tdllt +PPC_tdeq = _idaapi.PPC_tdeq +PPC_tdlge = _idaapi.PPC_tdlge +PPC_tdlle = _idaapi.PPC_tdlle +PPC_tdgt = _idaapi.PPC_tdgt +PPC_tdge = _idaapi.PPC_tdge +PPC_tdlt = _idaapi.PPC_tdlt +PPC_tdle = _idaapi.PPC_tdle +PPC_tdne = _idaapi.PPC_tdne +PPC_tdlgti = _idaapi.PPC_tdlgti +PPC_tdllti = _idaapi.PPC_tdllti +PPC_tdeqi = _idaapi.PPC_tdeqi +PPC_tdlgei = _idaapi.PPC_tdlgei +PPC_tdllei = _idaapi.PPC_tdllei +PPC_tdgti = _idaapi.PPC_tdgti +PPC_tdgei = _idaapi.PPC_tdgei +PPC_tdlti = _idaapi.PPC_tdlti +PPC_tdlei = _idaapi.PPC_tdlei +PPC_tdnei = _idaapi.PPC_tdnei +PPC_nop = _idaapi.PPC_nop +PPC_not = _idaapi.PPC_not +PPC_mr = _idaapi.PPC_mr +PPC_subi = _idaapi.PPC_subi +PPC_subic = _idaapi.PPC_subic +PPC_subis = _idaapi.PPC_subis +PPC_li = _idaapi.PPC_li +PPC_lis = _idaapi.PPC_lis +PPC_crset = _idaapi.PPC_crset +PPC_crnot = _idaapi.PPC_crnot +PPC_crmove = _idaapi.PPC_crmove +PPC_crclr = _idaapi.PPC_crclr +PPC_mtxer = _idaapi.PPC_mtxer +PPC_mtlr = _idaapi.PPC_mtlr +PPC_mtctr = _idaapi.PPC_mtctr +PPC_mtdsisr = _idaapi.PPC_mtdsisr +PPC_mtdar = _idaapi.PPC_mtdar +PPC_mtdec = _idaapi.PPC_mtdec +PPC_mtsrr0 = _idaapi.PPC_mtsrr0 +PPC_mtsrr1 = _idaapi.PPC_mtsrr1 +PPC_mtsprg0 = _idaapi.PPC_mtsprg0 +PPC_mtsprg1 = _idaapi.PPC_mtsprg1 +PPC_mtsprg2 = _idaapi.PPC_mtsprg2 +PPC_mtsprg3 = _idaapi.PPC_mtsprg3 +PPC_mttbl = _idaapi.PPC_mttbl +PPC_mttbu = _idaapi.PPC_mttbu +PPC_mfxer = _idaapi.PPC_mfxer +PPC_mflr = _idaapi.PPC_mflr +PPC_mfctr = _idaapi.PPC_mfctr +PPC_mfdsisr = _idaapi.PPC_mfdsisr +PPC_mfdar = _idaapi.PPC_mfdar +PPC_mfdec = _idaapi.PPC_mfdec +PPC_mfsrr0 = _idaapi.PPC_mfsrr0 +PPC_mfsrr1 = _idaapi.PPC_mfsrr1 +PPC_mfsprg0 = _idaapi.PPC_mfsprg0 +PPC_mfsprg1 = _idaapi.PPC_mfsprg1 +PPC_mfsprg2 = _idaapi.PPC_mfsprg2 +PPC_mfsprg3 = _idaapi.PPC_mfsprg3 +PPC_mftbl = _idaapi.PPC_mftbl +PPC_mftbu = _idaapi.PPC_mftbu +PPC_mfpvr = _idaapi.PPC_mfpvr +PPC_balways = _idaapi.PPC_balways +PPC_bt = _idaapi.PPC_bt +PPC_bf = _idaapi.PPC_bf +PPC_bdnz = _idaapi.PPC_bdnz +PPC_bdnzt = _idaapi.PPC_bdnzt +PPC_bdnzf = _idaapi.PPC_bdnzf +PPC_bdz = _idaapi.PPC_bdz +PPC_bdzt = _idaapi.PPC_bdzt +PPC_bdzf = _idaapi.PPC_bdzf +PPC_blt = _idaapi.PPC_blt +PPC_ble = _idaapi.PPC_ble +PPC_beq = _idaapi.PPC_beq +PPC_bge = _idaapi.PPC_bge +PPC_bgt = _idaapi.PPC_bgt +PPC_bne = _idaapi.PPC_bne +PPC_bso = _idaapi.PPC_bso +PPC_bns = _idaapi.PPC_bns +PPC_extlwi = _idaapi.PPC_extlwi +PPC_extrwi = _idaapi.PPC_extrwi +PPC_inslwi = _idaapi.PPC_inslwi +PPC_insrwi = _idaapi.PPC_insrwi +PPC_rotlwi = _idaapi.PPC_rotlwi +PPC_rotrwi = _idaapi.PPC_rotrwi +PPC_rotlw = _idaapi.PPC_rotlw +PPC_slwi = _idaapi.PPC_slwi +PPC_srwi = _idaapi.PPC_srwi +PPC_clrlwi = _idaapi.PPC_clrlwi +PPC_clrrwi = _idaapi.PPC_clrrwi +PPC_clrlslwi = _idaapi.PPC_clrlslwi +PPC_dccci = _idaapi.PPC_dccci +PPC_dcread = _idaapi.PPC_dcread +PPC_icbt = _idaapi.PPC_icbt +PPC_iccci = _idaapi.PPC_iccci +PPC_icread = _idaapi.PPC_icread +PPC_mfdcr = _idaapi.PPC_mfdcr +PPC_mtdcr = _idaapi.PPC_mtdcr +PPC_rfci = _idaapi.PPC_rfci +PPC_tlbre = _idaapi.PPC_tlbre +PPC_tlbsx = _idaapi.PPC_tlbsx +PPC_tlbwe = _idaapi.PPC_tlbwe +PPC_wrtee = _idaapi.PPC_wrtee +PPC_wrteei = _idaapi.PPC_wrteei +PPC_abs = _idaapi.PPC_abs +PPC_clcs = _idaapi.PPC_clcs +PPC_clf = _idaapi.PPC_clf +PPC_cli = _idaapi.PPC_cli +PPC_dclst = _idaapi.PPC_dclst +PPC_div = _idaapi.PPC_div +PPC_divs = _idaapi.PPC_divs +PPC_doz = _idaapi.PPC_doz +PPC_dozi = _idaapi.PPC_dozi +PPC_frsqrtes = _idaapi.PPC_frsqrtes +PPC_hrfid = _idaapi.PPC_hrfid +PPC_lscbx = _idaapi.PPC_lscbx +PPC_maskg = _idaapi.PPC_maskg +PPC_maskir = _idaapi.PPC_maskir +PPC_mfsri = _idaapi.PPC_mfsri +PPC_mul = _idaapi.PPC_mul +PPC_nabs = _idaapi.PPC_nabs +PPC_popcntb = _idaapi.PPC_popcntb +PPC_rac = _idaapi.PPC_rac +PPC_rfsvc = _idaapi.PPC_rfsvc +PPC_rlmi = _idaapi.PPC_rlmi +PPC_rrib = _idaapi.PPC_rrib +PPC_slbmfee = _idaapi.PPC_slbmfee +PPC_slbmfev = _idaapi.PPC_slbmfev +PPC_slbmte = _idaapi.PPC_slbmte +PPC_sle = _idaapi.PPC_sle +PPC_sleq = _idaapi.PPC_sleq +PPC_sliq = _idaapi.PPC_sliq +PPC_slliq = _idaapi.PPC_slliq +PPC_sllq = _idaapi.PPC_sllq +PPC_slq = _idaapi.PPC_slq +PPC_sraiq = _idaapi.PPC_sraiq +PPC_sraq = _idaapi.PPC_sraq +PPC_sre = _idaapi.PPC_sre +PPC_srea = _idaapi.PPC_srea +PPC_sreq = _idaapi.PPC_sreq +PPC_sriq = _idaapi.PPC_sriq +PPC_srliq = _idaapi.PPC_srliq +PPC_srlq = _idaapi.PPC_srlq +PPC_srq = _idaapi.PPC_srq +PPC_mtocrf = _idaapi.PPC_mtocrf +PPC_mfocrf = _idaapi.PPC_mfocrf +PPC_isel = _idaapi.PPC_isel +PPC_isellt = _idaapi.PPC_isellt +PPC_iselgt = _idaapi.PPC_iselgt +PPC_iseleq = _idaapi.PPC_iseleq +PPC_dcblc = _idaapi.PPC_dcblc +PPC_dcbtls = _idaapi.PPC_dcbtls +PPC_dcbtstls = _idaapi.PPC_dcbtstls +PPC_icblc = _idaapi.PPC_icblc +PPC_icbtls = _idaapi.PPC_icbtls +PPC_tlbivax = _idaapi.PPC_tlbivax +PPC_rfdi = _idaapi.PPC_rfdi +PPC_tlbld = _idaapi.PPC_tlbld +PPC_tlbli = _idaapi.PPC_tlbli +PPC_brinc = _idaapi.PPC_brinc +PPC_evabs = _idaapi.PPC_evabs +PPC_evaddiw = _idaapi.PPC_evaddiw +PPC_evaddsmiaaw = _idaapi.PPC_evaddsmiaaw +PPC_evaddssiaaw = _idaapi.PPC_evaddssiaaw +PPC_evaddumiaaw = _idaapi.PPC_evaddumiaaw +PPC_evaddusiaaw = _idaapi.PPC_evaddusiaaw +PPC_evaddw = _idaapi.PPC_evaddw +PPC_evand = _idaapi.PPC_evand +PPC_evandc = _idaapi.PPC_evandc +PPC_evcmpeq = _idaapi.PPC_evcmpeq +PPC_evcmpgts = _idaapi.PPC_evcmpgts +PPC_evcmpgtu = _idaapi.PPC_evcmpgtu +PPC_evcmplts = _idaapi.PPC_evcmplts +PPC_evcmpltu = _idaapi.PPC_evcmpltu +PPC_evcntlsw = _idaapi.PPC_evcntlsw +PPC_evcntlzw = _idaapi.PPC_evcntlzw +PPC_evdivws = _idaapi.PPC_evdivws +PPC_evdivwu = _idaapi.PPC_evdivwu +PPC_eveqv = _idaapi.PPC_eveqv +PPC_evextsb = _idaapi.PPC_evextsb +PPC_evextsh = _idaapi.PPC_evextsh +PPC_evldd = _idaapi.PPC_evldd +PPC_evlddx = _idaapi.PPC_evlddx +PPC_evldh = _idaapi.PPC_evldh +PPC_evldhx = _idaapi.PPC_evldhx +PPC_evldw = _idaapi.PPC_evldw +PPC_evldwx = _idaapi.PPC_evldwx +PPC_evlhhesplat = _idaapi.PPC_evlhhesplat +PPC_evlhhesplatx = _idaapi.PPC_evlhhesplatx +PPC_evlhhossplat = _idaapi.PPC_evlhhossplat +PPC_evlhhossplatx = _idaapi.PPC_evlhhossplatx +PPC_evlhhousplat = _idaapi.PPC_evlhhousplat +PPC_evlhhousplatx = _idaapi.PPC_evlhhousplatx +PPC_evlwhe = _idaapi.PPC_evlwhe +PPC_evlwhex = _idaapi.PPC_evlwhex +PPC_evlwhos = _idaapi.PPC_evlwhos +PPC_evlwhosx = _idaapi.PPC_evlwhosx +PPC_evlwhou = _idaapi.PPC_evlwhou +PPC_evlwhoux = _idaapi.PPC_evlwhoux +PPC_evlwhsplat = _idaapi.PPC_evlwhsplat +PPC_evlwhsplatx = _idaapi.PPC_evlwhsplatx +PPC_evlwwsplat = _idaapi.PPC_evlwwsplat +PPC_evlwwsplatx = _idaapi.PPC_evlwwsplatx +PPC_evmergehi = _idaapi.PPC_evmergehi +PPC_evmergehilo = _idaapi.PPC_evmergehilo +PPC_evmergelo = _idaapi.PPC_evmergelo +PPC_evmergelohi = _idaapi.PPC_evmergelohi +PPC_evmhegsmfaa = _idaapi.PPC_evmhegsmfaa +PPC_evmhegsmfan = _idaapi.PPC_evmhegsmfan +PPC_evmhegsmiaa = _idaapi.PPC_evmhegsmiaa +PPC_evmhegsmian = _idaapi.PPC_evmhegsmian +PPC_evmhegumiaa = _idaapi.PPC_evmhegumiaa +PPC_evmhegumian = _idaapi.PPC_evmhegumian +PPC_evmhesmf = _idaapi.PPC_evmhesmf +PPC_evmhesmfa = _idaapi.PPC_evmhesmfa +PPC_evmhesmfaaw = _idaapi.PPC_evmhesmfaaw +PPC_evmhesmfanw = _idaapi.PPC_evmhesmfanw +PPC_evmhesmi = _idaapi.PPC_evmhesmi +PPC_evmhesmia = _idaapi.PPC_evmhesmia +PPC_evmhesmiaaw = _idaapi.PPC_evmhesmiaaw +PPC_evmhesmianw = _idaapi.PPC_evmhesmianw +PPC_evmhessf = _idaapi.PPC_evmhessf +PPC_evmhessfa = _idaapi.PPC_evmhessfa +PPC_evmhessfaaw = _idaapi.PPC_evmhessfaaw +PPC_evmhessfanw = _idaapi.PPC_evmhessfanw +PPC_evmhessiaaw = _idaapi.PPC_evmhessiaaw +PPC_evmhessianw = _idaapi.PPC_evmhessianw +PPC_evmheumi = _idaapi.PPC_evmheumi +PPC_evmheumia = _idaapi.PPC_evmheumia +PPC_evmheumiaaw = _idaapi.PPC_evmheumiaaw +PPC_evmheumianw = _idaapi.PPC_evmheumianw +PPC_evmheusiaaw = _idaapi.PPC_evmheusiaaw +PPC_evmheusianw = _idaapi.PPC_evmheusianw +PPC_evmhogsmfaa = _idaapi.PPC_evmhogsmfaa +PPC_evmhogsmfan = _idaapi.PPC_evmhogsmfan +PPC_evmhogsmiaa = _idaapi.PPC_evmhogsmiaa +PPC_evmhogsmian = _idaapi.PPC_evmhogsmian +PPC_evmhogumiaa = _idaapi.PPC_evmhogumiaa +PPC_evmhogumian = _idaapi.PPC_evmhogumian +PPC_evmhosmf = _idaapi.PPC_evmhosmf +PPC_evmhosmfa = _idaapi.PPC_evmhosmfa +PPC_evmhosmfaaw = _idaapi.PPC_evmhosmfaaw +PPC_evmhosmfanw = _idaapi.PPC_evmhosmfanw +PPC_evmhosmi = _idaapi.PPC_evmhosmi +PPC_evmhosmia = _idaapi.PPC_evmhosmia +PPC_evmhosmiaaw = _idaapi.PPC_evmhosmiaaw +PPC_evmhosmianw = _idaapi.PPC_evmhosmianw +PPC_evmhossf = _idaapi.PPC_evmhossf +PPC_evmhossfa = _idaapi.PPC_evmhossfa +PPC_evmhossfaaw = _idaapi.PPC_evmhossfaaw +PPC_evmhossfanw = _idaapi.PPC_evmhossfanw +PPC_evmhossiaaw = _idaapi.PPC_evmhossiaaw +PPC_evmhossianw = _idaapi.PPC_evmhossianw +PPC_evmhoumi = _idaapi.PPC_evmhoumi +PPC_evmhoumia = _idaapi.PPC_evmhoumia +PPC_evmhoumiaaw = _idaapi.PPC_evmhoumiaaw +PPC_evmhoumianw = _idaapi.PPC_evmhoumianw +PPC_evmhousiaaw = _idaapi.PPC_evmhousiaaw +PPC_evmhousianw = _idaapi.PPC_evmhousianw +PPC_evmra = _idaapi.PPC_evmra +PPC_evmwhsmf = _idaapi.PPC_evmwhsmf +PPC_evmwhsmfa = _idaapi.PPC_evmwhsmfa +PPC_evmwhsmi = _idaapi.PPC_evmwhsmi +PPC_evmwhsmia = _idaapi.PPC_evmwhsmia +PPC_evmwhssf = _idaapi.PPC_evmwhssf +PPC_evmwhssfa = _idaapi.PPC_evmwhssfa +PPC_evmwhumi = _idaapi.PPC_evmwhumi +PPC_evmwhumia = _idaapi.PPC_evmwhumia +PPC_evmwlsmiaaw = _idaapi.PPC_evmwlsmiaaw +PPC_evmwlsmianw = _idaapi.PPC_evmwlsmianw +PPC_evmwlssiaaw = _idaapi.PPC_evmwlssiaaw +PPC_evmwlssianw = _idaapi.PPC_evmwlssianw +PPC_evmwlumi = _idaapi.PPC_evmwlumi +PPC_evmwlumia = _idaapi.PPC_evmwlumia +PPC_evmwlumiaaw = _idaapi.PPC_evmwlumiaaw +PPC_evmwlumianw = _idaapi.PPC_evmwlumianw +PPC_evmwlusiaaw = _idaapi.PPC_evmwlusiaaw +PPC_evmwlusianw = _idaapi.PPC_evmwlusianw +PPC_evmwsmf = _idaapi.PPC_evmwsmf +PPC_evmwsmfa = _idaapi.PPC_evmwsmfa +PPC_evmwsmfaa = _idaapi.PPC_evmwsmfaa +PPC_evmwsmfan = _idaapi.PPC_evmwsmfan +PPC_evmwsmi = _idaapi.PPC_evmwsmi +PPC_evmwsmia = _idaapi.PPC_evmwsmia +PPC_evmwsmiaa = _idaapi.PPC_evmwsmiaa +PPC_evmwsmian = _idaapi.PPC_evmwsmian +PPC_evmwssf = _idaapi.PPC_evmwssf +PPC_evmwssfa = _idaapi.PPC_evmwssfa +PPC_evmwssfaa = _idaapi.PPC_evmwssfaa +PPC_evmwssfan = _idaapi.PPC_evmwssfan +PPC_evmwumi = _idaapi.PPC_evmwumi +PPC_evmwumia = _idaapi.PPC_evmwumia +PPC_evmwumiaa = _idaapi.PPC_evmwumiaa +PPC_evmwumian = _idaapi.PPC_evmwumian +PPC_evnand = _idaapi.PPC_evnand +PPC_evneg = _idaapi.PPC_evneg +PPC_evnor = _idaapi.PPC_evnor +PPC_evor = _idaapi.PPC_evor +PPC_evorc = _idaapi.PPC_evorc +PPC_evrlw = _idaapi.PPC_evrlw +PPC_evrlwi = _idaapi.PPC_evrlwi +PPC_evrndw = _idaapi.PPC_evrndw +PPC_evsel = _idaapi.PPC_evsel +PPC_evslw = _idaapi.PPC_evslw +PPC_evslwi = _idaapi.PPC_evslwi +PPC_evsplatfi = _idaapi.PPC_evsplatfi +PPC_evsplati = _idaapi.PPC_evsplati +PPC_evsrwis = _idaapi.PPC_evsrwis +PPC_evsrwiu = _idaapi.PPC_evsrwiu +PPC_evsrws = _idaapi.PPC_evsrws +PPC_evsrwu = _idaapi.PPC_evsrwu +PPC_evstdd = _idaapi.PPC_evstdd +PPC_evstddx = _idaapi.PPC_evstddx +PPC_evstdh = _idaapi.PPC_evstdh +PPC_evstdhx = _idaapi.PPC_evstdhx +PPC_evstdw = _idaapi.PPC_evstdw +PPC_evstdwx = _idaapi.PPC_evstdwx +PPC_evstwhe = _idaapi.PPC_evstwhe +PPC_evstwhex = _idaapi.PPC_evstwhex +PPC_evstwho = _idaapi.PPC_evstwho +PPC_evstwhox = _idaapi.PPC_evstwhox +PPC_evstwwe = _idaapi.PPC_evstwwe +PPC_evstwwex = _idaapi.PPC_evstwwex +PPC_evstwwo = _idaapi.PPC_evstwwo +PPC_evstwwox = _idaapi.PPC_evstwwox +PPC_evsubfsmiaaw = _idaapi.PPC_evsubfsmiaaw +PPC_evsubfssiaaw = _idaapi.PPC_evsubfssiaaw +PPC_evsubfumiaaw = _idaapi.PPC_evsubfumiaaw +PPC_evsubfusiaaw = _idaapi.PPC_evsubfusiaaw +PPC_evsubfw = _idaapi.PPC_evsubfw +PPC_evsubifw = _idaapi.PPC_evsubifw +PPC_evxor = _idaapi.PPC_evxor +PPC_efdabs = _idaapi.PPC_efdabs +PPC_efdadd = _idaapi.PPC_efdadd +PPC_efdcfs = _idaapi.PPC_efdcfs +PPC_efdcfsf = _idaapi.PPC_efdcfsf +PPC_efdcfsi = _idaapi.PPC_efdcfsi +PPC_efdcfsid = _idaapi.PPC_efdcfsid +PPC_efdcfuf = _idaapi.PPC_efdcfuf +PPC_efdcfui = _idaapi.PPC_efdcfui +PPC_efdcfuid = _idaapi.PPC_efdcfuid +PPC_efdcmpeq = _idaapi.PPC_efdcmpeq +PPC_efdcmpgt = _idaapi.PPC_efdcmpgt +PPC_efdcmplt = _idaapi.PPC_efdcmplt +PPC_efdctsf = _idaapi.PPC_efdctsf +PPC_efdctsi = _idaapi.PPC_efdctsi +PPC_efdctsidz = _idaapi.PPC_efdctsidz +PPC_efdctsiz = _idaapi.PPC_efdctsiz +PPC_efdctuf = _idaapi.PPC_efdctuf +PPC_efdctui = _idaapi.PPC_efdctui +PPC_efdctuidz = _idaapi.PPC_efdctuidz +PPC_efdctuiz = _idaapi.PPC_efdctuiz +PPC_efddiv = _idaapi.PPC_efddiv +PPC_efdmul = _idaapi.PPC_efdmul +PPC_efdnabs = _idaapi.PPC_efdnabs +PPC_efdneg = _idaapi.PPC_efdneg +PPC_efdsub = _idaapi.PPC_efdsub +PPC_efdtsteq = _idaapi.PPC_efdtsteq +PPC_efdtstgt = _idaapi.PPC_efdtstgt +PPC_efdtstlt = _idaapi.PPC_efdtstlt +PPC_efscfd = _idaapi.PPC_efscfd +PPC_efsabs = _idaapi.PPC_efsabs +PPC_efsadd = _idaapi.PPC_efsadd +PPC_efscfsf = _idaapi.PPC_efscfsf +PPC_efscfsi = _idaapi.PPC_efscfsi +PPC_efscfuf = _idaapi.PPC_efscfuf +PPC_efscfui = _idaapi.PPC_efscfui +PPC_efscmpeq = _idaapi.PPC_efscmpeq +PPC_efscmpgt = _idaapi.PPC_efscmpgt +PPC_efscmplt = _idaapi.PPC_efscmplt +PPC_efsctsf = _idaapi.PPC_efsctsf +PPC_efsctsi = _idaapi.PPC_efsctsi +PPC_efsctsiz = _idaapi.PPC_efsctsiz +PPC_efsctuf = _idaapi.PPC_efsctuf +PPC_efsctui = _idaapi.PPC_efsctui +PPC_efsctuiz = _idaapi.PPC_efsctuiz +PPC_efsdiv = _idaapi.PPC_efsdiv +PPC_efsmul = _idaapi.PPC_efsmul +PPC_efsnabs = _idaapi.PPC_efsnabs +PPC_efsneg = _idaapi.PPC_efsneg +PPC_efssub = _idaapi.PPC_efssub +PPC_efststeq = _idaapi.PPC_efststeq +PPC_efststgt = _idaapi.PPC_efststgt +PPC_efststlt = _idaapi.PPC_efststlt +PPC_evfsabs = _idaapi.PPC_evfsabs +PPC_evfsadd = _idaapi.PPC_evfsadd +PPC_evfscfsf = _idaapi.PPC_evfscfsf +PPC_evfscfsi = _idaapi.PPC_evfscfsi +PPC_evfscfuf = _idaapi.PPC_evfscfuf +PPC_evfscfui = _idaapi.PPC_evfscfui +PPC_evfscmpeq = _idaapi.PPC_evfscmpeq +PPC_evfscmpgt = _idaapi.PPC_evfscmpgt +PPC_evfscmplt = _idaapi.PPC_evfscmplt +PPC_evfsctsf = _idaapi.PPC_evfsctsf +PPC_evfsctsi = _idaapi.PPC_evfsctsi +PPC_evfsctsiz = _idaapi.PPC_evfsctsiz +PPC_evfsctuf = _idaapi.PPC_evfsctuf +PPC_evfsctui = _idaapi.PPC_evfsctui +PPC_evfsctuiz = _idaapi.PPC_evfsctuiz +PPC_evfsdiv = _idaapi.PPC_evfsdiv +PPC_evfsmul = _idaapi.PPC_evfsmul +PPC_evfsnabs = _idaapi.PPC_evfsnabs +PPC_evfsneg = _idaapi.PPC_evfsneg +PPC_evfssub = _idaapi.PPC_evfssub +PPC_evfststeq = _idaapi.PPC_evfststeq +PPC_evfststgt = _idaapi.PPC_evfststgt +PPC_evfststlt = _idaapi.PPC_evfststlt +PPC_bpermd = _idaapi.PPC_bpermd +PPC_divde = _idaapi.PPC_divde +PPC_divdeu = _idaapi.PPC_divdeu +PPC_ldbrx = _idaapi.PPC_ldbrx +PPC_prtyd = _idaapi.PPC_prtyd +PPC_stdbrx = _idaapi.PPC_stdbrx +PPC_cmpb = _idaapi.PPC_cmpb +PPC_divwe = _idaapi.PPC_divwe +PPC_divweu = _idaapi.PPC_divweu +PPC_lbarx = _idaapi.PPC_lbarx +PPC_lharx = _idaapi.PPC_lharx +PPC_popcntd = _idaapi.PPC_popcntd +PPC_popcntw = _idaapi.PPC_popcntw +PPC_prtyw = _idaapi.PPC_prtyw +PPC_stbcx = _idaapi.PPC_stbcx +PPC_sthcx = _idaapi.PPC_sthcx +PPC_addg6s = _idaapi.PPC_addg6s +PPC_cbcdtd = _idaapi.PPC_cbcdtd +PPC_cdtbcd = _idaapi.PPC_cdtbcd +PPC_dadd = _idaapi.PPC_dadd +PPC_daddq = _idaapi.PPC_daddq +PPC_dcffix = _idaapi.PPC_dcffix +PPC_dcffixq = _idaapi.PPC_dcffixq +PPC_dcmpo = _idaapi.PPC_dcmpo +PPC_dcmpoq = _idaapi.PPC_dcmpoq +PPC_dcmpu = _idaapi.PPC_dcmpu +PPC_dcmpuq = _idaapi.PPC_dcmpuq +PPC_dctdp = _idaapi.PPC_dctdp +PPC_dctfix = _idaapi.PPC_dctfix +PPC_dctfixq = _idaapi.PPC_dctfixq +PPC_dctqpq = _idaapi.PPC_dctqpq +PPC_ddedpd = _idaapi.PPC_ddedpd +PPC_ddedpdq = _idaapi.PPC_ddedpdq +PPC_ddiv = _idaapi.PPC_ddiv +PPC_ddivq = _idaapi.PPC_ddivq +PPC_denbcd = _idaapi.PPC_denbcd +PPC_denbcdq = _idaapi.PPC_denbcdq +PPC_diex = _idaapi.PPC_diex +PPC_diexq = _idaapi.PPC_diexq +PPC_dmul = _idaapi.PPC_dmul +PPC_dmulq = _idaapi.PPC_dmulq +PPC_dqua = _idaapi.PPC_dqua +PPC_dquai = _idaapi.PPC_dquai +PPC_dquaiq = _idaapi.PPC_dquaiq +PPC_dquaq = _idaapi.PPC_dquaq +PPC_drdpq = _idaapi.PPC_drdpq +PPC_drintn = _idaapi.PPC_drintn +PPC_drintnq = _idaapi.PPC_drintnq +PPC_drintx = _idaapi.PPC_drintx +PPC_drintxq = _idaapi.PPC_drintxq +PPC_drrnd = _idaapi.PPC_drrnd +PPC_drrndq = _idaapi.PPC_drrndq +PPC_drsp = _idaapi.PPC_drsp +PPC_dscli = _idaapi.PPC_dscli +PPC_dscliq = _idaapi.PPC_dscliq +PPC_dscri = _idaapi.PPC_dscri +PPC_dscriq = _idaapi.PPC_dscriq +PPC_dsub = _idaapi.PPC_dsub +PPC_dsubq = _idaapi.PPC_dsubq +PPC_dtstdc = _idaapi.PPC_dtstdc +PPC_dtstdcq = _idaapi.PPC_dtstdcq +PPC_dtstdg = _idaapi.PPC_dtstdg +PPC_dtstdgq = _idaapi.PPC_dtstdgq +PPC_dtstex = _idaapi.PPC_dtstex +PPC_dtstexq = _idaapi.PPC_dtstexq +PPC_dtstsf = _idaapi.PPC_dtstsf +PPC_dtstsfq = _idaapi.PPC_dtstsfq +PPC_dxex = _idaapi.PPC_dxex +PPC_dxexq = _idaapi.PPC_dxexq +PPC_dsn = _idaapi.PPC_dsn +PPC_lbdx = _idaapi.PPC_lbdx +PPC_lddx = _idaapi.PPC_lddx +PPC_lfddx = _idaapi.PPC_lfddx +PPC_lhdx = _idaapi.PPC_lhdx +PPC_lwdx = _idaapi.PPC_lwdx +PPC_stbdx = _idaapi.PPC_stbdx +PPC_stddx = _idaapi.PPC_stddx +PPC_stfddx = _idaapi.PPC_stfddx +PPC_sthdx = _idaapi.PPC_sthdx +PPC_stwdx = _idaapi.PPC_stwdx +PPC_mbar = _idaapi.PPC_mbar +PPC_rfmci = _idaapi.PPC_rfmci +PPC_tlbilx = _idaapi.PPC_tlbilx +PPC_dci = _idaapi.PPC_dci +PPC_ici = _idaapi.PPC_ici +PPC_mfdcrux = _idaapi.PPC_mfdcrux +PPC_mfdcrx = _idaapi.PPC_mfdcrx +PPC_mtdcrux = _idaapi.PPC_mtdcrux +PPC_mtdcrx = _idaapi.PPC_mtdcrx +PPC_dnh = _idaapi.PPC_dnh +PPC_ehpriv = _idaapi.PPC_ehpriv +PPC_rfgi = _idaapi.PPC_rfgi +PPC_msgclr = _idaapi.PPC_msgclr +PPC_msgsnd = _idaapi.PPC_msgsnd +PPC_dcbfep = _idaapi.PPC_dcbfep +PPC_dcbstep = _idaapi.PPC_dcbstep +PPC_dcbtep = _idaapi.PPC_dcbtep +PPC_dcbtstep = _idaapi.PPC_dcbtstep +PPC_dcbzep = _idaapi.PPC_dcbzep +PPC_evlddepx = _idaapi.PPC_evlddepx +PPC_evstddepx = _idaapi.PPC_evstddepx +PPC_icbiep = _idaapi.PPC_icbiep +PPC_lbepx = _idaapi.PPC_lbepx +PPC_lfdepx = _idaapi.PPC_lfdepx +PPC_lhepx = _idaapi.PPC_lhepx +PPC_lvepx = _idaapi.PPC_lvepx +PPC_lvepxl = _idaapi.PPC_lvepxl +PPC_lwepx = _idaapi.PPC_lwepx +PPC_stbepx = _idaapi.PPC_stbepx +PPC_stfdepx = _idaapi.PPC_stfdepx +PPC_sthepx = _idaapi.PPC_sthepx +PPC_stvepx = _idaapi.PPC_stvepx +PPC_stvepxl = _idaapi.PPC_stvepxl +PPC_stwepx = _idaapi.PPC_stwepx +PPC_ldepx = _idaapi.PPC_ldepx +PPC_stdepx = _idaapi.PPC_stdepx +PPC_mfpmr = _idaapi.PPC_mfpmr +PPC_mtpmr = _idaapi.PPC_mtpmr +PPC_mftmr = _idaapi.PPC_mftmr +PPC_mttmr = _idaapi.PPC_mttmr +PPC_tlbsrx = _idaapi.PPC_tlbsrx +PPC_fcfids = _idaapi.PPC_fcfids +PPC_fcfidu = _idaapi.PPC_fcfidu +PPC_fcfidus = _idaapi.PPC_fcfidus +PPC_fctidu = _idaapi.PPC_fctidu +PPC_fctiduz = _idaapi.PPC_fctiduz +PPC_fctiwu = _idaapi.PPC_fctiwu +PPC_fctiwuz = _idaapi.PPC_fctiwuz +PPC_ftdiv = _idaapi.PPC_ftdiv +PPC_ftsqrt = _idaapi.PPC_ftsqrt +PPC_lfiwax = _idaapi.PPC_lfiwax +PPC_lfiwzx = _idaapi.PPC_lfiwzx +PPC_lfdp = _idaapi.PPC_lfdp +PPC_lfdpx = _idaapi.PPC_lfdpx +PPC_stfdp = _idaapi.PPC_stfdp +PPC_stfdpx = _idaapi.PPC_stfdpx +PPC_fcpsgn = _idaapi.PPC_fcpsgn +PPC_fre = _idaapi.PPC_fre +PPC_frim = _idaapi.PPC_frim +PPC_frin = _idaapi.PPC_frin +PPC_frip = _idaapi.PPC_frip +PPC_friz = _idaapi.PPC_friz +PPC_macchw = _idaapi.PPC_macchw +PPC_macchws = _idaapi.PPC_macchws +PPC_macchwsu = _idaapi.PPC_macchwsu +PPC_macchwu = _idaapi.PPC_macchwu +PPC_machhw = _idaapi.PPC_machhw +PPC_machhws = _idaapi.PPC_machhws +PPC_machhwsu = _idaapi.PPC_machhwsu +PPC_machhwu = _idaapi.PPC_machhwu +PPC_maclhw = _idaapi.PPC_maclhw +PPC_maclhws = _idaapi.PPC_maclhws +PPC_maclhwsu = _idaapi.PPC_maclhwsu +PPC_maclhwu = _idaapi.PPC_maclhwu +PPC_mulchw = _idaapi.PPC_mulchw +PPC_mulchwu = _idaapi.PPC_mulchwu +PPC_mulhhw = _idaapi.PPC_mulhhw +PPC_mulhhwu = _idaapi.PPC_mulhhwu +PPC_mullhw = _idaapi.PPC_mullhw +PPC_mullhwu = _idaapi.PPC_mullhwu +PPC_nmacchw = _idaapi.PPC_nmacchw +PPC_nmacchws = _idaapi.PPC_nmacchws +PPC_nmachhw = _idaapi.PPC_nmachhw +PPC_nmachhws = _idaapi.PPC_nmachhws +PPC_nmaclhw = _idaapi.PPC_nmaclhw +PPC_nmaclhws = _idaapi.PPC_nmaclhws +PPC_dlmzb = _idaapi.PPC_dlmzb +PPC_lq = _idaapi.PPC_lq +PPC_stq = _idaapi.PPC_stq +PPC_doze = _idaapi.PPC_doze +PPC_lbzcix = _idaapi.PPC_lbzcix +PPC_ldcix = _idaapi.PPC_ldcix +PPC_lhzcix = _idaapi.PPC_lhzcix +PPC_lwzcix = _idaapi.PPC_lwzcix +PPC_nap = _idaapi.PPC_nap +PPC_rvwinkle = _idaapi.PPC_rvwinkle +PPC_slbfee = _idaapi.PPC_slbfee +PPC_sleep = _idaapi.PPC_sleep +PPC_stbcix = _idaapi.PPC_stbcix +PPC_stdcix = _idaapi.PPC_stdcix +PPC_sthcix = _idaapi.PPC_sthcix +PPC_stwcix = _idaapi.PPC_stwcix +PPC_tlbiel = _idaapi.PPC_tlbiel +PPC_lvebx = _idaapi.PPC_lvebx +PPC_lvehx = _idaapi.PPC_lvehx +PPC_lvewx = _idaapi.PPC_lvewx +PPC_lvsl = _idaapi.PPC_lvsl +PPC_lvsr = _idaapi.PPC_lvsr +PPC_lvx = _idaapi.PPC_lvx +PPC_lvxl = _idaapi.PPC_lvxl +PPC_mfvscr = _idaapi.PPC_mfvscr +PPC_mtvscr = _idaapi.PPC_mtvscr +PPC_stvebx = _idaapi.PPC_stvebx +PPC_stvehx = _idaapi.PPC_stvehx +PPC_stvewx = _idaapi.PPC_stvewx +PPC_stvx = _idaapi.PPC_stvx +PPC_stvxl = _idaapi.PPC_stvxl +PPC_vaddcuw = _idaapi.PPC_vaddcuw +PPC_vaddfp = _idaapi.PPC_vaddfp +PPC_vaddsbs = _idaapi.PPC_vaddsbs +PPC_vaddshs = _idaapi.PPC_vaddshs +PPC_vaddsws = _idaapi.PPC_vaddsws +PPC_vaddubm = _idaapi.PPC_vaddubm +PPC_vaddubs = _idaapi.PPC_vaddubs +PPC_vadduhm = _idaapi.PPC_vadduhm +PPC_vadduhs = _idaapi.PPC_vadduhs +PPC_vadduwm = _idaapi.PPC_vadduwm +PPC_vadduws = _idaapi.PPC_vadduws +PPC_vand = _idaapi.PPC_vand +PPC_vandc = _idaapi.PPC_vandc +PPC_vavgsb = _idaapi.PPC_vavgsb +PPC_vavgsh = _idaapi.PPC_vavgsh +PPC_vavgsw = _idaapi.PPC_vavgsw +PPC_vavgub = _idaapi.PPC_vavgub +PPC_vavguh = _idaapi.PPC_vavguh +PPC_vavguw = _idaapi.PPC_vavguw +PPC_vcfsx = _idaapi.PPC_vcfsx +PPC_vcfux = _idaapi.PPC_vcfux +PPC_vcmpbfp = _idaapi.PPC_vcmpbfp +PPC_vcmpeqfp = _idaapi.PPC_vcmpeqfp +PPC_vcmpequb = _idaapi.PPC_vcmpequb +PPC_vcmpequh = _idaapi.PPC_vcmpequh +PPC_vcmpequw = _idaapi.PPC_vcmpequw +PPC_vcmpgefp = _idaapi.PPC_vcmpgefp +PPC_vcmpgtfp = _idaapi.PPC_vcmpgtfp +PPC_vcmpgtsb = _idaapi.PPC_vcmpgtsb +PPC_vcmpgtsh = _idaapi.PPC_vcmpgtsh +PPC_vcmpgtsw = _idaapi.PPC_vcmpgtsw +PPC_vcmpgtub = _idaapi.PPC_vcmpgtub +PPC_vcmpgtuh = _idaapi.PPC_vcmpgtuh +PPC_vcmpgtuw = _idaapi.PPC_vcmpgtuw +PPC_vctsxs = _idaapi.PPC_vctsxs +PPC_vctuxs = _idaapi.PPC_vctuxs +PPC_vexptefp = _idaapi.PPC_vexptefp +PPC_vlogefp = _idaapi.PPC_vlogefp +PPC_vmaddfp = _idaapi.PPC_vmaddfp +PPC_vmaxfp = _idaapi.PPC_vmaxfp +PPC_vmaxsb = _idaapi.PPC_vmaxsb +PPC_vmaxsh = _idaapi.PPC_vmaxsh +PPC_vmaxsw = _idaapi.PPC_vmaxsw +PPC_vmaxub = _idaapi.PPC_vmaxub +PPC_vmaxuh = _idaapi.PPC_vmaxuh +PPC_vmaxuw = _idaapi.PPC_vmaxuw +PPC_vmhaddshs = _idaapi.PPC_vmhaddshs +PPC_vmhraddshs = _idaapi.PPC_vmhraddshs +PPC_vminfp = _idaapi.PPC_vminfp +PPC_vminsb = _idaapi.PPC_vminsb +PPC_vminsh = _idaapi.PPC_vminsh +PPC_vminsw = _idaapi.PPC_vminsw +PPC_vminub = _idaapi.PPC_vminub +PPC_vminuh = _idaapi.PPC_vminuh +PPC_vminuw = _idaapi.PPC_vminuw +PPC_vmladduhm = _idaapi.PPC_vmladduhm +PPC_vmrghb = _idaapi.PPC_vmrghb +PPC_vmrghh = _idaapi.PPC_vmrghh +PPC_vmrghw = _idaapi.PPC_vmrghw +PPC_vmrglb = _idaapi.PPC_vmrglb +PPC_vmrglh = _idaapi.PPC_vmrglh +PPC_vmrglw = _idaapi.PPC_vmrglw +PPC_vmsummbm = _idaapi.PPC_vmsummbm +PPC_vmsumshm = _idaapi.PPC_vmsumshm +PPC_vmsumshs = _idaapi.PPC_vmsumshs +PPC_vmsumubm = _idaapi.PPC_vmsumubm +PPC_vmsumuhm = _idaapi.PPC_vmsumuhm +PPC_vmsumuhs = _idaapi.PPC_vmsumuhs +PPC_vmulesb = _idaapi.PPC_vmulesb +PPC_vmulesh = _idaapi.PPC_vmulesh +PPC_vmuleub = _idaapi.PPC_vmuleub +PPC_vmuleuh = _idaapi.PPC_vmuleuh +PPC_vmulosb = _idaapi.PPC_vmulosb +PPC_vmulosh = _idaapi.PPC_vmulosh +PPC_vmuloub = _idaapi.PPC_vmuloub +PPC_vmulouh = _idaapi.PPC_vmulouh +PPC_vnmsubfp = _idaapi.PPC_vnmsubfp +PPC_vnor = _idaapi.PPC_vnor +PPC_vor = _idaapi.PPC_vor +PPC_vperm = _idaapi.PPC_vperm +PPC_vpkpx = _idaapi.PPC_vpkpx +PPC_vpkshss = _idaapi.PPC_vpkshss +PPC_vpkshus = _idaapi.PPC_vpkshus +PPC_vpkswss = _idaapi.PPC_vpkswss +PPC_vpkswus = _idaapi.PPC_vpkswus +PPC_vpkuhum = _idaapi.PPC_vpkuhum +PPC_vpkuhus = _idaapi.PPC_vpkuhus +PPC_vpkuwum = _idaapi.PPC_vpkuwum +PPC_vpkuwus = _idaapi.PPC_vpkuwus +PPC_vrefp = _idaapi.PPC_vrefp +PPC_vrfim = _idaapi.PPC_vrfim +PPC_vrfin = _idaapi.PPC_vrfin +PPC_vrfip = _idaapi.PPC_vrfip +PPC_vrfiz = _idaapi.PPC_vrfiz +PPC_vrlb = _idaapi.PPC_vrlb +PPC_vrlh = _idaapi.PPC_vrlh +PPC_vrlw = _idaapi.PPC_vrlw +PPC_vrsqrtefp = _idaapi.PPC_vrsqrtefp +PPC_vsel = _idaapi.PPC_vsel +PPC_vsl = _idaapi.PPC_vsl +PPC_vslb = _idaapi.PPC_vslb +PPC_vsldoi = _idaapi.PPC_vsldoi +PPC_vslh = _idaapi.PPC_vslh +PPC_vslo = _idaapi.PPC_vslo +PPC_vslw = _idaapi.PPC_vslw +PPC_vspltb = _idaapi.PPC_vspltb +PPC_vsplth = _idaapi.PPC_vsplth +PPC_vspltisb = _idaapi.PPC_vspltisb +PPC_vspltish = _idaapi.PPC_vspltish +PPC_vspltisw = _idaapi.PPC_vspltisw +PPC_vspltw = _idaapi.PPC_vspltw +PPC_vsr = _idaapi.PPC_vsr +PPC_vsrab = _idaapi.PPC_vsrab +PPC_vsrah = _idaapi.PPC_vsrah +PPC_vsraw = _idaapi.PPC_vsraw +PPC_vsrb = _idaapi.PPC_vsrb +PPC_vsrh = _idaapi.PPC_vsrh +PPC_vsro = _idaapi.PPC_vsro +PPC_vsrw = _idaapi.PPC_vsrw +PPC_vsubcuw = _idaapi.PPC_vsubcuw +PPC_vsubfp = _idaapi.PPC_vsubfp +PPC_vsubsbs = _idaapi.PPC_vsubsbs +PPC_vsubshs = _idaapi.PPC_vsubshs +PPC_vsubsws = _idaapi.PPC_vsubsws +PPC_vsububm = _idaapi.PPC_vsububm +PPC_vsububs = _idaapi.PPC_vsububs +PPC_vsubuhm = _idaapi.PPC_vsubuhm +PPC_vsubuhs = _idaapi.PPC_vsubuhs +PPC_vsubuwm = _idaapi.PPC_vsubuwm +PPC_vsubuws = _idaapi.PPC_vsubuws +PPC_vsum2sws = _idaapi.PPC_vsum2sws +PPC_vsum4sbs = _idaapi.PPC_vsum4sbs +PPC_vsum4shs = _idaapi.PPC_vsum4shs +PPC_vsum4ubs = _idaapi.PPC_vsum4ubs +PPC_vsumsws = _idaapi.PPC_vsumsws +PPC_vupkhpx = _idaapi.PPC_vupkhpx +PPC_vupkhsb = _idaapi.PPC_vupkhsb +PPC_vupkhsh = _idaapi.PPC_vupkhsh +PPC_vupklpx = _idaapi.PPC_vupklpx +PPC_vupklsb = _idaapi.PPC_vupklsb +PPC_vupklsh = _idaapi.PPC_vupklsh +PPC_vxor = _idaapi.PPC_vxor +PPC_lxsdx = _idaapi.PPC_lxsdx +PPC_lxvd2x = _idaapi.PPC_lxvd2x +PPC_lxvdsx = _idaapi.PPC_lxvdsx +PPC_lxvw4x = _idaapi.PPC_lxvw4x +PPC_stxsdx = _idaapi.PPC_stxsdx +PPC_stxvd2x = _idaapi.PPC_stxvd2x +PPC_stxvw4x = _idaapi.PPC_stxvw4x +PPC_xsabsdp = _idaapi.PPC_xsabsdp +PPC_xsadddp = _idaapi.PPC_xsadddp +PPC_xscmpodp = _idaapi.PPC_xscmpodp +PPC_xscmpudp = _idaapi.PPC_xscmpudp +PPC_xscpsgndp = _idaapi.PPC_xscpsgndp +PPC_xscvdpsp = _idaapi.PPC_xscvdpsp +PPC_xscvdpsxds = _idaapi.PPC_xscvdpsxds +PPC_xscvdpsxws = _idaapi.PPC_xscvdpsxws +PPC_xscvdpuxds = _idaapi.PPC_xscvdpuxds +PPC_xscvdpuxws = _idaapi.PPC_xscvdpuxws +PPC_xscvspdp = _idaapi.PPC_xscvspdp +PPC_xscvsxddp = _idaapi.PPC_xscvsxddp +PPC_xscvuxddp = _idaapi.PPC_xscvuxddp +PPC_xsdivdp = _idaapi.PPC_xsdivdp +PPC_xsmaddadp = _idaapi.PPC_xsmaddadp +PPC_xsmaddmdp = _idaapi.PPC_xsmaddmdp +PPC_xsmaxdp = _idaapi.PPC_xsmaxdp +PPC_xsmindp = _idaapi.PPC_xsmindp +PPC_xsmsubadp = _idaapi.PPC_xsmsubadp +PPC_xsmsubmdp = _idaapi.PPC_xsmsubmdp +PPC_xsmuldp = _idaapi.PPC_xsmuldp +PPC_xsnabsdp = _idaapi.PPC_xsnabsdp +PPC_xsnegdp = _idaapi.PPC_xsnegdp +PPC_xsnmaddadp = _idaapi.PPC_xsnmaddadp +PPC_xsnmaddmdp = _idaapi.PPC_xsnmaddmdp +PPC_xsnmsubadp = _idaapi.PPC_xsnmsubadp +PPC_xsnmsubmdp = _idaapi.PPC_xsnmsubmdp +PPC_xsrdpi = _idaapi.PPC_xsrdpi +PPC_xsrdpic = _idaapi.PPC_xsrdpic +PPC_xsrdpim = _idaapi.PPC_xsrdpim +PPC_xsrdpip = _idaapi.PPC_xsrdpip +PPC_xsrdpiz = _idaapi.PPC_xsrdpiz +PPC_xsredp = _idaapi.PPC_xsredp +PPC_xsrsqrtedp = _idaapi.PPC_xsrsqrtedp +PPC_xssqrtdp = _idaapi.PPC_xssqrtdp +PPC_xssubdp = _idaapi.PPC_xssubdp +PPC_xstdivdp = _idaapi.PPC_xstdivdp +PPC_xstsqrtdp = _idaapi.PPC_xstsqrtdp +PPC_xvabsdp = _idaapi.PPC_xvabsdp +PPC_xvabssp = _idaapi.PPC_xvabssp +PPC_xvadddp = _idaapi.PPC_xvadddp +PPC_xvaddsp = _idaapi.PPC_xvaddsp +PPC_xvcmpeqdp = _idaapi.PPC_xvcmpeqdp +PPC_xvcmpeqsp = _idaapi.PPC_xvcmpeqsp +PPC_xvcmpgedp = _idaapi.PPC_xvcmpgedp +PPC_xvcmpgesp = _idaapi.PPC_xvcmpgesp +PPC_xvcmpgtdp = _idaapi.PPC_xvcmpgtdp +PPC_xvcmpgtsp = _idaapi.PPC_xvcmpgtsp +PPC_xvcpsgndp = _idaapi.PPC_xvcpsgndp +PPC_xvcpsgnsp = _idaapi.PPC_xvcpsgnsp +PPC_xvcvdpsp = _idaapi.PPC_xvcvdpsp +PPC_xvcvdpsxds = _idaapi.PPC_xvcvdpsxds +PPC_xvcvdpsxws = _idaapi.PPC_xvcvdpsxws +PPC_xvcvdpuxds = _idaapi.PPC_xvcvdpuxds +PPC_xvcvdpuxws = _idaapi.PPC_xvcvdpuxws +PPC_xvcvspdp = _idaapi.PPC_xvcvspdp +PPC_xvcvspsxds = _idaapi.PPC_xvcvspsxds +PPC_xvcvspsxws = _idaapi.PPC_xvcvspsxws +PPC_xvcvspuxds = _idaapi.PPC_xvcvspuxds +PPC_xvcvspuxws = _idaapi.PPC_xvcvspuxws +PPC_xvcvsxddp = _idaapi.PPC_xvcvsxddp +PPC_xvcvsxdsp = _idaapi.PPC_xvcvsxdsp +PPC_xvcvsxwdp = _idaapi.PPC_xvcvsxwdp +PPC_xvcvsxwsp = _idaapi.PPC_xvcvsxwsp +PPC_xvcvuxddp = _idaapi.PPC_xvcvuxddp +PPC_xvcvuxdsp = _idaapi.PPC_xvcvuxdsp +PPC_xvcvuxwdp = _idaapi.PPC_xvcvuxwdp +PPC_xvcvuxwsp = _idaapi.PPC_xvcvuxwsp +PPC_xvdivdp = _idaapi.PPC_xvdivdp +PPC_xvdivsp = _idaapi.PPC_xvdivsp +PPC_xvmaddadp = _idaapi.PPC_xvmaddadp +PPC_xvmaddasp = _idaapi.PPC_xvmaddasp +PPC_xvmaddmdp = _idaapi.PPC_xvmaddmdp +PPC_xvmaddmsp = _idaapi.PPC_xvmaddmsp +PPC_xvmaxdp = _idaapi.PPC_xvmaxdp +PPC_xvmaxsp = _idaapi.PPC_xvmaxsp +PPC_xvmindp = _idaapi.PPC_xvmindp +PPC_xvminsp = _idaapi.PPC_xvminsp +PPC_xvmsubadp = _idaapi.PPC_xvmsubadp +PPC_xvmsubasp = _idaapi.PPC_xvmsubasp +PPC_xvmsubmdp = _idaapi.PPC_xvmsubmdp +PPC_xvmsubmsp = _idaapi.PPC_xvmsubmsp +PPC_xvmuldp = _idaapi.PPC_xvmuldp +PPC_xvmulsp = _idaapi.PPC_xvmulsp +PPC_xvnabsdp = _idaapi.PPC_xvnabsdp +PPC_xvnabssp = _idaapi.PPC_xvnabssp +PPC_xvnegdp = _idaapi.PPC_xvnegdp +PPC_xvnegsp = _idaapi.PPC_xvnegsp +PPC_xvnmaddadp = _idaapi.PPC_xvnmaddadp +PPC_xvnmaddasp = _idaapi.PPC_xvnmaddasp +PPC_xvnmaddmdp = _idaapi.PPC_xvnmaddmdp +PPC_xvnmaddmsp = _idaapi.PPC_xvnmaddmsp +PPC_xvnmsubadp = _idaapi.PPC_xvnmsubadp +PPC_xvnmsubasp = _idaapi.PPC_xvnmsubasp +PPC_xvnmsubmdp = _idaapi.PPC_xvnmsubmdp +PPC_xvnmsubmsp = _idaapi.PPC_xvnmsubmsp +PPC_xvrdpi = _idaapi.PPC_xvrdpi +PPC_xvrdpic = _idaapi.PPC_xvrdpic +PPC_xvrdpim = _idaapi.PPC_xvrdpim +PPC_xvrdpip = _idaapi.PPC_xvrdpip +PPC_xvrdpiz = _idaapi.PPC_xvrdpiz +PPC_xvredp = _idaapi.PPC_xvredp +PPC_xvresp = _idaapi.PPC_xvresp +PPC_xvrspi = _idaapi.PPC_xvrspi +PPC_xvrspic = _idaapi.PPC_xvrspic +PPC_xvrspim = _idaapi.PPC_xvrspim +PPC_xvrspip = _idaapi.PPC_xvrspip +PPC_xvrspiz = _idaapi.PPC_xvrspiz +PPC_xvrsqrtedp = _idaapi.PPC_xvrsqrtedp +PPC_xvrsqrtesp = _idaapi.PPC_xvrsqrtesp +PPC_xvsqrtdp = _idaapi.PPC_xvsqrtdp +PPC_xvsqrtsp = _idaapi.PPC_xvsqrtsp +PPC_xvsubdp = _idaapi.PPC_xvsubdp +PPC_xvsubsp = _idaapi.PPC_xvsubsp +PPC_xvtdivdp = _idaapi.PPC_xvtdivdp +PPC_xvtdivsp = _idaapi.PPC_xvtdivsp +PPC_xvtsqrtdp = _idaapi.PPC_xvtsqrtdp +PPC_xvtsqrtsp = _idaapi.PPC_xvtsqrtsp +PPC_xxland = _idaapi.PPC_xxland +PPC_xxlandc = _idaapi.PPC_xxlandc +PPC_xxlnor = _idaapi.PPC_xxlnor +PPC_xxlor = _idaapi.PPC_xxlor +PPC_xxlxor = _idaapi.PPC_xxlxor +PPC_xxmrghw = _idaapi.PPC_xxmrghw +PPC_xxmrglw = _idaapi.PPC_xxmrglw +PPC_xxpermdi = _idaapi.PPC_xxpermdi +PPC_xxsel = _idaapi.PPC_xxsel +PPC_xxsldwi = _idaapi.PPC_xxsldwi +PPC_xxspltw = _idaapi.PPC_xxspltw +PPC_wait = _idaapi.PPC_wait +PPC_dss = _idaapi.PPC_dss +PPC_dssall = _idaapi.PPC_dssall +PPC_dst = _idaapi.PPC_dst +PPC_dstt = _idaapi.PPC_dstt +PPC_dstst = _idaapi.PPC_dstst +PPC_dststt = _idaapi.PPC_dststt +PPC_lvlx = _idaapi.PPC_lvlx +PPC_lvlxl = _idaapi.PPC_lvlxl +PPC_lvrx = _idaapi.PPC_lvrx +PPC_lvrxl = _idaapi.PPC_lvrxl +PPC_stvlx = _idaapi.PPC_stvlx +PPC_stvlxl = _idaapi.PPC_stvlxl +PPC_stvrx = _idaapi.PPC_stvrx +PPC_stvrxl = _idaapi.PPC_stvrxl +PPC_add16i = _idaapi.PPC_add16i +PPC_add2i = _idaapi.PPC_add2i +PPC_add2is = _idaapi.PPC_add2is +PPC_and2i = _idaapi.PPC_and2i +PPC_and2is = _idaapi.PPC_and2is +PPC_cmp16i = _idaapi.PPC_cmp16i +PPC_cmph = _idaapi.PPC_cmph +PPC_cmph16i = _idaapi.PPC_cmph16i +PPC_cmphl = _idaapi.PPC_cmphl +PPC_cmphl16i = _idaapi.PPC_cmphl16i +PPC_cmpl16i = _idaapi.PPC_cmpl16i +PPC_mull2i = _idaapi.PPC_mull2i +PPC_or2i = _idaapi.PPC_or2i +PPC_or2is = _idaapi.PPC_or2is +PPC_rlw = _idaapi.PPC_rlw +PPC_rlwi = _idaapi.PPC_rlwi +PPC_bclri = _idaapi.PPC_bclri +PPC_bgeni = _idaapi.PPC_bgeni +PPC_bmaski = _idaapi.PPC_bmaski +PPC_bseti = _idaapi.PPC_bseti +PPC_btsti = _idaapi.PPC_btsti +PPC_extzb = _idaapi.PPC_extzb +PPC_extzh = _idaapi.PPC_extzh +PPC_illegal = _idaapi.PPC_illegal +PPC_mfar = _idaapi.PPC_mfar +PPC_mtar = _idaapi.PPC_mtar +PPC_sub = _idaapi.PPC_sub +PPC_sub16i = _idaapi.PPC_sub16i +PPC_sub2i = _idaapi.PPC_sub2i +PPC_sub2is = _idaapi.PPC_sub2is +PPC_extldi = _idaapi.PPC_extldi +PPC_extrdi = _idaapi.PPC_extrdi +PPC_insrdi = _idaapi.PPC_insrdi +PPC_rotldi = _idaapi.PPC_rotldi +PPC_rotrdi = _idaapi.PPC_rotrdi +PPC_rotld = _idaapi.PPC_rotld +PPC_sldi = _idaapi.PPC_sldi +PPC_srdi = _idaapi.PPC_srdi +PPC_clrldi = _idaapi.PPC_clrldi +PPC_clrrdi = _idaapi.PPC_clrrdi +PPC_clrlsldi = _idaapi.PPC_clrlsldi +PPC_xnop = _idaapi.PPC_xnop +PPC_hnop = _idaapi.PPC_hnop +PPC_dcbfl = _idaapi.PPC_dcbfl +PPC_dcbflp = _idaapi.PPC_dcbflp +PPC_dcbtt = _idaapi.PPC_dcbtt +PPC_dcbtstt = _idaapi.PPC_dcbtstt +PPC_lwsync = _idaapi.PPC_lwsync +PPC_ptesync = _idaapi.PPC_ptesync +PPC_waitrsv = _idaapi.PPC_waitrsv +PPC_waitimpl = _idaapi.PPC_waitimpl +PPC_evmr = _idaapi.PPC_evmr +PPC_evnot = _idaapi.PPC_evnot +PPC_mtcr = _idaapi.PPC_mtcr +PPC_xvmovdp = _idaapi.PPC_xvmovdp +PPC_xvmovsp = _idaapi.PPC_xvmovsp +PPC_xxspltd = _idaapi.PPC_xxspltd +PPC_xxmrghd = _idaapi.PPC_xxmrghd +PPC_xxmrgld = _idaapi.PPC_xxmrgld +PPC_xxswapd = _idaapi.PPC_xxswapd +PPC_dcbz128 = _idaapi.PPC_dcbz128 +PPC_mtmsree = _idaapi.PPC_mtmsree +PPC_vcfpsxws = _idaapi.PPC_vcfpsxws +PPC_vcfpuxws = _idaapi.PPC_vcfpuxws +PPC_vcsxwfp = _idaapi.PPC_vcsxwfp +PPC_vcuxwfp = _idaapi.PPC_vcuxwfp +PPC_vmaddcfp = _idaapi.PPC_vmaddcfp +PPC_vmsum3fp = _idaapi.PPC_vmsum3fp +PPC_vmsum4fp = _idaapi.PPC_vmsum4fp +PPC_vmulfp = _idaapi.PPC_vmulfp +PPC_vpermwi = _idaapi.PPC_vpermwi +PPC_vpkd3d = _idaapi.PPC_vpkd3d +PPC_vrlimi = _idaapi.PPC_vrlimi +PPC_vupkd3d = _idaapi.PPC_vupkd3d +PPC_ps_cmpu0 = _idaapi.PPC_ps_cmpu0 +PPC_psq_lx = _idaapi.PPC_psq_lx +PPC_psq_stx = _idaapi.PPC_psq_stx +PPC_ps_sum0 = _idaapi.PPC_ps_sum0 +PPC_ps_sum1 = _idaapi.PPC_ps_sum1 +PPC_ps_muls0 = _idaapi.PPC_ps_muls0 +PPC_ps_muls1 = _idaapi.PPC_ps_muls1 +PPC_ps_madds0 = _idaapi.PPC_ps_madds0 +PPC_ps_madds1 = _idaapi.PPC_ps_madds1 +PPC_ps_div = _idaapi.PPC_ps_div +PPC_ps_sub = _idaapi.PPC_ps_sub +PPC_ps_add = _idaapi.PPC_ps_add +PPC_ps_sel = _idaapi.PPC_ps_sel +PPC_ps_res = _idaapi.PPC_ps_res +PPC_ps_mul = _idaapi.PPC_ps_mul +PPC_ps_rsqrte = _idaapi.PPC_ps_rsqrte +PPC_ps_msub = _idaapi.PPC_ps_msub +PPC_ps_madd = _idaapi.PPC_ps_madd +PPC_ps_nmsub = _idaapi.PPC_ps_nmsub +PPC_ps_nmadd = _idaapi.PPC_ps_nmadd +PPC_ps_cmpo0 = _idaapi.PPC_ps_cmpo0 +PPC_psq_lux = _idaapi.PPC_psq_lux +PPC_psq_stux = _idaapi.PPC_psq_stux +PPC_ps_neg = _idaapi.PPC_ps_neg +PPC_ps_cmpu1 = _idaapi.PPC_ps_cmpu1 +PPC_ps_mr = _idaapi.PPC_ps_mr +PPC_ps_cmpo1 = _idaapi.PPC_ps_cmpo1 +PPC_ps_nabs = _idaapi.PPC_ps_nabs +PPC_ps_abs = _idaapi.PPC_ps_abs +PPC_ps_merge00 = _idaapi.PPC_ps_merge00 +PPC_ps_merge01 = _idaapi.PPC_ps_merge01 +PPC_ps_merge10 = _idaapi.PPC_ps_merge10 +PPC_ps_merge11 = _idaapi.PPC_ps_merge11 +PPC_dcbz_l = _idaapi.PPC_dcbz_l +PPC_psq_l = _idaapi.PPC_psq_l +PPC_psq_lu = _idaapi.PPC_psq_lu +PPC_psq_st = _idaapi.PPC_psq_st +PPC_psq_stu = _idaapi.PPC_psq_stu +PPC_evfsmadd = _idaapi.PPC_evfsmadd +PPC_evfsmsub = _idaapi.PPC_evfsmsub +PPC_evfssqrt = _idaapi.PPC_evfssqrt +PPC_evfsnmadd = _idaapi.PPC_evfsnmadd +PPC_evfsnmsub = _idaapi.PPC_evfsnmsub +PPC_evfsmax = _idaapi.PPC_evfsmax +PPC_evfsmin = _idaapi.PPC_evfsmin +PPC_evfsaddsub = _idaapi.PPC_evfsaddsub +PPC_evfssubadd = _idaapi.PPC_evfssubadd +PPC_evfssum = _idaapi.PPC_evfssum +PPC_evfsdiff = _idaapi.PPC_evfsdiff +PPC_evfssumdiff = _idaapi.PPC_evfssumdiff +PPC_evfsdiffsum = _idaapi.PPC_evfsdiffsum +PPC_evfsaddx = _idaapi.PPC_evfsaddx +PPC_evfssubx = _idaapi.PPC_evfssubx +PPC_evfsaddsubx = _idaapi.PPC_evfsaddsubx +PPC_evfssubaddx = _idaapi.PPC_evfssubaddx +PPC_evfsmulx = _idaapi.PPC_evfsmulx +PPC_evfsmule = _idaapi.PPC_evfsmule +PPC_evfsmulo = _idaapi.PPC_evfsmulo +PPC_evfscfh = _idaapi.PPC_evfscfh +PPC_evfscth = _idaapi.PPC_evfscth +PPC_efsmax = _idaapi.PPC_efsmax +PPC_efsmin = _idaapi.PPC_efsmin +PPC_efsmadd = _idaapi.PPC_efsmadd +PPC_efsmsub = _idaapi.PPC_efsmsub +PPC_efssqrt = _idaapi.PPC_efssqrt +PPC_efsnmadd = _idaapi.PPC_efsnmadd +PPC_efsnmsub = _idaapi.PPC_efsnmsub +PPC_efscfh = _idaapi.PPC_efscfh +PPC_efscth = _idaapi.PPC_efscth +PPC_lmvgprw = _idaapi.PPC_lmvgprw +PPC_stmvgprw = _idaapi.PPC_stmvgprw +PPC_lmvsprw = _idaapi.PPC_lmvsprw +PPC_stmvsprw = _idaapi.PPC_stmvsprw +PPC_lmvsrrw = _idaapi.PPC_lmvsrrw +PPC_stmvsrrw = _idaapi.PPC_stmvsrrw +PPC_lmvcsrrw = _idaapi.PPC_lmvcsrrw +PPC_stmvcsrrw = _idaapi.PPC_stmvcsrrw +PPC_lmvdsrrw = _idaapi.PPC_lmvdsrrw +PPC_stmvdsrrw = _idaapi.PPC_stmvdsrrw +PPC_lmvmcsrrw = _idaapi.PPC_lmvmcsrrw +PPC_stmvmcsrrw = _idaapi.PPC_stmvmcsrrw +PPC_evdotpwcssi = _idaapi.PPC_evdotpwcssi +PPC_evdotpwcsmi = _idaapi.PPC_evdotpwcsmi +PPC_evdotpwcssfr = _idaapi.PPC_evdotpwcssfr +PPC_evdotpwcssf = _idaapi.PPC_evdotpwcssf +PPC_evdotpwgasmf = _idaapi.PPC_evdotpwgasmf +PPC_evdotpwxgasmf = _idaapi.PPC_evdotpwxgasmf +PPC_evdotpwgasmfr = _idaapi.PPC_evdotpwgasmfr +PPC_evdotpwxgasmfr = _idaapi.PPC_evdotpwxgasmfr +PPC_evdotpwgssmf = _idaapi.PPC_evdotpwgssmf +PPC_evdotpwxgssmf = _idaapi.PPC_evdotpwxgssmf +PPC_evdotpwgssmfr = _idaapi.PPC_evdotpwgssmfr +PPC_evdotpwxgssmfr = _idaapi.PPC_evdotpwxgssmfr +PPC_evdotpwcssiaaw3 = _idaapi.PPC_evdotpwcssiaaw3 +PPC_evdotpwcsmiaaw3 = _idaapi.PPC_evdotpwcsmiaaw3 +PPC_evdotpwcssfraaw3 = _idaapi.PPC_evdotpwcssfraaw3 +PPC_evdotpwcssfaaw3 = _idaapi.PPC_evdotpwcssfaaw3 +PPC_evdotpwgasmfaa3 = _idaapi.PPC_evdotpwgasmfaa3 +PPC_evdotpwxgasmfaa3 = _idaapi.PPC_evdotpwxgasmfaa3 +PPC_evdotpwgasmfraa3 = _idaapi.PPC_evdotpwgasmfraa3 +PPC_evdotpwxgasmfraa3 = _idaapi.PPC_evdotpwxgasmfraa3 +PPC_evdotpwgssmfaa3 = _idaapi.PPC_evdotpwgssmfaa3 +PPC_evdotpwxgssmfaa3 = _idaapi.PPC_evdotpwxgssmfaa3 +PPC_evdotpwgssmfraa3 = _idaapi.PPC_evdotpwgssmfraa3 +PPC_evdotpwxgssmfraa3 = _idaapi.PPC_evdotpwxgssmfraa3 +PPC_evdotpwcssia = _idaapi.PPC_evdotpwcssia +PPC_evdotpwcsmia = _idaapi.PPC_evdotpwcsmia +PPC_evdotpwcssfra = _idaapi.PPC_evdotpwcssfra +PPC_evdotpwcssfa = _idaapi.PPC_evdotpwcssfa +PPC_evdotpwgasmfa = _idaapi.PPC_evdotpwgasmfa +PPC_evdotpwxgasmfa = _idaapi.PPC_evdotpwxgasmfa +PPC_evdotpwgasmfra = _idaapi.PPC_evdotpwgasmfra +PPC_evdotpwxgasmfra = _idaapi.PPC_evdotpwxgasmfra +PPC_evdotpwgssmfa = _idaapi.PPC_evdotpwgssmfa +PPC_evdotpwxgssmfa = _idaapi.PPC_evdotpwxgssmfa +PPC_evdotpwgssmfra = _idaapi.PPC_evdotpwgssmfra +PPC_evdotpwxgssmfra = _idaapi.PPC_evdotpwxgssmfra +PPC_evdotpwcssiaaw = _idaapi.PPC_evdotpwcssiaaw +PPC_evdotpwcsmiaaw = _idaapi.PPC_evdotpwcsmiaaw +PPC_evdotpwcssfraaw = _idaapi.PPC_evdotpwcssfraaw +PPC_evdotpwcssfaaw = _idaapi.PPC_evdotpwcssfaaw +PPC_evdotpwgasmfaa = _idaapi.PPC_evdotpwgasmfaa +PPC_evdotpwxgasmfaa = _idaapi.PPC_evdotpwxgasmfaa +PPC_evdotpwgasmfraa = _idaapi.PPC_evdotpwgasmfraa +PPC_evdotpwxgasmfraa = _idaapi.PPC_evdotpwxgasmfraa +PPC_evdotpwgssmfaa = _idaapi.PPC_evdotpwgssmfaa +PPC_evdotpwxgssmfaa = _idaapi.PPC_evdotpwxgssmfaa +PPC_evdotpwgssmfraa = _idaapi.PPC_evdotpwgssmfraa +PPC_evdotpwxgssmfraa = _idaapi.PPC_evdotpwxgssmfraa +PPC_evdotphihcssi = _idaapi.PPC_evdotphihcssi +PPC_evdotplohcssi = _idaapi.PPC_evdotplohcssi +PPC_evdotphihcssf = _idaapi.PPC_evdotphihcssf +PPC_evdotplohcssf = _idaapi.PPC_evdotplohcssf +PPC_evdotphihcsmi = _idaapi.PPC_evdotphihcsmi +PPC_evdotplohcsmi = _idaapi.PPC_evdotplohcsmi +PPC_evdotphihcssfr = _idaapi.PPC_evdotphihcssfr +PPC_evdotplohcssfr = _idaapi.PPC_evdotplohcssfr +PPC_evdotphihcssiaaw3 = _idaapi.PPC_evdotphihcssiaaw3 +PPC_evdotplohcssiaaw3 = _idaapi.PPC_evdotplohcssiaaw3 +PPC_evdotphihcssfaaw3 = _idaapi.PPC_evdotphihcssfaaw3 +PPC_evdotplohcssfaaw3 = _idaapi.PPC_evdotplohcssfaaw3 +PPC_evdotphihcsmiaaw3 = _idaapi.PPC_evdotphihcsmiaaw3 +PPC_evdotplohcsmiaaw3 = _idaapi.PPC_evdotplohcsmiaaw3 +PPC_evdotphihcssfraaw3 = _idaapi.PPC_evdotphihcssfraaw3 +PPC_evdotplohcssfraaw3 = _idaapi.PPC_evdotplohcssfraaw3 +PPC_evdotphihcssia = _idaapi.PPC_evdotphihcssia +PPC_evdotplohcssia = _idaapi.PPC_evdotplohcssia +PPC_evdotphihcssfa = _idaapi.PPC_evdotphihcssfa +PPC_evdotplohcssfa = _idaapi.PPC_evdotplohcssfa +PPC_evdotphihcsmia = _idaapi.PPC_evdotphihcsmia +PPC_evdotplohcsmia = _idaapi.PPC_evdotplohcsmia +PPC_evdotphihcssfra = _idaapi.PPC_evdotphihcssfra +PPC_evdotplohcssfra = _idaapi.PPC_evdotplohcssfra +PPC_evdotphihcssiaaw = _idaapi.PPC_evdotphihcssiaaw +PPC_evdotplohcssiaaw = _idaapi.PPC_evdotplohcssiaaw +PPC_evdotphihcssfaaw = _idaapi.PPC_evdotphihcssfaaw +PPC_evdotplohcssfaaw = _idaapi.PPC_evdotplohcssfaaw +PPC_evdotphihcsmiaaw = _idaapi.PPC_evdotphihcsmiaaw +PPC_evdotplohcsmiaaw = _idaapi.PPC_evdotplohcsmiaaw +PPC_evdotphihcssfraaw = _idaapi.PPC_evdotphihcssfraaw +PPC_evdotplohcssfraaw = _idaapi.PPC_evdotplohcssfraaw +PPC_evdotphausi = _idaapi.PPC_evdotphausi +PPC_evdotphassi = _idaapi.PPC_evdotphassi +PPC_evdotphasusi = _idaapi.PPC_evdotphasusi +PPC_evdotphassf = _idaapi.PPC_evdotphassf +PPC_evdotphsssf = _idaapi.PPC_evdotphsssf +PPC_evdotphaumi = _idaapi.PPC_evdotphaumi +PPC_evdotphasmi = _idaapi.PPC_evdotphasmi +PPC_evdotphasumi = _idaapi.PPC_evdotphasumi +PPC_evdotphassfr = _idaapi.PPC_evdotphassfr +PPC_evdotphssmi = _idaapi.PPC_evdotphssmi +PPC_evdotphsssfr = _idaapi.PPC_evdotphsssfr +PPC_evdotphausiaaw3 = _idaapi.PPC_evdotphausiaaw3 +PPC_evdotphassiaaw3 = _idaapi.PPC_evdotphassiaaw3 +PPC_evdotphasusiaaw3 = _idaapi.PPC_evdotphasusiaaw3 +PPC_evdotphassfaaw3 = _idaapi.PPC_evdotphassfaaw3 +PPC_evdotphsssiaaw3 = _idaapi.PPC_evdotphsssiaaw3 +PPC_evdotphsssfaaw3 = _idaapi.PPC_evdotphsssfaaw3 +PPC_evdotphaumiaaw3 = _idaapi.PPC_evdotphaumiaaw3 +PPC_evdotphasmiaaw3 = _idaapi.PPC_evdotphasmiaaw3 +PPC_evdotphasumiaaw3 = _idaapi.PPC_evdotphasumiaaw3 +PPC_evdotphassfraaw3 = _idaapi.PPC_evdotphassfraaw3 +PPC_evdotphssmiaaw3 = _idaapi.PPC_evdotphssmiaaw3 +PPC_evdotphsssfraaw3 = _idaapi.PPC_evdotphsssfraaw3 +PPC_evdotphausia = _idaapi.PPC_evdotphausia +PPC_evdotphassia = _idaapi.PPC_evdotphassia +PPC_evdotphasusia = _idaapi.PPC_evdotphasusia +PPC_evdotphassfa = _idaapi.PPC_evdotphassfa +PPC_evdotphsssfa = _idaapi.PPC_evdotphsssfa +PPC_evdotphaumia = _idaapi.PPC_evdotphaumia +PPC_evdotphasmia = _idaapi.PPC_evdotphasmia +PPC_evdotphasumia = _idaapi.PPC_evdotphasumia +PPC_evdotphassfra = _idaapi.PPC_evdotphassfra +PPC_evdotphssmia = _idaapi.PPC_evdotphssmia +PPC_evdotphsssfra = _idaapi.PPC_evdotphsssfra +PPC_evdotphausiaaw = _idaapi.PPC_evdotphausiaaw +PPC_evdotphassiaaw = _idaapi.PPC_evdotphassiaaw +PPC_evdotphasusiaaw = _idaapi.PPC_evdotphasusiaaw +PPC_evdotphassfaaw = _idaapi.PPC_evdotphassfaaw +PPC_evdotphsssiaaw = _idaapi.PPC_evdotphsssiaaw +PPC_evdotphsssfaaw = _idaapi.PPC_evdotphsssfaaw +PPC_evdotphaumiaaw = _idaapi.PPC_evdotphaumiaaw +PPC_evdotphasmiaaw = _idaapi.PPC_evdotphasmiaaw +PPC_evdotphasumiaaw = _idaapi.PPC_evdotphasumiaaw +PPC_evdotphassfraaw = _idaapi.PPC_evdotphassfraaw +PPC_evdotphssmiaaw = _idaapi.PPC_evdotphssmiaaw +PPC_evdotphsssfraaw = _idaapi.PPC_evdotphsssfraaw +PPC_evdotp4hgaumi = _idaapi.PPC_evdotp4hgaumi +PPC_evdotp4hgasmi = _idaapi.PPC_evdotp4hgasmi +PPC_evdotp4hgasumi = _idaapi.PPC_evdotp4hgasumi +PPC_evdotp4hgasmf = _idaapi.PPC_evdotp4hgasmf +PPC_evdotp4hgssmi = _idaapi.PPC_evdotp4hgssmi +PPC_evdotp4hgssmf = _idaapi.PPC_evdotp4hgssmf +PPC_evdotp4hxgasmi = _idaapi.PPC_evdotp4hxgasmi +PPC_evdotp4hxgasmf = _idaapi.PPC_evdotp4hxgasmf +PPC_evdotpbaumi = _idaapi.PPC_evdotpbaumi +PPC_evdotpbasmi = _idaapi.PPC_evdotpbasmi +PPC_evdotpbasumi = _idaapi.PPC_evdotpbasumi +PPC_evdotp4hxgssmi = _idaapi.PPC_evdotp4hxgssmi +PPC_evdotp4hxgssmf = _idaapi.PPC_evdotp4hxgssmf +PPC_evdotp4hgaumiaa3 = _idaapi.PPC_evdotp4hgaumiaa3 +PPC_evdotp4hgasmiaa3 = _idaapi.PPC_evdotp4hgasmiaa3 +PPC_evdotp4hgasumiaa3 = _idaapi.PPC_evdotp4hgasumiaa3 +PPC_evdotp4hgasmfaa3 = _idaapi.PPC_evdotp4hgasmfaa3 +PPC_evdotp4hgssmiaa3 = _idaapi.PPC_evdotp4hgssmiaa3 +PPC_evdotp4hgssmfaa3 = _idaapi.PPC_evdotp4hgssmfaa3 +PPC_evdotp4hxgasmiaa3 = _idaapi.PPC_evdotp4hxgasmiaa3 +PPC_evdotp4hxgasmfaa3 = _idaapi.PPC_evdotp4hxgasmfaa3 +PPC_evdotpbaumiaaw3 = _idaapi.PPC_evdotpbaumiaaw3 +PPC_evdotpbasmiaaw3 = _idaapi.PPC_evdotpbasmiaaw3 +PPC_evdotpbasumiaaw3 = _idaapi.PPC_evdotpbasumiaaw3 +PPC_evdotp4hxgssmiaa3 = _idaapi.PPC_evdotp4hxgssmiaa3 +PPC_evdotp4hxgssmfaa3 = _idaapi.PPC_evdotp4hxgssmfaa3 +PPC_evdotp4hgaumia = _idaapi.PPC_evdotp4hgaumia +PPC_evdotp4hgasmia = _idaapi.PPC_evdotp4hgasmia +PPC_evdotp4hgasumia = _idaapi.PPC_evdotp4hgasumia +PPC_evdotp4hgasmfa = _idaapi.PPC_evdotp4hgasmfa +PPC_evdotp4hgssmia = _idaapi.PPC_evdotp4hgssmia +PPC_evdotp4hgssmfa = _idaapi.PPC_evdotp4hgssmfa +PPC_evdotp4hxgasmia = _idaapi.PPC_evdotp4hxgasmia +PPC_evdotp4hxgasmfa = _idaapi.PPC_evdotp4hxgasmfa +PPC_evdotpbaumia = _idaapi.PPC_evdotpbaumia +PPC_evdotpbasmia = _idaapi.PPC_evdotpbasmia +PPC_evdotpbasumia = _idaapi.PPC_evdotpbasumia +PPC_evdotp4hxgssmia = _idaapi.PPC_evdotp4hxgssmia +PPC_evdotp4hxgssmfa = _idaapi.PPC_evdotp4hxgssmfa +PPC_evdotp4hgaumiaa = _idaapi.PPC_evdotp4hgaumiaa +PPC_evdotp4hgasmiaa = _idaapi.PPC_evdotp4hgasmiaa +PPC_evdotp4hgasumiaa = _idaapi.PPC_evdotp4hgasumiaa +PPC_evdotp4hgasmfaa = _idaapi.PPC_evdotp4hgasmfaa +PPC_evdotp4hgssmiaa = _idaapi.PPC_evdotp4hgssmiaa +PPC_evdotp4hgssmfaa = _idaapi.PPC_evdotp4hgssmfaa +PPC_evdotp4hxgasmiaa = _idaapi.PPC_evdotp4hxgasmiaa +PPC_evdotp4hxgasmfaa = _idaapi.PPC_evdotp4hxgasmfaa +PPC_evdotpbaumiaaw = _idaapi.PPC_evdotpbaumiaaw +PPC_evdotpbasmiaaw = _idaapi.PPC_evdotpbasmiaaw +PPC_evdotpbasumiaaw = _idaapi.PPC_evdotpbasumiaaw +PPC_evdotp4hxgssmiaa = _idaapi.PPC_evdotp4hxgssmiaa +PPC_evdotp4hxgssmfaa = _idaapi.PPC_evdotp4hxgssmfaa +PPC_evdotpwausi = _idaapi.PPC_evdotpwausi +PPC_evdotpwassi = _idaapi.PPC_evdotpwassi +PPC_evdotpwasusi = _idaapi.PPC_evdotpwasusi +PPC_evdotpwaumi = _idaapi.PPC_evdotpwaumi +PPC_evdotpwasmi = _idaapi.PPC_evdotpwasmi +PPC_evdotpwasumi = _idaapi.PPC_evdotpwasumi +PPC_evdotpwssmi = _idaapi.PPC_evdotpwssmi +PPC_evdotpwausiaa3 = _idaapi.PPC_evdotpwausiaa3 +PPC_evdotpwassiaa3 = _idaapi.PPC_evdotpwassiaa3 +PPC_evdotpwasusiaa3 = _idaapi.PPC_evdotpwasusiaa3 +PPC_evdotpwsssiaa3 = _idaapi.PPC_evdotpwsssiaa3 +PPC_evdotpwaumiaa3 = _idaapi.PPC_evdotpwaumiaa3 +PPC_evdotpwasmiaa3 = _idaapi.PPC_evdotpwasmiaa3 +PPC_evdotpwasumiaa3 = _idaapi.PPC_evdotpwasumiaa3 +PPC_evdotpwssmiaa3 = _idaapi.PPC_evdotpwssmiaa3 +PPC_evdotpwausia = _idaapi.PPC_evdotpwausia +PPC_evdotpwassia = _idaapi.PPC_evdotpwassia +PPC_evdotpwasusia = _idaapi.PPC_evdotpwasusia +PPC_evdotpwaumia = _idaapi.PPC_evdotpwaumia +PPC_evdotpwasmia = _idaapi.PPC_evdotpwasmia +PPC_evdotpwasumia = _idaapi.PPC_evdotpwasumia +PPC_evdotpwssmia = _idaapi.PPC_evdotpwssmia +PPC_evdotpwausiaa = _idaapi.PPC_evdotpwausiaa +PPC_evdotpwassiaa = _idaapi.PPC_evdotpwassiaa +PPC_evdotpwasusiaa = _idaapi.PPC_evdotpwasusiaa +PPC_evdotpwsssiaa = _idaapi.PPC_evdotpwsssiaa +PPC_evdotpwaumiaa = _idaapi.PPC_evdotpwaumiaa +PPC_evdotpwasmiaa = _idaapi.PPC_evdotpwasmiaa +PPC_evdotpwasumiaa = _idaapi.PPC_evdotpwasumiaa +PPC_evdotpwssmiaa = _idaapi.PPC_evdotpwssmiaa +PPC_evaddih = _idaapi.PPC_evaddih +PPC_evaddib = _idaapi.PPC_evaddib +PPC_evsubifh = _idaapi.PPC_evsubifh +PPC_evsubifb = _idaapi.PPC_evsubifb +PPC_evabsb = _idaapi.PPC_evabsb +PPC_evabsh = _idaapi.PPC_evabsh +PPC_evabsd = _idaapi.PPC_evabsd +PPC_evabss = _idaapi.PPC_evabss +PPC_evabsbs = _idaapi.PPC_evabsbs +PPC_evabshs = _idaapi.PPC_evabshs +PPC_evabsds = _idaapi.PPC_evabsds +PPC_evnegwo = _idaapi.PPC_evnegwo +PPC_evnegb = _idaapi.PPC_evnegb +PPC_evnegbo = _idaapi.PPC_evnegbo +PPC_evnegh = _idaapi.PPC_evnegh +PPC_evnegho = _idaapi.PPC_evnegho +PPC_evnegd = _idaapi.PPC_evnegd +PPC_evnegs = _idaapi.PPC_evnegs +PPC_evnegwos = _idaapi.PPC_evnegwos +PPC_evnegbs = _idaapi.PPC_evnegbs +PPC_evnegbos = _idaapi.PPC_evnegbos +PPC_evneghs = _idaapi.PPC_evneghs +PPC_evneghos = _idaapi.PPC_evneghos +PPC_evnegds = _idaapi.PPC_evnegds +PPC_evextzb = _idaapi.PPC_evextzb +PPC_evextsbh = _idaapi.PPC_evextsbh +PPC_evextsw = _idaapi.PPC_evextsw +PPC_evrndhb = _idaapi.PPC_evrndhb +PPC_evrnddw = _idaapi.PPC_evrnddw +PPC_evrndwhus = _idaapi.PPC_evrndwhus +PPC_evrndwhss = _idaapi.PPC_evrndwhss +PPC_evrndhbus = _idaapi.PPC_evrndhbus +PPC_evrndhbss = _idaapi.PPC_evrndhbss +PPC_evrnddwus = _idaapi.PPC_evrnddwus +PPC_evrnddwss = _idaapi.PPC_evrnddwss +PPC_evrndwnh = _idaapi.PPC_evrndwnh +PPC_evrndhnb = _idaapi.PPC_evrndhnb +PPC_evrnddnw = _idaapi.PPC_evrnddnw +PPC_evrndwnhus = _idaapi.PPC_evrndwnhus +PPC_evrndwnhss = _idaapi.PPC_evrndwnhss +PPC_evrndhnbus = _idaapi.PPC_evrndhnbus +PPC_evrndhnbss = _idaapi.PPC_evrndhnbss +PPC_evrnddnwus = _idaapi.PPC_evrnddnwus +PPC_evrnddnwss = _idaapi.PPC_evrnddnwss +PPC_evcntlzh = _idaapi.PPC_evcntlzh +PPC_evcntlsh = _idaapi.PPC_evcntlsh +PPC_evpopcntb = _idaapi.PPC_evpopcntb +PPC_circinc = _idaapi.PPC_circinc +PPC_evunpkhibui = _idaapi.PPC_evunpkhibui +PPC_evunpkhibsi = _idaapi.PPC_evunpkhibsi +PPC_evunpkhihui = _idaapi.PPC_evunpkhihui +PPC_evunpkhihsi = _idaapi.PPC_evunpkhihsi +PPC_evunpklobui = _idaapi.PPC_evunpklobui +PPC_evunpklobsi = _idaapi.PPC_evunpklobsi +PPC_evunpklohui = _idaapi.PPC_evunpklohui +PPC_evunpklohsi = _idaapi.PPC_evunpklohsi +PPC_evunpklohf = _idaapi.PPC_evunpklohf +PPC_evunpkhihf = _idaapi.PPC_evunpkhihf +PPC_evunpklowgsf = _idaapi.PPC_evunpklowgsf +PPC_evunpkhiwgsf = _idaapi.PPC_evunpkhiwgsf +PPC_evsatsduw = _idaapi.PPC_evsatsduw +PPC_evsatsdsw = _idaapi.PPC_evsatsdsw +PPC_evsatshub = _idaapi.PPC_evsatshub +PPC_evsatshsb = _idaapi.PPC_evsatshsb +PPC_evsatuwuh = _idaapi.PPC_evsatuwuh +PPC_evsatswsh = _idaapi.PPC_evsatswsh +PPC_evsatswuh = _idaapi.PPC_evsatswuh +PPC_evsatuhub = _idaapi.PPC_evsatuhub +PPC_evsatuduw = _idaapi.PPC_evsatuduw +PPC_evsatuwsw = _idaapi.PPC_evsatuwsw +PPC_evsatshuh = _idaapi.PPC_evsatshuh +PPC_evsatuhsh = _idaapi.PPC_evsatuhsh +PPC_evsatswuw = _idaapi.PPC_evsatswuw +PPC_evsatswgsdf = _idaapi.PPC_evsatswgsdf +PPC_evsatsbub = _idaapi.PPC_evsatsbub +PPC_evsatubsb = _idaapi.PPC_evsatubsb +PPC_evmaxhpuw = _idaapi.PPC_evmaxhpuw +PPC_evmaxhpsw = _idaapi.PPC_evmaxhpsw +PPC_evmaxbpuh = _idaapi.PPC_evmaxbpuh +PPC_evmaxbpsh = _idaapi.PPC_evmaxbpsh +PPC_evmaxwpud = _idaapi.PPC_evmaxwpud +PPC_evmaxwpsd = _idaapi.PPC_evmaxwpsd +PPC_evminhpuw = _idaapi.PPC_evminhpuw +PPC_evminhpsw = _idaapi.PPC_evminhpsw +PPC_evminbpuh = _idaapi.PPC_evminbpuh +PPC_evminbpsh = _idaapi.PPC_evminbpsh +PPC_evminwpud = _idaapi.PPC_evminwpud +PPC_evminwpsd = _idaapi.PPC_evminwpsd +PPC_evmaxmagws = _idaapi.PPC_evmaxmagws +PPC_evsl = _idaapi.PPC_evsl +PPC_evsli = _idaapi.PPC_evsli +PPC_evsplatie = _idaapi.PPC_evsplatie +PPC_evsplatib = _idaapi.PPC_evsplatib +PPC_evsplatibe = _idaapi.PPC_evsplatibe +PPC_evsplatih = _idaapi.PPC_evsplatih +PPC_evsplatihe = _idaapi.PPC_evsplatihe +PPC_evsplatid = _idaapi.PPC_evsplatid +PPC_evsplatia = _idaapi.PPC_evsplatia +PPC_evsplatiea = _idaapi.PPC_evsplatiea +PPC_evsplatiba = _idaapi.PPC_evsplatiba +PPC_evsplatibea = _idaapi.PPC_evsplatibea +PPC_evsplatiha = _idaapi.PPC_evsplatiha +PPC_evsplatihea = _idaapi.PPC_evsplatihea +PPC_evsplatida = _idaapi.PPC_evsplatida +PPC_evsplatfio = _idaapi.PPC_evsplatfio +PPC_evsplatfib = _idaapi.PPC_evsplatfib +PPC_evsplatfibo = _idaapi.PPC_evsplatfibo +PPC_evsplatfih = _idaapi.PPC_evsplatfih +PPC_evsplatfiho = _idaapi.PPC_evsplatfiho +PPC_evsplatfid = _idaapi.PPC_evsplatfid +PPC_evsplatfia = _idaapi.PPC_evsplatfia +PPC_evsplatfioa = _idaapi.PPC_evsplatfioa +PPC_evsplatfiba = _idaapi.PPC_evsplatfiba +PPC_evsplatfiboa = _idaapi.PPC_evsplatfiboa +PPC_evsplatfiha = _idaapi.PPC_evsplatfiha +PPC_evsplatfihoa = _idaapi.PPC_evsplatfihoa +PPC_evsplatfida = _idaapi.PPC_evsplatfida +PPC_evcmpgtdu = _idaapi.PPC_evcmpgtdu +PPC_evcmpgtds = _idaapi.PPC_evcmpgtds +PPC_evcmpltdu = _idaapi.PPC_evcmpltdu +PPC_evcmpltds = _idaapi.PPC_evcmpltds +PPC_evcmpeqd = _idaapi.PPC_evcmpeqd +PPC_evswapbhilo = _idaapi.PPC_evswapbhilo +PPC_evswapblohi = _idaapi.PPC_evswapblohi +PPC_evswaphhilo = _idaapi.PPC_evswaphhilo +PPC_evswaphlohi = _idaapi.PPC_evswaphlohi +PPC_evswaphe = _idaapi.PPC_evswaphe +PPC_evswaphhi = _idaapi.PPC_evswaphhi +PPC_evswaphlo = _idaapi.PPC_evswaphlo +PPC_evswapho = _idaapi.PPC_evswapho +PPC_evinsb = _idaapi.PPC_evinsb +PPC_evxtrb = _idaapi.PPC_evxtrb +PPC_evsplath = _idaapi.PPC_evsplath +PPC_evsplatb = _idaapi.PPC_evsplatb +PPC_evinsh = _idaapi.PPC_evinsh +PPC_evclrbe = _idaapi.PPC_evclrbe +PPC_evclrbo = _idaapi.PPC_evclrbo +PPC_evxtrh = _idaapi.PPC_evxtrh +PPC_evclrh = _idaapi.PPC_evclrh +PPC_evselbitm0 = _idaapi.PPC_evselbitm0 +PPC_evselbitm1 = _idaapi.PPC_evselbitm1 +PPC_evselbit = _idaapi.PPC_evselbit +PPC_evperm = _idaapi.PPC_evperm +PPC_evperm2 = _idaapi.PPC_evperm2 +PPC_evperm3 = _idaapi.PPC_evperm3 +PPC_evxtrd = _idaapi.PPC_evxtrd +PPC_evsrbu = _idaapi.PPC_evsrbu +PPC_evsrbs = _idaapi.PPC_evsrbs +PPC_evsrbiu = _idaapi.PPC_evsrbiu +PPC_evsrbis = _idaapi.PPC_evsrbis +PPC_evslb = _idaapi.PPC_evslb +PPC_evrlb = _idaapi.PPC_evrlb +PPC_evslbi = _idaapi.PPC_evslbi +PPC_evrlbi = _idaapi.PPC_evrlbi +PPC_evsrhu = _idaapi.PPC_evsrhu +PPC_evsrhs = _idaapi.PPC_evsrhs +PPC_evsrhiu = _idaapi.PPC_evsrhiu +PPC_evsrhis = _idaapi.PPC_evsrhis +PPC_evslh = _idaapi.PPC_evslh +PPC_evrlh = _idaapi.PPC_evrlh +PPC_evslhi = _idaapi.PPC_evslhi +PPC_evrlhi = _idaapi.PPC_evrlhi +PPC_evsru = _idaapi.PPC_evsru +PPC_evsrs = _idaapi.PPC_evsrs +PPC_evsriu = _idaapi.PPC_evsriu +PPC_evsris = _idaapi.PPC_evsris +PPC_evlvsl = _idaapi.PPC_evlvsl +PPC_evlvsr = _idaapi.PPC_evlvsr +PPC_evsroiu = _idaapi.PPC_evsroiu +PPC_evsloi = _idaapi.PPC_evsloi +PPC_evsrois = _idaapi.PPC_evsrois +PPC_evldbx = _idaapi.PPC_evldbx +PPC_evldb = _idaapi.PPC_evldb +PPC_evlhhsplathx = _idaapi.PPC_evlhhsplathx +PPC_evlhhsplath = _idaapi.PPC_evlhhsplath +PPC_evlwbsplatwx = _idaapi.PPC_evlwbsplatwx +PPC_evlwbsplatw = _idaapi.PPC_evlwbsplatw +PPC_evlwhsplatwx = _idaapi.PPC_evlwhsplatwx +PPC_evlwhsplatw = _idaapi.PPC_evlwhsplatw +PPC_evlbbsplatbx = _idaapi.PPC_evlbbsplatbx +PPC_evlbbsplatb = _idaapi.PPC_evlbbsplatb +PPC_evstdbx = _idaapi.PPC_evstdbx +PPC_evstdb = _idaapi.PPC_evstdb +PPC_evlwbex = _idaapi.PPC_evlwbex +PPC_evlwbe = _idaapi.PPC_evlwbe +PPC_evlwboux = _idaapi.PPC_evlwboux +PPC_evlwbou = _idaapi.PPC_evlwbou +PPC_evlwbosx = _idaapi.PPC_evlwbosx +PPC_evlwbos = _idaapi.PPC_evlwbos +PPC_evstwbex = _idaapi.PPC_evstwbex +PPC_evstwbe = _idaapi.PPC_evstwbe +PPC_evstwbox = _idaapi.PPC_evstwbox +PPC_evstwbo = _idaapi.PPC_evstwbo +PPC_evstwbx = _idaapi.PPC_evstwbx +PPC_evstwb = _idaapi.PPC_evstwb +PPC_evsthbx = _idaapi.PPC_evsthbx +PPC_evsthb = _idaapi.PPC_evsthb +PPC_evlddmx = _idaapi.PPC_evlddmx +PPC_evlddu = _idaapi.PPC_evlddu +PPC_evldwmx = _idaapi.PPC_evldwmx +PPC_evldwu = _idaapi.PPC_evldwu +PPC_evldhmx = _idaapi.PPC_evldhmx +PPC_evldhu = _idaapi.PPC_evldhu +PPC_evldbmx = _idaapi.PPC_evldbmx +PPC_evldbu = _idaapi.PPC_evldbu +PPC_evlhhesplatmx = _idaapi.PPC_evlhhesplatmx +PPC_evlhhesplatu = _idaapi.PPC_evlhhesplatu +PPC_evlhhsplathmx = _idaapi.PPC_evlhhsplathmx +PPC_evlhhsplathu = _idaapi.PPC_evlhhsplathu +PPC_evlhhousplatmx = _idaapi.PPC_evlhhousplatmx +PPC_evlhhousplatu = _idaapi.PPC_evlhhousplatu +PPC_evlhhossplatmx = _idaapi.PPC_evlhhossplatmx +PPC_evlhhossplatu = _idaapi.PPC_evlhhossplatu +PPC_evlwhemx = _idaapi.PPC_evlwhemx +PPC_evlwheu = _idaapi.PPC_evlwheu +PPC_evlwbsplatwmx = _idaapi.PPC_evlwbsplatwmx +PPC_evlwbsplatwu = _idaapi.PPC_evlwbsplatwu +PPC_evlwhoumx = _idaapi.PPC_evlwhoumx +PPC_evlwhouu = _idaapi.PPC_evlwhouu +PPC_evlwhosmx = _idaapi.PPC_evlwhosmx +PPC_evlwhosu = _idaapi.PPC_evlwhosu +PPC_evlwwsplatmx = _idaapi.PPC_evlwwsplatmx +PPC_evlwwsplatu = _idaapi.PPC_evlwwsplatu +PPC_evlwhsplatwmx = _idaapi.PPC_evlwhsplatwmx +PPC_evlwhsplatwu = _idaapi.PPC_evlwhsplatwu +PPC_evlwhsplatmx = _idaapi.PPC_evlwhsplatmx +PPC_evlwhsplatu = _idaapi.PPC_evlwhsplatu +PPC_evlbbsplatbmx = _idaapi.PPC_evlbbsplatbmx +PPC_evlbbsplatbu = _idaapi.PPC_evlbbsplatbu +PPC_evstddmx = _idaapi.PPC_evstddmx +PPC_evstddu = _idaapi.PPC_evstddu +PPC_evstdwmx = _idaapi.PPC_evstdwmx +PPC_evstdwu = _idaapi.PPC_evstdwu +PPC_evstdhmx = _idaapi.PPC_evstdhmx +PPC_evstdhu = _idaapi.PPC_evstdhu +PPC_evstdbmx = _idaapi.PPC_evstdbmx +PPC_evstdbu = _idaapi.PPC_evstdbu +PPC_evlwbemx = _idaapi.PPC_evlwbemx +PPC_evlwbeu = _idaapi.PPC_evlwbeu +PPC_evlwboumx = _idaapi.PPC_evlwboumx +PPC_evlwbouu = _idaapi.PPC_evlwbouu +PPC_evlwbosmx = _idaapi.PPC_evlwbosmx +PPC_evlwbosu = _idaapi.PPC_evlwbosu +PPC_evstwhemx = _idaapi.PPC_evstwhemx +PPC_evstwheu = _idaapi.PPC_evstwheu +PPC_evstwbemx = _idaapi.PPC_evstwbemx +PPC_evstwbeu = _idaapi.PPC_evstwbeu +PPC_evstwhomx = _idaapi.PPC_evstwhomx +PPC_evstwhou = _idaapi.PPC_evstwhou +PPC_evstwbomx = _idaapi.PPC_evstwbomx +PPC_evstwbou = _idaapi.PPC_evstwbou +PPC_evstwwemx = _idaapi.PPC_evstwwemx +PPC_evstwweu = _idaapi.PPC_evstwweu +PPC_evstwbmx = _idaapi.PPC_evstwbmx +PPC_evstwbu = _idaapi.PPC_evstwbu +PPC_evstwwomx = _idaapi.PPC_evstwwomx +PPC_evstwwou = _idaapi.PPC_evstwwou +PPC_evsthbmx = _idaapi.PPC_evsthbmx +PPC_evsthbu = _idaapi.PPC_evsthbu +PPC_evmhusi = _idaapi.PPC_evmhusi +PPC_evmhssi = _idaapi.PPC_evmhssi +PPC_evmhsusi = _idaapi.PPC_evmhsusi +PPC_evmhssf = _idaapi.PPC_evmhssf +PPC_evmhumi = _idaapi.PPC_evmhumi +PPC_evmhssfr = _idaapi.PPC_evmhssfr +PPC_evmhesumi = _idaapi.PPC_evmhesumi +PPC_evmhosumi = _idaapi.PPC_evmhosumi +PPC_evmbeumi = _idaapi.PPC_evmbeumi +PPC_evmbesmi = _idaapi.PPC_evmbesmi +PPC_evmbesumi = _idaapi.PPC_evmbesumi +PPC_evmboumi = _idaapi.PPC_evmboumi +PPC_evmbosmi = _idaapi.PPC_evmbosmi +PPC_evmbosumi = _idaapi.PPC_evmbosumi +PPC_evmhesumia = _idaapi.PPC_evmhesumia +PPC_evmhosumia = _idaapi.PPC_evmhosumia +PPC_evmbeumia = _idaapi.PPC_evmbeumia +PPC_evmbesmia = _idaapi.PPC_evmbesmia +PPC_evmbesumia = _idaapi.PPC_evmbesumia +PPC_evmboumia = _idaapi.PPC_evmboumia +PPC_evmbosmia = _idaapi.PPC_evmbosmia +PPC_evmbosumia = _idaapi.PPC_evmbosumia +PPC_evmwusiw = _idaapi.PPC_evmwusiw +PPC_evmwssiw = _idaapi.PPC_evmwssiw +PPC_evmwhssfr = _idaapi.PPC_evmwhssfr +PPC_evmwehgsmfr = _idaapi.PPC_evmwehgsmfr +PPC_evmwehgsmf = _idaapi.PPC_evmwehgsmf +PPC_evmwohgsmfr = _idaapi.PPC_evmwohgsmfr +PPC_evmwohgsmf = _idaapi.PPC_evmwohgsmf +PPC_evmwhssfra = _idaapi.PPC_evmwhssfra +PPC_evmwehgsmfra = _idaapi.PPC_evmwehgsmfra +PPC_evmwehgsmfa = _idaapi.PPC_evmwehgsmfa +PPC_evmwohgsmfra = _idaapi.PPC_evmwohgsmfra +PPC_evmwohgsmfa = _idaapi.PPC_evmwohgsmfa +PPC_evaddusiaa = _idaapi.PPC_evaddusiaa +PPC_evaddssiaa = _idaapi.PPC_evaddssiaa +PPC_evsubfusiaa = _idaapi.PPC_evsubfusiaa +PPC_evsubfssiaa = _idaapi.PPC_evsubfssiaa +PPC_evaddsmiaa = _idaapi.PPC_evaddsmiaa +PPC_evsubfsmiaa = _idaapi.PPC_evsubfsmiaa +PPC_evaddh = _idaapi.PPC_evaddh +PPC_evaddhss = _idaapi.PPC_evaddhss +PPC_evsubfh = _idaapi.PPC_evsubfh +PPC_evsubfhss = _idaapi.PPC_evsubfhss +PPC_evaddhx = _idaapi.PPC_evaddhx +PPC_evaddhxss = _idaapi.PPC_evaddhxss +PPC_evsubfhx = _idaapi.PPC_evsubfhx +PPC_evsubfhxss = _idaapi.PPC_evsubfhxss +PPC_evaddd = _idaapi.PPC_evaddd +PPC_evadddss = _idaapi.PPC_evadddss +PPC_evsubfd = _idaapi.PPC_evsubfd +PPC_evsubfdss = _idaapi.PPC_evsubfdss +PPC_evaddb = _idaapi.PPC_evaddb +PPC_evaddbss = _idaapi.PPC_evaddbss +PPC_evsubfb = _idaapi.PPC_evsubfb +PPC_evsubfbss = _idaapi.PPC_evsubfbss +PPC_evaddsubfh = _idaapi.PPC_evaddsubfh +PPC_evaddsubfhss = _idaapi.PPC_evaddsubfhss +PPC_evsubfaddh = _idaapi.PPC_evsubfaddh +PPC_evsubfaddhss = _idaapi.PPC_evsubfaddhss +PPC_evaddsubfhx = _idaapi.PPC_evaddsubfhx +PPC_evaddsubfhxss = _idaapi.PPC_evaddsubfhxss +PPC_evsubfaddhx = _idaapi.PPC_evsubfaddhx +PPC_evsubfaddhxss = _idaapi.PPC_evsubfaddhxss +PPC_evadddus = _idaapi.PPC_evadddus +PPC_evaddbus = _idaapi.PPC_evaddbus +PPC_evsubfdus = _idaapi.PPC_evsubfdus +PPC_evsubfbus = _idaapi.PPC_evsubfbus +PPC_evaddwus = _idaapi.PPC_evaddwus +PPC_evaddwxus = _idaapi.PPC_evaddwxus +PPC_evsubfwus = _idaapi.PPC_evsubfwus +PPC_evsubfwxus = _idaapi.PPC_evsubfwxus +PPC_evadd2subf2h = _idaapi.PPC_evadd2subf2h +PPC_evadd2subf2hss = _idaapi.PPC_evadd2subf2hss +PPC_evsubf2add2h = _idaapi.PPC_evsubf2add2h +PPC_evsubf2add2hss = _idaapi.PPC_evsubf2add2hss +PPC_evaddhus = _idaapi.PPC_evaddhus +PPC_evaddhxus = _idaapi.PPC_evaddhxus +PPC_evsubfhus = _idaapi.PPC_evsubfhus +PPC_evsubfhxus = _idaapi.PPC_evsubfhxus +PPC_evaddwss = _idaapi.PPC_evaddwss +PPC_evsubfwss = _idaapi.PPC_evsubfwss +PPC_evaddwx = _idaapi.PPC_evaddwx +PPC_evaddwxss = _idaapi.PPC_evaddwxss +PPC_evsubfwx = _idaapi.PPC_evsubfwx +PPC_evsubfwxss = _idaapi.PPC_evsubfwxss +PPC_evaddsubfw = _idaapi.PPC_evaddsubfw +PPC_evaddsubfwss = _idaapi.PPC_evaddsubfwss +PPC_evsubfaddw = _idaapi.PPC_evsubfaddw +PPC_evsubfaddwss = _idaapi.PPC_evsubfaddwss +PPC_evaddsubfwx = _idaapi.PPC_evaddsubfwx +PPC_evaddsubfwxss = _idaapi.PPC_evaddsubfwxss +PPC_evsubfaddwx = _idaapi.PPC_evsubfaddwx +PPC_evsubfaddwxss = _idaapi.PPC_evsubfaddwxss +PPC_evmar = _idaapi.PPC_evmar +PPC_evsumwu = _idaapi.PPC_evsumwu +PPC_evsumws = _idaapi.PPC_evsumws +PPC_evsum4bu = _idaapi.PPC_evsum4bu +PPC_evsum4bs = _idaapi.PPC_evsum4bs +PPC_evsum2hu = _idaapi.PPC_evsum2hu +PPC_evsum2hs = _idaapi.PPC_evsum2hs +PPC_evdiff2his = _idaapi.PPC_evdiff2his +PPC_evsum2his = _idaapi.PPC_evsum2his +PPC_evsumwua = _idaapi.PPC_evsumwua +PPC_evsumwsa = _idaapi.PPC_evsumwsa +PPC_evsum4bua = _idaapi.PPC_evsum4bua +PPC_evsum4bsa = _idaapi.PPC_evsum4bsa +PPC_evsum2hua = _idaapi.PPC_evsum2hua +PPC_evsum2hsa = _idaapi.PPC_evsum2hsa +PPC_evdiff2hisa = _idaapi.PPC_evdiff2hisa +PPC_evsum2hisa = _idaapi.PPC_evsum2hisa +PPC_evsumwuaa = _idaapi.PPC_evsumwuaa +PPC_evsumwsaa = _idaapi.PPC_evsumwsaa +PPC_evsum4buaaw = _idaapi.PPC_evsum4buaaw +PPC_evsum4bsaaw = _idaapi.PPC_evsum4bsaaw +PPC_evsum2huaaw = _idaapi.PPC_evsum2huaaw +PPC_evsum2hsaaw = _idaapi.PPC_evsum2hsaaw +PPC_evdiff2hisaaw = _idaapi.PPC_evdiff2hisaaw +PPC_evsum2hisaaw = _idaapi.PPC_evsum2hisaaw +PPC_evdivwsf = _idaapi.PPC_evdivwsf +PPC_evdivwuf = _idaapi.PPC_evdivwuf +PPC_evdivs = _idaapi.PPC_evdivs +PPC_evdivu = _idaapi.PPC_evdivu +PPC_evaddwegsi = _idaapi.PPC_evaddwegsi +PPC_evaddwegsf = _idaapi.PPC_evaddwegsf +PPC_evsubfwegsi = _idaapi.PPC_evsubfwegsi +PPC_evsubfwegsf = _idaapi.PPC_evsubfwegsf +PPC_evaddwogsi = _idaapi.PPC_evaddwogsi +PPC_evaddwogsf = _idaapi.PPC_evaddwogsf +PPC_evsubfwogsi = _idaapi.PPC_evsubfwogsi +PPC_evsubfwogsf = _idaapi.PPC_evsubfwogsf +PPC_evaddhhiuw = _idaapi.PPC_evaddhhiuw +PPC_evaddhhisw = _idaapi.PPC_evaddhhisw +PPC_evsubfhhiuw = _idaapi.PPC_evsubfhhiuw +PPC_evsubfhhisw = _idaapi.PPC_evsubfhhisw +PPC_evaddhlouw = _idaapi.PPC_evaddhlouw +PPC_evaddhlosw = _idaapi.PPC_evaddhlosw +PPC_evsubfhlouw = _idaapi.PPC_evsubfhlouw +PPC_evsubfhlosw = _idaapi.PPC_evsubfhlosw +PPC_evmhesusiaaw = _idaapi.PPC_evmhesusiaaw +PPC_evmhosusiaaw = _idaapi.PPC_evmhosusiaaw +PPC_evmhesumiaaw = _idaapi.PPC_evmhesumiaaw +PPC_evmhosumiaaw = _idaapi.PPC_evmhosumiaaw +PPC_evmbeusiaah = _idaapi.PPC_evmbeusiaah +PPC_evmbessiaah = _idaapi.PPC_evmbessiaah +PPC_evmbesusiaah = _idaapi.PPC_evmbesusiaah +PPC_evmbousiaah = _idaapi.PPC_evmbousiaah +PPC_evmbossiaah = _idaapi.PPC_evmbossiaah +PPC_evmbosusiaah = _idaapi.PPC_evmbosusiaah +PPC_evmbeumiaah = _idaapi.PPC_evmbeumiaah +PPC_evmbesmiaah = _idaapi.PPC_evmbesmiaah +PPC_evmbesumiaah = _idaapi.PPC_evmbesumiaah +PPC_evmboumiaah = _idaapi.PPC_evmboumiaah +PPC_evmbosmiaah = _idaapi.PPC_evmbosmiaah +PPC_evmbosumiaah = _idaapi.PPC_evmbosumiaah +PPC_evmwlusiaaw3 = _idaapi.PPC_evmwlusiaaw3 +PPC_evmwlssiaaw3 = _idaapi.PPC_evmwlssiaaw3 +PPC_evmwhssfraaw3 = _idaapi.PPC_evmwhssfraaw3 +PPC_evmwhssfaaw3 = _idaapi.PPC_evmwhssfaaw3 +PPC_evmwhssfraaw = _idaapi.PPC_evmwhssfraaw +PPC_evmwhssfaaw = _idaapi.PPC_evmwhssfaaw +PPC_evmwlumiaaw3 = _idaapi.PPC_evmwlumiaaw3 +PPC_evmwlsmiaaw3 = _idaapi.PPC_evmwlsmiaaw3 +PPC_evmwusiaa = _idaapi.PPC_evmwusiaa +PPC_evmwssiaa = _idaapi.PPC_evmwssiaa +PPC_evmwehgsmfraa = _idaapi.PPC_evmwehgsmfraa +PPC_evmwehgsmfaa = _idaapi.PPC_evmwehgsmfaa +PPC_evmwohgsmfraa = _idaapi.PPC_evmwohgsmfraa +PPC_evmwohgsmfaa = _idaapi.PPC_evmwohgsmfaa +PPC_evmhesusianw = _idaapi.PPC_evmhesusianw +PPC_evmhosusianw = _idaapi.PPC_evmhosusianw +PPC_evmhesumianw = _idaapi.PPC_evmhesumianw +PPC_evmhosumianw = _idaapi.PPC_evmhosumianw +PPC_evmbeusianh = _idaapi.PPC_evmbeusianh +PPC_evmbessianh = _idaapi.PPC_evmbessianh +PPC_evmbesusianh = _idaapi.PPC_evmbesusianh +PPC_evmbousianh = _idaapi.PPC_evmbousianh +PPC_evmbossianh = _idaapi.PPC_evmbossianh +PPC_evmbosusianh = _idaapi.PPC_evmbosusianh +PPC_evmbeumianh = _idaapi.PPC_evmbeumianh +PPC_evmbesmianh = _idaapi.PPC_evmbesmianh +PPC_evmbesumianh = _idaapi.PPC_evmbesumianh +PPC_evmboumianh = _idaapi.PPC_evmboumianh +PPC_evmbosmianh = _idaapi.PPC_evmbosmianh +PPC_evmbosumianh = _idaapi.PPC_evmbosumianh +PPC_evmwlusianw3 = _idaapi.PPC_evmwlusianw3 +PPC_evmwlssianw3 = _idaapi.PPC_evmwlssianw3 +PPC_evmwhssfranw3 = _idaapi.PPC_evmwhssfranw3 +PPC_evmwhssfanw3 = _idaapi.PPC_evmwhssfanw3 +PPC_evmwhssfranw = _idaapi.PPC_evmwhssfranw +PPC_evmwhssfanw = _idaapi.PPC_evmwhssfanw +PPC_evmwlumianw3 = _idaapi.PPC_evmwlumianw3 +PPC_evmwlsmianw3 = _idaapi.PPC_evmwlsmianw3 +PPC_evmwusian = _idaapi.PPC_evmwusian +PPC_evmwssian = _idaapi.PPC_evmwssian +PPC_evmwehgsmfran = _idaapi.PPC_evmwehgsmfran +PPC_evmwehgsmfan = _idaapi.PPC_evmwehgsmfan +PPC_evmwohgsmfran = _idaapi.PPC_evmwohgsmfran +PPC_evmwohgsmfan = _idaapi.PPC_evmwohgsmfan +PPC_evseteqb = _idaapi.PPC_evseteqb +PPC_evseteqh = _idaapi.PPC_evseteqh +PPC_evseteqw = _idaapi.PPC_evseteqw +PPC_evsetgthu = _idaapi.PPC_evsetgthu +PPC_evsetgths = _idaapi.PPC_evsetgths +PPC_evsetgtwu = _idaapi.PPC_evsetgtwu +PPC_evsetgtws = _idaapi.PPC_evsetgtws +PPC_evsetgtbu = _idaapi.PPC_evsetgtbu +PPC_evsetgtbs = _idaapi.PPC_evsetgtbs +PPC_evsetltbu = _idaapi.PPC_evsetltbu +PPC_evsetltbs = _idaapi.PPC_evsetltbs +PPC_evsetlthu = _idaapi.PPC_evsetlthu +PPC_evsetlths = _idaapi.PPC_evsetlths +PPC_evsetltwu = _idaapi.PPC_evsetltwu +PPC_evsetltws = _idaapi.PPC_evsetltws +PPC_evsaduw = _idaapi.PPC_evsaduw +PPC_evsadsw = _idaapi.PPC_evsadsw +PPC_evsad4ub = _idaapi.PPC_evsad4ub +PPC_evsad4sb = _idaapi.PPC_evsad4sb +PPC_evsad2uh = _idaapi.PPC_evsad2uh +PPC_evsad2sh = _idaapi.PPC_evsad2sh +PPC_evsaduwa = _idaapi.PPC_evsaduwa +PPC_evsadswa = _idaapi.PPC_evsadswa +PPC_evsad4uba = _idaapi.PPC_evsad4uba +PPC_evsad4sba = _idaapi.PPC_evsad4sba +PPC_evsad2uha = _idaapi.PPC_evsad2uha +PPC_evsad2sha = _idaapi.PPC_evsad2sha +PPC_evabsdifuw = _idaapi.PPC_evabsdifuw +PPC_evabsdifsw = _idaapi.PPC_evabsdifsw +PPC_evabsdifub = _idaapi.PPC_evabsdifub +PPC_evabsdifsb = _idaapi.PPC_evabsdifsb +PPC_evabsdifuh = _idaapi.PPC_evabsdifuh +PPC_evabsdifsh = _idaapi.PPC_evabsdifsh +PPC_evsaduwaa = _idaapi.PPC_evsaduwaa +PPC_evsadswaa = _idaapi.PPC_evsadswaa +PPC_evsad4ubaaw = _idaapi.PPC_evsad4ubaaw +PPC_evsad4sbaaw = _idaapi.PPC_evsad4sbaaw +PPC_evsad2uhaaw = _idaapi.PPC_evsad2uhaaw +PPC_evsad2shaaw = _idaapi.PPC_evsad2shaaw +PPC_evpkshubs = _idaapi.PPC_evpkshubs +PPC_evpkshsbs = _idaapi.PPC_evpkshsbs +PPC_evpkswuhs = _idaapi.PPC_evpkswuhs +PPC_evpkswshs = _idaapi.PPC_evpkswshs +PPC_evpkuhubs = _idaapi.PPC_evpkuhubs +PPC_evpkuwuhs = _idaapi.PPC_evpkuwuhs +PPC_evpkswshilvs = _idaapi.PPC_evpkswshilvs +PPC_evpkswgshefrs = _idaapi.PPC_evpkswgshefrs +PPC_evpkswshfrs = _idaapi.PPC_evpkswshfrs +PPC_evpkswshilvfrs = _idaapi.PPC_evpkswshilvfrs +PPC_evpksdswfrs = _idaapi.PPC_evpksdswfrs +PPC_evpksdshefrs = _idaapi.PPC_evpksdshefrs +PPC_evpkuduws = _idaapi.PPC_evpkuduws +PPC_evpksdsws = _idaapi.PPC_evpksdsws +PPC_evpkswgswfrs = _idaapi.PPC_evpkswgswfrs +PPC_evilveh = _idaapi.PPC_evilveh +PPC_evilveoh = _idaapi.PPC_evilveoh +PPC_evilvhih = _idaapi.PPC_evilvhih +PPC_evilvhiloh = _idaapi.PPC_evilvhiloh +PPC_evilvloh = _idaapi.PPC_evilvloh +PPC_evilvlohih = _idaapi.PPC_evilvlohih +PPC_evilvoeh = _idaapi.PPC_evilvoeh +PPC_evilvoh = _idaapi.PPC_evilvoh +PPC_evdlveb = _idaapi.PPC_evdlveb +PPC_evdlveh = _idaapi.PPC_evdlveh +PPC_evdlveob = _idaapi.PPC_evdlveob +PPC_evdlveoh = _idaapi.PPC_evdlveoh +PPC_evdlvob = _idaapi.PPC_evdlvob +PPC_evdlvoh = _idaapi.PPC_evdlvoh +PPC_evdlvoeb = _idaapi.PPC_evdlvoeb +PPC_evdlvoeh = _idaapi.PPC_evdlvoeh +PPC_evmaxbu = _idaapi.PPC_evmaxbu +PPC_evmaxbs = _idaapi.PPC_evmaxbs +PPC_evmaxhu = _idaapi.PPC_evmaxhu +PPC_evmaxhs = _idaapi.PPC_evmaxhs +PPC_evmaxwu = _idaapi.PPC_evmaxwu +PPC_evmaxws = _idaapi.PPC_evmaxws +PPC_evmaxdu = _idaapi.PPC_evmaxdu +PPC_evmaxds = _idaapi.PPC_evmaxds +PPC_evminbu = _idaapi.PPC_evminbu +PPC_evminbs = _idaapi.PPC_evminbs +PPC_evminhu = _idaapi.PPC_evminhu +PPC_evminhs = _idaapi.PPC_evminhs +PPC_evminwu = _idaapi.PPC_evminwu +PPC_evminws = _idaapi.PPC_evminws +PPC_evmindu = _idaapi.PPC_evmindu +PPC_evminds = _idaapi.PPC_evminds +PPC_evavgwu = _idaapi.PPC_evavgwu +PPC_evavgws = _idaapi.PPC_evavgws +PPC_evavgbu = _idaapi.PPC_evavgbu +PPC_evavgbs = _idaapi.PPC_evavgbs +PPC_evavghu = _idaapi.PPC_evavghu +PPC_evavghs = _idaapi.PPC_evavghs +PPC_evavgdu = _idaapi.PPC_evavgdu +PPC_evavgds = _idaapi.PPC_evavgds +PPC_evavgwur = _idaapi.PPC_evavgwur +PPC_evavgwsr = _idaapi.PPC_evavgwsr +PPC_evavgbur = _idaapi.PPC_evavgbur +PPC_evavgbsr = _idaapi.PPC_evavgbsr +PPC_evavghur = _idaapi.PPC_evavghur +PPC_evavghsr = _idaapi.PPC_evavghsr +PPC_evavgdur = _idaapi.PPC_evavgdur +PPC_evavgdsr = _idaapi.PPC_evavgdsr +PPC_tdui = _idaapi.PPC_tdui +PPC_tdu = _idaapi.PPC_tdu +PPC_twui = _idaapi.PPC_twui +PPC_twu = _idaapi.PPC_twu +PPC_bctar = _idaapi.PPC_bctar +PPC_clrbhrb = _idaapi.PPC_clrbhrb +PPC_mfbhrbe = _idaapi.PPC_mfbhrbe +PPC_mtsle = _idaapi.PPC_mtsle +PPC_mfvsrd = _idaapi.PPC_mfvsrd +PPC_mfvsrwz = _idaapi.PPC_mfvsrwz +PPC_mtvsrd = _idaapi.PPC_mtvsrd +PPC_mtvsrwa = _idaapi.PPC_mtvsrwa +PPC_mtvsrwz = _idaapi.PPC_mtvsrwz +PPC_fmrgew = _idaapi.PPC_fmrgew +PPC_fmrgow = _idaapi.PPC_fmrgow +PPC_vpksdss = _idaapi.PPC_vpksdss +PPC_vpksdus = _idaapi.PPC_vpksdus +PPC_vpkudus = _idaapi.PPC_vpkudus +PPC_vpkudum = _idaapi.PPC_vpkudum +PPC_vupkhsw = _idaapi.PPC_vupkhsw +PPC_vupklsw = _idaapi.PPC_vupklsw +PPC_vmrgew = _idaapi.PPC_vmrgew +PPC_vmrgow = _idaapi.PPC_vmrgow +PPC_vaddudm = _idaapi.PPC_vaddudm +PPC_vadduqm = _idaapi.PPC_vadduqm +PPC_vaddeuqm = _idaapi.PPC_vaddeuqm +PPC_vaddcuq = _idaapi.PPC_vaddcuq +PPC_vaddecuq = _idaapi.PPC_vaddecuq +PPC_vsubudm = _idaapi.PPC_vsubudm +PPC_vsubuqm = _idaapi.PPC_vsubuqm +PPC_vsubeuqm = _idaapi.PPC_vsubeuqm +PPC_vsubcuq = _idaapi.PPC_vsubcuq +PPC_vsubecuq = _idaapi.PPC_vsubecuq +PPC_vmulesw = _idaapi.PPC_vmulesw +PPC_vmuleuw = _idaapi.PPC_vmuleuw +PPC_vmulosw = _idaapi.PPC_vmulosw +PPC_vmulouw = _idaapi.PPC_vmulouw +PPC_vmuluwm = _idaapi.PPC_vmuluwm +PPC_vmaxsd = _idaapi.PPC_vmaxsd +PPC_vmaxud = _idaapi.PPC_vmaxud +PPC_vminsd = _idaapi.PPC_vminsd +PPC_vminud = _idaapi.PPC_vminud +PPC_vcmpequd = _idaapi.PPC_vcmpequd +PPC_vcmpgtsd = _idaapi.PPC_vcmpgtsd +PPC_vcmpgtud = _idaapi.PPC_vcmpgtud +PPC_veqv = _idaapi.PPC_veqv +PPC_vnand = _idaapi.PPC_vnand +PPC_vorc = _idaapi.PPC_vorc +PPC_vrld = _idaapi.PPC_vrld +PPC_vsld = _idaapi.PPC_vsld +PPC_vsrd = _idaapi.PPC_vsrd +PPC_vsrad = _idaapi.PPC_vsrad +PPC_vcipher = _idaapi.PPC_vcipher +PPC_vcipherlast = _idaapi.PPC_vcipherlast +PPC_vncipher = _idaapi.PPC_vncipher +PPC_vncipherlast = _idaapi.PPC_vncipherlast +PPC_vsbox = _idaapi.PPC_vsbox +PPC_vshasigmad = _idaapi.PPC_vshasigmad +PPC_vshasigmaw = _idaapi.PPC_vshasigmaw +PPC_vpmsumb = _idaapi.PPC_vpmsumb +PPC_vpmsumd = _idaapi.PPC_vpmsumd +PPC_vpmsumh = _idaapi.PPC_vpmsumh +PPC_vpmsumw = _idaapi.PPC_vpmsumw +PPC_vpermxor = _idaapi.PPC_vpermxor +PPC_vgbbd = _idaapi.PPC_vgbbd +PPC_vclzb = _idaapi.PPC_vclzb +PPC_vclzh = _idaapi.PPC_vclzh +PPC_vclzw = _idaapi.PPC_vclzw +PPC_vclzd = _idaapi.PPC_vclzd +PPC_vpopcntb = _idaapi.PPC_vpopcntb +PPC_vpopcntd = _idaapi.PPC_vpopcntd +PPC_vpopcnth = _idaapi.PPC_vpopcnth +PPC_vpopcntw = _idaapi.PPC_vpopcntw +PPC_vbpermq = _idaapi.PPC_vbpermq +PPC_bcdadd = _idaapi.PPC_bcdadd +PPC_bcdsub = _idaapi.PPC_bcdsub +PPC_lxsiwax = _idaapi.PPC_lxsiwax +PPC_lxsspx = _idaapi.PPC_lxsspx +PPC_lxsiwzx = _idaapi.PPC_lxsiwzx +PPC_stxsiwx = _idaapi.PPC_stxsiwx +PPC_stxsspx = _idaapi.PPC_stxsspx +PPC_xsaddsp = _idaapi.PPC_xsaddsp +PPC_xscvdpspn = _idaapi.PPC_xscvdpspn +PPC_xscvspdpn = _idaapi.PPC_xscvspdpn +PPC_xscvsxdsp = _idaapi.PPC_xscvsxdsp +PPC_xscvuxdsp = _idaapi.PPC_xscvuxdsp +PPC_xsdivsp = _idaapi.PPC_xsdivsp +PPC_xsmaddasp = _idaapi.PPC_xsmaddasp +PPC_xsmaddmsp = _idaapi.PPC_xsmaddmsp +PPC_xsmsubasp = _idaapi.PPC_xsmsubasp +PPC_xsmsubmsp = _idaapi.PPC_xsmsubmsp +PPC_xsmulsp = _idaapi.PPC_xsmulsp +PPC_xsnmaddasp = _idaapi.PPC_xsnmaddasp +PPC_xsnmaddmsp = _idaapi.PPC_xsnmaddmsp +PPC_xsnmsubasp = _idaapi.PPC_xsnmsubasp +PPC_xsnmsubmsp = _idaapi.PPC_xsnmsubmsp +PPC_xsresp = _idaapi.PPC_xsresp +PPC_xsrsp = _idaapi.PPC_xsrsp +PPC_xsrsqrtesp = _idaapi.PPC_xsrsqrtesp +PPC_xssqrtsp = _idaapi.PPC_xssqrtsp +PPC_xssubsp = _idaapi.PPC_xssubsp +PPC_xxleqv = _idaapi.PPC_xxleqv +PPC_xxlnand = _idaapi.PPC_xxlnand +PPC_xxlorc = _idaapi.PPC_xxlorc +PPC_lqarx = _idaapi.PPC_lqarx +PPC_stqcx = _idaapi.PPC_stqcx +PPC_tbegin = _idaapi.PPC_tbegin +PPC_tend = _idaapi.PPC_tend +PPC_tabort = _idaapi.PPC_tabort +PPC_tabortwc = _idaapi.PPC_tabortwc +PPC_tabortwci = _idaapi.PPC_tabortwci +PPC_tabortdc = _idaapi.PPC_tabortdc +PPC_tabortdci = _idaapi.PPC_tabortdci +PPC_tsr = _idaapi.PPC_tsr +PPC_tcheck = _idaapi.PPC_tcheck +PPC_rfebb = _idaapi.PPC_rfebb +PPC_treclaim = _idaapi.PPC_treclaim +PPC_trechkpt = _idaapi.PPC_trechkpt +PPC_msgsndp = _idaapi.PPC_msgsndp +PPC_msgclrp = _idaapi.PPC_msgclrp +PPC_dcblq = _idaapi.PPC_dcblq +PPC_icblq = _idaapi.PPC_icblq +PPC_vmr = _idaapi.PPC_vmr +PPC_vnot = _idaapi.PPC_vnot +PPC_tendall = _idaapi.PPC_tendall +PPC_tsuspend = _idaapi.PPC_tsuspend +PPC_tresume = _idaapi.PPC_tresume +PPC_mtppr = _idaapi.PPC_mtppr +PPC_mfppr = _idaapi.PPC_mfppr +PPC_mtppr32 = _idaapi.PPC_mtppr32 +PPC_mfppr32 = _idaapi.PPC_mfppr32 +PPC_mtic = _idaapi.PPC_mtic +PPC_mfic = _idaapi.PPC_mfic +PPC_mtvtb = _idaapi.PPC_mtvtb +PPC_mfvtb = _idaapi.PPC_mfvtb +PPC_miso = _idaapi.PPC_miso +PPC_mdoio = _idaapi.PPC_mdoio +PPC_mdoom = _idaapi.PPC_mdoom +PPC_last = _idaapi.PPC_last +NEC850_NULL = _idaapi.NEC850_NULL +NEC850_BREAKPOINT = _idaapi.NEC850_BREAKPOINT +NEC850_XORI = _idaapi.NEC850_XORI +NEC850_XOR = _idaapi.NEC850_XOR +NEC850_TST1 = _idaapi.NEC850_TST1 +NEC850_TST = _idaapi.NEC850_TST +NEC850_TRAP = _idaapi.NEC850_TRAP +NEC850_SUBR = _idaapi.NEC850_SUBR +NEC850_SUB = _idaapi.NEC850_SUB +NEC850_STSR = _idaapi.NEC850_STSR +NEC850_ST_B = _idaapi.NEC850_ST_B +NEC850_ST_H = _idaapi.NEC850_ST_H +NEC850_ST_W = _idaapi.NEC850_ST_W +NEC850_SST_B = _idaapi.NEC850_SST_B +NEC850_SST_H = _idaapi.NEC850_SST_H +NEC850_SST_W = _idaapi.NEC850_SST_W +NEC850_SLD_B = _idaapi.NEC850_SLD_B +NEC850_SLD_H = _idaapi.NEC850_SLD_H +NEC850_SLD_W = _idaapi.NEC850_SLD_W +NEC850_SHR = _idaapi.NEC850_SHR +NEC850_SHL = _idaapi.NEC850_SHL +NEC850_SET1 = _idaapi.NEC850_SET1 +NEC850_SETFV = _idaapi.NEC850_SETFV +NEC850_SETFL = _idaapi.NEC850_SETFL +NEC850_SETFZ = _idaapi.NEC850_SETFZ +NEC850_SETFNH = _idaapi.NEC850_SETFNH +NEC850_SETFN = _idaapi.NEC850_SETFN +NEC850_SETFT = _idaapi.NEC850_SETFT +NEC850_SETFLT = _idaapi.NEC850_SETFLT +NEC850_SETFLE = _idaapi.NEC850_SETFLE +NEC850_SETFNV = _idaapi.NEC850_SETFNV +NEC850_SETFNC = _idaapi.NEC850_SETFNC +NEC850_SETFNZ = _idaapi.NEC850_SETFNZ +NEC850_SETFH = _idaapi.NEC850_SETFH +NEC850_SETFP = _idaapi.NEC850_SETFP +NEC850_SETFSA = _idaapi.NEC850_SETFSA +NEC850_SETFGE = _idaapi.NEC850_SETFGE +NEC850_SETFGT = _idaapi.NEC850_SETFGT +NEC850_SATSUBR = _idaapi.NEC850_SATSUBR +NEC850_SATSUBI = _idaapi.NEC850_SATSUBI +NEC850_SATSUB = _idaapi.NEC850_SATSUB +NEC850_SATADD = _idaapi.NEC850_SATADD +NEC850_SAR = _idaapi.NEC850_SAR +NEC850_RETI = _idaapi.NEC850_RETI +NEC850_ORI = _idaapi.NEC850_ORI +NEC850_OR = _idaapi.NEC850_OR +NEC850_NOT1 = _idaapi.NEC850_NOT1 +NEC850_NOT = _idaapi.NEC850_NOT +NEC850_NOP = _idaapi.NEC850_NOP +NEC850_MULHI = _idaapi.NEC850_MULHI +NEC850_MULH = _idaapi.NEC850_MULH +NEC850_MOVHI = _idaapi.NEC850_MOVHI +NEC850_MOVEA = _idaapi.NEC850_MOVEA +NEC850_MOV = _idaapi.NEC850_MOV +NEC850_LDSR = _idaapi.NEC850_LDSR +NEC850_LD_B = _idaapi.NEC850_LD_B +NEC850_LD_H = _idaapi.NEC850_LD_H +NEC850_LD_W = _idaapi.NEC850_LD_W +NEC850_JR = _idaapi.NEC850_JR +NEC850_JMP = _idaapi.NEC850_JMP +NEC850_JARL = _idaapi.NEC850_JARL +NEC850_HALT = _idaapi.NEC850_HALT +NEC850_EI = _idaapi.NEC850_EI +NEC850_DIVH = _idaapi.NEC850_DIVH +NEC850_DI = _idaapi.NEC850_DI +NEC850_CMP = _idaapi.NEC850_CMP +NEC850_CLR1 = _idaapi.NEC850_CLR1 +NEC850_BV = _idaapi.NEC850_BV +NEC850_BL = _idaapi.NEC850_BL +NEC850_BZ = _idaapi.NEC850_BZ +NEC850_BNH = _idaapi.NEC850_BNH +NEC850_BN = _idaapi.NEC850_BN +NEC850_BR = _idaapi.NEC850_BR +NEC850_BLT = _idaapi.NEC850_BLT +NEC850_BLE = _idaapi.NEC850_BLE +NEC850_BNV = _idaapi.NEC850_BNV +NEC850_BNC = _idaapi.NEC850_BNC +NEC850_BNZ = _idaapi.NEC850_BNZ +NEC850_BH = _idaapi.NEC850_BH +NEC850_BP = _idaapi.NEC850_BP +NEC850_BSA = _idaapi.NEC850_BSA +NEC850_BGE = _idaapi.NEC850_BGE +NEC850_BGT = _idaapi.NEC850_BGT +NEC850_ANDI = _idaapi.NEC850_ANDI +NEC850_AND = _idaapi.NEC850_AND +NEC850_ADDI = _idaapi.NEC850_ADDI +NEC850_ADD = _idaapi.NEC850_ADD +NEC850_SWITCH = _idaapi.NEC850_SWITCH +NEC850_ZXB = _idaapi.NEC850_ZXB +NEC850_SXB = _idaapi.NEC850_SXB +NEC850_ZXH = _idaapi.NEC850_ZXH +NEC850_SXH = _idaapi.NEC850_SXH +NEC850_DISPOSE_r0 = _idaapi.NEC850_DISPOSE_r0 +NEC850_DISPOSE_r = _idaapi.NEC850_DISPOSE_r +NEC850_CALLT = _idaapi.NEC850_CALLT +NEC850_DBTRAP = _idaapi.NEC850_DBTRAP +NEC850_DBRET = _idaapi.NEC850_DBRET +NEC850_CTRET = _idaapi.NEC850_CTRET +NEC850_SASFV = _idaapi.NEC850_SASFV +NEC850_SASFL = _idaapi.NEC850_SASFL +NEC850_SASFZ = _idaapi.NEC850_SASFZ +NEC850_SASFNH = _idaapi.NEC850_SASFNH +NEC850_SASFN = _idaapi.NEC850_SASFN +NEC850_SASFT = _idaapi.NEC850_SASFT +NEC850_SASFLT = _idaapi.NEC850_SASFLT +NEC850_SASFLE = _idaapi.NEC850_SASFLE +NEC850_SASFNV = _idaapi.NEC850_SASFNV +NEC850_SASFNC = _idaapi.NEC850_SASFNC +NEC850_SASFNZ = _idaapi.NEC850_SASFNZ +NEC850_SASFH = _idaapi.NEC850_SASFH +NEC850_SASFP = _idaapi.NEC850_SASFP +NEC850_SASFSA = _idaapi.NEC850_SASFSA +NEC850_SASFGE = _idaapi.NEC850_SASFGE +NEC850_SASFGT = _idaapi.NEC850_SASFGT +NEC850_PREPARE_sp = _idaapi.NEC850_PREPARE_sp +NEC850_PREPARE_i = _idaapi.NEC850_PREPARE_i +NEC850_MUL = _idaapi.NEC850_MUL +NEC850_MULU = _idaapi.NEC850_MULU +NEC850_DIVH_r3 = _idaapi.NEC850_DIVH_r3 +NEC850_DIVHU = _idaapi.NEC850_DIVHU +NEC850_DIV = _idaapi.NEC850_DIV +NEC850_DIVU = _idaapi.NEC850_DIVU +NEC850_BSW = _idaapi.NEC850_BSW +NEC850_BSH = _idaapi.NEC850_BSH +NEC850_HSW = _idaapi.NEC850_HSW +NEC850_CMOVV = _idaapi.NEC850_CMOVV +NEC850_CMOVL = _idaapi.NEC850_CMOVL +NEC850_CMOVZ = _idaapi.NEC850_CMOVZ +NEC850_CMOVNH = _idaapi.NEC850_CMOVNH +NEC850_CMOVN = _idaapi.NEC850_CMOVN +NEC850_CMOV = _idaapi.NEC850_CMOV +NEC850_CMOVLT = _idaapi.NEC850_CMOVLT +NEC850_CMOVLE = _idaapi.NEC850_CMOVLE +NEC850_CMOVNV = _idaapi.NEC850_CMOVNV +NEC850_CMOVNC = _idaapi.NEC850_CMOVNC +NEC850_CMOVNZ = _idaapi.NEC850_CMOVNZ +NEC850_CMOVH = _idaapi.NEC850_CMOVH +NEC850_CMOVP = _idaapi.NEC850_CMOVP +NEC850_CMOVSA = _idaapi.NEC850_CMOVSA +NEC850_CMOVGE = _idaapi.NEC850_CMOVGE +NEC850_CMOVGT = _idaapi.NEC850_CMOVGT +NEC850_SLD_BU = _idaapi.NEC850_SLD_BU +NEC850_SLD_HU = _idaapi.NEC850_SLD_HU +NEC850_LD_BU = _idaapi.NEC850_LD_BU +NEC850_LD_HU = _idaapi.NEC850_LD_HU +NEC850_LAST_INSTRUCTION = _idaapi.NEC850_LAST_INSTRUCTION +TRICORE_null = _idaapi.TRICORE_null +TRICORE_abs = _idaapi.TRICORE_abs +TRICORE_abs_b = _idaapi.TRICORE_abs_b +TRICORE_abs_h = _idaapi.TRICORE_abs_h +TRICORE_absdif = _idaapi.TRICORE_absdif +TRICORE_absdif_b = _idaapi.TRICORE_absdif_b +TRICORE_absdif_h = _idaapi.TRICORE_absdif_h +TRICORE_absdifs = _idaapi.TRICORE_absdifs +TRICORE_absdifs_h = _idaapi.TRICORE_absdifs_h +TRICORE_abss = _idaapi.TRICORE_abss +TRICORE_abss_h = _idaapi.TRICORE_abss_h +TRICORE_add_b = _idaapi.TRICORE_add_b +TRICORE_add_f = _idaapi.TRICORE_add_f +TRICORE_add_h = _idaapi.TRICORE_add_h +TRICORE_add16 = _idaapi.TRICORE_add16 +TRICORE_add16_a = _idaapi.TRICORE_add16_a +TRICORE_add32 = _idaapi.TRICORE_add32 +TRICORE_add32_a = _idaapi.TRICORE_add32_a +TRICORE_addc = _idaapi.TRICORE_addc +TRICORE_addi = _idaapi.TRICORE_addi +TRICORE_addih = _idaapi.TRICORE_addih +TRICORE_addih_a = _idaapi.TRICORE_addih_a +TRICORE_adds = _idaapi.TRICORE_adds +TRICORE_adds_h = _idaapi.TRICORE_adds_h +TRICORE_adds_hu = _idaapi.TRICORE_adds_hu +TRICORE_adds_u = _idaapi.TRICORE_adds_u +TRICORE_adds16 = _idaapi.TRICORE_adds16 +TRICORE_addsc_at = _idaapi.TRICORE_addsc_at +TRICORE_addsc16_a = _idaapi.TRICORE_addsc16_a +TRICORE_addsc32_a = _idaapi.TRICORE_addsc32_a +TRICORE_addx = _idaapi.TRICORE_addx +TRICORE_and_and_t = _idaapi.TRICORE_and_and_t +TRICORE_and_andn_t = _idaapi.TRICORE_and_andn_t +TRICORE_and_eq = _idaapi.TRICORE_and_eq +TRICORE_and_ge = _idaapi.TRICORE_and_ge +TRICORE_and_ge_u = _idaapi.TRICORE_and_ge_u +TRICORE_and_lt = _idaapi.TRICORE_and_lt +TRICORE_and_lt_u = _idaapi.TRICORE_and_lt_u +TRICORE_and_ne = _idaapi.TRICORE_and_ne +TRICORE_and_nor_t = _idaapi.TRICORE_and_nor_t +TRICORE_and_or_t = _idaapi.TRICORE_and_or_t +TRICORE_and_t = _idaapi.TRICORE_and_t +TRICORE_and16 = _idaapi.TRICORE_and16 +TRICORE_and32 = _idaapi.TRICORE_and32 +TRICORE_andn = _idaapi.TRICORE_andn +TRICORE_andn_t = _idaapi.TRICORE_andn_t +TRICORE_bisr16 = _idaapi.TRICORE_bisr16 +TRICORE_bisr32 = _idaapi.TRICORE_bisr32 +TRICORE_bmerge = _idaapi.TRICORE_bmerge +TRICORE_bsplit = _idaapi.TRICORE_bsplit +TRICORE_cachea_i = _idaapi.TRICORE_cachea_i +TRICORE_cachea_w = _idaapi.TRICORE_cachea_w +TRICORE_cachea_wi = _idaapi.TRICORE_cachea_wi +TRICORE_cadd16 = _idaapi.TRICORE_cadd16 +TRICORE_cadd32 = _idaapi.TRICORE_cadd32 +TRICORE_caddn16 = _idaapi.TRICORE_caddn16 +TRICORE_caddn32 = _idaapi.TRICORE_caddn32 +TRICORE_call16 = _idaapi.TRICORE_call16 +TRICORE_call32 = _idaapi.TRICORE_call32 +TRICORE_calla = _idaapi.TRICORE_calla +TRICORE_calli = _idaapi.TRICORE_calli +TRICORE_clo = _idaapi.TRICORE_clo +TRICORE_clo_h = _idaapi.TRICORE_clo_h +TRICORE_cls = _idaapi.TRICORE_cls +TRICORE_cls_h = _idaapi.TRICORE_cls_h +TRICORE_clz = _idaapi.TRICORE_clz +TRICORE_clz_h = _idaapi.TRICORE_clz_h +TRICORE_cmov16 = _idaapi.TRICORE_cmov16 +TRICORE_cmovn16 = _idaapi.TRICORE_cmovn16 +TRICORE_cmp_f = _idaapi.TRICORE_cmp_f +TRICORE_csub = _idaapi.TRICORE_csub +TRICORE_csubn = _idaapi.TRICORE_csubn +TRICORE_debug16 = _idaapi.TRICORE_debug16 +TRICORE_debug32 = _idaapi.TRICORE_debug32 +TRICORE_dextr = _idaapi.TRICORE_dextr +TRICORE_disable = _idaapi.TRICORE_disable +TRICORE_div_f = _idaapi.TRICORE_div_f +TRICORE_dsync = _idaapi.TRICORE_dsync +TRICORE_dvadj = _idaapi.TRICORE_dvadj +TRICORE_dvinit = _idaapi.TRICORE_dvinit +TRICORE_dvinit_b = _idaapi.TRICORE_dvinit_b +TRICORE_dvinit_bu = _idaapi.TRICORE_dvinit_bu +TRICORE_dvinit_h = _idaapi.TRICORE_dvinit_h +TRICORE_dvinit_hu = _idaapi.TRICORE_dvinit_hu +TRICORE_dvinit_u = _idaapi.TRICORE_dvinit_u +TRICORE_dvstep = _idaapi.TRICORE_dvstep +TRICORE_dvstep_u = _idaapi.TRICORE_dvstep_u +TRICORE_enable = _idaapi.TRICORE_enable +TRICORE_eq_a = _idaapi.TRICORE_eq_a +TRICORE_eq_b = _idaapi.TRICORE_eq_b +TRICORE_eq_h = _idaapi.TRICORE_eq_h +TRICORE_eq_w = _idaapi.TRICORE_eq_w +TRICORE_eq16 = _idaapi.TRICORE_eq16 +TRICORE_eq32 = _idaapi.TRICORE_eq32 +TRICORE_eqany_b = _idaapi.TRICORE_eqany_b +TRICORE_eqany_h = _idaapi.TRICORE_eqany_h +TRICORE_eqz_a = _idaapi.TRICORE_eqz_a +TRICORE_extr = _idaapi.TRICORE_extr +TRICORE_extr_u = _idaapi.TRICORE_extr_u +TRICORE_ftoi = _idaapi.TRICORE_ftoi +TRICORE_ftoq31 = _idaapi.TRICORE_ftoq31 +TRICORE_ftou = _idaapi.TRICORE_ftou +TRICORE_ge = _idaapi.TRICORE_ge +TRICORE_ge_a = _idaapi.TRICORE_ge_a +TRICORE_ge_u = _idaapi.TRICORE_ge_u +TRICORE_imask = _idaapi.TRICORE_imask +TRICORE_ins_t = _idaapi.TRICORE_ins_t +TRICORE_insert = _idaapi.TRICORE_insert +TRICORE_insn_t = _idaapi.TRICORE_insn_t +TRICORE_isync = _idaapi.TRICORE_isync +TRICORE_itof = _idaapi.TRICORE_itof +TRICORE_ixmax = _idaapi.TRICORE_ixmax +TRICORE_ixmax_u = _idaapi.TRICORE_ixmax_u +TRICORE_ixmin = _idaapi.TRICORE_ixmin +TRICORE_ixmin_u = _idaapi.TRICORE_ixmin_u +TRICORE_j16 = _idaapi.TRICORE_j16 +TRICORE_j32 = _idaapi.TRICORE_j32 +TRICORE_ja = _idaapi.TRICORE_ja +TRICORE_jeq_a = _idaapi.TRICORE_jeq_a +TRICORE_jeq16 = _idaapi.TRICORE_jeq16 +TRICORE_jeq32 = _idaapi.TRICORE_jeq32 +TRICORE_jge = _idaapi.TRICORE_jge +TRICORE_jge_u = _idaapi.TRICORE_jge_u +TRICORE_jgez16 = _idaapi.TRICORE_jgez16 +TRICORE_jgtz16 = _idaapi.TRICORE_jgtz16 +TRICORE_ji16 = _idaapi.TRICORE_ji16 +TRICORE_ji32 = _idaapi.TRICORE_ji32 +TRICORE_jl = _idaapi.TRICORE_jl +TRICORE_jla = _idaapi.TRICORE_jla +TRICORE_jlez16 = _idaapi.TRICORE_jlez16 +TRICORE_jli = _idaapi.TRICORE_jli +TRICORE_jlt = _idaapi.TRICORE_jlt +TRICORE_jlt_u = _idaapi.TRICORE_jlt_u +TRICORE_jltz16 = _idaapi.TRICORE_jltz16 +TRICORE_jne_a = _idaapi.TRICORE_jne_a +TRICORE_jne16 = _idaapi.TRICORE_jne16 +TRICORE_jne32 = _idaapi.TRICORE_jne32 +TRICORE_jned = _idaapi.TRICORE_jned +TRICORE_jnei = _idaapi.TRICORE_jnei +TRICORE_jnz16 = _idaapi.TRICORE_jnz16 +TRICORE_jnz16_a = _idaapi.TRICORE_jnz16_a +TRICORE_jnz16_t = _idaapi.TRICORE_jnz16_t +TRICORE_jnz32_a = _idaapi.TRICORE_jnz32_a +TRICORE_jnz32_t = _idaapi.TRICORE_jnz32_t +TRICORE_jz16 = _idaapi.TRICORE_jz16 +TRICORE_jz16_a = _idaapi.TRICORE_jz16_a +TRICORE_jz16_t = _idaapi.TRICORE_jz16_t +TRICORE_jz32_a = _idaapi.TRICORE_jz32_a +TRICORE_jz32_t = _idaapi.TRICORE_jz32_t +TRICORE_ld_b = _idaapi.TRICORE_ld_b +TRICORE_ld_d = _idaapi.TRICORE_ld_d +TRICORE_ld_da = _idaapi.TRICORE_ld_da +TRICORE_ld_hu = _idaapi.TRICORE_ld_hu +TRICORE_ld_q = _idaapi.TRICORE_ld_q +TRICORE_ld16_a = _idaapi.TRICORE_ld16_a +TRICORE_ld16_bu = _idaapi.TRICORE_ld16_bu +TRICORE_ld16_h = _idaapi.TRICORE_ld16_h +TRICORE_ld16_w = _idaapi.TRICORE_ld16_w +TRICORE_ld32_a = _idaapi.TRICORE_ld32_a +TRICORE_ld32_bu = _idaapi.TRICORE_ld32_bu +TRICORE_ld32_h = _idaapi.TRICORE_ld32_h +TRICORE_ld32_w = _idaapi.TRICORE_ld32_w +TRICORE_ldlcx = _idaapi.TRICORE_ldlcx +TRICORE_ldmst = _idaapi.TRICORE_ldmst +TRICORE_lducx = _idaapi.TRICORE_lducx +TRICORE_lea = _idaapi.TRICORE_lea +TRICORE_loop16 = _idaapi.TRICORE_loop16 +TRICORE_loop32 = _idaapi.TRICORE_loop32 +TRICORE_loopu = _idaapi.TRICORE_loopu +TRICORE_lt_a = _idaapi.TRICORE_lt_a +TRICORE_lt_b = _idaapi.TRICORE_lt_b +TRICORE_lt_bu = _idaapi.TRICORE_lt_bu +TRICORE_lt_h = _idaapi.TRICORE_lt_h +TRICORE_lt_hu = _idaapi.TRICORE_lt_hu +TRICORE_lt_u = _idaapi.TRICORE_lt_u +TRICORE_lt_w = _idaapi.TRICORE_lt_w +TRICORE_lt_wu = _idaapi.TRICORE_lt_wu +TRICORE_lt16 = _idaapi.TRICORE_lt16 +TRICORE_lt32 = _idaapi.TRICORE_lt32 +TRICORE_madd = _idaapi.TRICORE_madd +TRICORE_madd_f = _idaapi.TRICORE_madd_f +TRICORE_madd_h = _idaapi.TRICORE_madd_h +TRICORE_madd_q = _idaapi.TRICORE_madd_q +TRICORE_madd_u = _idaapi.TRICORE_madd_u +TRICORE_maddm_h = _idaapi.TRICORE_maddm_h +TRICORE_maddms_h = _idaapi.TRICORE_maddms_h +TRICORE_maddr_h = _idaapi.TRICORE_maddr_h +TRICORE_maddr_q = _idaapi.TRICORE_maddr_q +TRICORE_maddrs_h = _idaapi.TRICORE_maddrs_h +TRICORE_maddrs_q = _idaapi.TRICORE_maddrs_q +TRICORE_madds = _idaapi.TRICORE_madds +TRICORE_madds_h = _idaapi.TRICORE_madds_h +TRICORE_madds_q = _idaapi.TRICORE_madds_q +TRICORE_madds_u = _idaapi.TRICORE_madds_u +TRICORE_maddsu_h = _idaapi.TRICORE_maddsu_h +TRICORE_maddsum_h = _idaapi.TRICORE_maddsum_h +TRICORE_maddsums_h = _idaapi.TRICORE_maddsums_h +TRICORE_maddsur_h = _idaapi.TRICORE_maddsur_h +TRICORE_maddsurs_h = _idaapi.TRICORE_maddsurs_h +TRICORE_maddsus_h = _idaapi.TRICORE_maddsus_h +TRICORE_max = _idaapi.TRICORE_max +TRICORE_max_b = _idaapi.TRICORE_max_b +TRICORE_max_bu = _idaapi.TRICORE_max_bu +TRICORE_max_h = _idaapi.TRICORE_max_h +TRICORE_max_hu = _idaapi.TRICORE_max_hu +TRICORE_max_u = _idaapi.TRICORE_max_u +TRICORE_mfcr = _idaapi.TRICORE_mfcr +TRICORE_min = _idaapi.TRICORE_min +TRICORE_min_b = _idaapi.TRICORE_min_b +TRICORE_min_bu = _idaapi.TRICORE_min_bu +TRICORE_min_h = _idaapi.TRICORE_min_h +TRICORE_min_hu = _idaapi.TRICORE_min_hu +TRICORE_min_u = _idaapi.TRICORE_min_u +TRICORE_mov_u = _idaapi.TRICORE_mov_u +TRICORE_mov16 = _idaapi.TRICORE_mov16 +TRICORE_mov16_a = _idaapi.TRICORE_mov16_a +TRICORE_mov16_aa = _idaapi.TRICORE_mov16_aa +TRICORE_mov16_d = _idaapi.TRICORE_mov16_d +TRICORE_mov32 = _idaapi.TRICORE_mov32 +TRICORE_mov32_a = _idaapi.TRICORE_mov32_a +TRICORE_mov32_aa = _idaapi.TRICORE_mov32_aa +TRICORE_mov32_d = _idaapi.TRICORE_mov32_d +TRICORE_movh = _idaapi.TRICORE_movh +TRICORE_movh_a = _idaapi.TRICORE_movh_a +TRICORE_msub = _idaapi.TRICORE_msub +TRICORE_msub_f = _idaapi.TRICORE_msub_f +TRICORE_msub_h = _idaapi.TRICORE_msub_h +TRICORE_msub_q = _idaapi.TRICORE_msub_q +TRICORE_msub_u = _idaapi.TRICORE_msub_u +TRICORE_msubad_h = _idaapi.TRICORE_msubad_h +TRICORE_msubadm_h = _idaapi.TRICORE_msubadm_h +TRICORE_msubadms_h = _idaapi.TRICORE_msubadms_h +TRICORE_msubadr_h = _idaapi.TRICORE_msubadr_h +TRICORE_msubadrs_h = _idaapi.TRICORE_msubadrs_h +TRICORE_msubads_h = _idaapi.TRICORE_msubads_h +TRICORE_msubm_h = _idaapi.TRICORE_msubm_h +TRICORE_msubms_h = _idaapi.TRICORE_msubms_h +TRICORE_msubr_h = _idaapi.TRICORE_msubr_h +TRICORE_msubr_q = _idaapi.TRICORE_msubr_q +TRICORE_msubrs_h = _idaapi.TRICORE_msubrs_h +TRICORE_msubrs_q = _idaapi.TRICORE_msubrs_q +TRICORE_msubs = _idaapi.TRICORE_msubs +TRICORE_msubs_h = _idaapi.TRICORE_msubs_h +TRICORE_msubs_q = _idaapi.TRICORE_msubs_q +TRICORE_msubs_u = _idaapi.TRICORE_msubs_u +TRICORE_mtcr = _idaapi.TRICORE_mtcr +TRICORE_mul_f = _idaapi.TRICORE_mul_f +TRICORE_mul_h = _idaapi.TRICORE_mul_h +TRICORE_mul_q = _idaapi.TRICORE_mul_q +TRICORE_mul_u = _idaapi.TRICORE_mul_u +TRICORE_mul16 = _idaapi.TRICORE_mul16 +TRICORE_mul32 = _idaapi.TRICORE_mul32 +TRICORE_mulm_h = _idaapi.TRICORE_mulm_h +TRICORE_mulms_h = _idaapi.TRICORE_mulms_h +TRICORE_mulr_h = _idaapi.TRICORE_mulr_h +TRICORE_mulr_q = _idaapi.TRICORE_mulr_q +TRICORE_muls = _idaapi.TRICORE_muls +TRICORE_muls_u = _idaapi.TRICORE_muls_u +TRICORE_nand = _idaapi.TRICORE_nand +TRICORE_nand_t = _idaapi.TRICORE_nand_t +TRICORE_ne = _idaapi.TRICORE_ne +TRICORE_ne_a = _idaapi.TRICORE_ne_a +TRICORE_nez_a = _idaapi.TRICORE_nez_a +TRICORE_nop16 = _idaapi.TRICORE_nop16 +TRICORE_nop32 = _idaapi.TRICORE_nop32 +TRICORE_nor_t = _idaapi.TRICORE_nor_t +TRICORE_nor16 = _idaapi.TRICORE_nor16 +TRICORE_nor32 = _idaapi.TRICORE_nor32 +TRICORE_or_and_t = _idaapi.TRICORE_or_and_t +TRICORE_or_andn_t = _idaapi.TRICORE_or_andn_t +TRICORE_or_eq = _idaapi.TRICORE_or_eq +TRICORE_or_ge = _idaapi.TRICORE_or_ge +TRICORE_or_ge_u = _idaapi.TRICORE_or_ge_u +TRICORE_or_lt = _idaapi.TRICORE_or_lt +TRICORE_or_lt_u = _idaapi.TRICORE_or_lt_u +TRICORE_or_ne = _idaapi.TRICORE_or_ne +TRICORE_or_nor_t = _idaapi.TRICORE_or_nor_t +TRICORE_or_or_t = _idaapi.TRICORE_or_or_t +TRICORE_or_t = _idaapi.TRICORE_or_t +TRICORE_or16 = _idaapi.TRICORE_or16 +TRICORE_or32 = _idaapi.TRICORE_or32 +TRICORE_orn = _idaapi.TRICORE_orn +TRICORE_orn_t = _idaapi.TRICORE_orn_t +TRICORE_pack = _idaapi.TRICORE_pack +TRICORE_parity = _idaapi.TRICORE_parity +TRICORE_q31tof = _idaapi.TRICORE_q31tof +TRICORE_qseed_f = _idaapi.TRICORE_qseed_f +TRICORE_ret16 = _idaapi.TRICORE_ret16 +TRICORE_ret32 = _idaapi.TRICORE_ret32 +TRICORE_rfe16 = _idaapi.TRICORE_rfe16 +TRICORE_rfe32 = _idaapi.TRICORE_rfe32 +TRICORE_rfm = _idaapi.TRICORE_rfm +TRICORE_rslcx = _idaapi.TRICORE_rslcx +TRICORE_rstv = _idaapi.TRICORE_rstv +TRICORE_rsub16 = _idaapi.TRICORE_rsub16 +TRICORE_rsub32 = _idaapi.TRICORE_rsub32 +TRICORE_rsubs = _idaapi.TRICORE_rsubs +TRICORE_rsubs_u = _idaapi.TRICORE_rsubs_u +TRICORE_sat16_b = _idaapi.TRICORE_sat16_b +TRICORE_sat16_bu = _idaapi.TRICORE_sat16_bu +TRICORE_sat16_h = _idaapi.TRICORE_sat16_h +TRICORE_sat16_hu = _idaapi.TRICORE_sat16_hu +TRICORE_sat32_b = _idaapi.TRICORE_sat32_b +TRICORE_sat32_bu = _idaapi.TRICORE_sat32_bu +TRICORE_sat32_h = _idaapi.TRICORE_sat32_h +TRICORE_sat32_hu = _idaapi.TRICORE_sat32_hu +TRICORE_sel = _idaapi.TRICORE_sel +TRICORE_seln = _idaapi.TRICORE_seln +TRICORE_sh_and_t = _idaapi.TRICORE_sh_and_t +TRICORE_sh_andn_t = _idaapi.TRICORE_sh_andn_t +TRICORE_sh_eq = _idaapi.TRICORE_sh_eq +TRICORE_sh_ge = _idaapi.TRICORE_sh_ge +TRICORE_sh_ge_u = _idaapi.TRICORE_sh_ge_u +TRICORE_sh_h = _idaapi.TRICORE_sh_h +TRICORE_sh_lt = _idaapi.TRICORE_sh_lt +TRICORE_sh_lt_u = _idaapi.TRICORE_sh_lt_u +TRICORE_sh_nand_t = _idaapi.TRICORE_sh_nand_t +TRICORE_sh_ne = _idaapi.TRICORE_sh_ne +TRICORE_sh_nor_t = _idaapi.TRICORE_sh_nor_t +TRICORE_sh_or_t = _idaapi.TRICORE_sh_or_t +TRICORE_sh_orn_t = _idaapi.TRICORE_sh_orn_t +TRICORE_sh_xnor_t = _idaapi.TRICORE_sh_xnor_t +TRICORE_sh_xor_t = _idaapi.TRICORE_sh_xor_t +TRICORE_sh16 = _idaapi.TRICORE_sh16 +TRICORE_sh32 = _idaapi.TRICORE_sh32 +TRICORE_sha_h = _idaapi.TRICORE_sha_h +TRICORE_sha16 = _idaapi.TRICORE_sha16 +TRICORE_sha32 = _idaapi.TRICORE_sha32 +TRICORE_shas = _idaapi.TRICORE_shas +TRICORE_st_d = _idaapi.TRICORE_st_d +TRICORE_st_da = _idaapi.TRICORE_st_da +TRICORE_st_q = _idaapi.TRICORE_st_q +TRICORE_st_t = _idaapi.TRICORE_st_t +TRICORE_st16_a = _idaapi.TRICORE_st16_a +TRICORE_st16_b = _idaapi.TRICORE_st16_b +TRICORE_st16_h = _idaapi.TRICORE_st16_h +TRICORE_st16_w = _idaapi.TRICORE_st16_w +TRICORE_st32_a = _idaapi.TRICORE_st32_a +TRICORE_st32_b = _idaapi.TRICORE_st32_b +TRICORE_st32_h = _idaapi.TRICORE_st32_h +TRICORE_st32_w = _idaapi.TRICORE_st32_w +TRICORE_stlcx = _idaapi.TRICORE_stlcx +TRICORE_stucx = _idaapi.TRICORE_stucx +TRICORE_sub_b = _idaapi.TRICORE_sub_b +TRICORE_sub_f = _idaapi.TRICORE_sub_f +TRICORE_sub_h = _idaapi.TRICORE_sub_h +TRICORE_sub16 = _idaapi.TRICORE_sub16 +TRICORE_sub16_a = _idaapi.TRICORE_sub16_a +TRICORE_sub32 = _idaapi.TRICORE_sub32 +TRICORE_sub32_a = _idaapi.TRICORE_sub32_a +TRICORE_subc = _idaapi.TRICORE_subc +TRICORE_subs_h = _idaapi.TRICORE_subs_h +TRICORE_subs_hu = _idaapi.TRICORE_subs_hu +TRICORE_subs_u = _idaapi.TRICORE_subs_u +TRICORE_subs16 = _idaapi.TRICORE_subs16 +TRICORE_subs32 = _idaapi.TRICORE_subs32 +TRICORE_subx = _idaapi.TRICORE_subx +TRICORE_svlcx = _idaapi.TRICORE_svlcx +TRICORE_swap_w = _idaapi.TRICORE_swap_w +TRICORE_syscall = _idaapi.TRICORE_syscall +TRICORE_tlbdemap = _idaapi.TRICORE_tlbdemap +TRICORE_tlbflush_a = _idaapi.TRICORE_tlbflush_a +TRICORE_tlbflush_b = _idaapi.TRICORE_tlbflush_b +TRICORE_tlbmap = _idaapi.TRICORE_tlbmap +TRICORE_tlbprobe_a = _idaapi.TRICORE_tlbprobe_a +TRICORE_tlbprobe_i = _idaapi.TRICORE_tlbprobe_i +TRICORE_trapsv = _idaapi.TRICORE_trapsv +TRICORE_trapv = _idaapi.TRICORE_trapv +TRICORE_unpack = _idaapi.TRICORE_unpack +TRICORE_updfl = _idaapi.TRICORE_updfl +TRICORE_utof = _idaapi.TRICORE_utof +TRICORE_xnor = _idaapi.TRICORE_xnor +TRICORE_xnor_t = _idaapi.TRICORE_xnor_t +TRICORE_xor_eq = _idaapi.TRICORE_xor_eq +TRICORE_xor_ge = _idaapi.TRICORE_xor_ge +TRICORE_xor_ge_u = _idaapi.TRICORE_xor_ge_u +TRICORE_xor_lt = _idaapi.TRICORE_xor_lt +TRICORE_xor_lt_u = _idaapi.TRICORE_xor_lt_u +TRICORE_xor_ne = _idaapi.TRICORE_xor_ne +TRICORE_xor_t = _idaapi.TRICORE_xor_t +TRICORE_xor16 = _idaapi.TRICORE_xor16 +TRICORE_xor32 = _idaapi.TRICORE_xor32 +TRICORE_cachei_i = _idaapi.TRICORE_cachei_i +TRICORE_cachei_w = _idaapi.TRICORE_cachei_w +TRICORE_cachei_wi = _idaapi.TRICORE_cachei_wi +TRICORE_div = _idaapi.TRICORE_div +TRICORE_div_u = _idaapi.TRICORE_div_u +TRICORE_fcall = _idaapi.TRICORE_fcall +TRICORE_fcalla = _idaapi.TRICORE_fcalla +TRICORE_fcalli = _idaapi.TRICORE_fcalli +TRICORE_fret16 = _idaapi.TRICORE_fret16 +TRICORE_fret32 = _idaapi.TRICORE_fret32 +TRICORE_ftoiz = _idaapi.TRICORE_ftoiz +TRICORE_ftoq31z = _idaapi.TRICORE_ftoq31z +TRICORE_ftouz = _idaapi.TRICORE_ftouz +TRICORE_restore = _idaapi.TRICORE_restore +TRICORE_last = _idaapi.TRICORE_last +ARC_null = _idaapi.ARC_null +ARC_ld = _idaapi.ARC_ld +ARC_lr = _idaapi.ARC_lr +ARC_st = _idaapi.ARC_st +ARC_sr = _idaapi.ARC_sr +ARC_store_instructions = _idaapi.ARC_store_instructions +ARC_flag = _idaapi.ARC_flag +ARC_asr = _idaapi.ARC_asr +ARC_lsr = _idaapi.ARC_lsr +ARC_sexb = _idaapi.ARC_sexb +ARC_sexw = _idaapi.ARC_sexw +ARC_extb = _idaapi.ARC_extb +ARC_extw = _idaapi.ARC_extw +ARC_ror = _idaapi.ARC_ror +ARC_rrc = _idaapi.ARC_rrc +ARC_b = _idaapi.ARC_b +ARC_bl = _idaapi.ARC_bl +ARC_lp = _idaapi.ARC_lp +ARC_j = _idaapi.ARC_j +ARC_jl = _idaapi.ARC_jl +ARC_add = _idaapi.ARC_add +ARC_adc = _idaapi.ARC_adc +ARC_sub = _idaapi.ARC_sub +ARC_sbc = _idaapi.ARC_sbc +ARC_and = _idaapi.ARC_and +ARC_or = _idaapi.ARC_or +ARC_bic = _idaapi.ARC_bic +ARC_xor = _idaapi.ARC_xor +ARC_mov = _idaapi.ARC_mov +ARC_nop = _idaapi.ARC_nop +ARC_lsl = _idaapi.ARC_lsl +ARC_rlc = _idaapi.ARC_rlc +ARC_brk = _idaapi.ARC_brk +ARC_sleep = _idaapi.ARC_sleep +ARC_swi = _idaapi.ARC_swi +ARC_asl = _idaapi.ARC_asl +ARC_mul64 = _idaapi.ARC_mul64 +ARC_mulu64 = _idaapi.ARC_mulu64 +ARC_max = _idaapi.ARC_max +ARC_min = _idaapi.ARC_min +ARC_swap = _idaapi.ARC_swap +ARC_norm = _idaapi.ARC_norm +ARC_bbit0 = _idaapi.ARC_bbit0 +ARC_bbit1 = _idaapi.ARC_bbit1 +ARC_br = _idaapi.ARC_br +ARC_pop = _idaapi.ARC_pop +ARC_push = _idaapi.ARC_push +ARC_abs = _idaapi.ARC_abs +ARC_add1 = _idaapi.ARC_add1 +ARC_add2 = _idaapi.ARC_add2 +ARC_add3 = _idaapi.ARC_add3 +ARC_bclr = _idaapi.ARC_bclr +ARC_bmsk = _idaapi.ARC_bmsk +ARC_bset = _idaapi.ARC_bset +ARC_btst = _idaapi.ARC_btst +ARC_bxor = _idaapi.ARC_bxor +ARC_cmp = _idaapi.ARC_cmp +ARC_ex = _idaapi.ARC_ex +ARC_mpy = _idaapi.ARC_mpy +ARC_mpyh = _idaapi.ARC_mpyh +ARC_mpyhu = _idaapi.ARC_mpyhu +ARC_mpyu = _idaapi.ARC_mpyu +ARC_neg = _idaapi.ARC_neg +ARC_not = _idaapi.ARC_not +ARC_rcmp = _idaapi.ARC_rcmp +ARC_rsub = _idaapi.ARC_rsub +ARC_rtie = _idaapi.ARC_rtie +ARC_sub1 = _idaapi.ARC_sub1 +ARC_sub2 = _idaapi.ARC_sub2 +ARC_sub3 = _idaapi.ARC_sub3 +ARC_sync = _idaapi.ARC_sync +ARC_trap = _idaapi.ARC_trap +ARC_tst = _idaapi.ARC_tst +ARC_unimp = _idaapi.ARC_unimp +ARC_abss = _idaapi.ARC_abss +ARC_abssw = _idaapi.ARC_abssw +ARC_adds = _idaapi.ARC_adds +ARC_addsdw = _idaapi.ARC_addsdw +ARC_asls = _idaapi.ARC_asls +ARC_asrs = _idaapi.ARC_asrs +ARC_divaw = _idaapi.ARC_divaw +ARC_negs = _idaapi.ARC_negs +ARC_negsw = _idaapi.ARC_negsw +ARC_normw = _idaapi.ARC_normw +ARC_rnd16 = _idaapi.ARC_rnd16 +ARC_sat16 = _idaapi.ARC_sat16 +ARC_subs = _idaapi.ARC_subs +ARC_subsdw = _idaapi.ARC_subsdw +ARC_muldw = _idaapi.ARC_muldw +ARC_muludw = _idaapi.ARC_muludw +ARC_mulrdw = _idaapi.ARC_mulrdw +ARC_macdw = _idaapi.ARC_macdw +ARC_macudw = _idaapi.ARC_macudw +ARC_macrdw = _idaapi.ARC_macrdw +ARC_msubdw = _idaapi.ARC_msubdw +ARC_mululw = _idaapi.ARC_mululw +ARC_mullw = _idaapi.ARC_mullw +ARC_mulflw = _idaapi.ARC_mulflw +ARC_maclw = _idaapi.ARC_maclw +ARC_macflw = _idaapi.ARC_macflw +ARC_machulw = _idaapi.ARC_machulw +ARC_machlw = _idaapi.ARC_machlw +ARC_machflw = _idaapi.ARC_machflw +ARC_mulhlw = _idaapi.ARC_mulhlw +ARC_mulhflw = _idaapi.ARC_mulhflw +ARC_last = _idaapi.ARC_last +TMS28_null = _idaapi.TMS28_null +TMS28_aborti = _idaapi.TMS28_aborti +TMS28_abs = _idaapi.TMS28_abs +TMS28_abstc = _idaapi.TMS28_abstc +TMS28_add = _idaapi.TMS28_add +TMS28_addb = _idaapi.TMS28_addb +TMS28_addcl = _idaapi.TMS28_addcl +TMS28_addcu = _idaapi.TMS28_addcu +TMS28_addl = _idaapi.TMS28_addl +TMS28_addu = _idaapi.TMS28_addu +TMS28_addul = _idaapi.TMS28_addul +TMS28_adrk = _idaapi.TMS28_adrk +TMS28_and = _idaapi.TMS28_and +TMS28_andb = _idaapi.TMS28_andb +TMS28_asp = _idaapi.TMS28_asp +TMS28_asr = _idaapi.TMS28_asr +TMS28_asr64 = _idaapi.TMS28_asr64 +TMS28_asrl = _idaapi.TMS28_asrl +TMS28_b = _idaapi.TMS28_b +TMS28_banz = _idaapi.TMS28_banz +TMS28_bar = _idaapi.TMS28_bar +TMS28_bf = _idaapi.TMS28_bf +TMS28_c27map = _idaapi.TMS28_c27map +TMS28_c27obj = _idaapi.TMS28_c27obj +TMS28_c28addr = _idaapi.TMS28_c28addr +TMS28_c28map = _idaapi.TMS28_c28map +TMS28_c28obj = _idaapi.TMS28_c28obj +TMS28_clrc = _idaapi.TMS28_clrc +TMS28_cmp = _idaapi.TMS28_cmp +TMS28_cmp64 = _idaapi.TMS28_cmp64 +TMS28_cmpb = _idaapi.TMS28_cmpb +TMS28_cmpl = _idaapi.TMS28_cmpl +TMS28_cmpr = _idaapi.TMS28_cmpr +TMS28_csb = _idaapi.TMS28_csb +TMS28_dec = _idaapi.TMS28_dec +TMS28_dint = _idaapi.TMS28_dint +TMS28_dmac = _idaapi.TMS28_dmac +TMS28_dmov = _idaapi.TMS28_dmov +TMS28_eallow = _idaapi.TMS28_eallow +TMS28_edis = _idaapi.TMS28_edis +TMS28_eint = _idaapi.TMS28_eint +TMS28_estop0 = _idaapi.TMS28_estop0 +TMS28_estop1 = _idaapi.TMS28_estop1 +TMS28_ffc = _idaapi.TMS28_ffc +TMS28_flip = _idaapi.TMS28_flip +TMS28_iack = _idaapi.TMS28_iack +TMS28_idle = _idaapi.TMS28_idle +TMS28_imacl = _idaapi.TMS28_imacl +TMS28_impyal = _idaapi.TMS28_impyal +TMS28_impyl = _idaapi.TMS28_impyl +TMS28_impysl = _idaapi.TMS28_impysl +TMS28_impyxul = _idaapi.TMS28_impyxul +TMS28_in = _idaapi.TMS28_in +TMS28_inc = _idaapi.TMS28_inc +TMS28_intr = _idaapi.TMS28_intr +TMS28_iret = _idaapi.TMS28_iret +TMS28_lb = _idaapi.TMS28_lb +TMS28_lc = _idaapi.TMS28_lc +TMS28_lcr = _idaapi.TMS28_lcr +TMS28_loopnz = _idaapi.TMS28_loopnz +TMS28_loopz = _idaapi.TMS28_loopz +TMS28_lpaddr = _idaapi.TMS28_lpaddr +TMS28_lret = _idaapi.TMS28_lret +TMS28_lrete = _idaapi.TMS28_lrete +TMS28_lretr = _idaapi.TMS28_lretr +TMS28_lsl = _idaapi.TMS28_lsl +TMS28_lsl64 = _idaapi.TMS28_lsl64 +TMS28_lsll = _idaapi.TMS28_lsll +TMS28_lsr = _idaapi.TMS28_lsr +TMS28_lsr64 = _idaapi.TMS28_lsr64 +TMS28_lsrl = _idaapi.TMS28_lsrl +TMS28_mac = _idaapi.TMS28_mac +TMS28_max = _idaapi.TMS28_max +TMS28_maxcul = _idaapi.TMS28_maxcul +TMS28_maxl = _idaapi.TMS28_maxl +TMS28_min = _idaapi.TMS28_min +TMS28_mincul = _idaapi.TMS28_mincul +TMS28_minl = _idaapi.TMS28_minl +TMS28_mov = _idaapi.TMS28_mov +TMS28_mova = _idaapi.TMS28_mova +TMS28_movad = _idaapi.TMS28_movad +TMS28_movb = _idaapi.TMS28_movb +TMS28_movdl = _idaapi.TMS28_movdl +TMS28_movh = _idaapi.TMS28_movh +TMS28_movl = _idaapi.TMS28_movl +TMS28_movp = _idaapi.TMS28_movp +TMS28_movs = _idaapi.TMS28_movs +TMS28_movu = _idaapi.TMS28_movu +TMS28_movw = _idaapi.TMS28_movw +TMS28_movx = _idaapi.TMS28_movx +TMS28_movz = _idaapi.TMS28_movz +TMS28_mpy = _idaapi.TMS28_mpy +TMS28_mpya = _idaapi.TMS28_mpya +TMS28_mpyb = _idaapi.TMS28_mpyb +TMS28_mpys = _idaapi.TMS28_mpys +TMS28_mpyu = _idaapi.TMS28_mpyu +TMS28_mpyxu = _idaapi.TMS28_mpyxu +TMS28_nasp = _idaapi.TMS28_nasp +TMS28_neg = _idaapi.TMS28_neg +TMS28_neg64 = _idaapi.TMS28_neg64 +TMS28_negtc = _idaapi.TMS28_negtc +TMS28_nop = _idaapi.TMS28_nop +TMS28_norm = _idaapi.TMS28_norm +TMS28_not = _idaapi.TMS28_not +TMS28_or = _idaapi.TMS28_or +TMS28_orb = _idaapi.TMS28_orb +TMS28_out = _idaapi.TMS28_out +TMS28_pop = _idaapi.TMS28_pop +TMS28_pread = _idaapi.TMS28_pread +TMS28_push = _idaapi.TMS28_push +TMS28_pwrite = _idaapi.TMS28_pwrite +TMS28_qmacl = _idaapi.TMS28_qmacl +TMS28_qmpyal = _idaapi.TMS28_qmpyal +TMS28_qmpyl = _idaapi.TMS28_qmpyl +TMS28_qmpysl = _idaapi.TMS28_qmpysl +TMS28_qmpyul = _idaapi.TMS28_qmpyul +TMS28_qmpyxul = _idaapi.TMS28_qmpyxul +TMS28_rol = _idaapi.TMS28_rol +TMS28_ror = _idaapi.TMS28_ror +TMS28_rpt = _idaapi.TMS28_rpt +TMS28_sat = _idaapi.TMS28_sat +TMS28_sat64 = _idaapi.TMS28_sat64 +TMS28_sb = _idaapi.TMS28_sb +TMS28_sbbu = _idaapi.TMS28_sbbu +TMS28_sbf = _idaapi.TMS28_sbf +TMS28_sbrk = _idaapi.TMS28_sbrk +TMS28_setc = _idaapi.TMS28_setc +TMS28_sfr = _idaapi.TMS28_sfr +TMS28_spm = _idaapi.TMS28_spm +TMS28_sqra = _idaapi.TMS28_sqra +TMS28_sqrs = _idaapi.TMS28_sqrs +TMS28_sub = _idaapi.TMS28_sub +TMS28_subb = _idaapi.TMS28_subb +TMS28_subbl = _idaapi.TMS28_subbl +TMS28_subcu = _idaapi.TMS28_subcu +TMS28_subcul = _idaapi.TMS28_subcul +TMS28_subl = _idaapi.TMS28_subl +TMS28_subr = _idaapi.TMS28_subr +TMS28_subrl = _idaapi.TMS28_subrl +TMS28_subu = _idaapi.TMS28_subu +TMS28_subul = _idaapi.TMS28_subul +TMS28_sxtb = _idaapi.TMS28_sxtb +TMS28_tbit = _idaapi.TMS28_tbit +TMS28_tclr = _idaapi.TMS28_tclr +TMS28_test = _idaapi.TMS28_test +TMS28_trap = _idaapi.TMS28_trap +TMS28_tset = _idaapi.TMS28_tset +TMS28_uout = _idaapi.TMS28_uout +TMS28_xb = _idaapi.TMS28_xb +TMS28_xbanz = _idaapi.TMS28_xbanz +TMS28_xcall = _idaapi.TMS28_xcall +TMS28_xmac = _idaapi.TMS28_xmac +TMS28_xmacd = _idaapi.TMS28_xmacd +TMS28_xor = _idaapi.TMS28_xor +TMS28_xorb = _idaapi.TMS28_xorb +TMS28_xpread = _idaapi.TMS28_xpread +TMS28_xpwrite = _idaapi.TMS28_xpwrite +TMS28_xret = _idaapi.TMS28_xret +TMS28_xretc = _idaapi.TMS28_xretc +TMS28_zalr = _idaapi.TMS28_zalr +TMS28_zap = _idaapi.TMS28_zap +TMS28_zapa = _idaapi.TMS28_zapa +TMS28_last = _idaapi.TMS28_last +UNSP_null = _idaapi.UNSP_null +UNSP_add = _idaapi.UNSP_add +UNSP_adc = _idaapi.UNSP_adc +UNSP_sub = _idaapi.UNSP_sub +UNSP_sbc = _idaapi.UNSP_sbc +UNSP_cmp = _idaapi.UNSP_cmp +UNSP_cmpc = _idaapi.UNSP_cmpc +UNSP_neg = _idaapi.UNSP_neg +UNSP_negc = _idaapi.UNSP_negc +UNSP_xor = _idaapi.UNSP_xor +UNSP_load = _idaapi.UNSP_load +UNSP_or = _idaapi.UNSP_or +UNSP_and = _idaapi.UNSP_and +UNSP_test = _idaapi.UNSP_test +UNSP_store = _idaapi.UNSP_store +UNSP_add_s = _idaapi.UNSP_add_s +UNSP_adc_s = _idaapi.UNSP_adc_s +UNSP_sub_s = _idaapi.UNSP_sub_s +UNSP_sbc_s = _idaapi.UNSP_sbc_s +UNSP_cmp_s = _idaapi.UNSP_cmp_s +UNSP_cmpc_s = _idaapi.UNSP_cmpc_s +UNSP_neg_s = _idaapi.UNSP_neg_s +UNSP_negc_s = _idaapi.UNSP_negc_s +UNSP_xor_s = _idaapi.UNSP_xor_s +UNSP_load_s = _idaapi.UNSP_load_s +UNSP_or_s = _idaapi.UNSP_or_s +UNSP_and_s = _idaapi.UNSP_and_s +UNSP_test_s = _idaapi.UNSP_test_s +UNSP_store_s = _idaapi.UNSP_store_s +UNSP_retf = _idaapi.UNSP_retf +UNSP_reti = _idaapi.UNSP_reti +UNSP_pop = _idaapi.UNSP_pop +UNSP_push = _idaapi.UNSP_push +UNSP_call = _idaapi.UNSP_call +UNSP_goto = _idaapi.UNSP_goto +UNSP_nop = _idaapi.UNSP_nop +UNSP_exp = _idaapi.UNSP_exp +UNSP_jb = _idaapi.UNSP_jb +UNSP_jae = _idaapi.UNSP_jae +UNSP_jge = _idaapi.UNSP_jge +UNSP_jl = _idaapi.UNSP_jl +UNSP_jne = _idaapi.UNSP_jne +UNSP_je = _idaapi.UNSP_je +UNSP_jpl = _idaapi.UNSP_jpl +UNSP_jmi = _idaapi.UNSP_jmi +UNSP_jbe = _idaapi.UNSP_jbe +UNSP_ja = _idaapi.UNSP_ja +UNSP_jle = _idaapi.UNSP_jle +UNSP_jg = _idaapi.UNSP_jg +UNSP_jvc = _idaapi.UNSP_jvc +UNSP_jvs = _idaapi.UNSP_jvs +UNSP_jmp = _idaapi.UNSP_jmp +UNSP_mulss = _idaapi.UNSP_mulss +UNSP_mulus = _idaapi.UNSP_mulus +UNSP_muluu = _idaapi.UNSP_muluu +UNSP_divs = _idaapi.UNSP_divs +UNSP_divq = _idaapi.UNSP_divq +UNSP_int1 = _idaapi.UNSP_int1 +UNSP_int2 = _idaapi.UNSP_int2 +UNSP_fir_mov = _idaapi.UNSP_fir_mov +UNSP_fraction = _idaapi.UNSP_fraction +UNSP_irq = _idaapi.UNSP_irq +UNSP_secbank = _idaapi.UNSP_secbank +UNSP_fiq = _idaapi.UNSP_fiq +UNSP_irqnest = _idaapi.UNSP_irqnest +UNSP_break = _idaapi.UNSP_break +UNSP_asr = _idaapi.UNSP_asr +UNSP_asror = _idaapi.UNSP_asror +UNSP_lsl = _idaapi.UNSP_lsl +UNSP_lslor = _idaapi.UNSP_lslor +UNSP_lsr = _idaapi.UNSP_lsr +UNSP_lsror = _idaapi.UNSP_lsror +UNSP_rol = _idaapi.UNSP_rol +UNSP_ror = _idaapi.UNSP_ror +UNSP_tstb = _idaapi.UNSP_tstb +UNSP_setb = _idaapi.UNSP_setb +UNSP_clrb = _idaapi.UNSP_clrb +UNSP_invb = _idaapi.UNSP_invb +UNSP_last = _idaapi.UNSP_last +DALVIK_NOP = _idaapi.DALVIK_NOP +DALVIK_MOVE = _idaapi.DALVIK_MOVE +DALVIK_MOVE_FROM16 = _idaapi.DALVIK_MOVE_FROM16 +DALVIK_MOVE_16 = _idaapi.DALVIK_MOVE_16 +DALVIK_MOVE_WIDE = _idaapi.DALVIK_MOVE_WIDE +DALVIK_MOVE_WIDE_FROM16 = _idaapi.DALVIK_MOVE_WIDE_FROM16 +DALVIK_MOVE_WIDE_16 = _idaapi.DALVIK_MOVE_WIDE_16 +DALVIK_MOVE_OBJECT = _idaapi.DALVIK_MOVE_OBJECT +DALVIK_MOVE_OBJECT_FROM16 = _idaapi.DALVIK_MOVE_OBJECT_FROM16 +DALVIK_MOVE_OBJECT_16 = _idaapi.DALVIK_MOVE_OBJECT_16 +DALVIK_MOVE_RESULT = _idaapi.DALVIK_MOVE_RESULT +DALVIK_MOVE_RESULT_WIDE = _idaapi.DALVIK_MOVE_RESULT_WIDE +DALVIK_MOVE_RESULT_OBJECT = _idaapi.DALVIK_MOVE_RESULT_OBJECT +DALVIK_MOVE_EXCEPTION = _idaapi.DALVIK_MOVE_EXCEPTION +DALVIK_RETURN_VOID = _idaapi.DALVIK_RETURN_VOID +DALVIK_RETURN = _idaapi.DALVIK_RETURN +DALVIK_RETURN_WIDE = _idaapi.DALVIK_RETURN_WIDE +DALVIK_RETURN_OBJECT = _idaapi.DALVIK_RETURN_OBJECT +DALVIK_CONST_4 = _idaapi.DALVIK_CONST_4 +DALVIK_CONST_16 = _idaapi.DALVIK_CONST_16 +DALVIK_CONST = _idaapi.DALVIK_CONST +DALVIK_CONST_HIGH16 = _idaapi.DALVIK_CONST_HIGH16 +DALVIK_CONST_WIDE_16 = _idaapi.DALVIK_CONST_WIDE_16 +DALVIK_CONST_WIDE_32 = _idaapi.DALVIK_CONST_WIDE_32 +DALVIK_CONST_WIDE = _idaapi.DALVIK_CONST_WIDE +DALVIK_CONST_WIDE_HIGH16 = _idaapi.DALVIK_CONST_WIDE_HIGH16 +DALVIK_CONST_STRING = _idaapi.DALVIK_CONST_STRING +DALVIK_CONST_STRING_JUMBO = _idaapi.DALVIK_CONST_STRING_JUMBO +DALVIK_CONST_CLASS = _idaapi.DALVIK_CONST_CLASS +DALVIK_MONITOR_ENTER = _idaapi.DALVIK_MONITOR_ENTER +DALVIK_MONITOR_EXIT = _idaapi.DALVIK_MONITOR_EXIT +DALVIK_CHECK_CAST = _idaapi.DALVIK_CHECK_CAST +DALVIK_INSTANCE_OF = _idaapi.DALVIK_INSTANCE_OF +DALVIK_ARRAY_LENGTH = _idaapi.DALVIK_ARRAY_LENGTH +DALVIK_NEW_INSTANCE = _idaapi.DALVIK_NEW_INSTANCE +DALVIK_NEW_ARRAY = _idaapi.DALVIK_NEW_ARRAY +DALVIK_FILLED_NEW_ARRAY = _idaapi.DALVIK_FILLED_NEW_ARRAY +DALVIK_FILLED_NEW_ARRAY_RANGE = _idaapi.DALVIK_FILLED_NEW_ARRAY_RANGE +DALVIK_FILL_ARRAY_DATA = _idaapi.DALVIK_FILL_ARRAY_DATA +DALVIK_THROW = _idaapi.DALVIK_THROW +DALVIK_GOTO = _idaapi.DALVIK_GOTO +DALVIK_GOTO_16 = _idaapi.DALVIK_GOTO_16 +DALVIK_GOTO_32 = _idaapi.DALVIK_GOTO_32 +DALVIK_PACKED_SWITCH = _idaapi.DALVIK_PACKED_SWITCH +DALVIK_SPARSE_SWITCH = _idaapi.DALVIK_SPARSE_SWITCH +DALVIK_CMPL_FLOAT = _idaapi.DALVIK_CMPL_FLOAT +DALVIK_CMPG_FLOAT = _idaapi.DALVIK_CMPG_FLOAT +DALVIK_CMPL_DOUBLE = _idaapi.DALVIK_CMPL_DOUBLE +DALVIK_CMPG_DOUBLE = _idaapi.DALVIK_CMPG_DOUBLE +DALVIK_CMP_LONG = _idaapi.DALVIK_CMP_LONG +DALVIK_IF_EQ = _idaapi.DALVIK_IF_EQ +DALVIK_IF_NE = _idaapi.DALVIK_IF_NE +DALVIK_IF_LT = _idaapi.DALVIK_IF_LT +DALVIK_IF_GE = _idaapi.DALVIK_IF_GE +DALVIK_IF_GT = _idaapi.DALVIK_IF_GT +DALVIK_IF_LE = _idaapi.DALVIK_IF_LE +DALVIK_IF_EQZ = _idaapi.DALVIK_IF_EQZ +DALVIK_IF_NEZ = _idaapi.DALVIK_IF_NEZ +DALVIK_IF_LTZ = _idaapi.DALVIK_IF_LTZ +DALVIK_IF_GEZ = _idaapi.DALVIK_IF_GEZ +DALVIK_IF_GTZ = _idaapi.DALVIK_IF_GTZ +DALVIK_IF_LEZ = _idaapi.DALVIK_IF_LEZ +DALVIK_UNUSED_3E = _idaapi.DALVIK_UNUSED_3E +DALVIK_UNUSED_3F = _idaapi.DALVIK_UNUSED_3F +DALVIK_UNUSED_40 = _idaapi.DALVIK_UNUSED_40 +DALVIK_UNUSED_41 = _idaapi.DALVIK_UNUSED_41 +DALVIK_UNUSED_42 = _idaapi.DALVIK_UNUSED_42 +DALVIK_UNUSED_43 = _idaapi.DALVIK_UNUSED_43 +DALVIK_AGET = _idaapi.DALVIK_AGET +DALVIK_AGET_WIDE = _idaapi.DALVIK_AGET_WIDE +DALVIK_AGET_OBJECT = _idaapi.DALVIK_AGET_OBJECT +DALVIK_AGET_BOOLEAN = _idaapi.DALVIK_AGET_BOOLEAN +DALVIK_AGET_BYTE = _idaapi.DALVIK_AGET_BYTE +DALVIK_AGET_CHAR = _idaapi.DALVIK_AGET_CHAR +DALVIK_AGET_SHORT = _idaapi.DALVIK_AGET_SHORT +DALVIK_APUT = _idaapi.DALVIK_APUT +DALVIK_APUT_WIDE = _idaapi.DALVIK_APUT_WIDE +DALVIK_APUT_OBJECT = _idaapi.DALVIK_APUT_OBJECT +DALVIK_APUT_BOOLEAN = _idaapi.DALVIK_APUT_BOOLEAN +DALVIK_APUT_BYTE = _idaapi.DALVIK_APUT_BYTE +DALVIK_APUT_CHAR = _idaapi.DALVIK_APUT_CHAR +DALVIK_APUT_SHORT = _idaapi.DALVIK_APUT_SHORT +DALVIK_IGET = _idaapi.DALVIK_IGET +DALVIK_IGET_WIDE = _idaapi.DALVIK_IGET_WIDE +DALVIK_IGET_OBJECT = _idaapi.DALVIK_IGET_OBJECT +DALVIK_IGET_BOOLEAN = _idaapi.DALVIK_IGET_BOOLEAN +DALVIK_IGET_BYTE = _idaapi.DALVIK_IGET_BYTE +DALVIK_IGET_CHAR = _idaapi.DALVIK_IGET_CHAR +DALVIK_IGET_SHORT = _idaapi.DALVIK_IGET_SHORT +DALVIK_IPUT = _idaapi.DALVIK_IPUT +DALVIK_IPUT_WIDE = _idaapi.DALVIK_IPUT_WIDE +DALVIK_IPUT_OBJECT = _idaapi.DALVIK_IPUT_OBJECT +DALVIK_IPUT_BOOLEAN = _idaapi.DALVIK_IPUT_BOOLEAN +DALVIK_IPUT_BYTE = _idaapi.DALVIK_IPUT_BYTE +DALVIK_IPUT_CHAR = _idaapi.DALVIK_IPUT_CHAR +DALVIK_IPUT_SHORT = _idaapi.DALVIK_IPUT_SHORT +DALVIK_SGET = _idaapi.DALVIK_SGET +DALVIK_SGET_WIDE = _idaapi.DALVIK_SGET_WIDE +DALVIK_SGET_OBJECT = _idaapi.DALVIK_SGET_OBJECT +DALVIK_SGET_BOOLEAN = _idaapi.DALVIK_SGET_BOOLEAN +DALVIK_SGET_BYTE = _idaapi.DALVIK_SGET_BYTE +DALVIK_SGET_CHAR = _idaapi.DALVIK_SGET_CHAR +DALVIK_SGET_SHORT = _idaapi.DALVIK_SGET_SHORT +DALVIK_SPUT = _idaapi.DALVIK_SPUT +DALVIK_SPUT_WIDE = _idaapi.DALVIK_SPUT_WIDE +DALVIK_SPUT_OBJECT = _idaapi.DALVIK_SPUT_OBJECT +DALVIK_SPUT_BOOLEAN = _idaapi.DALVIK_SPUT_BOOLEAN +DALVIK_SPUT_BYTE = _idaapi.DALVIK_SPUT_BYTE +DALVIK_SPUT_CHAR = _idaapi.DALVIK_SPUT_CHAR +DALVIK_SPUT_SHORT = _idaapi.DALVIK_SPUT_SHORT +DALVIK_INVOKE_VIRTUAL = _idaapi.DALVIK_INVOKE_VIRTUAL +DALVIK_INVOKE_SUPER = _idaapi.DALVIK_INVOKE_SUPER +DALVIK_INVOKE_DIRECT = _idaapi.DALVIK_INVOKE_DIRECT +DALVIK_INVOKE_STATIC = _idaapi.DALVIK_INVOKE_STATIC +DALVIK_INVOKE_INTERFACE = _idaapi.DALVIK_INVOKE_INTERFACE +DALVIK_UNUSED_73 = _idaapi.DALVIK_UNUSED_73 +DALVIK_INVOKE_VIRTUAL_RANGE = _idaapi.DALVIK_INVOKE_VIRTUAL_RANGE +DALVIK_INVOKE_SUPER_RANGE = _idaapi.DALVIK_INVOKE_SUPER_RANGE +DALVIK_INVOKE_DIRECT_RANGE = _idaapi.DALVIK_INVOKE_DIRECT_RANGE +DALVIK_INVOKE_STATIC_RANGE = _idaapi.DALVIK_INVOKE_STATIC_RANGE +DALVIK_INVOKE_INTERFACE_RANGE = _idaapi.DALVIK_INVOKE_INTERFACE_RANGE +DALVIK_UNUSED_79 = _idaapi.DALVIK_UNUSED_79 +DALVIK_UNUSED_7A = _idaapi.DALVIK_UNUSED_7A +DALVIK_NEG_INT = _idaapi.DALVIK_NEG_INT +DALVIK_NOT_INT = _idaapi.DALVIK_NOT_INT +DALVIK_NEG_LONG = _idaapi.DALVIK_NEG_LONG +DALVIK_NOT_LONG = _idaapi.DALVIK_NOT_LONG +DALVIK_NEG_FLOAT = _idaapi.DALVIK_NEG_FLOAT +DALVIK_NEG_DOUBLE = _idaapi.DALVIK_NEG_DOUBLE +DALVIK_INT_TO_LONG = _idaapi.DALVIK_INT_TO_LONG +DALVIK_INT_TO_FLOAT = _idaapi.DALVIK_INT_TO_FLOAT +DALVIK_INT_TO_DOUBLE = _idaapi.DALVIK_INT_TO_DOUBLE +DALVIK_LONG_TO_INT = _idaapi.DALVIK_LONG_TO_INT +DALVIK_LONG_TO_FLOAT = _idaapi.DALVIK_LONG_TO_FLOAT +DALVIK_LONG_TO_DOUBLE = _idaapi.DALVIK_LONG_TO_DOUBLE +DALVIK_FLOAT_TO_INT = _idaapi.DALVIK_FLOAT_TO_INT +DALVIK_FLOAT_TO_LONG = _idaapi.DALVIK_FLOAT_TO_LONG +DALVIK_FLOAT_TO_DOUBLE = _idaapi.DALVIK_FLOAT_TO_DOUBLE +DALVIK_DOUBLE_TO_INT = _idaapi.DALVIK_DOUBLE_TO_INT +DALVIK_DOUBLE_TO_LONG = _idaapi.DALVIK_DOUBLE_TO_LONG +DALVIK_DOUBLE_TO_FLOAT = _idaapi.DALVIK_DOUBLE_TO_FLOAT +DALVIK_INT_TO_BYTE = _idaapi.DALVIK_INT_TO_BYTE +DALVIK_INT_TO_CHAR = _idaapi.DALVIK_INT_TO_CHAR +DALVIK_INT_TO_SHORT = _idaapi.DALVIK_INT_TO_SHORT +DALVIK_ADD_INT = _idaapi.DALVIK_ADD_INT +DALVIK_SUB_INT = _idaapi.DALVIK_SUB_INT +DALVIK_MUL_INT = _idaapi.DALVIK_MUL_INT +DALVIK_DIV_INT = _idaapi.DALVIK_DIV_INT +DALVIK_REM_INT = _idaapi.DALVIK_REM_INT +DALVIK_AND_INT = _idaapi.DALVIK_AND_INT +DALVIK_OR_INT = _idaapi.DALVIK_OR_INT +DALVIK_XOR_INT = _idaapi.DALVIK_XOR_INT +DALVIK_SHL_INT = _idaapi.DALVIK_SHL_INT +DALVIK_SHR_INT = _idaapi.DALVIK_SHR_INT +DALVIK_USHR_INT = _idaapi.DALVIK_USHR_INT +DALVIK_ADD_LONG = _idaapi.DALVIK_ADD_LONG +DALVIK_SUB_LONG = _idaapi.DALVIK_SUB_LONG +DALVIK_MUL_LONG = _idaapi.DALVIK_MUL_LONG +DALVIK_DIV_LONG = _idaapi.DALVIK_DIV_LONG +DALVIK_REM_LONG = _idaapi.DALVIK_REM_LONG +DALVIK_AND_LONG = _idaapi.DALVIK_AND_LONG +DALVIK_OR_LONG = _idaapi.DALVIK_OR_LONG +DALVIK_XOR_LONG = _idaapi.DALVIK_XOR_LONG +DALVIK_SHL_LONG = _idaapi.DALVIK_SHL_LONG +DALVIK_SHR_LONG = _idaapi.DALVIK_SHR_LONG +DALVIK_USHR_LONG = _idaapi.DALVIK_USHR_LONG +DALVIK_ADD_FLOAT = _idaapi.DALVIK_ADD_FLOAT +DALVIK_SUB_FLOAT = _idaapi.DALVIK_SUB_FLOAT +DALVIK_MUL_FLOAT = _idaapi.DALVIK_MUL_FLOAT +DALVIK_DIV_FLOAT = _idaapi.DALVIK_DIV_FLOAT +DALVIK_REM_FLOAT = _idaapi.DALVIK_REM_FLOAT +DALVIK_ADD_DOUBLE = _idaapi.DALVIK_ADD_DOUBLE +DALVIK_SUB_DOUBLE = _idaapi.DALVIK_SUB_DOUBLE +DALVIK_MUL_DOUBLE = _idaapi.DALVIK_MUL_DOUBLE +DALVIK_DIV_DOUBLE = _idaapi.DALVIK_DIV_DOUBLE +DALVIK_REM_DOUBLE = _idaapi.DALVIK_REM_DOUBLE +DALVIK_ADD_INT_2ADDR = _idaapi.DALVIK_ADD_INT_2ADDR +DALVIK_SUB_INT_2ADDR = _idaapi.DALVIK_SUB_INT_2ADDR +DALVIK_MUL_INT_2ADDR = _idaapi.DALVIK_MUL_INT_2ADDR +DALVIK_DIV_INT_2ADDR = _idaapi.DALVIK_DIV_INT_2ADDR +DALVIK_REM_INT_2ADDR = _idaapi.DALVIK_REM_INT_2ADDR +DALVIK_AND_INT_2ADDR = _idaapi.DALVIK_AND_INT_2ADDR +DALVIK_OR_INT_2ADDR = _idaapi.DALVIK_OR_INT_2ADDR +DALVIK_XOR_INT_2ADDR = _idaapi.DALVIK_XOR_INT_2ADDR +DALVIK_SHL_INT_2ADDR = _idaapi.DALVIK_SHL_INT_2ADDR +DALVIK_SHR_INT_2ADDR = _idaapi.DALVIK_SHR_INT_2ADDR +DALVIK_USHR_INT_2ADDR = _idaapi.DALVIK_USHR_INT_2ADDR +DALVIK_ADD_LONG_2ADDR = _idaapi.DALVIK_ADD_LONG_2ADDR +DALVIK_SUB_LONG_2ADDR = _idaapi.DALVIK_SUB_LONG_2ADDR +DALVIK_MUL_LONG_2ADDR = _idaapi.DALVIK_MUL_LONG_2ADDR +DALVIK_DIV_LONG_2ADDR = _idaapi.DALVIK_DIV_LONG_2ADDR +DALVIK_REM_LONG_2ADDR = _idaapi.DALVIK_REM_LONG_2ADDR +DALVIK_AND_LONG_2ADDR = _idaapi.DALVIK_AND_LONG_2ADDR +DALVIK_OR_LONG_2ADDR = _idaapi.DALVIK_OR_LONG_2ADDR +DALVIK_XOR_LONG_2ADDR = _idaapi.DALVIK_XOR_LONG_2ADDR +DALVIK_SHL_LONG_2ADDR = _idaapi.DALVIK_SHL_LONG_2ADDR +DALVIK_SHR_LONG_2ADDR = _idaapi.DALVIK_SHR_LONG_2ADDR +DALVIK_USHR_LONG_2ADDR = _idaapi.DALVIK_USHR_LONG_2ADDR +DALVIK_ADD_FLOAT_2ADDR = _idaapi.DALVIK_ADD_FLOAT_2ADDR +DALVIK_SUB_FLOAT_2ADDR = _idaapi.DALVIK_SUB_FLOAT_2ADDR +DALVIK_MUL_FLOAT_2ADDR = _idaapi.DALVIK_MUL_FLOAT_2ADDR +DALVIK_DIV_FLOAT_2ADDR = _idaapi.DALVIK_DIV_FLOAT_2ADDR +DALVIK_REM_FLOAT_2ADDR = _idaapi.DALVIK_REM_FLOAT_2ADDR +DALVIK_ADD_DOUBLE_2ADDR = _idaapi.DALVIK_ADD_DOUBLE_2ADDR +DALVIK_SUB_DOUBLE_2ADDR = _idaapi.DALVIK_SUB_DOUBLE_2ADDR +DALVIK_MUL_DOUBLE_2ADDR = _idaapi.DALVIK_MUL_DOUBLE_2ADDR +DALVIK_DIV_DOUBLE_2ADDR = _idaapi.DALVIK_DIV_DOUBLE_2ADDR +DALVIK_REM_DOUBLE_2ADDR = _idaapi.DALVIK_REM_DOUBLE_2ADDR +DALVIK_ADD_INT_LIT16 = _idaapi.DALVIK_ADD_INT_LIT16 +DALVIK_RSUB_INT = _idaapi.DALVIK_RSUB_INT +DALVIK_MUL_INT_LIT16 = _idaapi.DALVIK_MUL_INT_LIT16 +DALVIK_DIV_INT_LIT16 = _idaapi.DALVIK_DIV_INT_LIT16 +DALVIK_REM_INT_LIT16 = _idaapi.DALVIK_REM_INT_LIT16 +DALVIK_AND_INT_LIT16 = _idaapi.DALVIK_AND_INT_LIT16 +DALVIK_OR_INT_LIT16 = _idaapi.DALVIK_OR_INT_LIT16 +DALVIK_XOR_INT_LIT16 = _idaapi.DALVIK_XOR_INT_LIT16 +DALVIK_ADD_INT_LIT8 = _idaapi.DALVIK_ADD_INT_LIT8 +DALVIK_RSUB_INT_LIT8 = _idaapi.DALVIK_RSUB_INT_LIT8 +DALVIK_MUL_INT_LIT8 = _idaapi.DALVIK_MUL_INT_LIT8 +DALVIK_DIV_INT_LIT8 = _idaapi.DALVIK_DIV_INT_LIT8 +DALVIK_REM_INT_LIT8 = _idaapi.DALVIK_REM_INT_LIT8 +DALVIK_AND_INT_LIT8 = _idaapi.DALVIK_AND_INT_LIT8 +DALVIK_OR_INT_LIT8 = _idaapi.DALVIK_OR_INT_LIT8 +DALVIK_XOR_INT_LIT8 = _idaapi.DALVIK_XOR_INT_LIT8 +DALVIK_SHL_INT_LIT8 = _idaapi.DALVIK_SHL_INT_LIT8 +DALVIK_SHR_INT_LIT8 = _idaapi.DALVIK_SHR_INT_LIT8 +DALVIK_USHR_INT_LIT8 = _idaapi.DALVIK_USHR_INT_LIT8 +DALVIK_IGET_VOLATILE = _idaapi.DALVIK_IGET_VOLATILE +DALVIK_IPUT_VOLATILE = _idaapi.DALVIK_IPUT_VOLATILE +DALVIK_SGET_VOLATILE = _idaapi.DALVIK_SGET_VOLATILE +DALVIK_SPUT_VOLATILE = _idaapi.DALVIK_SPUT_VOLATILE +DALVIK_IGET_OBJECT_VOLATILE = _idaapi.DALVIK_IGET_OBJECT_VOLATILE +DALVIK_IGET_WIDE_VOLATILE = _idaapi.DALVIK_IGET_WIDE_VOLATILE +DALVIK_IPUT_WIDE_VOLATILE = _idaapi.DALVIK_IPUT_WIDE_VOLATILE +DALVIK_SGET_WIDE_VOLATILE = _idaapi.DALVIK_SGET_WIDE_VOLATILE +DALVIK_SPUT_WIDE_VOLATILE = _idaapi.DALVIK_SPUT_WIDE_VOLATILE +DALVIK_BREAKPOINT = _idaapi.DALVIK_BREAKPOINT +DALVIK_THROW_VERIFICATION_ERROR = _idaapi.DALVIK_THROW_VERIFICATION_ERROR +DALVIK_EXECUTE_INLINE = _idaapi.DALVIK_EXECUTE_INLINE +DALVIK_EXECUTE_INLINE_RANGE = _idaapi.DALVIK_EXECUTE_INLINE_RANGE +DALVIK_INVOKE_DIRECT_EMPTY = _idaapi.DALVIK_INVOKE_DIRECT_EMPTY +DALVIK_RETURN_VOID_BARRIER = _idaapi.DALVIK_RETURN_VOID_BARRIER +DALVIK_IGET_QUICK = _idaapi.DALVIK_IGET_QUICK +DALVIK_IGET_WIDE_QUICK = _idaapi.DALVIK_IGET_WIDE_QUICK +DALVIK_IGET_OBJECT_QUICK = _idaapi.DALVIK_IGET_OBJECT_QUICK +DALVIK_IPUT_QUICK = _idaapi.DALVIK_IPUT_QUICK +DALVIK_IPUT_WIDE_QUICK = _idaapi.DALVIK_IPUT_WIDE_QUICK +DALVIK_IPUT_OBJECT_QUICK = _idaapi.DALVIK_IPUT_OBJECT_QUICK +DALVIK_INVOKE_VIRTUAL_QUICK = _idaapi.DALVIK_INVOKE_VIRTUAL_QUICK +DALVIK_INVOKE_VIRTUAL_QUICK_RANGE = _idaapi.DALVIK_INVOKE_VIRTUAL_QUICK_RANGE +DALVIK_INVOKE_SUPER_QUICK = _idaapi.DALVIK_INVOKE_SUPER_QUICK +DALVIK_INVOKE_SUPER_QUICK_RANGE = _idaapi.DALVIK_INVOKE_SUPER_QUICK_RANGE +DALVIK_IPUT_OBJECT_VOLATILE = _idaapi.DALVIK_IPUT_OBJECT_VOLATILE +DALVIK_SGET_OBJECT_VOLATILE = _idaapi.DALVIK_SGET_OBJECT_VOLATILE +DALVIK_SPUT_OBJECT_VOLATILE = _idaapi.DALVIK_SPUT_OBJECT_VOLATILE +DALVIK_UNUSED_FF = _idaapi.DALVIK_UNUSED_FF +DALVIK_LAST = _idaapi.DALVIK_LAST +class area_t(object): + """ + Proxy of C++ area_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + startEA = _swig_property(_idaapi.area_t_startEA_get, _idaapi.area_t_startEA_set) + endEA = _swig_property(_idaapi.area_t_endEA_get, _idaapi.area_t_endEA_set) + def __init__(self, *args): + """ + __init__(self) -> area_t + __init__(self, ea1, ea2) -> area_t + """ + this = _idaapi.new_area_t(*args) + try: self.this.append(this) + except: self.this = this + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.area_t_compare(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.area_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.area_t___ne__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.area_t___gt__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.area_t___lt__(self, *args) + + def contains(self, *args): + """ + contains(self, ea) -> bool + contains(self, r) -> bool + """ + return _idaapi.area_t_contains(self, *args) + + def overlaps(self, *args): + """ + overlaps(self, r) -> bool + """ + return _idaapi.area_t_overlaps(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.area_t_clear(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.area_t_empty(self, *args) + + def size(self, *args): + """ + size(self) -> asize_t + """ + return _idaapi.area_t_size(self, *args) + + def intersect(self, *args): + """ + intersect(self, r) + """ + return _idaapi.area_t_intersect(self, *args) + + def extend(self, *args): + """ + extend(self, ea) + """ + return _idaapi.area_t_extend(self, *args) + + def _print(self, *args): + """ + _print(self) -> size_t + """ + return _idaapi.area_t__print(self, *args) + + __swig_destroy__ = _idaapi.delete_area_t + __del__ = lambda self : None; +area_t_swigregister = _idaapi.area_t_swigregister +area_t_swigregister(area_t) + +def area_t_print(*args): + """ + area_t_print(cb) -> size_t + """ + return _idaapi.area_t_print(*args) + +class areavec_t(object): + """ + Proxy of C++ areavec_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> areavec_t + """ + this = _idaapi.new_areavec_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_areavec_t + __del__ = lambda self : None; +areavec_t_swigregister = _idaapi.areavec_t_swigregister +areavec_t_swigregister(areavec_t) + +class areaset_t(object): + """ + Proxy of C++ areaset_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> areaset_t + __init__(self, area) -> areaset_t + __init__(self, ivs) -> areaset_t + """ + this = _idaapi.new_areaset_t(*args) + try: self.this.append(this) + except: self.this = this + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.areaset_t_swap(self, *args) + + def add(self, *args): + """ + add(self, area) -> bool + add(self, start, _end) -> bool + add(self, aset) -> bool + """ + return _idaapi.areaset_t_add(self, *args) + + def sub(self, *args): + """ + sub(self, area) -> bool + sub(self, ea) -> bool + sub(self, aset) -> bool + """ + return _idaapi.areaset_t_sub(self, *args) + + def includes(self, *args): + """ + includes(self, area) -> bool + """ + return _idaapi.areaset_t_includes(self, *args) + + def _print(self, *args): + """ + _print(self) -> size_t + """ + return _idaapi.areaset_t__print(self, *args) + + def getarea(self, *args): + """ + getarea(self, idx) -> area_t + """ + return _idaapi.areaset_t_getarea(self, *args) + + def lastarea(self, *args): + """ + lastarea(self) -> area_t + """ + return _idaapi.areaset_t_lastarea(self, *args) + + def nareas(self, *args): + """ + nareas(self) -> size_t + """ + return _idaapi.areaset_t_nareas(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.areaset_t_empty(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.areaset_t_clear(self, *args) + + def has_common(self, *args): + """ + has_common(self, area) -> bool + has_common(self, aset) -> bool + """ + return _idaapi.areaset_t_has_common(self, *args) + + def contains(self, *args): + """ + contains(self, ea) -> bool + contains(self, aset) -> bool + """ + return _idaapi.areaset_t_contains(self, *args) + + def intersect(self, *args): + """ + intersect(self, aset) -> bool + """ + return _idaapi.areaset_t_intersect(self, *args) + + def is_subset_of(self, *args): + """ + is_subset_of(self, aset) -> bool + """ + return _idaapi.areaset_t_is_subset_of(self, *args) + + def is_equal(self, *args): + """ + is_equal(self, aset) -> bool + """ + return _idaapi.areaset_t_is_equal(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, aset) -> bool + """ + return _idaapi.areaset_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, aset) -> bool + """ + return _idaapi.areaset_t___ne__(self, *args) + + def begin(self, *args): + """ + begin(self) -> areaset_t::const_iterator + begin(self) -> areaset_t::iterator + """ + return _idaapi.areaset_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> areaset_t::const_iterator + end(self) -> areaset_t::iterator + """ + return _idaapi.areaset_t_end(self, *args) + + def find_area(self, *args): + """ + find_area(self, ea) -> area_t + """ + return _idaapi.areaset_t_find_area(self, *args) + + def cached_area(self, *args): + """ + cached_area(self) -> area_t + """ + return _idaapi.areaset_t_cached_area(self, *args) + + def next_addr(self, *args): + """ + next_addr(self, ea) -> ea_t + """ + return _idaapi.areaset_t_next_addr(self, *args) + + def prev_addr(self, *args): + """ + prev_addr(self, ea) -> ea_t + """ + return _idaapi.areaset_t_prev_addr(self, *args) + + def next_area(self, *args): + """ + next_area(self, ea) -> ea_t + """ + return _idaapi.areaset_t_next_area(self, *args) + + def prev_area(self, *args): + """ + prev_area(self, ea) -> ea_t + """ + return _idaapi.areaset_t_prev_area(self, *args) + + __swig_destroy__ = _idaapi.delete_areaset_t + __del__ = lambda self : None; +areaset_t_swigregister = _idaapi.areaset_t_swigregister +areaset_t_swigregister(areaset_t) + +class area_visitor2_t(object): + """ + Proxy of C++ area_visitor2_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + def visit_area(self, *args): + """ + visit_area(self, a) -> int + """ + return _idaapi.area_visitor2_t_visit_area(self, *args) + + __swig_destroy__ = _idaapi.delete_area_visitor2_t + __del__ = lambda self : None; +area_visitor2_t_swigregister = _idaapi.area_visitor2_t_swigregister +area_visitor2_t_swigregister(area_visitor2_t) + +class areacb_t(object): + """ + Proxy of C++ areacb_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def zero(self, *args): + """ + zero(self) + """ + return _idaapi.areacb_t_zero(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> areacb_t + """ + this = _idaapi.new_areacb_t(*args) + try: self.this.append(this) + except: self.this = this + def terminate(self, *args): + """ + terminate(self) + """ + return _idaapi.areacb_t_terminate(self, *args) + + __swig_destroy__ = _idaapi.delete_areacb_t + __del__ = lambda self : None; + def get_netnode(self, *args): + """ + get_netnode(self) -> uval_t + """ + return _idaapi.areacb_t_get_netnode(self, *args) + + def save(self, *args): + """ + save(self) + """ + return _idaapi.areacb_t_save(self, *args) + + def link(self, *args): + """ + link(self, file, name, _infosize) -> bool + """ + return _idaapi.areacb_t_link(self, *args) + + def create(self, *args): + """ + create(self, file, name, _infosize) -> bool + """ + return _idaapi.areacb_t_create(self, *args) + + def kill(self, *args): + """ + kill(self) + """ + return _idaapi.areacb_t_kill(self, *args) + + def create_area(self, *args): + """ + create_area(self, info) -> bool + """ + return _idaapi.areacb_t_create_area(self, *args) + + def update(self, *args): + """ + update(self, info) -> bool + """ + return _idaapi.areacb_t_update(self, *args) + + def get_area(self, *args): + """ + get_area(self, ea) -> area_t + """ + return _idaapi.areacb_t_get_area(self, *args) + + def getn_area(self, *args): + """ + getn_area(self, n) -> area_t + """ + return _idaapi.areacb_t_getn_area(self, *args) + + def get_area_num(self, *args): + """ + get_area_num(self, ea) -> int + """ + return _idaapi.areacb_t_get_area_num(self, *args) + + def prepare_to_create(self, *args): + """ + prepare_to_create(self, start, end) -> ea_t + """ + return _idaapi.areacb_t_prepare_to_create(self, *args) + + def get_next_area(self, *args): + """ + get_next_area(self, ea) -> int + """ + return _idaapi.areacb_t_get_next_area(self, *args) + + def get_prev_area(self, *args): + """ + get_prev_area(self, ea) -> int + """ + return _idaapi.areacb_t_get_prev_area(self, *args) + + def next_area_ptr(self, *args): + """ + next_area_ptr(self, ea) -> area_t + """ + return _idaapi.areacb_t_next_area_ptr(self, *args) + + def prev_area_ptr(self, *args): + """ + prev_area_ptr(self, ea) -> area_t + """ + return _idaapi.areacb_t_prev_area_ptr(self, *args) + + def first_area_ptr(self, *args): + """ + first_area_ptr(self) -> area_t + """ + return _idaapi.areacb_t_first_area_ptr(self, *args) + + def last_area_ptr(self, *args): + """ + last_area_ptr(self) -> area_t + """ + return _idaapi.areacb_t_last_area_ptr(self, *args) + + def del_area(self, *args): + """ + del_area(self, ea, delcmt=True) -> bool + """ + return _idaapi.areacb_t_del_area(self, *args) + + def may_start_at(self, *args): + """ + may_start_at(self, n, newstart) -> bool + """ + return _idaapi.areacb_t_may_start_at(self, *args) + + def may_end_at(self, *args): + """ + may_end_at(self, n, newend) -> bool + """ + return _idaapi.areacb_t_may_end_at(self, *args) + + def set_start(self, *args): + """ + set_start(self, n, newstart) -> bool + """ + return _idaapi.areacb_t_set_start(self, *args) + + def set_end(self, *args): + """ + set_end(self, n, newend) -> bool + """ + return _idaapi.areacb_t_set_end(self, *args) + + def make_hole(self, *args): + """ + make_hole(self, ea1, ea2, create_tail_area) + """ + return _idaapi.areacb_t_make_hole(self, *args) + + def resize_areas(self, *args): + """ + resize_areas(self, n, newstart) -> bool + """ + return _idaapi.areacb_t_resize_areas(self, *args) + + def get_area_qty(self, *args): + """ + get_area_qty(self) -> uint + """ + return _idaapi.areacb_t_get_area_qty(self, *args) + + def set_area_cmt(self, *args): + """ + set_area_cmt(self, a, cmt, repeatable) -> bool + """ + return _idaapi.areacb_t_set_area_cmt(self, *args) + + def del_area_cmt(self, *args): + """ + del_area_cmt(self, a, repeatable) + """ + return _idaapi.areacb_t_del_area_cmt(self, *args) + + def get_area_cmt(self, *args): + """ + get_area_cmt(self, a, repeatable) -> char * + """ + return _idaapi.areacb_t_get_area_cmt(self, *args) + + def for_all_areas2(self, *args): + """ + for_all_areas2(self, ea1, ea2, av) -> int + """ + return _idaapi.areacb_t_for_all_areas2(self, *args) + + def may_lock_area(self, *args): + """ + may_lock_area(self, a) -> bool + """ + return _idaapi.areacb_t_may_lock_area(self, *args) + + def get_type(self, *args): + """ + get_type(self) -> areacb_type_t + """ + return _idaapi.areacb_t_get_type(self, *args) + +areacb_t_swigregister = _idaapi.areacb_t_swigregister +areacb_t_swigregister(areacb_t) + +class lock_area(object): + """ + Proxy of C++ lock_area class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, _cb, _area) -> lock_area + """ + this = _idaapi.new_lock_area(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_lock_area + __del__ = lambda self : None; +lock_area_swigregister = _idaapi.lock_area_swigregister +lock_area_swigregister(lock_area) + +class auto_display_t(object): + """ + Proxy of C++ auto_display_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + type = _swig_property(_idaapi.auto_display_t_type_get, _idaapi.auto_display_t_type_set) + ea = _swig_property(_idaapi.auto_display_t_ea_get, _idaapi.auto_display_t_ea_set) + state = _swig_property(_idaapi.auto_display_t_state_get, _idaapi.auto_display_t_state_set) + def __init__(self, *args): + """ + __init__(self) -> auto_display_t + """ + this = _idaapi.new_auto_display_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_auto_display_t + __del__ = lambda self : None; +auto_display_t_swigregister = _idaapi.auto_display_t_swigregister +auto_display_t_swigregister(auto_display_t) +AU_NONE = cvar.AU_NONE +AU_UNK = cvar.AU_UNK +AU_CODE = cvar.AU_CODE +AU_WEAK = cvar.AU_WEAK +AU_PROC = cvar.AU_PROC +AU_TAIL = cvar.AU_TAIL +AU_TRSP = cvar.AU_TRSP +AU_USED = cvar.AU_USED +AU_TYPE = cvar.AU_TYPE +AU_LIBF = cvar.AU_LIBF +AU_LBF2 = cvar.AU_LBF2 +AU_LBF3 = cvar.AU_LBF3 +AU_CHLB = cvar.AU_CHLB +AU_FINAL = cvar.AU_FINAL +st_Ready = cvar.st_Ready +st_Think = cvar.st_Think +st_Waiting = cvar.st_Waiting +st_Work = cvar.st_Work + + +def showAuto(*args): + """ + showAuto(ea, type=AU_NONE) + """ + return _idaapi.showAuto(*args) + +def showAddr(*args): + """ + showAddr(ea) + """ + return _idaapi.showAddr(*args) + +def setStat(*args): + """ + setStat(st) -> idastate_t + """ + return _idaapi.setStat(*args) + +def may_create_stkvars(*args): + """ + may_create_stkvars() -> bool + """ + return _idaapi.may_create_stkvars(*args) + +def may_trace_sp(*args): + """ + may_trace_sp() -> bool + """ + return _idaapi.may_trace_sp(*args) + +def auto_mark_range(*args): + """ + auto_mark_range(start, end, type) + """ + return _idaapi.auto_mark_range(*args) + +def autoMark(*args): + """ + autoMark(ea, type) + """ + return _idaapi.autoMark(*args) + +def autoUnmark(*args): + """ + autoUnmark(start, end, type) + """ + return _idaapi.autoUnmark(*args) + +def noUsed(*args): + """ + noUsed(ea) + noUsed(sEA, eEA) + """ + return _idaapi.noUsed(*args) + +def auto_make_code(*args): + """ + auto_make_code(ea) + """ + return _idaapi.auto_make_code(*args) + +def auto_make_proc(*args): + """ + auto_make_proc(ea) + """ + return _idaapi.auto_make_proc(*args) + +def reanalyze_callers(*args): + """ + reanalyze_callers(ea, noret) + """ + return _idaapi.reanalyze_callers(*args) + +def revert_ida_decisions(*args): + """ + revert_ida_decisions(ea1, ea2) + """ + return _idaapi.revert_ida_decisions(*args) + +def auto_apply_type(*args): + """ + auto_apply_type(caller, callee) + """ + return _idaapi.auto_apply_type(*args) + +def analyze_area(*args): + """ + analyze_area(sEA, eEA) -> int + """ + return _idaapi.analyze_area(*args) + +def autoWait(*args): + """ + autoWait() -> bool + """ + return _idaapi.autoWait(*args) + +def autoCancel(*args): + """ + autoCancel(ea1, ea2) + """ + return _idaapi.autoCancel(*args) + +def autoIsOk(*args): + """ + autoIsOk() -> bool + """ + return _idaapi.autoIsOk(*args) + +def autoStep(*args): + """ + autoStep() -> bool + """ + return _idaapi.autoStep(*args) + +def peek_auto_queue(*args): + """ + peek_auto_queue(low_ea, type) -> ea_t + """ + return _idaapi.peek_auto_queue(*args) + +def auto_get(*args): + """ + auto_get(lowEA, highEA, type) -> ea_t + """ + return _idaapi.auto_get(*args) + +def autoGetName(*args): + """ + autoGetName(type) -> char const * + """ + return _idaapi.autoGetName(*args) + +def enable_flags(*args): + """ + enable_flags(startEA, endEA, stt) -> error_t + """ + return _idaapi.enable_flags(*args) + +def disable_flags(*args): + """ + disable_flags(startEA, endEA) -> error_t + """ + return _idaapi.disable_flags(*args) + +def change_storage_type(*args): + """ + change_storage_type(startEA, endEA, stt) -> error_t + """ + return _idaapi.change_storage_type(*args) + +def nextaddr(*args): + """ + nextaddr(ea) -> ea_t + """ + return _idaapi.nextaddr(*args) + +def prevaddr(*args): + """ + prevaddr(ea) -> ea_t + """ + return _idaapi.prevaddr(*args) + +def nextchunk(*args): + """ + nextchunk(ea) -> ea_t + """ + return _idaapi.nextchunk(*args) + +def prevchunk(*args): + """ + prevchunk(ea) -> ea_t + """ + return _idaapi.prevchunk(*args) + +def chunkstart(*args): + """ + chunkstart(ea) -> ea_t + """ + return _idaapi.chunkstart(*args) + +def chunksize(*args): + """ + chunksize(ea) -> asize_t + """ + return _idaapi.chunksize(*args) + +def freechunk(*args): + """ + freechunk(bottom, size, step) -> ea_t + """ + return _idaapi.freechunk(*args) + +def next_unknown(*args): + """ + next_unknown(ea, maxea) -> ea_t + """ + return _idaapi.next_unknown(*args) + +def prev_unknown(*args): + """ + prev_unknown(ea, minea) -> ea_t + """ + return _idaapi.prev_unknown(*args) + +def prev_head(*args): + """ + prev_head(ea, minea) -> ea_t + """ + return _idaapi.prev_head(*args) + +def next_head(*args): + """ + next_head(ea, maxea) -> ea_t + """ + return _idaapi.next_head(*args) + +def prev_not_tail(*args): + """ + prev_not_tail(ea) -> ea_t + """ + return _idaapi.prev_not_tail(*args) + +def next_not_tail(*args): + """ + next_not_tail(ea) -> ea_t + """ + return _idaapi.next_not_tail(*args) + +def get_item_head(*args): + """ + get_item_head(ea) -> ea_t + """ + return _idaapi.get_item_head(*args) + +def get_item_end(*args): + """ + get_item_end(ea) -> ea_t + """ + return _idaapi.get_item_end(*args) + +def calc_max_item_end(*args): + """ + calc_max_item_end(ea, how=15) -> ea_t + """ + return _idaapi.calc_max_item_end(*args) +ITEM_END_FIXUP = _idaapi.ITEM_END_FIXUP +ITEM_END_INITED = _idaapi.ITEM_END_INITED +ITEM_END_NAME = _idaapi.ITEM_END_NAME +ITEM_END_XREF = _idaapi.ITEM_END_XREF + +def get_item_size(*args): + """ + get_item_size(ea) -> asize_t + """ + return _idaapi.get_item_size(*args) + +def isEnabled(*args): + """ + isEnabled(ea) -> bool + """ + return _idaapi.isEnabled(*args) + +def get_flags_ex(*args): + """ + get_flags_ex(ea, how) -> flags_t + """ + return _idaapi.get_flags_ex(*args) +GFE_NOVALUE = _idaapi.GFE_NOVALUE + +def get_flags_novalue(*args): + """ + get_flags_novalue(ea) -> flags_t + """ + return _idaapi.get_flags_novalue(*args) + +def getFlags(*args): + """ + getFlags(ea) -> flags_t + """ + return _idaapi.getFlags(*args) + +def get_item_flag(*args): + """ + get_item_flag(frm, n, ea, appzero) -> flags_t + """ + return _idaapi.get_item_flag(*args) + +def setFlags(*args): + """ + setFlags(ea, flags) + """ + return _idaapi.setFlags(*args) +MS_VAL = _idaapi.MS_VAL +FF_IVL = _idaapi.FF_IVL + +def hasValue(*args): + """ + hasValue(F) -> bool + """ + return _idaapi.hasValue(*args) + +def f_hasValue(*args): + """ + f_hasValue(f, arg2) -> bool + """ + return _idaapi.f_hasValue(*args) + +def delValue(*args): + """ + delValue(ea) + """ + return _idaapi.delValue(*args) + +def isLoaded(*args): + """ + isLoaded(ea) -> bool + """ + return _idaapi.isLoaded(*args) + +def nbits(*args): + """ + nbits(ea) -> int + """ + return _idaapi.nbits(*args) + +def bytesize(*args): + """ + bytesize(ea) -> int + """ + return _idaapi.bytesize(*args) + +def get_byte(*args): + """ + get_byte(ea) -> uchar + """ + return _idaapi.get_byte(*args) + +def get_db_byte(*args): + """ + get_db_byte(ea) -> uchar + """ + return _idaapi.get_db_byte(*args) + +def get_word(*args): + """ + get_word(ea) -> ushort + """ + return _idaapi.get_word(*args) + +def get_3byte(*args): + """ + get_3byte(ea) -> uint32 + """ + return _idaapi.get_3byte(*args) + +def get_long(*args): + """ + get_long(ea) -> uint32 + """ + return _idaapi.get_long(*args) + +def get_qword(*args): + """ + get_qword(ea) -> uint64 + """ + return _idaapi.get_qword(*args) + +def get_full_byte(*args): + """ + get_full_byte(ea) -> uint32 + """ + return _idaapi.get_full_byte(*args) + +def get_full_word(*args): + """ + get_full_word(ea) -> uint64 + """ + return _idaapi.get_full_word(*args) + +def get_full_long(*args): + """ + get_full_long(ea) -> uint64 + """ + return _idaapi.get_full_long(*args) + +def get_16bit(*args): + """ + get_16bit(ea) -> uint32 + """ + return _idaapi.get_16bit(*args) + +def get_32bit(*args): + """ + get_32bit(ea) -> uint32 + """ + return _idaapi.get_32bit(*args) + +def get_64bit(*args): + """ + get_64bit(ea) -> uint64 + """ + return _idaapi.get_64bit(*args) + +def get_data_value(*args): + """ + get_data_value(ea, v, size) -> bool + """ + return _idaapi.get_data_value(*args) + +def get_original_byte(*args): + """ + get_original_byte(ea) -> uint32 + """ + return _idaapi.get_original_byte(*args) + +def get_original_word(*args): + """ + get_original_word(ea) -> uint64 + """ + return _idaapi.get_original_word(*args) + +def get_original_long(*args): + """ + get_original_long(ea) -> uint64 + """ + return _idaapi.get_original_long(*args) + +def get_original_qword(*args): + """ + get_original_qword(ea) -> uint64 + """ + return _idaapi.get_original_qword(*args) + +def put_byte(*args): + """ + put_byte(ea, x) -> bool + """ + return _idaapi.put_byte(*args) + +def put_word(*args): + """ + put_word(ea, x) + """ + return _idaapi.put_word(*args) + +def put_long(*args): + """ + put_long(ea, x) + """ + return _idaapi.put_long(*args) + +def put_qword(*args): + """ + put_qword(ea, x) + """ + return _idaapi.put_qword(*args) + +def patch_byte(*args): + """ + patch_byte(ea, x) -> bool + """ + return _idaapi.patch_byte(*args) + +def patch_word(*args): + """ + patch_word(ea, x) -> bool + """ + return _idaapi.patch_word(*args) + +def patch_long(*args): + """ + patch_long(ea, x) -> bool + """ + return _idaapi.patch_long(*args) + +def patch_qword(*args): + """ + patch_qword(ea, x) -> bool + """ + return _idaapi.patch_qword(*args) + +def add_byte(*args): + """ + add_byte(ea, value) + """ + return _idaapi.add_byte(*args) + +def add_word(*args): + """ + add_word(ea, value) + """ + return _idaapi.add_word(*args) + +def add_long(*args): + """ + add_long(ea, value) + """ + return _idaapi.add_long(*args) + +def add_qword(*args): + """ + add_qword(ea, value) + """ + return _idaapi.add_qword(*args) + +def get_zero_areas(*args): + """ + get_zero_areas(zareas, range) -> bool + """ + return _idaapi.get_zero_areas(*args) + +def get_many_bytes_ex(*args): + """ + get_many_bytes_ex(ea, buf, size, mask) -> int + """ + return _idaapi.get_many_bytes_ex(*args) + +def put_many_bytes(*args): + """ + put_many_bytes(ea, buf) + """ + return _idaapi.put_many_bytes(*args) + +def patch_many_bytes(*args): + """ + patch_many_bytes(ea, buf) + """ + return _idaapi.patch_many_bytes(*args) +MS_CLS = _idaapi.MS_CLS +FF_CODE = _idaapi.FF_CODE +FF_DATA = _idaapi.FF_DATA +FF_TAIL = _idaapi.FF_TAIL +FF_UNK = _idaapi.FF_UNK + +def isCode(*args): + """ + isCode(F) -> bool + """ + return _idaapi.isCode(*args) + +def f_isCode(*args): + """ + f_isCode(F, arg2) -> bool + """ + return _idaapi.f_isCode(*args) + +def isData(*args): + """ + isData(F) -> bool + """ + return _idaapi.isData(*args) + +def f_isData(*args): + """ + f_isData(F, arg2) -> bool + """ + return _idaapi.f_isData(*args) + +def isTail(*args): + """ + isTail(F) -> bool + """ + return _idaapi.isTail(*args) + +def f_isTail(*args): + """ + f_isTail(F, arg2) -> bool + """ + return _idaapi.f_isTail(*args) + +def isNotTail(*args): + """ + isNotTail(F) -> bool + """ + return _idaapi.isNotTail(*args) + +def f_isNotTail(*args): + """ + f_isNotTail(F, arg2) -> bool + """ + return _idaapi.f_isNotTail(*args) + +def isUnknown(*args): + """ + isUnknown(F) -> bool + """ + return _idaapi.isUnknown(*args) + +def isHead(*args): + """ + isHead(F) -> bool + """ + return _idaapi.isHead(*args) + +def f_isHead(*args): + """ + f_isHead(F, arg2) -> bool + """ + return _idaapi.f_isHead(*args) + +def do_unknown(*args): + """ + do_unknown(ea, flags) -> bool + """ + return _idaapi.do_unknown(*args) +DOUNK_SIMPLE = _idaapi.DOUNK_SIMPLE +DOUNK_EXPAND = _idaapi.DOUNK_EXPAND +DOUNK_DELNAMES = _idaapi.DOUNK_DELNAMES +DOUNK_NOTRUNC = _idaapi.DOUNK_NOTRUNC + +def do_unknown_range(*args): + """ + do_unknown_range(ea, size, flags) + """ + return _idaapi.do_unknown_range(*args) + +def is_manual_insn(*args): + """ + is_manual_insn(ea) -> bool + """ + return _idaapi.is_manual_insn(*args) + +def get_manual_insn(*args): + """ + get_manual_insn(ea) -> char * + """ + return _idaapi.get_manual_insn(*args) + +def set_manual_insn(*args): + """ + set_manual_insn(ea, manual_insn) + """ + return _idaapi.set_manual_insn(*args) +MS_COMM = _idaapi.MS_COMM +FF_COMM = _idaapi.FF_COMM +FF_REF = _idaapi.FF_REF +FF_LINE = _idaapi.FF_LINE +FF_NAME = _idaapi.FF_NAME +FF_LABL = _idaapi.FF_LABL +FF_FLOW = _idaapi.FF_FLOW +FF_SIGN = _idaapi.FF_SIGN +FF_BNOT = _idaapi.FF_BNOT +FF_VAR = _idaapi.FF_VAR + +def isFlow(*args): + """ + isFlow(F) -> bool + """ + return _idaapi.isFlow(*args) + +def isVar(*args): + """ + isVar(F) -> bool + """ + return _idaapi.isVar(*args) + +def hasExtra(*args): + """ + hasExtra(F) -> bool + """ + return _idaapi.hasExtra(*args) + +def has_cmt(*args): + """ + has_cmt(F) -> bool + """ + return _idaapi.has_cmt(*args) + +def hasRef(*args): + """ + hasRef(F) -> bool + """ + return _idaapi.hasRef(*args) + +def f_hasRef(*args): + """ + f_hasRef(f, arg2) -> bool + """ + return _idaapi.f_hasRef(*args) + +def has_name(*args): + """ + has_name(F) -> bool + """ + return _idaapi.has_name(*args) + +def f_has_name(*args): + """ + f_has_name(f, arg2) -> bool + """ + return _idaapi.f_has_name(*args) +FF_ANYNAME = _idaapi.FF_ANYNAME + +def has_dummy_name(*args): + """ + has_dummy_name(F) -> bool + """ + return _idaapi.has_dummy_name(*args) + +def f_has_dummy_name(*args): + """ + f_has_dummy_name(f, arg2) -> bool + """ + return _idaapi.f_has_dummy_name(*args) + +def has_auto_name(*args): + """ + has_auto_name(F) -> bool + """ + return _idaapi.has_auto_name(*args) + +def has_any_name(*args): + """ + has_any_name(F) -> bool + """ + return _idaapi.has_any_name(*args) + +def has_user_name(*args): + """ + has_user_name(F) -> bool + """ + return _idaapi.has_user_name(*args) + +def f_has_user_name(*args): + """ + f_has_user_name(F, arg2) -> bool + """ + return _idaapi.f_has_user_name(*args) + +def is_invsign(*args): + """ + is_invsign(ea, F, n) -> bool + """ + return _idaapi.is_invsign(*args) + +def toggle_sign(*args): + """ + toggle_sign(ea, n) -> bool + """ + return _idaapi.toggle_sign(*args) + +def signed_data_flag(*args): + """ + signed_data_flag() -> flags_t + """ + return _idaapi.signed_data_flag(*args) + +def is_signed_data(*args): + """ + is_signed_data(F) -> bool + """ + return _idaapi.is_signed_data(*args) + +def is_bnot(*args): + """ + is_bnot(ea, F, n) -> bool + """ + return _idaapi.is_bnot(*args) + +def toggle_bnot(*args): + """ + toggle_bnot(ea, n) -> bool + """ + return _idaapi.toggle_bnot(*args) + +def bnot_data_flag(*args): + """ + bnot_data_flag() -> flags_t + """ + return _idaapi.bnot_data_flag(*args) + +def is_bnot_data(*args): + """ + is_bnot_data(F) -> bool + """ + return _idaapi.is_bnot_data(*args) + +def is_lzero(*args): + """ + is_lzero(ea, n) -> bool + """ + return _idaapi.is_lzero(*args) + +def set_lzero(*args): + """ + set_lzero(ea, n) -> bool + """ + return _idaapi.set_lzero(*args) + +def clr_lzero(*args): + """ + clr_lzero(ea, n) -> bool + """ + return _idaapi.clr_lzero(*args) + +def toggle_lzero(*args): + """ + toggle_lzero(ea, n) -> bool + """ + return _idaapi.toggle_lzero(*args) + +def leading_zero_important(*args): + """ + leading_zero_important(ea, n) -> bool + """ + return _idaapi.leading_zero_important(*args) + +def doVar(*args): + """ + doVar(ea, isvar=True) + """ + return _idaapi.doVar(*args) +MS_0TYPE = _idaapi.MS_0TYPE +FF_0VOID = _idaapi.FF_0VOID +FF_0NUMH = _idaapi.FF_0NUMH +FF_0NUMD = _idaapi.FF_0NUMD +FF_0CHAR = _idaapi.FF_0CHAR +FF_0SEG = _idaapi.FF_0SEG +FF_0OFF = _idaapi.FF_0OFF +FF_0NUMB = _idaapi.FF_0NUMB +FF_0NUMO = _idaapi.FF_0NUMO +FF_0ENUM = _idaapi.FF_0ENUM +FF_0FOP = _idaapi.FF_0FOP +FF_0STRO = _idaapi.FF_0STRO +FF_0STK = _idaapi.FF_0STK +FF_0FLT = _idaapi.FF_0FLT +FF_0CUST = _idaapi.FF_0CUST +MS_1TYPE = _idaapi.MS_1TYPE +FF_1VOID = _idaapi.FF_1VOID +FF_1NUMH = _idaapi.FF_1NUMH +FF_1NUMD = _idaapi.FF_1NUMD +FF_1CHAR = _idaapi.FF_1CHAR +FF_1SEG = _idaapi.FF_1SEG +FF_1OFF = _idaapi.FF_1OFF +FF_1NUMB = _idaapi.FF_1NUMB +FF_1NUMO = _idaapi.FF_1NUMO +FF_1ENUM = _idaapi.FF_1ENUM +FF_1FOP = _idaapi.FF_1FOP +FF_1STRO = _idaapi.FF_1STRO +FF_1STK = _idaapi.FF_1STK +FF_1FLT = _idaapi.FF_1FLT +FF_1CUST = _idaapi.FF_1CUST + +def isDefArg0(*args): + """ + isDefArg0(F) -> bool + """ + return _idaapi.isDefArg0(*args) + +def isDefArg1(*args): + """ + isDefArg1(F) -> bool + """ + return _idaapi.isDefArg1(*args) + +def isOff0(*args): + """ + isOff0(F) -> bool + """ + return _idaapi.isOff0(*args) + +def isOff1(*args): + """ + isOff1(F) -> bool + """ + return _idaapi.isOff1(*args) + +def isChar0(*args): + """ + isChar0(F) -> bool + """ + return _idaapi.isChar0(*args) + +def isChar1(*args): + """ + isChar1(F) -> bool + """ + return _idaapi.isChar1(*args) + +def isSeg0(*args): + """ + isSeg0(F) -> bool + """ + return _idaapi.isSeg0(*args) + +def isSeg1(*args): + """ + isSeg1(F) -> bool + """ + return _idaapi.isSeg1(*args) + +def isEnum0(*args): + """ + isEnum0(F) -> bool + """ + return _idaapi.isEnum0(*args) + +def isEnum1(*args): + """ + isEnum1(F) -> bool + """ + return _idaapi.isEnum1(*args) + +def isFop0(*args): + """ + isFop0(F) -> bool + """ + return _idaapi.isFop0(*args) + +def isFop1(*args): + """ + isFop1(F) -> bool + """ + return _idaapi.isFop1(*args) + +def isStroff0(*args): + """ + isStroff0(F) -> bool + """ + return _idaapi.isStroff0(*args) + +def isStroff1(*args): + """ + isStroff1(F) -> bool + """ + return _idaapi.isStroff1(*args) + +def isStkvar0(*args): + """ + isStkvar0(F) -> bool + """ + return _idaapi.isStkvar0(*args) + +def isStkvar1(*args): + """ + isStkvar1(F) -> bool + """ + return _idaapi.isStkvar1(*args) + +def isFloat0(*args): + """ + isFloat0(F) -> bool + """ + return _idaapi.isFloat0(*args) + +def isFloat1(*args): + """ + isFloat1(F) -> bool + """ + return _idaapi.isFloat1(*args) + +def isCustFmt0(*args): + """ + isCustFmt0(F) -> bool + """ + return _idaapi.isCustFmt0(*args) + +def isCustFmt1(*args): + """ + isCustFmt1(F) -> bool + """ + return _idaapi.isCustFmt1(*args) + +def isNum0(*args): + """ + isNum0(F) -> bool + """ + return _idaapi.isNum0(*args) + +def isNum1(*args): + """ + isNum1(F) -> bool + """ + return _idaapi.isNum1(*args) + +def get_optype_flags0(*args): + """ + get_optype_flags0(F) -> flags_t + """ + return _idaapi.get_optype_flags0(*args) + +def get_optype_flags1(*args): + """ + get_optype_flags1(F) -> flags_t + """ + return _idaapi.get_optype_flags1(*args) +OPND_OUTER = _idaapi.OPND_OUTER +OPND_MASK = _idaapi.OPND_MASK +OPND_ALL = _idaapi.OPND_ALL + +def isDefArg(*args): + """ + isDefArg(F, n) -> bool + """ + return _idaapi.isDefArg(*args) + +def isOff(*args): + """ + isOff(F, n) -> bool + """ + return _idaapi.isOff(*args) + +def isChar(*args): + """ + isChar(F, n) -> bool + """ + return _idaapi.isChar(*args) + +def isSeg(*args): + """ + isSeg(F, n) -> bool + """ + return _idaapi.isSeg(*args) + +def isEnum(*args): + """ + isEnum(F, n) -> bool + """ + return _idaapi.isEnum(*args) + +def isFop(*args): + """ + isFop(F, n) -> bool + """ + return _idaapi.isFop(*args) + +def isStroff(*args): + """ + isStroff(F, n) -> bool + """ + return _idaapi.isStroff(*args) + +def isStkvar(*args): + """ + isStkvar(F, n) -> bool + """ + return _idaapi.isStkvar(*args) + +def isFltnum(*args): + """ + isFltnum(F, n) -> bool + """ + return _idaapi.isFltnum(*args) + +def isCustFmt(*args): + """ + isCustFmt(F, n) -> bool + """ + return _idaapi.isCustFmt(*args) + +def isNum(*args): + """ + isNum(F, n) -> bool + """ + return _idaapi.isNum(*args) + +def isVoid(*args): + """ + isVoid(ea, F, n) -> bool + """ + return _idaapi.isVoid(*args) + +def op_adds_xrefs(*args): + """ + op_adds_xrefs(F, n) -> bool + """ + return _idaapi.op_adds_xrefs(*args) + +def set_op_type(*args): + """ + set_op_type(ea, type, n) -> bool + """ + return _idaapi.set_op_type(*args) + +def typeflag(*args): + """ + typeflag(ea, oldflag, type, n) -> flags_t + """ + return _idaapi.typeflag(*args) + +def op_seg(*args): + """ + op_seg(ea, n) -> bool + """ + return _idaapi.op_seg(*args) + +def op_enum(*args): + """ + op_enum(ea, n, id, serial) -> bool + """ + return _idaapi.op_enum(*args) + +def get_enum_id(*args): + """ + get_enum_id(ea, n) -> enum_t + """ + return _idaapi.get_enum_id(*args) + +def op_stroff(*args): + """ + op_stroff(ea, n, path, path_len, delta) -> bool + """ + return _idaapi.op_stroff(*args) + +def get_stroff_path(*args): + """ + get_stroff_path(ea, n, path, delta) -> int + """ + return _idaapi.get_stroff_path(*args) + +def op_stkvar(*args): + """ + op_stkvar(ea, n) -> bool + """ + return _idaapi.op_stkvar(*args) + +def set_forced_operand(*args): + """ + set_forced_operand(ea, n, op) -> bool + """ + return _idaapi.set_forced_operand(*args) + +def get_forced_operand(*args): + """ + get_forced_operand(ea, n) -> ssize_t + """ + return _idaapi.get_forced_operand(*args) + +def is_forced_operand(*args): + """ + is_forced_operand(ea, n) -> bool + """ + return _idaapi.is_forced_operand(*args) + +def charflag(*args): + """ + charflag() -> flags_t + """ + return _idaapi.charflag(*args) + +def offflag(*args): + """ + offflag() -> flags_t + """ + return _idaapi.offflag(*args) + +def enumflag(*args): + """ + enumflag() -> flags_t + """ + return _idaapi.enumflag(*args) + +def stroffflag(*args): + """ + stroffflag() -> flags_t + """ + return _idaapi.stroffflag(*args) + +def stkvarflag(*args): + """ + stkvarflag() -> flags_t + """ + return _idaapi.stkvarflag(*args) + +def fltflag(*args): + """ + fltflag() -> flags_t + """ + return _idaapi.fltflag(*args) + +def custfmtflag(*args): + """ + custfmtflag() -> flags_t + """ + return _idaapi.custfmtflag(*args) + +def segflag(*args): + """ + segflag() -> flags_t + """ + return _idaapi.segflag(*args) + +def numflag(*args): + """ + numflag() -> flags_t + """ + return _idaapi.numflag(*args) + +def hexflag(*args): + """ + hexflag() -> flags_t + """ + return _idaapi.hexflag(*args) + +def decflag(*args): + """ + decflag() -> flags_t + """ + return _idaapi.decflag(*args) + +def octflag(*args): + """ + octflag() -> flags_t + """ + return _idaapi.octflag(*args) + +def binflag(*args): + """ + binflag() -> flags_t + """ + return _idaapi.binflag(*args) + +def op_chr(*args): + """ + op_chr(ea, n) -> bool + """ + return _idaapi.op_chr(*args) + +def op_num(*args): + """ + op_num(ea, n) -> bool + """ + return _idaapi.op_num(*args) + +def op_hex(*args): + """ + op_hex(ea, n) -> bool + """ + return _idaapi.op_hex(*args) + +def op_dec(*args): + """ + op_dec(ea, n) -> bool + """ + return _idaapi.op_dec(*args) + +def op_oct(*args): + """ + op_oct(ea, n) -> bool + """ + return _idaapi.op_oct(*args) + +def op_bin(*args): + """ + op_bin(ea, n) -> bool + """ + return _idaapi.op_bin(*args) + +def op_flt(*args): + """ + op_flt(ea, n) -> bool + """ + return _idaapi.op_flt(*args) + +def op_custfmt(*args): + """ + op_custfmt(ea, n, fid) -> bool + """ + return _idaapi.op_custfmt(*args) + +def noType(*args): + """ + noType(ea, n) -> bool + """ + return _idaapi.noType(*args) + +def getDefaultRadix(*args): + """ + getDefaultRadix() -> int + """ + return _idaapi.getDefaultRadix(*args) + +def getRadix(*args): + """ + getRadix(F, n) -> int + """ + return _idaapi.getRadix(*args) + +def getRadixEA(*args): + """ + getRadixEA(ea, n) -> int + """ + return _idaapi.getRadixEA(*args) +DT_TYPE = _idaapi.DT_TYPE +FF_BYTE = _idaapi.FF_BYTE +FF_WORD = _idaapi.FF_WORD +FF_DWRD = _idaapi.FF_DWRD +FF_QWRD = _idaapi.FF_QWRD +FF_TBYT = _idaapi.FF_TBYT +FF_ASCI = _idaapi.FF_ASCI +FF_STRU = _idaapi.FF_STRU +FF_OWRD = _idaapi.FF_OWRD +FF_FLOAT = _idaapi.FF_FLOAT +FF_DOUBLE = _idaapi.FF_DOUBLE +FF_PACKREAL = _idaapi.FF_PACKREAL +FF_ALIGN = _idaapi.FF_ALIGN +FF_3BYTE = _idaapi.FF_3BYTE +FF_CUSTOM = _idaapi.FF_CUSTOM +FF_YWRD = _idaapi.FF_YWRD + +def codeflag(*args): + """ + codeflag() -> flags_t + """ + return _idaapi.codeflag(*args) + +def byteflag(*args): + """ + byteflag() -> flags_t + """ + return _idaapi.byteflag(*args) + +def wordflag(*args): + """ + wordflag() -> flags_t + """ + return _idaapi.wordflag(*args) + +def dwrdflag(*args): + """ + dwrdflag() -> flags_t + """ + return _idaapi.dwrdflag(*args) + +def qwrdflag(*args): + """ + qwrdflag() -> flags_t + """ + return _idaapi.qwrdflag(*args) + +def owrdflag(*args): + """ + owrdflag() -> flags_t + """ + return _idaapi.owrdflag(*args) + +def ywrdflag(*args): + """ + ywrdflag() -> flags_t + """ + return _idaapi.ywrdflag(*args) + +def tbytflag(*args): + """ + tbytflag() -> flags_t + """ + return _idaapi.tbytflag(*args) + +def asciflag(*args): + """ + asciflag() -> flags_t + """ + return _idaapi.asciflag(*args) + +def struflag(*args): + """ + struflag() -> flags_t + """ + return _idaapi.struflag(*args) + +def custflag(*args): + """ + custflag() -> flags_t + """ + return _idaapi.custflag(*args) + +def alignflag(*args): + """ + alignflag() -> flags_t + """ + return _idaapi.alignflag(*args) + +def floatflag(*args): + """ + floatflag() -> flags_t + """ + return _idaapi.floatflag(*args) + +def doubleflag(*args): + """ + doubleflag() -> flags_t + """ + return _idaapi.doubleflag(*args) + +def tribyteflag(*args): + """ + tribyteflag() -> flags_t + """ + return _idaapi.tribyteflag(*args) + +def packrealflag(*args): + """ + packrealflag() -> flags_t + """ + return _idaapi.packrealflag(*args) + +def isByte(*args): + """ + isByte(F) -> bool + """ + return _idaapi.isByte(*args) + +def isWord(*args): + """ + isWord(F) -> bool + """ + return _idaapi.isWord(*args) + +def isDwrd(*args): + """ + isDwrd(F) -> bool + """ + return _idaapi.isDwrd(*args) + +def isQwrd(*args): + """ + isQwrd(F) -> bool + """ + return _idaapi.isQwrd(*args) + +def isOwrd(*args): + """ + isOwrd(F) -> bool + """ + return _idaapi.isOwrd(*args) + +def isYwrd(*args): + """ + isYwrd(F) -> bool + """ + return _idaapi.isYwrd(*args) + +def isTbyt(*args): + """ + isTbyt(F) -> bool + """ + return _idaapi.isTbyt(*args) + +def isFloat(*args): + """ + isFloat(F) -> bool + """ + return _idaapi.isFloat(*args) + +def isDouble(*args): + """ + isDouble(F) -> bool + """ + return _idaapi.isDouble(*args) + +def isPackReal(*args): + """ + isPackReal(F) -> bool + """ + return _idaapi.isPackReal(*args) + +def isASCII(*args): + """ + isASCII(F) -> bool + """ + return _idaapi.isASCII(*args) + +def isStruct(*args): + """ + isStruct(F) -> bool + """ + return _idaapi.isStruct(*args) + +def isAlign(*args): + """ + isAlign(F) -> bool + """ + return _idaapi.isAlign(*args) + +def is3byte(*args): + """ + is3byte(F) -> bool + """ + return _idaapi.is3byte(*args) + +def isCustom(*args): + """ + isCustom(F) -> bool + """ + return _idaapi.isCustom(*args) + +def f_isByte(*args): + """ + f_isByte(F, arg2) -> bool + """ + return _idaapi.f_isByte(*args) + +def f_isWord(*args): + """ + f_isWord(F, arg2) -> bool + """ + return _idaapi.f_isWord(*args) + +def f_isDwrd(*args): + """ + f_isDwrd(F, arg2) -> bool + """ + return _idaapi.f_isDwrd(*args) + +def f_isQwrd(*args): + """ + f_isQwrd(F, arg2) -> bool + """ + return _idaapi.f_isQwrd(*args) + +def f_isOwrd(*args): + """ + f_isOwrd(F, arg2) -> bool + """ + return _idaapi.f_isOwrd(*args) + +def f_isYwrd(*args): + """ + f_isYwrd(F, arg2) -> bool + """ + return _idaapi.f_isYwrd(*args) + +def f_isTbyt(*args): + """ + f_isTbyt(F, arg2) -> bool + """ + return _idaapi.f_isTbyt(*args) + +def f_isFloat(*args): + """ + f_isFloat(F, arg2) -> bool + """ + return _idaapi.f_isFloat(*args) + +def f_isDouble(*args): + """ + f_isDouble(F, arg2) -> bool + """ + return _idaapi.f_isDouble(*args) + +def f_isPackReal(*args): + """ + f_isPackReal(F, arg2) -> bool + """ + return _idaapi.f_isPackReal(*args) + +def f_isASCII(*args): + """ + f_isASCII(F, arg2) -> bool + """ + return _idaapi.f_isASCII(*args) + +def f_isStruct(*args): + """ + f_isStruct(F, arg2) -> bool + """ + return _idaapi.f_isStruct(*args) + +def f_isAlign(*args): + """ + f_isAlign(F, arg2) -> bool + """ + return _idaapi.f_isAlign(*args) + +def f_is3byte(*args): + """ + f_is3byte(F, arg2) -> bool + """ + return _idaapi.f_is3byte(*args) + +def f_isCustom(*args): + """ + f_isCustom(F, arg2) -> bool + """ + return _idaapi.f_isCustom(*args) + +def is_same_data_type(*args): + """ + is_same_data_type(F1, F2) -> bool + """ + return _idaapi.is_same_data_type(*args) + +def get_flags_by_size(*args): + """ + get_flags_by_size(size) -> flags_t + """ + return _idaapi.get_flags_by_size(*args) + +def do_data_ex(*args): + """ + do_data_ex(ea, dataflag, size, tid) -> bool + """ + return _idaapi.do_data_ex(*args) + +def doByte(*args): + """ + doByte(ea, length) -> bool + """ + return _idaapi.doByte(*args) + +def doWord(*args): + """ + doWord(ea, length) -> bool + """ + return _idaapi.doWord(*args) + +def doDwrd(*args): + """ + doDwrd(ea, length) -> bool + """ + return _idaapi.doDwrd(*args) + +def doQwrd(*args): + """ + doQwrd(ea, length) -> bool + """ + return _idaapi.doQwrd(*args) + +def doOwrd(*args): + """ + doOwrd(ea, length) -> bool + """ + return _idaapi.doOwrd(*args) + +def doYwrd(*args): + """ + doYwrd(ea, length) -> bool + """ + return _idaapi.doYwrd(*args) + +def doTbyt(*args): + """ + doTbyt(ea, length) -> bool + """ + return _idaapi.doTbyt(*args) + +def doFloat(*args): + """ + doFloat(ea, length) -> bool + """ + return _idaapi.doFloat(*args) + +def doDouble(*args): + """ + doDouble(ea, length) -> bool + """ + return _idaapi.doDouble(*args) + +def doPackReal(*args): + """ + doPackReal(ea, length) -> bool + """ + return _idaapi.doPackReal(*args) + +def doASCI(*args): + """ + doASCI(ea, length) -> bool + """ + return _idaapi.doASCI(*args) + +def do3byte(*args): + """ + do3byte(ea, length) -> bool + """ + return _idaapi.do3byte(*args) + +def doStruct(*args): + """ + doStruct(ea, length, tid) -> bool + """ + return _idaapi.doStruct(*args) + +def doCustomData(*args): + """ + doCustomData(ea, length, dtid, fid) -> bool + """ + return _idaapi.doCustomData(*args) + +def doAlign(*args): + """ + doAlign(ea, length, alignment) -> bool + """ + return _idaapi.doAlign(*args) + +def calc_min_align(*args): + """ + calc_min_align(length) -> int + """ + return _idaapi.calc_min_align(*args) + +def calc_max_align(*args): + """ + calc_max_align(endea) -> int + """ + return _idaapi.calc_max_align(*args) + +def calc_def_align(*args): + """ + calc_def_align(ea, mina, maxa) -> int + """ + return _idaapi.calc_def_align(*args) + +def do16bit(*args): + """ + do16bit(ea, length) -> bool + """ + return _idaapi.do16bit(*args) + +def do32bit(*args): + """ + do32bit(ea, length) -> bool + """ + return _idaapi.do32bit(*args) +ALOPT_IGNHEADS = _idaapi.ALOPT_IGNHEADS +ALOPT_IGNPRINT = _idaapi.ALOPT_IGNPRINT + +def get_max_ascii_length(*args): + """ + get_max_ascii_length(ea, strtype, options=0) -> size_t + """ + return _idaapi.get_max_ascii_length(*args) +ACFOPT_ASCII = _idaapi.ACFOPT_ASCII +ACFOPT_UTF16 = _idaapi.ACFOPT_UTF16 +ACFOPT_UTF8 = _idaapi.ACFOPT_UTF8 +ACFOPT_CONVMASK = _idaapi.ACFOPT_CONVMASK +ACFOPT_ESCAPE = _idaapi.ACFOPT_ESCAPE + +def make_ascii_string(*args): + """ + make_ascii_string(start, len, strtype) -> bool + """ + return _idaapi.make_ascii_string(*args) + +def print_ascii_string_type(*args): + """ + print_ascii_string_type(strtype) -> char * + """ + return _idaapi.print_ascii_string_type(*args) + +def get_opinfo(*args): + """ + get_opinfo(ea, n, flags, buf) -> opinfo_t + """ + return _idaapi.get_opinfo(*args) + +def set_opinfo(*args): + """ + set_opinfo(ea, n, flag, ti) -> bool + """ + return _idaapi.set_opinfo(*args) + +def get_data_elsize(*args): + """ + get_data_elsize(ea, F, ti=None) -> asize_t + """ + return _idaapi.get_data_elsize(*args) + +def get_full_data_elsize(*args): + """ + get_full_data_elsize(ea, F, ti=None) -> asize_t + """ + return _idaapi.get_full_data_elsize(*args) + +def is_varsize_item(*args): + """ + is_varsize_item(ea, F, ti=None, itemsize=None) -> int + """ + return _idaapi.is_varsize_item(*args) + +def can_define_item(*args): + """ + can_define_item(ea, length, flags) -> bool + """ + return _idaapi.can_define_item(*args) +MS_CODE = _idaapi.MS_CODE +FF_FUNC = _idaapi.FF_FUNC +FF_IMMD = _idaapi.FF_IMMD +FF_JUMP = _idaapi.FF_JUMP + +def isImmd(*args): + """ + isImmd(F) -> bool + """ + return _idaapi.isImmd(*args) + +def isFunc(*args): + """ + isFunc(F) -> bool + """ + return _idaapi.isFunc(*args) + +def doImmd(*args): + """ + doImmd(ea) -> bool + """ + return _idaapi.doImmd(*args) + +def noImmd(*args): + """ + noImmd(ea) -> bool + """ + return _idaapi.noImmd(*args) +MS_TAIL = _idaapi.MS_TAIL +TL_TSFT = _idaapi.TL_TSFT +TL_TOFF = _idaapi.TL_TOFF +MAX_TOFF = _idaapi.MAX_TOFF + +def gettof(*args): + """ + gettof(F) -> ushort + """ + return _idaapi.gettof(*args) + +def get_custom_data_types(*args): + """ + get_custom_data_types(out, min_size=0, max_size=BADADDR) -> int + """ + return _idaapi.get_custom_data_types(*args) + +def get_custom_data_formats(*args): + """ + get_custom_data_formats(out, dtid) -> int + """ + return _idaapi.get_custom_data_formats(*args) + +def find_custom_data_type(*args): + """ + find_custom_data_type(name) -> int + """ + return _idaapi.find_custom_data_type(*args) + +def find_custom_data_format(*args): + """ + find_custom_data_format(name) -> int + """ + return _idaapi.find_custom_data_format(*args) + +def set_cmt(*args): + """ + set_cmt(ea, comm, rptble) -> bool + """ + return _idaapi.set_cmt(*args) + +def get_cmt(*args): + """ + get_cmt(ea, rptble) -> ssize_t + """ + return _idaapi.get_cmt(*args) + +def append_cmt(*args): + """ + append_cmt(ea, str, rptble) -> bool + """ + return _idaapi.append_cmt(*args) + +def find_byte(*args): + """ + find_byte(sEA, size, value, bin_search_flags) -> ea_t + """ + return _idaapi.find_byte(*args) + +def find_byter(*args): + """ + find_byter(sEA, size, value, bin_search_flags) -> ea_t + """ + return _idaapi.find_byter(*args) + +def bin_search(*args): + """ + bin_search(startEA, endEA, image, mask, len, step, flags) -> ea_t + """ + return _idaapi.bin_search(*args) +BIN_SEARCH_FORWARD = _idaapi.BIN_SEARCH_FORWARD +BIN_SEARCH_BACKWARD = _idaapi.BIN_SEARCH_BACKWARD +BIN_SEARCH_CASE = _idaapi.BIN_SEARCH_CASE +BIN_SEARCH_NOCASE = _idaapi.BIN_SEARCH_NOCASE +BIN_SEARCH_NOBREAK = _idaapi.BIN_SEARCH_NOBREAK + +def equal_bytes(*args): + """ + equal_bytes(ea, image, mask, len, sense_case) -> bool + """ + return _idaapi.equal_bytes(*args) +class hidden_area_t(area_t): + """ + Proxy of C++ hidden_area_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + description = _swig_property(_idaapi.hidden_area_t_description_get, _idaapi.hidden_area_t_description_set) + header = _swig_property(_idaapi.hidden_area_t_header_get, _idaapi.hidden_area_t_header_set) + footer = _swig_property(_idaapi.hidden_area_t_footer_get, _idaapi.hidden_area_t_footer_set) + visible = _swig_property(_idaapi.hidden_area_t_visible_get, _idaapi.hidden_area_t_visible_set) + color = _swig_property(_idaapi.hidden_area_t_color_get, _idaapi.hidden_area_t_color_set) + def __init__(self, *args): + """ + __init__(self) -> hidden_area_t + """ + this = _idaapi.new_hidden_area_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_hidden_area_t + __del__ = lambda self : None; +hidden_area_t_swigregister = _idaapi.hidden_area_t_swigregister +hidden_area_t_swigregister(hidden_area_t) + + +def update_hidden_area(*args): + """ + update_hidden_area(ha) -> bool + """ + return _idaapi.update_hidden_area(*args) + +def add_hidden_area(*args): + """ + add_hidden_area(ea1, ea2, description, header, footer, color) -> bool + """ + return _idaapi.add_hidden_area(*args) + +def get_hidden_area(*args): + """ + get_hidden_area(ea) -> hidden_area_t + """ + return _idaapi.get_hidden_area(*args) + +def getn_hidden_area(*args): + """ + getn_hidden_area(n) -> hidden_area_t + """ + return _idaapi.getn_hidden_area(*args) + +def get_hidden_area_qty(*args): + """ + get_hidden_area_qty() -> int + """ + return _idaapi.get_hidden_area_qty(*args) + +def get_hidden_area_num(*args): + """ + get_hidden_area_num(ea) -> int + """ + return _idaapi.get_hidden_area_num(*args) + +def get_prev_hidden_area(*args): + """ + get_prev_hidden_area(ea) -> hidden_area_t + """ + return _idaapi.get_prev_hidden_area(*args) + +def get_next_hidden_area(*args): + """ + get_next_hidden_area(ea) -> hidden_area_t + """ + return _idaapi.get_next_hidden_area(*args) + +def del_hidden_area(*args): + """ + del_hidden_area(ea) -> bool + """ + return _idaapi.del_hidden_area(*args) + +def doExtra(*args): + """ + doExtra(ea) -> bool + """ + return _idaapi.doExtra(*args) + +def noExtra(*args): + """ + noExtra(ea) -> bool + """ + return _idaapi.noExtra(*args) + +def get_data_type_size(*args): + """ + get_data_type_size(F, ti) -> asize_t + """ + return _idaapi.get_data_type_size(*args) + +def f_isUnknown(*args): + """ + f_isUnknown(F, arg2) -> bool + """ + return _idaapi.f_isUnknown(*args) + +def get_typeinfo(*args): + """ + get_typeinfo(ea, n, flags, buf) -> opinfo_t + """ + return _idaapi.get_typeinfo(*args) + +def set_typeinfo(*args): + """ + set_typeinfo(ea, n, flag, ti) -> bool + """ + return _idaapi.set_typeinfo(*args) + +def set_stroff_path(*args): + """ + set_stroff_path(ea, n, path, plen, delta) -> bool + """ + return _idaapi.set_stroff_path(*args) + +def del_stroff_path(*args): + """ + del_stroff_path(ea, n) -> bool + """ + return _idaapi.del_stroff_path(*args) + +def del_enum_id(*args): + """ + del_enum_id(ea, n) + """ + return _idaapi.del_enum_id(*args) + +def enum_encode(*args): + """ + enum_encode(id, serial) -> uval_t + """ + return _idaapi.enum_encode(*args) + +def enum_decode(*args): + """ + enum_decode(code) -> enum_t + """ + return _idaapi.enum_decode(*args) + +def 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. + """ + return _idaapi.visit_patched_bytes(*args) + +def nextthat(*args): + """ + nextthat(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. + """ + return _idaapi.nextthat(*args) + +def prevthat(*args): + """ + prevthat(ea, minea, callable) -> ea_t + """ + return _idaapi.prevthat(*args) + +def get_many_bytes(*args): + """ + get_many_bytes(ea, size) -> PyObject * + + + Get the specified number of bytes of the program into the buffer. + @param ea: program address + @param size: number of bytes to return + @return: None or the string buffer + """ + return _idaapi.get_many_bytes(*args) + +def get_ascii_contents2(*args): + """ + get_ascii_contents2(ea, len, type, flags=0x00000000) -> 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 ACFOPT_..., to perform output conversion. + @return: a bytes-filled str object. + """ + return _idaapi.get_ascii_contents2(*args) + +def get_ascii_contents(*args): + """ + get_ascii_contents(ea, len, type) -> PyObject * + + + Get contents of ascii string + This function returns the displayed part of the string + It works even if the string has not been created in the database yet. + + @param ea: linear address of the string + @param len: length of the string in bytes (including terminating 0) + @param type: type of the string + @return: string contents (not including terminating 0) or None + """ + return _idaapi.get_ascii_contents(*args) + +def 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 + """ + return _idaapi.register_custom_data_type(*args) + +def unregister_custom_data_type(*args): + """ + unregister_custom_data_type(dtid) -> bool + + + Unregisters a custom data type. + @param dtid: the data type id + @return: Boolean + """ + return _idaapi.unregister_custom_data_type(*args) + +def register_custom_data_format(*args): + """ + register_custom_data_format(dtid, py_df) -> int + + + Registers a custom data format with a given data type. + @param dtid: data type id + @param df: an instance of data_format_t + @return: + < 0 if failed to register + > 0 data format id + """ + return _idaapi.register_custom_data_format(*args) + +def unregister_custom_data_format(*args): + """ + unregister_custom_data_format(dtid, dfid) -> bool + + + Unregisters a custom data format + @param dtid: data type id + @param dfid: data format id + @return: Boolean + """ + return _idaapi.unregister_custom_data_format(*args) + +def get_custom_data_format(*args): + """ + get_custom_data_format(dtid, fid) -> PyObject * + + + Returns a dictionary populated with the data format values or None on failure. + @param dtid: data type id + @param dfid: data format id + """ + return _idaapi.get_custom_data_format(*args) + +def get_custom_data_type(*args): + """ + get_custom_data_type(dtid) -> PyObject * + + + Returns a dictionary populated with the data type values or None on failure. + @param dtid: data type id + """ + return _idaapi.get_custom_data_type(*args) +# +DTP_NODUP = 0x0001 + +class data_type_t(object): + """ + Custom data type definition. All data types should inherit from this class. + """ + + def __init__(self, name, value_size = 0, menu_name = None, hotkey = None, asm_keyword = None, props = 0): + """ + Please refer to bytes.hpp / data_type_t in the SDK + """ + self.name = name + self.props = props + self.menu_name = menu_name + self.hotkey = hotkey + self.asm_keyword = asm_keyword + self.value_size = value_size + + self.id = -1 # Will be initialized after registration + """ + Contains the data type id after the data type is registered + """ + + def register(self): + """ + Registers the data type and returns the type id or < 0 on failure + """ + return _idaapi.register_custom_data_type(self) + + def unregister(self): + """ + Unregisters the data type and returns True on success + """ + # Not registered? + if self.id < 0: + return True + + # Try to unregister + r = _idaapi.unregister_custom_data_type(self.id) + + # Clear the ID + if r: + self.id = -1 + return r +# +# def may_create_at(self, ea, nbytes): +# """ +# (optional) If this callback is not defined then this means always may create data type at the given ea. +# @param ea: address of the future item +# @param nbytes: size of the future item +# @return: Boolean +# """ +# +# return False +# +# def calc_item_size(self, ea, maxsize): +# """ +# (optional) If this callback is defined it means variable size datatype +# This function is used to determine size of the (possible) item at 'ea' +# @param ea: address of the item +# @param maxsize: maximal size of the item +# @return: integer +# Returns: 0-no such item can be created/displayed +# this callback is required only for varsize datatypes +# """ +# return 0 +# +# ----------------------------------------------------------------------- +# Uncomment the corresponding callbacks in the inherited class +class data_format_t(object): + """ + Information about a data format + """ + def __init__(self, name, value_size = 0, menu_name = None, props = 0, hotkey = None, text_width = 0): + """ + Custom data format definition. + @param name: Format name, must be unique + @param menu_name: Visible format name to use in menus + @param props: properties (currently 0) + @param hotkey: Hotkey for the corresponding menu item + @param value_size: size of the value in bytes. 0 means any size is ok + @text_width: Usual width of the text representation + """ + self.name = name + self.menu_name = menu_name + self.props = props + self.hotkey = hotkey + self.value_size = value_size + self.text_width = text_width + + self.id = -1 # Will be initialized after registration + """ + contains the format id after the format gets registered + """ + + def register(self, dtid): + """ + Registers the data format with the given data type id and returns the type id or < 0 on failure + """ + return _idaapi.register_custom_data_format(dtid, self) + + def unregister(self, dtid): + """ + Unregisters the data format with the given data type id + """ + + # Not registered? + if self.id < 0: + return True + + # Unregister + r = _idaapi.unregister_custom_data_format(dtid, self.id) + + # Clear the ID + if r: + self.id = -1 + return r +# +# def printf(self, value, current_ea, operand_num, dtid): +# """ +# Convert a value buffer to colored string. +# +# @param value: The value to be printed +# @param current_ea: The ea of the value +# @param operand_num: The affected operand +# @param dtid: custom data type id (0-standard built-in data type) +# @return: a colored string representing the passed 'value' or None on failure +# """ +# return None +# +# def scan(self, input, current_ea, operand_num): +# """ +# Convert from uncolored string 'input' to byte value +# +# @param input: input string +# @param current_ea: current address (BADADDR if unknown) +# @param operand_num: current operand number (-1 if unknown) +# +# @return: tuple (Boolean, string) +# - (False, ErrorMessage) if conversion fails +# - (True, Value buffer) if conversion succeeds +# """ +# return (False, "Not implemented") +# +# def analyze(self, current_ea, operand_num): +# """ +# (optional) Analyze custom data format occurrence. +# It can be used to create xrefs from the current item. +# +# @param current_ea: current address (BADADDR if unknown) +# @param operand_num: current operand number +# @return: None +# """ +# +# pass +# +# ----------------------------------------------------------------------- +def __walk_types_and_formats(formats, type_action, format_action, installing): + broken = False + for f in formats: + if len(f) == 1: + if not format_action(f[0], 0): + broken = True + break + else: + dt = f[0] + dfs = f[1:] + # install data type before installing formats + if installing and not type_action(dt): + broken = True + break + # process formats using the correct dt.id + for df in dfs: + if not format_action(df, dt.id): + broken = True + break + # uninstall data type after uninstalling formats + if not installing and not type_action(dt): + broken = True + break + return not broken + +# ----------------------------------------------------------------------- +def 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. + """ + def __reg_format(df, dtid): + df.register(dtid) + if dtid == 0: + print "Registered format '%s' with built-in types, ID=%d" % (df.name, df.id) + else: + print " Registered format '%s', ID=%d (dtid=%d)" % (df.name, df.id, dtid) + return df.id != -1 + + def __reg_type(dt): + dt.register() + print "Registered type '%s', ID=%d" % (dt.name, dt.id) + return dt.id != -1 + ok = __walk_types_and_formats(formats, __reg_type, __reg_format, True) + return 1 if ok else -1 + +# ----------------------------------------------------------------------- +def unregister_data_types_and_formats(formats): + """ + As opposed to register_data_types_and_formats(), this function + unregisters multiple data types and formats at once. + """ + def __unreg_format(df, dtid): + print "%snregistering format '%s'" % ("U" if dtid == 0 else " u", df.name) + df.unregister(dtid) + return True + + def __unreg_type(dt): + print "Unregistering type '%s', ID=%d" % (dt.name, dt.id) + dt.unregister() + return True + ok = __walk_types_and_formats(formats, __unreg_type, __unreg_format, False) + return 1 if ok else -1 + +# + +class bpt_vec_t(object): + """ + Proxy of C++ qvector<(bpt_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> bpt_vec_t + __init__(self, x) -> bpt_vec_t + """ + this = _idaapi.new_bpt_vec_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_bpt_vec_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> bpt_t + """ + return _idaapi.bpt_vec_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.bpt_vec_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.bpt_vec_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.bpt_vec_t_empty(self, *args) + + def at(self, *args): + """ + at(self, _idx) -> bpt_t + """ + return _idaapi.bpt_vec_t_at(self, *args) + + def front(self, *args): + """ + front(self) -> bpt_t + front(self) -> bpt_t + """ + return _idaapi.bpt_vec_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> bpt_t + back(self) -> bpt_t + """ + return _idaapi.bpt_vec_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.bpt_vec_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.bpt_vec_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.bpt_vec_t_resize(self, *args) + + def grow(self, *args): + """ + grow(self, x=bpt_t()) + """ + return _idaapi.bpt_vec_t_grow(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.bpt_vec_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.bpt_vec_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.bpt_vec_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.bpt_vec_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> bpt_t + """ + return _idaapi.bpt_vec_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.bpt_vec_t_inject(self, *args) + + def begin(self, *args): + """ + begin(self) -> bpt_t + begin(self) -> bpt_t + """ + return _idaapi.bpt_vec_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> bpt_t + end(self) -> bpt_t + """ + return _idaapi.bpt_vec_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> bpt_t + """ + return _idaapi.bpt_vec_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> bpt_t + erase(self, first, last) -> bpt_t + """ + return _idaapi.bpt_vec_t_erase(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.bpt_vec_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> bpt_t + """ + return _idaapi.bpt_vec_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.bpt_vec_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + +bpt_vec_t_swigregister = _idaapi.bpt_vec_t_swigregister +bpt_vec_t_swigregister(bpt_vec_t) +power2 = cvar.power2 +lowbits = cvar.lowbits + + +def set_bptloc_string(*args): + """ + set_bptloc_string(s) -> int + """ + return _idaapi.set_bptloc_string(*args) + +def get_bptloc_string(*args): + """ + get_bptloc_string(i) -> char const * + """ + return _idaapi.get_bptloc_string(*args) +BPLT_ABS = _idaapi.BPLT_ABS +BPLT_REL = _idaapi.BPLT_REL +BPLT_SYM = _idaapi.BPLT_SYM +BPLT_SRC = _idaapi.BPLT_SRC +class bpt_location_t(object): + """ + Proxy of C++ bpt_location_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + info = _swig_property(_idaapi.bpt_location_t_info_get, _idaapi.bpt_location_t_info_set) + index = _swig_property(_idaapi.bpt_location_t_index_get, _idaapi.bpt_location_t_index_set) + loctype = _swig_property(_idaapi.bpt_location_t_loctype_get, _idaapi.bpt_location_t_loctype_set) + def type(self, *args): + """ + type(self) -> bpt_loctype_t + """ + return _idaapi.bpt_location_t_type(self, *args) + + def is_empty_path(self, *args): + """ + is_empty_path(self) -> bool + """ + return _idaapi.bpt_location_t_is_empty_path(self, *args) + + def path(self, *args): + """ + path(self) -> char const * + """ + return _idaapi.bpt_location_t_path(self, *args) + + def symbol(self, *args): + """ + symbol(self) -> char const * + """ + return _idaapi.bpt_location_t_symbol(self, *args) + + def lineno(self, *args): + """ + lineno(self) -> int + """ + return _idaapi.bpt_location_t_lineno(self, *args) + + def offset(self, *args): + """ + offset(self) -> uval_t + """ + return _idaapi.bpt_location_t_offset(self, *args) + + def ea(self, *args): + """ + ea(self) -> ea_t + """ + return _idaapi.bpt_location_t_ea(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> bpt_location_t + """ + this = _idaapi.new_bpt_location_t(*args) + try: self.this.append(this) + except: self.this = this + def set_abs_bpt(self, *args): + """ + set_abs_bpt(self, a) + """ + return _idaapi.bpt_location_t_set_abs_bpt(self, *args) + + def set_src_bpt(self, *args): + """ + set_src_bpt(self, fn, _lineno) + """ + return _idaapi.bpt_location_t_set_src_bpt(self, *args) + + def set_sym_bpt(self, *args): + """ + set_sym_bpt(self, _symbol, _offset=0) + """ + return _idaapi.bpt_location_t_set_sym_bpt(self, *args) + + def set_rel_bpt(self, *args): + """ + set_rel_bpt(self, mod, _offset) + """ + return _idaapi.bpt_location_t_set_rel_bpt(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.bpt_location_t_compare(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.bpt_location_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.bpt_location_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.bpt_location_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.bpt_location_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.bpt_location_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.bpt_location_t___ge__(self, *args) + + __swig_destroy__ = _idaapi.delete_bpt_location_t + __del__ = lambda self : None; +bpt_location_t_swigregister = _idaapi.bpt_location_t_swigregister +bpt_location_t_swigregister(bpt_location_t) + +class bpt_t(object): + """ + Proxy of C++ bpt_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + cb = _swig_property(_idaapi.bpt_t_cb_get, _idaapi.bpt_t_cb_set) + loc = _swig_property(_idaapi.bpt_t_loc_get, _idaapi.bpt_t_loc_set) + ea = _swig_property(_idaapi.bpt_t_ea_get, _idaapi.bpt_t_ea_set) + type = _swig_property(_idaapi.bpt_t_type_get, _idaapi.bpt_t_type_set) + pass_count = _swig_property(_idaapi.bpt_t_pass_count_get, _idaapi.bpt_t_pass_count_set) + flags = _swig_property(_idaapi.bpt_t_flags_get, _idaapi.bpt_t_flags_set) + props = _swig_property(_idaapi.bpt_t_props_get, _idaapi.bpt_t_props_set) + size = _swig_property(_idaapi.bpt_t_size_get, _idaapi.bpt_t_size_set) + cndidx = _swig_property(_idaapi.bpt_t_cndidx_get, _idaapi.bpt_t_cndidx_set) + def __init__(self, *args): + """ + __init__(self) -> bpt_t + """ + this = _idaapi.new_bpt_t(*args) + try: self.this.append(this) + except: self.this = this + def is_hwbpt(self, *args): + """ + is_hwbpt(self) -> bool + """ + return _idaapi.bpt_t_is_hwbpt(self, *args) + + def enabled(self, *args): + """ + enabled(self) -> bool + """ + return _idaapi.bpt_t_enabled(self, *args) + + def is_low_level(self, *args): + """ + is_low_level(self) -> bool + """ + return _idaapi.bpt_t_is_low_level(self, *args) + + def badbpt(self, *args): + """ + badbpt(self) -> bool + """ + return _idaapi.bpt_t_badbpt(self, *args) + + def listbpt(self, *args): + """ + listbpt(self) -> bool + """ + return _idaapi.bpt_t_listbpt(self, *args) + + def is_compiled(self, *args): + """ + is_compiled(self) -> bool + """ + return _idaapi.bpt_t_is_compiled(self, *args) + + def is_active(self, *args): + """ + is_active(self) -> bool + """ + return _idaapi.bpt_t_is_active(self, *args) + + def is_partially_active(self, *args): + """ + is_partially_active(self) -> bool + """ + return _idaapi.bpt_t_is_partially_active(self, *args) + + def is_inactive(self, *args): + """ + is_inactive(self) -> bool + """ + return _idaapi.bpt_t_is_inactive(self, *args) + + def is_page_bpt(self, *args): + """ + is_page_bpt(self) -> bool + """ + return _idaapi.bpt_t_is_page_bpt(self, *args) + + def get_size(self, *args): + """ + get_size(self) -> int + """ + return _idaapi.bpt_t_get_size(self, *args) + + def set_abs_bpt(self, *args): + """ + set_abs_bpt(self, a) + """ + return _idaapi.bpt_t_set_abs_bpt(self, *args) + + def set_src_bpt(self, *args): + """ + set_src_bpt(self, fn, lineno) + """ + return _idaapi.bpt_t_set_src_bpt(self, *args) + + def set_sym_bpt(self, *args): + """ + set_sym_bpt(self, sym, o) + """ + return _idaapi.bpt_t_set_sym_bpt(self, *args) + + def set_rel_bpt(self, *args): + """ + set_rel_bpt(self, mod, o) + """ + return _idaapi.bpt_t_set_rel_bpt(self, *args) + + def is_absbpt(self, *args): + """ + is_absbpt(self) -> bool + """ + return _idaapi.bpt_t_is_absbpt(self, *args) + + def is_relbpt(self, *args): + """ + is_relbpt(self) -> bool + """ + return _idaapi.bpt_t_is_relbpt(self, *args) + + def is_symbpt(self, *args): + """ + is_symbpt(self) -> bool + """ + return _idaapi.bpt_t_is_symbpt(self, *args) + + def is_srcbpt(self, *args): + """ + is_srcbpt(self) -> bool + """ + return _idaapi.bpt_t_is_srcbpt(self, *args) + + def is_tracemodebpt(self, *args): + """ + is_tracemodebpt(self) -> bool + """ + return _idaapi.bpt_t_is_tracemodebpt(self, *args) + + def is_traceonbpt(self, *args): + """ + is_traceonbpt(self) -> bool + """ + return _idaapi.bpt_t_is_traceonbpt(self, *args) + + def is_traceoffbpt(self, *args): + """ + is_traceoffbpt(self) -> bool + """ + return _idaapi.bpt_t_is_traceoffbpt(self, *args) + + def set_trace_action(self, *args): + """ + set_trace_action(self, enable, trace_types) -> bool + """ + return _idaapi.bpt_t_set_trace_action(self, *args) + + condition = _swig_property(_idaapi.bpt_t_condition_get, _idaapi.bpt_t_condition_set) + elang = _swig_property(_idaapi.bpt_t_elang_get, _idaapi.bpt_t_elang_set) + __swig_destroy__ = _idaapi.delete_bpt_t + __del__ = lambda self : None; +bpt_t_swigregister = _idaapi.bpt_t_swigregister +bpt_t_swigregister(bpt_t) +BPT_BRK = _idaapi.BPT_BRK +BPT_TRACE = _idaapi.BPT_TRACE +BPT_UPDMEM = _idaapi.BPT_UPDMEM +BPT_ENABLED = _idaapi.BPT_ENABLED +BPT_LOWCND = _idaapi.BPT_LOWCND +BPT_TRACEON = _idaapi.BPT_TRACEON +BPT_TRACE_INSN = _idaapi.BPT_TRACE_INSN +BPT_TRACE_FUNC = _idaapi.BPT_TRACE_FUNC +BPT_TRACE_BBLK = _idaapi.BPT_TRACE_BBLK +BPT_TRACE_TYPES = _idaapi.BPT_TRACE_TYPES +BKPT_BADBPT = _idaapi.BKPT_BADBPT +BKPT_LISTBPT = _idaapi.BKPT_LISTBPT +BKPT_TRACE = _idaapi.BKPT_TRACE +BKPT_ACTIVE = _idaapi.BKPT_ACTIVE +BKPT_PARTIAL = _idaapi.BKPT_PARTIAL +BKPT_CNDREADY = _idaapi.BKPT_CNDREADY +BKPT_FAKEPEND = _idaapi.BKPT_FAKEPEND +BKPT_PAGE = _idaapi.BKPT_PAGE +BKPT_ELANG_MASK = _idaapi.BKPT_ELANG_MASK +BKPT_ELANG_SHIFT = _idaapi.BKPT_ELANG_SHIFT + +MOVBPT_OK = _idaapi.MOVBPT_OK +MOVBPT_NOT_FOUND = _idaapi.MOVBPT_NOT_FOUND +MOVBPT_DEST_BUSY = _idaapi.MOVBPT_DEST_BUSY +MOVBPT_BAD_TYPE = _idaapi.MOVBPT_BAD_TYPE +tev_none = _idaapi.tev_none +tev_insn = _idaapi.tev_insn +tev_call = _idaapi.tev_call +tev_ret = _idaapi.tev_ret +tev_bpt = _idaapi.tev_bpt +tev_mem = _idaapi.tev_mem +tev_event = _idaapi.tev_event +tev_max = _idaapi.tev_max +class tev_info_t(object): + """ + Proxy of C++ tev_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + type = _swig_property(_idaapi.tev_info_t_type_get, _idaapi.tev_info_t_type_set) + tid = _swig_property(_idaapi.tev_info_t_tid_get, _idaapi.tev_info_t_tid_set) + ea = _swig_property(_idaapi.tev_info_t_ea_get, _idaapi.tev_info_t_ea_set) + def __init__(self, *args): + """ + __init__(self) -> tev_info_t + """ + this = _idaapi.new_tev_info_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_tev_info_t + __del__ = lambda self : None; +tev_info_t_swigregister = _idaapi.tev_info_t_swigregister +tev_info_t_swigregister(tev_info_t) + +DEC_NOTASK = _idaapi.DEC_NOTASK +DEC_ERROR = _idaapi.DEC_ERROR +DEC_TIMEOUT = _idaapi.DEC_TIMEOUT + +def wait_for_next_event(*args): + """ + wait_for_next_event(wfne, timeout_in_secs) -> dbg_event_code_t + """ + return _idaapi.wait_for_next_event(*args) +WFNE_ANY = _idaapi.WFNE_ANY +WFNE_SUSP = _idaapi.WFNE_SUSP +WFNE_SILENT = _idaapi.WFNE_SILENT +WFNE_CONT = _idaapi.WFNE_CONT +WFNE_NOWAIT = _idaapi.WFNE_NOWAIT +WFNE_USEC = _idaapi.WFNE_USEC + +def get_debug_event(*args): + """ + get_debug_event() -> debug_event_t + """ + return _idaapi.get_debug_event(*args) + +def set_debugger_options(*args): + """ + set_debugger_options(options) -> uint + """ + return _idaapi.set_debugger_options(*args) +DOPT_SEGM_MSGS = _idaapi.DOPT_SEGM_MSGS +DOPT_START_BPT = _idaapi.DOPT_START_BPT +DOPT_THREAD_MSGS = _idaapi.DOPT_THREAD_MSGS +DOPT_THREAD_BPT = _idaapi.DOPT_THREAD_BPT +DOPT_BPT_MSGS = _idaapi.DOPT_BPT_MSGS +DOPT_LIB_MSGS = _idaapi.DOPT_LIB_MSGS +DOPT_LIB_BPT = _idaapi.DOPT_LIB_BPT +DOPT_INFO_MSGS = _idaapi.DOPT_INFO_MSGS +DOPT_INFO_BPT = _idaapi.DOPT_INFO_BPT +DOPT_REAL_MEMORY = _idaapi.DOPT_REAL_MEMORY +DOPT_REDO_STACK = _idaapi.DOPT_REDO_STACK +DOPT_ENTRY_BPT = _idaapi.DOPT_ENTRY_BPT +DOPT_EXCDLG = _idaapi.DOPT_EXCDLG +EXCDLG_NEVER = _idaapi.EXCDLG_NEVER +EXCDLG_UNKNOWN = _idaapi.EXCDLG_UNKNOWN +EXCDLG_ALWAYS = _idaapi.EXCDLG_ALWAYS +DOPT_LOAD_DINFO = _idaapi.DOPT_LOAD_DINFO +DOPT_END_BPT = _idaapi.DOPT_END_BPT +DOPT_TEMP_HWBPT = _idaapi.DOPT_TEMP_HWBPT + +def set_remote_debugger(*args): + """ + set_remote_debugger(host, _pass, port=-1) + """ + return _idaapi.set_remote_debugger(*args) + +def get_process_options(*args): + """ + get_process_options(path, args, sdir, host, _pass, port) + """ + return _idaapi.get_process_options(*args) + +def set_process_options(*args): + """ + set_process_options(path, args, sdir, host, _pass, port) + """ + return _idaapi.set_process_options(*args) + +def retrieve_exceptions(*args): + """ + retrieve_exceptions() -> excvec_t * + """ + return _idaapi.retrieve_exceptions(*args) + +def store_exceptions(*args): + """ + store_exceptions() -> bool + """ + return _idaapi.store_exceptions(*args) + +def define_exception(*args): + """ + define_exception(code, name, desc, flags) -> char const * + """ + return _idaapi.define_exception(*args) + +def have_set_options(*args): + """ + have_set_options(_dbg) -> bool + """ + return _idaapi.have_set_options(*args) + +def set_dbg_options(*args): + """ + set_dbg_options(_dbg, keyword, pri, value_type, value) -> char const + set_dbg_options(keyword, pri, value_type, value) -> char const * + """ + return _idaapi.set_dbg_options(*args) + +def set_dbg_default_options(*args): + """ + set_dbg_default_options(keyword, value_type, value) -> char const * + """ + return _idaapi.set_dbg_default_options(*args) + +def set_int_dbg_options(*args): + """ + set_int_dbg_options(keyword, value) -> char const * + """ + return _idaapi.set_int_dbg_options(*args) +class eval_ctx_t(object): + """ + Proxy of C++ eval_ctx_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, _ea) -> eval_ctx_t + """ + this = _idaapi.new_eval_ctx_t(*args) + try: self.this.append(this) + except: self.this = this + ea = _swig_property(_idaapi.eval_ctx_t_ea_get, _idaapi.eval_ctx_t_ea_set) + __swig_destroy__ = _idaapi.delete_eval_ctx_t + __del__ = lambda self : None; +eval_ctx_t_swigregister = _idaapi.eval_ctx_t_swigregister +eval_ctx_t_swigregister(eval_ctx_t) + +SRCIT_NONE = _idaapi.SRCIT_NONE +SRCIT_MODULE = _idaapi.SRCIT_MODULE +SRCIT_FUNC = _idaapi.SRCIT_FUNC +SRCIT_STMT = _idaapi.SRCIT_STMT +SRCIT_EXPR = _idaapi.SRCIT_EXPR +SRCIT_STKVAR = _idaapi.SRCIT_STKVAR +SRCIT_REGVAR = _idaapi.SRCIT_REGVAR +SRCIT_RRLVAR = _idaapi.SRCIT_RRLVAR +SRCIT_STTVAR = _idaapi.SRCIT_STTVAR +SRCIT_LOCVAR = _idaapi.SRCIT_LOCVAR +SRCDBG_PROV_VERSION = _idaapi.SRCDBG_PROV_VERSION + +def create_source_viewer(*args): + """ + create_source_viewer(parent, custview, sf, lines, lnnum, colnum, flags) -> source_view_t * + """ + return _idaapi.create_source_viewer(*args) + +def get_dbg_byte(*args): + """ + get_dbg_byte(ea, x) -> bool + """ + return _idaapi.get_dbg_byte(*args) + +def put_dbg_byte(*args): + """ + put_dbg_byte(ea, x) -> bool + """ + return _idaapi.put_dbg_byte(*args) + +def invalidate_dbgmem_config(*args): + """ + invalidate_dbgmem_config() + """ + return _idaapi.invalidate_dbgmem_config(*args) + +def invalidate_dbgmem_contents(*args): + """ + invalidate_dbgmem_contents(ea, size) + """ + return _idaapi.invalidate_dbgmem_contents(*args) + +def is_debugger_on(*args): + """ + is_debugger_on() -> bool + """ + return _idaapi.is_debugger_on(*args) + +def is_debugger_memory(*args): + """ + is_debugger_memory(ea) -> bool + """ + return _idaapi.is_debugger_memory(*args) + +def run_requests(*args): + """ + run_requests() -> bool + """ + return _idaapi.run_requests(*args) + +def get_running_request(*args): + """ + get_running_request() -> ui_notification_t + """ + return _idaapi.get_running_request(*args) + +def get_running_notification(*args): + """ + get_running_notification() -> dbg_notification_t + """ + return _idaapi.get_running_notification(*args) + +def clear_requests_queue(*args): + """ + clear_requests_queue() + """ + return _idaapi.clear_requests_queue(*args) + +def get_process_state(*args): + """ + get_process_state() -> int + """ + return _idaapi.get_process_state(*args) + +def start_process(*args): + """ + start_process(path, args, sdir) -> int + """ + return _idaapi.start_process(*args) + +def request_start_process(*args): + """ + request_start_process(path, args, sdir) -> int + """ + return _idaapi.request_start_process(*args) + +def suspend_process(*args): + """ + suspend_process() -> bool + """ + return _idaapi.suspend_process(*args) + +def request_suspend_process(*args): + """ + request_suspend_process() -> bool + """ + return _idaapi.request_suspend_process(*args) + +def continue_process(*args): + """ + continue_process() -> bool + """ + return _idaapi.continue_process(*args) + +def request_continue_process(*args): + """ + request_continue_process() -> bool + """ + return _idaapi.request_continue_process(*args) + +def exit_process(*args): + """ + exit_process() -> bool + """ + return _idaapi.exit_process(*args) + +def request_exit_process(*args): + """ + request_exit_process() -> bool + """ + return _idaapi.request_exit_process(*args) + +def get_process_qty(*args): + """ + get_process_qty() -> int + """ + return _idaapi.get_process_qty(*args) + +def get_process_info(*args): + """ + get_process_info(n, process_info) -> pid_t + """ + return _idaapi.get_process_info(*args) + +def attach_process(*args): + """ + attach_process(pid, event_id) -> int + """ + return _idaapi.attach_process(*args) + +def request_attach_process(*args): + """ + request_attach_process(pid, event_id) -> int + """ + return _idaapi.request_attach_process(*args) + +def detach_process(*args): + """ + detach_process() -> bool + """ + return _idaapi.detach_process(*args) + +def request_detach_process(*args): + """ + request_detach_process() -> bool + """ + return _idaapi.request_detach_process(*args) + +def get_thread_qty(*args): + """ + get_thread_qty() -> int + """ + return _idaapi.get_thread_qty(*args) + +def getn_thread(*args): + """ + getn_thread(n) -> thid_t + """ + return _idaapi.getn_thread(*args) + +def select_thread(*args): + """ + select_thread(tid) -> bool + """ + return _idaapi.select_thread(*args) + +def request_select_thread(*args): + """ + request_select_thread(tid) -> bool + """ + return _idaapi.request_select_thread(*args) + +def set_resume_mode(*args): + """ + set_resume_mode(tid, mode) -> bool + """ + return _idaapi.set_resume_mode(*args) + +def request_set_resume_mode(*args): + """ + request_set_resume_mode(tid, mode) -> bool + """ + return _idaapi.request_set_resume_mode(*args) + +def step_into(*args): + """ + step_into() -> bool + """ + return _idaapi.step_into(*args) + +def request_step_into(*args): + """ + request_step_into() -> bool + """ + return _idaapi.request_step_into(*args) + +def step_over(*args): + """ + step_over() -> bool + """ + return _idaapi.step_over(*args) + +def request_step_over(*args): + """ + request_step_over() -> bool + """ + return _idaapi.request_step_over(*args) + +def run_to(*args): + """ + run_to(ea) -> bool + """ + return _idaapi.run_to(*args) + +def request_run_to(*args): + """ + request_run_to(ea) -> bool + """ + return _idaapi.request_run_to(*args) + +def step_until_ret(*args): + """ + step_until_ret() -> bool + """ + return _idaapi.step_until_ret(*args) + +def request_step_until_ret(*args): + """ + request_step_until_ret() -> bool + """ + return _idaapi.request_step_until_ret(*args) + +def get_reg_val(*args): + """ + get_reg_val(regname, regval) -> bool + """ + return _idaapi.get_reg_val(*args) + +def request_set_reg_val(*args): + """ + request_set_reg_val(regname, regval) -> bool + """ + return _idaapi.request_set_reg_val(*args) + +def get_bpt_qty(*args): + """ + get_bpt_qty() -> int + """ + return _idaapi.get_bpt_qty(*args) + +def getn_bpt(*args): + """ + getn_bpt(n, bpt) -> bool + """ + return _idaapi.getn_bpt(*args) + +def get_bpt(*args): + """ + get_bpt(ea, bpt) -> bool + """ + return _idaapi.get_bpt(*args) + +def find_bpt(*args): + """ + find_bpt(bptloc, bpt) -> bool + """ + return _idaapi.find_bpt(*args) + +def add_bpt(*args): + """ + add_bpt(ea, size, type) -> bool + add_bpt(bpt) -> bool + """ + return _idaapi.add_bpt(*args) + +def request_add_bpt(*args): + """ + request_add_bpt(ea, size, type) -> bool + request_add_bpt(bpt) -> bool + """ + return _idaapi.request_add_bpt(*args) + +def del_bpt(*args): + """ + del_bpt(ea) -> bool + del_bpt(bptloc) -> bool + """ + return _idaapi.del_bpt(*args) + +def request_del_bpt(*args): + """ + request_del_bpt(ea) -> bool + request_del_bpt(bptloc) -> bool + """ + return _idaapi.request_del_bpt(*args) + +def update_bpt(*args): + """ + update_bpt(bpt) -> bool + """ + return _idaapi.update_bpt(*args) + +def enable_bpt(*args): + """ + enable_bpt(ea, enable) -> bool + enable_bpt(bptloc, enable) -> bool + """ + return _idaapi.enable_bpt(*args) + +def request_enable_bpt(*args): + """ + request_enable_bpt(ea, enable) -> bool + request_enable_bpt(bptloc, enable) -> bool + """ + return _idaapi.request_enable_bpt(*args) + +def set_trace_size(*args): + """ + set_trace_size(size) -> bool + """ + return _idaapi.set_trace_size(*args) + +def clear_trace(*args): + """ + clear_trace() + """ + return _idaapi.clear_trace(*args) + +def request_clear_trace(*args): + """ + request_clear_trace() + """ + return _idaapi.request_clear_trace(*args) + +def is_step_trace_enabled(*args): + """ + is_step_trace_enabled() -> bool + """ + return _idaapi.is_step_trace_enabled(*args) + +def enable_step_trace(*args): + """ + enable_step_trace(enable) -> bool + """ + return _idaapi.enable_step_trace(*args) + +def request_enable_step_trace(*args): + """ + request_enable_step_trace(enable) -> bool + """ + return _idaapi.request_enable_step_trace(*args) + +def get_step_trace_options(*args): + """ + get_step_trace_options() -> int + """ + return _idaapi.get_step_trace_options(*args) + +def set_step_trace_options(*args): + """ + set_step_trace_options(options) + """ + return _idaapi.set_step_trace_options(*args) + +def request_set_step_trace_options(*args): + """ + request_set_step_trace_options(options) + """ + return _idaapi.request_set_step_trace_options(*args) + +def is_insn_trace_enabled(*args): + """ + is_insn_trace_enabled() -> bool + """ + return _idaapi.is_insn_trace_enabled(*args) + +def enable_insn_trace(*args): + """ + enable_insn_trace(enable) -> bool + """ + return _idaapi.enable_insn_trace(*args) + +def request_enable_insn_trace(*args): + """ + request_enable_insn_trace(enable) -> bool + """ + return _idaapi.request_enable_insn_trace(*args) + +def get_insn_trace_options(*args): + """ + get_insn_trace_options() -> int + """ + return _idaapi.get_insn_trace_options(*args) + +def set_insn_trace_options(*args): + """ + set_insn_trace_options(options) + """ + return _idaapi.set_insn_trace_options(*args) + +def request_set_insn_trace_options(*args): + """ + request_set_insn_trace_options(options) + """ + return _idaapi.request_set_insn_trace_options(*args) + +def is_func_trace_enabled(*args): + """ + is_func_trace_enabled() -> bool + """ + return _idaapi.is_func_trace_enabled(*args) + +def enable_func_trace(*args): + """ + enable_func_trace(enable) -> bool + """ + return _idaapi.enable_func_trace(*args) + +def request_enable_func_trace(*args): + """ + request_enable_func_trace(enable) -> bool + """ + return _idaapi.request_enable_func_trace(*args) + +def get_func_trace_options(*args): + """ + get_func_trace_options() -> int + """ + return _idaapi.get_func_trace_options(*args) + +def set_func_trace_options(*args): + """ + set_func_trace_options(options) + """ + return _idaapi.set_func_trace_options(*args) + +def request_set_func_trace_options(*args): + """ + request_set_func_trace_options(options) + """ + return _idaapi.request_set_func_trace_options(*args) + +def set_highlight_trace_options(*args): + """ + set_highlight_trace_options(hilight, color, diff) + """ + return _idaapi.set_highlight_trace_options(*args) + +def is_bblk_trace_enabled(*args): + """ + is_bblk_trace_enabled() -> bool + """ + return _idaapi.is_bblk_trace_enabled(*args) + +def enable_bblk_trace(*args): + """ + enable_bblk_trace(enable) -> bool + """ + return _idaapi.enable_bblk_trace(*args) + +def request_enable_bblk_trace(*args): + """ + request_enable_bblk_trace(enable) -> bool + """ + return _idaapi.request_enable_bblk_trace(*args) + +def get_bblk_trace_options(*args): + """ + get_bblk_trace_options() -> int + """ + return _idaapi.get_bblk_trace_options(*args) + +def set_bblk_trace_options(*args): + """ + set_bblk_trace_options(options) + """ + return _idaapi.set_bblk_trace_options(*args) + +def request_set_bblk_trace_options(*args): + """ + request_set_bblk_trace_options(options) + """ + return _idaapi.request_set_bblk_trace_options(*args) + +def get_tev_qty(*args): + """ + get_tev_qty() -> int + """ + return _idaapi.get_tev_qty(*args) + +def get_tev_info(*args): + """ + get_tev_info(n, tev_info) -> bool + """ + return _idaapi.get_tev_info(*args) + +def get_insn_tev_reg_val(*args): + """ + get_insn_tev_reg_val(n, regname, regval) -> bool + """ + return _idaapi.get_insn_tev_reg_val(*args) + +def get_insn_tev_reg_mem(*args): + """ + get_insn_tev_reg_mem(n, memmap) -> bool + """ + return _idaapi.get_insn_tev_reg_mem(*args) + +def get_insn_tev_reg_result(*args): + """ + get_insn_tev_reg_result(n, regname, regval) -> bool + """ + return _idaapi.get_insn_tev_reg_result(*args) + +def get_call_tev_callee(*args): + """ + get_call_tev_callee(n) -> ea_t + """ + return _idaapi.get_call_tev_callee(*args) + +def get_ret_tev_return(*args): + """ + get_ret_tev_return(n) -> ea_t + """ + return _idaapi.get_ret_tev_return(*args) + +def get_bpt_tev_ea(*args): + """ + get_bpt_tev_ea(n) -> ea_t + """ + return _idaapi.get_bpt_tev_ea(*args) + +def get_tev_memory_info(*args): + """ + get_tev_memory_info(n, mi) -> bool + """ + return _idaapi.get_tev_memory_info(*args) + +def get_tev_event(*args): + """ + get_tev_event(n, d) -> bool + """ + return _idaapi.get_tev_event(*args) + +def get_tev_ea(*args): + """ + get_tev_ea(n) -> ea_t + """ + return _idaapi.get_tev_ea(*args) + +def get_tev_type(*args): + """ + get_tev_type(n) -> int + """ + return _idaapi.get_tev_type(*args) + +def get_tev_tid(*args): + """ + get_tev_tid(n) -> int + """ + return _idaapi.get_tev_tid(*args) + +def get_tev_reg_val(*args): + """ + get_tev_reg_val(n, regname) -> ea_t + """ + return _idaapi.get_tev_reg_val(*args) + +def get_tev_reg_mem_qty(*args): + """ + get_tev_reg_mem_qty(n) -> int + """ + return _idaapi.get_tev_reg_mem_qty(*args) + +def get_tev_reg_mem_ea(*args): + """ + get_tev_reg_mem_ea(n, idx) -> ea_t + """ + return _idaapi.get_tev_reg_mem_ea(*args) + +def get_trace_base_address(*args): + """ + get_trace_base_address() -> ea_t + """ + return _idaapi.get_trace_base_address(*args) + +def load_trace_file(*args): + """ + load_trace_file(filename) -> bool + """ + return _idaapi.load_trace_file(*args) + +def save_trace_file(*args): + """ + save_trace_file(filename, description) -> bool + """ + return _idaapi.save_trace_file(*args) + +def is_valid_trace_file(*args): + """ + is_valid_trace_file(filename) -> bool + """ + return _idaapi.is_valid_trace_file(*args) + +def set_trace_file_desc(*args): + """ + set_trace_file_desc(filename, description) -> bool + """ + return _idaapi.set_trace_file_desc(*args) + +def get_trace_file_desc(*args): + """ + get_trace_file_desc(filename) -> bool + """ + return _idaapi.get_trace_file_desc(*args) + +def choose_trace_file(*args): + """ + choose_trace_file() -> bool + """ + return _idaapi.choose_trace_file(*args) + +def diff_trace_file(*args): + """ + diff_trace_file(filename) -> bool + """ + return _idaapi.diff_trace_file(*args) + +def set_trace_platform(*args): + """ + set_trace_platform(platform) + """ + return _idaapi.set_trace_platform(*args) + +def get_trace_platform(*args): + """ + get_trace_platform() -> char const * + """ + return _idaapi.get_trace_platform(*args) + +def graph_trace(*args): + """ + graph_trace() -> bool + """ + return _idaapi.graph_trace(*args) + +def set_trace_base_address(*args): + """ + set_trace_base_address(ea) + """ + return _idaapi.set_trace_base_address(*args) + +def dbg_add_thread(*args): + """ + dbg_add_thread(tid) + """ + return _idaapi.dbg_add_thread(*args) + +def dbg_del_thread(*args): + """ + dbg_del_thread(tid) + """ + return _idaapi.dbg_del_thread(*args) + +def dbg_add_tev(*args): + """ + dbg_add_tev(type, tid, address) + """ + return _idaapi.dbg_add_tev(*args) + +def dbg_add_many_tevs(*args): + """ + dbg_add_many_tevs(new_tevs) -> bool + """ + return _idaapi.dbg_add_many_tevs(*args) + +def dbg_add_insn_tev(*args): + """ + dbg_add_insn_tev(tid, ea, save) -> bool + """ + return _idaapi.dbg_add_insn_tev(*args) + +def dbg_add_bpt_tev(*args): + """ + dbg_add_bpt_tev(tid, ea, bp) -> bool + """ + return _idaapi.dbg_add_bpt_tev(*args) + +def dbg_add_call_tev(*args): + """ + dbg_add_call_tev(tid, caller, callee) + """ + return _idaapi.dbg_add_call_tev(*args) + +def dbg_add_ret_tev(*args): + """ + dbg_add_ret_tev(tid, ret_insn, return_to) + """ + return _idaapi.dbg_add_ret_tev(*args) + +def dbg_add_debug_event(*args): + """ + dbg_add_debug_event(event) + """ + return _idaapi.dbg_add_debug_event(*args) + +def is_reg_integer(*args): + """ + is_reg_integer(regname) -> bool + """ + return _idaapi.is_reg_integer(*args) + +def is_reg_float(*args): + """ + is_reg_float(regname) -> bool + """ + return _idaapi.is_reg_float(*args) + +def is_reg_custom(*args): + """ + is_reg_custom(regname) -> bool + """ + return _idaapi.is_reg_custom(*args) + +def get_first_module(*args): + """ + get_first_module(modinfo) -> bool + """ + return _idaapi.get_first_module(*args) + +def get_next_module(*args): + """ + get_next_module(modinfo) -> bool + """ + return _idaapi.get_next_module(*args) + +def bring_debugger_to_front(*args): + """ + bring_debugger_to_front() + """ + return _idaapi.bring_debugger_to_front(*args) + +def get_current_thread(*args): + """ + get_current_thread() -> thid_t + """ + return _idaapi.get_current_thread(*args) + +def get_debugger_event_cond(*args): + """ + get_debugger_event_cond() -> char const * + """ + return _idaapi.get_debugger_event_cond(*args) + +def set_debugger_event_cond(*args): + """ + set_debugger_event_cond(cond) + """ + return _idaapi.set_debugger_event_cond(*args) + +def load_debugger(*args): + """ + load_debugger(dbgname, use_remote) -> bool + """ + return _idaapi.load_debugger(*args) + +def suspend_thread(*args): + """ + suspend_thread(tid) -> int + """ + return _idaapi.suspend_thread(*args) + +def request_suspend_thread(*args): + """ + request_suspend_thread(tid) -> int + """ + return _idaapi.request_suspend_thread(*args) + +def resume_thread(*args): + """ + resume_thread(tid) -> int + """ + return _idaapi.resume_thread(*args) + +def request_resume_thread(*args): + """ + request_resume_thread(tid) -> int + """ + return _idaapi.request_resume_thread(*args) + +def check_bpt(*args): + """ + check_bpt(ea) -> int + """ + return _idaapi.check_bpt(*args) + +def set_process_state(*args): + """ + set_process_state(newstate, p_thid, dbginv) -> int + """ + return _idaapi.set_process_state(*args) + +def edit_manual_regions(*args): + """ + edit_manual_regions() + """ + return _idaapi.edit_manual_regions(*args) + +def enable_manual_regions(*args): + """ + enable_manual_regions(enable) + """ + return _idaapi.enable_manual_regions(*args) + +def is_debugger_busy(*args): + """ + is_debugger_busy() -> bool + """ + return _idaapi.is_debugger_busy(*args) + +def hide_all_bpts(*args): + """ + hide_all_bpts() -> int + """ + return _idaapi.hide_all_bpts(*args) + +def add_virt_module(*args): + """ + add_virt_module(mod) -> bool + """ + return _idaapi.add_virt_module(*args) + +def del_virt_module(*args): + """ + del_virt_module(base) -> bool + """ + return _idaapi.del_virt_module(*args) + +def internal_ioctl(*args): + """ + internal_ioctl(fn, buf, size, poutbuf, poutsize) -> int + """ + return _idaapi.internal_ioctl(*args) + +def read_dbg_memory(*args): + """ + read_dbg_memory(ea, buffer, size) -> ssize_t + """ + return _idaapi.read_dbg_memory(*args) + +def write_dbg_memory(*args): + """ + write_dbg_memory(ea, buffer, size) -> ssize_t + """ + return _idaapi.write_dbg_memory(*args) + +def get_reg_vals(*args): + """ + get_reg_vals(tid, clsmask, values) -> int + """ + return _idaapi.get_reg_vals(*args) + +def set_reg_val(*args): + """ + set_reg_val(regname, regval) -> bool + set_reg_val(tid, regidx, value) -> int + """ + return _idaapi.set_reg_val(*args) + +def get_dbg_memory_info(*args): + """ + get_dbg_memory_info(areas) -> int + """ + return _idaapi.get_dbg_memory_info(*args) + +def set_bpt_group(*args): + """ + set_bpt_group(bpt, grp_name) + """ + return _idaapi.set_bpt_group(*args) + +def set_bptloc_group(*args): + """ + set_bptloc_group(bptloc, grp_name) -> bool + """ + return _idaapi.set_bptloc_group(*args) + +def get_bpt_group(*args): + """ + get_bpt_group(bptloc) -> bool + """ + return _idaapi.get_bpt_group(*args) + +def rename_bptgrp(*args): + """ + rename_bptgrp(old_name, new_name) -> bool + """ + return _idaapi.rename_bptgrp(*args) + +def del_bptgrp(*args): + """ + del_bptgrp(name) -> bool + """ + return _idaapi.del_bptgrp(*args) + +def get_grp_bpts(*args): + """ + get_grp_bpts(bpts, grp_name) -> ssize_t + """ + return _idaapi.get_grp_bpts(*args) + +def get_manual_regions(*args): + """ + get_manual_regions() -> PyObject * + + + Returns the manual memory regions + @return: list(startEA, endEA, name, sclass, sbase, bitness, perm) + """ + return _idaapi.get_manual_regions(*args) + +def dbg_is_loaded(*args): + """ + dbg_is_loaded() -> bool + + + Checks if a debugger is loaded + @return: Boolean + """ + return _idaapi.dbg_is_loaded(*args) + +def refresh_debugger_memory(*args): + """ + refresh_debugger_memory() -> PyObject * + + + Refreshes the debugger memory + @return: Nothing + """ + return _idaapi.refresh_debugger_memory(*args) +class DBG_Hooks(object): + """ + Proxy of C++ DBG_Hooks class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + __swig_destroy__ = _idaapi.delete_DBG_Hooks + __del__ = lambda self : None; + def hook(self, *args): + """ + hook(self) -> bool + """ + return _idaapi.DBG_Hooks_hook(self, *args) + + def unhook(self, *args): + """ + unhook(self) -> bool + """ + return _idaapi.DBG_Hooks_unhook(self, *args) + + def dbg_process_start(self, *args): + """ + dbg_process_start(self, pid, tid, ea, name, base, size) + """ + return _idaapi.DBG_Hooks_dbg_process_start(self, *args) + + def dbg_process_exit(self, *args): + """ + dbg_process_exit(self, pid, tid, ea, exit_code) + """ + return _idaapi.DBG_Hooks_dbg_process_exit(self, *args) + + def dbg_process_attach(self, *args): + """ + dbg_process_attach(self, pid, tid, ea, name, base, size) + """ + return _idaapi.DBG_Hooks_dbg_process_attach(self, *args) + + def dbg_process_detach(self, *args): + """ + dbg_process_detach(self, pid, tid, ea) + """ + return _idaapi.DBG_Hooks_dbg_process_detach(self, *args) + + def dbg_thread_start(self, *args): + """ + dbg_thread_start(self, pid, tid, ea) + """ + return _idaapi.DBG_Hooks_dbg_thread_start(self, *args) + + def dbg_thread_exit(self, *args): + """ + dbg_thread_exit(self, pid, tid, ea, exit_code) + """ + return _idaapi.DBG_Hooks_dbg_thread_exit(self, *args) + + def dbg_library_load(self, *args): + """ + dbg_library_load(self, pid, tid, ea, name, base, size) + """ + return _idaapi.DBG_Hooks_dbg_library_load(self, *args) + + def dbg_library_unload(self, *args): + """ + dbg_library_unload(self, pid, tid, ea, libname) + """ + return _idaapi.DBG_Hooks_dbg_library_unload(self, *args) + + def dbg_information(self, *args): + """ + dbg_information(self, pid, tid, ea, info) + """ + return _idaapi.DBG_Hooks_dbg_information(self, *args) + + def dbg_exception(self, *args): + """ + dbg_exception(self, pid, tid, ea, code, can_cont, exc_ea, info) -> int + """ + return _idaapi.DBG_Hooks_dbg_exception(self, *args) + + def dbg_suspend_process(self, *args): + """ + dbg_suspend_process(self) + """ + return _idaapi.DBG_Hooks_dbg_suspend_process(self, *args) + + def dbg_bpt(self, *args): + """ + dbg_bpt(self, tid, breakpoint_ea) -> int + """ + return _idaapi.DBG_Hooks_dbg_bpt(self, *args) + + def dbg_trace(self, *args): + """ + dbg_trace(self, tid, ip) -> int + """ + return _idaapi.DBG_Hooks_dbg_trace(self, *args) + + def dbg_request_error(self, *args): + """ + dbg_request_error(self, failed_command, failed_dbg_notification) + """ + return _idaapi.DBG_Hooks_dbg_request_error(self, *args) + + def dbg_step_into(self, *args): + """ + dbg_step_into(self) + """ + return _idaapi.DBG_Hooks_dbg_step_into(self, *args) + + def dbg_step_over(self, *args): + """ + dbg_step_over(self) + """ + return _idaapi.DBG_Hooks_dbg_step_over(self, *args) + + def dbg_run_to(self, *args): + """ + dbg_run_to(self, pid, tid, ea) + """ + return _idaapi.DBG_Hooks_dbg_run_to(self, *args) + + def dbg_step_until_ret(self, *args): + """ + dbg_step_until_ret(self) + """ + return _idaapi.DBG_Hooks_dbg_step_until_ret(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> DBG_Hooks + """ + if self.__class__ == DBG_Hooks: + _self = None + else: + _self = self + this = _idaapi.new_DBG_Hooks(_self, *args) + try: self.this.append(this) + except: self.this = this + def __disown__(self): + self.this.disown() + _idaapi.disown_DBG_Hooks(self) + return weakref_proxy(self) +DBG_Hooks_swigregister = _idaapi.DBG_Hooks_swigregister +DBG_Hooks_swigregister(DBG_Hooks) + + +def list_bptgrps(*args): + """ + list_bptgrps(bptgrps) -> size_t + list_bptgrps() -> PyObject * + """ + return _idaapi.list_bptgrps(*args) + +def move_bpt_to_grp(*args): + """ + move_bpt_to_grp(bpt, grp_name) + + + Sets new group for the breakpoint + """ + return _idaapi.move_bpt_to_grp(*args) + +def 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. + """ + return _idaapi.internal_get_sreg_base(*args) + +def idadir(*args): + """ + idadir(subdir) -> char const * + """ + return _idaapi.idadir(*args) + +def getsysfile(*args): + """ + getsysfile(filename, subdir) -> char * + """ + return _idaapi.getsysfile(*args) +CFG_SUBDIR = _idaapi.CFG_SUBDIR +IDC_SUBDIR = _idaapi.IDC_SUBDIR +IDS_SUBDIR = _idaapi.IDS_SUBDIR +IDP_SUBDIR = _idaapi.IDP_SUBDIR +LDR_SUBDIR = _idaapi.LDR_SUBDIR +SIG_SUBDIR = _idaapi.SIG_SUBDIR +TIL_SUBDIR = _idaapi.TIL_SUBDIR +PLG_SUBDIR = _idaapi.PLG_SUBDIR + +def get_user_idadir(*args): + """ + get_user_idadir() -> char const * + """ + return _idaapi.get_user_idadir(*args) + +def get_special_folder(*args): + """ + get_special_folder(csidl) -> bool + """ + return _idaapi.get_special_folder(*args) +CSIDL_APPDATA = _idaapi.CSIDL_APPDATA +CSIDL_LOCAL_APPDATA = _idaapi.CSIDL_LOCAL_APPDATA +CSIDL_PROGRAM_FILES = _idaapi.CSIDL_PROGRAM_FILES +CSIDL_PROGRAM_FILES_COMMON = _idaapi.CSIDL_PROGRAM_FILES_COMMON +CSIDL_PROGRAM_FILESX86 = _idaapi.CSIDL_PROGRAM_FILESX86 + +def fopenWT(*args): + """ + fopenWT(file) -> FILE * + """ + return _idaapi.fopenWT(*args) + +def fopenWB(*args): + """ + fopenWB(file) -> FILE * + """ + return _idaapi.fopenWB(*args) + +def fopenRT(*args): + """ + fopenRT(file) -> FILE * + """ + return _idaapi.fopenRT(*args) + +def fopenRB(*args): + """ + fopenRB(file) -> FILE * + """ + return _idaapi.fopenRB(*args) + +def fopenM(*args): + """ + fopenM(file) -> FILE * + """ + return _idaapi.fopenM(*args) + +def fopenA(*args): + """ + fopenA(file) -> FILE * + """ + return _idaapi.fopenA(*args) + +def openR(*args): + """ + openR(file) -> FILE * + """ + return _idaapi.openR(*args) + +def openRT(*args): + """ + openRT(file) -> FILE * + """ + return _idaapi.openRT(*args) + +def openM(*args): + """ + openM(file) -> FILE * + """ + return _idaapi.openM(*args) + +def ecreate(*args): + """ + ecreate(file) -> FILE * + """ + return _idaapi.ecreate(*args) + +def ecreateT(*args): + """ + ecreateT(file) -> FILE * + """ + return _idaapi.ecreateT(*args) + +def eclose(*args): + """ + eclose(fp) + """ + return _idaapi.eclose(*args) + +def eseek(*args): + """ + eseek(fp, pos) + """ + return _idaapi.eseek(*args) + +def eseek64(*args): + """ + eseek64(fp, pos) + """ + return _idaapi.eseek64(*args) + +def qfsize(*args): + """ + qfsize(fp) -> uint32 + """ + return _idaapi.qfsize(*args) + +def qfsize64(*args): + """ + qfsize64(fp) -> uint64 + """ + return _idaapi.qfsize64(*args) + +def echsize(*args): + """ + echsize(fp, size) + """ + return _idaapi.echsize(*args) + +def echsize64(*args): + """ + echsize64(fp, size) + """ + return _idaapi.echsize64(*args) + +def getdspace(*args): + """ + getdspace(path) -> uint64 + """ + return _idaapi.getdspace(*args) + +def call_system(*args): + """ + call_system(command) -> int + """ + return _idaapi.call_system(*args) +LINPUT_NONE = _idaapi.LINPUT_NONE +LINPUT_LOCAL = _idaapi.LINPUT_LOCAL +LINPUT_RFILE = _idaapi.LINPUT_RFILE +LINPUT_PROCMEM = _idaapi.LINPUT_PROCMEM +LINPUT_GENERIC = _idaapi.LINPUT_GENERIC + +def qlgetz(*args): + """ + qlgetz(li, fpos) -> char * + """ + return _idaapi.qlgetz(*args) + +def qlgetz64(*args): + """ + qlgetz64(li, fpos) -> char * + """ + return _idaapi.qlgetz64(*args) + +def qlsize64(*args): + """ + qlsize64(li) -> int64 + """ + return _idaapi.qlsize64(*args) + +def qlseek64(*args): + """ + qlseek64(li, pos, whence=SEEK_SET) -> qoff64_t + """ + return _idaapi.qlseek64(*args) + +def qltell64(*args): + """ + qltell64(li) -> int64 + """ + return _idaapi.qltell64(*args) + +def open_linput(*args): + """ + open_linput(file, remote) -> linput_t * + """ + return _idaapi.open_linput(*args) + +def close_linput(*args): + """ + close_linput(li) + """ + return _idaapi.close_linput(*args) +class generic_linput_t(object): + """ + Proxy of C++ generic_linput_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + filesize = _swig_property(_idaapi.generic_linput_t_filesize_get, _idaapi.generic_linput_t_filesize_set) + blocksize = _swig_property(_idaapi.generic_linput_t_blocksize_get, _idaapi.generic_linput_t_blocksize_set) + def read(self, *args): + """ + read(self, off, buffer, nbytes) -> ssize_t + """ + return _idaapi.generic_linput_t_read(self, *args) + + __swig_destroy__ = _idaapi.delete_generic_linput_t + __del__ = lambda self : None; +generic_linput_t_swigregister = _idaapi.generic_linput_t_swigregister +generic_linput_t_swigregister(generic_linput_t) + +class generic_linput64_t(object): + """ + Proxy of C++ generic_linput64_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + filesize = _swig_property(_idaapi.generic_linput64_t_filesize_get, _idaapi.generic_linput64_t_filesize_set) + blocksize = _swig_property(_idaapi.generic_linput64_t_blocksize_get, _idaapi.generic_linput64_t_blocksize_set) + def read64(self, *args): + """ + read64(self, off, buffer, nbytes) -> ssize_t + """ + return _idaapi.generic_linput64_t_read64(self, *args) + + __swig_destroy__ = _idaapi.delete_generic_linput64_t + __del__ = lambda self : None; +generic_linput64_t_swigregister = _idaapi.generic_linput64_t_swigregister +generic_linput64_t_swigregister(generic_linput64_t) + + +def create_generic_linput(*args): + """ + create_generic_linput(gl) -> linput_t * + """ + return _idaapi.create_generic_linput(*args) + +def create_generic_linput64(*args): + """ + create_generic_linput64(gl) -> linput_t * + """ + return _idaapi.create_generic_linput64(*args) + +def create_bytearray_linput(*args): + """ + create_bytearray_linput(start, size) -> linput_t * + """ + return _idaapi.create_bytearray_linput(*args) + +def create_memory_linput(*args): + """ + create_memory_linput(start, size) -> linput_t * + """ + return _idaapi.create_memory_linput(*args) + +def get_linput_type(*args): + """ + get_linput_type(li) -> linput_type_t + """ + return _idaapi.get_linput_type(*args) +class linput_buffer_t(object): + """ + Proxy of C++ linput_buffer_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, linput, size=0) -> linput_buffer_t + """ + this = _idaapi.new_linput_buffer_t(*args) + try: self.this.append(this) + except: self.this = this + def read(self, *args): + """ + read(self, buf, n) -> ssize_t + """ + return _idaapi.linput_buffer_t_read(self, *args) + + def eof(self, *args): + """ + eof(self) -> bool + """ + return _idaapi.linput_buffer_t_eof(self, *args) + + __swig_destroy__ = _idaapi.delete_linput_buffer_t + __del__ = lambda self : None; +linput_buffer_t_swigregister = _idaapi.linput_buffer_t_swigregister +linput_buffer_t_swigregister(linput_buffer_t) + +class loader_input_t(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. + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + __idc_cvt_id__ = _swig_property(_idaapi.loader_input_t___idc_cvt_id___get, _idaapi.loader_input_t___idc_cvt_id___set) + def __init__(self, *args): + """ + __init__(self, pycobject=None) -> loader_input_t + + + Closes the file + """ + this = _idaapi.new_loader_input_t(*args) + try: self.this.append(this) + except: self.this = this + def close(self, *args): + """ + close(self) + """ + return _idaapi.loader_input_t_close(self, *args) + + __swig_destroy__ = _idaapi.delete_loader_input_t + __del__ = lambda self : None; + def open(self, *args): + """ + open(self, filename, remote=False) -> bool + + + Opens a file (or a remote file) + @return: Boolean + """ + return _idaapi.loader_input_t_open(self, *args) + + def set_linput(self, *args): + """ + set_linput(self, linput) + + + Links the current loader_input_t instance to a linput_t instance + """ + return _idaapi.loader_input_t_set_linput(self, *args) + + def from_linput(*args): + """ + from_linput(linput) -> loader_input_t + """ + return _idaapi.loader_input_t_from_linput(*args) + + from_linput = staticmethod(from_linput) + def from_cobject(*args): + """ + from_cobject(pycobject) -> loader_input_t + """ + return _idaapi.loader_input_t_from_cobject(*args) + + from_cobject = staticmethod(from_cobject) + def from_fp(*args): + """ + from_fp(fp) -> loader_input_t + + + A static method to construct an instance from a FILE* + """ + return _idaapi.loader_input_t_from_fp(*args) + + from_fp = staticmethod(from_fp) + def get_linput(self, *args): + """ + get_linput(self) -> linput_t * + """ + return _idaapi.loader_input_t_get_linput(self, *args) + + def 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 area to represent as linput + if unknown, may be passed as 0 + """ + return _idaapi.loader_input_t_open_memory(self, *args) + + def seek(self, *args): + """ + seek(self, pos, whence=SEEK_SET) -> int32 + + + Set input source position + @return: the new position (not 0 as fseek!) + """ + return _idaapi.loader_input_t_seek(self, *args) + + def tell(self, *args): + """ + tell(self) -> int32 + + + Returns the current position + """ + return _idaapi.loader_input_t_tell(self, *args) + + def 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. + """ + return _idaapi.loader_input_t_getz(self, *args) + + def gets(self, *args): + """ + gets(self, len) -> PyObject * + + + Reads a line from the input file. Returns the read line or None + """ + return _idaapi.loader_input_t_gets(self, *args) + + def read(self, *args): + """ + read(self, size) -> PyObject * + + + Reads from the file. Returns the buffer or None + """ + return _idaapi.loader_input_t_read(self, *args) + + def opened(self, *args): + """ + opened(self) -> bool + + + Checks if the file is opened or not + """ + return _idaapi.loader_input_t_opened(self, *args) + + def readbytes(self, *args): + """ + readbytes(self, size, big_endian) -> PyObject * + + + Similar to read() but it respect the endianness + """ + return _idaapi.loader_input_t_readbytes(self, *args) + + def 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 + """ + return _idaapi.loader_input_t_file2base(self, *args) + + def size(self, *args): + """ + size(self) -> int32 + """ + return _idaapi.loader_input_t_size(self, *args) + + def filename(self, *args): + """ + filename(self) -> PyObject * + """ + return _idaapi.loader_input_t_filename(self, *args) + + def get_char(self, *args): + """ + get_char(self) -> PyObject * + + + Reads a single character from the file. Returns None if EOF or the read character + """ + return _idaapi.loader_input_t_get_char(self, *args) + +loader_input_t_swigregister = _idaapi.loader_input_t_swigregister +loader_input_t_swigregister(loader_input_t) + +def loader_input_t_from_linput(*args): + """ + loader_input_t_from_linput(linput) -> loader_input_t + """ + return _idaapi.loader_input_t_from_linput(*args) + +def loader_input_t_from_cobject(*args): + """ + loader_input_t_from_cobject(pycobject) -> loader_input_t + """ + return _idaapi.loader_input_t_from_cobject(*args) + +def loader_input_t_from_fp(*args): + """ + loader_input_t_from_fp(fp) -> loader_input_t + """ + return _idaapi.loader_input_t_from_fp(*args) + + +def 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 + """ + return _idaapi.enumerate_files(*args) +# +def enumerate_system_files(subdir, fname, callback): + """ + Similar to enumerate_files() however it searches inside IDA directory or its subdirectories + """ + return enumerate_files(idadir(subdir), fname, callback) +# + + +def get_entry_qty(*args): + """ + get_entry_qty() -> size_t + """ + return _idaapi.get_entry_qty(*args) + +def add_entry(*args): + """ + add_entry(ord, ea, name, makecode) -> bool + """ + return _idaapi.add_entry(*args) + +def get_entry_ordinal(*args): + """ + get_entry_ordinal(idx) -> uval_t + """ + return _idaapi.get_entry_ordinal(*args) + +def get_entry(*args): + """ + get_entry(ord) -> ea_t + """ + return _idaapi.get_entry(*args) + +def get_entry_name(*args): + """ + get_entry_name(ord) -> ssize_t + """ + return _idaapi.get_entry_name(*args) + +def rename_entry(*args): + """ + rename_entry(ord, name) -> bool + """ + return _idaapi.rename_entry(*args) +ENUM_FLAGS_FROMTIL = _idaapi.ENUM_FLAGS_FROMTIL +ENUM_FLAGS_WIDTH = _idaapi.ENUM_FLAGS_WIDTH +ENUM_FLAGS_GHOST = _idaapi.ENUM_FLAGS_GHOST + +def get_enum_qty(*args): + """ + get_enum_qty() -> size_t + """ + return _idaapi.get_enum_qty(*args) + +def getn_enum(*args): + """ + getn_enum(n) -> enum_t + """ + return _idaapi.getn_enum(*args) + +def get_enum_idx(*args): + """ + get_enum_idx(id) -> uval_t + """ + return _idaapi.get_enum_idx(*args) + +def get_enum(*args): + """ + get_enum(name) -> enum_t + """ + return _idaapi.get_enum(*args) + +def is_bf(*args): + """ + is_bf(id) -> bool + """ + return _idaapi.is_bf(*args) + +def is_enum_hidden(*args): + """ + is_enum_hidden(id) -> bool + """ + return _idaapi.is_enum_hidden(*args) + +def set_enum_hidden(*args): + """ + set_enum_hidden(id, hidden) -> bool + """ + return _idaapi.set_enum_hidden(*args) + +def is_enum_fromtil(*args): + """ + is_enum_fromtil(id) -> bool + """ + return _idaapi.is_enum_fromtil(*args) + +def set_enum_fromtil(*args): + """ + set_enum_fromtil(id, fromtil) -> bool + """ + return _idaapi.set_enum_fromtil(*args) + +def is_ghost_enum(*args): + """ + is_ghost_enum(id) -> bool + """ + return _idaapi.is_ghost_enum(*args) + +def set_enum_ghost(*args): + """ + set_enum_ghost(id, ghost) -> bool + """ + return _idaapi.set_enum_ghost(*args) + +def get_enum_name(*args): + """ + get_enum_name(id) -> ssize_t + """ + return _idaapi.get_enum_name(*args) + +def get_enum_width(*args): + """ + get_enum_width(id) -> size_t + """ + return _idaapi.get_enum_width(*args) + +def set_enum_width(*args): + """ + set_enum_width(id, width) -> bool + """ + return _idaapi.set_enum_width(*args) + +def get_enum_cmt(*args): + """ + get_enum_cmt(id, repeatable) -> ssize_t + """ + return _idaapi.get_enum_cmt(*args) + +def get_enum_size(*args): + """ + get_enum_size(id) -> size_t + """ + return _idaapi.get_enum_size(*args) + +def get_enum_flag(*args): + """ + get_enum_flag(id) -> flags_t + """ + return _idaapi.get_enum_flag(*args) + +def get_enum_member_by_name(*args): + """ + get_enum_member_by_name(name) -> const_t + """ + return _idaapi.get_enum_member_by_name(*args) + +def get_enum_member_value(*args): + """ + get_enum_member_value(id) -> uval_t + """ + return _idaapi.get_enum_member_value(*args) + +def get_enum_member_enum(*args): + """ + get_enum_member_enum(id) -> enum_t + """ + return _idaapi.get_enum_member_enum(*args) + +def get_enum_member_bmask(*args): + """ + get_enum_member_bmask(id) -> bmask_t + """ + return _idaapi.get_enum_member_bmask(*args) + +def get_enum_member(*args): + """ + get_enum_member(id, value, serial, mask) -> const_t + """ + return _idaapi.get_enum_member(*args) + +def get_first_bmask(*args): + """ + get_first_bmask(id) -> bmask_t + """ + return _idaapi.get_first_bmask(*args) + +def get_last_bmask(*args): + """ + get_last_bmask(id) -> bmask_t + """ + return _idaapi.get_last_bmask(*args) + +def get_next_bmask(*args): + """ + get_next_bmask(id, bmask) -> bmask_t + """ + return _idaapi.get_next_bmask(*args) + +def get_prev_bmask(*args): + """ + get_prev_bmask(id, bmask) -> bmask_t + """ + return _idaapi.get_prev_bmask(*args) + +def get_first_enum_member(*args): + """ + get_first_enum_member(id, bmask=(bmask_t(-1))) -> uval_t + """ + return _idaapi.get_first_enum_member(*args) + +def get_last_enum_member(*args): + """ + get_last_enum_member(id, bmask=(bmask_t(-1))) -> uval_t + """ + return _idaapi.get_last_enum_member(*args) + +def get_next_enum_member(*args): + """ + get_next_enum_member(id, value, bmask=(bmask_t(-1))) -> uval_t + """ + return _idaapi.get_next_enum_member(*args) + +def get_prev_enum_member(*args): + """ + get_prev_enum_member(id, value, bmask=(bmask_t(-1))) -> uval_t + """ + return _idaapi.get_prev_enum_member(*args) + +def get_enum_member_name(*args): + """ + get_enum_member_name(id) -> ssize_t + """ + return _idaapi.get_enum_member_name(*args) + +def get_enum_member_cmt(*args): + """ + get_enum_member_cmt(id, repeatable) -> ssize_t + """ + return _idaapi.get_enum_member_cmt(*args) + +def get_first_serial_enum_member(*args): + """ + get_first_serial_enum_member(id, value, bmask) -> const_t + """ + return _idaapi.get_first_serial_enum_member(*args) + +def get_last_serial_enum_member(*args): + """ + get_last_serial_enum_member(id, value, bmask) -> const_t + """ + return _idaapi.get_last_serial_enum_member(*args) + +def get_next_serial_enum_member(*args): + """ + get_next_serial_enum_member(first_cid, in_out_serial) -> const_t + """ + return _idaapi.get_next_serial_enum_member(*args) + +def get_prev_serial_enum_member(*args): + """ + get_prev_serial_enum_member(first_cid, in_out_serial) -> const_t + """ + return _idaapi.get_prev_serial_enum_member(*args) +class enum_member_visitor_t(object): + """ + Proxy of C++ enum_member_visitor_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + def visit_enum_member(self, *args): + """ + visit_enum_member(self, cid, value) -> int + """ + return _idaapi.enum_member_visitor_t_visit_enum_member(self, *args) + + __swig_destroy__ = _idaapi.delete_enum_member_visitor_t + __del__ = lambda self : None; +enum_member_visitor_t_swigregister = _idaapi.enum_member_visitor_t_swigregister +enum_member_visitor_t_swigregister(enum_member_visitor_t) +MAX_ENUM_SERIAL = cvar.MAX_ENUM_SERIAL + + +def for_all_enum_members(*args): + """ + for_all_enum_members(id, cv) -> int + """ + return _idaapi.for_all_enum_members(*args) + +def get_enum_member_serial(*args): + """ + get_enum_member_serial(cid) -> uchar + """ + return _idaapi.get_enum_member_serial(*args) + +def get_enum_type_ordinal(*args): + """ + get_enum_type_ordinal(id) -> int32 + """ + return _idaapi.get_enum_type_ordinal(*args) + +def set_enum_type_ordinal(*args): + """ + set_enum_type_ordinal(id, ord) + """ + return _idaapi.set_enum_type_ordinal(*args) + +def add_enum(*args): + """ + add_enum(idx, name, flag) -> enum_t + """ + return _idaapi.add_enum(*args) + +def del_enum(*args): + """ + del_enum(id) + """ + return _idaapi.del_enum(*args) + +def set_enum_idx(*args): + """ + set_enum_idx(id, idx) -> bool + """ + return _idaapi.set_enum_idx(*args) + +def set_enum_bf(*args): + """ + set_enum_bf(id, bf) -> bool + """ + return _idaapi.set_enum_bf(*args) + +def set_enum_name(*args): + """ + set_enum_name(id, name) -> bool + """ + return _idaapi.set_enum_name(*args) + +def set_enum_cmt(*args): + """ + set_enum_cmt(id, cmt, repeatable) -> bool + """ + return _idaapi.set_enum_cmt(*args) + +def add_enum_member(*args): + """ + add_enum_member(id, name, value, bmask=(bmask_t(-1))) -> int + """ + return _idaapi.add_enum_member(*args) +ENUM_MEMBER_ERROR_NAME = _idaapi.ENUM_MEMBER_ERROR_NAME +ENUM_MEMBER_ERROR_VALUE = _idaapi.ENUM_MEMBER_ERROR_VALUE +ENUM_MEMBER_ERROR_ENUM = _idaapi.ENUM_MEMBER_ERROR_ENUM +ENUM_MEMBER_ERROR_MASK = _idaapi.ENUM_MEMBER_ERROR_MASK +ENUM_MEMBER_ERROR_ILLV = _idaapi.ENUM_MEMBER_ERROR_ILLV + +def del_enum_member(*args): + """ + del_enum_member(id, value, serial, bmask) -> bool + """ + return _idaapi.del_enum_member(*args) + +def set_enum_member_name(*args): + """ + set_enum_member_name(id, name) -> bool + """ + return _idaapi.set_enum_member_name(*args) + +def set_enum_member_cmt(*args): + """ + set_enum_member_cmt(id, cmt, repeatable) -> bool + """ + return _idaapi.set_enum_member_cmt(*args) + +def is_one_bit_mask(*args): + """ + is_one_bit_mask(mask) -> bool + """ + return _idaapi.is_one_bit_mask(*args) + +def get_bmask_node(*args): + """ + get_bmask_node(id, bmask) -> netnode + """ + return _idaapi.get_bmask_node(*args) + +def set_bmask_name(*args): + """ + set_bmask_name(id, bmask, name) -> bool + """ + return _idaapi.set_bmask_name(*args) + +def get_bmask_name(*args): + """ + get_bmask_name(id, bmask) -> ssize_t + """ + return _idaapi.get_bmask_name(*args) + +def set_bmask_cmt(*args): + """ + set_bmask_cmt(id, bmask, cmt, repeatable) -> bool + """ + return _idaapi.set_bmask_cmt(*args) + +def get_bmask_cmt(*args): + """ + get_bmask_cmt(id, bmask, repeatable) -> ssize_t + """ + return _idaapi.get_bmask_cmt(*args) + +def add_const(*args): + """ + add_const(id, name, value, bmask=(bmask_t(-1))) -> int + """ + return _idaapi.add_const(*args) +CONST_ERROR_NAME = _idaapi.CONST_ERROR_NAME +CONST_ERROR_VALUE = _idaapi.CONST_ERROR_VALUE +CONST_ERROR_ENUM = _idaapi.CONST_ERROR_ENUM +CONST_ERROR_MASK = _idaapi.CONST_ERROR_MASK +CONST_ERROR_ILLV = _idaapi.CONST_ERROR_ILLV + +def del_const(*args): + """ + del_const(id, value, serial, bmask) -> bool + """ + return _idaapi.del_const(*args) + +def set_const_name(*args): + """ + set_const_name(id, name) -> bool + """ + return _idaapi.set_const_name(*args) + +def set_const_cmt(*args): + """ + set_const_cmt(id, cmt, repeatable) -> bool + """ + return _idaapi.set_const_cmt(*args) + +def get_const_by_name(*args): + """ + get_const_by_name(name) -> const_t + """ + return _idaapi.get_const_by_name(*args) + +def get_const_value(*args): + """ + get_const_value(id) -> uval_t + """ + return _idaapi.get_const_value(*args) + +def get_const_enum(*args): + """ + get_const_enum(id) -> enum_t + """ + return _idaapi.get_const_enum(*args) + +def get_const_bmask(*args): + """ + get_const_bmask(id) -> bmask_t + """ + return _idaapi.get_const_bmask(*args) + +def get_const(*args): + """ + get_const(id, value, serial, mask) -> const_t + """ + return _idaapi.get_const(*args) + +def get_first_const(*args): + """ + get_first_const(id, bmask=(bmask_t(-1))) -> uval_t + """ + return _idaapi.get_first_const(*args) + +def get_last_const(*args): + """ + get_last_const(id, bmask=(bmask_t(-1))) -> uval_t + """ + return _idaapi.get_last_const(*args) + +def get_next_const(*args): + """ + get_next_const(id, value, bmask=(bmask_t(-1))) -> uval_t + """ + return _idaapi.get_next_const(*args) + +def get_prev_const(*args): + """ + get_prev_const(id, value, bmask=(bmask_t(-1))) -> uval_t + """ + return _idaapi.get_prev_const(*args) + +def get_const_name(*args): + """ + get_const_name(id) -> ssize_t + """ + return _idaapi.get_const_name(*args) + +def get_const_cmt(*args): + """ + get_const_cmt(id, repeatable) -> ssize_t + """ + return _idaapi.get_const_cmt(*args) + +def get_first_serial_const(*args): + """ + get_first_serial_const(id, value, bmask) -> const_t + """ + return _idaapi.get_first_serial_const(*args) + +def get_last_serial_const(*args): + """ + get_last_serial_const(id, value, bmask) -> const_t + """ + return _idaapi.get_last_serial_const(*args) + +def get_next_serial_const(*args): + """ + get_next_serial_const(first_cid) -> const_t + """ + return _idaapi.get_next_serial_const(*args) + +def get_prev_serial_const(*args): + """ + get_prev_serial_const(first_cid) -> const_t + """ + return _idaapi.get_prev_serial_const(*args) +class const_visitor_t(object): + """ + Proxy of C++ const_visitor_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + def visit_const(self, *args): + """ + visit_const(self, cid, value) -> int + """ + return _idaapi.const_visitor_t_visit_const(self, *args) + + __swig_destroy__ = _idaapi.delete_const_visitor_t + __del__ = lambda self : None; +const_visitor_t_swigregister = _idaapi.const_visitor_t_swigregister +const_visitor_t_swigregister(const_visitor_t) + + +def for_all_consts(*args): + """ + for_all_consts(id, cv) -> int + """ + return _idaapi.for_all_consts(*args) + +def get_const_serial(*args): + """ + get_const_serial(cid) -> uchar + """ + return _idaapi.get_const_serial(*args) + +def py_get_call_idc_func(*args): + """ + py_get_call_idc_func() -> size_t + """ + return _idaapi.py_get_call_idc_func(*args) + +def pyw_register_idc_func(*args): + """ + pyw_register_idc_func(name, args, py_fp) -> size_t + """ + return _idaapi.pyw_register_idc_func(*args) + +def pyw_unregister_idc_func(*args): + """ + pyw_unregister_idc_func(ctxptr) -> bool + """ + return _idaapi.pyw_unregister_idc_func(*args) + +def py_set_idc_func_ex(*args): + """ + py_set_idc_func_ex(name, fp_ptr, args, flags) -> bool + """ + return _idaapi.py_set_idc_func_ex(*args) + +def CompileEx(*args): + """ + CompileEx(file, del_macros) -> bool + """ + return _idaapi.CompileEx(*args) + +def Compile(*args): + """ + Compile(file) -> bool + """ + return _idaapi.Compile(*args) + +def calcexpr(*args): + """ + calcexpr(where, line, rv) -> bool + """ + return _idaapi.calcexpr(*args) + +def calc_idc_expr(*args): + """ + calc_idc_expr(where, line, rv) -> bool + """ + return _idaapi.calc_idc_expr(*args) + +def CompileLine(*args): + """ + CompileLine(line) -> bool + """ + return _idaapi.CompileLine(*args) +IDC_LANG_EXT = _idaapi.IDC_LANG_EXT + +def VarInt64(*args): + """ + VarInt64(v) -> error_t + """ + return _idaapi.VarInt64(*args) + +def VarString2(*args): + """ + VarString2(v) -> error_t + """ + return _idaapi.VarString2(*args) + +def VarObject(*args): + """ + VarObject(v, icls=None) -> error_t + """ + return _idaapi.VarObject(*args) + +def VarCopy(*args): + """ + VarCopy(dst, src) -> error_t + """ + return _idaapi.VarCopy(*args) + +def VarSwap(*args): + """ + VarSwap(v1, v2) + """ + return _idaapi.VarSwap(*args) + +def VarGetClassName(*args): + """ + VarGetClassName(obj, name) -> error_t + """ + return _idaapi.VarGetClassName(*args) + +def VarGetAttr(*args): + """ + VarGetAttr(obj, attr, res, may_use_getattr=False) -> error_t + """ + return _idaapi.VarGetAttr(*args) + +def VarSetAttr(*args): + """ + VarSetAttr(obj, attr, value, may_use_setattr=False) -> error_t + """ + return _idaapi.VarSetAttr(*args) + +def VarDelAttr(*args): + """ + VarDelAttr(obj, attr) -> error_t + """ + return _idaapi.VarDelAttr(*args) + +def VarFirstAttr(*args): + """ + VarFirstAttr(obj) -> char const * + """ + return _idaapi.VarFirstAttr(*args) + +def VarLastAttr(*args): + """ + VarLastAttr(obj) -> char const * + """ + return _idaapi.VarLastAttr(*args) + +def VarNextAttr(*args): + """ + VarNextAttr(obj, attr) -> char const * + """ + return _idaapi.VarNextAttr(*args) + +def VarPrevAttr(*args): + """ + VarPrevAttr(obj, attr) -> char const * + """ + return _idaapi.VarPrevAttr(*args) + +def VarAssign(*args): + """ + VarAssign(dst, src) -> error_t + """ + return _idaapi.VarAssign(*args) + +def VarMove(*args): + """ + VarMove(dst, src) -> error_t + """ + return _idaapi.VarMove(*args) + +def VarPrint(*args): + """ + VarPrint(v, name=None, indent=0) -> bool + """ + return _idaapi.VarPrint(*args) + +def VarGetSlice(*args): + """ + VarGetSlice(v, i1, i2, res, flags=0) -> error_t + """ + return _idaapi.VarGetSlice(*args) +VARSLICE_SINGLE = _idaapi.VARSLICE_SINGLE + +def VarSetSlice(*args): + """ + VarSetSlice(v, i1, i2, _in, flags=0) -> error_t + """ + return _idaapi.VarSetSlice(*args) + +def add_idc_class(*args): + """ + add_idc_class(name, super=None) -> idc_class_t * + """ + return _idaapi.add_idc_class(*args) + +def find_idc_class(*args): + """ + find_idc_class(name) -> idc_class_t * + """ + return _idaapi.find_idc_class(*args) + +def VarDeref(*args): + """ + VarDeref(v, vref_flags) -> idc_value_t + """ + return _idaapi.VarDeref(*args) +VREF_LOOP = _idaapi.VREF_LOOP +VREF_ONCE = _idaapi.VREF_ONCE +VREF_COPY = _idaapi.VREF_COPY + +def VarRef(*args): + """ + VarRef(ref, v) -> bool + """ + return _idaapi.VarRef(*args) + +def add_idc_gvar(*args): + """ + add_idc_gvar(name) -> idc_value_t + """ + return _idaapi.add_idc_gvar(*args) + +def find_idc_gvar(*args): + """ + find_idc_gvar(name) -> idc_value_t + """ + return _idaapi.find_idc_gvar(*args) +class idc_value_t(object): + """ + Proxy of C++ idc_value_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + vtype = _swig_property(_idaapi.idc_value_t_vtype_get, _idaapi.idc_value_t_vtype_set) + str = _swig_property(_idaapi.idc_value_t_str_get, _idaapi.idc_value_t_str_set) + num = _swig_property(_idaapi.idc_value_t_num_get, _idaapi.idc_value_t_num_set) + e = _swig_property(_idaapi.idc_value_t_e_get, _idaapi.idc_value_t_e_set) + obj = _swig_property(_idaapi.idc_value_t_obj_get, _idaapi.idc_value_t_obj_set) + funcidx = _swig_property(_idaapi.idc_value_t_funcidx_get, _idaapi.idc_value_t_funcidx_set) + pvoid = _swig_property(_idaapi.idc_value_t_pvoid_get, _idaapi.idc_value_t_pvoid_set) + i64 = _swig_property(_idaapi.idc_value_t_i64_get, _idaapi.idc_value_t_i64_set) + reserve = _swig_property(_idaapi.idc_value_t_reserve_get, _idaapi.idc_value_t_reserve_set) + def __init__(self, *args): + """ + __init__(self, n=0) -> idc_value_t + __init__(self, r) -> idc_value_t + __init__(self, _str) -> idc_value_t + __init__(self, _str) -> idc_value_t + """ + this = _idaapi.new_idc_value_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_idc_value_t + __del__ = lambda self : None; + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.idc_value_t_clear(self, *args) + + def qstr(self, *args): + """ + qstr(self) -> qstring + qstr(self) -> qstring const & + """ + return _idaapi.idc_value_t_qstr(self, *args) + + def c_str(self, *args): + """ + c_str(self) -> char const * + """ + return _idaapi.idc_value_t_c_str(self, *args) + + def u_str(self, *args): + """ + u_str(self) -> uchar const * + """ + return _idaapi.idc_value_t_u_str(self, *args) + + def swap(self, *args): + """ + swap(self, v) + """ + return _idaapi.idc_value_t_swap(self, *args) + + def is_zero(self, *args): + """ + is_zero(self) -> bool + """ + return _idaapi.idc_value_t_is_zero(self, *args) + + def is_integral(self, *args): + """ + is_integral(self) -> bool + """ + return _idaapi.idc_value_t_is_integral(self, *args) + + def is_convertible(self, *args): + """ + is_convertible(self) -> bool + """ + return _idaapi.idc_value_t_is_convertible(self, *args) + + def _create_empty_string(self, *args): + """ + _create_empty_string(self) + """ + return _idaapi.idc_value_t__create_empty_string(self, *args) + + def _set_string(self, *args): + """ + _set_string(self, _str) + _set_string(self, _str, len) + _set_string(self, _str) + """ + return _idaapi.idc_value_t__set_string(self, *args) + + def _set_long(self, *args): + """ + _set_long(self, v) + """ + return _idaapi.idc_value_t__set_long(self, *args) + + def create_empty_string(self, *args): + """ + create_empty_string(self) + """ + return _idaapi.idc_value_t_create_empty_string(self, *args) + + def set_string(self, *args): + """ + set_string(self, _str, len) + set_string(self, _str) + set_string(self, _str) + """ + return _idaapi.idc_value_t_set_string(self, *args) + + def set_long(self, *args): + """ + set_long(self, v) + """ + return _idaapi.idc_value_t_set_long(self, *args) + + def set_pvoid(self, *args): + """ + set_pvoid(self, p) + """ + return _idaapi.idc_value_t_set_pvoid(self, *args) + + def set_int64(self, *args): + """ + set_int64(self, v) + """ + return _idaapi.idc_value_t_set_int64(self, *args) + + def set_float(self, *args): + """ + set_float(self, f) + """ + return _idaapi.idc_value_t_set_float(self, *args) + +idc_value_t_swigregister = _idaapi.idc_value_t_swigregister +idc_value_t_swigregister(idc_value_t) +VT_STR = _idaapi.VT_STR +VT_LONG = _idaapi.VT_LONG +VT_FLOAT = _idaapi.VT_FLOAT +VT_WILD = _idaapi.VT_WILD +VT_OBJ = _idaapi.VT_OBJ +VT_FUNC = _idaapi.VT_FUNC +VT_STR2 = _idaapi.VT_STR2 +VT_PVOID = _idaapi.VT_PVOID +VT_INT64 = _idaapi.VT_INT64 +VT_REF = _idaapi.VT_REF + +class idc_global_t(object): + """ + Proxy of C++ idc_global_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + name = _swig_property(_idaapi.idc_global_t_name_get, _idaapi.idc_global_t_name_set) + value = _swig_property(_idaapi.idc_global_t_value_get, _idaapi.idc_global_t_value_set) + def __init__(self, *args): + """ + __init__(self) -> idc_global_t + __init__(self, n) -> idc_global_t + """ + this = _idaapi.new_idc_global_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_idc_global_t + __del__ = lambda self : None; +idc_global_t_swigregister = _idaapi.idc_global_t_swigregister +idc_global_t_swigregister(idc_global_t) + +eExecThrow = _idaapi.eExecThrow + +def install_extlang(*args): + """ + install_extlang(el) -> bool + """ + return _idaapi.install_extlang(*args) + +def remove_extlang(*args): + """ + remove_extlang(el) -> bool + """ + return _idaapi.remove_extlang(*args) + +def select_extlang(*args): + """ + select_extlang(el) -> bool + """ + return _idaapi.select_extlang(*args) + +def get_extlang_fileext(*args): + """ + get_extlang_fileext() -> char const * + """ + return _idaapi.get_extlang_fileext(*args) + +def find_extlang_by_ext(*args): + """ + find_extlang_by_ext(ext) -> extlang_t const * + """ + return _idaapi.find_extlang_by_ext(*args) + +def find_extlang_by_name(*args): + """ + find_extlang_by_name(name) -> extlang_t const * + """ + return _idaapi.find_extlang_by_name(*args) + +def get_idcpath(*args): + """ + get_idcpath() -> char const * + """ + return _idaapi.get_idcpath(*args) + +def set_header_path(*args): + """ + set_header_path(path, add) -> bool + """ + return _idaapi.set_header_path(*args) + +def get_idc_filename(*args): + """ + get_idc_filename(file) -> char * + """ + return _idaapi.get_idc_filename(*args) + +def dosysfile(*args): + """ + dosysfile(complain_if_no_file, file) -> bool + """ + return _idaapi.dosysfile(*args) + +def execute(*args): + """ + execute(line) -> bool + """ + return _idaapi.execute(*args) +CPL_DEL_MACROS = _idaapi.CPL_DEL_MACROS +CPL_USE_LABELS = _idaapi.CPL_USE_LABELS +CPL_ONLY_SAFE = _idaapi.CPL_ONLY_SAFE + +def extlang_compile_file_exists(*args): + """ + extlang_compile_file_exists(el=None) -> bool + """ + return _idaapi.extlang_compile_file_exists(*args) + +def compile_script_file(*args): + """ + compile_script_file(file) -> bool + """ + return _idaapi.compile_script_file(*args) + +def extlang_unload_procmod(*args): + """ + extlang_unload_procmod(file) -> bool + """ + return _idaapi.extlang_unload_procmod(*args) + +def compile_script_func(*args): + """ + compile_script_func(name, current_ea, expr) -> bool + """ + return _idaapi.compile_script_func(*args) + +def extlang_set_attr_exists(*args): + """ + extlang_set_attr_exists() -> bool + """ + return _idaapi.extlang_set_attr_exists(*args) + +def call_idc_method(*args): + """ + call_idc_method(obj, name, nargs, args, result) -> bool + """ + return _idaapi.call_idc_method(*args) + +def extlang_call_method_exists(*args): + """ + extlang_call_method_exists() -> bool + """ + return _idaapi.extlang_call_method_exists(*args) + +def call_script_method(*args): + """ + call_script_method(obj, name, nargs, args, result) -> bool + """ + return _idaapi.call_script_method(*args) + +def extlang_run_statements_exists(*args): + """ + extlang_run_statements_exists(elang=None) -> bool + """ + return _idaapi.extlang_run_statements_exists(*args) + +def run_statements(*args): + """ + run_statements(str, elang=None) -> bool + """ + return _idaapi.run_statements(*args) +# +try: + import types + import ctypes + # Callback for IDC func callback (On Windows, we use stdcall) + # typedef error_t idaapi idc_func_t(idc_value_t *argv,idc_value_t *r); + _IDCFUNC_CB_T = ctypes.WINFUNCTYPE(ctypes.c_int, ctypes.c_void_p, ctypes.c_void_p) + + # A trampoline function that is called from idcfunc_t that will + # call the Python callback with the argv and r properly serialized to python + call_idc_func__ = ctypes.CFUNCTYPE(ctypes.c_long)(_idaapi.py_get_call_idc_func()) +except: + def call_idc_func__(*args): + warning("IDC extensions need ctypes library in order to work") + return 0 + try: + _IDCFUNC_CB_T = CFUNCTYPE(c_int, c_void_p, c_void_p) + except: + _IDCFUNC_CB_T = None + + +# -------------------------------------------------------------------------- +EXTFUN_BASE = 0x0001 +""" +requires open database +""" +EXTFUN_NORET = 0x0002 +""" +does not return. the interpreter may clean up its state before calling it. +""" +EXTFUN_SAFE = 0x0004 +""" +thread safe function. may be called +""" + +# -------------------------------------------------------------------------- +class _IdcFunction(object): + """ + Internal class that calls pyw_call_idc_func() with a context + """ + def __init__(self, ctxptr): + self.ctxptr = ctxptr + # Take a reference to the ctypes callback + # (note: this will create a circular reference) + self.cb = _IDCFUNC_CB_T(self) + + fp_ptr = property(lambda self: ctypes.cast(self.cb, ctypes.c_void_p).value) + + def __call__(self, args, res): + return call_idc_func__(self.ctxptr, args, res) + + +# -------------------------------------------------------------------------- +# Dictionary to remember IDC function names along with the context pointer +# retrieved by using the internal pyw_register_idc_func() +__IDC_FUNC_CTXS = {} + +# -------------------------------------------------------------------------- +def set_idc_func_ex(name, fp=None, args=(), flags=0): + """ + Extends the IDC language by exposing a new IDC function that is backed up by a Python function + This function also unregisters the IDC function if 'fp' was passed as None + + @param name: IDC function name to expose + @param fp: Python callable that will receive the arguments and return a tuple. + If this argument is None then the IDC function is unregistered + @param args: Arguments. A tuple of idaapi.VT_XXX constants + @param flags: IDC function flags. A combination of EXTFUN_XXX constants + + @return: Boolean. + """ + global __IDC_FUNC_CTXS + + # Get the context + f = __IDC_FUNC_CTXS.get(name, None) + + # Unregistering? + if fp is None: + # Not registered? + if f is None: + return False + + # Break circular reference + del f.cb + + # Delete the name from the dictionary + del __IDC_FUNC_CTXS[name] + + # Delete the context and unregister the function + return _idaapi.pyw_unregister_idc_func(f.ctxptr) + + # Registering a function that is already registered? + if f is not None: + # Unregister it first + set_idc_func_ex(name, None) + + # Convert the tupple argument info to a string + args = "".join([chr(x) for x in args]) + + # Create a context + ctxptr = _idaapi.pyw_register_idc_func(name, args, fp) + if ctxptr == 0: + return False + + # Bind the context with the IdcFunc object + f = _IdcFunction(ctxptr) + + # Remember the Python context + __IDC_FUNC_CTXS[name] = f + + # Register IDC function with a callback + return _idaapi.py_set_idc_func_ex( + name, + f.fp_ptr, + args, + flags) + +# + +class fixup_data_t(object): + """ + Proxy of C++ fixup_data_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + type = _swig_property(_idaapi.fixup_data_t_type_get, _idaapi.fixup_data_t_type_set) + sel = _swig_property(_idaapi.fixup_data_t_sel_get, _idaapi.fixup_data_t_sel_set) + off = _swig_property(_idaapi.fixup_data_t_off_get, _idaapi.fixup_data_t_off_set) + displacement = _swig_property(_idaapi.fixup_data_t_displacement_get, _idaapi.fixup_data_t_displacement_set) + def is_custom(self, *args): + """ + is_custom(self) -> bool + """ + return _idaapi.fixup_data_t_is_custom(self, *args) + + def get_type(self, *args): + """ + get_type(self) -> uchar + """ + return _idaapi.fixup_data_t_get_type(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> fixup_data_t + """ + this = _idaapi.new_fixup_data_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_fixup_data_t + __del__ = lambda self : None; +fixup_data_t_swigregister = _idaapi.fixup_data_t_swigregister +fixup_data_t_swigregister(fixup_data_t) +FIXUP_MASK = _idaapi.FIXUP_MASK +FIXUP_OFF8 = _idaapi.FIXUP_OFF8 +FIXUP_OFF16 = _idaapi.FIXUP_OFF16 +FIXUP_SEG16 = _idaapi.FIXUP_SEG16 +FIXUP_PTR16 = _idaapi.FIXUP_PTR16 +FIXUP_OFF32 = _idaapi.FIXUP_OFF32 +FIXUP_PTR32 = _idaapi.FIXUP_PTR32 +FIXUP_HI8 = _idaapi.FIXUP_HI8 +FIXUP_HI16 = _idaapi.FIXUP_HI16 +FIXUP_LOW8 = _idaapi.FIXUP_LOW8 +FIXUP_LOW16 = _idaapi.FIXUP_LOW16 +FIXUP_VHIGH = _idaapi.FIXUP_VHIGH +FIXUP_VLOW = _idaapi.FIXUP_VLOW +FIXUP_OFF64 = _idaapi.FIXUP_OFF64 +FIXUP_CUSTOM = _idaapi.FIXUP_CUSTOM +FIXUP_REL = _idaapi.FIXUP_REL +FIXUP_SELFREL = _idaapi.FIXUP_SELFREL +FIXUP_EXTDEF = _idaapi.FIXUP_EXTDEF +FIXUP_UNUSED = _idaapi.FIXUP_UNUSED +FIXUP_CREATED = _idaapi.FIXUP_CREATED + + +def set_fixup(*args): + """ + set_fixup(source, fp) + """ + return _idaapi.set_fixup(*args) + +def set_fixup_ex(*args): + """ + set_fixup_ex(source, fd, offset_base) + """ + return _idaapi.set_fixup_ex(*args) + +def del_fixup(*args): + """ + del_fixup(source) + """ + return _idaapi.del_fixup(*args) + +def get_fixup(*args): + """ + get_fixup(source, fd) -> bool + """ + return _idaapi.get_fixup(*args) + +def get_first_fixup_ea(*args): + """ + get_first_fixup_ea() -> ea_t + """ + return _idaapi.get_first_fixup_ea(*args) + +def get_next_fixup_ea(*args): + """ + get_next_fixup_ea(ea) -> ea_t + """ + return _idaapi.get_next_fixup_ea(*args) + +def get_prev_fixup_ea(*args): + """ + get_prev_fixup_ea(ea) -> ea_t + """ + return _idaapi.get_prev_fixup_ea(*args) + +def get_fixup_base(*args): + """ + get_fixup_base(source, fd) -> ea_t + """ + return _idaapi.get_fixup_base(*args) + +def get_fixup_extdef_ea(*args): + """ + get_fixup_extdef_ea(source, fd) -> ea_t + get_fixup_extdef_ea(ea) -> ea_t + """ + return _idaapi.get_fixup_extdef_ea(*args) + +def get_fixup_segdef_sel(*args): + """ + get_fixup_segdef_sel(fd) -> sel_t + get_fixup_segdef_sel(ea) -> sel_t + """ + return _idaapi.get_fixup_segdef_sel(*args) + +def get_fixup_desc(*args): + """ + get_fixup_desc(source, fdp) -> char * + """ + return _idaapi.get_fixup_desc(*args) + +def contains_fixups(*args): + """ + contains_fixups(ea, size) -> bool + """ + return _idaapi.contains_fixups(*args) + +def gen_fix_fixups(*args): + """ + gen_fix_fixups(frm, to, size) + """ + return _idaapi.gen_fix_fixups(*args) +class xreflist_t(object): + """ + Proxy of C++ qvector<(xreflist_entry_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> xreflist_t + __init__(self, x) -> xreflist_t + """ + this = _idaapi.new_xreflist_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_xreflist_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> xreflist_entry_t + """ + return _idaapi.xreflist_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.xreflist_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.xreflist_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.xreflist_t_empty(self, *args) + + def at(self, *args): + """ + at(self, _idx) -> xreflist_entry_t + """ + return _idaapi.xreflist_t_at(self, *args) + + def front(self, *args): + """ + front(self) -> xreflist_entry_t + front(self) -> xreflist_entry_t + """ + return _idaapi.xreflist_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> xreflist_entry_t + back(self) -> xreflist_entry_t + """ + return _idaapi.xreflist_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.xreflist_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.xreflist_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.xreflist_t_resize(self, *args) + + def grow(self, *args): + """ + grow(self, x=xreflist_entry_t()) + """ + return _idaapi.xreflist_t_grow(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.xreflist_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.xreflist_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.xreflist_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.xreflist_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> xreflist_entry_t + """ + return _idaapi.xreflist_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.xreflist_t_inject(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.xreflist_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.xreflist_t___ne__(self, *args) + + def begin(self, *args): + """ + begin(self) -> xreflist_entry_t + begin(self) -> xreflist_entry_t + """ + return _idaapi.xreflist_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> xreflist_entry_t + end(self) -> xreflist_entry_t + """ + return _idaapi.xreflist_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> xreflist_entry_t + """ + return _idaapi.xreflist_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> xreflist_entry_t + erase(self, first, last) -> xreflist_entry_t + """ + return _idaapi.xreflist_t_erase(self, *args) + + def find(self, *args): + """ + find(self, x) -> xreflist_entry_t + find(self, x) -> xreflist_entry_t + """ + return _idaapi.xreflist_t_find(self, *args) + + def has(self, *args): + """ + has(self, x) -> bool + """ + return _idaapi.xreflist_t_has(self, *args) + + def add_unique(self, *args): + """ + add_unique(self, x) -> bool + """ + return _idaapi.xreflist_t_add_unique(self, *args) + + def _del(self, *args): + """ + _del(self, x) -> bool + """ + return _idaapi.xreflist_t__del(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.xreflist_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> xreflist_entry_t + """ + return _idaapi.xreflist_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.xreflist_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + +xreflist_t_swigregister = _idaapi.xreflist_t_swigregister +xreflist_t_swigregister(xreflist_t) + +class stkpnt_t(object): + """ + Proxy of C++ stkpnt_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ea = _swig_property(_idaapi.stkpnt_t_ea_get, _idaapi.stkpnt_t_ea_set) + spd = _swig_property(_idaapi.stkpnt_t_spd_get, _idaapi.stkpnt_t_spd_set) + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.stkpnt_t___lt__(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> stkpnt_t + """ + this = _idaapi.new_stkpnt_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_stkpnt_t + __del__ = lambda self : None; +stkpnt_t_swigregister = _idaapi.stkpnt_t_swigregister +stkpnt_t_swigregister(stkpnt_t) + + +def add_frame(*args): + """ + add_frame(pfn, frsize, frregs, argsize) -> bool + """ + return _idaapi.add_frame(*args) + +def del_frame(*args): + """ + del_frame(pfn) -> bool + """ + return _idaapi.del_frame(*args) + +def set_frame_size(*args): + """ + set_frame_size(pfn, frsize, frregs, argsize) -> bool + """ + return _idaapi.set_frame_size(*args) + +def get_frame_size(*args): + """ + get_frame_size(pfn) -> asize_t + """ + return _idaapi.get_frame_size(*args) + +def get_frame_retsize(*args): + """ + get_frame_retsize(pfn) -> int + """ + return _idaapi.get_frame_retsize(*args) +FPC_ARGS = _idaapi.FPC_ARGS +FPC_RETADDR = _idaapi.FPC_RETADDR +FPC_SAVREGS = _idaapi.FPC_SAVREGS +FPC_LVARS = _idaapi.FPC_LVARS + +def get_frame_part(*args): + """ + get_frame_part(pfn, part, range) + """ + return _idaapi.get_frame_part(*args) + +def frame_off_args(*args): + """ + frame_off_args(pfn) -> ea_t + """ + return _idaapi.frame_off_args(*args) + +def frame_off_retaddr(*args): + """ + frame_off_retaddr(pfn) -> ea_t + """ + return _idaapi.frame_off_retaddr(*args) + +def frame_off_savregs(*args): + """ + frame_off_savregs(pfn) -> ea_t + """ + return _idaapi.frame_off_savregs(*args) + +def frame_off_lvars(*args): + """ + frame_off_lvars(pfn) -> ea_t + """ + return _idaapi.frame_off_lvars(*args) + +def is_funcarg_off(*args): + """ + is_funcarg_off(pfn, frameoff) -> bool + """ + return _idaapi.is_funcarg_off(*args) + +def lvar_off(*args): + """ + lvar_off(pfn, frameoff) -> sval_t + """ + return _idaapi.lvar_off(*args) + +def get_frame(*args): + """ + get_frame(pfn) -> struc_t + get_frame(ea) -> struc_t + """ + return _idaapi.get_frame(*args) + +def update_fpd(*args): + """ + update_fpd(pfn, fpd) -> bool + """ + return _idaapi.update_fpd(*args) + +def set_purged(*args): + """ + set_purged(ea, nbytes, override_old_value) -> bool + """ + return _idaapi.set_purged(*args) + +def get_func_by_frame(*args): + """ + get_func_by_frame(frame_id) -> ea_t + """ + return _idaapi.get_func_by_frame(*args) +STKVAR_VALID_SIZE = _idaapi.STKVAR_VALID_SIZE + +def add_stkvar2(*args): + """ + add_stkvar2(pfn, name, off, flags, ti, nbytes) -> bool + """ + return _idaapi.add_stkvar2(*args) + +def build_stkvar_name(*args): + """ + build_stkvar_name(pfn, v) -> char * + """ + return _idaapi.build_stkvar_name(*args) + +def calc_stkvar_struc_offset(*args): + """ + calc_stkvar_struc_offset(pfn, ea, n) -> ea_t + """ + return _idaapi.calc_stkvar_struc_offset(*args) + +def delete_unreferenced_stkvars(*args): + """ + delete_unreferenced_stkvars(pfn) -> int + """ + return _idaapi.delete_unreferenced_stkvars(*args) + +def delete_wrong_stkvar_ops(*args): + """ + delete_wrong_stkvar_ops(pfn) -> int + """ + return _idaapi.delete_wrong_stkvar_ops(*args) +class regvar_t(area_t): + """ + Proxy of C++ regvar_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + canon = _swig_property(_idaapi.regvar_t_canon_get, _idaapi.regvar_t_canon_set) + user = _swig_property(_idaapi.regvar_t_user_get, _idaapi.regvar_t_user_set) + cmt = _swig_property(_idaapi.regvar_t_cmt_get, _idaapi.regvar_t_cmt_set) + def __init__(self, *args): + """ + __init__(self) -> regvar_t + """ + this = _idaapi.new_regvar_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_regvar_t + __del__ = lambda self : None; +regvar_t_swigregister = _idaapi.regvar_t_swigregister +regvar_t_swigregister(regvar_t) + + +def add_regvar(*args): + """ + add_regvar(pfn, ea1, ea2, canon, user, cmt) -> int + """ + return _idaapi.add_regvar(*args) +REGVAR_ERROR_OK = _idaapi.REGVAR_ERROR_OK +REGVAR_ERROR_ARG = _idaapi.REGVAR_ERROR_ARG +REGVAR_ERROR_RANGE = _idaapi.REGVAR_ERROR_RANGE +REGVAR_ERROR_NAME = _idaapi.REGVAR_ERROR_NAME + +def find_regvar(*args): + """ + find_regvar(pfn, ea1, ea2, canon, user) -> regvar_t + find_regvar(pfn, ea, canon) -> regvar_t + """ + return _idaapi.find_regvar(*args) + +def rename_regvar(*args): + """ + rename_regvar(pfn, v, user) -> int + """ + return _idaapi.rename_regvar(*args) + +def set_regvar_cmt(*args): + """ + set_regvar_cmt(pfn, v, cmt) -> int + """ + return _idaapi.set_regvar_cmt(*args) + +def del_regvar(*args): + """ + del_regvar(pfn, ea1, ea2, canon) -> int + """ + return _idaapi.del_regvar(*args) +class llabel_t(object): + """ + Proxy of C++ llabel_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ea = _swig_property(_idaapi.llabel_t_ea_get, _idaapi.llabel_t_ea_set) + name = _swig_property(_idaapi.llabel_t_name_get, _idaapi.llabel_t_name_set) + def __init__(self, *args): + """ + __init__(self) -> llabel_t + """ + this = _idaapi.new_llabel_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_llabel_t + __del__ = lambda self : None; +llabel_t_swigregister = _idaapi.llabel_t_swigregister +llabel_t_swigregister(llabel_t) + + +def add_auto_stkpnt2(*args): + """ + add_auto_stkpnt2(pfn, ea, delta) -> bool + """ + return _idaapi.add_auto_stkpnt2(*args) + +def add_user_stkpnt(*args): + """ + add_user_stkpnt(ea, delta) -> bool + """ + return _idaapi.add_user_stkpnt(*args) + +def del_stkpnt(*args): + """ + del_stkpnt(pfn, ea) -> bool + """ + return _idaapi.del_stkpnt(*args) + +def get_spd(*args): + """ + get_spd(pfn, ea) -> sval_t + """ + return _idaapi.get_spd(*args) + +def get_effective_spd(*args): + """ + get_effective_spd(pfn, ea) -> sval_t + """ + return _idaapi.get_effective_spd(*args) + +def get_sp_delta(*args): + """ + get_sp_delta(pfn, ea) -> sval_t + """ + return _idaapi.get_sp_delta(*args) + +def get_min_spd_ea(*args): + """ + get_min_spd_ea(pfn) -> ea_t + """ + return _idaapi.get_min_spd_ea(*args) + +def recalc_spd(*args): + """ + recalc_spd(cur_ea) -> bool + """ + return _idaapi.recalc_spd(*args) +class xreflist_entry_t(object): + """ + Proxy of C++ xreflist_entry_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ea = _swig_property(_idaapi.xreflist_entry_t_ea_get, _idaapi.xreflist_entry_t_ea_set) + opnum = _swig_property(_idaapi.xreflist_entry_t_opnum_get, _idaapi.xreflist_entry_t_opnum_set) + type = _swig_property(_idaapi.xreflist_entry_t_type_get, _idaapi.xreflist_entry_t_type_set) + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.xreflist_entry_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.xreflist_entry_t___ne__(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> xreflist_entry_t + """ + this = _idaapi.new_xreflist_entry_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_xreflist_entry_t + __del__ = lambda self : None; +xreflist_entry_t_swigregister = _idaapi.xreflist_entry_t_swigregister +xreflist_entry_t_swigregister(xreflist_entry_t) + + +def build_stkvar_xrefs(*args): + """ + build_stkvar_xrefs(out, pfn, mptr) + """ + return _idaapi.build_stkvar_xrefs(*args) + +def add_auto_stkpnt(*args): + """ + add_auto_stkpnt(ea, delta) -> bool + """ + return _idaapi.add_auto_stkpnt(*args) +class regarg_t(object): + """ + Proxy of C++ regarg_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + reg = _swig_property(_idaapi.regarg_t_reg_get, _idaapi.regarg_t_reg_set) + type = _swig_property(_idaapi.regarg_t_type_get, _idaapi.regarg_t_type_set) + name = _swig_property(_idaapi.regarg_t_name_get, _idaapi.regarg_t_name_set) + def __init__(self, *args): + """ + __init__(self) -> regarg_t + """ + this = _idaapi.new_regarg_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_regarg_t + __del__ = lambda self : None; +regarg_t_swigregister = _idaapi.regarg_t_swigregister +regarg_t_swigregister(regarg_t) + +class func_t(area_t): + """ + Proxy of C++ func_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + flags = _swig_property(_idaapi.func_t_flags_get, _idaapi.func_t_flags_set) + def is_far(self, *args): + """ + is_far(self) -> bool + """ + return _idaapi.func_t_is_far(self, *args) + + def does_return(self, *args): + """ + does_return(self) -> bool + """ + return _idaapi.func_t_does_return(self, *args) + + def analyzed_sp(self, *args): + """ + analyzed_sp(self) -> bool + """ + return _idaapi.func_t_analyzed_sp(self, *args) + + frame = _swig_property(_idaapi.func_t_frame_get, _idaapi.func_t_frame_set) + frsize = _swig_property(_idaapi.func_t_frsize_get, _idaapi.func_t_frsize_set) + frregs = _swig_property(_idaapi.func_t_frregs_get, _idaapi.func_t_frregs_set) + argsize = _swig_property(_idaapi.func_t_argsize_get, _idaapi.func_t_argsize_set) + fpd = _swig_property(_idaapi.func_t_fpd_get, _idaapi.func_t_fpd_set) + color = _swig_property(_idaapi.func_t_color_get, _idaapi.func_t_color_set) + pntqty = _swig_property(_idaapi.func_t_pntqty_get, _idaapi.func_t_pntqty_set) + points = _swig_property(_idaapi.func_t_points_get, _idaapi.func_t_points_set) + regvarqty = _swig_property(_idaapi.func_t_regvarqty_get, _idaapi.func_t_regvarqty_set) + regvars = _swig_property(_idaapi.func_t_regvars_get, _idaapi.func_t_regvars_set) + llabelqty = _swig_property(_idaapi.func_t_llabelqty_get, _idaapi.func_t_llabelqty_set) + llabels = _swig_property(_idaapi.func_t_llabels_get, _idaapi.func_t_llabels_set) + regargqty = _swig_property(_idaapi.func_t_regargqty_get, _idaapi.func_t_regargqty_set) + regargs = _swig_property(_idaapi.func_t_regargs_get, _idaapi.func_t_regargs_set) + tailqty = _swig_property(_idaapi.func_t_tailqty_get, _idaapi.func_t_tailqty_set) + tails = _swig_property(_idaapi.func_t_tails_get, _idaapi.func_t_tails_set) + owner = _swig_property(_idaapi.func_t_owner_get, _idaapi.func_t_owner_set) + refqty = _swig_property(_idaapi.func_t_refqty_get, _idaapi.func_t_refqty_set) + referers = _swig_property(_idaapi.func_t_referers_get, _idaapi.func_t_referers_set) + def __init__(self, *args): + """ + __init__(self) -> func_t + """ + this = _idaapi.new_func_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_func_t + __del__ = lambda self : None; +func_t_swigregister = _idaapi.func_t_swigregister +func_t_swigregister(func_t) +FUNC_NORET = _idaapi.FUNC_NORET +FUNC_FAR = _idaapi.FUNC_FAR +FUNC_LIB = _idaapi.FUNC_LIB +FUNC_STATIC = _idaapi.FUNC_STATIC +FUNC_FRAME = _idaapi.FUNC_FRAME +FUNC_USERFAR = _idaapi.FUNC_USERFAR +FUNC_HIDDEN = _idaapi.FUNC_HIDDEN +FUNC_THUNK = _idaapi.FUNC_THUNK +FUNC_BOTTOMBP = _idaapi.FUNC_BOTTOMBP +FUNC_NORET_PENDING = _idaapi.FUNC_NORET_PENDING +FUNC_SP_READY = _idaapi.FUNC_SP_READY +FUNC_PURGED_OK = _idaapi.FUNC_PURGED_OK +FUNC_TAIL = _idaapi.FUNC_TAIL + + +def is_func_entry(*args): + """ + is_func_entry(pfn) -> bool + """ + return _idaapi.is_func_entry(*args) + +def is_func_tail(*args): + """ + is_func_tail(pfn) -> bool + """ + return _idaapi.is_func_tail(*args) +class lock_func(object): + """ + Proxy of C++ lock_func class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, _pfn) -> lock_func + """ + this = _idaapi.new_lock_func(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_lock_func + __del__ = lambda self : None; +lock_func_swigregister = _idaapi.lock_func_swigregister +lock_func_swigregister(lock_func) + + +def is_func_locked(*args): + """ + is_func_locked(pfn) -> bool + """ + return _idaapi.is_func_locked(*args) + +def get_func(*args): + """ + get_func(ea) -> func_t + """ + return _idaapi.get_func(*args) + +def get_func_chunknum(*args): + """ + get_func_chunknum(pfn, ea) -> int + """ + return _idaapi.get_func_chunknum(*args) + +def func_contains(*args): + """ + func_contains(pfn, ea) -> bool + """ + return _idaapi.func_contains(*args) + +def getn_func(*args): + """ + getn_func(n) -> func_t + """ + return _idaapi.getn_func(*args) + +def get_func_qty(*args): + """ + get_func_qty() -> size_t + """ + return _idaapi.get_func_qty(*args) + +def get_func_num(*args): + """ + get_func_num(ea) -> int + """ + return _idaapi.get_func_num(*args) + +def get_prev_func(*args): + """ + get_prev_func(ea) -> func_t + """ + return _idaapi.get_prev_func(*args) + +def get_next_func(*args): + """ + get_next_func(ea) -> func_t + """ + return _idaapi.get_next_func(*args) + +def get_func_limits(*args): + """ + get_func_limits(pfn, limits) -> bool + """ + return _idaapi.get_func_limits(*args) + +def set_func_cmt(*args): + """ + set_func_cmt(fn, cmt, repeatable) -> bool + """ + return _idaapi.set_func_cmt(*args) + +def del_func_cmt(*args): + """ + del_func_cmt(fn, repeatable) + """ + return _idaapi.del_func_cmt(*args) + +def update_func(*args): + """ + update_func(fn) -> bool + """ + return _idaapi.update_func(*args) + +def add_func_ex(*args): + """ + add_func_ex(fn) -> bool + """ + return _idaapi.add_func_ex(*args) + +def add_func(*args): + """ + add_func(ea1, ea2) -> bool + """ + return _idaapi.add_func(*args) + +def del_func(*args): + """ + del_func(ea) -> bool + """ + return _idaapi.del_func(*args) + +def func_setstart(*args): + """ + func_setstart(ea, newstart) -> int + """ + return _idaapi.func_setstart(*args) +MOVE_FUNC_OK = _idaapi.MOVE_FUNC_OK +MOVE_FUNC_NOCODE = _idaapi.MOVE_FUNC_NOCODE +MOVE_FUNC_BADSTART = _idaapi.MOVE_FUNC_BADSTART +MOVE_FUNC_NOFUNC = _idaapi.MOVE_FUNC_NOFUNC +MOVE_FUNC_REFUSED = _idaapi.MOVE_FUNC_REFUSED + +def func_setend(*args): + """ + func_setend(ea, newend) -> bool + """ + return _idaapi.func_setend(*args) + +def reanalyze_function(*args): + """ + reanalyze_function(pfn, ea1=0, ea2=BADADDR, analyze_parents=False) + """ + return _idaapi.reanalyze_function(*args) + +def clear_func_struct(*args): + """ + clear_func_struct(fn) + """ + return _idaapi.clear_func_struct(*args) + +def find_func_bounds(*args): + """ + find_func_bounds(ea, nfn, flags) -> int + """ + return _idaapi.find_func_bounds(*args) +FIND_FUNC_NORMAL = _idaapi.FIND_FUNC_NORMAL +FIND_FUNC_DEFINE = _idaapi.FIND_FUNC_DEFINE +FIND_FUNC_IGNOREFN = _idaapi.FIND_FUNC_IGNOREFN +FIND_FUNC_UNDEF = _idaapi.FIND_FUNC_UNDEF +FIND_FUNC_OK = _idaapi.FIND_FUNC_OK +FIND_FUNC_EXIST = _idaapi.FIND_FUNC_EXIST + +def get_func_name2(*args): + """ + get_func_name2(ea) -> ssize_t + """ + return _idaapi.get_func_name2(*args) + +def get_func_bitness(*args): + """ + get_func_bitness(pfn) -> int + """ + return _idaapi.get_func_bitness(*args) + +def get_func_bits(*args): + """ + get_func_bits(pfn) -> int + """ + return _idaapi.get_func_bits(*args) + +def get_func_bytes(*args): + """ + get_func_bytes(pfn) -> int + """ + return _idaapi.get_func_bytes(*args) + +def is_visible_func(*args): + """ + is_visible_func(pfn) -> bool + """ + return _idaapi.is_visible_func(*args) + +def is_finally_visible_func(*args): + """ + is_finally_visible_func(pfn) -> bool + """ + return _idaapi.is_finally_visible_func(*args) + +def set_visible_func(*args): + """ + set_visible_func(pfn, visible) + """ + return _idaapi.set_visible_func(*args) + +def set_func_name_if_jumpfunc(*args): + """ + set_func_name_if_jumpfunc(fn, oldname) -> int + """ + return _idaapi.set_func_name_if_jumpfunc(*args) + +def calc_thunk_func_target(*args): + """ + calc_thunk_func_target(fn, fptr) -> ea_t + """ + return _idaapi.calc_thunk_func_target(*args) + +def a2funcoff(*args): + """ + a2funcoff(ea) -> char * + """ + return _idaapi.a2funcoff(*args) + +def std_gen_func_header(*args): + """ + std_gen_func_header(pfn) + """ + return _idaapi.std_gen_func_header(*args) + +def func_does_return(*args): + """ + func_does_return(callee) -> bool + """ + return _idaapi.func_does_return(*args) + +def set_noret_insn(*args): + """ + set_noret_insn(insn_ea, noret) -> bool + """ + return _idaapi.set_noret_insn(*args) + +def get_fchunk(*args): + """ + get_fchunk(ea) -> func_t + """ + return _idaapi.get_fchunk(*args) + +def getn_fchunk(*args): + """ + getn_fchunk(n) -> func_t + """ + return _idaapi.getn_fchunk(*args) + +def get_fchunk_qty(*args): + """ + get_fchunk_qty() -> size_t + """ + return _idaapi.get_fchunk_qty(*args) + +def get_fchunk_num(*args): + """ + get_fchunk_num(ea) -> int + """ + return _idaapi.get_fchunk_num(*args) + +def get_prev_fchunk(*args): + """ + get_prev_fchunk(ea) -> func_t + """ + return _idaapi.get_prev_fchunk(*args) + +def get_next_fchunk(*args): + """ + get_next_fchunk(ea) -> func_t + """ + return _idaapi.get_next_fchunk(*args) + +def append_func_tail(*args): + """ + append_func_tail(pfn, ea1, ea2) -> bool + """ + return _idaapi.append_func_tail(*args) + +def remove_func_tail(*args): + """ + remove_func_tail(pfn, tail_ea) -> bool + """ + return _idaapi.remove_func_tail(*args) + +def set_tail_owner(*args): + """ + set_tail_owner(fnt, func_start) -> bool + """ + return _idaapi.set_tail_owner(*args) + +def func_tail_iterator_set(*args): + """ + func_tail_iterator_set(fti, pfn, ea) -> bool + """ + return _idaapi.func_tail_iterator_set(*args) + +def func_tail_iterator_set2(*args): + """ + func_tail_iterator_set2(fti, pfn, ea) -> bool + """ + return _idaapi.func_tail_iterator_set2(*args) + +def func_tail_iterator_set_ea(*args): + """ + func_tail_iterator_set_ea(fti, ea) -> bool + """ + return _idaapi.func_tail_iterator_set_ea(*args) + +def func_parent_iterator_set(*args): + """ + func_parent_iterator_set(fpi, pfn) -> bool + """ + return _idaapi.func_parent_iterator_set(*args) + +def func_parent_iterator_set2(*args): + """ + func_parent_iterator_set2(fpi, pfn) -> bool + """ + return _idaapi.func_parent_iterator_set2(*args) + +def func_item_iterator_next(*args): + """ + func_item_iterator_next(fii, testf, ud) -> bool + """ + return _idaapi.func_item_iterator_next(*args) + +def func_item_iterator_prev(*args): + """ + func_item_iterator_prev(fii, testf, ud) -> bool + """ + return _idaapi.func_item_iterator_prev(*args) + +def func_item_iterator_decode_prev_insn(*args): + """ + func_item_iterator_decode_prev_insn(fii) -> bool + """ + return _idaapi.func_item_iterator_decode_prev_insn(*args) + +def func_item_iterator_decode_preceding_insn(*args): + """ + func_item_iterator_decode_preceding_insn(fii, visited, p_farref) -> bool + """ + return _idaapi.func_item_iterator_decode_preceding_insn(*args) + +def f_any(*args): + """ + f_any(arg1, arg2) -> bool + """ + return _idaapi.f_any(*args) +class func_tail_iterator_t(object): + """ + Proxy of C++ func_tail_iterator_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> func_tail_iterator_t + __init__(self, _pfn, ea=BADADDR) -> func_tail_iterator_t + """ + this = _idaapi.new_func_tail_iterator_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_func_tail_iterator_t + __del__ = lambda self : None; + def set(self, *args): + """ + set(self, _pfn, ea=BADADDR) -> bool + """ + return _idaapi.func_tail_iterator_t_set(self, *args) + + def set_ea(self, *args): + """ + set_ea(self, ea) -> bool + """ + return _idaapi.func_tail_iterator_t_set_ea(self, *args) + + def set_range(self, *args): + """ + set_range(self, ea1, ea2) -> bool + """ + return _idaapi.func_tail_iterator_t_set_range(self, *args) + + def chunk(self, *args): + """ + chunk(self) -> area_t + """ + return _idaapi.func_tail_iterator_t_chunk(self, *args) + + def first(self, *args): + """ + first(self) -> bool + """ + return _idaapi.func_tail_iterator_t_first(self, *args) + + def last(self, *args): + """ + last(self) -> bool + """ + return _idaapi.func_tail_iterator_t_last(self, *args) + + def next(self, *args): + """ + next(self) -> bool + """ + return _idaapi.func_tail_iterator_t_next(self, *args) + + def prev(self, *args): + """ + prev(self) -> bool + """ + return _idaapi.func_tail_iterator_t_prev(self, *args) + + def main(self, *args): + """ + main(self) -> bool + """ + return _idaapi.func_tail_iterator_t_main(self, *args) + +func_tail_iterator_t_swigregister = _idaapi.func_tail_iterator_t_swigregister +func_tail_iterator_t_swigregister(func_tail_iterator_t) + +class func_item_iterator_t(object): + """ + Proxy of C++ func_item_iterator_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> func_item_iterator_t + __init__(self, pfn, _ea=BADADDR) -> func_item_iterator_t + """ + this = _idaapi.new_func_item_iterator_t(*args) + try: self.this.append(this) + except: self.this = this + def set(self, *args): + """ + set(self, pfn, _ea=BADADDR) -> bool + """ + return _idaapi.func_item_iterator_t_set(self, *args) + + def set_range(self, *args): + """ + set_range(self, ea1, ea2) -> bool + """ + return _idaapi.func_item_iterator_t_set_range(self, *args) + + def first(self, *args): + """ + first(self) -> bool + """ + return _idaapi.func_item_iterator_t_first(self, *args) + + def last(self, *args): + """ + last(self) -> bool + """ + return _idaapi.func_item_iterator_t_last(self, *args) + + def current(self, *args): + """ + current(self) -> ea_t + """ + return _idaapi.func_item_iterator_t_current(self, *args) + + def chunk(self, *args): + """ + chunk(self) -> area_t + """ + return _idaapi.func_item_iterator_t_chunk(self, *args) + + def next(self, *args): + """ + next(self, func, ud) -> bool + """ + return _idaapi.func_item_iterator_t_next(self, *args) + + def prev(self, *args): + """ + prev(self, func, ud) -> bool + """ + return _idaapi.func_item_iterator_t_prev(self, *args) + + def next_addr(self, *args): + """ + next_addr(self) -> bool + """ + return _idaapi.func_item_iterator_t_next_addr(self, *args) + + def next_head(self, *args): + """ + next_head(self) -> bool + """ + return _idaapi.func_item_iterator_t_next_head(self, *args) + + def next_code(self, *args): + """ + next_code(self) -> bool + """ + return _idaapi.func_item_iterator_t_next_code(self, *args) + + def next_data(self, *args): + """ + next_data(self) -> bool + """ + return _idaapi.func_item_iterator_t_next_data(self, *args) + + def next_not_tail(self, *args): + """ + next_not_tail(self) -> bool + """ + return _idaapi.func_item_iterator_t_next_not_tail(self, *args) + + def prev_addr(self, *args): + """ + prev_addr(self) -> bool + """ + return _idaapi.func_item_iterator_t_prev_addr(self, *args) + + def prev_head(self, *args): + """ + prev_head(self) -> bool + """ + return _idaapi.func_item_iterator_t_prev_head(self, *args) + + def prev_code(self, *args): + """ + prev_code(self) -> bool + """ + return _idaapi.func_item_iterator_t_prev_code(self, *args) + + def prev_data(self, *args): + """ + prev_data(self) -> bool + """ + return _idaapi.func_item_iterator_t_prev_data(self, *args) + + def prev_not_tail(self, *args): + """ + prev_not_tail(self) -> bool + """ + return _idaapi.func_item_iterator_t_prev_not_tail(self, *args) + + def decode_prev_insn(self, *args): + """ + decode_prev_insn(self) -> bool + """ + return _idaapi.func_item_iterator_t_decode_prev_insn(self, *args) + + def decode_preceding_insn(self, *args): + """ + decode_preceding_insn(self, visited, p_farref) -> bool + """ + return _idaapi.func_item_iterator_t_decode_preceding_insn(self, *args) + + __swig_destroy__ = _idaapi.delete_func_item_iterator_t + __del__ = lambda self : None; +func_item_iterator_t_swigregister = _idaapi.func_item_iterator_t_swigregister +func_item_iterator_t_swigregister(func_item_iterator_t) + +class func_parent_iterator_t(object): + """ + Proxy of C++ func_parent_iterator_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> func_parent_iterator_t + __init__(self, _fnt) -> func_parent_iterator_t + """ + this = _idaapi.new_func_parent_iterator_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_func_parent_iterator_t + __del__ = lambda self : None; + def set(self, *args): + """ + set(self, _fnt) -> bool + """ + return _idaapi.func_parent_iterator_t_set(self, *args) + + def parent(self, *args): + """ + parent(self) -> ea_t + """ + return _idaapi.func_parent_iterator_t_parent(self, *args) + + def first(self, *args): + """ + first(self) -> bool + """ + return _idaapi.func_parent_iterator_t_first(self, *args) + + def last(self, *args): + """ + last(self) -> bool + """ + return _idaapi.func_parent_iterator_t_last(self, *args) + + def next(self, *args): + """ + next(self) -> bool + """ + return _idaapi.func_parent_iterator_t_next(self, *args) + + def prev(self, *args): + """ + prev(self) -> bool + """ + return _idaapi.func_parent_iterator_t_prev(self, *args) + + def reset_fnt(self, *args): + """ + reset_fnt(self, _fnt) + """ + return _idaapi.func_parent_iterator_t_reset_fnt(self, *args) + +func_parent_iterator_t_swigregister = _idaapi.func_parent_iterator_t_swigregister +func_parent_iterator_t_swigregister(func_parent_iterator_t) + + +def get_prev_func_addr(*args): + """ + get_prev_func_addr(pfn, ea) -> ea_t + """ + return _idaapi.get_prev_func_addr(*args) + +def get_next_func_addr(*args): + """ + get_next_func_addr(pfn, ea) -> ea_t + """ + return _idaapi.get_next_func_addr(*args) + +def read_regargs(*args): + """ + read_regargs(pfn) + """ + return _idaapi.read_regargs(*args) + +def add_regarg2(*args): + """ + add_regarg2(pfn, reg, tif, name) + """ + return _idaapi.add_regarg2(*args) +IDASGN_OK = _idaapi.IDASGN_OK +IDASGN_BADARG = _idaapi.IDASGN_BADARG +IDASGN_APPLIED = _idaapi.IDASGN_APPLIED +IDASGN_CURRENT = _idaapi.IDASGN_CURRENT +IDASGN_PLANNED = _idaapi.IDASGN_PLANNED + +def plan_to_apply_idasgn(*args): + """ + plan_to_apply_idasgn(fname) -> int + """ + return _idaapi.plan_to_apply_idasgn(*args) + +def apply_idasgn(*args): + """ + apply_idasgn(advance) -> bool + """ + return _idaapi.apply_idasgn(*args) + +def apply_idasgn_to(*args): + """ + apply_idasgn_to(signame, ea, is_startup) -> int + """ + return _idaapi.apply_idasgn_to(*args) + +def get_idasgn_qty(*args): + """ + get_idasgn_qty() -> int + """ + return _idaapi.get_idasgn_qty(*args) + +def get_current_idasgn(*args): + """ + get_current_idasgn() -> int + """ + return _idaapi.get_current_idasgn(*args) + +def calc_idasgn_state(*args): + """ + calc_idasgn_state(n) -> int + """ + return _idaapi.calc_idasgn_state(*args) + +def del_idasgn(*args): + """ + del_idasgn(n) -> int + """ + return _idaapi.del_idasgn(*args) + +def get_sig_filename(*args): + """ + get_sig_filename(signame) -> char * + """ + return _idaapi.get_sig_filename(*args) + +def get_idasgn_title(*args): + """ + get_idasgn_title(name) -> char * + """ + return _idaapi.get_idasgn_title(*args) + +def apply_startup_sig(*args): + """ + apply_startup_sig(ea, startup) -> bool + """ + return _idaapi.apply_startup_sig(*args) + +def try_to_add_libfunc(*args): + """ + try_to_add_libfunc(ea) -> int + """ + return _idaapi.try_to_add_libfunc(*args) +LIBFUNC_FOUND = _idaapi.LIBFUNC_FOUND +LIBFUNC_NONE = _idaapi.LIBFUNC_NONE +LIBFUNC_DELAY = _idaapi.LIBFUNC_DELAY + +def add_regarg(*args): + """ + add_regarg(pfn, reg, type, name) + """ + return _idaapi.add_regarg(*args) + +def get_func_name(*args): + """ + get_func_name(ea) -> char * + """ + return _idaapi.get_func_name(*args) +FUNC_STATICDEF = _idaapi.FUNC_STATICDEF + +def get_fchunk_referer(*args): + """ + get_fchunk_referer(ea, idx) -> ea_t + + + """ + return _idaapi.get_fchunk_referer(*args) + +def get_idasgn_desc(*args): + """ + get_idasgn_desc(n) -> PyObject * + + + Get information about a signature in the list. + It returns both: the name of the signature, and names of the + optional libraries + + @param n: number of signature in the list (0..get_idasgn_qty()-1) + @return: None on failure or tuple(signame, optlibs) + """ + return _idaapi.get_idasgn_desc(*args) + +def get_func_cmt(*args): + """ + get_func_cmt(fn, repeatable) -> PyObject * + + + Retrieve function comment + @param fn: function instance + @param repeatable: retrieve repeatable or non-repeatable comments + @return: None on failure or the comment + """ + return _idaapi.get_func_cmt(*args) +class funcargvec_t(object): + """ + Proxy of C++ qvector<(funcarg_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> funcargvec_t + __init__(self, x) -> funcargvec_t + """ + this = _idaapi.new_funcargvec_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_funcargvec_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> funcarg_t + """ + return _idaapi.funcargvec_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.funcargvec_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.funcargvec_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.funcargvec_t_empty(self, *args) + + def at(self, *args): + """ + at(self, _idx) -> funcarg_t + """ + return _idaapi.funcargvec_t_at(self, *args) + + def front(self, *args): + """ + front(self) -> funcarg_t + front(self) -> funcarg_t + """ + return _idaapi.funcargvec_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> funcarg_t + back(self) -> funcarg_t + """ + return _idaapi.funcargvec_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.funcargvec_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.funcargvec_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.funcargvec_t_resize(self, *args) + + def grow(self, *args): + """ + grow(self, x=funcarg_t()) + """ + return _idaapi.funcargvec_t_grow(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.funcargvec_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.funcargvec_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.funcargvec_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.funcargvec_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> funcarg_t + """ + return _idaapi.funcargvec_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.funcargvec_t_inject(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.funcargvec_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.funcargvec_t___ne__(self, *args) + + def begin(self, *args): + """ + begin(self) -> funcarg_t + begin(self) -> funcarg_t + """ + return _idaapi.funcargvec_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> funcarg_t + end(self) -> funcarg_t + """ + return _idaapi.funcargvec_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> funcarg_t + """ + return _idaapi.funcargvec_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> funcarg_t + erase(self, first, last) -> funcarg_t + """ + return _idaapi.funcargvec_t_erase(self, *args) + + def find(self, *args): + """ + find(self, x) -> funcarg_t + find(self, x) -> funcarg_t + """ + return _idaapi.funcargvec_t_find(self, *args) + + def has(self, *args): + """ + has(self, x) -> bool + """ + return _idaapi.funcargvec_t_has(self, *args) + + def add_unique(self, *args): + """ + add_unique(self, x) -> bool + """ + return _idaapi.funcargvec_t_add_unique(self, *args) + + def _del(self, *args): + """ + _del(self, x) -> bool + """ + return _idaapi.funcargvec_t__del(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.funcargvec_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> funcarg_t + """ + return _idaapi.funcargvec_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.funcargvec_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + +funcargvec_t_swigregister = _idaapi.funcargvec_t_swigregister +funcargvec_t_swigregister(funcargvec_t) + +class udtmembervec_t(object): + """ + Proxy of C++ qvector<(udt_member_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> udtmembervec_t + __init__(self, x) -> udtmembervec_t + """ + this = _idaapi.new_udtmembervec_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_udtmembervec_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> udt_member_t + """ + return _idaapi.udtmembervec_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.udtmembervec_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.udtmembervec_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.udtmembervec_t_empty(self, *args) + + def at(self, *args): + """ + at(self, _idx) -> udt_member_t + """ + return _idaapi.udtmembervec_t_at(self, *args) + + def front(self, *args): + """ + front(self) -> udt_member_t + front(self) -> udt_member_t + """ + return _idaapi.udtmembervec_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> udt_member_t + back(self) -> udt_member_t + """ + return _idaapi.udtmembervec_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.udtmembervec_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.udtmembervec_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.udtmembervec_t_resize(self, *args) + + def grow(self, *args): + """ + grow(self, x=udt_member_t()) + """ + return _idaapi.udtmembervec_t_grow(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.udtmembervec_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.udtmembervec_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.udtmembervec_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.udtmembervec_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> udt_member_t + """ + return _idaapi.udtmembervec_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.udtmembervec_t_inject(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.udtmembervec_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.udtmembervec_t___ne__(self, *args) + + def begin(self, *args): + """ + begin(self) -> udt_member_t + begin(self) -> udt_member_t + """ + return _idaapi.udtmembervec_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> udt_member_t + end(self) -> udt_member_t + """ + return _idaapi.udtmembervec_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> udt_member_t + """ + return _idaapi.udtmembervec_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> udt_member_t + erase(self, first, last) -> udt_member_t + """ + return _idaapi.udtmembervec_t_erase(self, *args) + + def find(self, *args): + """ + find(self, x) -> udt_member_t + find(self, x) -> udt_member_t + """ + return _idaapi.udtmembervec_t_find(self, *args) + + def has(self, *args): + """ + has(self, x) -> bool + """ + return _idaapi.udtmembervec_t_has(self, *args) + + def add_unique(self, *args): + """ + add_unique(self, x) -> bool + """ + return _idaapi.udtmembervec_t_add_unique(self, *args) + + def _del(self, *args): + """ + _del(self, x) -> bool + """ + return _idaapi.udtmembervec_t__del(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.udtmembervec_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> udt_member_t + """ + return _idaapi.udtmembervec_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.udtmembervec_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + +udtmembervec_t_swigregister = _idaapi.udtmembervec_t_swigregister +udtmembervec_t_swigregister(udtmembervec_t) + +RESERVED_BYTE = _idaapi.RESERVED_BYTE + +def is_type_const(*args): + """ + is_type_const(t) -> bool + """ + return _idaapi.is_type_const(*args) + +def is_type_volatile(*args): + """ + is_type_volatile(t) -> bool + """ + return _idaapi.is_type_volatile(*args) + +def get_base_type(*args): + """ + get_base_type(t) -> type_t + """ + return _idaapi.get_base_type(*args) + +def get_type_flags(*args): + """ + get_type_flags(t) -> type_t + """ + return _idaapi.get_type_flags(*args) + +def get_full_type(*args): + """ + get_full_type(t) -> type_t + """ + return _idaapi.get_full_type(*args) + +def is_typeid_last(*args): + """ + is_typeid_last(t) -> bool + """ + return _idaapi.is_typeid_last(*args) + +def is_type_partial(*args): + """ + is_type_partial(t) -> bool + """ + return _idaapi.is_type_partial(*args) + +def is_type_void(*args): + """ + is_type_void(t) -> bool + """ + return _idaapi.is_type_void(*args) + +def is_type_unknown(*args): + """ + is_type_unknown(t) -> bool + """ + return _idaapi.is_type_unknown(*args) + +def is_type_ptr(*args): + """ + is_type_ptr(t) -> bool + """ + return _idaapi.is_type_ptr(*args) + +def is_type_complex(*args): + """ + is_type_complex(t) -> bool + """ + return _idaapi.is_type_complex(*args) + +def is_type_func(*args): + """ + is_type_func(t) -> bool + """ + return _idaapi.is_type_func(*args) + +def is_type_array(*args): + """ + is_type_array(t) -> bool + """ + return _idaapi.is_type_array(*args) + +def is_type_typedef(*args): + """ + is_type_typedef(t) -> bool + """ + return _idaapi.is_type_typedef(*args) + +def is_type_sue(*args): + """ + is_type_sue(t) -> bool + """ + return _idaapi.is_type_sue(*args) + +def is_type_struct(*args): + """ + is_type_struct(t) -> bool + """ + return _idaapi.is_type_struct(*args) + +def is_type_union(*args): + """ + is_type_union(t) -> bool + """ + return _idaapi.is_type_union(*args) + +def is_type_struni(*args): + """ + is_type_struni(t) -> bool + """ + return _idaapi.is_type_struni(*args) + +def is_type_enum(*args): + """ + is_type_enum(t) -> bool + """ + return _idaapi.is_type_enum(*args) + +def is_type_bitfld(*args): + """ + is_type_bitfld(t) -> bool + """ + return _idaapi.is_type_bitfld(*args) + +def is_type_int(*args): + """ + is_type_int(bt) -> bool + """ + return _idaapi.is_type_int(*args) + +def is_type_int128(*args): + """ + is_type_int128(t) -> bool + """ + return _idaapi.is_type_int128(*args) + +def is_type_int64(*args): + """ + is_type_int64(t) -> bool + """ + return _idaapi.is_type_int64(*args) + +def is_type_int32(*args): + """ + is_type_int32(t) -> bool + """ + return _idaapi.is_type_int32(*args) + +def is_type_int16(*args): + """ + is_type_int16(t) -> bool + """ + return _idaapi.is_type_int16(*args) + +def is_type_char(*args): + """ + is_type_char(t) -> bool + """ + return _idaapi.is_type_char(*args) + +def is_type_paf(*args): + """ + is_type_paf(t) -> bool + """ + return _idaapi.is_type_paf(*args) + +def is_type_ptr_or_array(*args): + """ + is_type_ptr_or_array(t) -> bool + """ + return _idaapi.is_type_ptr_or_array(*args) + +def is_type_floating(*args): + """ + is_type_floating(t) -> bool + """ + return _idaapi.is_type_floating(*args) + +def is_type_integral(*args): + """ + is_type_integral(t) -> bool + """ + return _idaapi.is_type_integral(*args) + +def is_type_ext_integral(*args): + """ + is_type_ext_integral(t) -> bool + """ + return _idaapi.is_type_ext_integral(*args) + +def is_type_arithmetic(*args): + """ + is_type_arithmetic(t) -> bool + """ + return _idaapi.is_type_arithmetic(*args) + +def is_type_ext_arithmetic(*args): + """ + is_type_ext_arithmetic(t) -> bool + """ + return _idaapi.is_type_ext_arithmetic(*args) + +def is_type_uint(*args): + """ + is_type_uint(t) -> bool + """ + return _idaapi.is_type_uint(*args) + +def is_type_uchar(*args): + """ + is_type_uchar(t) -> bool + """ + return _idaapi.is_type_uchar(*args) + +def is_type_uint16(*args): + """ + is_type_uint16(t) -> bool + """ + return _idaapi.is_type_uint16(*args) + +def is_type_uint32(*args): + """ + is_type_uint32(t) -> bool + """ + return _idaapi.is_type_uint32(*args) + +def is_type_uint64(*args): + """ + is_type_uint64(t) -> bool + """ + return _idaapi.is_type_uint64(*args) + +def is_type_uint128(*args): + """ + is_type_uint128(t) -> bool + """ + return _idaapi.is_type_uint128(*args) + +def is_type_ldouble(*args): + """ + is_type_ldouble(t) -> bool + """ + return _idaapi.is_type_ldouble(*args) + +def is_type_double(*args): + """ + is_type_double(t) -> bool + """ + return _idaapi.is_type_double(*args) + +def is_type_float(*args): + """ + is_type_float(t) -> bool + """ + return _idaapi.is_type_float(*args) + +def is_type_bool(*args): + """ + is_type_bool(t) -> bool + """ + return _idaapi.is_type_bool(*args) +TAH_BYTE = _idaapi.TAH_BYTE +FAH_BYTE = _idaapi.FAH_BYTE +MAX_DECL_ALIGN = _idaapi.MAX_DECL_ALIGN +TAH_HASATTRS = _idaapi.TAH_HASATTRS +TAUDT_UNALIGNED = _idaapi.TAUDT_UNALIGNED +TAUDT_MSSTRUCT = _idaapi.TAUDT_MSSTRUCT +TAUDT_CPPOBJ = _idaapi.TAUDT_CPPOBJ +TAFLD_BASECLASS = _idaapi.TAFLD_BASECLASS +TAFLD_UNALIGNED = _idaapi.TAFLD_UNALIGNED +TAFLD_VIRTBASE = _idaapi.TAFLD_VIRTBASE +TAPTR_PTR32 = _idaapi.TAPTR_PTR32 +TAPTR_PTR64 = _idaapi.TAPTR_PTR64 +TAPTR_RESTRICT = _idaapi.TAPTR_RESTRICT +TAENUM_64BIT = _idaapi.TAENUM_64BIT +TAH_ALL = _idaapi.TAH_ALL + +def is_tah_byte(*args): + """ + is_tah_byte(t) -> bool + """ + return _idaapi.is_tah_byte(*args) + +def is_sdacl_byte(*args): + """ + is_sdacl_byte(t) -> bool + """ + return _idaapi.is_sdacl_byte(*args) +class type_attr_t(object): + """ + Proxy of C++ type_attr_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + key = _swig_property(_idaapi.type_attr_t_key_get, _idaapi.type_attr_t_key_set) + value = _swig_property(_idaapi.type_attr_t_value_get, _idaapi.type_attr_t_value_set) + def __init__(self, *args): + """ + __init__(self) -> type_attr_t + """ + this = _idaapi.new_type_attr_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_type_attr_t + __del__ = lambda self : None; +type_attr_t_swigregister = _idaapi.type_attr_t_swigregister +type_attr_t_swigregister(type_attr_t) +TYPE_BASE_MASK = cvar.TYPE_BASE_MASK +TYPE_FLAGS_MASK = cvar.TYPE_FLAGS_MASK +TYPE_MODIF_MASK = cvar.TYPE_MODIF_MASK +TYPE_FULL_MASK = cvar.TYPE_FULL_MASK +BT_UNK = cvar.BT_UNK +BT_VOID = cvar.BT_VOID +BTMT_SIZE0 = cvar.BTMT_SIZE0 +BTMT_SIZE12 = cvar.BTMT_SIZE12 +BTMT_SIZE48 = cvar.BTMT_SIZE48 +BTMT_SIZE128 = cvar.BTMT_SIZE128 +BT_INT8 = cvar.BT_INT8 +BT_INT16 = cvar.BT_INT16 +BT_INT32 = cvar.BT_INT32 +BT_INT64 = cvar.BT_INT64 +BT_INT128 = cvar.BT_INT128 +BT_INT = cvar.BT_INT +BTMT_UNKSIGN = cvar.BTMT_UNKSIGN +BTMT_SIGNED = cvar.BTMT_SIGNED +BTMT_USIGNED = cvar.BTMT_USIGNED +BTMT_UNSIGNED = cvar.BTMT_UNSIGNED +BTMT_CHAR = cvar.BTMT_CHAR +BT_BOOL = cvar.BT_BOOL +BTMT_DEFBOOL = cvar.BTMT_DEFBOOL +BTMT_BOOL1 = cvar.BTMT_BOOL1 +BTMT_BOOL2 = cvar.BTMT_BOOL2 +BTMT_BOOL4 = cvar.BTMT_BOOL4 +BT_FLOAT = cvar.BT_FLOAT +BTMT_FLOAT = cvar.BTMT_FLOAT +BTMT_DOUBLE = cvar.BTMT_DOUBLE +BTMT_LNGDBL = cvar.BTMT_LNGDBL +BTMT_SPECFLT = cvar.BTMT_SPECFLT +_BT_LAST_BASIC = cvar._BT_LAST_BASIC +BT_PTR = cvar.BT_PTR +BTMT_DEFPTR = cvar.BTMT_DEFPTR +BTMT_NEAR = cvar.BTMT_NEAR +BTMT_FAR = cvar.BTMT_FAR +BTMT_CLOSURE = cvar.BTMT_CLOSURE +BT_ARRAY = cvar.BT_ARRAY +BTMT_NONBASED = cvar.BTMT_NONBASED +BTMT_ARRESERV = cvar.BTMT_ARRESERV +BT_FUNC = cvar.BT_FUNC +BTMT_DEFCALL = cvar.BTMT_DEFCALL +BTMT_NEARCALL = cvar.BTMT_NEARCALL +BTMT_FARCALL = cvar.BTMT_FARCALL +BTMT_INTCALL = cvar.BTMT_INTCALL +BT_COMPLEX = cvar.BT_COMPLEX +BTMT_STRUCT = cvar.BTMT_STRUCT +BTMT_UNION = cvar.BTMT_UNION +BTMT_ENUM = cvar.BTMT_ENUM +BTMT_TYPEDEF = cvar.BTMT_TYPEDEF +BT_BITFIELD = cvar.BT_BITFIELD +BTMT_BFLDI8 = cvar.BTMT_BFLDI8 +BTMT_BFLDI16 = cvar.BTMT_BFLDI16 +BTMT_BFLDI32 = cvar.BTMT_BFLDI32 +BTMT_BFLDI64 = cvar.BTMT_BFLDI64 +BT_RESERVED = cvar.BT_RESERVED +BTM_CONST = cvar.BTM_CONST +BTM_VOLATILE = cvar.BTM_VOLATILE +BTE_SIZE_MASK = cvar.BTE_SIZE_MASK +BTE_RESERVED = cvar.BTE_RESERVED +BTE_BITFIELD = cvar.BTE_BITFIELD +BTE_OUT_MASK = cvar.BTE_OUT_MASK +BTE_HEX = cvar.BTE_HEX +BTE_CHAR = cvar.BTE_CHAR +BTE_SDEC = cvar.BTE_SDEC +BTE_UDEC = cvar.BTE_UDEC +BTE_ALWAYS = cvar.BTE_ALWAYS +BT_SEGREG = cvar.BT_SEGREG +BT_UNK_BYTE = cvar.BT_UNK_BYTE +BT_UNK_WORD = cvar.BT_UNK_WORD +BT_UNK_DWORD = cvar.BT_UNK_DWORD +BT_UNK_QWORD = cvar.BT_UNK_QWORD +BT_UNK_OWORD = cvar.BT_UNK_OWORD +BT_UNKNOWN = cvar.BT_UNKNOWN +BTF_BYTE = cvar.BTF_BYTE +BTF_UNK = cvar.BTF_UNK +BTF_VOID = cvar.BTF_VOID +BTF_INT8 = cvar.BTF_INT8 +BTF_CHAR = cvar.BTF_CHAR +BTF_UCHAR = cvar.BTF_UCHAR +BTF_UINT8 = cvar.BTF_UINT8 +BTF_INT16 = cvar.BTF_INT16 +BTF_UINT16 = cvar.BTF_UINT16 +BTF_INT32 = cvar.BTF_INT32 +BTF_UINT32 = cvar.BTF_UINT32 +BTF_INT64 = cvar.BTF_INT64 +BTF_UINT64 = cvar.BTF_UINT64 +BTF_INT128 = cvar.BTF_INT128 +BTF_UINT128 = cvar.BTF_UINT128 +BTF_INT = cvar.BTF_INT +BTF_UINT = cvar.BTF_UINT +BTF_SINT = cvar.BTF_SINT +BTF_BOOL = cvar.BTF_BOOL +BTF_FLOAT = cvar.BTF_FLOAT +BTF_DOUBLE = cvar.BTF_DOUBLE +BTF_LDOUBLE = cvar.BTF_LDOUBLE +BTF_TBYTE = cvar.BTF_TBYTE +BTF_STRUCT = cvar.BTF_STRUCT +BTF_UNION = cvar.BTF_UNION +BTF_ENUM = cvar.BTF_ENUM +BTF_TYPEDEF = cvar.BTF_TYPEDEF + + +def append_argloc(*args): + """ + append_argloc(out, vloc) -> bool + """ + return _idaapi.append_argloc(*args) + +def is_restype_const(*args): + """ + is_restype_const(til, type) -> bool + """ + return _idaapi.is_restype_const(*args) + +def is_restype_void(*args): + """ + is_restype_void(til, type) -> bool + """ + return _idaapi.is_restype_void(*args) + +def is_restype_ptr(*args): + """ + is_restype_ptr(til, type) -> bool + """ + return _idaapi.is_restype_ptr(*args) + +def is_restype_func(*args): + """ + is_restype_func(til, type) -> bool + """ + return _idaapi.is_restype_func(*args) + +def is_restype_array(*args): + """ + is_restype_array(til, type) -> bool + """ + return _idaapi.is_restype_array(*args) + +def is_restype_complex(*args): + """ + is_restype_complex(til, type) -> bool + """ + return _idaapi.is_restype_complex(*args) + +def is_restype_struct(*args): + """ + is_restype_struct(til, type) -> bool + """ + return _idaapi.is_restype_struct(*args) + +def is_restype_union(*args): + """ + is_restype_union(til, type) -> bool + """ + return _idaapi.is_restype_union(*args) + +def is_restype_struni(*args): + """ + is_restype_struni(til, type) -> bool + """ + return _idaapi.is_restype_struni(*args) + +def is_restype_enum(*args): + """ + is_restype_enum(til, type) -> bool + """ + return _idaapi.is_restype_enum(*args) + +def is_restype_bitfld(*args): + """ + is_restype_bitfld(til, type) -> bool + """ + return _idaapi.is_restype_bitfld(*args) + +def is_restype_floating(*args): + """ + is_restype_floating(til, type) -> bool + """ + return _idaapi.is_restype_floating(*args) +class til_t(object): + """ + Proxy of C++ til_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + name = _swig_property(_idaapi.til_t_name_get, _idaapi.til_t_name_set) + desc = _swig_property(_idaapi.til_t_desc_get, _idaapi.til_t_desc_set) + nbases = _swig_property(_idaapi.til_t_nbases_get, _idaapi.til_t_nbases_set) + flags = _swig_property(_idaapi.til_t_flags_get, _idaapi.til_t_flags_set) + def is_dirty(self, *args): + """ + is_dirty(self) -> bool + """ + return _idaapi.til_t_is_dirty(self, *args) + + def set_dirty(self, *args): + """ + set_dirty(self) + """ + return _idaapi.til_t_set_dirty(self, *args) + + cc = _swig_property(_idaapi.til_t_cc_get, _idaapi.til_t_cc_set) + nrefs = _swig_property(_idaapi.til_t_nrefs_get, _idaapi.til_t_nrefs_set) + nstreams = _swig_property(_idaapi.til_t_nstreams_get, _idaapi.til_t_nstreams_set) + streams = _swig_property(_idaapi.til_t_streams_get, _idaapi.til_t_streams_set) + def __init__(self, *args): + """ + __init__(self) -> til_t + """ + this = _idaapi.new_til_t(*args) + try: self.this.append(this) + except: self.this = this + def base(self, *args): + """ + base(self, n) -> til_t + """ + return _idaapi.til_t_base(self, *args) + + __swig_destroy__ = _idaapi.delete_til_t + __del__ = lambda self : None; +til_t_swigregister = _idaapi.til_t_swigregister +til_t_swigregister(til_t) +no_sign = cvar.no_sign +type_signed = cvar.type_signed +type_unsigned = cvar.type_unsigned +TIL_ZIP = _idaapi.TIL_ZIP +TIL_MAC = _idaapi.TIL_MAC +TIL_ESI = _idaapi.TIL_ESI +TIL_UNI = _idaapi.TIL_UNI +TIL_ORD = _idaapi.TIL_ORD +TIL_ALI = _idaapi.TIL_ALI +TIL_MOD = _idaapi.TIL_MOD +TIL_STM = _idaapi.TIL_STM + + +def new_til(*args): + """ + new_til(name, desc) -> til_t + """ + return _idaapi.new_til(*args) +TIL_ADD_FAILED = _idaapi.TIL_ADD_FAILED +TIL_ADD_OK = _idaapi.TIL_ADD_OK +TIL_ADD_ALREADY = _idaapi.TIL_ADD_ALREADY + +def compact_til(*args): + """ + compact_til(ti) -> bool + """ + return _idaapi.compact_til(*args) + +def store_til(*args): + """ + store_til(ti, tildir, name) -> bool + """ + return _idaapi.store_til(*args) + +def free_til(*args): + """ + free_til(ti) + """ + return _idaapi.free_til(*args) + +def is_code_far(*args): + """ + is_code_far(cm) -> bool + """ + return _idaapi.is_code_far(*args) + +def is_data_far(*args): + """ + is_data_far(cm) -> bool + """ + return _idaapi.is_data_far(*args) +class rrel_t(object): + """ + Proxy of C++ rrel_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + off = _swig_property(_idaapi.rrel_t_off_get, _idaapi.rrel_t_off_set) + reg = _swig_property(_idaapi.rrel_t_reg_get, _idaapi.rrel_t_reg_set) + def __init__(self, *args): + """ + __init__(self) -> rrel_t + """ + this = _idaapi.new_rrel_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_rrel_t + __del__ = lambda self : None; +rrel_t_swigregister = _idaapi.rrel_t_swigregister +rrel_t_swigregister(rrel_t) +CM_MASK = cvar.CM_MASK +CM_UNKNOWN = cvar.CM_UNKNOWN +CM_N8_F16 = cvar.CM_N8_F16 +CM_N64 = cvar.CM_N64 +CM_N16_F32 = cvar.CM_N16_F32 +CM_N32_F48 = cvar.CM_N32_F48 +CM_M_MASK = cvar.CM_M_MASK +CM_M_NN = cvar.CM_M_NN +CM_M_FF = cvar.CM_M_FF +CM_M_NF = cvar.CM_M_NF +CM_M_FN = cvar.CM_M_FN +CM_CC_MASK = cvar.CM_CC_MASK +CM_CC_INVALID = cvar.CM_CC_INVALID +CM_CC_UNKNOWN = cvar.CM_CC_UNKNOWN +CM_CC_VOIDARG = cvar.CM_CC_VOIDARG +CM_CC_CDECL = cvar.CM_CC_CDECL +CM_CC_ELLIPSIS = cvar.CM_CC_ELLIPSIS +CM_CC_STDCALL = cvar.CM_CC_STDCALL +CM_CC_PASCAL = cvar.CM_CC_PASCAL +CM_CC_FASTCALL = cvar.CM_CC_FASTCALL +CM_CC_THISCALL = cvar.CM_CC_THISCALL +CM_CC_MANUAL = cvar.CM_CC_MANUAL +CM_CC_SPOILED = cvar.CM_CC_SPOILED +CM_CC_RESERVE4 = cvar.CM_CC_RESERVE4 +CM_CC_RESERVE3 = cvar.CM_CC_RESERVE3 +CM_CC_SPECIALE = cvar.CM_CC_SPECIALE +CM_CC_SPECIALP = cvar.CM_CC_SPECIALP +CM_CC_SPECIAL = cvar.CM_CC_SPECIAL +BFA_NORET = cvar.BFA_NORET +BFA_PURE = cvar.BFA_PURE +BFA_HIGH = cvar.BFA_HIGH +BFA_STATIC = cvar.BFA_STATIC +BFA_VIRTUAL = cvar.BFA_VIRTUAL +ALOC_NONE = cvar.ALOC_NONE +ALOC_STACK = cvar.ALOC_STACK +ALOC_DIST = cvar.ALOC_DIST +ALOC_REG1 = cvar.ALOC_REG1 +ALOC_REG2 = cvar.ALOC_REG2 +ALOC_RREL = cvar.ALOC_RREL +ALOC_STATIC = cvar.ALOC_STATIC +ALOC_CUSTOM = cvar.ALOC_CUSTOM + +class argloc_t(object): + """ + Proxy of C++ argloc_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> argloc_t + __init__(self, r) -> argloc_t + """ + this = _idaapi.new_argloc_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_argloc_t + __del__ = lambda self : None; + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.argloc_t_swap(self, *args) + + def atype(self, *args): + """ + atype(self) -> argloc_type_t + """ + return _idaapi.argloc_t_atype(self, *args) + + def is_reg1(self, *args): + """ + is_reg1(self) -> bool + """ + return _idaapi.argloc_t_is_reg1(self, *args) + + def is_reg2(self, *args): + """ + is_reg2(self) -> bool + """ + return _idaapi.argloc_t_is_reg2(self, *args) + + def is_reg(self, *args): + """ + is_reg(self) -> bool + """ + return _idaapi.argloc_t_is_reg(self, *args) + + def is_rrel(self, *args): + """ + is_rrel(self) -> bool + """ + return _idaapi.argloc_t_is_rrel(self, *args) + + def is_ea(self, *args): + """ + is_ea(self) -> bool + """ + return _idaapi.argloc_t_is_ea(self, *args) + + def is_stkoff(self, *args): + """ + is_stkoff(self) -> bool + """ + return _idaapi.argloc_t_is_stkoff(self, *args) + + def is_scattered(self, *args): + """ + is_scattered(self) -> bool + """ + return _idaapi.argloc_t_is_scattered(self, *args) + + def is_fragmented(self, *args): + """ + is_fragmented(self) -> bool + """ + return _idaapi.argloc_t_is_fragmented(self, *args) + + def is_custom(self, *args): + """ + is_custom(self) -> bool + """ + return _idaapi.argloc_t_is_custom(self, *args) + + def is_badloc(self, *args): + """ + is_badloc(self) -> bool + """ + return _idaapi.argloc_t_is_badloc(self, *args) + + def reg1(self, *args): + """ + reg1(self) -> int + """ + return _idaapi.argloc_t_reg1(self, *args) + + def regoff(self, *args): + """ + regoff(self) -> int + """ + return _idaapi.argloc_t_regoff(self, *args) + + def reg2(self, *args): + """ + reg2(self) -> int + """ + return _idaapi.argloc_t_reg2(self, *args) + + def get_reginfo(self, *args): + """ + get_reginfo(self) -> uint32 + """ + return _idaapi.argloc_t_get_reginfo(self, *args) + + def stkoff(self, *args): + """ + stkoff(self) -> sval_t + """ + return _idaapi.argloc_t_stkoff(self, *args) + + def get_ea(self, *args): + """ + get_ea(self) -> ea_t + """ + return _idaapi.argloc_t_get_ea(self, *args) + + def scattered(self, *args): + """ + scattered(self) -> scattered_aloc_t + scattered(self) -> scattered_aloc_t + """ + return _idaapi.argloc_t_scattered(self, *args) + + def get_rrel(self, *args): + """ + get_rrel(self) -> rrel_t + get_rrel(self) -> rrel_t + """ + return _idaapi.argloc_t_get_rrel(self, *args) + + def get_custom(self, *args): + """ + get_custom(self) -> void * + """ + return _idaapi.argloc_t_get_custom(self, *args) + + def get_biggest(self, *args): + """ + get_biggest(self) -> argloc_t::biggest_t + """ + return _idaapi.argloc_t_get_biggest(self, *args) + + def _set_badloc(self, *args): + """ + _set_badloc(self) + """ + return _idaapi.argloc_t__set_badloc(self, *args) + + def _set_reg1(self, *args): + """ + _set_reg1(self, reg, off=0) + """ + return _idaapi.argloc_t__set_reg1(self, *args) + + def _set_reg2(self, *args): + """ + _set_reg2(self, _reg1, _reg2) + """ + return _idaapi.argloc_t__set_reg2(self, *args) + + def _set_stkoff(self, *args): + """ + _set_stkoff(self, off) + """ + return _idaapi.argloc_t__set_stkoff(self, *args) + + def _set_ea(self, *args): + """ + _set_ea(self, _ea) + """ + return _idaapi.argloc_t__set_ea(self, *args) + + def _consume_rrel(self, *args): + """ + _consume_rrel(self, p) -> bool + """ + return _idaapi.argloc_t__consume_rrel(self, *args) + + def _consume_scattered(self, *args): + """ + _consume_scattered(self, p) -> bool + """ + return _idaapi.argloc_t__consume_scattered(self, *args) + + def _set_custom(self, *args): + """ + _set_custom(self, ct, pdata) + """ + return _idaapi.argloc_t__set_custom(self, *args) + + def _set_biggest(self, *args): + """ + _set_biggest(self, ct, data) + """ + return _idaapi.argloc_t__set_biggest(self, *args) + + def set_reg1(self, *args): + """ + set_reg1(self, reg, off=0) + """ + return _idaapi.argloc_t_set_reg1(self, *args) + + def set_reg2(self, *args): + """ + set_reg2(self, _reg1, _reg2) + """ + return _idaapi.argloc_t_set_reg2(self, *args) + + def set_stkoff(self, *args): + """ + set_stkoff(self, off) + """ + return _idaapi.argloc_t_set_stkoff(self, *args) + + def set_ea(self, *args): + """ + set_ea(self, _ea) + """ + return _idaapi.argloc_t_set_ea(self, *args) + + def consume_rrel(self, *args): + """ + consume_rrel(self, p) + """ + return _idaapi.argloc_t_consume_rrel(self, *args) + + def consume_scattered(self, *args): + """ + consume_scattered(self, p) + """ + return _idaapi.argloc_t_consume_scattered(self, *args) + + def set_badloc(self, *args): + """ + set_badloc(self) + """ + return _idaapi.argloc_t_set_badloc(self, *args) + + def calc_offset(self, *args): + """ + calc_offset(self) -> sval_t + """ + return _idaapi.argloc_t_calc_offset(self, *args) + + def advance(self, *args): + """ + advance(self, delta) -> bool + """ + return _idaapi.argloc_t_advance(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.argloc_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.argloc_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.argloc_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.argloc_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.argloc_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.argloc_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.argloc_t_compare(self, *args) + +argloc_t_swigregister = _idaapi.argloc_t_swigregister +argloc_t_swigregister(argloc_t) + +class argpart_t(argloc_t): + """ + Proxy of C++ argpart_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + off = _swig_property(_idaapi.argpart_t_off_get, _idaapi.argpart_t_off_set) + size = _swig_property(_idaapi.argpart_t_size_get, _idaapi.argpart_t_size_set) + def __init__(self, *args): + """ + __init__(self) -> argpart_t + """ + this = _idaapi.new_argpart_t(*args) + try: self.this.append(this) + except: self.this = this + def bad_offset(self, *args): + """ + bad_offset(self) -> bool + """ + return _idaapi.argpart_t_bad_offset(self, *args) + + def bad_size(self, *args): + """ + bad_size(self) -> bool + """ + return _idaapi.argpart_t_bad_size(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.argpart_t___lt__(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.argpart_t_swap(self, *args) + + __swig_destroy__ = _idaapi.delete_argpart_t + __del__ = lambda self : None; +argpart_t_swigregister = _idaapi.argpart_t_swigregister +argpart_t_swigregister(argpart_t) + +class scattered_aloc_t(object): + """ + Proxy of C++ scattered_aloc_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> scattered_aloc_t + """ + this = _idaapi.new_scattered_aloc_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_scattered_aloc_t + __del__ = lambda self : None; +scattered_aloc_t_swigregister = _idaapi.scattered_aloc_t_swigregister +scattered_aloc_t_swigregister(scattered_aloc_t) + + +def verify_argloc(*args): + """ + verify_argloc(vloc, size, gaps) -> int + """ + return _idaapi.verify_argloc(*args) + +def optimize_argloc(*args): + """ + optimize_argloc(vloc, size, gaps) -> bool + """ + return _idaapi.optimize_argloc(*args) + +def print_argloc(*args): + """ + print_argloc(vloc, size=0, vflags=0) -> size_t + """ + return _idaapi.print_argloc(*args) +PRALOC_VERIFY = _idaapi.PRALOC_VERIFY +PRALOC_STKOFF = _idaapi.PRALOC_STKOFF +class aloc_visitor_t(object): + """ + Proxy of C++ aloc_visitor_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + def visit_location(self, *args): + """ + visit_location(self, v, off, size) -> int + """ + return _idaapi.aloc_visitor_t_visit_location(self, *args) + + __swig_destroy__ = _idaapi.delete_aloc_visitor_t + __del__ = lambda self : None; +aloc_visitor_t_swigregister = _idaapi.aloc_visitor_t_swigregister +aloc_visitor_t_swigregister(aloc_visitor_t) + + +def for_all_arglocs(*args): + """ + for_all_arglocs(vv, vloc, size, off=0) -> int + """ + return _idaapi.for_all_arglocs(*args) +class const_aloc_visitor_t(object): + """ + Proxy of C++ const_aloc_visitor_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + def visit_location(self, *args): + """ + visit_location(self, v, off, size) -> int + """ + return _idaapi.const_aloc_visitor_t_visit_location(self, *args) + + __swig_destroy__ = _idaapi.delete_const_aloc_visitor_t + __del__ = lambda self : None; +const_aloc_visitor_t_swigregister = _idaapi.const_aloc_visitor_t_swigregister +const_aloc_visitor_t_swigregister(const_aloc_visitor_t) + + +def for_all_const_arglocs(*args): + """ + for_all_const_arglocs(vv, vloc, size, off=0) -> int + """ + return _idaapi.for_all_const_arglocs(*args) +ARGREGS_POLICY_UNDEFINED = _idaapi.ARGREGS_POLICY_UNDEFINED +ARGREGS_GP_ONLY = _idaapi.ARGREGS_GP_ONLY +ARGREGS_INDEPENDENT = _idaapi.ARGREGS_INDEPENDENT +ARGREGS_BY_SLOTS = _idaapi.ARGREGS_BY_SLOTS + +def callregs_init_regs(*args): + """ + callregs_init_regs(_this, request) + """ + return _idaapi.callregs_init_regs(*args) +class callregs_t(object): + """ + Proxy of C++ callregs_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + policy = _swig_property(_idaapi.callregs_t_policy_get, _idaapi.callregs_t_policy_set) + nregs = _swig_property(_idaapi.callregs_t_nregs_get, _idaapi.callregs_t_nregs_set) + gpregs = _swig_property(_idaapi.callregs_t_gpregs_get, _idaapi.callregs_t_gpregs_set) + fpregs = _swig_property(_idaapi.callregs_t_fpregs_get, _idaapi.callregs_t_fpregs_set) + def __init__(self, *args): + """ + __init__(self) -> callregs_t + __init__(self, request) -> callregs_t + """ + this = _idaapi.new_callregs_t(*args) + try: self.this.append(this) + except: self.this = this + def init_regs(self, *args): + """ + init_regs(self, request) + """ + return _idaapi.callregs_t_init_regs(self, *args) + + def set(self, *args): + """ + set(self, _policy, gprs, fprs) + """ + return _idaapi.callregs_t_set(self, *args) + + def reset(self, *args): + """ + reset(self) + """ + return _idaapi.callregs_t_reset(self, *args) + + def regcount(*args): + """ + regcount(request) -> int + """ + return _idaapi.callregs_t_regcount(*args) + + regcount = staticmethod(regcount) + def reginds(self, *args): + """ + reginds(self, gp_ind, fp_ind, r) -> bool + """ + return _idaapi.callregs_t_reginds(self, *args) + + __swig_destroy__ = _idaapi.delete_callregs_t + __del__ = lambda self : None; +callregs_t_swigregister = _idaapi.callregs_t_swigregister +callregs_t_swigregister(callregs_t) + +def callregs_t_regcount(*args): + """ + callregs_t_regcount(request) -> int + """ + return _idaapi.callregs_t_regcount(*args) + + +def is_user_cc(*args): + """ + is_user_cc(cm) -> bool + """ + return _idaapi.is_user_cc(*args) + +def is_vararg_cc(*args): + """ + is_vararg_cc(cm) -> bool + """ + return _idaapi.is_vararg_cc(*args) + +def is_purging_cc(*args): + """ + is_purging_cc(cm) -> bool + """ + return _idaapi.is_purging_cc(*args) + +def get_comp(*args): + """ + get_comp(comp) -> comp_t + """ + return _idaapi.get_comp(*args) + +def get_compiler_name(*args): + """ + get_compiler_name(id) -> char const * + """ + return _idaapi.get_compiler_name(*args) + +def get_compiler_abbr(*args): + """ + get_compiler_abbr(id) -> char const * + """ + return _idaapi.get_compiler_abbr(*args) + +def get_compilers(*args): + """ + get_compilers(ids, names, abbrs) + """ + return _idaapi.get_compilers(*args) + +def is_comp_unsure(*args): + """ + is_comp_unsure(comp) -> comp_t + """ + return _idaapi.is_comp_unsure(*args) + +def default_compiler(*args): + """ + default_compiler() -> comp_t + """ + return _idaapi.default_compiler(*args) + +def is_gcc(*args): + """ + is_gcc() -> bool + """ + return _idaapi.is_gcc(*args) + +def is_gcc32(*args): + """ + is_gcc32() -> bool + """ + return _idaapi.is_gcc32(*args) + +def is_gcc64(*args): + """ + is_gcc64() -> bool + """ + return _idaapi.is_gcc64(*args) + +def set_compiler(*args): + """ + set_compiler(cc, flags) -> bool + """ + return _idaapi.set_compiler(*args) +SETCOMP_OVERRIDE = _idaapi.SETCOMP_OVERRIDE +SETCOMP_ONLY_ID = _idaapi.SETCOMP_ONLY_ID + +def set_compiler_id(*args): + """ + set_compiler_id(id) -> bool + """ + return _idaapi.set_compiler_id(*args) +MAX_FUNC_ARGS = _idaapi.MAX_FUNC_ARGS +abs_unk = _idaapi.abs_unk +abs_no = _idaapi.abs_no +abs_yes = _idaapi.abs_yes +sc_unk = _idaapi.sc_unk +sc_type = _idaapi.sc_type +sc_ext = _idaapi.sc_ext +sc_stat = _idaapi.sc_stat +sc_reg = _idaapi.sc_reg +sc_auto = _idaapi.sc_auto +sc_friend = _idaapi.sc_friend +sc_virt = _idaapi.sc_virt +HTI_CPP = _idaapi.HTI_CPP +HTI_INT = _idaapi.HTI_INT +HTI_EXT = _idaapi.HTI_EXT +HTI_LEX = _idaapi.HTI_LEX +HTI_UNP = _idaapi.HTI_UNP +HTI_TST = _idaapi.HTI_TST +HTI_FIL = _idaapi.HTI_FIL +HTI_MAC = _idaapi.HTI_MAC +HTI_NWR = _idaapi.HTI_NWR +HTI_NER = _idaapi.HTI_NER +HTI_DCL = _idaapi.HTI_DCL +HTI_NDC = _idaapi.HTI_NDC +HTI_PAK = _idaapi.HTI_PAK +HTI_PAK_SHIFT = _idaapi.HTI_PAK_SHIFT +HTI_PAKDEF = _idaapi.HTI_PAKDEF +HTI_PAK1 = _idaapi.HTI_PAK1 +HTI_PAK2 = _idaapi.HTI_PAK2 +HTI_PAK4 = _idaapi.HTI_PAK4 +HTI_PAK8 = _idaapi.HTI_PAK8 +HTI_PAK16 = _idaapi.HTI_PAK16 +HTI_HIGH = _idaapi.HTI_HIGH +HTI_LOWER = _idaapi.HTI_LOWER + +def parse_decl2(*args): + """ + parse_decl2(til, decl, name, tif, flags) -> bool + """ + return _idaapi.parse_decl2(*args) +PT_SIL = _idaapi.PT_SIL +PT_NDC = _idaapi.PT_NDC +PT_TYP = _idaapi.PT_TYP +PT_VAR = _idaapi.PT_VAR +PT_PACKMASK = _idaapi.PT_PACKMASK +PT_HIGH = _idaapi.PT_HIGH +PT_LOWER = _idaapi.PT_LOWER +PT_REPLACE = _idaapi.PT_REPLACE + +def convert_pt_flags_to_hti(*args): + """ + convert_pt_flags_to_hti(pt_flags) -> int + """ + return _idaapi.convert_pt_flags_to_hti(*args) + +def parse_decls(*args): + """ + parse_decls(til, input, printer, hti_flags) -> int + """ + return _idaapi.parse_decls(*args) + +def print_type3(*args): + """ + print_type3(ea, prtype_flags) -> bool + """ + return _idaapi.print_type3(*args) +PRTYPE_1LINE = _idaapi.PRTYPE_1LINE +PRTYPE_MULTI = _idaapi.PRTYPE_MULTI +PRTYPE_TYPE = _idaapi.PRTYPE_TYPE +PRTYPE_PRAGMA = _idaapi.PRTYPE_PRAGMA +PRTYPE_SEMI = _idaapi.PRTYPE_SEMI +PRTYPE_CPP = _idaapi.PRTYPE_CPP +PRTYPE_DEF = _idaapi.PRTYPE_DEF +PRTYPE_NOARGS = _idaapi.PRTYPE_NOARGS +PRTYPE_NOARRS = _idaapi.PRTYPE_NOARRS +PRTYPE_NORES = _idaapi.PRTYPE_NORES +NTF_TYPE = _idaapi.NTF_TYPE +NTF_SYMU = _idaapi.NTF_SYMU +NTF_SYMM = _idaapi.NTF_SYMM +NTF_NOBASE = _idaapi.NTF_NOBASE +NTF_REPLACE = _idaapi.NTF_REPLACE +NTF_UMANGLED = _idaapi.NTF_UMANGLED +NTF_NOCUR = _idaapi.NTF_NOCUR +NTF_64BIT = _idaapi.NTF_64BIT + +def set_named_type64(*args): + """ + set_named_type64(ti, name, ntf_flags, ptr, fields=None, cmt=None, fieldcmts=None, sclass=None, value=None) -> bool + """ + return _idaapi.set_named_type64(*args) + +def del_named_type(*args): + """ + del_named_type(ti, name, ntf_flags) -> bool + """ + return _idaapi.del_named_type(*args) + +def rename_named_type(*args): + """ + rename_named_type(ti, frm, to, ntf_flags) -> int + """ + return _idaapi.rename_named_type(*args) + +def first_named_type(*args): + """ + first_named_type(ti, ntf_flags) -> char const * + """ + return _idaapi.first_named_type(*args) + +def next_named_type(*args): + """ + next_named_type(ti, name, ntf_flags) -> char const * + """ + return _idaapi.next_named_type(*args) + +def gen_decorate_name3(*args): + """ + gen_decorate_name3(name, mangle, cc) -> bool + """ + return _idaapi.gen_decorate_name3(*args) + +def calc_c_cpp_name4(*args): + """ + calc_c_cpp_name4(name, type, ccn_flags) -> ssize_t + """ + return _idaapi.calc_c_cpp_name4(*args) +CCN_C = _idaapi.CCN_C +CCN_CPP = _idaapi.CCN_CPP + +def get_numbered_type(*args): + """ + get_numbered_type(ti, ordinal, type=None, fields=None, cmt=None, fieldcmts=None, sclass=None) -> bool + """ + return _idaapi.get_numbered_type(*args) + +def alloc_type_ordinals(*args): + """ + alloc_type_ordinals(ti, qty) -> uint32 + """ + return _idaapi.alloc_type_ordinals(*args) + +def alloc_type_ordinal(*args): + """ + alloc_type_ordinal(ti) -> uint32 + """ + return _idaapi.alloc_type_ordinal(*args) + +def get_ordinal_qty(*args): + """ + get_ordinal_qty(ti) -> uint32 + """ + return _idaapi.get_ordinal_qty(*args) + +def set_numbered_type(*args): + """ + set_numbered_type(ti, ordinal, ntf_flags, name, type, fields=None, cmt=None, fldcmts=None, sclass=None) -> bool + """ + return _idaapi.set_numbered_type(*args) + +def del_numbered_type(*args): + """ + del_numbered_type(ti, ordinal) -> bool + """ + return _idaapi.del_numbered_type(*args) + +def set_type_alias(*args): + """ + set_type_alias(ti, src_ordinal, dst_ordinal) -> bool + """ + return _idaapi.set_type_alias(*args) + +def get_alias_target(*args): + """ + get_alias_target(ti, ordinal) -> uint32 + """ + return _idaapi.get_alias_target(*args) + +def get_type_ordinal(*args): + """ + get_type_ordinal(ti, name) -> int32 + """ + return _idaapi.get_type_ordinal(*args) + +def get_numbered_type_name(*args): + """ + get_numbered_type_name(ti, ordinal) -> char const * + """ + return _idaapi.get_numbered_type_name(*args) + +def create_numbered_type_name(*args): + """ + create_numbered_type_name(ord) -> size_t + """ + return _idaapi.create_numbered_type_name(*args) + +def create_numbered_type_reference(*args): + """ + create_numbered_type_reference(out, ord) -> bool + """ + return _idaapi.create_numbered_type_reference(*args) + +def is_ordinal_name(*args): + """ + is_ordinal_name(name, ord) -> bool + """ + return _idaapi.is_ordinal_name(*args) + +def get_ordinal_from_idb_type(*args): + """ + get_ordinal_from_idb_type(name, type) -> int + """ + return _idaapi.get_ordinal_from_idb_type(*args) + +def is_autosync(*args): + """ + is_autosync(name, type) -> bool + is_autosync(name, tif) -> bool + """ + return _idaapi.is_autosync(*args) + +def get_referred_ordinal(*args): + """ + get_referred_ordinal(ptype) -> uint32 + """ + return _idaapi.get_referred_ordinal(*args) + +def deref_ptr2(*args): + """ + deref_ptr2(tif, ptr_ea, closure_obj=None) -> bool + """ + return _idaapi.deref_ptr2(*args) + +def remove_tinfo_pointer(*args): + """ + remove_tinfo_pointer(til, tif, pname) -> bool + """ + return _idaapi.remove_tinfo_pointer(*args) + +def get_stkarg_offset(*args): + """ + get_stkarg_offset() -> int + """ + return _idaapi.get_stkarg_offset(*args) + +def import_type(*args): + """ + import_type(til, idx, name, flags=0) -> tid_t + """ + return _idaapi.import_type(*args) +IMPTYPE_VERBOSE = _idaapi.IMPTYPE_VERBOSE +IMPTYPE_OVERRIDE = _idaapi.IMPTYPE_OVERRIDE +IMPTYPE_LOCAL = _idaapi.IMPTYPE_LOCAL + +def add_til2(*args): + """ + add_til2(name, flags) -> int + """ + return _idaapi.add_til2(*args) +ADDTIL_DEFAULT = _idaapi.ADDTIL_DEFAULT +ADDTIL_INCOMP = _idaapi.ADDTIL_INCOMP +ADDTIL_SILENT = _idaapi.ADDTIL_SILENT +ADDTIL_FAILED = _idaapi.ADDTIL_FAILED +ADDTIL_OK = _idaapi.ADDTIL_OK +ADDTIL_COMP = _idaapi.ADDTIL_COMP + +def del_til(*args): + """ + del_til(name) -> bool + """ + return _idaapi.del_til(*args) + +def apply_named_type(*args): + """ + apply_named_type(ea, name) -> bool + """ + return _idaapi.apply_named_type(*args) + +def apply_tinfo2(*args): + """ + apply_tinfo2(ea, tif, flags) -> bool + """ + return _idaapi.apply_tinfo2(*args) +TINFO_GUESSED = _idaapi.TINFO_GUESSED +TINFO_DEFINITE = _idaapi.TINFO_DEFINITE +TINFO_DELAYFUNC = _idaapi.TINFO_DELAYFUNC + +def apply_cdecl2(*args): + """ + apply_cdecl2(til, ea, decl, flags=0) -> bool + """ + return _idaapi.apply_cdecl2(*args) + +def apply_callee_tinfo(*args): + """ + apply_callee_tinfo(caller, tif) + """ + return _idaapi.apply_callee_tinfo(*args) + +def apply_once_tinfo_and_name(*args): + """ + apply_once_tinfo_and_name(dea, tif, name) -> bool + """ + return _idaapi.apply_once_tinfo_and_name(*args) + +def guess_tinfo2(*args): + """ + guess_tinfo2(id, tif) -> int + """ + return _idaapi.guess_tinfo2(*args) +GUESS_FUNC_FAILED = _idaapi.GUESS_FUNC_FAILED +GUESS_FUNC_TRIVIAL = _idaapi.GUESS_FUNC_TRIVIAL +GUESS_FUNC_OK = _idaapi.GUESS_FUNC_OK + +def set_c_header_path(*args): + """ + set_c_header_path(incdir) + """ + return _idaapi.set_c_header_path(*args) + +def get_c_header_path(*args): + """ + get_c_header_path() -> ssize_t + """ + return _idaapi.get_c_header_path(*args) + +def set_c_macros(*args): + """ + set_c_macros(macros) + """ + return _idaapi.set_c_macros(*args) + +def get_c_macros(*args): + """ + get_c_macros() -> ssize_t + """ + return _idaapi.get_c_macros(*args) + +def get_tilpath(*args): + """ + get_tilpath(tilbuf, tilbufsize) -> char * + """ + return _idaapi.get_tilpath(*args) + +def get_idainfo_by_type3(*args): + """ + get_idainfo_by_type3(tif, psize, pflags, mt, alsize=None) -> bool + """ + return _idaapi.get_idainfo_by_type3(*args) +STI_PCHAR = _idaapi.STI_PCHAR +STI_PUCHAR = _idaapi.STI_PUCHAR +STI_PCCHAR = _idaapi.STI_PCCHAR +STI_PCUCHAR = _idaapi.STI_PCUCHAR +STI_PBYTE = _idaapi.STI_PBYTE +STI_PINT = _idaapi.STI_PINT +STI_PUINT = _idaapi.STI_PUINT +STI_PVOID = _idaapi.STI_PVOID +STI_PPVOID = _idaapi.STI_PPVOID +STI_PCVOID = _idaapi.STI_PCVOID +STI_ACHAR = _idaapi.STI_ACHAR +STI_AUCHAR = _idaapi.STI_AUCHAR +STI_ACCHAR = _idaapi.STI_ACCHAR +STI_ACUCHAR = _idaapi.STI_ACUCHAR +STI_FPURGING = _idaapi.STI_FPURGING +STI_FDELOP = _idaapi.STI_FDELOP +STI_MSGSEND = _idaapi.STI_MSGSEND +STI_AEABI_LCMP = _idaapi.STI_AEABI_LCMP +STI_AEABI_ULCMP = _idaapi.STI_AEABI_ULCMP +STI_DONT_USE = _idaapi.STI_DONT_USE +STI_LAST = _idaapi.STI_LAST +GTD_CALC_LAYOUT = _idaapi.GTD_CALC_LAYOUT +GTD_NO_LAYOUT = _idaapi.GTD_NO_LAYOUT +GTD_DEL_BITFLDS = _idaapi.GTD_DEL_BITFLDS +GTD_CALC_ARGLOCS = _idaapi.GTD_CALC_ARGLOCS +GTD_NO_ARGLOCS = _idaapi.GTD_NO_ARGLOCS +GTS_NESTED = _idaapi.GTS_NESTED +GTS_BASECLASS = _idaapi.GTS_BASECLASS +TERR_OK = _idaapi.TERR_OK +TERR_SAVE = _idaapi.TERR_SAVE +TERR_SERIALIZE = _idaapi.TERR_SERIALIZE +TERR_TOOLONGNAME = _idaapi.TERR_TOOLONGNAME +SUDT_SORT = _idaapi.SUDT_SORT +SUDT_ALIGN = _idaapi.SUDT_ALIGN +SUDT_GAPS = _idaapi.SUDT_GAPS +SUDT_UNEX = _idaapi.SUDT_UNEX +SUDT_FAST = _idaapi.SUDT_FAST +SUDT_CONST = _idaapi.SUDT_CONST +SUDT_VOLATILE = _idaapi.SUDT_VOLATILE +SUDT_TRUNC = _idaapi.SUDT_TRUNC + +def copy_tinfo_t(*args): + """ + copy_tinfo_t(_this, r) + """ + return _idaapi.copy_tinfo_t(*args) + +def clear_tinfo_t(*args): + """ + clear_tinfo_t(_this) + """ + return _idaapi.clear_tinfo_t(*args) + +def create_tinfo(*args): + """ + create_tinfo(_this, bt, bt2, ptr) -> bool + """ + return _idaapi.create_tinfo(*args) + +def verify_tinfo(*args): + """ + verify_tinfo(typid) -> int + """ + return _idaapi.verify_tinfo(*args) + +def get_tinfo_details(*args): + """ + get_tinfo_details(typid, bt2, buf) -> bool + """ + return _idaapi.get_tinfo_details(*args) + +def get_tinfo_size(*args): + """ + get_tinfo_size(typid, p_effalign, gts_code) -> size_t + """ + return _idaapi.get_tinfo_size(*args) + +def get_tinfo_pdata(*args): + """ + get_tinfo_pdata(typid, outptr, what) -> size_t + """ + return _idaapi.get_tinfo_pdata(*args) + +def get_tinfo_property(*args): + """ + get_tinfo_property(typid, gta_prop) -> size_t + """ + return _idaapi.get_tinfo_property(*args) + +def set_tinfo_property(*args): + """ + set_tinfo_property(tif, sta_prop, x) -> size_t + """ + return _idaapi.set_tinfo_property(*args) + +def serialize_tinfo(*args): + """ + serialize_tinfo(type, fields, fldcmts, tif, sudt_flags) -> bool + """ + return _idaapi.serialize_tinfo(*args) + +def deserialize_tinfo(*args): + """ + deserialize_tinfo(tif, til, ptype, pfields, pfldcmts) -> bool + """ + return _idaapi.deserialize_tinfo(*args) + +def find_tinfo_udt_member(*args): + """ + find_tinfo_udt_member(typid, strmem_flags, udm) -> int + """ + return _idaapi.find_tinfo_udt_member(*args) + +def print_tinfo(*args): + """ + print_tinfo(prefix, indent, cmtindent, flags, tif, name, cmt) -> bool + """ + return _idaapi.print_tinfo(*args) + +def dstr_tinfo(*args): + """ + dstr_tinfo(tif) -> char const * + """ + return _idaapi.dstr_tinfo(*args) + +def visit_subtypes(*args): + """ + visit_subtypes(visitor, out, tif, name, cmt) -> int + """ + return _idaapi.visit_subtypes(*args) + +def compare_tinfo(*args): + """ + compare_tinfo(t1, t2, tcflags) -> bool + """ + return _idaapi.compare_tinfo(*args) + +def lexcompare_tinfo(*args): + """ + lexcompare_tinfo(t1, t2, arg3) -> int + """ + return _idaapi.lexcompare_tinfo(*args) + +def get_stock_tinfo(*args): + """ + get_stock_tinfo(tif, id) -> bool + """ + return _idaapi.get_stock_tinfo(*args) + +def read_tinfo_bitfield_value(*args): + """ + read_tinfo_bitfield_value(typid, v, bitoff) -> uint64 + """ + return _idaapi.read_tinfo_bitfield_value(*args) + +def write_tinfo_bitfield_value(*args): + """ + write_tinfo_bitfield_value(typid, dst, v, bitoff) -> uint64 + """ + return _idaapi.write_tinfo_bitfield_value(*args) + +def get_tinfo_attr(*args): + """ + get_tinfo_attr(typid, key, bv, all_attrs) -> bool + """ + return _idaapi.get_tinfo_attr(*args) + +def set_tinfo_attr(*args): + """ + set_tinfo_attr(tif, ta, may_overwrite) -> bool + """ + return _idaapi.set_tinfo_attr(*args) + +def del_tinfo_attr(*args): + """ + del_tinfo_attr(tif, key) -> bool + """ + return _idaapi.del_tinfo_attr(*args) + +def get_tinfo_attrs(*args): + """ + get_tinfo_attrs(typid, tav, include_ref_attrs) -> bool + """ + return _idaapi.get_tinfo_attrs(*args) + +def set_tinfo_attrs(*args): + """ + set_tinfo_attrs(tif, ta) -> bool + """ + return _idaapi.set_tinfo_attrs(*args) + +def score_tinfo(*args): + """ + score_tinfo(tif) -> uint32 + """ + return _idaapi.score_tinfo(*args) + +def save_tinfo(*args): + """ + save_tinfo(til, ord, name, ntf_flags, tif) -> tinfo_code_t + """ + return _idaapi.save_tinfo(*args) +class tinfo_t(object): + """ + Proxy of C++ tinfo_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, decl_type=BT_UNK) -> tinfo_t + __init__(self, r) -> tinfo_t + """ + this = _idaapi.new_tinfo_t(*args) + try: self.this.append(this) + except: self.this = this + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.tinfo_t_clear(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.tinfo_t_swap(self, *args) + + def get_named_type(self, *args): + """ + get_named_type(self, til, name, decl_type=BTF_TYPEDEF, resolve=True, try_ordinal=True) -> bool + """ + return _idaapi.tinfo_t_get_named_type(self, *args) + + def get_numbered_type(self, *args): + """ + get_numbered_type(self, til, ordinal, decl_type=BTF_TYPEDEF, resolve=True) -> bool + """ + return _idaapi.tinfo_t_get_numbered_type(self, *args) + + def serialize(self, *args): + """ + serialize(self, type, fields=None, fldcmts=None, sudt_flags=0x0010|0x0100) -> bool + """ + return _idaapi.tinfo_t_serialize(self, *args) + + def is_correct(self, *args): + """ + is_correct(self) -> bool + """ + return _idaapi.tinfo_t_is_correct(self, *args) + + def get_realtype(self, *args): + """ + get_realtype(self, full=False) -> type_t + """ + return _idaapi.tinfo_t_get_realtype(self, *args) + + def get_decltype(self, *args): + """ + get_decltype(self) -> type_t + """ + return _idaapi.tinfo_t_get_decltype(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.tinfo_t_empty(self, *args) + + def present(self, *args): + """ + present(self) -> bool + """ + return _idaapi.tinfo_t_present(self, *args) + + def get_size(self, *args): + """ + get_size(self, p_effalign=None, gts_code=0) -> size_t + """ + return _idaapi.tinfo_t_get_size(self, *args) + + def get_unpadded_size(self, *args): + """ + get_unpadded_size(self) -> size_t + """ + return _idaapi.tinfo_t_get_unpadded_size(self, *args) + + def get_sign(self, *args): + """ + get_sign(self) -> type_sign_t + """ + return _idaapi.tinfo_t_get_sign(self, *args) + + def is_signed(self, *args): + """ + is_signed(self) -> bool + """ + return _idaapi.tinfo_t_is_signed(self, *args) + + def is_unsigned(self, *args): + """ + is_unsigned(self) -> bool + """ + return _idaapi.tinfo_t_is_unsigned(self, *args) + + def get_declalign(self, *args): + """ + get_declalign(self) -> uchar + """ + return _idaapi.tinfo_t_get_declalign(self, *args) + + def set_declalign(self, *args): + """ + set_declalign(self, declalign) -> bool + """ + return _idaapi.tinfo_t_set_declalign(self, *args) + + def is_typeref(self, *args): + """ + is_typeref(self) -> bool + """ + return _idaapi.tinfo_t_is_typeref(self, *args) + + def has_details(self, *args): + """ + has_details(self) -> bool + """ + return _idaapi.tinfo_t_has_details(self, *args) + + def get_type_name(self, *args): + """ + get_type_name(self, name) -> bool + """ + return _idaapi.tinfo_t_get_type_name(self, *args) + + def get_final_type_name(self, *args): + """ + get_final_type_name(self, name) -> bool + """ + return _idaapi.tinfo_t_get_final_type_name(self, *args) + + def get_next_type_name(self, *args): + """ + get_next_type_name(self, name) -> bool + """ + return _idaapi.tinfo_t_get_next_type_name(self, *args) + + def get_ordinal(self, *args): + """ + get_ordinal(self) -> uint32 + """ + return _idaapi.tinfo_t_get_ordinal(self, *args) + + def get_final_ordinal(self, *args): + """ + get_final_ordinal(self) -> uint32 + """ + return _idaapi.tinfo_t_get_final_ordinal(self, *args) + + def get_til(self, *args): + """ + get_til(self) -> til_t + """ + return _idaapi.tinfo_t_get_til(self, *args) + + def is_from_subtil(self, *args): + """ + is_from_subtil(self) -> bool + """ + return _idaapi.tinfo_t_is_from_subtil(self, *args) + + def is_forward_decl(self, *args): + """ + is_forward_decl(self) -> bool + """ + return _idaapi.tinfo_t_is_forward_decl(self, *args) + + def is_decl_const(self, *args): + """ + is_decl_const(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_const(self, *args) + + def is_decl_volatile(self, *args): + """ + is_decl_volatile(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_volatile(self, *args) + + def is_decl_void(self, *args): + """ + is_decl_void(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_void(self, *args) + + def is_decl_partial(self, *args): + """ + is_decl_partial(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_partial(self, *args) + + def is_decl_unknown(self, *args): + """ + is_decl_unknown(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_unknown(self, *args) + + def is_decl_last(self, *args): + """ + is_decl_last(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_last(self, *args) + + def is_decl_ptr(self, *args): + """ + is_decl_ptr(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_ptr(self, *args) + + def is_decl_array(self, *args): + """ + is_decl_array(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_array(self, *args) + + def is_decl_func(self, *args): + """ + is_decl_func(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_func(self, *args) + + def is_decl_complex(self, *args): + """ + is_decl_complex(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_complex(self, *args) + + def is_decl_typedef(self, *args): + """ + is_decl_typedef(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_typedef(self, *args) + + def is_decl_sue(self, *args): + """ + is_decl_sue(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_sue(self, *args) + + def is_decl_struct(self, *args): + """ + is_decl_struct(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_struct(self, *args) + + def is_decl_union(self, *args): + """ + is_decl_union(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_union(self, *args) + + def is_decl_udt(self, *args): + """ + is_decl_udt(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_udt(self, *args) + + def is_decl_enum(self, *args): + """ + is_decl_enum(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_enum(self, *args) + + def is_decl_bitfield(self, *args): + """ + is_decl_bitfield(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_bitfield(self, *args) + + def is_decl_int128(self, *args): + """ + is_decl_int128(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_int128(self, *args) + + def is_decl_int64(self, *args): + """ + is_decl_int64(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_int64(self, *args) + + def is_decl_int32(self, *args): + """ + is_decl_int32(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_int32(self, *args) + + def is_decl_int16(self, *args): + """ + is_decl_int16(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_int16(self, *args) + + def is_decl_char(self, *args): + """ + is_decl_char(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_char(self, *args) + + def is_decl_uint(self, *args): + """ + is_decl_uint(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_uint(self, *args) + + def is_decl_uchar(self, *args): + """ + is_decl_uchar(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_uchar(self, *args) + + def is_decl_uint16(self, *args): + """ + is_decl_uint16(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_uint16(self, *args) + + def is_decl_uint32(self, *args): + """ + is_decl_uint32(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_uint32(self, *args) + + def is_decl_uint64(self, *args): + """ + is_decl_uint64(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_uint64(self, *args) + + def is_decl_uint128(self, *args): + """ + is_decl_uint128(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_uint128(self, *args) + + def is_decl_ldouble(self, *args): + """ + is_decl_ldouble(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_ldouble(self, *args) + + def is_decl_double(self, *args): + """ + is_decl_double(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_double(self, *args) + + def is_decl_float(self, *args): + """ + is_decl_float(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_float(self, *args) + + def is_decl_floating(self, *args): + """ + is_decl_floating(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_floating(self, *args) + + def is_decl_bool(self, *args): + """ + is_decl_bool(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_bool(self, *args) + + def is_decl_paf(self, *args): + """ + is_decl_paf(self) -> bool + """ + return _idaapi.tinfo_t_is_decl_paf(self, *args) + + def is_well_defined(self, *args): + """ + is_well_defined(self) -> bool + """ + return _idaapi.tinfo_t_is_well_defined(self, *args) + + def is_const(self, *args): + """ + is_const(self) -> bool + """ + return _idaapi.tinfo_t_is_const(self, *args) + + def is_volatile(self, *args): + """ + is_volatile(self) -> bool + """ + return _idaapi.tinfo_t_is_volatile(self, *args) + + def is_void(self, *args): + """ + is_void(self) -> bool + """ + return _idaapi.tinfo_t_is_void(self, *args) + + def is_partial(self, *args): + """ + is_partial(self) -> bool + """ + return _idaapi.tinfo_t_is_partial(self, *args) + + def is_unknown(self, *args): + """ + is_unknown(self) -> bool + """ + return _idaapi.tinfo_t_is_unknown(self, *args) + + def is_ptr(self, *args): + """ + is_ptr(self) -> bool + """ + return _idaapi.tinfo_t_is_ptr(self, *args) + + def is_array(self, *args): + """ + is_array(self) -> bool + """ + return _idaapi.tinfo_t_is_array(self, *args) + + def is_func(self, *args): + """ + is_func(self) -> bool + """ + return _idaapi.tinfo_t_is_func(self, *args) + + def is_complex(self, *args): + """ + is_complex(self) -> bool + """ + return _idaapi.tinfo_t_is_complex(self, *args) + + def is_struct(self, *args): + """ + is_struct(self) -> bool + """ + return _idaapi.tinfo_t_is_struct(self, *args) + + def is_union(self, *args): + """ + is_union(self) -> bool + """ + return _idaapi.tinfo_t_is_union(self, *args) + + def is_udt(self, *args): + """ + is_udt(self) -> bool + """ + return _idaapi.tinfo_t_is_udt(self, *args) + + def is_enum(self, *args): + """ + is_enum(self) -> bool + """ + return _idaapi.tinfo_t_is_enum(self, *args) + + def is_sue(self, *args): + """ + is_sue(self) -> bool + """ + return _idaapi.tinfo_t_is_sue(self, *args) + + def is_bitfield(self, *args): + """ + is_bitfield(self) -> bool + """ + return _idaapi.tinfo_t_is_bitfield(self, *args) + + def is_int128(self, *args): + """ + is_int128(self) -> bool + """ + return _idaapi.tinfo_t_is_int128(self, *args) + + def is_int64(self, *args): + """ + is_int64(self) -> bool + """ + return _idaapi.tinfo_t_is_int64(self, *args) + + def is_int32(self, *args): + """ + is_int32(self) -> bool + """ + return _idaapi.tinfo_t_is_int32(self, *args) + + def is_int16(self, *args): + """ + is_int16(self) -> bool + """ + return _idaapi.tinfo_t_is_int16(self, *args) + + def is_char(self, *args): + """ + is_char(self) -> bool + """ + return _idaapi.tinfo_t_is_char(self, *args) + + def is_uint(self, *args): + """ + is_uint(self) -> bool + """ + return _idaapi.tinfo_t_is_uint(self, *args) + + def is_uchar(self, *args): + """ + is_uchar(self) -> bool + """ + return _idaapi.tinfo_t_is_uchar(self, *args) + + def is_uint16(self, *args): + """ + is_uint16(self) -> bool + """ + return _idaapi.tinfo_t_is_uint16(self, *args) + + def is_uint32(self, *args): + """ + is_uint32(self) -> bool + """ + return _idaapi.tinfo_t_is_uint32(self, *args) + + def is_uint64(self, *args): + """ + is_uint64(self) -> bool + """ + return _idaapi.tinfo_t_is_uint64(self, *args) + + def is_uint128(self, *args): + """ + is_uint128(self) -> bool + """ + return _idaapi.tinfo_t_is_uint128(self, *args) + + def is_ldouble(self, *args): + """ + is_ldouble(self) -> bool + """ + return _idaapi.tinfo_t_is_ldouble(self, *args) + + def is_double(self, *args): + """ + is_double(self) -> bool + """ + return _idaapi.tinfo_t_is_double(self, *args) + + def is_float(self, *args): + """ + is_float(self) -> bool + """ + return _idaapi.tinfo_t_is_float(self, *args) + + def is_bool(self, *args): + """ + is_bool(self) -> bool + """ + return _idaapi.tinfo_t_is_bool(self, *args) + + def is_paf(self, *args): + """ + is_paf(self) -> bool + """ + return _idaapi.tinfo_t_is_paf(self, *args) + + def is_ptr_or_array(self, *args): + """ + is_ptr_or_array(self) -> bool + """ + return _idaapi.tinfo_t_is_ptr_or_array(self, *args) + + def is_integral(self, *args): + """ + is_integral(self) -> bool + """ + return _idaapi.tinfo_t_is_integral(self, *args) + + def is_ext_integral(self, *args): + """ + is_ext_integral(self) -> bool + """ + return _idaapi.tinfo_t_is_ext_integral(self, *args) + + def is_floating(self, *args): + """ + is_floating(self) -> bool + """ + return _idaapi.tinfo_t_is_floating(self, *args) + + def is_arithmetic(self, *args): + """ + is_arithmetic(self) -> bool + """ + return _idaapi.tinfo_t_is_arithmetic(self, *args) + + def is_ext_arithmetic(self, *args): + """ + is_ext_arithmetic(self) -> bool + """ + return _idaapi.tinfo_t_is_ext_arithmetic(self, *args) + + def is_scalar(self, *args): + """ + is_scalar(self) -> bool + """ + return _idaapi.tinfo_t_is_scalar(self, *args) + + def get_ptr_details(self, *args): + """ + get_ptr_details(self, pi) -> bool + """ + return _idaapi.tinfo_t_get_ptr_details(self, *args) + + def get_array_details(self, *args): + """ + get_array_details(self, ai) -> bool + """ + return _idaapi.tinfo_t_get_array_details(self, *args) + + def get_enum_details(self, *args): + """ + get_enum_details(self, ei) -> bool + """ + return _idaapi.tinfo_t_get_enum_details(self, *args) + + def get_bitfield_details(self, *args): + """ + get_bitfield_details(self, bi) -> bool + """ + return _idaapi.tinfo_t_get_bitfield_details(self, *args) + + def get_udt_details(self, *args): + """ + get_udt_details(self, udt, gtd=GTD_CALC_LAYOUT) -> bool + """ + return _idaapi.tinfo_t_get_udt_details(self, *args) + + def get_func_details(self, *args): + """ + get_func_details(self, fi, gtd=GTD_CALC_ARGLOCS) -> bool + """ + return _idaapi.tinfo_t_get_func_details(self, *args) + + def is_funcptr(self, *args): + """ + is_funcptr(self) -> bool + """ + return _idaapi.tinfo_t_is_funcptr(self, *args) + + def get_ptrarr_objsize(self, *args): + """ + get_ptrarr_objsize(self) -> int + """ + return _idaapi.tinfo_t_get_ptrarr_objsize(self, *args) + + def get_ptrarr_object(self, *args): + """ + get_ptrarr_object(self) -> tinfo_t + """ + return _idaapi.tinfo_t_get_ptrarr_object(self, *args) + + def get_pointed_object(self, *args): + """ + get_pointed_object(self) -> tinfo_t + """ + return _idaapi.tinfo_t_get_pointed_object(self, *args) + + def is_pvoid(self, *args): + """ + is_pvoid(self) -> bool + """ + return _idaapi.tinfo_t_is_pvoid(self, *args) + + def get_array_element(self, *args): + """ + get_array_element(self) -> tinfo_t + """ + return _idaapi.tinfo_t_get_array_element(self, *args) + + def get_array_nelems(self, *args): + """ + get_array_nelems(self) -> int + """ + return _idaapi.tinfo_t_get_array_nelems(self, *args) + + def get_nth_arg(self, *args): + """ + get_nth_arg(self, n) -> tinfo_t + """ + return _idaapi.tinfo_t_get_nth_arg(self, *args) + + def get_rettype(self, *args): + """ + get_rettype(self) -> tinfo_t + """ + return _idaapi.tinfo_t_get_rettype(self, *args) + + def get_nargs(self, *args): + """ + get_nargs(self) -> int + """ + return _idaapi.tinfo_t_get_nargs(self, *args) + + def is_user_cc(self, *args): + """ + is_user_cc(self) -> bool + """ + return _idaapi.tinfo_t_is_user_cc(self, *args) + + def is_vararg_cc(self, *args): + """ + is_vararg_cc(self) -> bool + """ + return _idaapi.tinfo_t_is_vararg_cc(self, *args) + + def is_purging_cc(self, *args): + """ + is_purging_cc(self) -> bool + """ + return _idaapi.tinfo_t_is_purging_cc(self, *args) + + def calc_purged_bytes(self, *args): + """ + calc_purged_bytes(self) -> int + """ + return _idaapi.tinfo_t_calc_purged_bytes(self, *args) + + def is_high_func(self, *args): + """ + is_high_func(self) -> bool + """ + return _idaapi.tinfo_t_is_high_func(self, *args) + + def find_udt_member(self, *args): + """ + find_udt_member(self, strmem_flags, udm) -> int + """ + return _idaapi.tinfo_t_find_udt_member(self, *args) + + def get_udt_nmembers(self, *args): + """ + get_udt_nmembers(self) -> int + """ + return _idaapi.tinfo_t_get_udt_nmembers(self, *args) + + def is_empty_udt(self, *args): + """ + is_empty_udt(self) -> bool + """ + return _idaapi.tinfo_t_is_empty_udt(self, *args) + + def is_small_udt(self, *args): + """ + is_small_udt(self) -> bool + """ + return _idaapi.tinfo_t_is_small_udt(self, *args) + + def is_one_fpval(self, *args): + """ + is_one_fpval(self) -> bool + """ + return _idaapi.tinfo_t_is_one_fpval(self, *args) + + def is_sse_type(self, *args): + """ + is_sse_type(self) -> bool + """ + return _idaapi.tinfo_t_is_sse_type(self, *args) + + def get_enum_base_type(self, *args): + """ + get_enum_base_type(self) -> type_t + """ + return _idaapi.tinfo_t_get_enum_base_type(self, *args) + + def get_onemember_type(self, *args): + """ + get_onemember_type(self) -> tinfo_t + """ + return _idaapi.tinfo_t_get_onemember_type(self, *args) + + def calc_score(self, *args): + """ + calc_score(self) -> uint32 + """ + return _idaapi.tinfo_t_calc_score(self, *args) + + def _print(self, *args): + """ + _print(self, name=None, prtype_flags=0x0000, indent=0, cmtindent=0, prefix=None, cmt=None) -> bool + """ + return _idaapi.tinfo_t__print(self, *args) + + def dstr(self, *args): + """ + dstr(self) -> char const * + """ + return _idaapi.tinfo_t_dstr(self, *args) + + def get_attrs(self, *args): + """ + get_attrs(self, tav, all_attrs=False) -> bool + """ + return _idaapi.tinfo_t_get_attrs(self, *args) + + def get_attr(self, *args): + """ + get_attr(self, key, bv, all_attrs=True) -> bool + """ + return _idaapi.tinfo_t_get_attr(self, *args) + + def set_attrs(self, *args): + """ + set_attrs(self, tav) -> bool + """ + return _idaapi.tinfo_t_set_attrs(self, *args) + + def set_attr(self, *args): + """ + set_attr(self, ta, may_overwrite=True) -> bool + """ + return _idaapi.tinfo_t_set_attr(self, *args) + + def del_attrs(self, *args): + """ + del_attrs(self) + """ + return _idaapi.tinfo_t_del_attrs(self, *args) + + def del_attr(self, *args): + """ + del_attr(self, key) -> bool + """ + return _idaapi.tinfo_t_del_attr(self, *args) + + def create_simple_type(self, *args): + """ + create_simple_type(self, decl_type) -> bool + """ + return _idaapi.tinfo_t_create_simple_type(self, *args) + + def create_ptr(self, *args): + """ + create_ptr(self, p, decl_type=BT_PTR) -> bool + create_ptr(self, tif, bps=0, decl_type=BT_PTR) -> bool + """ + return _idaapi.tinfo_t_create_ptr(self, *args) + + def 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 + """ + return _idaapi.tinfo_t_create_array(self, *args) + + def 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) + """ + return _idaapi.tinfo_t_create_typedef(self, *args) + + def 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 + """ + return _idaapi.tinfo_t_create_bitfield(self, *args) + + def create_udt(self, *args): + """ + create_udt(self, p, decl_type) -> bool + """ + return _idaapi.tinfo_t_create_udt(self, *args) + + def create_enum(self, *args): + """ + create_enum(self, p, decl_type=BTF_ENUM) -> bool + """ + return _idaapi.tinfo_t_create_enum(self, *args) + + def create_func(self, *args): + """ + create_func(self, p, decl_type=BT_FUNC) -> bool + """ + return _idaapi.tinfo_t_create_func(self, *args) + + def set_numbered_type(self, *args): + """ + set_numbered_type(self, til, ord, ntf_flags=0, name=None) -> tinfo_code_t + """ + return _idaapi.tinfo_t_set_numbered_type(self, *args) + + def create_forward_decl(self, *args): + """ + create_forward_decl(self, til, decl_type, name, ntf_flags=0) -> bool + """ + return _idaapi.tinfo_t_create_forward_decl(self, *args) + + def get_stock(*args): + """ + get_stock(id) -> tinfo_t + """ + return _idaapi.tinfo_t_get_stock(*args) + + get_stock = staticmethod(get_stock) + def convert_array_to_ptr(self, *args): + """ + convert_array_to_ptr(self) -> bool + """ + return _idaapi.tinfo_t_convert_array_to_ptr(self, *args) + + def remove_ptr_or_array(self, *args): + """ + remove_ptr_or_array(self) -> bool + """ + return _idaapi.tinfo_t_remove_ptr_or_array(self, *args) + + def change_sign(self, *args): + """ + change_sign(self, sign) -> bool + """ + return _idaapi.tinfo_t_change_sign(self, *args) + + def calc_udt_aligns(self, *args): + """ + calc_udt_aligns(self, sudt_flags=0x0004) -> bool + """ + return _idaapi.tinfo_t_calc_udt_aligns(self, *args) + + def read_bitfield_value(self, *args): + """ + read_bitfield_value(self, v, bitoff) -> uint64 + """ + return _idaapi.tinfo_t_read_bitfield_value(self, *args) + + def write_bitfield_value(self, *args): + """ + write_bitfield_value(self, dst, v, bitoff) -> uint64 + """ + return _idaapi.tinfo_t_write_bitfield_value(self, *args) + + def get_modifiers(self, *args): + """ + get_modifiers(self) -> type_t + """ + return _idaapi.tinfo_t_get_modifiers(self, *args) + + def set_modifiers(self, *args): + """ + set_modifiers(self, mod) + """ + return _idaapi.tinfo_t_set_modifiers(self, *args) + + def set_const(self, *args): + """ + set_const(self) + """ + return _idaapi.tinfo_t_set_const(self, *args) + + def set_volatile(self, *args): + """ + set_volatile(self) + """ + return _idaapi.tinfo_t_set_volatile(self, *args) + + def clr_const(self, *args): + """ + clr_const(self) + """ + return _idaapi.tinfo_t_clr_const(self, *args) + + def clr_volatile(self, *args): + """ + clr_volatile(self) + """ + return _idaapi.tinfo_t_clr_volatile(self, *args) + + def clr_const_volatile(self, *args): + """ + clr_const_volatile(self) + """ + return _idaapi.tinfo_t_clr_const_volatile(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.tinfo_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.tinfo_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.tinfo_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.tinfo_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.tinfo_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.tinfo_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.tinfo_t_compare(self, *args) + + def compare_with(self, *args): + """ + compare_with(self, r, tcflags=0) -> bool + """ + return _idaapi.tinfo_t_compare_with(self, *args) + + def equals_to(self, *args): + """ + equals_to(self, r) -> bool + """ + return _idaapi.tinfo_t_equals_to(self, *args) + + def is_castable_to(self, *args): + """ + is_castable_to(self, target) -> bool + """ + return _idaapi.tinfo_t_is_castable_to(self, *args) + + def is_manually_castable_to(self, *args): + """ + is_manually_castable_to(self, target) -> bool + """ + return _idaapi.tinfo_t_is_manually_castable_to(self, *args) + + def deserialize(self, *args): + """ + deserialize(self, til, ptype, pfields=None, pfldcmts=None) -> bool + deserialize(self, til, ptype, pfields=None, pfldcmts=None) -> bool + deserialize(self, til, type, fields, cmts=None) -> bool + deserialize(self, til, _type, _fields, _cmts=None) -> bool + """ + return _idaapi.tinfo_t_deserialize(self, *args) + + __swig_destroy__ = _idaapi.delete_tinfo_t + __del__ = lambda self : None; +tinfo_t_swigregister = _idaapi.tinfo_t_swigregister +tinfo_t_swigregister(tinfo_t) +C_PC_TINY = cvar.C_PC_TINY +C_PC_SMALL = cvar.C_PC_SMALL +C_PC_COMPACT = cvar.C_PC_COMPACT +C_PC_MEDIUM = cvar.C_PC_MEDIUM +C_PC_LARGE = cvar.C_PC_LARGE +C_PC_HUGE = cvar.C_PC_HUGE +C_PC_FLAT = cvar.C_PC_FLAT +COMP_MASK = cvar.COMP_MASK +COMP_UNK = cvar.COMP_UNK +COMP_MS = cvar.COMP_MS +COMP_BC = cvar.COMP_BC +COMP_WATCOM = cvar.COMP_WATCOM +COMP_GNU = cvar.COMP_GNU +COMP_VISAGE = cvar.COMP_VISAGE +COMP_BP = cvar.COMP_BP +COMP_UNSURE = cvar.COMP_UNSURE +BADSIZE = cvar.BADSIZE +BADORD = cvar.BADORD +FIRST_NONTRIVIAL_TYPID = cvar.FIRST_NONTRIVIAL_TYPID +TYPID_ISREF = cvar.TYPID_ISREF +TYPID_SHIFT = cvar.TYPID_SHIFT + +def remove_pointer(*args): + """ + remove_pointer(tif) -> tinfo_t + """ + return _idaapi.remove_pointer(*args) +STRMEM_MASK = _idaapi.STRMEM_MASK +STRMEM_OFFSET = _idaapi.STRMEM_OFFSET +STRMEM_INDEX = _idaapi.STRMEM_INDEX +STRMEM_AUTO = _idaapi.STRMEM_AUTO +STRMEM_NAME = _idaapi.STRMEM_NAME +STRMEM_TYPE = _idaapi.STRMEM_TYPE +STRMEM_SIZE = _idaapi.STRMEM_SIZE +STRMEM_MINS = _idaapi.STRMEM_MINS +STRMEM_MAXS = _idaapi.STRMEM_MAXS +STRMEM_ANON = _idaapi.STRMEM_ANON +STRMEM_CASTABLE_TO = _idaapi.STRMEM_CASTABLE_TO + +def tinfo_t_get_stock(*args): + """ + tinfo_t_get_stock(id) -> tinfo_t + """ + return _idaapi.tinfo_t_get_stock(*args) +TCMP_EQUAL = _idaapi.TCMP_EQUAL +TCMP_IGNMODS = _idaapi.TCMP_IGNMODS +TCMP_AUTOCAST = _idaapi.TCMP_AUTOCAST +TCMP_MANCAST = _idaapi.TCMP_MANCAST +TCMP_CALL = _idaapi.TCMP_CALL +TCMP_DELPTR = _idaapi.TCMP_DELPTR +TCMP_DECL = _idaapi.TCMP_DECL + + +def guess_func_cc(*args): + """ + guess_func_cc(fti, npurged, cc_flags) -> cm_t + """ + return _idaapi.guess_func_cc(*args) + +def dump_func_type_data(*args): + """ + dump_func_type_data(fti, praloc_bits) -> bool + """ + return _idaapi.dump_func_type_data(*args) +class ptr_type_data_t(object): + """ + Proxy of C++ ptr_type_data_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + obj_type = _swig_property(_idaapi.ptr_type_data_t_obj_type_get, _idaapi.ptr_type_data_t_obj_type_set) + closure = _swig_property(_idaapi.ptr_type_data_t_closure_get, _idaapi.ptr_type_data_t_closure_set) + based_ptr_size = _swig_property(_idaapi.ptr_type_data_t_based_ptr_size_get, _idaapi.ptr_type_data_t_based_ptr_size_set) + taptr_bits = _swig_property(_idaapi.ptr_type_data_t_taptr_bits_get, _idaapi.ptr_type_data_t_taptr_bits_set) + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.ptr_type_data_t_swap(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.ptr_type_data_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.ptr_type_data_t___ne__(self, *args) + + def is_code_ptr(self, *args): + """ + is_code_ptr(self) -> bool + """ + return _idaapi.ptr_type_data_t_is_code_ptr(self, *args) + + def __init__(self, *args): + """ + __init__(self, c=tinfo_t(), bps=0) -> ptr_type_data_t + """ + this = _idaapi.new_ptr_type_data_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_ptr_type_data_t + __del__ = lambda self : None; +ptr_type_data_t_swigregister = _idaapi.ptr_type_data_t_swigregister +ptr_type_data_t_swigregister(ptr_type_data_t) + +class array_type_data_t(object): + """ + Proxy of C++ array_type_data_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + elem_type = _swig_property(_idaapi.array_type_data_t_elem_type_get, _idaapi.array_type_data_t_elem_type_set) + base = _swig_property(_idaapi.array_type_data_t_base_get, _idaapi.array_type_data_t_base_set) + nelems = _swig_property(_idaapi.array_type_data_t_nelems_get, _idaapi.array_type_data_t_nelems_set) + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.array_type_data_t_swap(self, *args) + + def __init__(self, *args): + """ + __init__(self, b=0, n=0) -> array_type_data_t + """ + this = _idaapi.new_array_type_data_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_array_type_data_t + __del__ = lambda self : None; +array_type_data_t_swigregister = _idaapi.array_type_data_t_swigregister +array_type_data_t_swigregister(array_type_data_t) + +class funcarg_t(object): + """ + Proxy of C++ funcarg_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + argloc = _swig_property(_idaapi.funcarg_t_argloc_get, _idaapi.funcarg_t_argloc_set) + name = _swig_property(_idaapi.funcarg_t_name_get, _idaapi.funcarg_t_name_set) + cmt = _swig_property(_idaapi.funcarg_t_cmt_get, _idaapi.funcarg_t_cmt_set) + type = _swig_property(_idaapi.funcarg_t_type_get, _idaapi.funcarg_t_type_set) + flags = _swig_property(_idaapi.funcarg_t_flags_get, _idaapi.funcarg_t_flags_set) + def __init__(self, *args): + """ + __init__(self) -> funcarg_t + """ + this = _idaapi.new_funcarg_t(*args) + try: self.this.append(this) + except: self.this = this + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.funcarg_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.funcarg_t___ne__(self, *args) + + __swig_destroy__ = _idaapi.delete_funcarg_t + __del__ = lambda self : None; +funcarg_t_swigregister = _idaapi.funcarg_t_swigregister +funcarg_t_swigregister(funcarg_t) +FAI_HIDDEN = _idaapi.FAI_HIDDEN +FAI_RETPTR = _idaapi.FAI_RETPTR +FAI_STRUCT = _idaapi.FAI_STRUCT +FAI_ARRAY = _idaapi.FAI_ARRAY +TA_ORG_TYPEDEF = _idaapi.TA_ORG_TYPEDEF +TA_ORG_ARRDIM = _idaapi.TA_ORG_ARRDIM + +class func_type_data_t(funcargvec_t): + """ + Proxy of C++ func_type_data_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + flags = _swig_property(_idaapi.func_type_data_t_flags_get, _idaapi.func_type_data_t_flags_set) + rettype = _swig_property(_idaapi.func_type_data_t_rettype_get, _idaapi.func_type_data_t_rettype_set) + retloc = _swig_property(_idaapi.func_type_data_t_retloc_get, _idaapi.func_type_data_t_retloc_set) + stkargs = _swig_property(_idaapi.func_type_data_t_stkargs_get, _idaapi.func_type_data_t_stkargs_set) + spoiled = _swig_property(_idaapi.func_type_data_t_spoiled_get, _idaapi.func_type_data_t_spoiled_set) + cc = _swig_property(_idaapi.func_type_data_t_cc_get, _idaapi.func_type_data_t_cc_set) + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.func_type_data_t_swap(self, *args) + + def is_high(self, *args): + """ + is_high(self) -> bool + """ + return _idaapi.func_type_data_t_is_high(self, *args) + + def get_call_method(self, *args): + """ + get_call_method(self) -> int + """ + return _idaapi.func_type_data_t_get_call_method(self, *args) + + def is_vararg_cc(self, *args): + """ + is_vararg_cc(self) -> bool + """ + return _idaapi.func_type_data_t_is_vararg_cc(self, *args) + + def guess_cc(self, *args): + """ + guess_cc(self, purged, cc_flags) -> cm_t + """ + return _idaapi.func_type_data_t_guess_cc(self, *args) + + def dump(self, *args): + """ + dump(self, praloc_bits=0x02) -> bool + """ + return _idaapi.func_type_data_t_dump(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> func_type_data_t + """ + this = _idaapi.new_func_type_data_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_func_type_data_t + __del__ = lambda self : None; +func_type_data_t_swigregister = _idaapi.func_type_data_t_swigregister +func_type_data_t_swigregister(func_type_data_t) +FTI_SPOILED = _idaapi.FTI_SPOILED +FTI_NORET = _idaapi.FTI_NORET +FTI_PURE = _idaapi.FTI_PURE +FTI_HIGH = _idaapi.FTI_HIGH +FTI_STATIC = _idaapi.FTI_STATIC +FTI_VIRTUAL = _idaapi.FTI_VIRTUAL +FTI_CALLTYPE = _idaapi.FTI_CALLTYPE +FTI_DEFCALL = _idaapi.FTI_DEFCALL +FTI_NEARCALL = _idaapi.FTI_NEARCALL +FTI_FARCALL = _idaapi.FTI_FARCALL +FTI_INTCALL = _idaapi.FTI_INTCALL +FTI_ARGLOCS = _idaapi.FTI_ARGLOCS +FTI_ALL = _idaapi.FTI_ALL +CC_CDECL_OK = _idaapi.CC_CDECL_OK +CC_ALLOW_ARGPERM = _idaapi.CC_ALLOW_ARGPERM +CC_ALLOW_REGHOLES = _idaapi.CC_ALLOW_REGHOLES +CC_HAS_ELLIPSIS = _idaapi.CC_HAS_ELLIPSIS + +class enum_member_t(object): + """ + Proxy of C++ enum_member_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + name = _swig_property(_idaapi.enum_member_t_name_get, _idaapi.enum_member_t_name_set) + cmt = _swig_property(_idaapi.enum_member_t_cmt_get, _idaapi.enum_member_t_cmt_set) + value = _swig_property(_idaapi.enum_member_t_value_get, _idaapi.enum_member_t_value_set) + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.enum_member_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.enum_member_t___ne__(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.enum_member_t_swap(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> enum_member_t + """ + this = _idaapi.new_enum_member_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_enum_member_t + __del__ = lambda self : None; +enum_member_t_swigregister = _idaapi.enum_member_t_swigregister +enum_member_t_swigregister(enum_member_t) + +class enum_type_data_t(object): + """ + Proxy of C++ enum_type_data_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + group_sizes = _swig_property(_idaapi.enum_type_data_t_group_sizes_get, _idaapi.enum_type_data_t_group_sizes_set) + taenum_bits = _swig_property(_idaapi.enum_type_data_t_taenum_bits_get, _idaapi.enum_type_data_t_taenum_bits_set) + bte = _swig_property(_idaapi.enum_type_data_t_bte_get, _idaapi.enum_type_data_t_bte_set) + def __init__(self, *args): + """ + __init__(self, _bte=BTE_ALWAYS|BTE_HEX) -> enum_type_data_t + """ + this = _idaapi.new_enum_type_data_t(*args) + try: self.this.append(this) + except: self.this = this + def is_64bit(self, *args): + """ + is_64bit(self) -> bool + """ + return _idaapi.enum_type_data_t_is_64bit(self, *args) + + def is_hex(self, *args): + """ + is_hex(self) -> bool + """ + return _idaapi.enum_type_data_t_is_hex(self, *args) + + def is_char(self, *args): + """ + is_char(self) -> bool + """ + return _idaapi.enum_type_data_t_is_char(self, *args) + + def is_sdec(self, *args): + """ + is_sdec(self) -> bool + """ + return _idaapi.enum_type_data_t_is_sdec(self, *args) + + def is_udec(self, *args): + """ + is_udec(self) -> bool + """ + return _idaapi.enum_type_data_t_is_udec(self, *args) + + def calc_nbytes(self, *args): + """ + calc_nbytes(self) -> int + """ + return _idaapi.enum_type_data_t_calc_nbytes(self, *args) + + def calc_mask(self, *args): + """ + calc_mask(self) -> uint64 + """ + return _idaapi.enum_type_data_t_calc_mask(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.enum_type_data_t_swap(self, *args) + + __swig_destroy__ = _idaapi.delete_enum_type_data_t + __del__ = lambda self : None; +enum_type_data_t_swigregister = _idaapi.enum_type_data_t_swigregister +enum_type_data_t_swigregister(enum_type_data_t) + +class typedef_type_data_t(object): + """ + Proxy of C++ typedef_type_data_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + til = _swig_property(_idaapi.typedef_type_data_t_til_get, _idaapi.typedef_type_data_t_til_set) + is_ordref = _swig_property(_idaapi.typedef_type_data_t_is_ordref_get, _idaapi.typedef_type_data_t_is_ordref_set) + resolve = _swig_property(_idaapi.typedef_type_data_t_resolve_get, _idaapi.typedef_type_data_t_resolve_set) + def __init__(self, *args): + """ + __init__(self, _til, _name, _resolve=False) -> typedef_type_data_t + __init__(self, _til, ord, _resolve=False) -> typedef_type_data_t + """ + this = _idaapi.new_typedef_type_data_t(*args) + try: self.this.append(this) + except: self.this = this + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.typedef_type_data_t_swap(self, *args) + + __swig_destroy__ = _idaapi.delete_typedef_type_data_t + __del__ = lambda self : None; +typedef_type_data_t_swigregister = _idaapi.typedef_type_data_t_swigregister +typedef_type_data_t_swigregister(typedef_type_data_t) + +class udt_member_t(object): + """ + Proxy of C++ udt_member_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + offset = _swig_property(_idaapi.udt_member_t_offset_get, _idaapi.udt_member_t_offset_set) + size = _swig_property(_idaapi.udt_member_t_size_get, _idaapi.udt_member_t_size_set) + name = _swig_property(_idaapi.udt_member_t_name_get, _idaapi.udt_member_t_name_set) + cmt = _swig_property(_idaapi.udt_member_t_cmt_get, _idaapi.udt_member_t_cmt_set) + type = _swig_property(_idaapi.udt_member_t_type_get, _idaapi.udt_member_t_type_set) + effalign = _swig_property(_idaapi.udt_member_t_effalign_get, _idaapi.udt_member_t_effalign_set) + tafld_bits = _swig_property(_idaapi.udt_member_t_tafld_bits_get, _idaapi.udt_member_t_tafld_bits_set) + fda = _swig_property(_idaapi.udt_member_t_fda_get, _idaapi.udt_member_t_fda_set) + def __init__(self, *args): + """ + __init__(self) -> udt_member_t + """ + this = _idaapi.new_udt_member_t(*args) + try: self.this.append(this) + except: self.this = this + def is_bitfield(self, *args): + """ + is_bitfield(self) -> bool + """ + return _idaapi.udt_member_t_is_bitfield(self, *args) + + def is_zero_bitfield(self, *args): + """ + is_zero_bitfield(self) -> bool + """ + return _idaapi.udt_member_t_is_zero_bitfield(self, *args) + + def is_unaligned(self, *args): + """ + is_unaligned(self) -> bool + """ + return _idaapi.udt_member_t_is_unaligned(self, *args) + + def is_baseclass(self, *args): + """ + is_baseclass(self) -> bool + """ + return _idaapi.udt_member_t_is_baseclass(self, *args) + + def is_virtbase(self, *args): + """ + is_virtbase(self) -> bool + """ + return _idaapi.udt_member_t_is_virtbase(self, *args) + + def set_unaligned(self, *args): + """ + set_unaligned(self) + """ + return _idaapi.udt_member_t_set_unaligned(self, *args) + + def set_baseclass(self, *args): + """ + set_baseclass(self) + """ + return _idaapi.udt_member_t_set_baseclass(self, *args) + + def set_virtbase(self, *args): + """ + set_virtbase(self) + """ + return _idaapi.udt_member_t_set_virtbase(self, *args) + + def clr_unaligned(self, *args): + """ + clr_unaligned(self) + """ + return _idaapi.udt_member_t_clr_unaligned(self, *args) + + def clr_baseclass(self, *args): + """ + clr_baseclass(self) + """ + return _idaapi.udt_member_t_clr_baseclass(self, *args) + + def clr_virtbase(self, *args): + """ + clr_virtbase(self) + """ + return _idaapi.udt_member_t_clr_virtbase(self, *args) + + def begin(self, *args): + """ + begin(self) -> uint64 + """ + return _idaapi.udt_member_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> uint64 + """ + return _idaapi.udt_member_t_end(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.udt_member_t___lt__(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.udt_member_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.udt_member_t___ne__(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.udt_member_t_swap(self, *args) + + __swig_destroy__ = _idaapi.delete_udt_member_t + __del__ = lambda self : None; +udt_member_t_swigregister = _idaapi.udt_member_t_swigregister +udt_member_t_swigregister(udt_member_t) + +class udt_type_data_t(udtmembervec_t): + """ + Proxy of C++ udt_type_data_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + total_size = _swig_property(_idaapi.udt_type_data_t_total_size_get, _idaapi.udt_type_data_t_total_size_set) + unpadded_size = _swig_property(_idaapi.udt_type_data_t_unpadded_size_get, _idaapi.udt_type_data_t_unpadded_size_set) + effalign = _swig_property(_idaapi.udt_type_data_t_effalign_get, _idaapi.udt_type_data_t_effalign_set) + taudt_bits = _swig_property(_idaapi.udt_type_data_t_taudt_bits_get, _idaapi.udt_type_data_t_taudt_bits_set) + sda = _swig_property(_idaapi.udt_type_data_t_sda_get, _idaapi.udt_type_data_t_sda_set) + pack = _swig_property(_idaapi.udt_type_data_t_pack_get, _idaapi.udt_type_data_t_pack_set) + is_union = _swig_property(_idaapi.udt_type_data_t_is_union_get, _idaapi.udt_type_data_t_is_union_set) + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.udt_type_data_t_swap(self, *args) + + def is_unaligned(self, *args): + """ + is_unaligned(self) -> bool + """ + return _idaapi.udt_type_data_t_is_unaligned(self, *args) + + def is_msstruct(self, *args): + """ + is_msstruct(self) -> bool + """ + return _idaapi.udt_type_data_t_is_msstruct(self, *args) + + def is_cppobj(self, *args): + """ + is_cppobj(self) -> bool + """ + return _idaapi.udt_type_data_t_is_cppobj(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> udt_type_data_t + """ + this = _idaapi.new_udt_type_data_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_udt_type_data_t + __del__ = lambda self : None; +udt_type_data_t_swigregister = _idaapi.udt_type_data_t_swigregister +udt_type_data_t_swigregister(udt_type_data_t) + +class bitfield_type_data_t(object): + """ + Proxy of C++ bitfield_type_data_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + nbytes = _swig_property(_idaapi.bitfield_type_data_t_nbytes_get, _idaapi.bitfield_type_data_t_nbytes_set) + width = _swig_property(_idaapi.bitfield_type_data_t_width_get, _idaapi.bitfield_type_data_t_width_set) + is_unsigned = _swig_property(_idaapi.bitfield_type_data_t_is_unsigned_get, _idaapi.bitfield_type_data_t_is_unsigned_set) + def __init__(self, *args): + """ + __init__(self, _nbytes=0, _width=0, _is_unsigned=False) -> bitfield_type_data_t + """ + this = _idaapi.new_bitfield_type_data_t(*args) + try: self.this.append(this) + except: self.this = this + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.bitfield_type_data_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.bitfield_type_data_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.bitfield_type_data_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.bitfield_type_data_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.bitfield_type_data_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.bitfield_type_data_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.bitfield_type_data_t_compare(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.bitfield_type_data_t_swap(self, *args) + + __swig_destroy__ = _idaapi.delete_bitfield_type_data_t + __del__ = lambda self : None; +bitfield_type_data_t_swigregister = _idaapi.bitfield_type_data_t_swigregister +bitfield_type_data_t_swigregister(bitfield_type_data_t) + +class type_mods_t(object): + """ + Proxy of C++ type_mods_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + type = _swig_property(_idaapi.type_mods_t_type_get, _idaapi.type_mods_t_type_set) + name = _swig_property(_idaapi.type_mods_t_name_get, _idaapi.type_mods_t_name_set) + cmt = _swig_property(_idaapi.type_mods_t_cmt_get, _idaapi.type_mods_t_cmt_set) + flags = _swig_property(_idaapi.type_mods_t_flags_get, _idaapi.type_mods_t_flags_set) + def __init__(self, *args): + """ + __init__(self) -> type_mods_t + """ + this = _idaapi.new_type_mods_t(*args) + try: self.this.append(this) + except: self.this = this + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.type_mods_t_clear(self, *args) + + def set_new_type(self, *args): + """ + set_new_type(self, t) + """ + return _idaapi.type_mods_t_set_new_type(self, *args) + + def set_new_name(self, *args): + """ + set_new_name(self, n) + """ + return _idaapi.type_mods_t_set_new_name(self, *args) + + def set_new_cmt(self, *args): + """ + set_new_cmt(self, c) + """ + return _idaapi.type_mods_t_set_new_cmt(self, *args) + + def has_type(self, *args): + """ + has_type(self) -> bool + """ + return _idaapi.type_mods_t_has_type(self, *args) + + def has_name(self, *args): + """ + has_name(self) -> bool + """ + return _idaapi.type_mods_t_has_name(self, *args) + + def has_cmt(self, *args): + """ + has_cmt(self) -> bool + """ + return _idaapi.type_mods_t_has_cmt(self, *args) + + def has_info(self, *args): + """ + has_info(self) -> bool + """ + return _idaapi.type_mods_t_has_info(self, *args) + + __swig_destroy__ = _idaapi.delete_type_mods_t + __del__ = lambda self : None; +type_mods_t_swigregister = _idaapi.type_mods_t_swigregister +type_mods_t_swigregister(type_mods_t) +TVIS_TYPE = _idaapi.TVIS_TYPE +TVIS_NAME = _idaapi.TVIS_NAME +TVIS_CMT = _idaapi.TVIS_CMT + +class tinfo_visitor_t(object): + """ + Proxy of C++ tinfo_visitor_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + state = _swig_property(_idaapi.tinfo_visitor_t_state_get, _idaapi.tinfo_visitor_t_state_set) + def visit_type(self, *args): + """ + visit_type(self, out, tif, name, cmt) -> int + """ + return _idaapi.tinfo_visitor_t_visit_type(self, *args) + + def prune_now(self, *args): + """ + prune_now(self) + """ + return _idaapi.tinfo_visitor_t_prune_now(self, *args) + + def apply_to(self, *args): + """ + apply_to(self, tif, out=None, name=None, cmt=None) -> int + """ + return _idaapi.tinfo_visitor_t_apply_to(self, *args) + + __swig_destroy__ = _idaapi.delete_tinfo_visitor_t + __del__ = lambda self : None; +tinfo_visitor_t_swigregister = _idaapi.tinfo_visitor_t_swigregister +tinfo_visitor_t_swigregister(tinfo_visitor_t) +TVST_PRUNE = _idaapi.TVST_PRUNE +TVST_DEF = _idaapi.TVST_DEF + +class regobj_t(object): + """ + Proxy of C++ regobj_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + regidx = _swig_property(_idaapi.regobj_t_regidx_get, _idaapi.regobj_t_regidx_set) + relocate = _swig_property(_idaapi.regobj_t_relocate_get, _idaapi.regobj_t_relocate_set) + value = _swig_property(_idaapi.regobj_t_value_get, _idaapi.regobj_t_value_set) + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.regobj_t_size(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> regobj_t + """ + this = _idaapi.new_regobj_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_regobj_t + __del__ = lambda self : None; +regobj_t_swigregister = _idaapi.regobj_t_swigregister +regobj_t_swigregister(regobj_t) + +class regobjs_t(object): + """ + Proxy of C++ regobjs_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> regobjs_t + """ + this = _idaapi.new_regobjs_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_regobjs_t + __del__ = lambda self : None; +regobjs_t_swigregister = _idaapi.regobjs_t_swigregister +regobjs_t_swigregister(regobjs_t) + + +def unpack_idcobj_from_idb(*args): + """ + unpack_idcobj_from_idb(obj, tif, ea, off0, pio_flags=0) -> error_t + """ + return _idaapi.unpack_idcobj_from_idb(*args) +PIO_NOATTR_FAIL = _idaapi.PIO_NOATTR_FAIL +PIO_IGNORE_PTRS = _idaapi.PIO_IGNORE_PTRS + +def unpack_idcobj_from_bv(*args): + """ + unpack_idcobj_from_bv(obj, tif, bytes, pio_flags=0) -> error_t + """ + return _idaapi.unpack_idcobj_from_bv(*args) + +def pack_idcobj_to_idb(*args): + """ + pack_idcobj_to_idb(obj, tif, ea, pio_flags=0) -> error_t + """ + return _idaapi.pack_idcobj_to_idb(*args) + +def pack_idcobj_to_bv(*args): + """ + pack_idcobj_to_bv(obj, tif, bytes, objoff, pio_flags=0) -> error_t + """ + return _idaapi.pack_idcobj_to_bv(*args) +class get_strmem_t(object): + """ + Proxy of C++ get_strmem_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + flags = _swig_property(_idaapi.get_strmem_t_flags_get, _idaapi.get_strmem_t_flags_set) + index = _swig_property(_idaapi.get_strmem_t_index_get, _idaapi.get_strmem_t_index_set) + offset = _swig_property(_idaapi.get_strmem_t_offset_get, _idaapi.get_strmem_t_offset_set) + delta = _swig_property(_idaapi.get_strmem_t_delta_get, _idaapi.get_strmem_t_delta_set) + name = _swig_property(_idaapi.get_strmem_t_name_get, _idaapi.get_strmem_t_name_set) + ftype = _swig_property(_idaapi.get_strmem_t_ftype_get, _idaapi.get_strmem_t_ftype_set) + fnames = _swig_property(_idaapi.get_strmem_t_fnames_get, _idaapi.get_strmem_t_fnames_set) + sname = _swig_property(_idaapi.get_strmem_t_sname_get, _idaapi.get_strmem_t_sname_set) + def __init__(self, *args): + """ + __init__(self) -> get_strmem_t + """ + this = _idaapi.new_get_strmem_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_get_strmem_t + __del__ = lambda self : None; +get_strmem_t_swigregister = _idaapi.get_strmem_t_swigregister +get_strmem_t_swigregister(get_strmem_t) + + +def get_strmem2(*args): + """ + get_strmem2(til, type, fields, info) -> bool + """ + return _idaapi.get_strmem2(*args) + +def apply_tinfo_to_stkarg(*args): + """ + apply_tinfo_to_stkarg(x, v, tif, name) -> bool + """ + return _idaapi.apply_tinfo_to_stkarg(*args) + +def gen_use_arg_tinfos(*args): + """ + gen_use_arg_tinfos(caller, fti, rargs, set_optype, is_stkarg_load, has_delay_slot) + """ + return _idaapi.gen_use_arg_tinfos(*args) +UTP_ENUM = _idaapi.UTP_ENUM +UTP_STRUCT = _idaapi.UTP_STRUCT + +def func_has_stkframe_hole(*args): + """ + func_has_stkframe_hole(ea, fti) -> bool + """ + return _idaapi.func_has_stkframe_hole(*args) +class lowertype_helper_t(object): + """ + Proxy of C++ lowertype_helper_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + def func_has_stkframe_hole(self, *args): + """ + func_has_stkframe_hole(self, candidate, candidate_data) -> bool + """ + return _idaapi.lowertype_helper_t_func_has_stkframe_hole(self, *args) + + def get_func_purged_bytes(self, *args): + """ + get_func_purged_bytes(self, candidate, candidate_data) -> int + """ + return _idaapi.lowertype_helper_t_get_func_purged_bytes(self, *args) + + __swig_destroy__ = _idaapi.delete_lowertype_helper_t + __del__ = lambda self : None; +lowertype_helper_t_swigregister = _idaapi.lowertype_helper_t_swigregister +lowertype_helper_t_swigregister(lowertype_helper_t) + +class ida_lowertype_helper_t(lowertype_helper_t): + """ + Proxy of C++ ida_lowertype_helper_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, _tif, _ea, _pb) -> ida_lowertype_helper_t + """ + this = _idaapi.new_ida_lowertype_helper_t(*args) + try: self.this.append(this) + except: self.this = this + def func_has_stkframe_hole(self, *args): + """ + func_has_stkframe_hole(self, candidate, candidate_data) -> bool + """ + return _idaapi.ida_lowertype_helper_t_func_has_stkframe_hole(self, *args) + + def get_func_purged_bytes(self, *args): + """ + get_func_purged_bytes(self, candidate, arg3) -> int + """ + return _idaapi.ida_lowertype_helper_t_get_func_purged_bytes(self, *args) + + __swig_destroy__ = _idaapi.delete_ida_lowertype_helper_t + __del__ = lambda self : None; +ida_lowertype_helper_t_swigregister = _idaapi.ida_lowertype_helper_t_swigregister +ida_lowertype_helper_t_swigregister(ida_lowertype_helper_t) + + +def lower_type2(*args): + """ + lower_type2(til, tif, name=None, helper=None) -> int + """ + return _idaapi.lower_type2(*args) + +def begin_type_updating(*args): + """ + begin_type_updating(utp) + """ + return _idaapi.begin_type_updating(*args) + +def end_type_updating(*args): + """ + end_type_updating(utp) + """ + return _idaapi.end_type_updating(*args) +class valstr_t(object): + """ + Proxy of C++ valstr_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + oneline = _swig_property(_idaapi.valstr_t_oneline_get, _idaapi.valstr_t_oneline_set) + length = _swig_property(_idaapi.valstr_t_length_get, _idaapi.valstr_t_length_set) + members = _swig_property(_idaapi.valstr_t_members_get, _idaapi.valstr_t_members_set) + info = _swig_property(_idaapi.valstr_t_info_get, _idaapi.valstr_t_info_set) + props = _swig_property(_idaapi.valstr_t_props_get, _idaapi.valstr_t_props_set) + def __init__(self, *args): + """ + __init__(self) -> valstr_t + """ + this = _idaapi.new_valstr_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_valstr_t + __del__ = lambda self : None; +valstr_t_swigregister = _idaapi.valstr_t_swigregister +valstr_t_swigregister(valstr_t) +VALSTR_OPEN = _idaapi.VALSTR_OPEN + +class valstrs_t(object): + """ + Proxy of C++ valstrs_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> valstrs_t + """ + this = _idaapi.new_valstrs_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_valstrs_t + __del__ = lambda self : None; +valstrs_t_swigregister = _idaapi.valstrs_t_swigregister +valstrs_t_swigregister(valstrs_t) + +class text_sink_t(object): + """ + Proxy of C++ text_sink_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def _print(self, *args): + """ + _print(self, str) -> int + """ + return _idaapi.text_sink_t__print(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> text_sink_t + """ + if self.__class__ == text_sink_t: + _self = None + else: + _self = self + this = _idaapi.new_text_sink_t(_self, *args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_text_sink_t + __del__ = lambda self : None; + def __disown__(self): + self.this.disown() + _idaapi.disown_text_sink_t(self) + return weakref_proxy(self) +text_sink_t_swigregister = _idaapi.text_sink_t_swigregister +text_sink_t_swigregister(text_sink_t) + +PDF_INCL_DEPS = _idaapi.PDF_INCL_DEPS +PDF_DEF_FWD = _idaapi.PDF_DEF_FWD +PDF_DEF_BASE = _idaapi.PDF_DEF_BASE + +def calc_number_of_children(*args): + """ + calc_number_of_children(loc, tif, dont_deref_ptr=False) -> int + """ + return _idaapi.calc_number_of_children(*args) +PCN_RADIX = _idaapi.PCN_RADIX +PCN_DEC = _idaapi.PCN_DEC +PCN_HEX = _idaapi.PCN_HEX +PCN_OCT = _idaapi.PCN_OCT +PCN_CHR = _idaapi.PCN_CHR +PCN_UNSIGNED = _idaapi.PCN_UNSIGNED +PCN_LZHEX = _idaapi.PCN_LZHEX +PCN_NEGSIGN = _idaapi.PCN_NEGSIGN + +def get_enum_member_expr2(*args): + """ + get_enum_member_expr2(tif, serial, value) -> bool + """ + return _idaapi.get_enum_member_expr2(*args) +class til_symbol_t(object): + """ + Proxy of C++ til_symbol_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + name = _swig_property(_idaapi.til_symbol_t_name_get, _idaapi.til_symbol_t_name_set) + til = _swig_property(_idaapi.til_symbol_t_til_get, _idaapi.til_symbol_t_til_set) + def __init__(self, *args): + """ + __init__(self, n=None, t=None) -> til_symbol_t + """ + this = _idaapi.new_til_symbol_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_til_symbol_t + __del__ = lambda self : None; +til_symbol_t_swigregister = _idaapi.til_symbol_t_swigregister +til_symbol_t_swigregister(til_symbol_t) + + +def choose_named_type2(*args): + """ + choose_named_type2(root_til, title, ntf_flags, func, sym) -> bool + """ + return _idaapi.choose_named_type2(*args) + +def choose_local_tinfo(*args): + """ + choose_local_tinfo(ti, title, func, ud) -> uint32 + """ + return _idaapi.choose_local_tinfo(*args) + +def choose_local_type(*args): + """ + choose_local_type(ti, title, func, ud) -> uint32 + """ + return _idaapi.choose_local_type(*args) +class valstrs_deprecated2_t(object): + """ + Proxy of C++ valstrs_deprecated2_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> valstrs_deprecated2_t + """ + this = _idaapi.new_valstrs_deprecated2_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_valstrs_deprecated2_t + __del__ = lambda self : None; +valstrs_deprecated2_t_swigregister = _idaapi.valstrs_deprecated2_t_swigregister +valstrs_deprecated2_t_swigregister(valstrs_deprecated2_t) + +class valstrs_deprecated_t(object): + """ + Proxy of C++ valstrs_deprecated_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> valstrs_deprecated_t + """ + this = _idaapi.new_valstrs_deprecated_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_valstrs_deprecated_t + __del__ = lambda self : None; +valstrs_deprecated_t_swigregister = _idaapi.valstrs_deprecated_t_swigregister +valstrs_deprecated_t_swigregister(valstrs_deprecated_t) + + +def get_scattered_varloc(*args): + """ + get_scattered_varloc(idx) -> scattered_vloc_t + """ + return _idaapi.get_scattered_varloc(*args) + +def set_scattered_varloc(*args): + """ + set_scattered_varloc(ptr) -> int + """ + return _idaapi.set_scattered_varloc(*args) + +def copy_varloc(*args): + """ + copy_varloc(dst, src) + """ + return _idaapi.copy_varloc(*args) + +def cleanup_varloc(*args): + """ + cleanup_varloc(vloc) + """ + return _idaapi.cleanup_varloc(*args) +BAD_VARLOC = _idaapi.BAD_VARLOC +class varloc_t(object): + """ + Proxy of C++ varloc_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> varloc_t + __init__(self, r) -> varloc_t + """ + this = _idaapi.new_varloc_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_varloc_t + __del__ = lambda self : None; + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.varloc_t_swap(self, *args) + + def get_value(self, *args): + """ + get_value(self) -> int32 + """ + return _idaapi.varloc_t_get_value(self, *args) + + def type(self, *args): + """ + type(self) -> uint32 + """ + return _idaapi.varloc_t_type(self, *args) + + def is_reg1(self, *args): + """ + is_reg1(self) -> bool + """ + return _idaapi.varloc_t_is_reg1(self, *args) + + def is_reg2(self, *args): + """ + is_reg2(self) -> bool + """ + return _idaapi.varloc_t_is_reg2(self, *args) + + def is_reg(self, *args): + """ + is_reg(self) -> bool + """ + return _idaapi.varloc_t_is_reg(self, *args) + + def is_stkoff(self, *args): + """ + is_stkoff(self) -> bool + """ + return _idaapi.varloc_t_is_stkoff(self, *args) + + def is_scattered(self, *args): + """ + is_scattered(self) -> bool + """ + return _idaapi.varloc_t_is_scattered(self, *args) + + def is_fragmented(self, *args): + """ + is_fragmented(self) -> bool + """ + return _idaapi.varloc_t_is_fragmented(self, *args) + + def is_badloc(self, *args): + """ + is_badloc(self) -> bool + """ + return _idaapi.varloc_t_is_badloc(self, *args) + + def reg1(self, *args): + """ + reg1(self) -> int + """ + return _idaapi.varloc_t_reg1(self, *args) + + def regoff(self, *args): + """ + regoff(self) -> int + """ + return _idaapi.varloc_t_regoff(self, *args) + + def reg2(self, *args): + """ + reg2(self) -> int + """ + return _idaapi.varloc_t_reg2(self, *args) + + def stkoff(self, *args): + """ + stkoff(self) -> int + """ + return _idaapi.varloc_t_stkoff(self, *args) + + def scattered(self, *args): + """ + scattered(self) -> scattered_vloc_t + scattered(self) -> scattered_vloc_t + """ + return _idaapi.varloc_t_scattered(self, *args) + + def _set_badloc(self, *args): + """ + _set_badloc(self) + """ + return _idaapi.varloc_t__set_badloc(self, *args) + + def _set_reg1(self, *args): + """ + _set_reg1(self, reg, off=0) + """ + return _idaapi.varloc_t__set_reg1(self, *args) + + def _set_reg2(self, *args): + """ + _set_reg2(self, _reg1, _reg2) + """ + return _idaapi.varloc_t__set_reg2(self, *args) + + def _set_stkoff(self, *args): + """ + _set_stkoff(self, off) + """ + return _idaapi.varloc_t__set_stkoff(self, *args) + + def _consume_scattered(self, *args): + """ + _consume_scattered(self, p) -> bool + """ + return _idaapi.varloc_t__consume_scattered(self, *args) + + def set_reg1(self, *args): + """ + set_reg1(self, reg, off=0) + """ + return _idaapi.varloc_t_set_reg1(self, *args) + + def set_reg2(self, *args): + """ + set_reg2(self, _reg1, _reg2) + """ + return _idaapi.varloc_t_set_reg2(self, *args) + + def set_stkoff(self, *args): + """ + set_stkoff(self, off) + """ + return _idaapi.varloc_t_set_stkoff(self, *args) + + def consume_scattered(self, *args): + """ + consume_scattered(self, p) + """ + return _idaapi.varloc_t_consume_scattered(self, *args) + + def set_badloc(self, *args): + """ + set_badloc(self) + """ + return _idaapi.varloc_t_set_badloc(self, *args) + + def calc_offset(self, *args): + """ + calc_offset(self) -> int + """ + return _idaapi.varloc_t_calc_offset(self, *args) + + def advance(self, *args): + """ + advance(self, delta) -> bool + """ + return _idaapi.varloc_t_advance(self, *args) + +varloc_t_swigregister = _idaapi.varloc_t_swigregister +varloc_t_swigregister(varloc_t) + +class varpart_t(varloc_t): + """ + Proxy of C++ varpart_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + off = _swig_property(_idaapi.varpart_t_off_get, _idaapi.varpart_t_off_set) + size = _swig_property(_idaapi.varpart_t_size_get, _idaapi.varpart_t_size_set) + def __init__(self, *args): + """ + __init__(self) -> varpart_t + """ + this = _idaapi.new_varpart_t(*args) + try: self.this.append(this) + except: self.this = this + def bad_offset(self, *args): + """ + bad_offset(self) -> bool + """ + return _idaapi.varpart_t_bad_offset(self, *args) + + def bad_size(self, *args): + """ + bad_size(self) -> bool + """ + return _idaapi.varpart_t_bad_size(self, *args) + + __swig_destroy__ = _idaapi.delete_varpart_t + __del__ = lambda self : None; +varpart_t_swigregister = _idaapi.varpart_t_swigregister +varpart_t_swigregister(varpart_t) + +class scattered_vloc_t(object): + """ + Proxy of C++ scattered_vloc_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> scattered_vloc_t + """ + this = _idaapi.new_scattered_vloc_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_scattered_vloc_t + __del__ = lambda self : None; +scattered_vloc_t_swigregister = _idaapi.scattered_vloc_t_swigregister +scattered_vloc_t_swigregister(scattered_vloc_t) + + +def add_til(*args): + """ + add_til(name) -> int + """ + return _idaapi.add_til(*args) + +def is_type_voiddef(*args): + """ + is_type_voiddef(t) -> bool + """ + return _idaapi.is_type_voiddef(*args) + +def is_type_void_obsolete(*args): + """ + is_type_void_obsolete(t) -> bool + """ + return _idaapi.is_type_void_obsolete(*args) + +def is_type_unk(*args): + """ + is_type_unk(t) -> bool + """ + return _idaapi.is_type_unk(*args) + +def is_type_only_size(*args): + """ + is_type_only_size(t) -> bool + """ + return _idaapi.is_type_only_size(*args) + +def apply_type2(*args): + """ + apply_type2(ea, rtype, fields, userti) -> bool + """ + return _idaapi.apply_type2(*args) + +def parse_types2(*args): + """ + parse_types2(input, printer, hti_flags) -> int + """ + return _idaapi.parse_types2(*args) + +def apply_cdecl(*args): + """ + apply_cdecl(ea, decl) -> bool + """ + return _idaapi.apply_cdecl(*args) + +def til2idb(*args): + """ + til2idb(idx, name) -> tid_t + """ + return _idaapi.til2idb(*args) + +def get_idainfo_by_type(*args): + """ + get_idainfo_by_type(rtype, fields, psize, pflags, mt, alsize=None) -> bool + """ + return _idaapi.get_idainfo_by_type(*args) + +def is_resolved_type_struni(*args): + """ + is_resolved_type_struni(type) -> bool + """ + return _idaapi.is_resolved_type_struni(*args) + +def make_array_type(*args): + """ + make_array_type(buf, bufsize, type, size) -> bool + """ + return _idaapi.make_array_type(*args) + +def get_func_nargs(*args): + """ + get_func_nargs(type) -> int + """ + return _idaapi.get_func_nargs(*args) + +def get_strmem(*args): + """ + get_strmem(til, type, fields, offset, delta, name, ftype=None, fnames=None, sname=None) -> bool + """ + return _idaapi.get_strmem(*args) + +def get_strmem_by_name(*args): + """ + get_strmem_by_name(til, type, fields, name, offset, ftype=None, fnames=None, sname=None) -> bool + """ + return _idaapi.get_strmem_by_name(*args) + +def calc_argloc_info(*args): + """ + calc_argloc_info(til, type, arglocs, maxn) -> int + """ + return _idaapi.calc_argloc_info(*args) +ARGLOC_REG = _idaapi.ARGLOC_REG +ARGLOC_REG2 = _idaapi.ARGLOC_REG2 + +def is_reg_argloc(*args): + """ + is_reg_argloc(argloc) -> bool + """ + return _idaapi.is_reg_argloc(*args) + +def is_stack_argloc(*args): + """ + is_stack_argloc(argloc) -> bool + """ + return _idaapi.is_stack_argloc(*args) + +def is_reg2_argloc(*args): + """ + is_reg2_argloc(reg_argloc) -> bool + """ + return _idaapi.is_reg2_argloc(*args) + +def get_argloc_r1(*args): + """ + get_argloc_r1(reg_argloc) -> int + """ + return _idaapi.get_argloc_r1(*args) + +def get_argloc_r2(*args): + """ + get_argloc_r2(reg_argloc) -> int + """ + return _idaapi.get_argloc_r2(*args) + +def make_old_argloc(*args): + """ + make_old_argloc(r1, r2) -> argloc_old_t + """ + return _idaapi.make_old_argloc(*args) + +def split_old_argloc(*args): + """ + split_old_argloc(al, r1, r2) + """ + return _idaapi.split_old_argloc(*args) + +def extract_old_argloc(*args): + """ + extract_old_argloc(ptr, p1, p2) + extract_old_argloc(ptr) -> argloc_old_t + """ + return _idaapi.extract_old_argloc(*args) + +def extract_and_convert_old_argloc(*args): + """ + extract_and_convert_old_argloc(tp) -> uint32 + """ + return _idaapi.extract_and_convert_old_argloc(*args) +NTF_NOIDB = _idaapi.NTF_NOIDB + +def build_func_type(*args): + """ + build_func_type(p_type, p_fields, fi) -> bool + """ + return _idaapi.build_func_type(*args) +class type_visitor_t(object): + """ + Proxy of C++ type_visitor_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + def visit_type(self, *args): + """ + visit_type(self, type) -> int + """ + return _idaapi.type_visitor_t_visit_type(self, *args) + + __swig_destroy__ = _idaapi.delete_type_visitor_t + __del__ = lambda self : None; +type_visitor_t_swigregister = _idaapi.type_visitor_t_swigregister +type_visitor_t_swigregister(type_visitor_t) + + +def for_all_types(*args): + """ + for_all_types(ptype, tv) -> int + """ + return _idaapi.for_all_types(*args) +class type_pair_t(object): + """ + Proxy of C++ type_pair_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + type1 = _swig_property(_idaapi.type_pair_t_type1_get, _idaapi.type_pair_t_type1_set) + type2 = _swig_property(_idaapi.type_pair_t_type2_get, _idaapi.type_pair_t_type2_set) + def __init__(self, *args): + """ + __init__(self) -> type_pair_t + __init__(self, l) -> type_pair_t + __init__(self, l, g) -> type_pair_t + """ + this = _idaapi.new_type_pair_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_type_pair_t + __del__ = lambda self : None; +type_pair_t_swigregister = _idaapi.type_pair_t_swigregister +type_pair_t_swigregister(type_pair_t) + +class type_pair_vec_t(object): + """ + Proxy of C++ type_pair_vec_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> type_pair_vec_t + """ + this = _idaapi.new_type_pair_vec_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_type_pair_vec_t + __del__ = lambda self : None; +type_pair_vec_t_swigregister = _idaapi.type_pair_vec_t_swigregister +type_pair_vec_t_swigregister(type_pair_vec_t) + + +def replace_subtypes(*args): + """ + replace_subtypes(type, type_pairs) -> int + """ + return _idaapi.replace_subtypes(*args) +class type_mapper_t(object): + """ + Proxy of C++ type_mapper_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + def map_type(self, *args): + """ + map_type(self, out, type) -> bool + """ + return _idaapi.type_mapper_t_map_type(self, *args) + + __swig_destroy__ = _idaapi.delete_type_mapper_t + __del__ = lambda self : None; +type_mapper_t_swigregister = _idaapi.type_mapper_t_swigregister +type_mapper_t_swigregister(type_mapper_t) + + +def replace_subtypes2(*args): + """ + replace_subtypes2(ti, type, mapper) -> int + """ + return _idaapi.replace_subtypes2(*args) + +def calc_max_number_of_children(*args): + """ + calc_max_number_of_children(ea, til, type, fields=None, dont_deref_ptr=False) -> int + """ + return _idaapi.calc_max_number_of_children(*args) + +def deref_ptr(*args): + """ + deref_ptr(ti, type, ptr_ea, closure_obj=None) -> bool + """ + return _idaapi.deref_ptr(*args) + +def guess_tinfo(*args): + """ + guess_tinfo(id, type, fields) -> int + """ + return _idaapi.guess_tinfo(*args) + +def guess_func_tinfo(*args): + """ + guess_func_tinfo(pfn, type, fields) -> int + """ + return _idaapi.guess_func_tinfo(*args) + +def get_enum_base_type(*args): + """ + get_enum_base_type(type) -> type_t const * + """ + return _idaapi.get_enum_base_type(*args) + +def set_complex_n(*args): + """ + set_complex_n(pt, val, is_empty_udt) -> type_t * + """ + return _idaapi.set_complex_n(*args) + +def get_complex_n(*args): + """ + get_complex_n(ptype, is_empty_udt) -> int + """ + return _idaapi.get_complex_n(*args) + +def append_dt(*args): + """ + append_dt(type, n) -> bool + """ + return _idaapi.append_dt(*args) + +def append_de(*args): + """ + append_de(type, n) -> bool + """ + return _idaapi.append_de(*args) + +def append_da(*args): + """ + append_da(type, n1, n2) -> bool + """ + return _idaapi.append_da(*args) + +def append_name(*args): + """ + append_name(fields, name) -> bool + """ + return _idaapi.append_name(*args) + +def append_complex_n(*args): + """ + append_complex_n(type, n, is_empty) -> bool + """ + return _idaapi.append_complex_n(*args) + +def is_castable2(*args): + """ + is_castable2(til, frm, to) -> bool + """ + return _idaapi.is_castable2(*args) + +def build_array_type(*args): + """ + build_array_type(outtype, type, size) -> bool + """ + return _idaapi.build_array_type(*args) + +def get_ptr_object_size(*args): + """ + get_ptr_object_size(til, type) -> ssize_t + """ + return _idaapi.get_ptr_object_size(*args) + +def get_name_of_named_type(*args): + """ + get_name_of_named_type(ptr) -> bool + """ + return _idaapi.get_name_of_named_type(*args) + +def is_type_scalar2(*args): + """ + is_type_scalar2(til, type) -> bool + """ + return _idaapi.is_type_scalar2(*args) + +def get_type_sign(*args): + """ + get_type_sign(til, type) -> type_sign_t + """ + return _idaapi.get_type_sign(*args) + +def get_idainfo_by_type2(*args): + """ + get_idainfo_by_type2(til, ptype, fields, psize, pflags, mt, alsize=None) -> bool + """ + return _idaapi.get_idainfo_by_type2(*args) + +def apply_tinfo(*args): + """ + apply_tinfo(til, ea, type, fields, flags) -> bool + """ + return _idaapi.apply_tinfo(*args) + +def parse_decl(*args): + """ + parse_decl(til, decl, name, type, fields, flags) -> bool + """ + return _idaapi.parse_decl(*args) + +def remove_type_pointer(*args): + """ + remove_type_pointer(til, ptype, pname) -> bool + """ + return _idaapi.remove_type_pointer(*args) + +def apply_once_type_and_name(*args): + """ + apply_once_type_and_name(ea, type, name) -> bool + """ + return _idaapi.apply_once_type_and_name(*args) + +def get_func_rettype(*args): + """ + get_func_rettype(til, type, fields, rettype, retfields=None, p_retloc=None, p_cc=None) -> int + """ + return _idaapi.get_func_rettype(*args) + +def calc_func_nargs(*args): + """ + calc_func_nargs(til, type) -> int + """ + return _idaapi.calc_func_nargs(*args) + +def get_func_cc(*args): + """ + get_func_cc(til, p_type, p_fields=None) -> cm_t + """ + return _idaapi.get_func_cc(*args) + +def skip_spoiled_info(*args): + """ + skip_spoiled_info(ptr) -> type_t const * + """ + return _idaapi.skip_spoiled_info(*args) + +def set_spoils(*args): + """ + set_spoils(pt, reg, size) -> type_t * + """ + return _idaapi.set_spoils(*args) + +def get_spoil_cnt(*args): + """ + get_spoil_cnt(t) -> unsigned int + """ + return _idaapi.get_spoil_cnt(*args) + +def is_type_resolvable(*args): + """ + is_type_resolvable(p, namebuf=None) -> bool + """ + return _idaapi.is_type_resolvable(*args) + +def resolve_typedef2(*args): + """ + resolve_typedef2(ti, p, fields=None, namebuf=None) -> type_t const * + """ + return _idaapi.resolve_typedef2(*args) + +def get_funcarg_size(*args): + """ + get_funcarg_size(til, pptr, lp=None) -> size_t + """ + return _idaapi.get_funcarg_size(*args) + +def check_skip_type(*args): + """ + check_skip_type(ti, ptr) -> bool + """ + return _idaapi.check_skip_type(*args) + +def is_valid_full_type(*args): + """ + is_valid_full_type(ti, ptr) -> bool + """ + return _idaapi.is_valid_full_type(*args) + +def print_type_to_qstring(*args): + """ + print_type_to_qstring(prefix, indent, cmtindent, flags, ti, pt, name=None, cmt=None, field_names=None, + field_cmts=None) -> ssize_t + """ + return _idaapi.print_type_to_qstring(*args) +class funcarg_info_t(object): + """ + Proxy of C++ funcarg_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + argloc = _swig_property(_idaapi.funcarg_info_t_argloc_get, _idaapi.funcarg_info_t_argloc_set) + name = _swig_property(_idaapi.funcarg_info_t_name_get, _idaapi.funcarg_info_t_name_set) + type = _swig_property(_idaapi.funcarg_info_t_type_get, _idaapi.funcarg_info_t_type_set) + fields = _swig_property(_idaapi.funcarg_info_t_fields_get, _idaapi.funcarg_info_t_fields_set) + def __init__(self, *args): + """ + __init__(self) -> funcarg_info_t + """ + this = _idaapi.new_funcarg_info_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_funcarg_info_t + __del__ = lambda self : None; +funcarg_info_t_swigregister = _idaapi.funcarg_info_t_swigregister +funcarg_info_t_swigregister(funcarg_info_t) + +class func_type_info_t(object): + """ + Proxy of C++ func_type_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + flags = _swig_property(_idaapi.func_type_info_t_flags_get, _idaapi.func_type_info_t_flags_set) + rettype = _swig_property(_idaapi.func_type_info_t_rettype_get, _idaapi.func_type_info_t_rettype_set) + retfields = _swig_property(_idaapi.func_type_info_t_retfields_get, _idaapi.func_type_info_t_retfields_set) + retloc = _swig_property(_idaapi.func_type_info_t_retloc_get, _idaapi.func_type_info_t_retloc_set) + stkargs = _swig_property(_idaapi.func_type_info_t_stkargs_get, _idaapi.func_type_info_t_stkargs_set) + spoiled = _swig_property(_idaapi.func_type_info_t_spoiled_get, _idaapi.func_type_info_t_spoiled_set) + cc = _swig_property(_idaapi.func_type_info_t_cc_get, _idaapi.func_type_info_t_cc_set) + basetype = _swig_property(_idaapi.func_type_info_t_basetype_get, _idaapi.func_type_info_t_basetype_set) + def __init__(self, *args): + """ + __init__(self) -> func_type_info_t + """ + this = _idaapi.new_func_type_info_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_func_type_info_t + __del__ = lambda self : None; +func_type_info_t_swigregister = _idaapi.func_type_info_t_swigregister +func_type_info_t_swigregister(func_type_info_t) + + +def build_func_type2(*args): + """ + build_func_type2(ti, p_type, p_fields, fi) -> bool + """ + return _idaapi.build_func_type2(*args) + +def build_funcarg_info(*args): + """ + build_funcarg_info(til, type, fields, info, bfi_flags) -> int + """ + return _idaapi.build_funcarg_info(*args) +BFI_NOCONST = _idaapi.BFI_NOCONST +BFI_NOLOCS = _idaapi.BFI_NOLOCS + +def resolve_complex_type2(*args): + """ + resolve_complex_type2(til, ptype, fields, type_name, bt, N) -> bool + """ + return _idaapi.resolve_complex_type2(*args) + +def calc_varloc_info(*args): + """ + calc_varloc_info(til, type, varlocs) -> int + """ + return _idaapi.calc_varloc_info(*args) + +def append_varloc(*args): + """ + append_varloc(out, vloc) -> bool + """ + return _idaapi.append_varloc(*args) + +def extract_varloc(*args): + """ + extract_varloc(ptype, vloc, is_retval) -> bool + """ + return _idaapi.extract_varloc(*args) + +def skip_varloc(*args): + """ + skip_varloc(ptype, is_retval=False) -> bool + """ + return _idaapi.skip_varloc(*args) + +def verify_varloc(*args): + """ + verify_varloc(vloc, size, gaps) -> int + """ + return _idaapi.verify_varloc(*args) + +def optimize_varloc(*args): + """ + optimize_varloc(vloc, size, gaps) -> bool + """ + return _idaapi.optimize_varloc(*args) + +def print_varloc(*args): + """ + print_varloc(vloc, size=0, vflags=0) -> size_t + """ + return _idaapi.print_varloc(*args) +PRVLOC_VERIFY = _idaapi.PRVLOC_VERIFY +PRVLOC_STKOFF = _idaapi.PRVLOC_STKOFF + +def convert_varloc_to_argloc(*args): + """ + convert_varloc_to_argloc(dst, src) + """ + return _idaapi.convert_varloc_to_argloc(*args) + +def convert_argloc_to_varloc(*args): + """ + convert_argloc_to_varloc(dst, src) -> bool + """ + return _idaapi.convert_argloc_to_varloc(*args) +class vloc_visitor_t(object): + """ + Proxy of C++ vloc_visitor_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + def visit_location(self, *args): + """ + visit_location(self, v, off, size) -> int + """ + return _idaapi.vloc_visitor_t_visit_location(self, *args) + + __swig_destroy__ = _idaapi.delete_vloc_visitor_t + __del__ = lambda self : None; +vloc_visitor_t_swigregister = _idaapi.vloc_visitor_t_swigregister +vloc_visitor_t_swigregister(vloc_visitor_t) + + +def for_all_varlocs(*args): + """ + for_all_varlocs(vv, vloc, size, off=0) -> int + """ + return _idaapi.for_all_varlocs(*args) +class const_vloc_visitor_t(object): + """ + Proxy of C++ const_vloc_visitor_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + def visit_location(self, *args): + """ + visit_location(self, v, off, size) -> int + """ + return _idaapi.const_vloc_visitor_t_visit_location(self, *args) + + __swig_destroy__ = _idaapi.delete_const_vloc_visitor_t + __del__ = lambda self : None; +const_vloc_visitor_t_swigregister = _idaapi.const_vloc_visitor_t_swigregister +const_vloc_visitor_t_swigregister(const_vloc_visitor_t) + + +def for_all_const_varlocs(*args): + """ + for_all_const_varlocs(vv, vloc, size, off=0) -> int + """ + return _idaapi.for_all_const_varlocs(*args) + +def calc_max_children_qty(*args): + """ + calc_max_children_qty(ea, tif, dont_deref_ptr=False) -> int + """ + return _idaapi.calc_max_children_qty(*args) + +def guess_func_tinfo2(*args): + """ + guess_func_tinfo2(pfn, tif) -> int + """ + return _idaapi.guess_func_tinfo2(*args) + +def lower_type(*args): + """ + lower_type(til, tif, name=None) -> int + """ + return _idaapi.lower_type(*args) + +def print_type2(*args): + """ + print_type2(ea, prtype_flags) -> bool + """ + return _idaapi.print_type2(*args) + +def idc_parse_decl(*args): + """ + idc_parse_decl(ti, decl, flags) -> PyObject * + """ + return _idaapi.idc_parse_decl(*args) + +def calc_type_size(*args): + """ + calc_type_size(ti, tp) -> PyObject * + + + Returns the size of a type + @param ti: Type info. 'idaapi.cvar.idati' can be passed. + @param tp: type string + @return: + - None on failure + - The size of the type + """ + return _idaapi.calc_type_size(*args) + +def apply_type(*args): + """ + apply_type(ti, py_type, py_fields, ea, flags) -> bool + + + Apply the specified type to the address + @param ti: Type info library. 'idaapi.cvar.idati' 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 + """ + return _idaapi.apply_type(*args) + +def print_type(*args): + """ + print_type(ea, one_line) -> PyObject * + + + Returns the type of an item + @return: + - None on failure + - The type string with a semicolon. Can be used directly with idc.SetType() + """ + return _idaapi.print_type(*args) + +def unpack_object_from_idb(*args): + """ + unpack_object_from_idb(ti, py_type, py_fields, ea, pio_flags=0) -> PyObject * + """ + return _idaapi.unpack_object_from_idb(*args) + +def unpack_object_from_bv(*args): + """ + 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. 'idaapi.cvar.idati' 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 + """ + return _idaapi.unpack_object_from_bv(*args) + +def pack_object_to_idb(*args): + """ + 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. 'idaapi.cvar.idati' 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 + """ + return _idaapi.pack_object_to_idb(*args) + +def pack_object_to_bv(*args): + """ + 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. 'idaapi.cvar.idati' 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 + """ + return _idaapi.pack_object_to_bv(*args) + +def idc_parse_types(*args): + """ + idc_parse_types(input, flags) -> int + """ + return _idaapi.idc_parse_types(*args) + +def idc_get_type_raw(*args): + """ + idc_get_type_raw(ea) -> PyObject * + """ + return _idaapi.idc_get_type_raw(*args) + +def idc_get_local_type_raw(*args): + """ + idc_get_local_type_raw(ordinal) -> PyObject * + """ + return _idaapi.idc_get_local_type_raw(*args) + +def idc_guess_type(*args): + """ + idc_guess_type(ea) -> char * + """ + return _idaapi.idc_guess_type(*args) + +def idc_get_type(*args): + """ + idc_get_type(ea) -> char * + """ + return _idaapi.idc_get_type(*args) + +def idc_set_local_type(*args): + """ + idc_set_local_type(ordinal, dcl, flags) -> int + """ + return _idaapi.idc_set_local_type(*args) + +def idc_get_local_type(*args): + """ + idc_get_local_type(ordinal, flags, buf, maxsize) -> int + """ + return _idaapi.idc_get_local_type(*args) + +def idc_print_type(*args): + """ + idc_print_type(py_type, py_fields, name, flags) -> PyObject * + """ + return _idaapi.idc_print_type(*args) + +def idc_get_local_type_name(*args): + """ + idc_get_local_type_name(ordinal) -> char + """ + return _idaapi.idc_get_local_type_name(*args) + +def 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 + """ + return _idaapi.get_named_type(*args) + +def get_named_type64(*args): + """ + get_named_type64(til, name, ntf_flags) -> PyObject * + """ + return _idaapi.get_named_type64(*args) + +def print_decls(*args): + """ + print_decls(printer, til, py_ordinals, flags) -> int + """ + return _idaapi.print_decls(*args) + +def load_til(*args): + """ + load_til(tildir, name, errbuf, bufsize) -> til_t + load_til(tildir, name) -> til_t + """ + return _idaapi.load_til(*args) + +def load_til_header(*args): + """ + load_til_header(tildir, name, errbuf, bufsize) -> til_t + load_til_header(tildir, name) -> til_t + """ + return _idaapi.load_til_header(*args) +# + +def get_type_size0(ti, tp): + """ + DEPRECATED. Please use calc_type_size instead + Returns the size of a type + @param ti: Type info. 'idaapi.cvar.idati' can be passed. + @param tp: type string + @return: + - None on failure + - The size of the type + """ + return calc_type_size(ti, tp) + +# + + +class user_numforms_t(object): + """ + Proxy of C++ std::map<(operand_locator_t,number_format_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def at(self, *args): + """ + at(self, _Keyval) -> number_format_t + """ + return _idaapi.user_numforms_t_at(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.user_numforms_t_size(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> user_numforms_t + """ + this = _idaapi.new_user_numforms_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_user_numforms_t + __del__ = lambda self : None; +user_numforms_t_swigregister = _idaapi.user_numforms_t_swigregister +user_numforms_t_swigregister(user_numforms_t) +FTI_CALLSHIFT = cvar.FTI_CALLSHIFT + +class lvar_mapping_t(object): + """ + Proxy of C++ std::map<(lvar_locator_t,lvar_locator_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def at(self, *args): + """ + at(self, _Keyval) -> lvar_locator_t + """ + return _idaapi.lvar_mapping_t_at(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.lvar_mapping_t_size(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> lvar_mapping_t + """ + this = _idaapi.new_lvar_mapping_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_lvar_mapping_t + __del__ = lambda self : None; +lvar_mapping_t_swigregister = _idaapi.lvar_mapping_t_swigregister +lvar_mapping_t_swigregister(lvar_mapping_t) + +class hexwarns_t(object): + """ + Proxy of C++ qvector<(hexwarn_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> hexwarns_t + __init__(self, x) -> hexwarns_t + """ + this = _idaapi.new_hexwarns_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_hexwarns_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> hexwarn_t + """ + return _idaapi.hexwarns_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.hexwarns_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.hexwarns_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.hexwarns_t_empty(self, *args) + + def at(self, *args): + """ + at(self, _idx) -> hexwarn_t + """ + return _idaapi.hexwarns_t_at(self, *args) + + def front(self, *args): + """ + front(self) -> hexwarn_t + front(self) -> hexwarn_t + """ + return _idaapi.hexwarns_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> hexwarn_t + back(self) -> hexwarn_t + """ + return _idaapi.hexwarns_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.hexwarns_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.hexwarns_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.hexwarns_t_resize(self, *args) + + def grow(self, *args): + """ + grow(self, x=hexwarn_t()) + """ + return _idaapi.hexwarns_t_grow(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.hexwarns_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.hexwarns_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.hexwarns_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.hexwarns_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> hexwarn_t + """ + return _idaapi.hexwarns_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.hexwarns_t_inject(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.hexwarns_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.hexwarns_t___ne__(self, *args) + + def begin(self, *args): + """ + begin(self) -> hexwarn_t + begin(self) -> hexwarn_t + """ + return _idaapi.hexwarns_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> hexwarn_t + end(self) -> hexwarn_t + """ + return _idaapi.hexwarns_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> hexwarn_t + """ + return _idaapi.hexwarns_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> hexwarn_t + erase(self, first, last) -> hexwarn_t + """ + return _idaapi.hexwarns_t_erase(self, *args) + + def find(self, *args): + """ + find(self, x) -> hexwarn_t + find(self, x) -> hexwarn_t + """ + return _idaapi.hexwarns_t_find(self, *args) + + def has(self, *args): + """ + has(self, x) -> bool + """ + return _idaapi.hexwarns_t_has(self, *args) + + def add_unique(self, *args): + """ + add_unique(self, x) -> bool + """ + return _idaapi.hexwarns_t_add_unique(self, *args) + + def _del(self, *args): + """ + _del(self, x) -> bool + """ + return _idaapi.hexwarns_t__del(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.hexwarns_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> hexwarn_t + """ + return _idaapi.hexwarns_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.hexwarns_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + +hexwarns_t_swigregister = _idaapi.hexwarns_t_swigregister +hexwarns_t_swigregister(hexwarns_t) + +class ctree_items_t(object): + """ + Proxy of C++ qvector<(p.citem_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> ctree_items_t + __init__(self, x) -> ctree_items_t + """ + this = _idaapi.new_ctree_items_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_ctree_items_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> citem_t *& + """ + return _idaapi.ctree_items_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.ctree_items_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.ctree_items_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.ctree_items_t_empty(self, *args) + + def front(self, *args): + """ + front(self) -> citem_t + front(self) -> citem_t *& + """ + return _idaapi.ctree_items_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> citem_t + back(self) -> citem_t *& + """ + return _idaapi.ctree_items_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.ctree_items_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.ctree_items_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.ctree_items_t_resize(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.ctree_items_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.ctree_items_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.ctree_items_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.ctree_items_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> citem_t ** + """ + return _idaapi.ctree_items_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.ctree_items_t_inject(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.ctree_items_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.ctree_items_t___ne__(self, *args) + + def begin(self, *args): + """ + begin(self) -> qvector< citem_t * >::iterator + begin(self) -> qvector< citem_t * >::const_iterator + """ + return _idaapi.ctree_items_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> qvector< citem_t * >::iterator + end(self) -> qvector< citem_t * >::const_iterator + """ + return _idaapi.ctree_items_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> qvector< citem_t * >::iterator + """ + return _idaapi.ctree_items_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> qvector< citem_t * >::iterator + erase(self, first, last) -> qvector< citem_t * >::iterator + """ + return _idaapi.ctree_items_t_erase(self, *args) + + def find(self, *args): + """ + find(self, x) -> qvector< citem_t * >::iterator + find(self, x) -> qvector< citem_t * >::const_iterator + """ + return _idaapi.ctree_items_t_find(self, *args) + + def has(self, *args): + """ + has(self, x) -> bool + """ + return _idaapi.ctree_items_t_has(self, *args) + + def add_unique(self, *args): + """ + add_unique(self, x) -> bool + """ + return _idaapi.ctree_items_t_add_unique(self, *args) + + def _del(self, *args): + """ + _del(self, x) -> bool + """ + return _idaapi.ctree_items_t__del(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.ctree_items_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> citem_t + """ + return _idaapi.ctree_items_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.ctree_items_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + + def at(self, *args): + """ + at(self, n) -> citem_t + """ + return _idaapi.ctree_items_t_at(self, *args) + +ctree_items_t_swigregister = _idaapi.ctree_items_t_swigregister +ctree_items_t_swigregister(ctree_items_t) + +class user_labels_t(object): + """ + Proxy of C++ std::map<(int,qstring)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def at(self, *args): + """ + at(self, _Keyval) -> _qstring< char > & + """ + return _idaapi.user_labels_t_at(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.user_labels_t_size(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> user_labels_t + """ + this = _idaapi.new_user_labels_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_user_labels_t + __del__ = lambda self : None; +user_labels_t_swigregister = _idaapi.user_labels_t_swigregister +user_labels_t_swigregister(user_labels_t) + +class user_cmts_t(object): + """ + Proxy of C++ std::map<(treeloc_t,citem_cmt_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def at(self, *args): + """ + at(self, _Keyval) -> citem_cmt_t + """ + return _idaapi.user_cmts_t_at(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.user_cmts_t_size(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> user_cmts_t + """ + this = _idaapi.new_user_cmts_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_user_cmts_t + __del__ = lambda self : None; +user_cmts_t_swigregister = _idaapi.user_cmts_t_swigregister +user_cmts_t_swigregister(user_cmts_t) + +class user_iflags_t(object): + """ + Proxy of C++ std::map<(citem_locator_t,int32)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def at(self, *args): + """ + at(self, _Keyval) -> int & + """ + return _idaapi.user_iflags_t_at(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.user_iflags_t_size(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> user_iflags_t + """ + this = _idaapi.new_user_iflags_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_user_iflags_t + __del__ = lambda self : None; +user_iflags_t_swigregister = _idaapi.user_iflags_t_swigregister +user_iflags_t_swigregister(user_iflags_t) + +class user_unions_t(object): + """ + Proxy of C++ std::map<(ea_t,intvec_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def at(self, *args): + """ + at(self, _Keyval) -> intvec_t + """ + return _idaapi.user_unions_t_at(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.user_unions_t_size(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> user_unions_t + """ + this = _idaapi.new_user_unions_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_user_unions_t + __del__ = lambda self : None; +user_unions_t_swigregister = _idaapi.user_unions_t_swigregister +user_unions_t_swigregister(user_unions_t) + +class cinsnptrvec_t(object): + """ + Proxy of C++ qvector<(p.cinsn_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> cinsnptrvec_t + __init__(self, x) -> cinsnptrvec_t + """ + this = _idaapi.new_cinsnptrvec_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_cinsnptrvec_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> cinsn_t *& + """ + return _idaapi.cinsnptrvec_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.cinsnptrvec_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.cinsnptrvec_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.cinsnptrvec_t_empty(self, *args) + + def front(self, *args): + """ + front(self) -> cinsn_t + front(self) -> cinsn_t *& + """ + return _idaapi.cinsnptrvec_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> cinsn_t + back(self) -> cinsn_t *& + """ + return _idaapi.cinsnptrvec_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.cinsnptrvec_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.cinsnptrvec_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.cinsnptrvec_t_resize(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.cinsnptrvec_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.cinsnptrvec_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.cinsnptrvec_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.cinsnptrvec_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> cinsn_t ** + """ + return _idaapi.cinsnptrvec_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.cinsnptrvec_t_inject(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.cinsnptrvec_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.cinsnptrvec_t___ne__(self, *args) + + def begin(self, *args): + """ + begin(self) -> qvector< cinsn_t * >::iterator + begin(self) -> qvector< cinsn_t * >::const_iterator + """ + return _idaapi.cinsnptrvec_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> qvector< cinsn_t * >::iterator + end(self) -> qvector< cinsn_t * >::const_iterator + """ + return _idaapi.cinsnptrvec_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> qvector< cinsn_t * >::iterator + """ + return _idaapi.cinsnptrvec_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> qvector< cinsn_t * >::iterator + erase(self, first, last) -> qvector< cinsn_t * >::iterator + """ + return _idaapi.cinsnptrvec_t_erase(self, *args) + + def find(self, *args): + """ + find(self, x) -> qvector< cinsn_t * >::iterator + find(self, x) -> qvector< cinsn_t * >::const_iterator + """ + return _idaapi.cinsnptrvec_t_find(self, *args) + + def has(self, *args): + """ + has(self, x) -> bool + """ + return _idaapi.cinsnptrvec_t_has(self, *args) + + def add_unique(self, *args): + """ + add_unique(self, x) -> bool + """ + return _idaapi.cinsnptrvec_t_add_unique(self, *args) + + def _del(self, *args): + """ + _del(self, x) -> bool + """ + return _idaapi.cinsnptrvec_t__del(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.cinsnptrvec_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> cinsn_t + """ + return _idaapi.cinsnptrvec_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.cinsnptrvec_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + + def at(self, *args): + """ + at(self, n) -> cinsn_t + """ + return _idaapi.cinsnptrvec_t_at(self, *args) + +cinsnptrvec_t_swigregister = _idaapi.cinsnptrvec_t_swigregister +cinsnptrvec_t_swigregister(cinsnptrvec_t) + +class eamap_t(object): + """ + Proxy of C++ std::map<(ea_t,cinsnptrvec_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def at(self, *args): + """ + at(self, _Keyval) -> cinsnptrvec_t + """ + return _idaapi.eamap_t_at(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.eamap_t_size(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> eamap_t + """ + this = _idaapi.new_eamap_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_eamap_t + __del__ = lambda self : None; +eamap_t_swigregister = _idaapi.eamap_t_swigregister +eamap_t_swigregister(eamap_t) + +class boundaries_t(object): + """ + Proxy of C++ std::map<(p.cinsn_t,areaset_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def at(self, *args): + """ + at(self, _Keyval) -> areaset_t + """ + return _idaapi.boundaries_t_at(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.boundaries_t_size(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> boundaries_t + """ + this = _idaapi.new_boundaries_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_boundaries_t + __del__ = lambda self : None; +boundaries_t_swigregister = _idaapi.boundaries_t_swigregister +boundaries_t_swigregister(boundaries_t) + +class cfuncptr_t(object): + """ + Proxy of C++ qrefcnt_t<(cfunc_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, p) -> cfuncptr_t + __init__(self, r) -> cfuncptr_t + """ + this = _idaapi.new_cfuncptr_t(*args) + try: self.this.append(this) + except: self.this = this + def reset(self, *args): + """ + reset(self) + """ + return _idaapi.cfuncptr_t_reset(self, *args) + + def __deref__(self, *args): + """ + __deref__(self) -> cfunc_t + """ + return _idaapi.cfuncptr_t___deref__(self, *args) + + def __ref__(self, *args): + """ + __ref__(self) -> cfunc_t + """ + return _idaapi.cfuncptr_t___ref__(self, *args) + + __swig_destroy__ = _idaapi.delete_cfuncptr_t + __del__ = lambda self : None; + entry_ea = _swig_property(_idaapi.cfuncptr_t_entry_ea_get, _idaapi.cfuncptr_t_entry_ea_set) + mba = _swig_property(_idaapi.cfuncptr_t_mba_get, _idaapi.cfuncptr_t_mba_set) + body = _swig_property(_idaapi.cfuncptr_t_body_get, _idaapi.cfuncptr_t_body_set) + argidx = _swig_property(_idaapi.cfuncptr_t_argidx_get) + maturity = _swig_property(_idaapi.cfuncptr_t_maturity_get, _idaapi.cfuncptr_t_maturity_set) + user_labels = _swig_property(_idaapi.cfuncptr_t_user_labels_get, _idaapi.cfuncptr_t_user_labels_set) + user_cmts = _swig_property(_idaapi.cfuncptr_t_user_cmts_get, _idaapi.cfuncptr_t_user_cmts_set) + numforms = _swig_property(_idaapi.cfuncptr_t_numforms_get, _idaapi.cfuncptr_t_numforms_set) + user_iflags = _swig_property(_idaapi.cfuncptr_t_user_iflags_get, _idaapi.cfuncptr_t_user_iflags_set) + user_unions = _swig_property(_idaapi.cfuncptr_t_user_unions_get, _idaapi.cfuncptr_t_user_unions_set) + refcnt = _swig_property(_idaapi.cfuncptr_t_refcnt_get, _idaapi.cfuncptr_t_refcnt_set) + statebits = _swig_property(_idaapi.cfuncptr_t_statebits_get, _idaapi.cfuncptr_t_statebits_set) + hdrlines = _swig_property(_idaapi.cfuncptr_t_hdrlines_get, _idaapi.cfuncptr_t_hdrlines_set) + treeitems = _swig_property(_idaapi.cfuncptr_t_treeitems_get, _idaapi.cfuncptr_t_treeitems_set) + def release(self, *args): + """ + release(self) + """ + return _idaapi.cfuncptr_t_release(self, *args) + + def build_c_tree(self, *args): + """ + build_c_tree(self) + """ + return _idaapi.cfuncptr_t_build_c_tree(self, *args) + + def verify(self, *args): + """ + verify(self, aul, even_without_debugger) + """ + return _idaapi.cfuncptr_t_verify(self, *args) + + def print_dcl(self, *args): + """ + print_dcl(self, buf, bufsize) -> size_t + """ + return _idaapi.cfuncptr_t_print_dcl(self, *args) + + def print_dcl2(self, *args): + """ + print_dcl2(self) -> size_t + """ + return _idaapi.cfuncptr_t_print_dcl2(self, *args) + + def print_func(self, *args): + """ + print_func(self, vp) + """ + return _idaapi.cfuncptr_t_print_func(self, *args) + + def get_func_type(self, *args): + """ + get_func_type(self, type) -> bool + """ + return _idaapi.cfuncptr_t_get_func_type(self, *args) + + def get_lvars(self, *args): + """ + get_lvars(self) -> lvars_t + """ + return _idaapi.cfuncptr_t_get_lvars(self, *args) + + def find_label(self, *args): + """ + find_label(self, label) -> citem_t + """ + return _idaapi.cfuncptr_t_find_label(self, *args) + + def remove_unused_labels(self, *args): + """ + remove_unused_labels(self) + """ + return _idaapi.cfuncptr_t_remove_unused_labels(self, *args) + + def get_user_cmt(self, *args): + """ + get_user_cmt(self, loc, rt) -> char const * + """ + return _idaapi.cfuncptr_t_get_user_cmt(self, *args) + + def set_user_cmt(self, *args): + """ + set_user_cmt(self, loc, cmt) + """ + return _idaapi.cfuncptr_t_set_user_cmt(self, *args) + + def get_user_iflags(self, *args): + """ + get_user_iflags(self, loc) -> int32 + """ + return _idaapi.cfuncptr_t_get_user_iflags(self, *args) + + def set_user_iflags(self, *args): + """ + set_user_iflags(self, loc, iflags) + """ + return _idaapi.cfuncptr_t_set_user_iflags(self, *args) + + def has_orphan_cmts(self, *args): + """ + has_orphan_cmts(self) -> bool + """ + return _idaapi.cfuncptr_t_has_orphan_cmts(self, *args) + + def del_orphan_cmts(self, *args): + """ + del_orphan_cmts(self) -> int + """ + return _idaapi.cfuncptr_t_del_orphan_cmts(self, *args) + + def get_user_union_selection(self, *args): + """ + get_user_union_selection(self, ea, path) -> bool + """ + return _idaapi.cfuncptr_t_get_user_union_selection(self, *args) + + def set_user_union_selection(self, *args): + """ + set_user_union_selection(self, ea, path) + """ + return _idaapi.cfuncptr_t_set_user_union_selection(self, *args) + + def save_user_labels(self, *args): + """ + save_user_labels(self) + """ + return _idaapi.cfuncptr_t_save_user_labels(self, *args) + + def save_user_cmts(self, *args): + """ + save_user_cmts(self) + """ + return _idaapi.cfuncptr_t_save_user_cmts(self, *args) + + def save_user_numforms(self, *args): + """ + save_user_numforms(self) + """ + return _idaapi.cfuncptr_t_save_user_numforms(self, *args) + + def save_user_iflags(self, *args): + """ + save_user_iflags(self) + """ + return _idaapi.cfuncptr_t_save_user_iflags(self, *args) + + def save_user_unions(self, *args): + """ + save_user_unions(self) + """ + return _idaapi.cfuncptr_t_save_user_unions(self, *args) + + def get_line_item(self, *args): + """ + get_line_item(self, line, x, is_ctree_line, phead, pitem, ptail) -> bool + """ + return _idaapi.cfuncptr_t_get_line_item(self, *args) + + def get_warnings(self, *args): + """ + get_warnings(self) -> hexwarns_t + """ + return _idaapi.cfuncptr_t_get_warnings(self, *args) + + def get_eamap(self, *args): + """ + get_eamap(self) -> eamap_t + """ + return _idaapi.cfuncptr_t_get_eamap(self, *args) + + def get_boundaries(self, *args): + """ + get_boundaries(self) -> boundaries_t + """ + return _idaapi.cfuncptr_t_get_boundaries(self, *args) + + def get_pseudocode(self, *args): + """ + get_pseudocode(self) -> strvec_t + """ + return _idaapi.cfuncptr_t_get_pseudocode(self, *args) + + def gather_derefs(self, *args): + """ + gather_derefs(self, ci, udm=None) -> bool + """ + return _idaapi.cfuncptr_t_gather_derefs(self, *args) + + def __str__(self, *args): + """ + __str__(self) -> qstring + """ + return _idaapi.cfuncptr_t___str__(self, *args) + +cfuncptr_t_swigregister = _idaapi.cfuncptr_t_swigregister +cfuncptr_t_swigregister(cfuncptr_t) + +class qvector_history_t(object): + """ + Proxy of C++ qvector<(history_item_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> qvector_history_t + __init__(self, x) -> qvector_history_t + """ + this = _idaapi.new_qvector_history_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_qvector_history_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> history_item_t + """ + return _idaapi.qvector_history_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.qvector_history_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.qvector_history_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.qvector_history_t_empty(self, *args) + + def at(self, *args): + """ + at(self, _idx) -> history_item_t + """ + return _idaapi.qvector_history_t_at(self, *args) + + def front(self, *args): + """ + front(self) -> history_item_t + front(self) -> history_item_t + """ + return _idaapi.qvector_history_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> history_item_t + back(self) -> history_item_t + """ + return _idaapi.qvector_history_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.qvector_history_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.qvector_history_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.qvector_history_t_resize(self, *args) + + def grow(self, *args): + """ + grow(self, x=history_item_t()) + """ + return _idaapi.qvector_history_t_grow(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.qvector_history_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.qvector_history_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.qvector_history_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.qvector_history_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> history_item_t + """ + return _idaapi.qvector_history_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.qvector_history_t_inject(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.qvector_history_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.qvector_history_t___ne__(self, *args) + + def begin(self, *args): + """ + begin(self) -> history_item_t + begin(self) -> history_item_t + """ + return _idaapi.qvector_history_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> history_item_t + end(self) -> history_item_t + """ + return _idaapi.qvector_history_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> history_item_t + """ + return _idaapi.qvector_history_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> history_item_t + erase(self, first, last) -> history_item_t + """ + return _idaapi.qvector_history_t_erase(self, *args) + + def find(self, *args): + """ + find(self, x) -> history_item_t + find(self, x) -> history_item_t + """ + return _idaapi.qvector_history_t_find(self, *args) + + def has(self, *args): + """ + has(self, x) -> bool + """ + return _idaapi.qvector_history_t_has(self, *args) + + def add_unique(self, *args): + """ + add_unique(self, x) -> bool + """ + return _idaapi.qvector_history_t_add_unique(self, *args) + + def _del(self, *args): + """ + _del(self, x) -> bool + """ + return _idaapi.qvector_history_t__del(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.qvector_history_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> history_item_t + """ + return _idaapi.qvector_history_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.qvector_history_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + +qvector_history_t_swigregister = _idaapi.qvector_history_t_swigregister +qvector_history_t_swigregister(qvector_history_t) + +class history_t(qvector_history_t): + """ + Proxy of C++ qstack<(history_item_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def pop(self, *args): + """ + pop(self) -> history_item_t + """ + return _idaapi.history_t_pop(self, *args) + + def top(self, *args): + """ + top(self) -> history_item_t + top(self) -> history_item_t + """ + return _idaapi.history_t_top(self, *args) + + def push(self, *args): + """ + push(self, v) + """ + return _idaapi.history_t_push(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> history_t + """ + this = _idaapi.new_history_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_history_t + __del__ = lambda self : None; +history_t_swigregister = _idaapi.history_t_swigregister +history_t_swigregister(history_t) + +class qlist_cinsn_t_iterator(object): + """ + Proxy of C++ qlist_cinsn_t_iterator class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + cur = _swig_property(_idaapi.qlist_cinsn_t_iterator_cur_get) + def next(self, *args): + """ + next(self) -> qlist_cinsn_t_iterator + """ + return _idaapi.qlist_cinsn_t_iterator_next(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> qlist_cinsn_t_iterator + """ + this = _idaapi.new_qlist_cinsn_t_iterator(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_qlist_cinsn_t_iterator + __del__ = lambda self : None; +qlist_cinsn_t_iterator_swigregister = _idaapi.qlist_cinsn_t_iterator_swigregister +qlist_cinsn_t_iterator_swigregister(qlist_cinsn_t_iterator) + +class qvector_lvar_t(object): + """ + Proxy of C++ qvector<(lvar_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> qvector_lvar_t + __init__(self, x) -> qvector_lvar_t + """ + this = _idaapi.new_qvector_lvar_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_qvector_lvar_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> lvar_t + """ + return _idaapi.qvector_lvar_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.qvector_lvar_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.qvector_lvar_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.qvector_lvar_t_empty(self, *args) + + def at(self, *args): + """ + at(self, _idx) -> lvar_t + """ + return _idaapi.qvector_lvar_t_at(self, *args) + + def front(self, *args): + """ + front(self) -> lvar_t + front(self) -> lvar_t + """ + return _idaapi.qvector_lvar_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> lvar_t + back(self) -> lvar_t + """ + return _idaapi.qvector_lvar_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.qvector_lvar_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.qvector_lvar_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.qvector_lvar_t_resize(self, *args) + + def grow(self, *args): + """ + grow(self, x=lvar_t()) + """ + return _idaapi.qvector_lvar_t_grow(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.qvector_lvar_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.qvector_lvar_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.qvector_lvar_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.qvector_lvar_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> lvar_t + """ + return _idaapi.qvector_lvar_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.qvector_lvar_t_inject(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.qvector_lvar_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.qvector_lvar_t___ne__(self, *args) + + def begin(self, *args): + """ + begin(self) -> lvar_t + begin(self) -> lvar_t + """ + return _idaapi.qvector_lvar_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> lvar_t + end(self) -> lvar_t + """ + return _idaapi.qvector_lvar_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> lvar_t + """ + return _idaapi.qvector_lvar_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> lvar_t + erase(self, first, last) -> lvar_t + """ + return _idaapi.qvector_lvar_t_erase(self, *args) + + def find(self, *args): + """ + find(self, x) -> lvar_t + find(self, x) -> lvar_t + """ + return _idaapi.qvector_lvar_t_find(self, *args) + + def has(self, *args): + """ + has(self, x) -> bool + """ + return _idaapi.qvector_lvar_t_has(self, *args) + + def add_unique(self, *args): + """ + add_unique(self, x) -> bool + """ + return _idaapi.qvector_lvar_t_add_unique(self, *args) + + def _del(self, *args): + """ + _del(self, x) -> bool + """ + return _idaapi.qvector_lvar_t__del(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.qvector_lvar_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> lvar_t + """ + return _idaapi.qvector_lvar_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.qvector_lvar_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + +qvector_lvar_t_swigregister = _idaapi.qvector_lvar_t_swigregister +qvector_lvar_t_swigregister(qvector_lvar_t) + +class qlist_cinsn_t(object): + """ + Proxy of C++ qlist<(cinsn_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> qlist_cinsn_t + __init__(self, x) -> qlist_cinsn_t + """ + this = _idaapi.new_qlist_cinsn_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_qlist_cinsn_t + __del__ = lambda self : None; + def swap(self, *args): + """ + swap(self, x) + """ + return _idaapi.qlist_cinsn_t_swap(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.qlist_cinsn_t_empty(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.qlist_cinsn_t_size(self, *args) + + def front(self, *args): + """ + front(self) -> cinsn_t + front(self) -> cinsn_t + """ + return _idaapi.qlist_cinsn_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> cinsn_t + back(self) -> cinsn_t + """ + return _idaapi.qlist_cinsn_t_back(self, *args) + + def rbegin(self, *args): + """ + rbegin(self) -> qlist< cinsn_t >::reverse_iterator + rbegin(self) -> qlist< cinsn_t >::const_reverse_iterator + """ + return _idaapi.qlist_cinsn_t_rbegin(self, *args) + + def rend(self, *args): + """ + rend(self) -> qlist< cinsn_t >::reverse_iterator + rend(self) -> qlist< cinsn_t >::const_reverse_iterator + """ + return _idaapi.qlist_cinsn_t_rend(self, *args) + + def push_front(self, *args): + """ + push_front(self, x) + """ + return _idaapi.qlist_cinsn_t_push_front(self, *args) + + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> cinsn_t + """ + return _idaapi.qlist_cinsn_t_push_back(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.qlist_cinsn_t_clear(self, *args) + + def pop_front(self, *args): + """ + pop_front(self) + """ + return _idaapi.qlist_cinsn_t_pop_front(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.qlist_cinsn_t_pop_back(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, x) -> bool + """ + return _idaapi.qlist_cinsn_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, x) -> bool + """ + return _idaapi.qlist_cinsn_t___ne__(self, *args) + + def begin(self, *args): + """ + begin(self) -> qlist_cinsn_t_iterator + """ + return _idaapi.qlist_cinsn_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> qlist_cinsn_t_iterator + """ + return _idaapi.qlist_cinsn_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, p, x) -> qlist< cinsn_t >::iterator + insert(self, p) -> cinsn_t + insert(self, p, x) -> qlist_cinsn_t_iterator + """ + return _idaapi.qlist_cinsn_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, p) + erase(self, p1, p2) + erase(self, p) + """ + return _idaapi.qlist_cinsn_t_erase(self, *args) + +qlist_cinsn_t_swigregister = _idaapi.qlist_cinsn_t_swigregister +qlist_cinsn_t_swigregister(qlist_cinsn_t) + +class qvector_carg_t(object): + """ + Proxy of C++ qvector<(carg_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> qvector_carg_t + __init__(self, x) -> qvector_carg_t + """ + this = _idaapi.new_qvector_carg_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_qvector_carg_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> carg_t + """ + return _idaapi.qvector_carg_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.qvector_carg_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.qvector_carg_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.qvector_carg_t_empty(self, *args) + + def at(self, *args): + """ + at(self, _idx) -> carg_t + """ + return _idaapi.qvector_carg_t_at(self, *args) + + def front(self, *args): + """ + front(self) -> carg_t + front(self) -> carg_t + """ + return _idaapi.qvector_carg_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> carg_t + back(self) -> carg_t + """ + return _idaapi.qvector_carg_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.qvector_carg_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.qvector_carg_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.qvector_carg_t_resize(self, *args) + + def grow(self, *args): + """ + grow(self, x=carg_t()) + """ + return _idaapi.qvector_carg_t_grow(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.qvector_carg_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.qvector_carg_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.qvector_carg_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.qvector_carg_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> carg_t + """ + return _idaapi.qvector_carg_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.qvector_carg_t_inject(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.qvector_carg_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.qvector_carg_t___ne__(self, *args) + + def begin(self, *args): + """ + begin(self) -> carg_t + begin(self) -> carg_t + """ + return _idaapi.qvector_carg_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> carg_t + end(self) -> carg_t + """ + return _idaapi.qvector_carg_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> carg_t + """ + return _idaapi.qvector_carg_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> carg_t + erase(self, first, last) -> carg_t + """ + return _idaapi.qvector_carg_t_erase(self, *args) + + def find(self, *args): + """ + find(self, x) -> carg_t + find(self, x) -> carg_t + """ + return _idaapi.qvector_carg_t_find(self, *args) + + def has(self, *args): + """ + has(self, x) -> bool + """ + return _idaapi.qvector_carg_t_has(self, *args) + + def add_unique(self, *args): + """ + add_unique(self, x) -> bool + """ + return _idaapi.qvector_carg_t_add_unique(self, *args) + + def _del(self, *args): + """ + _del(self, x) -> bool + """ + return _idaapi.qvector_carg_t__del(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.qvector_carg_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> carg_t + """ + return _idaapi.qvector_carg_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.qvector_carg_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + +qvector_carg_t_swigregister = _idaapi.qvector_carg_t_swigregister +qvector_carg_t_swigregister(qvector_carg_t) + +class qvector_ccase_t(object): + """ + Proxy of C++ qvector<(ccase_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> qvector_ccase_t + __init__(self, x) -> qvector_ccase_t + """ + this = _idaapi.new_qvector_ccase_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_qvector_ccase_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> ccase_t + """ + return _idaapi.qvector_ccase_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.qvector_ccase_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.qvector_ccase_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.qvector_ccase_t_empty(self, *args) + + def at(self, *args): + """ + at(self, _idx) -> ccase_t + """ + return _idaapi.qvector_ccase_t_at(self, *args) + + def front(self, *args): + """ + front(self) -> ccase_t + front(self) -> ccase_t + """ + return _idaapi.qvector_ccase_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> ccase_t + back(self) -> ccase_t + """ + return _idaapi.qvector_ccase_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.qvector_ccase_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.qvector_ccase_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.qvector_ccase_t_resize(self, *args) + + def grow(self, *args): + """ + grow(self, x=ccase_t()) + """ + return _idaapi.qvector_ccase_t_grow(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.qvector_ccase_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.qvector_ccase_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.qvector_ccase_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.qvector_ccase_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> ccase_t + """ + return _idaapi.qvector_ccase_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.qvector_ccase_t_inject(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.qvector_ccase_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.qvector_ccase_t___ne__(self, *args) + + def begin(self, *args): + """ + begin(self) -> ccase_t + begin(self) -> ccase_t + """ + return _idaapi.qvector_ccase_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> ccase_t + end(self) -> ccase_t + """ + return _idaapi.qvector_ccase_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> ccase_t + """ + return _idaapi.qvector_ccase_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> ccase_t + erase(self, first, last) -> ccase_t + """ + return _idaapi.qvector_ccase_t_erase(self, *args) + + def find(self, *args): + """ + find(self, x) -> ccase_t + find(self, x) -> ccase_t + """ + return _idaapi.qvector_ccase_t_find(self, *args) + + def has(self, *args): + """ + has(self, x) -> bool + """ + return _idaapi.qvector_ccase_t_has(self, *args) + + def add_unique(self, *args): + """ + add_unique(self, x) -> bool + """ + return _idaapi.qvector_ccase_t_add_unique(self, *args) + + def _del(self, *args): + """ + _del(self, x) -> bool + """ + return _idaapi.qvector_ccase_t__del(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.qvector_ccase_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> ccase_t + """ + return _idaapi.qvector_ccase_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.qvector_ccase_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + +qvector_ccase_t_swigregister = _idaapi.qvector_ccase_t_swigregister +qvector_ccase_t_swigregister(qvector_ccase_t) + + +def qswap(*args): + """ + qswap(a, b) + """ + return _idaapi.qswap(*args) + +def init_hexrays_plugin(*args): + """ + init_hexrays_plugin(flags=0) -> bool + """ + return _idaapi.init_hexrays_plugin(*args) + +def add_custom_viewer_popup_item(*args): + """ + add_custom_viewer_popup_item(custom_viewer, title, hotkey, custom_viewer_popup_item_callback) + """ + return _idaapi.add_custom_viewer_popup_item(*args) + +def install_hexrays_callback(*args): + """ + install_hexrays_callback(hx_cblist_callback) -> bool + """ + return _idaapi.install_hexrays_callback(*args) + +def remove_hexrays_callback(*args): + """ + remove_hexrays_callback(hx_cblist_callback) -> int + """ + return _idaapi.remove_hexrays_callback(*args) + +def _decompile(*args): + """ + _decompile(pfn, hf) -> cfuncptr_t + """ + return _idaapi._decompile(*args) +class operand_locator_t(object): + """ + Proxy of C++ operand_locator_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ea = _swig_property(_idaapi.operand_locator_t_ea_get, _idaapi.operand_locator_t_ea_set) + opnum = _swig_property(_idaapi.operand_locator_t_opnum_get, _idaapi.operand_locator_t_opnum_set) + def __init__(self, *args): + """ + __init__(self) -> operand_locator_t + __init__(self, _ea, _opnum) -> operand_locator_t + """ + this = _idaapi.new_operand_locator_t(*args) + try: self.this.append(this) + except: self.this = this + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.operand_locator_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.operand_locator_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.operand_locator_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.operand_locator_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.operand_locator_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.operand_locator_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.operand_locator_t_compare(self, *args) + + __swig_destroy__ = _idaapi.delete_operand_locator_t + __del__ = lambda self : None; +operand_locator_t_swigregister = _idaapi.operand_locator_t_swigregister +operand_locator_t_swigregister(operand_locator_t) + +class number_format_t(object): + """ + Proxy of C++ number_format_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + flags = _swig_property(_idaapi.number_format_t_flags_get, _idaapi.number_format_t_flags_set) + opnum = _swig_property(_idaapi.number_format_t_opnum_get, _idaapi.number_format_t_opnum_set) + props = _swig_property(_idaapi.number_format_t_props_get, _idaapi.number_format_t_props_set) + serial = _swig_property(_idaapi.number_format_t_serial_get, _idaapi.number_format_t_serial_set) + org_nbytes = _swig_property(_idaapi.number_format_t_org_nbytes_get, _idaapi.number_format_t_org_nbytes_set) + type_name = _swig_property(_idaapi.number_format_t_type_name_get, _idaapi.number_format_t_type_name_set) + def __init__(self, *args): + """ + __init__(self, _opnum=0) -> number_format_t + """ + this = _idaapi.new_number_format_t(*args) + try: self.this.append(this) + except: self.this = this + def getRadix(self, *args): + """ + getRadix(self) -> int + """ + return _idaapi.number_format_t_getRadix(self, *args) + + def is_fixed(self, *args): + """ + is_fixed(self) -> bool + """ + return _idaapi.number_format_t_is_fixed(self, *args) + + def isHex(self, *args): + """ + isHex(self) -> bool + """ + return _idaapi.number_format_t_isHex(self, *args) + + def isDec(self, *args): + """ + isDec(self) -> bool + """ + return _idaapi.number_format_t_isDec(self, *args) + + def isOct(self, *args): + """ + isOct(self) -> bool + """ + return _idaapi.number_format_t_isOct(self, *args) + + def isEnum(self, *args): + """ + isEnum(self) -> bool + """ + return _idaapi.number_format_t_isEnum(self, *args) + + def isChar(self, *args): + """ + isChar(self) -> bool + """ + return _idaapi.number_format_t_isChar(self, *args) + + def isStroff(self, *args): + """ + isStroff(self) -> bool + """ + return _idaapi.number_format_t_isStroff(self, *args) + + def isNum(self, *args): + """ + isNum(self) -> bool + """ + return _idaapi.number_format_t_isNum(self, *args) + + def needs_to_be_inverted(self, *args): + """ + needs_to_be_inverted(self) -> bool + """ + return _idaapi.number_format_t_needs_to_be_inverted(self, *args) + + __swig_destroy__ = _idaapi.delete_number_format_t + __del__ = lambda self : None; +number_format_t_swigregister = _idaapi.number_format_t_swigregister +number_format_t_swigregister(number_format_t) +NF_FIXED = _idaapi.NF_FIXED +NF_NEGDONE = _idaapi.NF_NEGDONE +NF_BINVDONE = _idaapi.NF_BINVDONE +NF_NEGATE = _idaapi.NF_NEGATE +NF_BITNOT = _idaapi.NF_BITNOT + +class vd_printer_t(object): + """ + Proxy of C++ vd_printer_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + hdrlines = _swig_property(_idaapi.vd_printer_t_hdrlines_get, _idaapi.vd_printer_t_hdrlines_set) + def _print(self, *args): + """ + _print(self, indent, format) -> int + """ + return _idaapi.vd_printer_t__print(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> vd_printer_t + """ + this = _idaapi.new_vd_printer_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_vd_printer_t + __del__ = lambda self : None; +vd_printer_t_swigregister = _idaapi.vd_printer_t_swigregister +vd_printer_t_swigregister(vd_printer_t) + +class vc_printer_t(vd_printer_t): + """ + Proxy of C++ vc_printer_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + func = _swig_property(_idaapi.vc_printer_t_func_get, _idaapi.vc_printer_t_func_set) + lastchar = _swig_property(_idaapi.vc_printer_t_lastchar_get, _idaapi.vc_printer_t_lastchar_set) + def __init__(self, *args): + """ + __init__(self, f) -> vc_printer_t + """ + this = _idaapi.new_vc_printer_t(*args) + try: self.this.append(this) + except: self.this = this + def oneliner(self, *args): + """ + oneliner(self) -> bool + """ + return _idaapi.vc_printer_t_oneliner(self, *args) + + __swig_destroy__ = _idaapi.delete_vc_printer_t + __del__ = lambda self : None; +vc_printer_t_swigregister = _idaapi.vc_printer_t_swigregister +vc_printer_t_swigregister(vc_printer_t) + +class qstring_printer_t(vc_printer_t): + """ + Proxy of C++ qstring_printer_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + with_tags = _swig_property(_idaapi.qstring_printer_t_with_tags_get, _idaapi.qstring_printer_t_with_tags_set) + s = _swig_property(_idaapi.qstring_printer_t_s_get, _idaapi.qstring_printer_t_s_set) + def _print(self, *args): + """ + _print(self, indent, format) -> int + """ + return _idaapi.qstring_printer_t__print(self, *args) + + def __init__(self, *args): + """ + __init__(self, f, tags) -> qstring_printer_t + """ + this = _idaapi.new_qstring_printer_t(*args) + try: self.this.append(this) + except: self.this = this + def get_s(self, *args): + """ + get_s(self) -> qstring + """ + return _idaapi.qstring_printer_t_get_s(self, *args) + + s = property(lambda self: self.get_s()) + +qstring_printer_t_swigregister = _idaapi.qstring_printer_t_swigregister +qstring_printer_t_swigregister(qstring_printer_t) + + +def is_type_correct(*args): + """ + is_type_correct(ptr) -> bool + """ + return _idaapi.is_type_correct(*args) + +def is_small_struni(*args): + """ + is_small_struni(tif) -> bool + """ + return _idaapi.is_small_struni(*args) + +def is_nonbool_type(*args): + """ + is_nonbool_type(type) -> bool + """ + return _idaapi.is_nonbool_type(*args) + +def is_bool_type(*args): + """ + is_bool_type(type) -> bool + """ + return _idaapi.is_bool_type(*args) + +def is_ptr_or_array(*args): + """ + is_ptr_or_array(t) -> bool + """ + return _idaapi.is_ptr_or_array(*args) + +def is_paf(*args): + """ + is_paf(t) -> bool + """ + return _idaapi.is_paf(*args) + +def partial_type_num(*args): + """ + partial_type_num(type) -> int + """ + return _idaapi.partial_type_num(*args) + +def get_float_type(*args): + """ + get_float_type(width) -> tinfo_t + """ + return _idaapi.get_float_type(*args) + +def get_int_type_by_width_and_sign(*args): + """ + get_int_type_by_width_and_sign(srcwidth, sign) -> tinfo_t + """ + return _idaapi.get_int_type_by_width_and_sign(*args) + +def get_unk_type(*args): + """ + get_unk_type(size) -> tinfo_t + """ + return _idaapi.get_unk_type(*args) + +def dummy_ptrtype(*args): + """ + dummy_ptrtype(ptrsize, isfp) -> tinfo_t + """ + return _idaapi.dummy_ptrtype(*args) + +def get_member_type(*args): + """ + get_member_type(mptr, type) -> bool + """ + return _idaapi.get_member_type(*args) + +def make_pointer(*args): + """ + make_pointer(type) -> tinfo_t + """ + return _idaapi.make_pointer(*args) + +def create_typedef(*args): + """ + create_typedef(name) -> tinfo_t + create_typedef(n) -> tinfo_t + """ + return _idaapi.create_typedef(*args) +GUESSED_NONE = _idaapi.GUESSED_NONE +GUESSED_WEAK = _idaapi.GUESSED_WEAK +GUESSED_FUNC = _idaapi.GUESSED_FUNC +GUESSED_DATA = _idaapi.GUESSED_DATA +TS_NOELL = _idaapi.TS_NOELL +TS_SHRINK = _idaapi.TS_SHRINK +TS_MASK = _idaapi.TS_MASK + +def compare_typsrc(*args): + """ + compare_typsrc(s1, s2) -> int + """ + return _idaapi.compare_typsrc(*args) + +def get_type(*args): + """ + get_type(id, tif, guess) -> bool + """ + return _idaapi.get_type(*args) + +def set_type(*args): + """ + set_type(id, tif, source, force=False) -> bool + """ + return _idaapi.set_type(*args) +class vdloc_t(argloc_t): + """ + Proxy of C++ vdloc_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def reg1(self, *args): + """ + reg1(self) -> int + """ + return _idaapi.vdloc_t_reg1(self, *args) + + def _set_reg1(self, *args): + """ + _set_reg1(self, r1) + """ + return _idaapi.vdloc_t__set_reg1(self, *args) + + def set_reg1(self, *args): + """ + set_reg1(self, r1) + """ + return _idaapi.vdloc_t_set_reg1(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> vdloc_t + """ + this = _idaapi.new_vdloc_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_vdloc_t + __del__ = lambda self : None; +vdloc_t_swigregister = _idaapi.vdloc_t_swigregister +vdloc_t_swigregister(vdloc_t) + + +def print_vdloc(*args): + """ + print_vdloc(loc, w) -> size_t + """ + return _idaapi.print_vdloc(*args) + +def arglocs_overlap(*args): + """ + arglocs_overlap(loc1, w1, loc2, w2) -> bool + """ + return _idaapi.arglocs_overlap(*args) +class lvar_locator_t(object): + """ + Proxy of C++ lvar_locator_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + location = _swig_property(_idaapi.lvar_locator_t_location_get, _idaapi.lvar_locator_t_location_set) + defea = _swig_property(_idaapi.lvar_locator_t_defea_get, _idaapi.lvar_locator_t_defea_set) + def __init__(self, *args): + """ + __init__(self) -> lvar_locator_t + __init__(self, loc, ea) -> lvar_locator_t + """ + this = _idaapi.new_lvar_locator_t(*args) + try: self.this.append(this) + except: self.this = this + def get_regnum(self, *args): + """ + get_regnum(self) -> sval_t + """ + return _idaapi.lvar_locator_t_get_regnum(self, *args) + + def is_reg1(self, *args): + """ + is_reg1(self) -> bool + """ + return _idaapi.lvar_locator_t_is_reg1(self, *args) + + def is_reg2(self, *args): + """ + is_reg2(self) -> bool + """ + return _idaapi.lvar_locator_t_is_reg2(self, *args) + + def is_reg_var(self, *args): + """ + is_reg_var(self) -> bool + """ + return _idaapi.lvar_locator_t_is_reg_var(self, *args) + + def is_stk_var(self, *args): + """ + is_stk_var(self) -> bool + """ + return _idaapi.lvar_locator_t_is_stk_var(self, *args) + + def is_scattered(self, *args): + """ + is_scattered(self) -> bool + """ + return _idaapi.lvar_locator_t_is_scattered(self, *args) + + def get_reg1(self, *args): + """ + get_reg1(self) -> mreg_t + """ + return _idaapi.lvar_locator_t_get_reg1(self, *args) + + def get_reg2(self, *args): + """ + get_reg2(self) -> mreg_t + """ + return _idaapi.lvar_locator_t_get_reg2(self, *args) + + def get_scattered(self, *args): + """ + get_scattered(self) -> scattered_aloc_t + get_scattered(self) -> scattered_aloc_t + """ + return _idaapi.lvar_locator_t_get_scattered(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.lvar_locator_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.lvar_locator_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.lvar_locator_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.lvar_locator_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.lvar_locator_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.lvar_locator_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.lvar_locator_t_compare(self, *args) + + __swig_destroy__ = _idaapi.delete_lvar_locator_t + __del__ = lambda self : None; +lvar_locator_t_swigregister = _idaapi.lvar_locator_t_swigregister +lvar_locator_t_swigregister(lvar_locator_t) + +class lvar_t(lvar_locator_t): + """ + Proxy of C++ lvar_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") + __repr__ = _swig_repr + name = _swig_property(_idaapi.lvar_t_name_get, _idaapi.lvar_t_name_set) + cmt = _swig_property(_idaapi.lvar_t_cmt_get, _idaapi.lvar_t_cmt_set) + tif = _swig_property(_idaapi.lvar_t_tif_get, _idaapi.lvar_t_tif_set) + width = _swig_property(_idaapi.lvar_t_width_get, _idaapi.lvar_t_width_set) + defblk = _swig_property(_idaapi.lvar_t_defblk_get, _idaapi.lvar_t_defblk_set) + divisor = _swig_property(_idaapi.lvar_t_divisor_get, _idaapi.lvar_t_divisor_set) + def used(self, *args): + """ + used(self) -> bool + """ + return _idaapi.lvar_t_used(self, *args) + + def typed(self, *args): + """ + typed(self) -> bool + """ + return _idaapi.lvar_t_typed(self, *args) + + def mreg_done(self, *args): + """ + mreg_done(self) -> bool + """ + return _idaapi.lvar_t_mreg_done(self, *args) + + def has_nice_name(self, *args): + """ + has_nice_name(self) -> bool + """ + return _idaapi.lvar_t_has_nice_name(self, *args) + + def is_unknown_width(self, *args): + """ + is_unknown_width(self) -> bool + """ + return _idaapi.lvar_t_is_unknown_width(self, *args) + + def has_user_info(self, *args): + """ + has_user_info(self) -> bool + """ + return _idaapi.lvar_t_has_user_info(self, *args) + + def has_user_name(self, *args): + """ + has_user_name(self) -> bool + """ + return _idaapi.lvar_t_has_user_name(self, *args) + + def has_user_type(self, *args): + """ + has_user_type(self) -> bool + """ + return _idaapi.lvar_t_has_user_type(self, *args) + + def is_result_var(self, *args): + """ + is_result_var(self) -> bool + """ + return _idaapi.lvar_t_is_result_var(self, *args) + + def is_arg_var(self, *args): + """ + is_arg_var(self) -> bool + """ + return _idaapi.lvar_t_is_arg_var(self, *args) + + def is_fake_var(self, *args): + """ + is_fake_var(self) -> bool + """ + return _idaapi.lvar_t_is_fake_var(self, *args) + + def is_overlapped_var(self, *args): + """ + is_overlapped_var(self) -> bool + """ + return _idaapi.lvar_t_is_overlapped_var(self, *args) + + def is_floating_var(self, *args): + """ + is_floating_var(self) -> bool + """ + return _idaapi.lvar_t_is_floating_var(self, *args) + + def is_spoiled_var(self, *args): + """ + is_spoiled_var(self) -> bool + """ + return _idaapi.lvar_t_is_spoiled_var(self, *args) + + def is_mapdst_var(self, *args): + """ + is_mapdst_var(self) -> bool + """ + return _idaapi.lvar_t_is_mapdst_var(self, *args) + + def set_used(self, *args): + """ + set_used(self) + """ + return _idaapi.lvar_t_set_used(self, *args) + + def clear_used(self, *args): + """ + clear_used(self) + """ + return _idaapi.lvar_t_clear_used(self, *args) + + def set_typed(self, *args): + """ + set_typed(self) + """ + return _idaapi.lvar_t_set_typed(self, *args) + + def set_non_typed(self, *args): + """ + set_non_typed(self) + """ + return _idaapi.lvar_t_set_non_typed(self, *args) + + def clr_user_info(self, *args): + """ + clr_user_info(self) + """ + return _idaapi.lvar_t_clr_user_info(self, *args) + + def set_user_name(self, *args): + """ + set_user_name(self) + """ + return _idaapi.lvar_t_set_user_name(self, *args) + + def set_user_type(self, *args): + """ + set_user_type(self) + """ + return _idaapi.lvar_t_set_user_type(self, *args) + + def clr_user_type(self, *args): + """ + clr_user_type(self) + """ + return _idaapi.lvar_t_clr_user_type(self, *args) + + def clr_user_name(self, *args): + """ + clr_user_name(self) + """ + return _idaapi.lvar_t_clr_user_name(self, *args) + + def set_mreg_done(self, *args): + """ + set_mreg_done(self) + """ + return _idaapi.lvar_t_set_mreg_done(self, *args) + + def clr_mreg_done(self, *args): + """ + clr_mreg_done(self) + """ + return _idaapi.lvar_t_clr_mreg_done(self, *args) + + def set_unknown_width(self, *args): + """ + set_unknown_width(self) + """ + return _idaapi.lvar_t_set_unknown_width(self, *args) + + def clr_unknown_width(self, *args): + """ + clr_unknown_width(self) + """ + return _idaapi.lvar_t_clr_unknown_width(self, *args) + + def set_arg_var(self, *args): + """ + set_arg_var(self) + """ + return _idaapi.lvar_t_set_arg_var(self, *args) + + def clr_arg_var(self, *args): + """ + clr_arg_var(self) + """ + return _idaapi.lvar_t_clr_arg_var(self, *args) + + def set_fake_var(self, *args): + """ + set_fake_var(self) + """ + return _idaapi.lvar_t_set_fake_var(self, *args) + + def clr_fake_var(self, *args): + """ + clr_fake_var(self) + """ + return _idaapi.lvar_t_clr_fake_var(self, *args) + + def set_overlapped_var(self, *args): + """ + set_overlapped_var(self) + """ + return _idaapi.lvar_t_set_overlapped_var(self, *args) + + def clr_overlapped_var(self, *args): + """ + clr_overlapped_var(self) + """ + return _idaapi.lvar_t_clr_overlapped_var(self, *args) + + def set_floating_var(self, *args): + """ + set_floating_var(self) + """ + return _idaapi.lvar_t_set_floating_var(self, *args) + + def clr_floating_var(self, *args): + """ + clr_floating_var(self) + """ + return _idaapi.lvar_t_clr_floating_var(self, *args) + + def set_spoiled_var(self, *args): + """ + set_spoiled_var(self) + """ + return _idaapi.lvar_t_set_spoiled_var(self, *args) + + def clr_spoiled_var(self, *args): + """ + clr_spoiled_var(self) + """ + return _idaapi.lvar_t_clr_spoiled_var(self, *args) + + def set_mapdst_var(self, *args): + """ + set_mapdst_var(self) + """ + return _idaapi.lvar_t_set_mapdst_var(self, *args) + + def clr_mapdst_var(self, *args): + """ + clr_mapdst_var(self) + """ + return _idaapi.lvar_t_clr_mapdst_var(self, *args) + + def set_reg_name(self, *args): + """ + set_reg_name(self, n) + """ + return _idaapi.lvar_t_set_reg_name(self, *args) + + def has_common(self, *args): + """ + has_common(self, v) -> bool + """ + return _idaapi.lvar_t_has_common(self, *args) + + def has_common_bit(self, *args): + """ + has_common_bit(self, loc, width2) -> bool + """ + return _idaapi.lvar_t_has_common_bit(self, *args) + + def type(self, *args): + """ + type(self) -> tinfo_t + type(self) -> tinfo_t + """ + return _idaapi.lvar_t_type(self, *args) + + def accepts_type(self, *args): + """ + accepts_type(self, t) -> bool + """ + return _idaapi.lvar_t_accepts_type(self, *args) + + def force_lvar_type(self, *args): + """ + force_lvar_type(self, t) + """ + return _idaapi.lvar_t_force_lvar_type(self, *args) + + def set_lvar_type(self, *args): + """ + set_lvar_type(self, t) + """ + return _idaapi.lvar_t_set_lvar_type(self, *args) + + def set_final_lvar_type(self, *args): + """ + set_final_lvar_type(self, t) + """ + return _idaapi.lvar_t_set_final_lvar_type(self, *args) + + def set_width(self, *args): + """ + set_width(self, w, is_float=False) + """ + return _idaapi.lvar_t_set_width(self, *args) + + __swig_destroy__ = _idaapi.delete_lvar_t + __del__ = lambda self : None; +lvar_t_swigregister = _idaapi.lvar_t_swigregister +lvar_t_swigregister(lvar_t) + +class lvars_t(qvector_lvar_t): + """ + Proxy of C++ lvars_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def find_input_lvar(self, *args): + """ + find_input_lvar(self, argloc, _size) -> int + """ + return _idaapi.lvars_t_find_input_lvar(self, *args) + + def find_stkvar(self, *args): + """ + find_stkvar(self, spoff, width) -> int + """ + return _idaapi.lvars_t_find_stkvar(self, *args) + + def find(self, *args): + """ + find(self, ll) -> lvar_t + """ + return _idaapi.lvars_t_find(self, *args) + + def find_lvar(self, *args): + """ + find_lvar(self, location, width, defblk=-1) -> int + """ + return _idaapi.lvars_t_find_lvar(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> lvars_t + """ + this = _idaapi.new_lvars_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_lvars_t + __del__ = lambda self : None; +lvars_t_swigregister = _idaapi.lvars_t_swigregister +lvars_t_swigregister(lvars_t) + +class lvar_saved_info_t(object): + """ + Proxy of C++ lvar_saved_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ll = _swig_property(_idaapi.lvar_saved_info_t_ll_get, _idaapi.lvar_saved_info_t_ll_set) + name = _swig_property(_idaapi.lvar_saved_info_t_name_get, _idaapi.lvar_saved_info_t_name_set) + type = _swig_property(_idaapi.lvar_saved_info_t_type_get, _idaapi.lvar_saved_info_t_type_set) + cmt = _swig_property(_idaapi.lvar_saved_info_t_cmt_get, _idaapi.lvar_saved_info_t_cmt_set) + def has_info(self, *args): + """ + has_info(self) -> bool + """ + return _idaapi.lvar_saved_info_t_has_info(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> lvar_saved_info_t + """ + this = _idaapi.new_lvar_saved_info_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_lvar_saved_info_t + __del__ = lambda self : None; +lvar_saved_info_t_swigregister = _idaapi.lvar_saved_info_t_swigregister +lvar_saved_info_t_swigregister(lvar_saved_info_t) + +class user_lvar_visitor_t(object): + """ + Proxy of C++ user_lvar_visitor_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + stkoff_delta = _swig_property(_idaapi.user_lvar_visitor_t_stkoff_delta_get, _idaapi.user_lvar_visitor_t_stkoff_delta_set) + flags = _swig_property(_idaapi.user_lvar_visitor_t_flags_get, _idaapi.user_lvar_visitor_t_flags_set) + def __init__(self, *args): + """ + __init__(self) -> user_lvar_visitor_t + """ + if self.__class__ == user_lvar_visitor_t: + _self = None + else: + _self = self + this = _idaapi.new_user_lvar_visitor_t(_self, *args) + try: self.this.append(this) + except: self.this = this + def handle_retrieved_info(self, *args): + """ + handle_retrieved_info(self, lv) -> int + """ + return _idaapi.user_lvar_visitor_t_handle_retrieved_info(self, *args) + + def handle_retrieved_mapping(self, *args): + """ + handle_retrieved_mapping(self, lm) -> int + """ + return _idaapi.user_lvar_visitor_t_handle_retrieved_mapping(self, *args) + + def get_info_qty_for_saving(self, *args): + """ + get_info_qty_for_saving(self) -> int + """ + return _idaapi.user_lvar_visitor_t_get_info_qty_for_saving(self, *args) + + def get_info_for_saving(self, *args): + """ + get_info_for_saving(self, lv) -> bool + """ + return _idaapi.user_lvar_visitor_t_get_info_for_saving(self, *args) + + def get_info_mapping_for_saving(self, *args): + """ + get_info_mapping_for_saving(self) -> lvar_mapping_t + """ + return _idaapi.user_lvar_visitor_t_get_info_mapping_for_saving(self, *args) + + __swig_destroy__ = _idaapi.delete_user_lvar_visitor_t + __del__ = lambda self : None; + def __disown__(self): + self.this.disown() + _idaapi.disown_user_lvar_visitor_t(self) + return weakref_proxy(self) +user_lvar_visitor_t_swigregister = _idaapi.user_lvar_visitor_t_swigregister +user_lvar_visitor_t_swigregister(user_lvar_visitor_t) +ULV_PRECISE_DEFEA = _idaapi.ULV_PRECISE_DEFEA + + +def restore_user_lvar_settings(*args): + """ + restore_user_lvar_settings(func_ea, ulv) -> int + """ + return _idaapi.restore_user_lvar_settings(*args) + +def save_user_lvar_settings(*args): + """ + save_user_lvar_settings(func_ea, ulv) + """ + return _idaapi.save_user_lvar_settings(*args) +class fnumber_t(object): + """ + Proxy of C++ fnumber_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + fnum = _swig_property(_idaapi.fnumber_t_fnum_get, _idaapi.fnumber_t_fnum_set) + nbytes = _swig_property(_idaapi.fnumber_t_nbytes_get, _idaapi.fnumber_t_nbytes_set) + def dereference_uint16(self, *args): + """ + dereference_uint16(self) -> uint16 * + """ + return _idaapi.fnumber_t_dereference_uint16(self, *args) + + def dereference_const_uint16(self, *args): + """ + dereference_const_uint16(self) -> uint16 const * + """ + return _idaapi.fnumber_t_dereference_const_uint16(self, *args) + + def _print(self, *args): + """ + _print(self) -> size_t + """ + return _idaapi.fnumber_t__print(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.fnumber_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.fnumber_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.fnumber_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.fnumber_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.fnumber_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.fnumber_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.fnumber_t_compare(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> fnumber_t + """ + this = _idaapi.new_fnumber_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_fnumber_t + __del__ = lambda self : None; +fnumber_t_swigregister = _idaapi.fnumber_t_swigregister +fnumber_t_swigregister(fnumber_t) + +WARN_VARARG_REGS = _idaapi.WARN_VARARG_REGS +WARN_ILL_PURGED = _idaapi.WARN_ILL_PURGED +WARN_ILL_FUNCTYPE = _idaapi.WARN_ILL_FUNCTYPE +WARN_VARARG_TCAL = _idaapi.WARN_VARARG_TCAL +WARN_VARARG_NOSTK = _idaapi.WARN_VARARG_NOSTK +WARN_VARARG_MANY = _idaapi.WARN_VARARG_MANY +WARN_ADDR_OUTARGS = _idaapi.WARN_ADDR_OUTARGS +WARN_DEP_UNK_CALLS = _idaapi.WARN_DEP_UNK_CALLS +WARN_ILL_ELLIPSIS = _idaapi.WARN_ILL_ELLIPSIS +WARN_GUESSED_TYPE = _idaapi.WARN_GUESSED_TYPE +WARN_EXP_LINVAR = _idaapi.WARN_EXP_LINVAR +WARN_WIDEN_CHAINS = _idaapi.WARN_WIDEN_CHAINS +WARN_BAD_PURGED = _idaapi.WARN_BAD_PURGED +WARN_CBUILD_LOOPS = _idaapi.WARN_CBUILD_LOOPS +WARN_NO_SAVE_REST = _idaapi.WARN_NO_SAVE_REST +WARN_ODD_INPUT_REG = _idaapi.WARN_ODD_INPUT_REG +WARN_ODD_ADDR_USE = _idaapi.WARN_ODD_ADDR_USE +WARN_MUST_RET_FP = _idaapi.WARN_MUST_RET_FP +WARN_ILL_FPU_STACK = _idaapi.WARN_ILL_FPU_STACK +WARN_SELFREF_PROP = _idaapi.WARN_SELFREF_PROP +WARN_WOULD_OVERLAP = _idaapi.WARN_WOULD_OVERLAP +WARN_ARRAY_INARG = _idaapi.WARN_ARRAY_INARG +WARN_MAX_ARGS = _idaapi.WARN_MAX_ARGS +WARN_BAD_FIELD_TYPE = _idaapi.WARN_BAD_FIELD_TYPE +WARN_WRITE_CONST = _idaapi.WARN_WRITE_CONST +WARN_BAD_RETVAR = _idaapi.WARN_BAD_RETVAR +WARN_FRAG_LVAR = _idaapi.WARN_FRAG_LVAR +WARN_HUGE_STKOFF = _idaapi.WARN_HUGE_STKOFF +WARN_UNINITED_REG = _idaapi.WARN_UNINITED_REG +WARN_SPLIT_MACRO = _idaapi.WARN_SPLIT_MACRO +WARN_MAX = _idaapi.WARN_MAX +class hexwarn_t(object): + """ + Proxy of C++ hexwarn_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ea = _swig_property(_idaapi.hexwarn_t_ea_get, _idaapi.hexwarn_t_ea_set) + id = _swig_property(_idaapi.hexwarn_t_id_get, _idaapi.hexwarn_t_id_set) + text = _swig_property(_idaapi.hexwarn_t_text_get, _idaapi.hexwarn_t_text_set) + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.hexwarn_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.hexwarn_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.hexwarn_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.hexwarn_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.hexwarn_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.hexwarn_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.hexwarn_t_compare(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> hexwarn_t + """ + this = _idaapi.new_hexwarn_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_hexwarn_t + __del__ = lambda self : None; +hexwarn_t_swigregister = _idaapi.hexwarn_t_swigregister +hexwarn_t_swigregister(hexwarn_t) + + +def get_hexrays_version(*args): + """ + get_hexrays_version() -> char const * + """ + return _idaapi.get_hexrays_version(*args) + +def open_pseudocode(*args): + """ + open_pseudocode(ea, new_window) -> vdui_t + """ + return _idaapi.open_pseudocode(*args) + +def close_pseudocode(*args): + """ + close_pseudocode(f) -> bool + """ + return _idaapi.close_pseudocode(*args) + +def get_tform_vdui(*args): + """ + get_tform_vdui(f) -> vdui_t + """ + return _idaapi.get_tform_vdui(*args) +VDRUN_NEWFILE = _idaapi.VDRUN_NEWFILE +VDRUN_APPEND = _idaapi.VDRUN_APPEND +VDRUN_ONLYNEW = _idaapi.VDRUN_ONLYNEW +VDRUN_SILENT = _idaapi.VDRUN_SILENT +VDRUN_SENDIDB = _idaapi.VDRUN_SENDIDB +VDRUN_MAYSTOP = _idaapi.VDRUN_MAYSTOP +VDRUN_CMDLINE = _idaapi.VDRUN_CMDLINE +VDRUN_STATS = _idaapi.VDRUN_STATS + +def decompile_many(*args): + """ + decompile_many(outfile, funcaddrs, flags) -> bool + """ + return _idaapi.decompile_many(*args) + +def micro_err_format(*args): + """ + micro_err_format(code) -> char const * + """ + return _idaapi.micro_err_format(*args) +MERR_OK = _idaapi.MERR_OK +MERR_BLOCK = _idaapi.MERR_BLOCK +MERR_INTERR = _idaapi.MERR_INTERR +MERR_INSN = _idaapi.MERR_INSN +MERR_MEM = _idaapi.MERR_MEM +MERR_BADBLK = _idaapi.MERR_BADBLK +MERR_BADSP = _idaapi.MERR_BADSP +MERR_PROLOG = _idaapi.MERR_PROLOG +MERR_SWITCH = _idaapi.MERR_SWITCH +MERR_EXCEPTION = _idaapi.MERR_EXCEPTION +MERR_HUGESTACK = _idaapi.MERR_HUGESTACK +MERR_LVARS = _idaapi.MERR_LVARS +MERR_BITNESS = _idaapi.MERR_BITNESS +MERR_BADCALL = _idaapi.MERR_BADCALL +MERR_BADFRAME = _idaapi.MERR_BADFRAME +MERR_UNKTYPE = _idaapi.MERR_UNKTYPE +MERR_BADIDB = _idaapi.MERR_BADIDB +MERR_SIZEOF = _idaapi.MERR_SIZEOF +MERR_REDO = _idaapi.MERR_REDO +MERR_CANCELED = _idaapi.MERR_CANCELED +MERR_RECDEPTH = _idaapi.MERR_RECDEPTH +MERR_OVERLAP = _idaapi.MERR_OVERLAP +MERR_PARTINIT = _idaapi.MERR_PARTINIT +MERR_COMPLEX = _idaapi.MERR_COMPLEX +MERR_LICENSE = _idaapi.MERR_LICENSE +MERR_ONLY32 = _idaapi.MERR_ONLY32 +MERR_ONLY64 = _idaapi.MERR_ONLY64 +MERR_BUSY = _idaapi.MERR_BUSY +MERR_FARPTR = _idaapi.MERR_FARPTR +MERR_MAX_ERR = _idaapi.MERR_MAX_ERR +MERR_LOOP = _idaapi.MERR_LOOP +class hexrays_failure_t(object): + """ + Proxy of C++ hexrays_failure_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + code = _swig_property(_idaapi.hexrays_failure_t_code_get, _idaapi.hexrays_failure_t_code_set) + errea = _swig_property(_idaapi.hexrays_failure_t_errea_get, _idaapi.hexrays_failure_t_errea_set) + str = _swig_property(_idaapi.hexrays_failure_t_str_get, _idaapi.hexrays_failure_t_str_set) + def __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 + """ + this = _idaapi.new_hexrays_failure_t(*args) + try: self.this.append(this) + except: self.this = this + def desc(self, *args): + """ + desc(self) -> qstring + """ + return _idaapi.hexrays_failure_t_desc(self, *args) + + __swig_destroy__ = _idaapi.delete_hexrays_failure_t + __del__ = lambda self : None; +hexrays_failure_t_swigregister = _idaapi.hexrays_failure_t_swigregister +hexrays_failure_t_swigregister(hexrays_failure_t) + +class vd_failure_t(object): + """ + Proxy of C++ vd_failure_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + hf = _swig_property(_idaapi.vd_failure_t_hf_get, _idaapi.vd_failure_t_hf_set) + def __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 + """ + this = _idaapi.new_vd_failure_t(*args) + try: self.this.append(this) + except: self.this = this + def desc(self, *args): + """ + desc(self) -> qstring + """ + return _idaapi.vd_failure_t_desc(self, *args) + + __swig_destroy__ = _idaapi.delete_vd_failure_t + __del__ = lambda self : None; +vd_failure_t_swigregister = _idaapi.vd_failure_t_swigregister +vd_failure_t_swigregister(vd_failure_t) + +class vd_interr_t(vd_failure_t): + """ + Proxy of C++ vd_interr_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, ea, buf) -> vd_interr_t + __init__(self, ea, buf) -> vd_interr_t + """ + this = _idaapi.new_vd_interr_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_vd_interr_t + __del__ = lambda self : None; +vd_interr_t_swigregister = _idaapi.vd_interr_t_swigregister +vd_interr_t_swigregister(vd_interr_t) + + +def send_database(*args): + """ + send_database(err, silent) + """ + return _idaapi.send_database(*args) +cot_empty = _idaapi.cot_empty +cot_comma = _idaapi.cot_comma +cot_asg = _idaapi.cot_asg +cot_asgbor = _idaapi.cot_asgbor +cot_asgxor = _idaapi.cot_asgxor +cot_asgband = _idaapi.cot_asgband +cot_asgadd = _idaapi.cot_asgadd +cot_asgsub = _idaapi.cot_asgsub +cot_asgmul = _idaapi.cot_asgmul +cot_asgsshr = _idaapi.cot_asgsshr +cot_asgushr = _idaapi.cot_asgushr +cot_asgshl = _idaapi.cot_asgshl +cot_asgsdiv = _idaapi.cot_asgsdiv +cot_asgudiv = _idaapi.cot_asgudiv +cot_asgsmod = _idaapi.cot_asgsmod +cot_asgumod = _idaapi.cot_asgumod +cot_tern = _idaapi.cot_tern +cot_lor = _idaapi.cot_lor +cot_land = _idaapi.cot_land +cot_bor = _idaapi.cot_bor +cot_xor = _idaapi.cot_xor +cot_band = _idaapi.cot_band +cot_eq = _idaapi.cot_eq +cot_ne = _idaapi.cot_ne +cot_sge = _idaapi.cot_sge +cot_uge = _idaapi.cot_uge +cot_sle = _idaapi.cot_sle +cot_ule = _idaapi.cot_ule +cot_sgt = _idaapi.cot_sgt +cot_ugt = _idaapi.cot_ugt +cot_slt = _idaapi.cot_slt +cot_ult = _idaapi.cot_ult +cot_sshr = _idaapi.cot_sshr +cot_ushr = _idaapi.cot_ushr +cot_shl = _idaapi.cot_shl +cot_add = _idaapi.cot_add +cot_sub = _idaapi.cot_sub +cot_mul = _idaapi.cot_mul +cot_sdiv = _idaapi.cot_sdiv +cot_udiv = _idaapi.cot_udiv +cot_smod = _idaapi.cot_smod +cot_umod = _idaapi.cot_umod +cot_fadd = _idaapi.cot_fadd +cot_fsub = _idaapi.cot_fsub +cot_fmul = _idaapi.cot_fmul +cot_fdiv = _idaapi.cot_fdiv +cot_fneg = _idaapi.cot_fneg +cot_neg = _idaapi.cot_neg +cot_cast = _idaapi.cot_cast +cot_lnot = _idaapi.cot_lnot +cot_bnot = _idaapi.cot_bnot +cot_ptr = _idaapi.cot_ptr +cot_ref = _idaapi.cot_ref +cot_postinc = _idaapi.cot_postinc +cot_postdec = _idaapi.cot_postdec +cot_preinc = _idaapi.cot_preinc +cot_predec = _idaapi.cot_predec +cot_call = _idaapi.cot_call +cot_idx = _idaapi.cot_idx +cot_memref = _idaapi.cot_memref +cot_memptr = _idaapi.cot_memptr +cot_num = _idaapi.cot_num +cot_fnum = _idaapi.cot_fnum +cot_str = _idaapi.cot_str +cot_obj = _idaapi.cot_obj +cot_var = _idaapi.cot_var +cot_insn = _idaapi.cot_insn +cot_sizeof = _idaapi.cot_sizeof +cot_helper = _idaapi.cot_helper +cot_type = _idaapi.cot_type +cot_last = _idaapi.cot_last +cit_empty = _idaapi.cit_empty +cit_block = _idaapi.cit_block +cit_expr = _idaapi.cit_expr +cit_if = _idaapi.cit_if +cit_for = _idaapi.cit_for +cit_while = _idaapi.cit_while +cit_do = _idaapi.cit_do +cit_switch = _idaapi.cit_switch +cit_break = _idaapi.cit_break +cit_continue = _idaapi.cit_continue +cit_return = _idaapi.cit_return +cit_goto = _idaapi.cit_goto +cit_asm = _idaapi.cit_asm +cit_end = _idaapi.cit_end +class operator_info_t(object): + """ + Proxy of C++ operator_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + text = _swig_property(_idaapi.operator_info_t_text_get, _idaapi.operator_info_t_text_set) + precedence = _swig_property(_idaapi.operator_info_t_precedence_get, _idaapi.operator_info_t_precedence_set) + valency = _swig_property(_idaapi.operator_info_t_valency_get, _idaapi.operator_info_t_valency_set) + fixtype = _swig_property(_idaapi.operator_info_t_fixtype_get, _idaapi.operator_info_t_fixtype_set) + flags = _swig_property(_idaapi.operator_info_t_flags_get, _idaapi.operator_info_t_flags_set) + def __init__(self, *args): + """ + __init__(self) -> operator_info_t + """ + this = _idaapi.new_operator_info_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_operator_info_t + __del__ = lambda self : None; +operator_info_t_swigregister = _idaapi.operator_info_t_swigregister +operator_info_t_swigregister(operator_info_t) +FX_NONE = cvar.FX_NONE +FX_INFIX = cvar.FX_INFIX +FX_PREFIX = cvar.FX_PREFIX +FX_POSTFIX = cvar.FX_POSTFIX +FX_TERNARY = cvar.FX_TERNARY +COI_RL = cvar.COI_RL +COI_LR = cvar.COI_LR +COI_INT = cvar.COI_INT +COI_FP = cvar.COI_FP +COI_SH = cvar.COI_SH +COI_SGN = cvar.COI_SGN +COI_SBN = cvar.COI_SBN + + +def negated_relation(*args): + """ + negated_relation(op) -> ctype_t + """ + return _idaapi.negated_relation(*args) + +def get_op_signness(*args): + """ + get_op_signness(op) -> type_sign_t + """ + return _idaapi.get_op_signness(*args) + +def asgop(*args): + """ + asgop(cop) -> ctype_t + """ + return _idaapi.asgop(*args) + +def asgop_revert(*args): + """ + asgop_revert(cop) -> ctype_t + """ + return _idaapi.asgop_revert(*args) + +def op_uses_x(*args): + """ + op_uses_x(op) -> bool + """ + return _idaapi.op_uses_x(*args) + +def op_uses_y(*args): + """ + op_uses_y(op) -> bool + """ + return _idaapi.op_uses_y(*args) + +def op_uses_z(*args): + """ + op_uses_z(op) -> bool + """ + return _idaapi.op_uses_z(*args) + +def is_binary(*args): + """ + is_binary(op) -> bool + """ + return _idaapi.is_binary(*args) + +def is_unary(*args): + """ + is_unary(op) -> bool + """ + return _idaapi.is_unary(*args) + +def is_relational(*args): + """ + is_relational(op) -> bool + """ + return _idaapi.is_relational(*args) + +def is_assignment(*args): + """ + is_assignment(op) -> bool + """ + return _idaapi.is_assignment(*args) + +def accepts_udts(*args): + """ + accepts_udts(op) -> bool + """ + return _idaapi.accepts_udts(*args) + +def is_prepost(*args): + """ + is_prepost(op) -> bool + """ + return _idaapi.is_prepost(*args) + +def is_commutative(*args): + """ + is_commutative(op) -> bool + """ + return _idaapi.is_commutative(*args) + +def is_additive(*args): + """ + is_additive(op) -> bool + """ + return _idaapi.is_additive(*args) + +def is_multiplicative(*args): + """ + is_multiplicative(op) -> bool + """ + return _idaapi.is_multiplicative(*args) + +def is_bitop(*args): + """ + is_bitop(op) -> bool + """ + return _idaapi.is_bitop(*args) + +def is_logical(*args): + """ + is_logical(op) -> bool + """ + return _idaapi.is_logical(*args) + +def is_loop(*args): + """ + is_loop(op) -> bool + """ + return _idaapi.is_loop(*args) + +def is_break_consumer(*args): + """ + is_break_consumer(op) -> bool + """ + return _idaapi.is_break_consumer(*args) + +def is_lvalue(*args): + """ + is_lvalue(op) -> bool + """ + return _idaapi.is_lvalue(*args) + +def is_allowed_on_small_struni(*args): + """ + is_allowed_on_small_struni(op) -> bool + """ + return _idaapi.is_allowed_on_small_struni(*args) +class cnumber_t(object): + """ + Proxy of C++ cnumber_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + _value = _swig_property(_idaapi.cnumber_t__value_get, _idaapi.cnumber_t__value_set) + nf = _swig_property(_idaapi.cnumber_t_nf_get, _idaapi.cnumber_t_nf_set) + def __init__(self, *args): + """ + __init__(self, _opnum=0) -> cnumber_t + """ + this = _idaapi.new_cnumber_t(*args) + try: self.this.append(this) + except: self.this = this + def _print(self, *args): + """ + _print(self, type) -> size_t + """ + return _idaapi.cnumber_t__print(self, *args) + + def value(self, *args): + """ + value(self, type) -> uint64 + """ + return _idaapi.cnumber_t_value(self, *args) + + def assign(self, *args): + """ + assign(self, v, nbytes, sign) + """ + return _idaapi.cnumber_t_assign(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.cnumber_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.cnumber_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.cnumber_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.cnumber_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.cnumber_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.cnumber_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.cnumber_t_compare(self, *args) + + __swig_destroy__ = _idaapi.delete_cnumber_t + __del__ = lambda self : None; +cnumber_t_swigregister = _idaapi.cnumber_t_swigregister +cnumber_t_swigregister(cnumber_t) + +class var_ref_t(object): + """ + Proxy of C++ var_ref_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + mba = _swig_property(_idaapi.var_ref_t_mba_get, _idaapi.var_ref_t_mba_set) + idx = _swig_property(_idaapi.var_ref_t_idx_get, _idaapi.var_ref_t_idx_set) + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.var_ref_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.var_ref_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.var_ref_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.var_ref_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.var_ref_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.var_ref_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.var_ref_t_compare(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> var_ref_t + """ + this = _idaapi.new_var_ref_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_var_ref_t + __del__ = lambda self : None; +var_ref_t_swigregister = _idaapi.var_ref_t_swigregister +var_ref_t_swigregister(var_ref_t) + +class ctree_visitor_t(object): + """ + Proxy of C++ ctree_visitor_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + cv_flags = _swig_property(_idaapi.ctree_visitor_t_cv_flags_get, _idaapi.ctree_visitor_t_cv_flags_set) + def maintain_parents(self, *args): + """ + maintain_parents(self) -> bool + """ + return _idaapi.ctree_visitor_t_maintain_parents(self, *args) + + def must_prune(self, *args): + """ + must_prune(self) -> bool + """ + return _idaapi.ctree_visitor_t_must_prune(self, *args) + + def must_restart(self, *args): + """ + must_restart(self) -> bool + """ + return _idaapi.ctree_visitor_t_must_restart(self, *args) + + def is_postorder(self, *args): + """ + is_postorder(self) -> bool + """ + return _idaapi.ctree_visitor_t_is_postorder(self, *args) + + def only_insns(self, *args): + """ + only_insns(self) -> bool + """ + return _idaapi.ctree_visitor_t_only_insns(self, *args) + + def prune_now(self, *args): + """ + prune_now(self) + """ + return _idaapi.ctree_visitor_t_prune_now(self, *args) + + def clr_prune(self, *args): + """ + clr_prune(self) + """ + return _idaapi.ctree_visitor_t_clr_prune(self, *args) + + def set_restart(self, *args): + """ + set_restart(self) + """ + return _idaapi.ctree_visitor_t_set_restart(self, *args) + + def clr_restart(self, *args): + """ + clr_restart(self) + """ + return _idaapi.ctree_visitor_t_clr_restart(self, *args) + + parents = _swig_property(_idaapi.ctree_visitor_t_parents_get, _idaapi.ctree_visitor_t_parents_set) + def __init__(self, *args): + """ + __init__(self, _flags) -> ctree_visitor_t + """ + if self.__class__ == ctree_visitor_t: + _self = None + else: + _self = self + this = _idaapi.new_ctree_visitor_t(_self, *args) + try: self.this.append(this) + except: self.this = this + def apply_to(self, *args): + """ + apply_to(self, item, parent) -> int + """ + return _idaapi.ctree_visitor_t_apply_to(self, *args) + + def apply_to_exprs(self, *args): + """ + apply_to_exprs(self, item, parent) -> int + """ + return _idaapi.ctree_visitor_t_apply_to_exprs(self, *args) + + def parent_expr(self, *args): + """ + parent_expr(self) -> cexpr_t + """ + return _idaapi.ctree_visitor_t_parent_expr(self, *args) + + def parent_insn(self, *args): + """ + parent_insn(self) -> cinsn_t + """ + return _idaapi.ctree_visitor_t_parent_insn(self, *args) + + def visit_insn(self, *args): + """ + visit_insn(self, arg0) -> int + """ + return _idaapi.ctree_visitor_t_visit_insn(self, *args) + + def visit_expr(self, *args): + """ + visit_expr(self, arg0) -> int + """ + return _idaapi.ctree_visitor_t_visit_expr(self, *args) + + def leave_insn(self, *args): + """ + leave_insn(self, arg0) -> int + """ + return _idaapi.ctree_visitor_t_leave_insn(self, *args) + + def leave_expr(self, *args): + """ + leave_expr(self, arg0) -> int + """ + return _idaapi.ctree_visitor_t_leave_expr(self, *args) + + __swig_destroy__ = _idaapi.delete_ctree_visitor_t + __del__ = lambda self : None; + def __disown__(self): + self.this.disown() + _idaapi.disown_ctree_visitor_t(self) + return weakref_proxy(self) +ctree_visitor_t_swigregister = _idaapi.ctree_visitor_t_swigregister +ctree_visitor_t_swigregister(ctree_visitor_t) +CV_FAST = _idaapi.CV_FAST +CV_PRUNE = _idaapi.CV_PRUNE +CV_PARENTS = _idaapi.CV_PARENTS +CV_POST = _idaapi.CV_POST +CV_RESTART = _idaapi.CV_RESTART +CV_INSNS = _idaapi.CV_INSNS + +class ctree_parentee_t(ctree_visitor_t): + """ + Proxy of C++ ctree_parentee_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, post=False) -> ctree_parentee_t + """ + if self.__class__ == ctree_parentee_t: + _self = None + else: + _self = self + this = _idaapi.new_ctree_parentee_t(_self, *args) + try: self.this.append(this) + except: self.this = this + def recalc_parent_types(self, *args): + """ + recalc_parent_types(self) -> bool + """ + return _idaapi.ctree_parentee_t_recalc_parent_types(self, *args) + + __swig_destroy__ = _idaapi.delete_ctree_parentee_t + __del__ = lambda self : None; + def __disown__(self): + self.this.disown() + _idaapi.disown_ctree_parentee_t(self) + return weakref_proxy(self) +ctree_parentee_t_swigregister = _idaapi.ctree_parentee_t_swigregister +ctree_parentee_t_swigregister(ctree_parentee_t) + +class cfunc_parentee_t(ctree_parentee_t): + """ + Proxy of C++ cfunc_parentee_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + func = _swig_property(_idaapi.cfunc_parentee_t_func_get, _idaapi.cfunc_parentee_t_func_set) + def __init__(self, *args): + """ + __init__(self, f, post=False) -> cfunc_parentee_t + """ + if self.__class__ == cfunc_parentee_t: + _self = None + else: + _self = self + this = _idaapi.new_cfunc_parentee_t(_self, *args) + try: self.this.append(this) + except: self.this = this + def calc_rvalue_type(self, *args): + """ + calc_rvalue_type(self, target, e) -> bool + """ + return _idaapi.cfunc_parentee_t_calc_rvalue_type(self, *args) + + __swig_destroy__ = _idaapi.delete_cfunc_parentee_t + __del__ = lambda self : None; + def __disown__(self): + self.this.disown() + _idaapi.disown_cfunc_parentee_t(self) + return weakref_proxy(self) +cfunc_parentee_t_swigregister = _idaapi.cfunc_parentee_t_swigregister +cfunc_parentee_t_swigregister(cfunc_parentee_t) + +CMAT_ZERO = _idaapi.CMAT_ZERO +CMAT_BUILT = _idaapi.CMAT_BUILT +CMAT_TRANS1 = _idaapi.CMAT_TRANS1 +CMAT_NICE = _idaapi.CMAT_NICE +CMAT_TRANS2 = _idaapi.CMAT_TRANS2 +CMAT_CPA = _idaapi.CMAT_CPA +CMAT_TRANS3 = _idaapi.CMAT_TRANS3 +CMAT_CASTED = _idaapi.CMAT_CASTED +CMAT_FINAL = _idaapi.CMAT_FINAL +ITP_EMPTY = _idaapi.ITP_EMPTY +ITP_ARG1 = _idaapi.ITP_ARG1 +ITP_ARG64 = _idaapi.ITP_ARG64 +ITP_BRACE1 = _idaapi.ITP_BRACE1 +ITP_INNER_LAST = _idaapi.ITP_INNER_LAST +ITP_ASM = _idaapi.ITP_ASM +ITP_ELSE = _idaapi.ITP_ELSE +ITP_DO = _idaapi.ITP_DO +ITP_SEMI = _idaapi.ITP_SEMI +ITP_CURLY1 = _idaapi.ITP_CURLY1 +ITP_CURLY2 = _idaapi.ITP_CURLY2 +ITP_BRACE2 = _idaapi.ITP_BRACE2 +ITP_COLON = _idaapi.ITP_COLON +ITP_BLOCK1 = _idaapi.ITP_BLOCK1 +ITP_BLOCK2 = _idaapi.ITP_BLOCK2 +ITP_CASE = _idaapi.ITP_CASE +ITP_SIGN = _idaapi.ITP_SIGN +class treeloc_t(object): + """ + Proxy of C++ treeloc_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ea = _swig_property(_idaapi.treeloc_t_ea_get, _idaapi.treeloc_t_ea_set) + itp = _swig_property(_idaapi.treeloc_t_itp_get, _idaapi.treeloc_t_itp_set) + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.treeloc_t___lt__(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.treeloc_t___eq__(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> treeloc_t + """ + this = _idaapi.new_treeloc_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_treeloc_t + __del__ = lambda self : None; +treeloc_t_swigregister = _idaapi.treeloc_t_swigregister +treeloc_t_swigregister(treeloc_t) + +RETRIEVE_ONCE = _idaapi.RETRIEVE_ONCE +RETRIEVE_ALWAYS = _idaapi.RETRIEVE_ALWAYS +class citem_cmt_t(object): + """ + Proxy of C++ citem_cmt_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + used = _swig_property(_idaapi.citem_cmt_t_used_get, _idaapi.citem_cmt_t_used_set) + def __init__(self, *args): + """ + __init__(self) -> citem_cmt_t + __init__(self, s) -> citem_cmt_t + """ + this = _idaapi.new_citem_cmt_t(*args) + try: self.this.append(this) + except: self.this = this + def c_str(self, *args): + """ + c_str(self) -> char const * + """ + return _idaapi.citem_cmt_t_c_str(self, *args) + + __swig_destroy__ = _idaapi.delete_citem_cmt_t + __del__ = lambda self : None; +citem_cmt_t_swigregister = _idaapi.citem_cmt_t_swigregister +citem_cmt_t_swigregister(citem_cmt_t) + +class citem_locator_t(object): + """ + Proxy of C++ citem_locator_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ea = _swig_property(_idaapi.citem_locator_t_ea_get, _idaapi.citem_locator_t_ea_set) + op = _swig_property(_idaapi.citem_locator_t_op_get, _idaapi.citem_locator_t_op_set) + def __init__(self, *args): + """ + __init__(self) -> citem_locator_t + __init__(self, _ea, _op) -> citem_locator_t + __init__(self, i) -> citem_locator_t + """ + this = _idaapi.new_citem_locator_t(*args) + try: self.this.append(this) + except: self.this = this + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.citem_locator_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.citem_locator_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.citem_locator_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.citem_locator_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.citem_locator_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.citem_locator_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.citem_locator_t_compare(self, *args) + + __swig_destroy__ = _idaapi.delete_citem_locator_t + __del__ = lambda self : None; +citem_locator_t_swigregister = _idaapi.citem_locator_t_swigregister +citem_locator_t_swigregister(citem_locator_t) + +class citem_t(object): + """ + Proxy of C++ citem_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ea = _swig_property(_idaapi.citem_t_ea_get, _idaapi.citem_t_ea_set) + op = _swig_property(_idaapi.citem_t_op_get, _idaapi.citem_t_op_set) + label_num = _swig_property(_idaapi.citem_t_label_num_get, _idaapi.citem_t_label_num_set) + index = _swig_property(_idaapi.citem_t_index_get, _idaapi.citem_t_index_set) + def __init__(self, *args): + """ + __init__(self) -> citem_t + __init__(self, o) -> citem_t + """ + this = _idaapi.new_citem_t(*args) + try: self.this.append(this) + except: self.this = this + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.citem_t_swap(self, *args) + + def is_expr(self, *args): + """ + is_expr(self) -> bool + """ + return _idaapi.citem_t_is_expr(self, *args) + + def contains_label(self, *args): + """ + contains_label(self) -> bool + """ + return _idaapi.citem_t_contains_label(self, *args) + + def find_parent_of(self, *args): + """ + find_parent_of(self, sitem) -> citem_t + find_parent_of(self, item) -> citem_t + """ + return _idaapi.citem_t_find_parent_of(self, *args) + + def print1(self, *args): + """ + print1(self, func) -> size_t + """ + return _idaapi.citem_t_print1(self, *args) + + cinsn = _swig_property(_idaapi.citem_t_cinsn_get) + cexpr = _swig_property(_idaapi.citem_t_cexpr_get) + __swig_destroy__ = _idaapi.delete_citem_t + __del__ = lambda self : None; +citem_t_swigregister = _idaapi.citem_t_swigregister +citem_t_swigregister(citem_t) + +class cexpr_t(citem_t): + """ + Proxy of C++ cexpr_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + type = _swig_property(_idaapi.cexpr_t_type_get, _idaapi.cexpr_t_type_set) + exflags = _swig_property(_idaapi.cexpr_t_exflags_get, _idaapi.cexpr_t_exflags_set) + def cpadone(self, *args): + """ + cpadone(self) -> bool + """ + return _idaapi.cexpr_t_cpadone(self, *args) + + def is_odd_lvalue(self, *args): + """ + is_odd_lvalue(self) -> bool + """ + return _idaapi.cexpr_t_is_odd_lvalue(self, *args) + + def is_fpop(self, *args): + """ + is_fpop(self) -> bool + """ + return _idaapi.cexpr_t_is_fpop(self, *args) + + def is_cstr(self, *args): + """ + is_cstr(self) -> bool + """ + return _idaapi.cexpr_t_is_cstr(self, *args) + + def set_cpadone(self, *args): + """ + set_cpadone(self) + """ + return _idaapi.cexpr_t_set_cpadone(self, *args) + + def __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 + """ + this = _idaapi.new_cexpr_t(*args) + try: self.this.append(this) + except: self.this = this + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.cexpr_t_swap(self, *args) + + def assign(self, *args): + """ + assign(self, r) -> cexpr_t + """ + return _idaapi.cexpr_t_assign(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.cexpr_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.cexpr_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.cexpr_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.cexpr_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.cexpr_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.cexpr_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.cexpr_t_compare(self, *args) + + __swig_destroy__ = _idaapi.delete_cexpr_t + __del__ = lambda self : None; + def replace_by(self, *args): + """ + replace_by(self, r) + """ + return _idaapi.cexpr_t_replace_by(self, *args) + + def cleanup(self, *args): + """ + cleanup(self) + """ + return _idaapi.cexpr_t_cleanup(self, *args) + + def put_number(self, *args): + """ + put_number(self, func, value, nbytes, sign=no_sign) + """ + return _idaapi.cexpr_t_put_number(self, *args) + + def print1(self, *args): + """ + print1(self, func) -> size_t + """ + return _idaapi.cexpr_t_print1(self, *args) + + def calc_type(self, *args): + """ + calc_type(self, recursive) + """ + return _idaapi.cexpr_t_calc_type(self, *args) + + def equal_effect(self, *args): + """ + equal_effect(self, r) -> bool + """ + return _idaapi.cexpr_t_equal_effect(self, *args) + + def is_child_of(self, *args): + """ + is_child_of(self, parent) -> bool + """ + return _idaapi.cexpr_t_is_child_of(self, *args) + + def contains_operator(self, *args): + """ + contains_operator(self, needed_op) -> bool + """ + return _idaapi.cexpr_t_contains_operator(self, *args) + + def contains_comma(self, *args): + """ + contains_comma(self) -> bool + """ + return _idaapi.cexpr_t_contains_comma(self, *args) + + def contains_insn(self, *args): + """ + contains_insn(self) -> bool + """ + return _idaapi.cexpr_t_contains_insn(self, *args) + + def contains_insn_or_label(self, *args): + """ + contains_insn_or_label(self) -> bool + """ + return _idaapi.cexpr_t_contains_insn_or_label(self, *args) + + def contains_comma_or_insn_or_label(self, *args): + """ + contains_comma_or_insn_or_label(self) -> bool + """ + return _idaapi.cexpr_t_contains_comma_or_insn_or_label(self, *args) + + def is_nice_expr(self, *args): + """ + is_nice_expr(self) -> bool + """ + return _idaapi.cexpr_t_is_nice_expr(self, *args) + + def is_nice_cond(self, *args): + """ + is_nice_cond(self) -> bool + """ + return _idaapi.cexpr_t_is_nice_cond(self, *args) + + def is_call_object_of(self, *args): + """ + is_call_object_of(self, parent) -> bool + """ + return _idaapi.cexpr_t_is_call_object_of(self, *args) + + def is_call_arg_of(self, *args): + """ + is_call_arg_of(self, parent) -> bool + """ + return _idaapi.cexpr_t_is_call_arg_of(self, *args) + + def get_type_sign(self, *args): + """ + get_type_sign(self) -> type_sign_t + """ + return _idaapi.cexpr_t_get_type_sign(self, *args) + + def get_high_nbit_bound(self, *args): + """ + get_high_nbit_bound(self, pbits, psign, p_maybe_negative=None) -> int + """ + return _idaapi.cexpr_t_get_high_nbit_bound(self, *args) + + def get_low_nbit_bound(self, *args): + """ + get_low_nbit_bound(self, psign, p_maybe_negative=None) -> int + """ + return _idaapi.cexpr_t_get_low_nbit_bound(self, *args) + + def requires_lvalue(self, *args): + """ + requires_lvalue(self, child) -> bool + """ + return _idaapi.cexpr_t_requires_lvalue(self, *args) + + def has_side_effects(self, *args): + """ + has_side_effects(self) -> bool + """ + return _idaapi.cexpr_t_has_side_effects(self, *args) + + def numval(self, *args): + """ + numval(self) -> uint64 + """ + return _idaapi.cexpr_t_numval(self, *args) + + def is_const_value(self, *args): + """ + is_const_value(self, _v) -> bool + """ + return _idaapi.cexpr_t_is_const_value(self, *args) + + def is_negative_const(self, *args): + """ + is_negative_const(self) -> bool + """ + return _idaapi.cexpr_t_is_negative_const(self, *args) + + def is_non_zero_const(self, *args): + """ + is_non_zero_const(self) -> bool + """ + return _idaapi.cexpr_t_is_non_zero_const(self, *args) + + def is_zero_const(self, *args): + """ + is_zero_const(self) -> bool + """ + return _idaapi.cexpr_t_is_zero_const(self, *args) + + def get_const_value(self, *args): + """ + get_const_value(self, np) -> bool + """ + return _idaapi.cexpr_t_get_const_value(self, *args) + + def maybe_ptr(self, *args): + """ + maybe_ptr(self) -> bool + """ + return _idaapi.cexpr_t_maybe_ptr(self, *args) + + def get_ptr_or_array(self, *args): + """ + get_ptr_or_array(self) -> cexpr_t + """ + return _idaapi.cexpr_t_get_ptr_or_array(self, *args) + + def find_op(self, *args): + """ + find_op(self, _op) -> cexpr_t + find_op(self, _op) -> cexpr_t + """ + return _idaapi.cexpr_t_find_op(self, *args) + + def find_num_op(self, *args): + """ + find_num_op(self) -> cexpr_t + find_num_op(self) -> cexpr_t + """ + return _idaapi.cexpr_t_find_num_op(self, *args) + + def theother(self, *args): + """ + theother(self, what) -> cexpr_t + theother(self, what) -> cexpr_t + """ + return _idaapi.cexpr_t_theother(self, *args) + + def get_1num_op(self, *args): + """ + get_1num_op(self, o1, o2) -> bool + """ + return _idaapi.cexpr_t_get_1num_op(self, *args) + + n = _swig_property(_idaapi.cexpr_t_n_get) + fpc = _swig_property(_idaapi.cexpr_t_fpc_get) + v = _swig_property(_idaapi.cexpr_t_v_get) + obj_ea = _swig_property(_idaapi.cexpr_t_obj_ea_get) + refwidth = _swig_property(_idaapi.cexpr_t_refwidth_get) + x = _swig_property(_idaapi.cexpr_t_x_get) + y = _swig_property(_idaapi.cexpr_t_y_get) + a = _swig_property(_idaapi.cexpr_t_a_get) + m = _swig_property(_idaapi.cexpr_t_m_get) + z = _swig_property(_idaapi.cexpr_t_z_get) + ptrsize = _swig_property(_idaapi.cexpr_t_ptrsize_get) + insn = _swig_property(_idaapi.cexpr_t_insn_get) + helper = _swig_property(_idaapi.cexpr_t_helper_get) + string = _swig_property(_idaapi.cexpr_t_string_get) +cexpr_t_swigregister = _idaapi.cexpr_t_swigregister +cexpr_t_swigregister(cexpr_t) +EXFL_CPADONE = _idaapi.EXFL_CPADONE +EXFL_LVALUE = _idaapi.EXFL_LVALUE +EXFL_FPOP = _idaapi.EXFL_FPOP +EXFL_ALONE = _idaapi.EXFL_ALONE +EXFL_CSTR = _idaapi.EXFL_CSTR +EXFL_ALL = _idaapi.EXFL_ALL + +class ceinsn_t(object): + """ + Proxy of C++ ceinsn_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + expr = _swig_property(_idaapi.ceinsn_t_expr_get, _idaapi.ceinsn_t_expr_set) + def __init__(self, *args): + """ + __init__(self) -> ceinsn_t + """ + this = _idaapi.new_ceinsn_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_ceinsn_t + __del__ = lambda self : None; +ceinsn_t_swigregister = _idaapi.ceinsn_t_swigregister +ceinsn_t_swigregister(ceinsn_t) + +CALC_CURLY_BRACES = _idaapi.CALC_CURLY_BRACES +NO_CURLY_BRACES = _idaapi.NO_CURLY_BRACES +USE_CURLY_BRACES = _idaapi.USE_CURLY_BRACES +class cif_t(ceinsn_t): + """ + Proxy of C++ cif_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ithen = _swig_property(_idaapi.cif_t_ithen_get, _idaapi.cif_t_ithen_set) + ielse = _swig_property(_idaapi.cif_t_ielse_get, _idaapi.cif_t_ielse_set) + def __init__(self, *args): + """ + __init__(self) -> cif_t + __init__(self, r) -> cif_t + """ + this = _idaapi.new_cif_t(*args) + try: self.this.append(this) + except: self.this = this + def assign(self, *args): + """ + assign(self, r) -> cif_t + """ + return _idaapi.cif_t_assign(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.cif_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.cif_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.cif_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.cif_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.cif_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.cif_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.cif_t_compare(self, *args) + + __swig_destroy__ = _idaapi.delete_cif_t + __del__ = lambda self : None; + def cleanup(self, *args): + """ + cleanup(self) + """ + return _idaapi.cif_t_cleanup(self, *args) + +cif_t_swigregister = _idaapi.cif_t_swigregister +cif_t_swigregister(cif_t) + +class cloop_t(ceinsn_t): + """ + Proxy of C++ cloop_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + body = _swig_property(_idaapi.cloop_t_body_get, _idaapi.cloop_t_body_set) + def __init__(self, *args): + """ + __init__(self) -> cloop_t + __init__(self, b) -> cloop_t + __init__(self, r) -> cloop_t + """ + this = _idaapi.new_cloop_t(*args) + try: self.this.append(this) + except: self.this = this + def assign(self, *args): + """ + assign(self, r) -> cloop_t + """ + return _idaapi.cloop_t_assign(self, *args) + + __swig_destroy__ = _idaapi.delete_cloop_t + __del__ = lambda self : None; + def cleanup(self, *args): + """ + cleanup(self) + """ + return _idaapi.cloop_t_cleanup(self, *args) + +cloop_t_swigregister = _idaapi.cloop_t_swigregister +cloop_t_swigregister(cloop_t) + +class cfor_t(cloop_t): + """ + Proxy of C++ cfor_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + init = _swig_property(_idaapi.cfor_t_init_get, _idaapi.cfor_t_init_set) + step = _swig_property(_idaapi.cfor_t_step_get, _idaapi.cfor_t_step_set) + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.cfor_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.cfor_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.cfor_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.cfor_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.cfor_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.cfor_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.cfor_t_compare(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> cfor_t + """ + this = _idaapi.new_cfor_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_cfor_t + __del__ = lambda self : None; +cfor_t_swigregister = _idaapi.cfor_t_swigregister +cfor_t_swigregister(cfor_t) + +class cwhile_t(cloop_t): + """ + Proxy of C++ cwhile_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.cwhile_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.cwhile_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.cwhile_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.cwhile_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.cwhile_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.cwhile_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.cwhile_t_compare(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> cwhile_t + """ + this = _idaapi.new_cwhile_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_cwhile_t + __del__ = lambda self : None; +cwhile_t_swigregister = _idaapi.cwhile_t_swigregister +cwhile_t_swigregister(cwhile_t) + +class cdo_t(cloop_t): + """ + Proxy of C++ cdo_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.cdo_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.cdo_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.cdo_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.cdo_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.cdo_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.cdo_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.cdo_t_compare(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> cdo_t + """ + this = _idaapi.new_cdo_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_cdo_t + __del__ = lambda self : None; +cdo_t_swigregister = _idaapi.cdo_t_swigregister +cdo_t_swigregister(cdo_t) + +class creturn_t(ceinsn_t): + """ + Proxy of C++ creturn_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.creturn_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.creturn_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.creturn_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.creturn_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.creturn_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.creturn_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.creturn_t_compare(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> creturn_t + """ + this = _idaapi.new_creturn_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_creturn_t + __del__ = lambda self : None; +creturn_t_swigregister = _idaapi.creturn_t_swigregister +creturn_t_swigregister(creturn_t) + +class cgoto_t(object): + """ + Proxy of C++ cgoto_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + label_num = _swig_property(_idaapi.cgoto_t_label_num_get, _idaapi.cgoto_t_label_num_set) + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.cgoto_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.cgoto_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.cgoto_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.cgoto_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.cgoto_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.cgoto_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.cgoto_t_compare(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> cgoto_t + """ + this = _idaapi.new_cgoto_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_cgoto_t + __del__ = lambda self : None; +cgoto_t_swigregister = _idaapi.cgoto_t_swigregister +cgoto_t_swigregister(cgoto_t) + +class casm_t(uvalvec_t): + """ + Proxy of C++ casm_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, ea) -> casm_t + __init__(self, r) -> casm_t + """ + this = _idaapi.new_casm_t(*args) + try: self.this.append(this) + except: self.this = this + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.casm_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.casm_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.casm_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.casm_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.casm_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.casm_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.casm_t_compare(self, *args) + + def one_insn(self, *args): + """ + one_insn(self) -> bool + """ + return _idaapi.casm_t_one_insn(self, *args) + + __swig_destroy__ = _idaapi.delete_casm_t + __del__ = lambda self : None; +casm_t_swigregister = _idaapi.casm_t_swigregister +casm_t_swigregister(casm_t) + +class cinsn_t(citem_t): + """ + Proxy of C++ cinsn_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> cinsn_t + __init__(self, r) -> cinsn_t + """ + this = _idaapi.new_cinsn_t(*args) + try: self.this.append(this) + except: self.this = this + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.cinsn_t_swap(self, *args) + + def assign(self, *args): + """ + assign(self, r) -> cinsn_t + """ + return _idaapi.cinsn_t_assign(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.cinsn_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.cinsn_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.cinsn_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.cinsn_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.cinsn_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.cinsn_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.cinsn_t_compare(self, *args) + + __swig_destroy__ = _idaapi.delete_cinsn_t + __del__ = lambda self : None; + def replace_by(self, *args): + """ + replace_by(self, r) + """ + return _idaapi.cinsn_t_replace_by(self, *args) + + def cleanup(self, *args): + """ + cleanup(self) + """ + return _idaapi.cinsn_t_cleanup(self, *args) + + def zero(self, *args): + """ + zero(self) + """ + return _idaapi.cinsn_t_zero(self, *args) + + def new_insn(self, *args): + """ + new_insn(self, insn_ea) -> cinsn_t + """ + return _idaapi.cinsn_t_new_insn(self, *args) + + def create_if(self, *args): + """ + create_if(self, cnd) -> cif_t + """ + return _idaapi.cinsn_t_create_if(self, *args) + + def _print(self, *args): + """ + _print(self, indent, vp, use_curly=CALC_CURLY_BRACES) + """ + return _idaapi.cinsn_t__print(self, *args) + + def print1(self, *args): + """ + print1(self, func) -> size_t + """ + return _idaapi.cinsn_t_print1(self, *args) + + def is_ordinary_flow(self, *args): + """ + is_ordinary_flow(self) -> bool + """ + return _idaapi.cinsn_t_is_ordinary_flow(self, *args) + + def contains_insn(self, *args): + """ + contains_insn(self, type) -> bool + """ + return _idaapi.cinsn_t_contains_insn(self, *args) + + def collect_free_breaks(self, *args): + """ + collect_free_breaks(self, breaks) -> bool + """ + return _idaapi.cinsn_t_collect_free_breaks(self, *args) + + def collect_free_continues(self, *args): + """ + collect_free_continues(self, continues) -> bool + """ + return _idaapi.cinsn_t_collect_free_continues(self, *args) + + def contains_free_break(self, *args): + """ + contains_free_break(self) -> bool + """ + return _idaapi.cinsn_t_contains_free_break(self, *args) + + def contains_free_continue(self, *args): + """ + contains_free_continue(self) -> bool + """ + return _idaapi.cinsn_t_contains_free_continue(self, *args) + + cblock = _swig_property(_idaapi.cinsn_t_cblock_get) + cexpr = _swig_property(_idaapi.cinsn_t_cexpr_get) + cif = _swig_property(_idaapi.cinsn_t_cif_get) + cfor = _swig_property(_idaapi.cinsn_t_cfor_get) + cwhile = _swig_property(_idaapi.cinsn_t_cwhile_get) + cdo = _swig_property(_idaapi.cinsn_t_cdo_get) + cswitch = _swig_property(_idaapi.cinsn_t_cswitch_get) + creturn = _swig_property(_idaapi.cinsn_t_creturn_get) + cgoto = _swig_property(_idaapi.cinsn_t_cgoto_get) + casm = _swig_property(_idaapi.cinsn_t_casm_get) +cinsn_t_swigregister = _idaapi.cinsn_t_swigregister +cinsn_t_swigregister(cinsn_t) + +class cblock_t(qlist_cinsn_t): + """ + Proxy of C++ cblock_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.cblock_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.cblock_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.cblock_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.cblock_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.cblock_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.cblock_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.cblock_t_compare(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> cblock_t + """ + this = _idaapi.new_cblock_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_cblock_t + __del__ = lambda self : None; +cblock_t_swigregister = _idaapi.cblock_t_swigregister +cblock_t_swigregister(cblock_t) + +class carg_t(cexpr_t): + """ + Proxy of C++ carg_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + is_vararg = _swig_property(_idaapi.carg_t_is_vararg_get, _idaapi.carg_t_is_vararg_set) + formal_type = _swig_property(_idaapi.carg_t_formal_type_get, _idaapi.carg_t_formal_type_set) + def consume_cexpr(self, *args): + """ + consume_cexpr(self, e) + """ + return _idaapi.carg_t_consume_cexpr(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> carg_t + """ + this = _idaapi.new_carg_t(*args) + try: self.this.append(this) + except: self.this = this + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.carg_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.carg_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.carg_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.carg_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.carg_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.carg_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.carg_t_compare(self, *args) + + __swig_destroy__ = _idaapi.delete_carg_t + __del__ = lambda self : None; +carg_t_swigregister = _idaapi.carg_t_swigregister +carg_t_swigregister(carg_t) + +class carglist_t(qvector_carg_t): + """ + Proxy of C++ carglist_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + functype = _swig_property(_idaapi.carglist_t_functype_get, _idaapi.carglist_t_functype_set) + def __init__(self, *args): + """ + __init__(self) -> carglist_t + __init__(self, ftype) -> carglist_t + """ + this = _idaapi.new_carglist_t(*args) + try: self.this.append(this) + except: self.this = this + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.carglist_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.carglist_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.carglist_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.carglist_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.carglist_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.carglist_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.carglist_t_compare(self, *args) + + __swig_destroy__ = _idaapi.delete_carglist_t + __del__ = lambda self : None; +carglist_t_swigregister = _idaapi.carglist_t_swigregister +carglist_t_swigregister(carglist_t) + +class ccase_t(cinsn_t): + """ + Proxy of C++ ccase_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + values = _swig_property(_idaapi.ccase_t_values_get, _idaapi.ccase_t_values_set) + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.ccase_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.ccase_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.ccase_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.ccase_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.ccase_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.ccase_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.ccase_t_compare(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.ccase_t_size(self, *args) + + def value(self, *args): + """ + value(self, i) -> uint64 const & + """ + return _idaapi.ccase_t_value(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> ccase_t + """ + this = _idaapi.new_ccase_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_ccase_t + __del__ = lambda self : None; +ccase_t_swigregister = _idaapi.ccase_t_swigregister +ccase_t_swigregister(ccase_t) + +class ccases_t(qvector_ccase_t): + """ + Proxy of C++ ccases_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.ccases_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.ccases_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.ccases_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.ccases_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.ccases_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.ccases_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.ccases_t_compare(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> ccases_t + """ + this = _idaapi.new_ccases_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_ccases_t + __del__ = lambda self : None; +ccases_t_swigregister = _idaapi.ccases_t_swigregister +ccases_t_swigregister(ccases_t) + +class cswitch_t(ceinsn_t): + """ + Proxy of C++ cswitch_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + mvnf = _swig_property(_idaapi.cswitch_t_mvnf_get, _idaapi.cswitch_t_mvnf_set) + cases = _swig_property(_idaapi.cswitch_t_cases_get, _idaapi.cswitch_t_cases_set) + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.cswitch_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.cswitch_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.cswitch_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.cswitch_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.cswitch_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.cswitch_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.cswitch_t_compare(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> cswitch_t + """ + this = _idaapi.new_cswitch_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_cswitch_t + __del__ = lambda self : None; +cswitch_t_swigregister = _idaapi.cswitch_t_swigregister +cswitch_t_swigregister(cswitch_t) + +class ctree_anchor_t(object): + """ + Proxy of C++ ctree_anchor_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + value = _swig_property(_idaapi.ctree_anchor_t_value_get, _idaapi.ctree_anchor_t_value_set) + def __init__(self, *args): + """ + __init__(self) -> ctree_anchor_t + """ + this = _idaapi.new_ctree_anchor_t(*args) + try: self.this.append(this) + except: self.this = this + def get_index(self, *args): + """ + get_index(self) -> int + """ + return _idaapi.ctree_anchor_t_get_index(self, *args) + + def get_itp(self, *args): + """ + get_itp(self) -> item_preciser_t + """ + return _idaapi.ctree_anchor_t_get_itp(self, *args) + + def is_valid_anchor(self, *args): + """ + is_valid_anchor(self) -> bool + """ + return _idaapi.ctree_anchor_t_is_valid_anchor(self, *args) + + def is_citem_anchor(self, *args): + """ + is_citem_anchor(self) -> bool + """ + return _idaapi.ctree_anchor_t_is_citem_anchor(self, *args) + + def is_lvar_anchor(self, *args): + """ + is_lvar_anchor(self) -> bool + """ + return _idaapi.ctree_anchor_t_is_lvar_anchor(self, *args) + + def is_itp_anchor(self, *args): + """ + is_itp_anchor(self) -> bool + """ + return _idaapi.ctree_anchor_t_is_itp_anchor(self, *args) + + def is_blkcmt_anchor(self, *args): + """ + is_blkcmt_anchor(self) -> bool + """ + return _idaapi.ctree_anchor_t_is_blkcmt_anchor(self, *args) + + __swig_destroy__ = _idaapi.delete_ctree_anchor_t + __del__ = lambda self : None; +ctree_anchor_t_swigregister = _idaapi.ctree_anchor_t_swigregister +ctree_anchor_t_swigregister(ctree_anchor_t) +ANCHOR_INDEX = _idaapi.ANCHOR_INDEX +ANCHOR_MASK = _idaapi.ANCHOR_MASK +ANCHOR_CITEM = _idaapi.ANCHOR_CITEM +ANCHOR_LVAR = _idaapi.ANCHOR_LVAR +ANCHOR_ITP = _idaapi.ANCHOR_ITP +ANCHOR_BLKCMT = _idaapi.ANCHOR_BLKCMT + +VDI_NONE = _idaapi.VDI_NONE +VDI_EXPR = _idaapi.VDI_EXPR +VDI_LVAR = _idaapi.VDI_LVAR +VDI_FUNC = _idaapi.VDI_FUNC +VDI_TAIL = _idaapi.VDI_TAIL +class ctree_item_t(object): + """ + Proxy of C++ ctree_item_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + citype = _swig_property(_idaapi.ctree_item_t_citype_get, _idaapi.ctree_item_t_citype_set) + def get_memptr(self, *args): + """ + get_memptr(self, p_sptr=None) -> member_t + """ + return _idaapi.ctree_item_t_get_memptr(self, *args) + + def get_lvar(self, *args): + """ + get_lvar(self) -> lvar_t + """ + return _idaapi.ctree_item_t_get_lvar(self, *args) + + def get_ea(self, *args): + """ + get_ea(self) -> ea_t + """ + return _idaapi.ctree_item_t_get_ea(self, *args) + + def get_label_num(self, *args): + """ + get_label_num(self, gln_flags) -> int + """ + return _idaapi.ctree_item_t_get_label_num(self, *args) + + def is_citem(self, *args): + """ + is_citem(self) -> bool + """ + return _idaapi.ctree_item_t_is_citem(self, *args) + + it = _swig_property(_idaapi.ctree_item_t_it_get) + e = _swig_property(_idaapi.ctree_item_t_e_get) + i = _swig_property(_idaapi.ctree_item_t_i_get) + l = _swig_property(_idaapi.ctree_item_t_l_get) + f = _swig_property(_idaapi.ctree_item_t_f_get) + loc = _swig_property(_idaapi.ctree_item_t_loc_get) + def __init__(self, *args): + """ + __init__(self) -> ctree_item_t + """ + this = _idaapi.new_ctree_item_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_ctree_item_t + __del__ = lambda self : None; +ctree_item_t_swigregister = _idaapi.ctree_item_t_swigregister +ctree_item_t_swigregister(ctree_item_t) +GLN_CURRENT = _idaapi.GLN_CURRENT +GLN_GOTO_TARGET = _idaapi.GLN_GOTO_TARGET +GLN_ALL = _idaapi.GLN_ALL + +FORBID_UNUSED_LABELS = _idaapi.FORBID_UNUSED_LABELS +ALLOW_UNUSED_LABELS = _idaapi.ALLOW_UNUSED_LABELS + +def lnot(*args): + """ + lnot(e) -> cexpr_t + """ + return _idaapi.lnot(*args) + +def new_block(*args): + """ + new_block() -> cinsn_t + """ + return _idaapi.new_block(*args) + +def vcreate_helper(*args): + """ + vcreate_helper(standalone, type, format, va) -> cexpr_t + """ + return _idaapi.vcreate_helper(*args) + +def create_helper(*args): + """ + create_helper(standalone, type, format) -> cexpr_t + """ + return _idaapi.create_helper(*args) + +def vcall_helper(*args): + """ + vcall_helper(rettype, args, format, va) -> cexpr_t + """ + return _idaapi.vcall_helper(*args) + +def call_helper(*args): + """ + call_helper(rettype, args, format) -> cexpr_t + """ + return _idaapi.call_helper(*args) + +def make_num(*args): + """ + make_num(n, func=None, ea=BADADDR, opnum=0, sign=no_sign, size=0) -> cexpr_t + """ + return _idaapi.make_num(*args) + +def make_ref(*args): + """ + make_ref(e) -> cexpr_t + """ + return _idaapi.make_ref(*args) + +def dereference(*args): + """ + dereference(e, ptrsize, is_float=False) -> cexpr_t + """ + return _idaapi.dereference(*args) + +def save_user_labels(*args): + """ + save_user_labels(func_ea, user_labels) + """ + return _idaapi.save_user_labels(*args) + +def save_user_cmts(*args): + """ + save_user_cmts(func_ea, user_cmts) + """ + return _idaapi.save_user_cmts(*args) + +def save_user_numforms(*args): + """ + save_user_numforms(func_ea, numforms) + """ + return _idaapi.save_user_numforms(*args) + +def save_user_iflags(*args): + """ + save_user_iflags(func_ea, iflags) + """ + return _idaapi.save_user_iflags(*args) + +def save_user_unions(*args): + """ + save_user_unions(func_ea, unions) + """ + return _idaapi.save_user_unions(*args) + +def restore_user_labels(*args): + """ + restore_user_labels(func_ea) -> user_labels_t + """ + return _idaapi.restore_user_labels(*args) + +def restore_user_cmts(*args): + """ + restore_user_cmts(func_ea) -> user_cmts_t + """ + return _idaapi.restore_user_cmts(*args) + +def restore_user_numforms(*args): + """ + restore_user_numforms(func_ea) -> user_numforms_t + """ + return _idaapi.restore_user_numforms(*args) + +def restore_user_iflags(*args): + """ + restore_user_iflags(func_ea) -> user_iflags_t + """ + return _idaapi.restore_user_iflags(*args) + +def restore_user_unions(*args): + """ + restore_user_unions(func_ea) -> user_unions_t + """ + return _idaapi.restore_user_unions(*args) +class cfunc_t(object): + """ + Proxy of C++ cfunc_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") + __repr__ = _swig_repr + entry_ea = _swig_property(_idaapi.cfunc_t_entry_ea_get, _idaapi.cfunc_t_entry_ea_set) + mba = _swig_property(_idaapi.cfunc_t_mba_get, _idaapi.cfunc_t_mba_set) + body = _swig_property(_idaapi.cfunc_t_body_get, _idaapi.cfunc_t_body_set) + argidx = _swig_property(_idaapi.cfunc_t_argidx_get) + maturity = _swig_property(_idaapi.cfunc_t_maturity_get, _idaapi.cfunc_t_maturity_set) + user_labels = _swig_property(_idaapi.cfunc_t_user_labels_get, _idaapi.cfunc_t_user_labels_set) + user_cmts = _swig_property(_idaapi.cfunc_t_user_cmts_get, _idaapi.cfunc_t_user_cmts_set) + numforms = _swig_property(_idaapi.cfunc_t_numforms_get, _idaapi.cfunc_t_numforms_set) + user_iflags = _swig_property(_idaapi.cfunc_t_user_iflags_get, _idaapi.cfunc_t_user_iflags_set) + user_unions = _swig_property(_idaapi.cfunc_t_user_unions_get, _idaapi.cfunc_t_user_unions_set) + refcnt = _swig_property(_idaapi.cfunc_t_refcnt_get, _idaapi.cfunc_t_refcnt_set) + statebits = _swig_property(_idaapi.cfunc_t_statebits_get, _idaapi.cfunc_t_statebits_set) + hdrlines = _swig_property(_idaapi.cfunc_t_hdrlines_get, _idaapi.cfunc_t_hdrlines_set) + treeitems = _swig_property(_idaapi.cfunc_t_treeitems_get, _idaapi.cfunc_t_treeitems_set) + __swig_destroy__ = _idaapi.delete_cfunc_t + __del__ = lambda self : None; + def release(self, *args): + """ + release(self) + """ + return _idaapi.cfunc_t_release(self, *args) + + def build_c_tree(self, *args): + """ + build_c_tree(self) + """ + return _idaapi.cfunc_t_build_c_tree(self, *args) + + def verify(self, *args): + """ + verify(self, aul, even_without_debugger) + """ + return _idaapi.cfunc_t_verify(self, *args) + + def print_dcl(self, *args): + """ + print_dcl(self, buf, bufsize) -> size_t + """ + return _idaapi.cfunc_t_print_dcl(self, *args) + + def print_dcl2(self, *args): + """ + print_dcl2(self) -> size_t + """ + return _idaapi.cfunc_t_print_dcl2(self, *args) + + def print_func(self, *args): + """ + print_func(self, vp) + """ + return _idaapi.cfunc_t_print_func(self, *args) + + def get_func_type(self, *args): + """ + get_func_type(self, type) -> bool + """ + return _idaapi.cfunc_t_get_func_type(self, *args) + + def get_lvars(self, *args): + """ + get_lvars(self) -> lvars_t + """ + return _idaapi.cfunc_t_get_lvars(self, *args) + + def find_label(self, *args): + """ + find_label(self, label) -> citem_t + """ + return _idaapi.cfunc_t_find_label(self, *args) + + def remove_unused_labels(self, *args): + """ + remove_unused_labels(self) + """ + return _idaapi.cfunc_t_remove_unused_labels(self, *args) + + def get_user_cmt(self, *args): + """ + get_user_cmt(self, loc, rt) -> char const * + """ + return _idaapi.cfunc_t_get_user_cmt(self, *args) + + def set_user_cmt(self, *args): + """ + set_user_cmt(self, loc, cmt) + """ + return _idaapi.cfunc_t_set_user_cmt(self, *args) + + def get_user_iflags(self, *args): + """ + get_user_iflags(self, loc) -> int32 + """ + return _idaapi.cfunc_t_get_user_iflags(self, *args) + + def set_user_iflags(self, *args): + """ + set_user_iflags(self, loc, iflags) + """ + return _idaapi.cfunc_t_set_user_iflags(self, *args) + + def has_orphan_cmts(self, *args): + """ + has_orphan_cmts(self) -> bool + """ + return _idaapi.cfunc_t_has_orphan_cmts(self, *args) + + def del_orphan_cmts(self, *args): + """ + del_orphan_cmts(self) -> int + """ + return _idaapi.cfunc_t_del_orphan_cmts(self, *args) + + def get_user_union_selection(self, *args): + """ + get_user_union_selection(self, ea, path) -> bool + """ + return _idaapi.cfunc_t_get_user_union_selection(self, *args) + + def set_user_union_selection(self, *args): + """ + set_user_union_selection(self, ea, path) + """ + return _idaapi.cfunc_t_set_user_union_selection(self, *args) + + def save_user_labels(self, *args): + """ + save_user_labels(self) + """ + return _idaapi.cfunc_t_save_user_labels(self, *args) + + def save_user_cmts(self, *args): + """ + save_user_cmts(self) + """ + return _idaapi.cfunc_t_save_user_cmts(self, *args) + + def save_user_numforms(self, *args): + """ + save_user_numforms(self) + """ + return _idaapi.cfunc_t_save_user_numforms(self, *args) + + def save_user_iflags(self, *args): + """ + save_user_iflags(self) + """ + return _idaapi.cfunc_t_save_user_iflags(self, *args) + + def save_user_unions(self, *args): + """ + save_user_unions(self) + """ + return _idaapi.cfunc_t_save_user_unions(self, *args) + + def get_line_item(self, *args): + """ + get_line_item(self, line, x, is_ctree_line, phead, pitem, ptail) -> bool + """ + return _idaapi.cfunc_t_get_line_item(self, *args) + + def get_warnings(self, *args): + """ + get_warnings(self) -> hexwarns_t + """ + return _idaapi.cfunc_t_get_warnings(self, *args) + + def get_eamap(self, *args): + """ + get_eamap(self) -> eamap_t + """ + return _idaapi.cfunc_t_get_eamap(self, *args) + + def get_boundaries(self, *args): + """ + get_boundaries(self) -> boundaries_t + """ + return _idaapi.cfunc_t_get_boundaries(self, *args) + + def get_pseudocode(self, *args): + """ + get_pseudocode(self) -> strvec_t + """ + return _idaapi.cfunc_t_get_pseudocode(self, *args) + + def gather_derefs(self, *args): + """ + gather_derefs(self, ci, udm=None) -> bool + """ + return _idaapi.cfunc_t_gather_derefs(self, *args) + + def __str__(self, *args): + """ + __str__(self) -> qstring + """ + return _idaapi.cfunc_t___str__(self, *args) + +cfunc_t_swigregister = _idaapi.cfunc_t_swigregister +cfunc_t_swigregister(cfunc_t) +CIT_COLLAPSED = _idaapi.CIT_COLLAPSED +CFS_BOUNDS = _idaapi.CFS_BOUNDS +CFS_TEXT = _idaapi.CFS_TEXT +CFS_LVARS_HIDDEN = _idaapi.CFS_LVARS_HIDDEN + + +def mark_cfunc_dirty(*args): + """ + mark_cfunc_dirty(ea) -> bool + """ + return _idaapi.mark_cfunc_dirty(*args) + +def clear_cached_cfuncs(*args): + """ + clear_cached_cfuncs() + """ + return _idaapi.clear_cached_cfuncs(*args) + +def has_cached_cfunc(*args): + """ + has_cached_cfunc(ea) -> bool + """ + return _idaapi.has_cached_cfunc(*args) + +def get_ctype_name(*args): + """ + get_ctype_name(op) -> char const * + """ + return _idaapi.get_ctype_name(*args) + +def create_field_name(*args): + """ + create_field_name(type, offset=BADADDR) -> qstring + """ + return _idaapi.create_field_name(*args) +hxe_flowchart = _idaapi.hxe_flowchart +hxe_prolog = _idaapi.hxe_prolog +hxe_preoptimized = _idaapi.hxe_preoptimized +hxe_locopt = _idaapi.hxe_locopt +hxe_prealloc = _idaapi.hxe_prealloc +hxe_glbopt = _idaapi.hxe_glbopt +hxe_structural = _idaapi.hxe_structural +hxe_maturity = _idaapi.hxe_maturity +hxe_interr = _idaapi.hxe_interr +hxe_combine = _idaapi.hxe_combine +hxe_print_func = _idaapi.hxe_print_func +hxe_func_printed = _idaapi.hxe_func_printed +hxe_resolve_stkaddrs = _idaapi.hxe_resolve_stkaddrs +hxe_open_pseudocode = _idaapi.hxe_open_pseudocode +hxe_switch_pseudocode = _idaapi.hxe_switch_pseudocode +hxe_refresh_pseudocode = _idaapi.hxe_refresh_pseudocode +hxe_close_pseudocode = _idaapi.hxe_close_pseudocode +hxe_keyboard = _idaapi.hxe_keyboard +hxe_right_click = _idaapi.hxe_right_click +hxe_double_click = _idaapi.hxe_double_click +hxe_curpos = _idaapi.hxe_curpos +hxe_create_hint = _idaapi.hxe_create_hint +hxe_text_ready = _idaapi.hxe_text_ready +hxe_populating_popup = _idaapi.hxe_populating_popup +USE_KEYBOARD = _idaapi.USE_KEYBOARD +USE_MOUSE = _idaapi.USE_MOUSE +class ctext_position_t(object): + """ + Proxy of C++ ctext_position_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + lnnum = _swig_property(_idaapi.ctext_position_t_lnnum_get, _idaapi.ctext_position_t_lnnum_set) + x = _swig_property(_idaapi.ctext_position_t_x_get, _idaapi.ctext_position_t_x_set) + y = _swig_property(_idaapi.ctext_position_t_y_get, _idaapi.ctext_position_t_y_set) + def in_ctree(self, *args): + """ + in_ctree(self, hdrlines) -> bool + """ + return _idaapi.ctext_position_t_in_ctree(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.ctext_position_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.ctext_position_t___ne__(self, *args) + + def __lt__(self, *args): + """ + __lt__(self, r) -> bool + """ + return _idaapi.ctext_position_t___lt__(self, *args) + + def __gt__(self, *args): + """ + __gt__(self, r) -> bool + """ + return _idaapi.ctext_position_t___gt__(self, *args) + + def __le__(self, *args): + """ + __le__(self, r) -> bool + """ + return _idaapi.ctext_position_t___le__(self, *args) + + def __ge__(self, *args): + """ + __ge__(self, r) -> bool + """ + return _idaapi.ctext_position_t___ge__(self, *args) + + def compare(self, *args): + """ + compare(self, r) -> int + """ + return _idaapi.ctext_position_t_compare(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> ctext_position_t + """ + this = _idaapi.new_ctext_position_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_ctext_position_t + __del__ = lambda self : None; +ctext_position_t_swigregister = _idaapi.ctext_position_t_swigregister +ctext_position_t_swigregister(ctext_position_t) +HEXRAYS_API_MAGIC1 = cvar.HEXRAYS_API_MAGIC1 +HEXRAYS_API_MAGIC2 = cvar.HEXRAYS_API_MAGIC2 + +def compare(*args): + """ + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + compare(a, b) -> int + """ + return _idaapi.compare(*args) + +class history_item_t(ctext_position_t): + """ + Proxy of C++ history_item_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ea = _swig_property(_idaapi.history_item_t_ea_get, _idaapi.history_item_t_ea_set) + def __init__(self, *args): + """ + __init__(self) -> history_item_t + """ + this = _idaapi.new_history_item_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_history_item_t + __del__ = lambda self : None; +history_item_t_swigregister = _idaapi.history_item_t_swigregister +history_item_t_swigregister(history_item_t) + +class vdui_t(object): + """ + Proxy of C++ vdui_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") + __repr__ = _swig_repr + form = _swig_property(_idaapi.vdui_t_form_get, _idaapi.vdui_t_form_set) + flags = _swig_property(_idaapi.vdui_t_flags_get, _idaapi.vdui_t_flags_set) + def visible(self, *args): + """ + visible(self) -> bool + """ + return _idaapi.vdui_t_visible(self, *args) + + def valid(self, *args): + """ + valid(self) -> bool + """ + return _idaapi.vdui_t_valid(self, *args) + + def locked(self, *args): + """ + locked(self) -> bool + """ + return _idaapi.vdui_t_locked(self, *args) + + def set_visible(self, *args): + """ + set_visible(self, v) + """ + return _idaapi.vdui_t_set_visible(self, *args) + + def set_valid(self, *args): + """ + set_valid(self, v) + """ + return _idaapi.vdui_t_set_valid(self, *args) + + def set_locked(self, *args): + """ + set_locked(self, v) + """ + return _idaapi.vdui_t_set_locked(self, *args) + + view_idx = _swig_property(_idaapi.vdui_t_view_idx_get, _idaapi.vdui_t_view_idx_set) + ct = _swig_property(_idaapi.vdui_t_ct_get, _idaapi.vdui_t_ct_set) + cv = _swig_property(_idaapi.vdui_t_cv_get, _idaapi.vdui_t_cv_set) + mba = _swig_property(_idaapi.vdui_t_mba_get, _idaapi.vdui_t_mba_set) + cfunc = _swig_property(_idaapi.vdui_t_cfunc_get, _idaapi.vdui_t_cfunc_set) + last_code = _swig_property(_idaapi.vdui_t_last_code_get, _idaapi.vdui_t_last_code_set) + cpos = _swig_property(_idaapi.vdui_t_cpos_get, _idaapi.vdui_t_cpos_set) + head = _swig_property(_idaapi.vdui_t_head_get, _idaapi.vdui_t_head_set) + item = _swig_property(_idaapi.vdui_t_item_get, _idaapi.vdui_t_item_set) + tail = _swig_property(_idaapi.vdui_t_tail_get, _idaapi.vdui_t_tail_set) + def refresh_view(self, *args): + """ + refresh_view(self, redo_mba) + """ + return _idaapi.vdui_t_refresh_view(self, *args) + + def refresh_ctext(self, *args): + """ + refresh_ctext(self, activate=True) + """ + return _idaapi.vdui_t_refresh_ctext(self, *args) + + def switch_to(self, *args): + """ + switch_to(self, f, activate) + """ + return _idaapi.vdui_t_switch_to(self, *args) + + def in_ctree(self, *args): + """ + in_ctree(self) -> bool + """ + return _idaapi.vdui_t_in_ctree(self, *args) + + def get_number(self, *args): + """ + get_number(self) -> cnumber_t + """ + return _idaapi.vdui_t_get_number(self, *args) + + def get_current_label(self, *args): + """ + get_current_label(self) -> int + """ + return _idaapi.vdui_t_get_current_label(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.vdui_t_clear(self, *args) + + def refresh_cpos(self, *args): + """ + refresh_cpos(self, idv) -> bool + """ + return _idaapi.vdui_t_refresh_cpos(self, *args) + + def get_current_item(self, *args): + """ + get_current_item(self, idv) -> bool + """ + return _idaapi.vdui_t_get_current_item(self, *args) + + def ui_rename_lvar(self, *args): + """ + ui_rename_lvar(self, v) -> bool + """ + return _idaapi.vdui_t_ui_rename_lvar(self, *args) + + def rename_lvar(self, *args): + """ + rename_lvar(self, v, name, is_user_name) -> bool + """ + return _idaapi.vdui_t_rename_lvar(self, *args) + + def ui_set_lvar_type(self, *args): + """ + ui_set_lvar_type(self, v) -> bool + """ + return _idaapi.vdui_t_ui_set_lvar_type(self, *args) + + def set_lvar_type(self, *args): + """ + set_lvar_type(self, v, type) -> bool + """ + return _idaapi.vdui_t_set_lvar_type(self, *args) + + def ui_edit_lvar_cmt(self, *args): + """ + ui_edit_lvar_cmt(self, v) -> bool + """ + return _idaapi.vdui_t_ui_edit_lvar_cmt(self, *args) + + def set_lvar_cmt(self, *args): + """ + set_lvar_cmt(self, v, cmt) -> bool + """ + return _idaapi.vdui_t_set_lvar_cmt(self, *args) + + def ui_map_lvar(self, *args): + """ + ui_map_lvar(self, v) -> bool + """ + return _idaapi.vdui_t_ui_map_lvar(self, *args) + + def ui_unmap_lvar(self, *args): + """ + ui_unmap_lvar(self, v) -> bool + """ + return _idaapi.vdui_t_ui_unmap_lvar(self, *args) + + def map_lvar(self, *args): + """ + map_lvar(self, frm, to) -> bool + """ + return _idaapi.vdui_t_map_lvar(self, *args) + + def set_strmem_type(self, *args): + """ + set_strmem_type(self, sptr, mptr) -> bool + """ + return _idaapi.vdui_t_set_strmem_type(self, *args) + + def rename_strmem(self, *args): + """ + rename_strmem(self, sptr, mptr) -> bool + """ + return _idaapi.vdui_t_rename_strmem(self, *args) + + def set_global_type(self, *args): + """ + set_global_type(self, ea) -> bool + """ + return _idaapi.vdui_t_set_global_type(self, *args) + + def rename_global(self, *args): + """ + rename_global(self, ea) -> bool + """ + return _idaapi.vdui_t_rename_global(self, *args) + + def rename_label(self, *args): + """ + rename_label(self, label) -> bool + """ + return _idaapi.vdui_t_rename_label(self, *args) + + def jump_enter(self, *args): + """ + jump_enter(self, idv, omflags) -> bool + """ + return _idaapi.vdui_t_jump_enter(self, *args) + + def ctree_to_disasm(self, *args): + """ + ctree_to_disasm(self) -> bool + """ + return _idaapi.vdui_t_ctree_to_disasm(self, *args) + + def calc_cmt_type(self, *args): + """ + calc_cmt_type(self, lnnum, cmttype) -> cmt_type_t + """ + return _idaapi.vdui_t_calc_cmt_type(self, *args) + + def edit_cmt(self, *args): + """ + edit_cmt(self, loc) -> bool + """ + return _idaapi.vdui_t_edit_cmt(self, *args) + + def edit_func_cmt(self, *args): + """ + edit_func_cmt(self) -> bool + """ + return _idaapi.vdui_t_edit_func_cmt(self, *args) + + def del_orphan_cmts(self, *args): + """ + del_orphan_cmts(self) -> bool + """ + return _idaapi.vdui_t_del_orphan_cmts(self, *args) + + def set_num_radix(self, *args): + """ + set_num_radix(self, base) -> bool + """ + return _idaapi.vdui_t_set_num_radix(self, *args) + + def set_num_enum(self, *args): + """ + set_num_enum(self) -> bool + """ + return _idaapi.vdui_t_set_num_enum(self, *args) + + def set_num_stroff(self, *args): + """ + set_num_stroff(self) -> bool + """ + return _idaapi.vdui_t_set_num_stroff(self, *args) + + def invert_sign(self, *args): + """ + invert_sign(self) -> bool + """ + return _idaapi.vdui_t_invert_sign(self, *args) + + def invert_bits(self, *args): + """ + invert_bits(self) -> bool + """ + return _idaapi.vdui_t_invert_bits(self, *args) + + def collapse_item(self, *args): + """ + collapse_item(self, hide) -> bool + """ + return _idaapi.vdui_t_collapse_item(self, *args) + + def collapse_lvars(self, *args): + """ + collapse_lvars(self, hide) -> bool + """ + return _idaapi.vdui_t_collapse_lvars(self, *args) + + def split_item(self, *args): + """ + split_item(self, split) -> bool + """ + return _idaapi.vdui_t_split_item(self, *args) + + __swig_destroy__ = _idaapi.delete_vdui_t + __del__ = lambda self : None; +vdui_t_swigregister = _idaapi.vdui_t_swigregister +vdui_t_swigregister(vdui_t) +CMT_NONE = cvar.CMT_NONE +CMT_TAIL = cvar.CMT_TAIL +CMT_BLOCK1 = cvar.CMT_BLOCK1 +CMT_BLOCK2 = cvar.CMT_BLOCK2 +CMT_LVAR = cvar.CMT_LVAR +CMT_FUNC = cvar.CMT_FUNC +CMT_ALL = cvar.CMT_ALL +VDUI_VISIBLE = _idaapi.VDUI_VISIBLE +VDUI_VALID = _idaapi.VDUI_VALID +VDUI_LOCKED = _idaapi.VDUI_LOCKED + +hx_user_cmts_begin = _idaapi.hx_user_cmts_begin +hx_user_cmts_end = _idaapi.hx_user_cmts_end +hx_user_cmts_next = _idaapi.hx_user_cmts_next +hx_user_cmts_prev = _idaapi.hx_user_cmts_prev +hx_user_cmts_first = _idaapi.hx_user_cmts_first +hx_user_cmts_second = _idaapi.hx_user_cmts_second +hx_user_cmts_find = _idaapi.hx_user_cmts_find +hx_user_cmts_insert = _idaapi.hx_user_cmts_insert +hx_user_cmts_erase = _idaapi.hx_user_cmts_erase +hx_user_cmts_clear = _idaapi.hx_user_cmts_clear +hx_user_cmts_size = _idaapi.hx_user_cmts_size +hx_user_cmts_free = _idaapi.hx_user_cmts_free +hx_user_numforms_begin = _idaapi.hx_user_numforms_begin +hx_user_numforms_end = _idaapi.hx_user_numforms_end +hx_user_numforms_next = _idaapi.hx_user_numforms_next +hx_user_numforms_prev = _idaapi.hx_user_numforms_prev +hx_user_numforms_first = _idaapi.hx_user_numforms_first +hx_user_numforms_second = _idaapi.hx_user_numforms_second +hx_user_numforms_find = _idaapi.hx_user_numforms_find +hx_user_numforms_insert = _idaapi.hx_user_numforms_insert +hx_user_numforms_erase = _idaapi.hx_user_numforms_erase +hx_user_numforms_clear = _idaapi.hx_user_numforms_clear +hx_user_numforms_size = _idaapi.hx_user_numforms_size +hx_user_numforms_free = _idaapi.hx_user_numforms_free +hx_user_iflags_begin = _idaapi.hx_user_iflags_begin +hx_user_iflags_end = _idaapi.hx_user_iflags_end +hx_user_iflags_next = _idaapi.hx_user_iflags_next +hx_user_iflags_prev = _idaapi.hx_user_iflags_prev +hx_user_iflags_first = _idaapi.hx_user_iflags_first +hx_user_iflags_second = _idaapi.hx_user_iflags_second +hx_user_iflags_find = _idaapi.hx_user_iflags_find +hx_user_iflags_insert = _idaapi.hx_user_iflags_insert +hx_user_iflags_erase = _idaapi.hx_user_iflags_erase +hx_user_iflags_clear = _idaapi.hx_user_iflags_clear +hx_user_iflags_size = _idaapi.hx_user_iflags_size +hx_user_iflags_free = _idaapi.hx_user_iflags_free +hx_user_labels_begin = _idaapi.hx_user_labels_begin +hx_user_labels_end = _idaapi.hx_user_labels_end +hx_user_labels_next = _idaapi.hx_user_labels_next +hx_user_labels_prev = _idaapi.hx_user_labels_prev +hx_user_labels_first = _idaapi.hx_user_labels_first +hx_user_labels_second = _idaapi.hx_user_labels_second +hx_user_labels_find = _idaapi.hx_user_labels_find +hx_user_labels_insert = _idaapi.hx_user_labels_insert +hx_user_labels_erase = _idaapi.hx_user_labels_erase +hx_user_labels_clear = _idaapi.hx_user_labels_clear +hx_user_labels_size = _idaapi.hx_user_labels_size +hx_user_labels_free = _idaapi.hx_user_labels_free +hx_operand_locator_t_compare = _idaapi.hx_operand_locator_t_compare +hx_vd_printer_t_print = _idaapi.hx_vd_printer_t_print +hx_qstring_printer_t_print = _idaapi.hx_qstring_printer_t_print +hx_remove_typedef = _idaapi.hx_remove_typedef +hx_is_type_correct = _idaapi.hx_is_type_correct +hx_is_type_integral = _idaapi.hx_is_type_integral +hx_is_type_small_struni = _idaapi.hx_is_type_small_struni +hx_partial_type_num = _idaapi.hx_partial_type_num +hx_get_float_bit = _idaapi.hx_get_float_bit +hx_typestring_print = _idaapi.hx_typestring_print +hx_typestring_change_sign = _idaapi.hx_typestring_change_sign +hx_typestring_get_cc = _idaapi.hx_typestring_get_cc +hx_typestring_get_nth_arg = _idaapi.hx_typestring_get_nth_arg +hx_get_int_type_by_width_and_sign = _idaapi.hx_get_int_type_by_width_and_sign +hx_get_unk_type = _idaapi.hx_get_unk_type +hx_get_member_type = _idaapi.hx_get_member_type +hx_make_array = _idaapi.hx_make_array +hx_make_pointer = _idaapi.hx_make_pointer +hx_create_typedef = _idaapi.hx_create_typedef +hx_remove_pointer = _idaapi.hx_remove_pointer +hx_cnv_array_to_ptr = _idaapi.hx_cnv_array_to_ptr +hx_strtype_info_t_build_base_type = _idaapi.hx_strtype_info_t_build_base_type +hx_strtype_info_t_build_udt_type = _idaapi.hx_strtype_info_t_build_udt_type +hx_arglocs_overlap = _idaapi.hx_arglocs_overlap +hx_lvar_locator_t_get_regnum = _idaapi.hx_lvar_locator_t_get_regnum +hx_lvar_locator_t_compare = _idaapi.hx_lvar_locator_t_compare +hx_lvar_t_accepts_type = _idaapi.hx_lvar_t_accepts_type +hx_lvar_t_set_lvar_type = _idaapi.hx_lvar_t_set_lvar_type +hx_lvar_t_set_width = _idaapi.hx_lvar_t_set_width +hx_lvars_t_find_stkvar = _idaapi.hx_lvars_t_find_stkvar +hx_lvars_t_find = _idaapi.hx_lvars_t_find +hx_lvars_t_find_lvar = _idaapi.hx_lvars_t_find_lvar +hx_restore_user_lvar_settings = _idaapi.hx_restore_user_lvar_settings +hx_save_user_lvar_settings = _idaapi.hx_save_user_lvar_settings +hx_fnumber_t_print = _idaapi.hx_fnumber_t_print +hx_get_hexrays_version = _idaapi.hx_get_hexrays_version +hx_open_pseudocode = _idaapi.hx_open_pseudocode +hx_close_pseudocode = _idaapi.hx_close_pseudocode +hx_decompile = _idaapi.hx_decompile +hx_decompile_many = _idaapi.hx_decompile_many +hx_micro_err_format = _idaapi.hx_micro_err_format +hx_hexrays_failure_t_desc = _idaapi.hx_hexrays_failure_t_desc +hx_send_database = _idaapi.hx_send_database +hx_negated_relation = _idaapi.hx_negated_relation +hx_get_op_signness = _idaapi.hx_get_op_signness +hx_asgop = _idaapi.hx_asgop +hx_asgop_revert = _idaapi.hx_asgop_revert +hx_cnumber_t_print = _idaapi.hx_cnumber_t_print +hx_cnumber_t_value = _idaapi.hx_cnumber_t_value +hx_cnumber_t_assign = _idaapi.hx_cnumber_t_assign +hx_cnumber_t_compare = _idaapi.hx_cnumber_t_compare +hx_var_ref_t_compare = _idaapi.hx_var_ref_t_compare +hx_ctree_visitor_t_apply_to = _idaapi.hx_ctree_visitor_t_apply_to +hx_ctree_visitor_t_apply_to_exprs = _idaapi.hx_ctree_visitor_t_apply_to_exprs +hx_ctree_parentee_t_recalc_parent_types = _idaapi.hx_ctree_parentee_t_recalc_parent_types +hx_cfunc_parentee_t_calc_rvalue_type = _idaapi.hx_cfunc_parentee_t_calc_rvalue_type +hx_citem_locator_t_compare = _idaapi.hx_citem_locator_t_compare +hx_citem_t_contains_label = _idaapi.hx_citem_t_contains_label +hx_citem_t_find_parent_of = _idaapi.hx_citem_t_find_parent_of +hx_cexpr_t_assign = _idaapi.hx_cexpr_t_assign +hx_cexpr_t_compare = _idaapi.hx_cexpr_t_compare +hx_cexpr_t_replace_by = _idaapi.hx_cexpr_t_replace_by +hx_cexpr_t_cleanup = _idaapi.hx_cexpr_t_cleanup +hx_cexpr_t_put_number = _idaapi.hx_cexpr_t_put_number +hx_cexpr_t_print1 = _idaapi.hx_cexpr_t_print1 +hx_cexpr_t_calc_type = _idaapi.hx_cexpr_t_calc_type +hx_cexpr_t_equal_effect = _idaapi.hx_cexpr_t_equal_effect +hx_cexpr_t_is_child_of = _idaapi.hx_cexpr_t_is_child_of +hx_cexpr_t_contains_operator = _idaapi.hx_cexpr_t_contains_operator +hx_cexpr_t_get_high_nbit_bound = _idaapi.hx_cexpr_t_get_high_nbit_bound +hx_cexpr_t_requires_lvalue = _idaapi.hx_cexpr_t_requires_lvalue +hx_cexpr_t_has_side_effects = _idaapi.hx_cexpr_t_has_side_effects +hx_cif_t_assign = _idaapi.hx_cif_t_assign +hx_cif_t_compare = _idaapi.hx_cif_t_compare +hx_cloop_t_assign = _idaapi.hx_cloop_t_assign +hx_cfor_t_compare = _idaapi.hx_cfor_t_compare +hx_cwhile_t_compare = _idaapi.hx_cwhile_t_compare +hx_cdo_t_compare = _idaapi.hx_cdo_t_compare +hx_creturn_t_compare = _idaapi.hx_creturn_t_compare +hx_cgoto_t_compare = _idaapi.hx_cgoto_t_compare +hx_casm_t_compare = _idaapi.hx_casm_t_compare +hx_cinsn_t_assign = _idaapi.hx_cinsn_t_assign +hx_cinsn_t_compare = _idaapi.hx_cinsn_t_compare +hx_cinsn_t_replace_by = _idaapi.hx_cinsn_t_replace_by +hx_cinsn_t_cleanup = _idaapi.hx_cinsn_t_cleanup +hx_cinsn_t_new_insn = _idaapi.hx_cinsn_t_new_insn +hx_cinsn_t_create_if = _idaapi.hx_cinsn_t_create_if +hx_cinsn_t_print = _idaapi.hx_cinsn_t_print +hx_cinsn_t_print1 = _idaapi.hx_cinsn_t_print1 +hx_cinsn_t_is_ordinary_flow = _idaapi.hx_cinsn_t_is_ordinary_flow +hx_cinsn_t_contains_insn = _idaapi.hx_cinsn_t_contains_insn +hx_cinsn_t_collect_free_breaks = _idaapi.hx_cinsn_t_collect_free_breaks +hx_cinsn_t_collect_free_continues = _idaapi.hx_cinsn_t_collect_free_continues +hx_cblock_t_compare = _idaapi.hx_cblock_t_compare +hx_carglist_t_compare = _idaapi.hx_carglist_t_compare +hx_ccase_t_compare = _idaapi.hx_ccase_t_compare +hx_ccases_t_compare = _idaapi.hx_ccases_t_compare +hx_cswitch_t_compare = _idaapi.hx_cswitch_t_compare +hx_ctree_item_t_get_memptr = _idaapi.hx_ctree_item_t_get_memptr +hx_ctree_item_t_get_lvar = _idaapi.hx_ctree_item_t_get_lvar +hx_ctree_item_t_get_ea = _idaapi.hx_ctree_item_t_get_ea +hx_ctree_item_t_get_label_num = _idaapi.hx_ctree_item_t_get_label_num +hx_lnot = _idaapi.hx_lnot +hx_new_block = _idaapi.hx_new_block +hx_vcreate_helper = _idaapi.hx_vcreate_helper +hx_vcall_helper = _idaapi.hx_vcall_helper +hx_make_num = _idaapi.hx_make_num +hx_make_ref = _idaapi.hx_make_ref +hx_dereference = _idaapi.hx_dereference +hx_save_user_labels = _idaapi.hx_save_user_labels +hx_save_user_cmts = _idaapi.hx_save_user_cmts +hx_save_user_numforms = _idaapi.hx_save_user_numforms +hx_save_user_iflags = _idaapi.hx_save_user_iflags +hx_restore_user_labels = _idaapi.hx_restore_user_labels +hx_restore_user_cmts = _idaapi.hx_restore_user_cmts +hx_restore_user_numforms = _idaapi.hx_restore_user_numforms +hx_restore_user_iflags = _idaapi.hx_restore_user_iflags +hx_cfunc_t_build_c_tree = _idaapi.hx_cfunc_t_build_c_tree +hx_cfunc_t_verify = _idaapi.hx_cfunc_t_verify +hx_cfunc_t_print_dcl = _idaapi.hx_cfunc_t_print_dcl +hx_cfunc_t_print_func = _idaapi.hx_cfunc_t_print_func +hx_cfunc_t_get_func_type = _idaapi.hx_cfunc_t_get_func_type +hx_cfunc_t_get_lvars = _idaapi.hx_cfunc_t_get_lvars +hx_cfunc_t_find_label = _idaapi.hx_cfunc_t_find_label +hx_cfunc_t_remove_unused_labels = _idaapi.hx_cfunc_t_remove_unused_labels +hx_cfunc_t_get_user_cmt = _idaapi.hx_cfunc_t_get_user_cmt +hx_cfunc_t_set_user_cmt = _idaapi.hx_cfunc_t_set_user_cmt +hx_cfunc_t_get_user_iflags = _idaapi.hx_cfunc_t_get_user_iflags +hx_cfunc_t_set_user_iflags = _idaapi.hx_cfunc_t_set_user_iflags +hx_cfunc_t_has_orphan_cmts = _idaapi.hx_cfunc_t_has_orphan_cmts +hx_cfunc_t_del_orphan_cmts = _idaapi.hx_cfunc_t_del_orphan_cmts +hx_cfunc_t_get_line_item = _idaapi.hx_cfunc_t_get_line_item +hx_cfunc_t_get_warnings = _idaapi.hx_cfunc_t_get_warnings +hx_cfunc_t_gather_derefs = _idaapi.hx_cfunc_t_gather_derefs +hx_cfunc_t_cleanup = _idaapi.hx_cfunc_t_cleanup +hx_get_ctype_name = _idaapi.hx_get_ctype_name +hx_install_hexrays_callback = _idaapi.hx_install_hexrays_callback +hx_remove_hexrays_callback = _idaapi.hx_remove_hexrays_callback +hx_vdui_t_refresh_view = _idaapi.hx_vdui_t_refresh_view +hx_vdui_t_refresh_ctext = _idaapi.hx_vdui_t_refresh_ctext +hx_vdui_t_switch_to = _idaapi.hx_vdui_t_switch_to +hx_vdui_t_get_number = _idaapi.hx_vdui_t_get_number +hx_vdui_t_clear = _idaapi.hx_vdui_t_clear +hx_vdui_t_refresh_cpos = _idaapi.hx_vdui_t_refresh_cpos +hx_vdui_t_get_current_item = _idaapi.hx_vdui_t_get_current_item +hx_vdui_t_ui_rename_lvar = _idaapi.hx_vdui_t_ui_rename_lvar +hx_vdui_t_rename_lvar = _idaapi.hx_vdui_t_rename_lvar +hx_vdui_t_ui_set_lvar_type = _idaapi.hx_vdui_t_ui_set_lvar_type +hx_vdui_t_set_lvar_type = _idaapi.hx_vdui_t_set_lvar_type +hx_vdui_t_edit_lvar_cmt = _idaapi.hx_vdui_t_edit_lvar_cmt +hx_vdui_t_set_lvar_cmt = _idaapi.hx_vdui_t_set_lvar_cmt +hx_vdui_t_set_strmem_type = _idaapi.hx_vdui_t_set_strmem_type +hx_vdui_t_rename_strmem = _idaapi.hx_vdui_t_rename_strmem +hx_vdui_t_set_global_type = _idaapi.hx_vdui_t_set_global_type +hx_vdui_t_rename_global = _idaapi.hx_vdui_t_rename_global +hx_vdui_t_rename_label = _idaapi.hx_vdui_t_rename_label +hx_vdui_t_jump_enter = _idaapi.hx_vdui_t_jump_enter +hx_vdui_t_ctree_to_disasm = _idaapi.hx_vdui_t_ctree_to_disasm +hx_vdui_t_push_current_location = _idaapi.hx_vdui_t_push_current_location +hx_vdui_t_pop_current_location = _idaapi.hx_vdui_t_pop_current_location +hx_vdui_t_calc_cmt_type = _idaapi.hx_vdui_t_calc_cmt_type +hx_vdui_t_edit_cmt = _idaapi.hx_vdui_t_edit_cmt +hx_vdui_t_edit_func_cmt = _idaapi.hx_vdui_t_edit_func_cmt +hx_vdui_t_del_orphan_cmts = _idaapi.hx_vdui_t_del_orphan_cmts +hx_vdui_t_set_num_radix = _idaapi.hx_vdui_t_set_num_radix +hx_vdui_t_set_num_enum = _idaapi.hx_vdui_t_set_num_enum +hx_vdui_t_set_num_stroff = _idaapi.hx_vdui_t_set_num_stroff +hx_vdui_t_invert_sign = _idaapi.hx_vdui_t_invert_sign +hx_vdui_t_collapse_item = _idaapi.hx_vdui_t_collapse_item +hx_vdui_t_split_item = _idaapi.hx_vdui_t_split_item +hx_vdui_t_set_vargloc_end = _idaapi.hx_vdui_t_set_vargloc_end +hx_lvar_mapping_begin = _idaapi.hx_lvar_mapping_begin +hx_lvar_mapping_end = _idaapi.hx_lvar_mapping_end +hx_lvar_mapping_next = _idaapi.hx_lvar_mapping_next +hx_lvar_mapping_prev = _idaapi.hx_lvar_mapping_prev +hx_lvar_mapping_first = _idaapi.hx_lvar_mapping_first +hx_lvar_mapping_second = _idaapi.hx_lvar_mapping_second +hx_lvar_mapping_find = _idaapi.hx_lvar_mapping_find +hx_lvar_mapping_insert = _idaapi.hx_lvar_mapping_insert +hx_lvar_mapping_erase = _idaapi.hx_lvar_mapping_erase +hx_lvar_mapping_clear = _idaapi.hx_lvar_mapping_clear +hx_lvar_mapping_size = _idaapi.hx_lvar_mapping_size +hx_lvar_mapping_free = _idaapi.hx_lvar_mapping_free +hx_user_unions_begin = _idaapi.hx_user_unions_begin +hx_user_unions_end = _idaapi.hx_user_unions_end +hx_user_unions_next = _idaapi.hx_user_unions_next +hx_user_unions_prev = _idaapi.hx_user_unions_prev +hx_user_unions_first = _idaapi.hx_user_unions_first +hx_user_unions_second = _idaapi.hx_user_unions_second +hx_user_unions_find = _idaapi.hx_user_unions_find +hx_user_unions_insert = _idaapi.hx_user_unions_insert +hx_user_unions_erase = _idaapi.hx_user_unions_erase +hx_user_unions_clear = _idaapi.hx_user_unions_clear +hx_user_unions_size = _idaapi.hx_user_unions_size +hx_user_unions_free = _idaapi.hx_user_unions_free +hx_strtype_info_t_create_from = _idaapi.hx_strtype_info_t_create_from +hx_save_user_unions = _idaapi.hx_save_user_unions +hx_restore_user_unions = _idaapi.hx_restore_user_unions +hx_cfunc_t_get_user_union_selection = _idaapi.hx_cfunc_t_get_user_union_selection +hx_cfunc_t_set_user_union_selection = _idaapi.hx_cfunc_t_set_user_union_selection +hx_vdui_t_ui_edit_lvar_cmt = _idaapi.hx_vdui_t_ui_edit_lvar_cmt +hx_vdui_t_ui_map_lvar = _idaapi.hx_vdui_t_ui_map_lvar +hx_vdui_t_ui_unmap_lvar = _idaapi.hx_vdui_t_ui_unmap_lvar +hx_vdui_t_map_lvar = _idaapi.hx_vdui_t_map_lvar +hx_dummy_ptrtype = _idaapi.hx_dummy_ptrtype +hx_create_field_name = _idaapi.hx_create_field_name +hx_dummy_plist_for = _idaapi.hx_dummy_plist_for +hx_make_dt = _idaapi.hx_make_dt +hx_cexpr_t_get_low_nbit_bound = _idaapi.hx_cexpr_t_get_low_nbit_bound +hx_eamap_begin = _idaapi.hx_eamap_begin +hx_eamap_end = _idaapi.hx_eamap_end +hx_eamap_next = _idaapi.hx_eamap_next +hx_eamap_prev = _idaapi.hx_eamap_prev +hx_eamap_first = _idaapi.hx_eamap_first +hx_eamap_second = _idaapi.hx_eamap_second +hx_eamap_find = _idaapi.hx_eamap_find +hx_eamap_insert = _idaapi.hx_eamap_insert +hx_eamap_erase = _idaapi.hx_eamap_erase +hx_eamap_clear = _idaapi.hx_eamap_clear +hx_eamap_size = _idaapi.hx_eamap_size +hx_eamap_free = _idaapi.hx_eamap_free +hx_boundaries_begin = _idaapi.hx_boundaries_begin +hx_boundaries_end = _idaapi.hx_boundaries_end +hx_boundaries_next = _idaapi.hx_boundaries_next +hx_boundaries_prev = _idaapi.hx_boundaries_prev +hx_boundaries_first = _idaapi.hx_boundaries_first +hx_boundaries_second = _idaapi.hx_boundaries_second +hx_boundaries_find = _idaapi.hx_boundaries_find +hx_boundaries_insert = _idaapi.hx_boundaries_insert +hx_boundaries_erase = _idaapi.hx_boundaries_erase +hx_boundaries_clear = _idaapi.hx_boundaries_clear +hx_boundaries_size = _idaapi.hx_boundaries_size +hx_boundaries_free = _idaapi.hx_boundaries_free +hx_mark_cfunc_dirty = _idaapi.hx_mark_cfunc_dirty +hx_clear_cached_cfuncs = _idaapi.hx_clear_cached_cfuncs +hx_has_cached_cfunc = _idaapi.hx_has_cached_cfunc +hx_cfunc_t_get_eamap = _idaapi.hx_cfunc_t_get_eamap +hx_cfunc_t_get_boundaries = _idaapi.hx_cfunc_t_get_boundaries +hx_cfunc_t_get_pseudocode = _idaapi.hx_cfunc_t_get_pseudocode +hx_vdui_t_collapse_lvars = _idaapi.hx_vdui_t_collapse_lvars +hx_vdui_t_invert_bits = _idaapi.hx_vdui_t_invert_bits +hx_print_vdloc = _idaapi.hx_print_vdloc +hx_is_small_struni = _idaapi.hx_is_small_struni +hx_is_nonbool_type = _idaapi.hx_is_nonbool_type +hx_is_bool_type = _idaapi.hx_is_bool_type +hx_get_type = _idaapi.hx_get_type +hx_set_type = _idaapi.hx_set_type +hx_vdloc_t_compare = _idaapi.hx_vdloc_t_compare +hx_get_float_type = _idaapi.hx_get_float_type +hx_vdui_t_get_current_label = _idaapi.hx_vdui_t_get_current_label +hx_get_tform_vdui = _idaapi.hx_get_tform_vdui +hx_cfunc_t_print_dcl2 = _idaapi.hx_cfunc_t_print_dcl2 + +def term_hexrays_plugin(*args): + """ + term_hexrays_plugin() + """ + return _idaapi.term_hexrays_plugin(*args) +class user_numforms_iterator_t(object): + """ + Proxy of C++ user_numforms_iterator_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + x = _swig_property(_idaapi.user_numforms_iterator_t_x_get, _idaapi.user_numforms_iterator_t_x_set) + def __eq__(self, *args): + """ + __eq__(self, p) -> bool + """ + return _idaapi.user_numforms_iterator_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, p) -> bool + """ + return _idaapi.user_numforms_iterator_t___ne__(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> user_numforms_iterator_t + """ + this = _idaapi.new_user_numforms_iterator_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_user_numforms_iterator_t + __del__ = lambda self : None; +user_numforms_iterator_t_swigregister = _idaapi.user_numforms_iterator_t_swigregister +user_numforms_iterator_t_swigregister(user_numforms_iterator_t) + + +def user_numforms_begin(*args): + """ + user_numforms_begin(map) -> user_numforms_iterator_t + """ + return _idaapi.user_numforms_begin(*args) + +def user_numforms_end(*args): + """ + user_numforms_end(map) -> user_numforms_iterator_t + """ + return _idaapi.user_numforms_end(*args) + +def user_numforms_next(*args): + """ + user_numforms_next(p) -> user_numforms_iterator_t + """ + return _idaapi.user_numforms_next(*args) + +def user_numforms_prev(*args): + """ + user_numforms_prev(p) -> user_numforms_iterator_t + """ + return _idaapi.user_numforms_prev(*args) + +def user_numforms_first(*args): + """ + user_numforms_first(p) -> operand_locator_t + """ + return _idaapi.user_numforms_first(*args) + +def user_numforms_second(*args): + """ + user_numforms_second(p) -> number_format_t + """ + return _idaapi.user_numforms_second(*args) + +def user_numforms_find(*args): + """ + user_numforms_find(map, key) -> user_numforms_iterator_t + """ + return _idaapi.user_numforms_find(*args) + +def user_numforms_insert(*args): + """ + user_numforms_insert(map, key, val) -> user_numforms_iterator_t + """ + return _idaapi.user_numforms_insert(*args) + +def user_numforms_erase(*args): + """ + user_numforms_erase(map, p) + """ + return _idaapi.user_numforms_erase(*args) + +def user_numforms_clear(*args): + """ + user_numforms_clear(map) + """ + return _idaapi.user_numforms_clear(*args) + +def user_numforms_size(*args): + """ + user_numforms_size(map) -> size_t + """ + return _idaapi.user_numforms_size(*args) + +def user_numforms_free(*args): + """ + user_numforms_free(map) + """ + return _idaapi.user_numforms_free(*args) +class lvar_mapping_iterator_t(object): + """ + Proxy of C++ lvar_mapping_iterator_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + x = _swig_property(_idaapi.lvar_mapping_iterator_t_x_get, _idaapi.lvar_mapping_iterator_t_x_set) + def __eq__(self, *args): + """ + __eq__(self, p) -> bool + """ + return _idaapi.lvar_mapping_iterator_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, p) -> bool + """ + return _idaapi.lvar_mapping_iterator_t___ne__(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> lvar_mapping_iterator_t + """ + this = _idaapi.new_lvar_mapping_iterator_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_lvar_mapping_iterator_t + __del__ = lambda self : None; +lvar_mapping_iterator_t_swigregister = _idaapi.lvar_mapping_iterator_t_swigregister +lvar_mapping_iterator_t_swigregister(lvar_mapping_iterator_t) + + +def lvar_mapping_begin(*args): + """ + lvar_mapping_begin(map) -> lvar_mapping_iterator_t + """ + return _idaapi.lvar_mapping_begin(*args) + +def lvar_mapping_end(*args): + """ + lvar_mapping_end(map) -> lvar_mapping_iterator_t + """ + return _idaapi.lvar_mapping_end(*args) + +def lvar_mapping_next(*args): + """ + lvar_mapping_next(p) -> lvar_mapping_iterator_t + """ + return _idaapi.lvar_mapping_next(*args) + +def lvar_mapping_prev(*args): + """ + lvar_mapping_prev(p) -> lvar_mapping_iterator_t + """ + return _idaapi.lvar_mapping_prev(*args) + +def lvar_mapping_first(*args): + """ + lvar_mapping_first(p) -> lvar_locator_t + """ + return _idaapi.lvar_mapping_first(*args) + +def lvar_mapping_second(*args): + """ + lvar_mapping_second(p) -> lvar_locator_t + """ + return _idaapi.lvar_mapping_second(*args) + +def lvar_mapping_find(*args): + """ + lvar_mapping_find(map, key) -> lvar_mapping_iterator_t + """ + return _idaapi.lvar_mapping_find(*args) + +def lvar_mapping_insert(*args): + """ + lvar_mapping_insert(map, key, val) -> lvar_mapping_iterator_t + """ + return _idaapi.lvar_mapping_insert(*args) + +def lvar_mapping_erase(*args): + """ + lvar_mapping_erase(map, p) + """ + return _idaapi.lvar_mapping_erase(*args) + +def lvar_mapping_clear(*args): + """ + lvar_mapping_clear(map) + """ + return _idaapi.lvar_mapping_clear(*args) + +def lvar_mapping_size(*args): + """ + lvar_mapping_size(map) -> size_t + """ + return _idaapi.lvar_mapping_size(*args) + +def lvar_mapping_free(*args): + """ + lvar_mapping_free(map) + """ + return _idaapi.lvar_mapping_free(*args) +class user_cmts_iterator_t(object): + """ + Proxy of C++ user_cmts_iterator_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + x = _swig_property(_idaapi.user_cmts_iterator_t_x_get, _idaapi.user_cmts_iterator_t_x_set) + def __eq__(self, *args): + """ + __eq__(self, p) -> bool + """ + return _idaapi.user_cmts_iterator_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, p) -> bool + """ + return _idaapi.user_cmts_iterator_t___ne__(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> user_cmts_iterator_t + """ + this = _idaapi.new_user_cmts_iterator_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_user_cmts_iterator_t + __del__ = lambda self : None; +user_cmts_iterator_t_swigregister = _idaapi.user_cmts_iterator_t_swigregister +user_cmts_iterator_t_swigregister(user_cmts_iterator_t) + + +def user_cmts_begin(*args): + """ + user_cmts_begin(map) -> user_cmts_iterator_t + """ + return _idaapi.user_cmts_begin(*args) + +def user_cmts_end(*args): + """ + user_cmts_end(map) -> user_cmts_iterator_t + """ + return _idaapi.user_cmts_end(*args) + +def user_cmts_next(*args): + """ + user_cmts_next(p) -> user_cmts_iterator_t + """ + return _idaapi.user_cmts_next(*args) + +def user_cmts_prev(*args): + """ + user_cmts_prev(p) -> user_cmts_iterator_t + """ + return _idaapi.user_cmts_prev(*args) + +def user_cmts_first(*args): + """ + user_cmts_first(p) -> treeloc_t + """ + return _idaapi.user_cmts_first(*args) + +def user_cmts_second(*args): + """ + user_cmts_second(p) -> citem_cmt_t + """ + return _idaapi.user_cmts_second(*args) + +def user_cmts_find(*args): + """ + user_cmts_find(map, key) -> user_cmts_iterator_t + """ + return _idaapi.user_cmts_find(*args) + +def user_cmts_insert(*args): + """ + user_cmts_insert(map, key, val) -> user_cmts_iterator_t + """ + return _idaapi.user_cmts_insert(*args) + +def user_cmts_erase(*args): + """ + user_cmts_erase(map, p) + """ + return _idaapi.user_cmts_erase(*args) + +def user_cmts_clear(*args): + """ + user_cmts_clear(map) + """ + return _idaapi.user_cmts_clear(*args) + +def user_cmts_size(*args): + """ + user_cmts_size(map) -> size_t + """ + return _idaapi.user_cmts_size(*args) + +def user_cmts_free(*args): + """ + user_cmts_free(map) + """ + return _idaapi.user_cmts_free(*args) +class user_iflags_iterator_t(object): + """ + Proxy of C++ user_iflags_iterator_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + x = _swig_property(_idaapi.user_iflags_iterator_t_x_get, _idaapi.user_iflags_iterator_t_x_set) + def __eq__(self, *args): + """ + __eq__(self, p) -> bool + """ + return _idaapi.user_iflags_iterator_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, p) -> bool + """ + return _idaapi.user_iflags_iterator_t___ne__(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> user_iflags_iterator_t + """ + this = _idaapi.new_user_iflags_iterator_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_user_iflags_iterator_t + __del__ = lambda self : None; +user_iflags_iterator_t_swigregister = _idaapi.user_iflags_iterator_t_swigregister +user_iflags_iterator_t_swigregister(user_iflags_iterator_t) + + +def user_iflags_begin(*args): + """ + user_iflags_begin(map) -> user_iflags_iterator_t + """ + return _idaapi.user_iflags_begin(*args) + +def user_iflags_end(*args): + """ + user_iflags_end(map) -> user_iflags_iterator_t + """ + return _idaapi.user_iflags_end(*args) + +def user_iflags_next(*args): + """ + user_iflags_next(p) -> user_iflags_iterator_t + """ + return _idaapi.user_iflags_next(*args) + +def user_iflags_prev(*args): + """ + user_iflags_prev(p) -> user_iflags_iterator_t + """ + return _idaapi.user_iflags_prev(*args) + +def user_iflags_first(*args): + """ + user_iflags_first(p) -> citem_locator_t + """ + return _idaapi.user_iflags_first(*args) + +def user_iflags_second(*args): + """ + user_iflags_second(p) -> int32 & + """ + return _idaapi.user_iflags_second(*args) + +def user_iflags_find(*args): + """ + user_iflags_find(map, key) -> user_iflags_iterator_t + """ + return _idaapi.user_iflags_find(*args) + +def user_iflags_insert(*args): + """ + user_iflags_insert(map, key, val) -> user_iflags_iterator_t + """ + return _idaapi.user_iflags_insert(*args) + +def user_iflags_erase(*args): + """ + user_iflags_erase(map, p) + """ + return _idaapi.user_iflags_erase(*args) + +def user_iflags_clear(*args): + """ + user_iflags_clear(map) + """ + return _idaapi.user_iflags_clear(*args) + +def user_iflags_size(*args): + """ + user_iflags_size(map) -> size_t + """ + return _idaapi.user_iflags_size(*args) + +def user_iflags_free(*args): + """ + user_iflags_free(map) + """ + return _idaapi.user_iflags_free(*args) +class user_unions_iterator_t(object): + """ + Proxy of C++ user_unions_iterator_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + x = _swig_property(_idaapi.user_unions_iterator_t_x_get, _idaapi.user_unions_iterator_t_x_set) + def __eq__(self, *args): + """ + __eq__(self, p) -> bool + """ + return _idaapi.user_unions_iterator_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, p) -> bool + """ + return _idaapi.user_unions_iterator_t___ne__(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> user_unions_iterator_t + """ + this = _idaapi.new_user_unions_iterator_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_user_unions_iterator_t + __del__ = lambda self : None; +user_unions_iterator_t_swigregister = _idaapi.user_unions_iterator_t_swigregister +user_unions_iterator_t_swigregister(user_unions_iterator_t) + + +def user_unions_begin(*args): + """ + user_unions_begin(map) -> user_unions_iterator_t + """ + return _idaapi.user_unions_begin(*args) + +def user_unions_end(*args): + """ + user_unions_end(map) -> user_unions_iterator_t + """ + return _idaapi.user_unions_end(*args) + +def user_unions_next(*args): + """ + user_unions_next(p) -> user_unions_iterator_t + """ + return _idaapi.user_unions_next(*args) + +def user_unions_prev(*args): + """ + user_unions_prev(p) -> user_unions_iterator_t + """ + return _idaapi.user_unions_prev(*args) + +def user_unions_first(*args): + """ + user_unions_first(p) -> ea_t const & + """ + return _idaapi.user_unions_first(*args) + +def user_unions_second(*args): + """ + user_unions_second(p) -> intvec_t + """ + return _idaapi.user_unions_second(*args) + +def user_unions_find(*args): + """ + user_unions_find(map, key) -> user_unions_iterator_t + """ + return _idaapi.user_unions_find(*args) + +def user_unions_insert(*args): + """ + user_unions_insert(map, key, val) -> user_unions_iterator_t + """ + return _idaapi.user_unions_insert(*args) + +def user_unions_erase(*args): + """ + user_unions_erase(map, p) + """ + return _idaapi.user_unions_erase(*args) + +def user_unions_clear(*args): + """ + user_unions_clear(map) + """ + return _idaapi.user_unions_clear(*args) + +def user_unions_size(*args): + """ + user_unions_size(map) -> size_t + """ + return _idaapi.user_unions_size(*args) + +def user_unions_free(*args): + """ + user_unions_free(map) + """ + return _idaapi.user_unions_free(*args) +class user_labels_iterator_t(object): + """ + Proxy of C++ user_labels_iterator_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + x = _swig_property(_idaapi.user_labels_iterator_t_x_get, _idaapi.user_labels_iterator_t_x_set) + def __eq__(self, *args): + """ + __eq__(self, p) -> bool + """ + return _idaapi.user_labels_iterator_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, p) -> bool + """ + return _idaapi.user_labels_iterator_t___ne__(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> user_labels_iterator_t + """ + this = _idaapi.new_user_labels_iterator_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_user_labels_iterator_t + __del__ = lambda self : None; +user_labels_iterator_t_swigregister = _idaapi.user_labels_iterator_t_swigregister +user_labels_iterator_t_swigregister(user_labels_iterator_t) + + +def user_labels_begin(*args): + """ + user_labels_begin(map) -> user_labels_iterator_t + """ + return _idaapi.user_labels_begin(*args) + +def user_labels_end(*args): + """ + user_labels_end(map) -> user_labels_iterator_t + """ + return _idaapi.user_labels_end(*args) + +def user_labels_next(*args): + """ + user_labels_next(p) -> user_labels_iterator_t + """ + return _idaapi.user_labels_next(*args) + +def user_labels_prev(*args): + """ + user_labels_prev(p) -> user_labels_iterator_t + """ + return _idaapi.user_labels_prev(*args) + +def user_labels_first(*args): + """ + user_labels_first(p) -> int const & + """ + return _idaapi.user_labels_first(*args) + +def user_labels_second(*args): + """ + user_labels_second(p) -> qstring & + """ + return _idaapi.user_labels_second(*args) + +def user_labels_find(*args): + """ + user_labels_find(map, key) -> user_labels_iterator_t + """ + return _idaapi.user_labels_find(*args) + +def user_labels_insert(*args): + """ + user_labels_insert(map, key, val) -> user_labels_iterator_t + """ + return _idaapi.user_labels_insert(*args) + +def user_labels_erase(*args): + """ + user_labels_erase(map, p) + """ + return _idaapi.user_labels_erase(*args) + +def user_labels_clear(*args): + """ + user_labels_clear(map) + """ + return _idaapi.user_labels_clear(*args) + +def user_labels_size(*args): + """ + user_labels_size(map) -> size_t + """ + return _idaapi.user_labels_size(*args) + +def user_labels_free(*args): + """ + user_labels_free(map) + """ + return _idaapi.user_labels_free(*args) +class eamap_iterator_t(object): + """ + Proxy of C++ eamap_iterator_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + x = _swig_property(_idaapi.eamap_iterator_t_x_get, _idaapi.eamap_iterator_t_x_set) + def __eq__(self, *args): + """ + __eq__(self, p) -> bool + """ + return _idaapi.eamap_iterator_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, p) -> bool + """ + return _idaapi.eamap_iterator_t___ne__(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> eamap_iterator_t + """ + this = _idaapi.new_eamap_iterator_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_eamap_iterator_t + __del__ = lambda self : None; +eamap_iterator_t_swigregister = _idaapi.eamap_iterator_t_swigregister +eamap_iterator_t_swigregister(eamap_iterator_t) + + +def eamap_begin(*args): + """ + eamap_begin(map) -> eamap_iterator_t + """ + return _idaapi.eamap_begin(*args) + +def eamap_end(*args): + """ + eamap_end(map) -> eamap_iterator_t + """ + return _idaapi.eamap_end(*args) + +def eamap_next(*args): + """ + eamap_next(p) -> eamap_iterator_t + """ + return _idaapi.eamap_next(*args) + +def eamap_prev(*args): + """ + eamap_prev(p) -> eamap_iterator_t + """ + return _idaapi.eamap_prev(*args) + +def eamap_first(*args): + """ + eamap_first(p) -> ea_t const & + """ + return _idaapi.eamap_first(*args) + +def eamap_second(*args): + """ + eamap_second(p) -> cinsnptrvec_t + """ + return _idaapi.eamap_second(*args) + +def eamap_find(*args): + """ + eamap_find(map, key) -> eamap_iterator_t + """ + return _idaapi.eamap_find(*args) + +def eamap_insert(*args): + """ + eamap_insert(map, key, val) -> eamap_iterator_t + """ + return _idaapi.eamap_insert(*args) + +def eamap_erase(*args): + """ + eamap_erase(map, p) + """ + return _idaapi.eamap_erase(*args) + +def eamap_clear(*args): + """ + eamap_clear(map) + """ + return _idaapi.eamap_clear(*args) + +def eamap_size(*args): + """ + eamap_size(map) -> size_t + """ + return _idaapi.eamap_size(*args) + +def eamap_free(*args): + """ + eamap_free(map) + """ + return _idaapi.eamap_free(*args) +class boundaries_iterator_t(object): + """ + Proxy of C++ boundaries_iterator_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + x = _swig_property(_idaapi.boundaries_iterator_t_x_get, _idaapi.boundaries_iterator_t_x_set) + def __eq__(self, *args): + """ + __eq__(self, p) -> bool + """ + return _idaapi.boundaries_iterator_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, p) -> bool + """ + return _idaapi.boundaries_iterator_t___ne__(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> boundaries_iterator_t + """ + this = _idaapi.new_boundaries_iterator_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_boundaries_iterator_t + __del__ = lambda self : None; +boundaries_iterator_t_swigregister = _idaapi.boundaries_iterator_t_swigregister +boundaries_iterator_t_swigregister(boundaries_iterator_t) + + +def boundaries_begin(*args): + """ + boundaries_begin(map) -> boundaries_iterator_t + """ + return _idaapi.boundaries_begin(*args) + +def boundaries_end(*args): + """ + boundaries_end(map) -> boundaries_iterator_t + """ + return _idaapi.boundaries_end(*args) + +def boundaries_next(*args): + """ + boundaries_next(p) -> boundaries_iterator_t + """ + return _idaapi.boundaries_next(*args) + +def boundaries_prev(*args): + """ + boundaries_prev(p) -> boundaries_iterator_t + """ + return _idaapi.boundaries_prev(*args) + +def boundaries_first(*args): + """ + boundaries_first(p) -> cinsn_t + """ + return _idaapi.boundaries_first(*args) + +def boundaries_second(*args): + """ + boundaries_second(p) -> areaset_t + """ + return _idaapi.boundaries_second(*args) + +def boundaries_find(*args): + """ + boundaries_find(map, key) -> boundaries_iterator_t + """ + return _idaapi.boundaries_find(*args) + +def boundaries_insert(*args): + """ + boundaries_insert(map, key, val) -> boundaries_iterator_t + """ + return _idaapi.boundaries_insert(*args) + +def boundaries_erase(*args): + """ + boundaries_erase(map, p) + """ + return _idaapi.boundaries_erase(*args) + +def boundaries_clear(*args): + """ + boundaries_clear(map) + """ + return _idaapi.boundaries_clear(*args) + +def boundaries_size(*args): + """ + boundaries_size(map) -> size_t + """ + return _idaapi.boundaries_size(*args) + +def boundaries_free(*args): + """ + boundaries_free(map) + """ + return _idaapi.boundaries_free(*args) +import idaapi + +hexrays_failure_t.__str__ = lambda self: str(self.str) + +# --------------------------------------------------------------------- +class DecompilationFailure(Exception): + """ + Raised on a decompilation error. + + The associated hexrays_failure_t object is stored in the + 'info' member of this exception. +""" + + def __init__(self, info): + Exception.__init__(self, 'Decompilation failed: %s' % (str(info), )) + self.info = info + return + +# --------------------------------------------------------------------- +def decompile(ea, hf=None): + if isinstance(ea, (int, long)): + func = idaapi.get_func(ea) + if not func: return + elif type(ea) == idaapi.func_t: + func = ea + else: + raise RuntimeError('arg 1 of decompile expects either ea_t or cfunc_t argument') + + if hf is None: + hf = hexrays_failure_t() + + ptr = _decompile(func, hf) + + if ptr.__deref__() is None: + raise DecompilationFailure(hf) + + return ptr + +# --------------------------------------------------------------------- +# stringify all string types +#qtype.__str__ = qtype.c_str +#qstring.__str__ = qstring.c_str +#citem_cmt_t.__str__ = citem_cmt_t.c_str + +# --------------------------------------------------------------------- +# listify all list types +_listify_types(cinsnptrvec_t, + ctree_items_t, + qvector_lvar_t, + qvector_carg_t, + qvector_ccase_t, + hexwarns_t, + history_t) + +def citem_to_specific_type(self): + """ + cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + """ + + if self.op >= cot_empty and self.op <= cot_last: + return self.cexpr + elif self.op >= cit_empty and self.op < cit_end: + return self.cinsn + + raise RuntimeError('unknown op type %s' % (repr(self.op), )) +citem_t.to_specific_type = property(citem_to_specific_type) + +""" + array used for translating cinsn_t->op type to their names. +""" +cinsn_t.op_to_typename = {} +for k in dir(_idaapi): + if k.startswith('cit_'): + cinsn_t.op_to_typename[getattr(_idaapi, k)] = k[4:] + +""" + array used for translating cexpr_t->op type to their names. +""" +cexpr_t.op_to_typename = {} +for k in dir(_idaapi): + if k.startswith('cot_'): + cexpr_t.op_to_typename[getattr(_idaapi, k)] = k[4:] + +def property_op_to_typename(self): + return self.op_to_typename[self.op] +cinsn_t.opname = property(property_op_to_typename) +cexpr_t.opname = property(property_op_to_typename) + +def cexpr_operands(self): + """ + return a dictionary with the operands of a cexpr_t. + """ + + if self.op >= cot_comma and self.op <= cot_asgumod or \ + self.op >= cot_lor and self.op <= cot_fdiv or \ + self.op == cot_idx: + return {'x': self.x, 'y': self.y} + + elif self.op == cot_tern: + return {'x': self.x, 'y': self.y, 'z': self.z} + + elif self.op in [cot_fneg, cot_neg, cot_sizeof] or \ + self.op >= cot_lnot and self.op <= cot_predec: + return {'x': self.x} + + elif self.op == cot_cast: + return {'type': self.type, 'x': self.x} + + elif self.op == cot_call: + return {'x': self.x, 'a': self.a} + + elif self.op in [cot_memref, cot_memptr]: + return {'x': self.x, 'm': self.m} + + elif self.op == cot_num: + return {'n': self.n} + + elif self.op == cot_fnum: + return {'fpc': self.fpc} + + elif self.op == cot_str: + return {'string': self.string} + + elif self.op == cot_obj: + return {'obj_ea': self.obj_ea} + + elif self.op == cot_var: + return {'v': self.v} + + elif self.op == cot_helper: + return {'helper': self.helper} + + raise RuntimeError('unknown op type %s' % self.opname) +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. +""" + + if self.op not in self.op_to_typename: + raise RuntimeError('unknown item->op type') + + opname = self.opname + if opname == 'empty': + return self + + if opname in ['break', 'continue']: + return None + + return getattr(self, 'c' + opname) +cinsn_t.details = property(cinsn_details) + +def cblock_iter(self): + + iter = self.begin() + for i in range(self.size()): + yield iter.cur + iter.next() + + return +cblock_t.__iter__ = cblock_iter +cblock_t.__len__ = cblock_t.size + +# cblock.find(cinsn_t) -> returns the iterator positioned at the given item +def cblock_find(self, item): + + iter = self.begin() + for i in range(self.size()): + if iter.cur == item: + return iter + iter.next() + + return +cblock_t.find = cblock_find + +# cblock.index(cinsn_t) -> returns the index of the given item +def cblock_index(self, item): + + iter = self.begin() + for i in range(self.size()): + if iter.cur == item: + return i + iter.next() + + return +cblock_t.index = cblock_index + +# cblock.at(int) -> returns the item at the given index index +def cblock_at(self, index): + + iter = self.begin() + for i in range(self.size()): + if i == index: + return iter.cur + iter.next() + + return +cblock_t.at = cblock_at + +# cblock.remove(cinsn_t) +def cblock_remove(self, item): + + iter = self.find(item) + self.erase(iter) + + return +cblock_t.remove = cblock_remove + +# cblock.insert(index, cinsn_t) +def cblock_insert(self, index, item): + + pos = self.at(index) + iter = self.find(pos) + self.insert(iter, item) + + return +cblock_t.insert = cblock_insert + +cfuncptr_t.__str__ = lambda self: str(self.__deref__()) + +def cfunc_type(self): + """ + Get the function's return type tinfo_t object. + """ + tif = tinfo_t() + result = self.get_func_type(tif) + if not result: + return + return tif +cfunc_t.type = property(cfunc_type) +cfuncptr_t.type = property(lambda self: self.__deref__().type) + +cfunc_t.arguments = property(lambda self: [o for o in self.lvars if o.is_arg_var]) +cfuncptr_t.arguments = property(lambda self: self.__deref__().arguments) + +cfunc_t.lvars = property(cfunc_t.get_lvars) +cfuncptr_t.lvars = property(lambda self: self.__deref__().lvars) +cfunc_t.warnings = property(cfunc_t.get_warnings) +cfuncptr_t.warnings = property(lambda self: self.__deref__().warnings) +cfunc_t.pseudocode = property(cfunc_t.get_pseudocode) +cfuncptr_t.pseudocode = property(lambda self: self.__deref__().get_pseudocode()) +cfunc_t.eamap = property(cfunc_t.get_eamap) +cfuncptr_t.eamap = property(lambda self: self.__deref__().get_eamap()) +cfunc_t.boundaries = property(cfunc_t.get_boundaries) +cfuncptr_t.boundaries = property(lambda self: self.__deref__().get_boundaries()) + +#pragma SWIG nowarn=+503 + +lvar_t.used = property(lvar_t.used) +lvar_t.typed = property(lvar_t.typed) +lvar_t.mreg_done = property(lvar_t.mreg_done) +lvar_t.has_nice_name = property(lvar_t.has_nice_name) +lvar_t.is_unknown_width = property(lvar_t.is_unknown_width) +lvar_t.has_user_info = property(lvar_t.has_user_info) +lvar_t.has_user_name = property(lvar_t.has_user_name) +lvar_t.has_user_type = property(lvar_t.has_user_type) +lvar_t.is_result_var = property(lvar_t.is_result_var) +lvar_t.is_arg_var = property(lvar_t.is_arg_var) +lvar_t.is_fake_var = property(lvar_t.is_fake_var) +lvar_t.is_overlapped_var = property(lvar_t.is_overlapped_var) +lvar_t.is_floating_var = property(lvar_t.is_floating_var) +lvar_t.is_spoiled_var = property(lvar_t.is_spoiled_var) +lvar_t.is_mapdst_var = property(lvar_t.is_mapdst_var) + +# dictify all dict-like types + +def _map___getitem__(self, key): + """ + Returns the value associated with the provided key. + """ + if not isinstance(key, self.keytype): + raise KeyError('type of key should be ' + repr(self.keytype) + ' but got ' + repr(type(key))) + if key not in self: + raise KeyError('key not found') + return self.second(self.find(key)) + +def _map___setitem__(self, key, value): + """ + Returns the value associated with the provided key. + """ + if not isinstance(key, self.keytype): + raise KeyError('type of `key` should be ' + repr(self.keytype) + ' but got ' + repr(type(key))) + if not isinstance(value, self.valuetype): + raise KeyError('type of `value` should be ' + repr(self.valuetype) + ' but got ' + type(value)) + self.insert(key, value) + return + +def _map___delitem__(self, key): + """ + Removes the value associated with the provided key. + """ + if not isinstance(key, self.keytype): + raise KeyError('type of `key` should be ' + repr(self.keytype) + ' but got ' + repr(type(key))) + if key not in self: + raise KeyError('key not found') + self.erase(self.find(key)) + return + +def _map___contains__(self, key): + """ + Returns true if the specified key exists in the . + """ + if not isinstance(key, self.keytype): + raise KeyError('type of `key` should be ' + repr(self.keytype) + ' but got ' + repr(type(key))) + if self.find(key) != self.end(): + return True + return False + +def _map_clear(self): + self.clear() + return + +def _map_copy(self): + ret = {} + for k in self.iterkeys(): + ret[k] = self[k] + return ret + +def _map_get(self, key, default=None): + if key in self: + return self[key] + return default + +def _map_iterkeys(self): + iter = self.begin() + while iter != self.end(): + yield self.first(iter) + iter = self.next(iter) + return + +def _map_itervalues(self): + iter = self.begin() + while iter != self.end(): + yield self.second(iter) + iter = self.next(iter) + return + +def _map_iteritems(self): + iter = self.begin() + while iter != self.end(): + yield (self.first(iter), self.second(iter)) + iter = self.next(iter) + return + +def _map_keys(self): + return list(self.iterkeys()) + +def _map_values(self): + return list(self.itervalues()) + +def _map_items(self): + return list(self.iteritems()) + +def _map_has_key(self, key): + return key in self + +def _map_pop(self, key): + """ + Sets the value associated with the provided key. + """ + if not isinstance(key, self.keytype): + raise KeyError('type of `key` should be ' + repr(self.keytype) + ' but got ' + repr(type(key))) + if key not in self: + raise KeyError('key not found') + ret = self[key] + del self[key] + return ret + +def _map_popitem(self): + """ + Sets the value associated with the provided key. + """ + if len(self) == 0: + raise KeyError('key not found') + key = self.keys()[0] + return (key, self.pop(key)) + +def _map_setdefault(self, key, default=None): + """ + Sets the value associated with the provided key. + """ + if not isinstance(key, self.keytype): + raise KeyError('type of `key` should be ' + repr(self.keytype) + ' but got ' + repr(type(key))) + if key in self: + return self[key] + self[key] = default + return default + +def _map_as_dict(maptype, name, keytype, valuetype): + + maptype.keytype = keytype + maptype.valuetype = valuetype + + for fctname in ['begin', 'end', 'first', 'second', 'next', \ + 'find', 'insert', 'erase', 'clear', 'size']: + fct = getattr(_idaapi, name + '_' + fctname) + setattr(maptype, '__' + fctname, fct) + + maptype.__len__ = maptype.size + maptype.__getitem__ = maptype.at + + maptype.begin = lambda self, *args: self.__begin(self, *args) + maptype.end = lambda self, *args: self.__end(self, *args) + maptype.first = lambda self, *args: self.__first(*args) + maptype.second = lambda self, *args: self.__second(*args) + maptype.next = lambda self, *args: self.__next(*args) + maptype.find = lambda self, *args: self.__find(self, *args) + maptype.insert = lambda self, *args: self.__insert(self, *args) + maptype.erase = lambda self, *args: self.__erase(self, *args) + maptype.clear = lambda self, *args: self.__clear(self, *args) + maptype.size = lambda self, *args: self.__size(self, *args) + maptype.__getitem__ = _map___getitem__ + maptype.__setitem__ = _map___setitem__ + maptype.__delitem__ = _map___delitem__ + maptype.__contains__ = _map___contains__ + maptype.clear = _map_clear + maptype.copy = _map_copy + maptype.get = _map_get + maptype.iterkeys = _map_iterkeys + maptype.itervalues = _map_itervalues + maptype.iteritems = _map_iteritems + maptype.keys = _map_keys + maptype.values = _map_values + maptype.items = _map_items + maptype.has_key = _map_has_key + maptype.pop = _map_pop + maptype.popitem = _map_popitem + 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, long)) +_map_as_dict(user_unions_t, 'user_unions', (int, long), intvec_t) +_map_as_dict(eamap_t, 'eamap', long, cinsnptrvec_t) +#_map_as_dict(boundaries_t, 'boundaries', cinsn_t, areaset_t) + + + +def qstrvec_t_create(*args): + """ + qstrvec_t_create() -> PyObject * + """ + return _idaapi.qstrvec_t_create(*args) + +def qstrvec_t_destroy(*args): + """ + qstrvec_t_destroy(py_obj) -> bool + """ + return _idaapi.qstrvec_t_destroy(*args) + +def qstrvec_t_get_clink(*args): + """ + qstrvec_t_get_clink(self) -> qstrvec_t * + """ + return _idaapi.qstrvec_t_get_clink(*args) + +def qstrvec_t_get_clink_ptr(*args): + """ + qstrvec_t_get_clink_ptr(self) -> PyObject * + """ + return _idaapi.qstrvec_t_get_clink_ptr(*args) + +def parse_command_line3(*args): + """ + parse_command_line3(cmdline) -> PyObject * + """ + return _idaapi.parse_command_line3(*args) + +def get_inf_structure(*args): + """ + get_inf_structure() -> idainfo + + + Returns the global variable 'inf' (an instance of idainfo structure, see ida.hpp) + """ + return _idaapi.get_inf_structure(*args) + +def 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 + """ + return _idaapi.set_script_timeout(*args) + +def 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 + """ + return _idaapi.disable_script_timeout(*args) + +def 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 + """ + return _idaapi.enable_extlang_python(*args) + +def enable_python_cli(*args): + """ + enable_python_cli(enable) + """ + return _idaapi.enable_python_cli(*args) + +def qstrvec_t_assign(*args): + """ + qstrvec_t_assign(self, other) -> bool + """ + return _idaapi.qstrvec_t_assign(*args) + +def qstrvec_t_addressof(*args): + """ + qstrvec_t_addressof(self, idx) -> PyObject * + """ + return _idaapi.qstrvec_t_addressof(*args) + +def qstrvec_t_set(*args): + """ + qstrvec_t_set(self, idx, s) -> bool + """ + return _idaapi.qstrvec_t_set(*args) + +def qstrvec_t_from_list(*args): + """ + qstrvec_t_from_list(self, py_list) -> bool + """ + return _idaapi.qstrvec_t_from_list(*args) + +def qstrvec_t_size(*args): + """ + qstrvec_t_size(self) -> size_t + """ + return _idaapi.qstrvec_t_size(*args) + +def qstrvec_t_get(*args): + """ + qstrvec_t_get(self, idx) -> PyObject * + """ + return _idaapi.qstrvec_t_get(*args) + +def qstrvec_t_add(*args): + """ + qstrvec_t_add(self, s) -> bool + """ + return _idaapi.qstrvec_t_add(*args) + +def qstrvec_t_clear(*args): + """ + qstrvec_t_clear(self, qclear) -> bool + """ + return _idaapi.qstrvec_t_clear(*args) + +def qstrvec_t_insert(*args): + """ + qstrvec_t_insert(self, idx, s) -> bool + """ + return _idaapi.qstrvec_t_insert(*args) + +def qstrvec_t_remove(*args): + """ + qstrvec_t_remove(self, idx) -> bool + """ + return _idaapi.qstrvec_t_remove(*args) + +def notify_when(*args): + """ + notify_when(when, py_callable) -> bool + + + 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 + """ + return _idaapi.notify_when(*args) +fcb_normal = _idaapi.fcb_normal +fcb_indjump = _idaapi.fcb_indjump +fcb_ret = _idaapi.fcb_ret +fcb_cndret = _idaapi.fcb_cndret +fcb_noret = _idaapi.fcb_noret +fcb_enoret = _idaapi.fcb_enoret +fcb_extern = _idaapi.fcb_extern +fcb_error = _idaapi.fcb_error +class node_iterator(object): + """ + Proxy of C++ node_iterator class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, _g, n) -> node_iterator + """ + this = _idaapi.new_node_iterator(*args) + try: self.this.append(this) + except: self.this = this + def __eq__(self, *args): + """ + __eq__(self, n) -> bool + """ + return _idaapi.node_iterator___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, n) -> bool + """ + return _idaapi.node_iterator___ne__(self, *args) + + def __ref__(self, *args): + """ + __ref__(self) -> int + """ + return _idaapi.node_iterator___ref__(self, *args) + + __swig_destroy__ = _idaapi.delete_node_iterator + __del__ = lambda self : None; +node_iterator_swigregister = _idaapi.node_iterator_swigregister +node_iterator_swigregister(node_iterator) + + +def gen_gdl(*args): + """ + gen_gdl(g, fname) + """ + return _idaapi.gen_gdl(*args) + +def display_gdl(*args): + """ + display_gdl(fname) -> int + """ + return _idaapi.display_gdl(*args) + +def gen_flow_graph(*args): + """ + gen_flow_graph(filename, title, pfn, ea1, ea2, gflags) -> bool + """ + return _idaapi.gen_flow_graph(*args) +CHART_PRINT_NAMES = _idaapi.CHART_PRINT_NAMES +CHART_GEN_DOT = _idaapi.CHART_GEN_DOT +CHART_GEN_GDL = _idaapi.CHART_GEN_GDL +CHART_WINGRAPH = _idaapi.CHART_WINGRAPH + +def gen_simple_call_chart(*args): + """ + gen_simple_call_chart(filename, wait, title, gflags) -> bool + """ + return _idaapi.gen_simple_call_chart(*args) + +def gen_complex_call_chart(*args): + """ + gen_complex_call_chart(filename, wait, title, ea1, ea2, flags, recursion_depth=-1) -> bool + """ + return _idaapi.gen_complex_call_chart(*args) +CHART_NOLIBFUNCS = _idaapi.CHART_NOLIBFUNCS +CHART_REFERENCING = _idaapi.CHART_REFERENCING +CHART_REFERENCED = _idaapi.CHART_REFERENCED +CHART_RECURSIVE = _idaapi.CHART_RECURSIVE +CHART_FOLLOW_DIRECTION = _idaapi.CHART_FOLLOW_DIRECTION +CHART_IGNORE_XTRN = _idaapi.CHART_IGNORE_XTRN +CHART_IGNORE_DATA_BSS = _idaapi.CHART_IGNORE_DATA_BSS +CHART_IGNORE_LIB_TO = _idaapi.CHART_IGNORE_LIB_TO +CHART_IGNORE_LIB_FROM = _idaapi.CHART_IGNORE_LIB_FROM +CHART_PRINT_COMMENTS = _idaapi.CHART_PRINT_COMMENTS +CHART_PRINT_DOTS = _idaapi.CHART_PRINT_DOTS +class qbasic_block_t(area_t): + """ + Proxy of C++ qbasic_block_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> qbasic_block_t + """ + this = _idaapi.new_qbasic_block_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_qbasic_block_t + __del__ = lambda self : None; +qbasic_block_t_swigregister = _idaapi.qbasic_block_t_swigregister +qbasic_block_t_swigregister(qbasic_block_t) + + +def is_noret_block(*args): + """ + is_noret_block(btype) -> bool + """ + return _idaapi.is_noret_block(*args) + +def is_ret_block(*args): + """ + is_ret_block(btype) -> bool + """ + return _idaapi.is_ret_block(*args) +class qflow_chart_t(object): + """ + Proxy of C++ qflow_chart_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + title = _swig_property(_idaapi.qflow_chart_t_title_get, _idaapi.qflow_chart_t_title_set) + bounds = _swig_property(_idaapi.qflow_chart_t_bounds_get, _idaapi.qflow_chart_t_bounds_set) + pfn = _swig_property(_idaapi.qflow_chart_t_pfn_get, _idaapi.qflow_chart_t_pfn_set) + flags = _swig_property(_idaapi.qflow_chart_t_flags_get, _idaapi.qflow_chart_t_flags_set) + nproper = _swig_property(_idaapi.qflow_chart_t_nproper_get, _idaapi.qflow_chart_t_nproper_set) + def __init__(self, *args): + """ + __init__(self) -> qflow_chart_t + __init__(self, _title, _pfn, _ea1, _ea2, _flags) -> qflow_chart_t + """ + this = _idaapi.new_qflow_chart_t(*args) + try: self.this.append(this) + except: self.this = this + def create(self, *args): + """ + create(self, _title, _pfn, _ea1, _ea2, _flags) + create(self, _title, ranges, _flags) + """ + return _idaapi.qflow_chart_t_create(self, *args) + + def append_to_flowchart(self, *args): + """ + append_to_flowchart(self, ea1, ea2) + """ + return _idaapi.qflow_chart_t_append_to_flowchart(self, *args) + + def refresh(self, *args): + """ + refresh(self) + """ + return _idaapi.qflow_chart_t_refresh(self, *args) + + def calc_block_type(self, *args): + """ + calc_block_type(self, blknum) -> fc_block_type_t + """ + return _idaapi.qflow_chart_t_calc_block_type(self, *args) + + def is_ret_block(self, *args): + """ + is_ret_block(self, blknum) -> bool + """ + return _idaapi.qflow_chart_t_is_ret_block(self, *args) + + def is_noret_block(self, *args): + """ + is_noret_block(self, blknum) -> bool + """ + return _idaapi.qflow_chart_t_is_noret_block(self, *args) + + def print_node_attributes(self, *args): + """ + print_node_attributes(self, arg2, arg3) + """ + return _idaapi.qflow_chart_t_print_node_attributes(self, *args) + + def nsucc(self, *args): + """ + nsucc(self, node) -> int + """ + return _idaapi.qflow_chart_t_nsucc(self, *args) + + def npred(self, *args): + """ + npred(self, node) -> int + """ + return _idaapi.qflow_chart_t_npred(self, *args) + + def succ(self, *args): + """ + succ(self, node, i) -> int + """ + return _idaapi.qflow_chart_t_succ(self, *args) + + def pred(self, *args): + """ + pred(self, node, i) -> int + """ + return _idaapi.qflow_chart_t_pred(self, *args) + + def print_names(self, *args): + """ + print_names(self) -> bool + """ + return _idaapi.qflow_chart_t_print_names(self, *args) + + def get_node_label(self, *args): + """ + get_node_label(self, arg2, arg3, arg4) -> char * + """ + return _idaapi.qflow_chart_t_get_node_label(self, *args) + + def size(self, *args): + """ + size(self) -> int + """ + return _idaapi.qflow_chart_t_size(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, n) -> qbasic_block_t + """ + return _idaapi.qflow_chart_t___getitem__(self, *args) + + __swig_destroy__ = _idaapi.delete_qflow_chart_t + __del__ = lambda self : None; +qflow_chart_t_swigregister = _idaapi.qflow_chart_t_swigregister +qflow_chart_t_swigregister(qflow_chart_t) +FC_PRINT = _idaapi.FC_PRINT +FC_NOEXT = _idaapi.FC_NOEXT +FC_PREDS = _idaapi.FC_PREDS +FC_APPND = _idaapi.FC_APPND +FC_CHKBREAK = _idaapi.FC_CHKBREAK + + +def display_flow_graph(*args): + """ + display_flow_graph(title, pfn, ea1, ea2, print_names) -> bool + """ + return _idaapi.display_flow_graph(*args) + +def display_simple_call_chart(*args): + """ + display_simple_call_chart(wait, title, ignore_libfuncs) -> bool + """ + return _idaapi.display_simple_call_chart(*args) + +def display_complex_call_chart(*args): + """ + display_complex_call_chart(wait, title, ea1, ea2, flags, recursion_depth=-1) -> bool + """ + return _idaapi.display_complex_call_chart(*args) +# +# ----------------------------------------------------------------------- +class BasicBlock(object): + """ + Basic block class. It is returned by the Flowchart class + """ + def __init__(self, id, bb, fc): + self._fc = fc + + self.id = id + """ + Basic block ID + """ + + self.startEA = bb.startEA + """ + startEA of basic block + """ + + self.endEA = bb.endEA + """ + endEA of basic block + """ + + self.type = self._fc._q.calc_block_type(self.id) + """ + Block type (check fc_block_type_t enum) + """ + + + def preds(self): + """ + Iterates the predecessors list + """ + q = self._fc._q + for i in xrange(0, self._fc._q.npred(self.id)): + yield self._fc[q.pred(self.id, i)] + + + def succs(self): + """ + Iterates the successors list + """ + q = self._fc._q + for i in xrange(0, q.nsucc(self.id)): + yield self._fc[q.succ(self.id, i)] + +# ----------------------------------------------------------------------- +class FlowChart(object): + """ + Flowchart class used to determine basic blocks. + Check ex_gdl_qflow_chart.py for sample usage. + """ + def __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 + """ + if (f is None) and (bounds is None or type(bounds) != types.TupleType): + raise Exception("Please specifiy either a function or start/end pair") + + if bounds is None: + bounds = (BADADDR, BADADDR) + + # Create the flowchart + self._q = qflow_chart_t("", f, bounds[0], bounds[1], flags) + + size = property(lambda self: self._q.size()) + """ + Number of blocks in the flow chart + """ + + + def refresh(): + """ + Refreshes the flow chart + """ + self._q.refresh() + + + def _getitem(self, index): + return BasicBlock(index, self._q[index], self) + + + def __iter__(self): + return (self._getitem(index) for index in xrange(0, self.size)) + + + def __getitem__(self, index): + """ + Returns a basic block + + @return: BasicBlock + """ + if index >= self.size: + raise KeyError + else: + return self._getitem(index) + +# + + +def refresh_lists(*args): + """ + refresh_lists() + """ + return _idaapi.refresh_lists(*args) + +def textctrl_info_t_create(*args): + """ + textctrl_info_t_create() -> PyObject * + """ + return _idaapi.textctrl_info_t_create(*args) + +def textctrl_info_t_destroy(*args): + """ + textctrl_info_t_destroy(py_obj) -> bool + """ + return _idaapi.textctrl_info_t_destroy(*args) + +def textctrl_info_t_get_clink(*args): + """ + textctrl_info_t_get_clink(self) -> textctrl_info_t * + """ + return _idaapi.textctrl_info_t_get_clink(*args) + +def textctrl_info_t_get_clink_ptr(*args): + """ + textctrl_info_t_get_clink_ptr(self) -> PyObject * + """ + return _idaapi.textctrl_info_t_get_clink_ptr(*args) + +def 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 + """ + return _idaapi.register_timer(*args) + +def unregister_timer(*args): + """ + 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. + """ + return _idaapi.unregister_timer(*args) + +def choose_idasgn(*args): + """ + choose_idasgn() -> PyObject * + + + Opens the signature chooser + + @return: None or the selected signature name + """ + return _idaapi.choose_idasgn(*args) + +def get_highlighted_identifier(*args): + """ + get_highlighted_identifier(flags=0) -> PyObject * + + + Returns the currently highlighted identifier + + @param flags: reserved (pass 0) + @return: None or the highlighted identifier + """ + return _idaapi.get_highlighted_identifier(*args) + +def py_load_custom_icon_fn(*args): + """ + py_load_custom_icon_fn(filename) -> int + """ + return _idaapi.py_load_custom_icon_fn(*args) + +def py_load_custom_icon_data(*args): + """ + py_load_custom_icon_data(data, format) -> int + """ + return _idaapi.py_load_custom_icon_data(*args) + +def umsg(*args): + """ + umsg(o) -> PyObject * + + + Prints text into IDA's Output window + + @param text: text to print + Can be Unicode, or string in UTF-8 encoding + @return: number of bytes printed + """ + return _idaapi.umsg(*args) + +def msg(*args): + """ + msg(o) -> PyObject * + + + Prints text into IDA's Output window + + @param text: text to print + Can be Unicode, or string in local encoding + @return: number of bytes printed + """ + return _idaapi.msg(*args) + +def asktext(*args): + """ + asktext(max_text, defval, prompt) -> PyObject * + + + Asks for a long text + + @param max_text: Maximum text length + @param defval: The default value + @param prompt: The prompt value + @return: None or the entered string + """ + return _idaapi.asktext(*args) + +def 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 + """ + return _idaapi.str2ea(*args) + +def str2user(*args): + """ + str2user(str) -> PyObject * + + + Insert C-style escape characters to string + + @return: new string with escape characters inserted + """ + return _idaapi.str2user(*args) + +def process_ui_action(*args): + """ + process_ui_action(name, flags=0) -> bool + + + Invokes an IDA UI action by name + + @param name: action name + @return: Boolean + """ + return _idaapi.process_ui_action(*args) + +def del_menu_item(*args): + """ + del_menu_item(py_ctx) -> bool + + + Deprecated. Use detach_menu_item()/unregister_action() instead. + """ + return _idaapi.del_menu_item(*args) + +def del_hotkey(*args): + """ + del_hotkey(pyctx) -> bool + + + Deletes a previously registered function hotkey + + @param ctx: Hotkey context previously returned by add_hotkey() + + @return: Boolean. + """ + return _idaapi.del_hotkey(*args) + +def 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. + """ + return _idaapi.add_hotkey(*args) + +def py_menu_item_callback(*args): + """ + py_menu_item_callback(userdata) -> bool + """ + return _idaapi.py_menu_item_callback(*args) + +def add_menu_item(*args): + """ + add_menu_item(menupath, name, hotkey, flags, pyfunc, args) -> PyObject * + + + Deprecated. Use register_action()/attach_menu_item() instead. + """ + return _idaapi.add_menu_item(*args) + +def 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. + + @note: The Python version of execute_sync() cannot be called from a different thread + for the time being. + @param callable: A python callable object + @param reqf: one of MFF_ flags + @return: -1 or the return value of the callable + """ + return _idaapi.execute_sync(*args) + +def 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 + """ + return _idaapi.execute_ui_requests(*args) +class UI_Hooks(object): + """ + Proxy of C++ UI_Hooks class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + __swig_destroy__ = _idaapi.delete_UI_Hooks + __del__ = lambda self : None; + def hook(self, *args): + """ + hook(self) -> bool + + + Creates an UI hook + + @return: Boolean true on success + """ + return _idaapi.UI_Hooks_hook(self, *args) + + def unhook(self, *args): + """ + unhook(self) -> bool + + + Removes the UI hook + @return: Boolean true on success + """ + return _idaapi.UI_Hooks_unhook(self, *args) + + def preprocess(self, *args): + """ + preprocess(self, arg0) -> int + + + IDA ui is about to handle a user command + + @param name: ui command name + (these names can be looked up in ida[tg]ui.cfg) + @return: 0-ok, nonzero - a plugin has handled the command + """ + return _idaapi.UI_Hooks_preprocess(self, *args) + + def postprocess(self, *args): + """ + postprocess(self) + + + An ida ui command has been handled + + @return: Ignored + """ + return _idaapi.UI_Hooks_postprocess(self, *args) + + def saving(self, *args): + """ + saving(self) + + + The kernel is saving the database. + + @return: Ignored + """ + return _idaapi.UI_Hooks_saving(self, *args) + + def saved(self, *args): + """ + saved(self) + + + The kernel has saved the database. + + @return: Ignored + """ + return _idaapi.UI_Hooks_saved(self, *args) + + def term(self, *args): + """ + term(self) + + + IDA is terminated and the database is already closed. + The UI may close its windows in this callback. + """ + return _idaapi.UI_Hooks_term(self, *args) + + def get_ea_hint(self, *args): + """ + get_ea_hint(self, arg0) -> 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 + """ + return _idaapi.UI_Hooks_get_ea_hint(self, *args) + + def current_tform_changed(self, *args): + """ + current_tform_changed(self, arg0, arg1) + """ + return _idaapi.UI_Hooks_current_tform_changed(self, *args) + + def 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 + """ + return _idaapi.UI_Hooks_updating_actions(self, *args) + + def updated_actions(self, *args): + """ + updated_actions(self) + + + The UI is done updating actions. + + @return: Ignored + """ + return _idaapi.UI_Hooks_updated_actions(self, *args) + + def populating_tform_popup(self, *args): + """ + populating_tform_popup(self, arg0, arg1) + + + The UI is populating the TForm's popup menu. + Now is a good time to call idaapi.attach_action_to_popup() + + @param form: The form + @param popup: The popup menu. + @return: Ignored + """ + return _idaapi.UI_Hooks_populating_tform_popup(self, *args) + + def finish_populating_tform_popup(self, *args): + """ + finish_populating_tform_popup(self, arg0, arg1) + + + The UI is about to be done populating the TForm's popup menu. + Now is a good time to call idaapi.attach_action_to_popup() + + @param form: The form + @param popup: The popup menu. + @return: Ignored + """ + return _idaapi.UI_Hooks_finish_populating_tform_popup(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> UI_Hooks + """ + if self.__class__ == UI_Hooks: + _self = None + else: + _self = self + this = _idaapi.new_UI_Hooks(_self, *args) + try: self.this.append(this) + except: self.this = this + def __disown__(self): + self.this.disown() + _idaapi.disown_UI_Hooks(self) + return weakref_proxy(self) +UI_Hooks_swigregister = _idaapi.UI_Hooks_swigregister +UI_Hooks_swigregister(UI_Hooks) + + +def register_action(*args): + """ + register_action(desc) -> bool + """ + return _idaapi.register_action(*args) + +def unregister_action(*args): + """ + unregister_action(name) -> bool + """ + return _idaapi.unregister_action(*args) + +def attach_dynamic_action_to_popup(*args): + """ + attach_dynamic_action_to_popup(form, popup_handle, desc, popuppath=None, flags=0) -> bool + """ + return _idaapi.attach_dynamic_action_to_popup(*args) +class disasm_line_t(object): + """ + Proxy of C++ disasm_line_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + __swig_destroy__ = _idaapi.delete_disasm_line_t + __del__ = lambda self : None; + def __init__(self, *args): + """ + __init__(self) -> disasm_line_t + __init__(self, other) -> disasm_line_t + """ + this = _idaapi.new_disasm_line_t(*args) + try: self.this.append(this) + except: self.this = this + at = _swig_property(_idaapi.disasm_line_t_at_get, _idaapi.disasm_line_t_at_set) + line = _swig_property(_idaapi.disasm_line_t_line_get, _idaapi.disasm_line_t_line_set) + prefix_color = _swig_property(_idaapi.disasm_line_t_prefix_color_get, _idaapi.disasm_line_t_prefix_color_set) + bg_color = _swig_property(_idaapi.disasm_line_t_bg_color_get, _idaapi.disasm_line_t_bg_color_set) + is_default = _swig_property(_idaapi.disasm_line_t_is_default_get, _idaapi.disasm_line_t_is_default_set) +disasm_line_t_swigregister = _idaapi.disasm_line_t_swigregister +disasm_line_t_swigregister(disasm_line_t) + + +def gen_disasm_text(*args): + """ + gen_disasm_text(ea1, ea2, text, truncate_lines) + """ + return _idaapi.gen_disasm_text(*args) + +def set_nav_colorizer(*args): + """ + set_nav_colorizer(new_py_colorizer) -> nav_colorizer_t * + + + 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) + """ + return _idaapi.set_nav_colorizer(*args) + +def call_nav_colorizer(*args): + """ + call_nav_colorizer(col, ea, nbytes) -> uint32 + + + To be used with the IDA-provided colorizer, that is + returned as result of the first call to set_nav_colorizer(). + + This is a trivial trampoline, so that SWIG can generate a + wrapper that will do the types checking. + """ + return _idaapi.call_nav_colorizer(*args) + +def choose_sizer(*args): + """ + choose_sizer(self) -> uint32 + """ + return _idaapi.choose_sizer(*args) + +def choose_getl(*args): + """ + choose_getl(self, n, buf) -> char * + """ + return _idaapi.choose_getl(*args) + +def choose_enter(*args): + """ + choose_enter(self, n) + """ + return _idaapi.choose_enter(*args) + +def choose2_find(*args): + """ + choose2_find(title) -> PyObject * + """ + return _idaapi.choose2_find(*args) + +def choose2_add_command(*args): + """ + choose2_add_command(self, caption, flags, menu_index, icon) -> int + """ + return _idaapi.choose2_add_command(*args) + +def choose2_refresh(*args): + """ + choose2_refresh(self) + """ + return _idaapi.choose2_refresh(*args) + +def choose2_close(*args): + """ + choose2_close(self) + """ + return _idaapi.choose2_close(*args) + +def choose2_create(*args): + """ + choose2_create(self, embedded) -> int + """ + return _idaapi.choose2_create(*args) + +def choose2_activate(*args): + """ + choose2_activate(self) + """ + return _idaapi.choose2_activate(*args) + +def choose2_get_embedded(*args): + """ + choose2_get_embedded(self) -> PyObject * + """ + return _idaapi.choose2_get_embedded(*args) + +def choose2_get_embedded_selection(*args): + """ + choose2_get_embedded_selection(self) -> PyObject * + """ + return _idaapi.choose2_get_embedded_selection(*args) + +def textctrl_info_t_assign(*args): + """ + textctrl_info_t_assign(self, other) -> bool + """ + return _idaapi.textctrl_info_t_assign(*args) + +def textctrl_info_t_set_text(*args): + """ + textctrl_info_t_set_text(self, s) -> bool + """ + return _idaapi.textctrl_info_t_set_text(*args) + +def textctrl_info_t_get_text(*args): + """ + textctrl_info_t_get_text(self) -> char const * + """ + return _idaapi.textctrl_info_t_get_text(*args) + +def textctrl_info_t_set_flags(*args): + """ + textctrl_info_t_set_flags(self, flags) -> bool + """ + return _idaapi.textctrl_info_t_set_flags(*args) + +def textctrl_info_t_get_flags(*args): + """ + textctrl_info_t_get_flags(self, flags) -> unsigned int + """ + return _idaapi.textctrl_info_t_get_flags(*args) + +def textctrl_info_t_set_tabsize(*args): + """ + textctrl_info_t_set_tabsize(self, tabsize) -> bool + """ + return _idaapi.textctrl_info_t_set_tabsize(*args) + +def textctrl_info_t_get_tabsize(*args): + """ + textctrl_info_t_get_tabsize(self, tabsize) -> unsigned int + """ + return _idaapi.textctrl_info_t_get_tabsize(*args) + +def formchgcbfa_enable_field(*args): + """ + formchgcbfa_enable_field(p_fa, fid, enable) -> bool + """ + return _idaapi.formchgcbfa_enable_field(*args) + +def formchgcbfa_show_field(*args): + """ + formchgcbfa_show_field(p_fa, fid, show) -> bool + """ + return _idaapi.formchgcbfa_show_field(*args) + +def formchgcbfa_move_field(*args): + """ + formchgcbfa_move_field(p_fa, fid, x, y, w, h) -> bool + """ + return _idaapi.formchgcbfa_move_field(*args) + +def formchgcbfa_get_focused_field(*args): + """ + formchgcbfa_get_focused_field(p_fa) -> int + """ + return _idaapi.formchgcbfa_get_focused_field(*args) + +def formchgcbfa_set_focused_field(*args): + """ + formchgcbfa_set_focused_field(p_fa, fid) -> bool + """ + return _idaapi.formchgcbfa_set_focused_field(*args) + +def formchgcbfa_refresh_field(*args): + """ + formchgcbfa_refresh_field(p_fa, fid) + """ + return _idaapi.formchgcbfa_refresh_field(*args) + +def formchgcbfa_close(*args): + """ + formchgcbfa_close(p_fa, close_normally) + """ + return _idaapi.formchgcbfa_close(*args) + +def formchgcbfa_get_field_value(*args): + """ + formchgcbfa_get_field_value(p_fa, fid, ft, sz) -> PyObject * + """ + return _idaapi.formchgcbfa_get_field_value(*args) + +def formchgcbfa_set_field_value(*args): + """ + formchgcbfa_set_field_value(p_fa, fid, ft, py_val) -> bool + """ + return _idaapi.formchgcbfa_set_field_value(*args) + +def py_get_AskUsingForm(*args): + """ + py_get_AskUsingForm() -> size_t + """ + return _idaapi.py_get_AskUsingForm(*args) + +def py_get_OpenForm(*args): + """ + py_get_OpenForm() -> size_t + """ + return _idaapi.py_get_OpenForm(*args) + +def py_register_compiled_form(*args): + """ + py_register_compiled_form(py_form) + """ + return _idaapi.py_register_compiled_form(*args) + +def py_unregister_compiled_form(*args): + """ + py_unregister_compiled_form(py_form) + """ + return _idaapi.py_unregister_compiled_form(*args) + +def plgform_new(*args): + """ + plgform_new() -> PyObject * + """ + return _idaapi.plgform_new(*args) + +def plgform_show(*args): + """ + plgform_show(py_link, py_obj, caption, options=FORM_TAB|FORM_MENU|FORM_RESTORE) -> bool + """ + return _idaapi.plgform_show(*args) + +def plgform_close(*args): + """ + plgform_close(py_link, options) + """ + return _idaapi.plgform_close(*args) + +def install_command_interpreter(*args): + """ + install_command_interpreter(py_obj) -> int + """ + return _idaapi.install_command_interpreter(*args) + +def remove_command_interpreter(*args): + """ + remove_command_interpreter(cli_idx) + """ + return _idaapi.remove_command_interpreter(*args) + +def pyscv_init(*args): + """ + pyscv_init(py_link, title) -> PyObject * + """ + return _idaapi.pyscv_init(*args) + +def pyscv_refresh(*args): + """ + pyscv_refresh(py_this) -> bool + """ + return _idaapi.pyscv_refresh(*args) + +def pyscv_delete(*args): + """ + pyscv_delete(py_this) -> bool + """ + return _idaapi.pyscv_delete(*args) + +def pyscv_refresh_current(*args): + """ + pyscv_refresh_current(py_this) -> bool + """ + return _idaapi.pyscv_refresh_current(*args) + +def pyscv_get_current_line(*args): + """ + pyscv_get_current_line(py_this, mouse, notags) -> PyObject * + """ + return _idaapi.pyscv_get_current_line(*args) + +def pyscv_is_focused(*args): + """ + pyscv_is_focused(py_this) -> bool + """ + return _idaapi.pyscv_is_focused(*args) + +def pyscv_clear_popup_menu(*args): + """ + pyscv_clear_popup_menu(py_this) + """ + return _idaapi.pyscv_clear_popup_menu(*args) + +def pyscv_add_popup_menu(*args): + """ + pyscv_add_popup_menu(py_this, title, hotkey) -> size_t + """ + return _idaapi.pyscv_add_popup_menu(*args) + +def pyscv_count(*args): + """ + pyscv_count(py_this) -> size_t + """ + return _idaapi.pyscv_count(*args) + +def pyscv_show(*args): + """ + pyscv_show(py_this) -> bool + """ + return _idaapi.pyscv_show(*args) + +def pyscv_close(*args): + """ + pyscv_close(py_this) + """ + return _idaapi.pyscv_close(*args) + +def pyscv_jumpto(*args): + """ + pyscv_jumpto(py_this, ln, x, y) -> bool + """ + return _idaapi.pyscv_jumpto(*args) + +def pyscv_get_line(*args): + """ + pyscv_get_line(py_this, nline) -> PyObject * + """ + return _idaapi.pyscv_get_line(*args) + +def pyscv_get_pos(*args): + """ + pyscv_get_pos(py_this, mouse) -> PyObject * + """ + return _idaapi.pyscv_get_pos(*args) + +def pyscv_clear_lines(*args): + """ + pyscv_clear_lines(py_this) -> PyObject * + """ + return _idaapi.pyscv_clear_lines(*args) + +def pyscv_add_line(*args): + """ + pyscv_add_line(py_this, py_sl) -> bool + """ + return _idaapi.pyscv_add_line(*args) + +def pyscv_insert_line(*args): + """ + pyscv_insert_line(py_this, nline, py_sl) -> bool + """ + return _idaapi.pyscv_insert_line(*args) + +def pyscv_patch_line(*args): + """ + pyscv_patch_line(py_this, nline, offs, value) -> bool + """ + return _idaapi.pyscv_patch_line(*args) + +def pyscv_del_line(*args): + """ + pyscv_del_line(py_this, nline) -> bool + """ + return _idaapi.pyscv_del_line(*args) + +def pyscv_get_selection(*args): + """ + pyscv_get_selection(py_this) -> PyObject * + """ + return _idaapi.pyscv_get_selection(*args) + +def pyscv_get_current_word(*args): + """ + pyscv_get_current_word(py_this, mouse) -> PyObject * + """ + return _idaapi.pyscv_get_current_word(*args) + +def pyscv_edit_line(*args): + """ + pyscv_edit_line(py_this, nline, py_sl) -> bool + """ + return _idaapi.pyscv_edit_line(*args) + +def pyscv_get_tform(*args): + """ + pyscv_get_tform(py_this) -> TForm * + """ + return _idaapi.pyscv_get_tform(*args) + +def pyscv_get_tcustom_control(*args): + """ + pyscv_get_tcustom_control(py_this) -> TCustomControl * + """ + return _idaapi.pyscv_get_tcustom_control(*args) +mbox_internal = _idaapi.mbox_internal +mbox_info = _idaapi.mbox_info +mbox_warning = _idaapi.mbox_warning +mbox_error = _idaapi.mbox_error +mbox_nomem = _idaapi.mbox_nomem +mbox_feedback = _idaapi.mbox_feedback +mbox_readerror = _idaapi.mbox_readerror +mbox_writeerror = _idaapi.mbox_writeerror +mbox_filestruct = _idaapi.mbox_filestruct +mbox_wait = _idaapi.mbox_wait +mbox_hide = _idaapi.mbox_hide +mbox_replace = _idaapi.mbox_replace +chtype_generic = _idaapi.chtype_generic +chtype_idasgn = _idaapi.chtype_idasgn +chtype_entry = _idaapi.chtype_entry +chtype_name = _idaapi.chtype_name +chtype_stkvar_xref = _idaapi.chtype_stkvar_xref +chtype_xref = _idaapi.chtype_xref +chtype_enum = _idaapi.chtype_enum +chtype_enum_by_value = _idaapi.chtype_enum_by_value +chtype_func = _idaapi.chtype_func +chtype_segm = _idaapi.chtype_segm +chtype_segreg = _idaapi.chtype_segreg +chtype_struc = _idaapi.chtype_struc +chtype_strpath = _idaapi.chtype_strpath +chtype_generic2 = _idaapi.chtype_generic2 +chtype_idatil = _idaapi.chtype_idatil +chtype_enum_by_value_and_size = _idaapi.chtype_enum_by_value_and_size +chtype_srcp = _idaapi.chtype_srcp +beep_default = _idaapi.beep_default +TCCRT_INVALID = _idaapi.TCCRT_INVALID +TCCRT_FLAT = _idaapi.TCCRT_FLAT +TCCRT_GRAPH = _idaapi.TCCRT_GRAPH +TCCRT_PROXIMITY = _idaapi.TCCRT_PROXIMITY +TCCPT_INVALID = _idaapi.TCCPT_INVALID +TCCPT_PLACE = _idaapi.TCCPT_PLACE +TCCPT_SIMPLELINE_PLACE = _idaapi.TCCPT_SIMPLELINE_PLACE +TCCPT_IDAPLACE = _idaapi.TCCPT_IDAPLACE +TCCPT_ENUMPLACE = _idaapi.TCCPT_ENUMPLACE +TCCPT_STRUCTPLACE = _idaapi.TCCPT_STRUCTPLACE +VME_UNKNOWN = _idaapi.VME_UNKNOWN +VME_LEFT_BUTTON = _idaapi.VME_LEFT_BUTTON +VME_RIGHT_BUTTON = _idaapi.VME_RIGHT_BUTTON +VME_MID_BUTTON = _idaapi.VME_MID_BUTTON +SETMENU_POSMASK = _idaapi.SETMENU_POSMASK +SETMENU_INS = _idaapi.SETMENU_INS +SETMENU_APP = _idaapi.SETMENU_APP +KERNEL_VERSION_MAGIC1 = _idaapi.KERNEL_VERSION_MAGIC1 +KERNEL_VERSION_MAGIC2 = _idaapi.KERNEL_VERSION_MAGIC2 + +def get_kernel_version(*args): + """ + get_kernel_version() -> bool + """ + return _idaapi.get_kernel_version(*args) +class place_t(object): + """ + Proxy of C++ place_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + lnnum = _swig_property(_idaapi.place_t_lnnum_get, _idaapi.place_t_lnnum_set) + def _print(self, *args): + """ + _print(self, ud, out_buf, bufsize) + """ + return _idaapi.place_t__print(self, *args) + + def touval(self, *args): + """ + touval(self, ud) -> uval_t + """ + return _idaapi.place_t_touval(self, *args) + + def clone(self, *args): + """ + clone(self) -> place_t + """ + return _idaapi.place_t_clone(self, *args) + + def copyfrom(self, *args): + """ + copyfrom(self, frm) + """ + return _idaapi.place_t_copyfrom(self, *args) + + def makeplace(self, *args): + """ + makeplace(self, ud, x, lnnum) -> place_t + """ + return _idaapi.place_t_makeplace(self, *args) + + def compare(self, *args): + """ + compare(self, t2) -> int + """ + return _idaapi.place_t_compare(self, *args) + + def adjust(self, *args): + """ + adjust(self, ud) + """ + return _idaapi.place_t_adjust(self, *args) + + def prev(self, *args): + """ + prev(self, ud) -> bool + """ + return _idaapi.place_t_prev(self, *args) + + def next(self, *args): + """ + next(self, ud) -> bool + """ + return _idaapi.place_t_next(self, *args) + + def beginning(self, *args): + """ + beginning(self, ud) -> bool + """ + return _idaapi.place_t_beginning(self, *args) + + def ending(self, *args): + """ + ending(self, ud) -> bool + """ + return _idaapi.place_t_ending(self, *args) + + def generate(self, *args): + """ + generate(self, ud, lines, maxsize, default_lnnum, pfx_color, bgcolor) -> int + """ + return _idaapi.place_t_generate(self, *args) + + def as_idaplace_t(*args): + """ + as_idaplace_t(p) -> idaplace_t + """ + return _idaapi.place_t_as_idaplace_t(*args) + + as_idaplace_t = staticmethod(as_idaplace_t) + def as_enumplace_t(*args): + """ + as_enumplace_t(p) -> enumplace_t + """ + return _idaapi.place_t_as_enumplace_t(*args) + + as_enumplace_t = staticmethod(as_enumplace_t) + def as_structplace_t(*args): + """ + as_structplace_t(p) -> structplace_t + """ + return _idaapi.place_t_as_structplace_t(*args) + + as_structplace_t = staticmethod(as_structplace_t) + def as_simpleline_place_t(*args): + """ + as_simpleline_place_t(p) -> simpleline_place_t + """ + return _idaapi.place_t_as_simpleline_place_t(*args) + + as_simpleline_place_t = staticmethod(as_simpleline_place_t) + __swig_destroy__ = _idaapi.delete_place_t + __del__ = lambda self : None; +place_t_swigregister = _idaapi.place_t_swigregister +place_t_swigregister(place_t) + +def place_t_as_idaplace_t(*args): + """ + place_t_as_idaplace_t(p) -> idaplace_t + """ + return _idaapi.place_t_as_idaplace_t(*args) + +def place_t_as_enumplace_t(*args): + """ + place_t_as_enumplace_t(p) -> enumplace_t + """ + return _idaapi.place_t_as_enumplace_t(*args) + +def place_t_as_structplace_t(*args): + """ + place_t_as_structplace_t(p) -> structplace_t + """ + return _idaapi.place_t_as_structplace_t(*args) + +def place_t_as_simpleline_place_t(*args): + """ + place_t_as_simpleline_place_t(p) -> simpleline_place_t + """ + return _idaapi.place_t_as_simpleline_place_t(*args) + +class simpleline_t(object): + """ + Proxy of C++ simpleline_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + line = _swig_property(_idaapi.simpleline_t_line_get, _idaapi.simpleline_t_line_set) + color = _swig_property(_idaapi.simpleline_t_color_get, _idaapi.simpleline_t_color_set) + bgcolor = _swig_property(_idaapi.simpleline_t_bgcolor_get, _idaapi.simpleline_t_bgcolor_set) + def __init__(self, *args): + """ + __init__(self) -> simpleline_t + __init__(self, c, str) -> simpleline_t + __init__(self, str) -> simpleline_t + __init__(self, str) -> simpleline_t + """ + this = _idaapi.new_simpleline_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_simpleline_t + __del__ = lambda self : None; +simpleline_t_swigregister = _idaapi.simpleline_t_swigregister +simpleline_t_swigregister(simpleline_t) + +class simpleline_place_t(place_t): + """ + Proxy of C++ simpleline_place_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + n = _swig_property(_idaapi.simpleline_place_t_n_get, _idaapi.simpleline_place_t_n_set) + __swig_destroy__ = _idaapi.delete_simpleline_place_t + __del__ = lambda self : None; +simpleline_place_t_swigregister = _idaapi.simpleline_place_t_swigregister +simpleline_place_t_swigregister(simpleline_place_t) + +class idaplace_t(place_t): + """ + Proxy of C++ idaplace_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + ea = _swig_property(_idaapi.idaplace_t_ea_get, _idaapi.idaplace_t_ea_set) + __swig_destroy__ = _idaapi.delete_idaplace_t + __del__ = lambda self : None; +idaplace_t_swigregister = _idaapi.idaplace_t_swigregister +idaplace_t_swigregister(idaplace_t) + +class enumplace_t(place_t): + """ + Proxy of C++ enumplace_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + idx = _swig_property(_idaapi.enumplace_t_idx_get, _idaapi.enumplace_t_idx_set) + bmask = _swig_property(_idaapi.enumplace_t_bmask_get, _idaapi.enumplace_t_bmask_set) + value = _swig_property(_idaapi.enumplace_t_value_get, _idaapi.enumplace_t_value_set) + serial = _swig_property(_idaapi.enumplace_t_serial_get, _idaapi.enumplace_t_serial_set) + __swig_destroy__ = _idaapi.delete_enumplace_t + __del__ = lambda self : None; +enumplace_t_swigregister = _idaapi.enumplace_t_swigregister +enumplace_t_swigregister(enumplace_t) + +class structplace_t(place_t): + """ + Proxy of C++ structplace_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + idx = _swig_property(_idaapi.structplace_t_idx_get, _idaapi.structplace_t_idx_set) + offset = _swig_property(_idaapi.structplace_t_offset_get, _idaapi.structplace_t_offset_set) + __swig_destroy__ = _idaapi.delete_structplace_t + __del__ = lambda self : None; +structplace_t_swigregister = _idaapi.structplace_t_swigregister +structplace_t_swigregister(structplace_t) + +class twinpos_t(object): + """ + Proxy of C++ twinpos_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + at = _swig_property(_idaapi.twinpos_t_at_get, _idaapi.twinpos_t_at_set) + x = _swig_property(_idaapi.twinpos_t_x_get, _idaapi.twinpos_t_x_set) + def __init__(self, *args): + """ + __init__(self) -> twinpos_t + __init__(self, t) -> twinpos_t + __init__(self, t, x0) -> twinpos_t + """ + this = _idaapi.new_twinpos_t(*args) + try: self.this.append(this) + except: self.this = this + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.twinpos_t___ne__(self, *args) + + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.twinpos_t___eq__(self, *args) + + def place_as_idaplace_t(self): + return place_t.as_idaplace_t(self.at) + def place_as_enumplace_t(self): + return place_t.as_enumplace_t(self.at) + def place_as_structplace_t(self): + return place_t.as_structplace_t(self.at) + def place_as_simpleline_place_t(self): + return place_t.as_simpleline_place_t(self.at) + + def place(self, view): + ptype = get_viewer_place_type(view) + if ptype == TCCPT_IDAPLACE: + return self.place_as_idaplace_t() + elif ptype == TCCPT_ENUMPLACE: + return self.place_as_enumplace_t() + elif ptype == TCCPT_STRUCTPLACE: + return self.place_as_structplace_t() + elif ptype == TCCPT_SIMPLELINE_PLACE: + return self.place_as_simpleline_place_t() + else: + return self.at + + __swig_destroy__ = _idaapi.delete_twinpos_t + __del__ = lambda self : None; +twinpos_t_swigregister = _idaapi.twinpos_t_swigregister +twinpos_t_swigregister(twinpos_t) + + +def request_refresh(*args): + """ + request_refresh(mask) + """ + return _idaapi.request_refresh(*args) +BWN_UNKNOWN = _idaapi.BWN_UNKNOWN +BWN_EXPORTS = _idaapi.BWN_EXPORTS +BWN_IMPORTS = _idaapi.BWN_IMPORTS +BWN_NAMES = _idaapi.BWN_NAMES +BWN_FUNCS = _idaapi.BWN_FUNCS +BWN_STRINGS = _idaapi.BWN_STRINGS +BWN_SEGS = _idaapi.BWN_SEGS +BWN_SEGREGS = _idaapi.BWN_SEGREGS +BWN_SELS = _idaapi.BWN_SELS +BWN_SIGNS = _idaapi.BWN_SIGNS +BWN_TILS = _idaapi.BWN_TILS +BWN_LOCTYPS = _idaapi.BWN_LOCTYPS +BWN_CALLS = _idaapi.BWN_CALLS +BWN_PROBS = _idaapi.BWN_PROBS +BWN_BPTS = _idaapi.BWN_BPTS +BWN_THREADS = _idaapi.BWN_THREADS +BWN_MODULES = _idaapi.BWN_MODULES +BWN_TRACE = _idaapi.BWN_TRACE +BWN_CALL_STACK = _idaapi.BWN_CALL_STACK +BWN_XREFS = _idaapi.BWN_XREFS +BWN_SEARCH = _idaapi.BWN_SEARCH +BWN_FRAME = _idaapi.BWN_FRAME +BWN_NAVBAND = _idaapi.BWN_NAVBAND +BWN_ENUMS = _idaapi.BWN_ENUMS +BWN_STRUCTS = _idaapi.BWN_STRUCTS +BWN_DISASM = _idaapi.BWN_DISASM +BWN_DUMP = _idaapi.BWN_DUMP +BWN_NOTEPAD = _idaapi.BWN_NOTEPAD +BWN_OUTPUT = _idaapi.BWN_OUTPUT +BWN_CLI = _idaapi.BWN_CLI +BWN_WATCH = _idaapi.BWN_WATCH +BWN_LOCALS = _idaapi.BWN_LOCALS +BWN_STKVIEW = _idaapi.BWN_STKVIEW +BWN_CHOOSER = _idaapi.BWN_CHOOSER +BWN_SHORTCUTCSR = _idaapi.BWN_SHORTCUTCSR +BWN_SHORTCUTWIN = _idaapi.BWN_SHORTCUTWIN +BWN_CPUREGS = _idaapi.BWN_CPUREGS +BWN_SO_STRUCTS = _idaapi.BWN_SO_STRUCTS +BWN_SO_OFFSETS = _idaapi.BWN_SO_OFFSETS +BWN_STACK = _idaapi.BWN_STACK +BWN_DISASMS = _idaapi.BWN_DISASMS +BWN_DUMPS = _idaapi.BWN_DUMPS +BWN_SEARCHS = _idaapi.BWN_SEARCHS +IWID_EXPORTS = _idaapi.IWID_EXPORTS +IWID_IMPORTS = _idaapi.IWID_IMPORTS +IWID_NAMES = _idaapi.IWID_NAMES +IWID_FUNCS = _idaapi.IWID_FUNCS +IWID_STRINGS = _idaapi.IWID_STRINGS +IWID_SEGS = _idaapi.IWID_SEGS +IWID_SEGREGS = _idaapi.IWID_SEGREGS +IWID_SELS = _idaapi.IWID_SELS +IWID_SIGNS = _idaapi.IWID_SIGNS +IWID_TILS = _idaapi.IWID_TILS +IWID_LOCTYPS = _idaapi.IWID_LOCTYPS +IWID_CALLS = _idaapi.IWID_CALLS +IWID_PROBS = _idaapi.IWID_PROBS +IWID_BPTS = _idaapi.IWID_BPTS +IWID_THREADS = _idaapi.IWID_THREADS +IWID_MODULES = _idaapi.IWID_MODULES +IWID_TRACE = _idaapi.IWID_TRACE +IWID_STACK = _idaapi.IWID_STACK +IWID_XREFS = _idaapi.IWID_XREFS +IWID_SEARCHS = _idaapi.IWID_SEARCHS +IWID_FRAME = _idaapi.IWID_FRAME +IWID_NAVBAND = _idaapi.IWID_NAVBAND +IWID_ENUMS = _idaapi.IWID_ENUMS +IWID_STRUCTS = _idaapi.IWID_STRUCTS +IWID_DISASMS = _idaapi.IWID_DISASMS +IWID_DUMPS = _idaapi.IWID_DUMPS +IWID_NOTEPAD = _idaapi.IWID_NOTEPAD +IWID_IDAMEMOS = _idaapi.IWID_IDAMEMOS +IWID_ALL = _idaapi.IWID_ALL + +def is_chooser_tform(*args): + """ + is_chooser_tform(t) -> bool + """ + return _idaapi.is_chooser_tform(*args) +CHOOSER_NO_SELECTION = _idaapi.CHOOSER_NO_SELECTION +CHOOSER_MULTI_SELECTION = _idaapi.CHOOSER_MULTI_SELECTION +CHOOSER_HOTKEY = _idaapi.CHOOSER_HOTKEY +CHOOSER_MENU_EDIT = _idaapi.CHOOSER_MENU_EDIT +CHOOSER_MENU_JUMP = _idaapi.CHOOSER_MENU_JUMP +CHOOSER_MENU_SEARCH = _idaapi.CHOOSER_MENU_SEARCH +CHOOSER_POPUP_MENU = _idaapi.CHOOSER_POPUP_MENU +CVH_USERDATA = _idaapi.CVH_USERDATA +CVH_KEYDOWN = _idaapi.CVH_KEYDOWN +CVH_POPUP = _idaapi.CVH_POPUP +CVH_DBLCLICK = _idaapi.CVH_DBLCLICK +CVH_CURPOS = _idaapi.CVH_CURPOS +CVH_CLOSE = _idaapi.CVH_CLOSE +CVH_CLICK = _idaapi.CVH_CLICK +CVH_QT_AWARE = _idaapi.CVH_QT_AWARE +CVH_HELP = _idaapi.CVH_HELP +CVH_MOUSEMOVE = _idaapi.CVH_MOUSEMOVE +CDVH_USERDATA = _idaapi.CDVH_USERDATA +CDVH_SRCVIEW = _idaapi.CDVH_SRCVIEW +CDVH_LINES_CLICK = _idaapi.CDVH_LINES_CLICK +CDVH_LINES_DBLCLICK = _idaapi.CDVH_LINES_DBLCLICK +CDVH_LINES_POPUP = _idaapi.CDVH_LINES_POPUP +CDVH_LINES_DRAWICON = _idaapi.CDVH_LINES_DRAWICON +CDVH_LINES_LINENUM = _idaapi.CDVH_LINES_LINENUM +CDVH_LINES_ICONMARGIN = _idaapi.CDVH_LINES_ICONMARGIN +CDVH_LINES_RADIX = _idaapi.CDVH_LINES_RADIX +CDVH_LINES_ALIGNMENT = _idaapi.CDVH_LINES_ALIGNMENT +msg_activated = _idaapi.msg_activated +msg_deactivated = _idaapi.msg_deactivated +obsolete_msg_popup = _idaapi.obsolete_msg_popup +msg_click = _idaapi.msg_click +msg_dblclick = _idaapi.msg_dblclick +msg_closed = _idaapi.msg_closed +msg_keydown = _idaapi.msg_keydown +class renderer_pos_info_t(object): + """ + Proxy of C++ renderer_pos_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> renderer_pos_info_t + """ + this = _idaapi.new_renderer_pos_info_t(*args) + try: self.this.append(this) + except: self.this = this + node = _swig_property(_idaapi.renderer_pos_info_t_node_get, _idaapi.renderer_pos_info_t_node_set) + cx = _swig_property(_idaapi.renderer_pos_info_t_cx_get, _idaapi.renderer_pos_info_t_cx_set) + cy = _swig_property(_idaapi.renderer_pos_info_t_cy_get, _idaapi.renderer_pos_info_t_cy_set) + sx = _swig_property(_idaapi.renderer_pos_info_t_sx_get, _idaapi.renderer_pos_info_t_sx_set) + __swig_destroy__ = _idaapi.delete_renderer_pos_info_t + __del__ = lambda self : None; +renderer_pos_info_t_swigregister = _idaapi.renderer_pos_info_t_swigregister +renderer_pos_info_t_swigregister(renderer_pos_info_t) +EMPTY_SEL = cvar.EMPTY_SEL +START_SEL = cvar.START_SEL +END_SEL = cvar.END_SEL + +view_activated = _idaapi.view_activated +view_deactivated = _idaapi.view_deactivated +view_keydown = _idaapi.view_keydown +obsolete_view_popup = _idaapi.obsolete_view_popup +view_click = _idaapi.view_click +view_dblclick = _idaapi.view_dblclick +view_curpos = _idaapi.view_curpos +view_created = _idaapi.view_created +view_close = _idaapi.view_close +view_switched = _idaapi.view_switched +view_mouse_over = _idaapi.view_mouse_over +MFF_FAST = _idaapi.MFF_FAST +MFF_READ = _idaapi.MFF_READ +MFF_WRITE = _idaapi.MFF_WRITE +MFF_NOWAIT = _idaapi.MFF_NOWAIT +class ui_requests_t(object): + """ + Proxy of C++ ui_requests_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> ui_requests_t + """ + this = _idaapi.new_ui_requests_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_ui_requests_t + __del__ = lambda self : None; +ui_requests_t_swigregister = _idaapi.ui_requests_t_swigregister +ui_requests_t_swigregister(ui_requests_t) + +UIJMP_ACTIVATE = _idaapi.UIJMP_ACTIVATE +UIJMP_DONTPUSH = _idaapi.UIJMP_DONTPUSH +UIJMP_IDAVIEW = _idaapi.UIJMP_IDAVIEW +class action_ctx_base_t(object): + """ + Proxy of C++ action_ctx_base_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> action_ctx_base_t + """ + this = _idaapi.new_action_ctx_base_t(*args) + try: self.this.append(this) + except: self.this = this + def reset(self, *args): + """ + reset(self) + """ + return _idaapi.action_ctx_base_t_reset(self, *args) + + form = _swig_property(_idaapi.action_ctx_base_t_form_get, _idaapi.action_ctx_base_t_form_set) + form_type = _swig_property(_idaapi.action_ctx_base_t_form_type_get, _idaapi.action_ctx_base_t_form_type_set) + form_title = _swig_property(_idaapi.action_ctx_base_t_form_title_get, _idaapi.action_ctx_base_t_form_title_set) + chooser_selection = _swig_property(_idaapi.action_ctx_base_t_chooser_selection_get, _idaapi.action_ctx_base_t_chooser_selection_set) + action = _swig_property(_idaapi.action_ctx_base_t_action_get, _idaapi.action_ctx_base_t_action_set) + cur_flags = _swig_property(_idaapi.action_ctx_base_t_cur_flags_get, _idaapi.action_ctx_base_t_cur_flags_set) + def has_flag(self, *args): + """ + has_flag(self, flag) -> bool + """ + return _idaapi.action_ctx_base_t_has_flag(self, *args) + + cur_ea = _swig_property(_idaapi.action_ctx_base_t_cur_ea_get, _idaapi.action_ctx_base_t_cur_ea_set) + cur_extracted_ea = _swig_property(_idaapi.action_ctx_base_t_cur_extracted_ea_get, _idaapi.action_ctx_base_t_cur_extracted_ea_set) + cur_func = _swig_property(_idaapi.action_ctx_base_t_cur_func_get, _idaapi.action_ctx_base_t_cur_func_set) + cur_fchunk = _swig_property(_idaapi.action_ctx_base_t_cur_fchunk_get, _idaapi.action_ctx_base_t_cur_fchunk_set) + cur_struc = _swig_property(_idaapi.action_ctx_base_t_cur_struc_get, _idaapi.action_ctx_base_t_cur_struc_set) + cur_strmem = _swig_property(_idaapi.action_ctx_base_t_cur_strmem_get, _idaapi.action_ctx_base_t_cur_strmem_set) + cur_enum = _swig_property(_idaapi.action_ctx_base_t_cur_enum_get, _idaapi.action_ctx_base_t_cur_enum_set) + cur_seg = _swig_property(_idaapi.action_ctx_base_t_cur_seg_get, _idaapi.action_ctx_base_t_cur_seg_set) + __swig_destroy__ = _idaapi.delete_action_ctx_base_t + __del__ = lambda self : None; +action_ctx_base_t_swigregister = _idaapi.action_ctx_base_t_swigregister +action_ctx_base_t_swigregister(action_ctx_base_t) +ACF_HAS_SELECTION = _idaapi.ACF_HAS_SELECTION +ACF_XTRN_EA = _idaapi.ACF_XTRN_EA + +class action_activation_ctx_t(action_ctx_base_t): + """ + Proxy of C++ action_activation_ctx_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> action_activation_ctx_t + """ + this = _idaapi.new_action_activation_ctx_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_action_activation_ctx_t + __del__ = lambda self : None; +action_activation_ctx_t_swigregister = _idaapi.action_activation_ctx_t_swigregister +action_activation_ctx_t_swigregister(action_activation_ctx_t) + +class action_update_ctx_t(action_ctx_base_t): + """ + Proxy of C++ action_update_ctx_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> action_update_ctx_t + """ + this = _idaapi.new_action_update_ctx_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_action_update_ctx_t + __del__ = lambda self : None; +action_update_ctx_t_swigregister = _idaapi.action_update_ctx_t_swigregister +action_update_ctx_t_swigregister(action_update_ctx_t) + +AHF_VERSION = _idaapi.AHF_VERSION +AHF_VERSION_MASK = _idaapi.AHF_VERSION_MASK +AST_ENABLE_ALWAYS = _idaapi.AST_ENABLE_ALWAYS +AST_ENABLE_FOR_IDB = _idaapi.AST_ENABLE_FOR_IDB +AST_ENABLE_FOR_FORM = _idaapi.AST_ENABLE_FOR_FORM +AST_ENABLE = _idaapi.AST_ENABLE +AST_DISABLE_ALWAYS = _idaapi.AST_DISABLE_ALWAYS +AST_DISABLE_FOR_IDB = _idaapi.AST_DISABLE_FOR_IDB +AST_DISABLE_FOR_FORM = _idaapi.AST_DISABLE_FOR_FORM +AST_DISABLE = _idaapi.AST_DISABLE + +def is_action_enabled(*args): + """ + is_action_enabled(s) -> bool + """ + return _idaapi.is_action_enabled(*args) +class action_desc_t(object): + """ + Proxy of C++ action_desc_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + cb = _swig_property(_idaapi.action_desc_t_cb_get, _idaapi.action_desc_t_cb_set) + name = _swig_property(_idaapi.action_desc_t_name_get, _idaapi.action_desc_t_name_set) + label = _swig_property(_idaapi.action_desc_t_label_get, _idaapi.action_desc_t_label_set) + owner = _swig_property(_idaapi.action_desc_t_owner_get, _idaapi.action_desc_t_owner_set) + shortcut = _swig_property(_idaapi.action_desc_t_shortcut_get, _idaapi.action_desc_t_shortcut_set) + tooltip = _swig_property(_idaapi.action_desc_t_tooltip_get, _idaapi.action_desc_t_tooltip_set) + icon = _swig_property(_idaapi.action_desc_t_icon_get, _idaapi.action_desc_t_icon_set) + def __init__(self, *args): + """ + __init__(self, name, label, handler, shortcut=None, tooltip=None, icon=-1) -> action_desc_t + """ + this = _idaapi.new_action_desc_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_action_desc_t + __del__ = lambda self : None; +action_desc_t_swigregister = _idaapi.action_desc_t_swigregister +action_desc_t_swigregister(action_desc_t) + +AA_NONE = _idaapi.AA_NONE +AA_LABEL = _idaapi.AA_LABEL +AA_SHORTCUT = _idaapi.AA_SHORTCUT +AA_TOOLTIP = _idaapi.AA_TOOLTIP +AA_ICON = _idaapi.AA_ICON +AA_STATE = _idaapi.AA_STATE +AA_CHECKABLE = _idaapi.AA_CHECKABLE +AA_CHECKED = _idaapi.AA_CHECKED +AA_VISIBILITY = _idaapi.AA_VISIBILITY + +def cancel_exec_request(*args): + """ + cancel_exec_request(req_id) -> bool + """ + return _idaapi.cancel_exec_request(*args) + +def banner(*args): + """ + banner(wait) -> bool + """ + return _idaapi.banner(*args) + +def is_msg_inited(*args): + """ + is_msg_inited() -> bool + """ + return _idaapi.is_msg_inited(*args) + +def refresh_idaview(*args): + """ + refresh_idaview() + """ + return _idaapi.refresh_idaview(*args) + +def refresh_idaview_anyway(*args): + """ + refresh_idaview_anyway() + """ + return _idaapi.refresh_idaview_anyway(*args) + +def analyzer_options(*args): + """ + analyzer_options() + """ + return _idaapi.analyzer_options(*args) + +def get_screen_ea(*args): + """ + get_screen_ea() -> ea_t + """ + return _idaapi.get_screen_ea(*args) + +def get_opnum(*args): + """ + get_opnum() -> int + """ + return _idaapi.get_opnum(*args) + +def get_cursor(*args): + """ + get_cursor() -> bool + """ + return _idaapi.get_cursor(*args) + +def get_output_cursor(*args): + """ + get_output_cursor() -> bool + """ + return _idaapi.get_output_cursor(*args) + +def get_curline(*args): + """ + get_curline() -> char * + """ + return _idaapi.get_curline(*args) + +def read_selection(*args): + """ + read_selection() -> bool + """ + return _idaapi.read_selection(*args) + +def unmark_selection(*args): + """ + unmark_selection() + """ + return _idaapi.unmark_selection(*args) + +def open_url(*args): + """ + open_url(url) + """ + return _idaapi.open_url(*args) + +def get_hexdump_ea(*args): + """ + get_hexdump_ea(hexdump_num) -> ea_t + """ + return _idaapi.get_hexdump_ea(*args) + +def get_key_code(*args): + """ + get_key_code(keyname) -> ushort + """ + return _idaapi.get_key_code(*args) + +def lookup_key_code(*args): + """ + lookup_key_code(key, shift, is_qt) -> ushort + """ + return _idaapi.lookup_key_code(*args) + +def refresh_navband(*args): + """ + refresh_navband(force) + """ + return _idaapi.refresh_navband(*args) + +def refresh_chooser(*args): + """ + refresh_chooser(title) -> bool + """ + return _idaapi.refresh_chooser(*args) + +def close_chooser(*args): + """ + close_chooser(title) -> bool + """ + return _idaapi.close_chooser(*args) + +def 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 + """ + return _idaapi.set_dock_pos(*args) + +def free_custom_icon(*args): + """ + free_custom_icon(icon_id) + + + Frees an icon loaded with load_custom_icon() + """ + return _idaapi.free_custom_icon(*args) +class __qtimer_t(object): + """ + Proxy of C++ __qtimer_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> __qtimer_t + """ + this = _idaapi.new___qtimer_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete___qtimer_t + __del__ = lambda self : None; +__qtimer_t_swigregister = _idaapi.__qtimer_t_swigregister +__qtimer_t_swigregister(__qtimer_t) + + +def attach_action_to_menu(*args): + """ + attach_action_to_menu(menupath, name, flags) -> bool + """ + return _idaapi.attach_action_to_menu(*args) + +def detach_action_from_menu(*args): + """ + detach_action_from_menu(menupath, name) -> bool + """ + return _idaapi.detach_action_from_menu(*args) + +def attach_action_to_toolbar(*args): + """ + attach_action_to_toolbar(toolbar_name, name) -> bool + """ + return _idaapi.attach_action_to_toolbar(*args) + +def detach_action_from_toolbar(*args): + """ + detach_action_from_toolbar(toolbar_name, name) -> bool + """ + return _idaapi.detach_action_from_toolbar(*args) + +def register_and_attach_to_menu(*args): + """ + register_and_attach_to_menu(menupath, name, label, shortcut, flags, handler, owner) -> bool + """ + return _idaapi.register_and_attach_to_menu(*args) + +def set_menu_item_icon(*args): + """ + set_menu_item_icon(item_name, icon_id) -> bool + """ + return _idaapi.set_menu_item_icon(*args) + +def enable_menu_item(*args): + """ + enable_menu_item(item_name, enable) -> bool + """ + return _idaapi.enable_menu_item(*args) + +def create_tform(*args): + """ + create_tform(caption, handle) -> TForm * + """ + return _idaapi.create_tform(*args) + +def open_tform(*args): + """ + open_tform(form, options) + """ + return _idaapi.open_tform(*args) + +def close_tform(*args): + """ + close_tform(form, options) + """ + return _idaapi.close_tform(*args) + +def switchto_tform(*args): + """ + switchto_tform(form, take_focus) + """ + return _idaapi.switchto_tform(*args) + +def find_tform(*args): + """ + find_tform(caption) -> TForm * + """ + return _idaapi.find_tform(*args) + +def get_current_tform(*args): + """ + get_current_tform() -> TForm * + """ + return _idaapi.get_current_tform(*args) + +def get_tform_type(*args): + """ + get_tform_type(form) -> tform_type_t + """ + return _idaapi.get_tform_type(*args) + +def get_tform_title(*args): + """ + get_tform_title(form) -> bool + """ + return _idaapi.get_tform_title(*args) + +def create_ea_viewer(*args): + """ + create_ea_viewer(title, parent, minplace, maxplace, curplace, y, ud, flags=0, fillloc=None, jumploc=None) -> TCustomControl * + """ + return _idaapi.create_ea_viewer(*args) + +def ea_viewer_history_push_and_jump(*args): + """ + ea_viewer_history_push_and_jump(v, ea, x, y, lnnum) -> bool + """ + return _idaapi.ea_viewer_history_push_and_jump(*args) + +def get_ea_viewer_history_info(*args): + """ + get_ea_viewer_history_info(nback, nfwd, v) -> bool + """ + return _idaapi.get_ea_viewer_history_info(*args) + +def repaint_custom_viewer(*args): + """ + repaint_custom_viewer(custom_viewer) + """ + return _idaapi.repaint_custom_viewer(*args) + +def jumpto(*args): + """ + jumpto(ea, opnum=-1, uijmp_flags=0x0001) -> bool + jumpto(custom_viewer, place, x, y) -> bool + """ + return _idaapi.jumpto(*args) + +def get_custom_viewer_place(*args): + """ + get_custom_viewer_place(custom_viewer, mouse) -> place_t + """ + return _idaapi.get_custom_viewer_place(*args) + +def is_idaq(*args): + """ + is_idaq() -> bool + + + Returns True or False depending if IDAPython is hosted by IDAQ + """ + return _idaapi.is_idaq(*args) + +def attach_action_to_popup(*args): + """ + attach_action_to_popup(tcc, popup_handle, name, popuppath=None, flags=0) -> bool + attach_action_to_popup(form, popup_handle, name, popuppath=None, flags=0) -> bool + """ + return _idaapi.attach_action_to_popup(*args) + +def detach_action_from_popup(*args): + """ + detach_action_from_popup(form, name) -> bool + """ + return _idaapi.detach_action_from_popup(*args) + +def update_action_label(*args): + """ + update_action_label(name, label) -> bool + """ + return _idaapi.update_action_label(*args) + +def update_action_shortcut(*args): + """ + update_action_shortcut(name, shortcut) -> bool + """ + return _idaapi.update_action_shortcut(*args) + +def update_action_tooltip(*args): + """ + update_action_tooltip(name, tooltip) -> bool + """ + return _idaapi.update_action_tooltip(*args) + +def update_action_icon(*args): + """ + update_action_icon(name, icon) -> bool + """ + return _idaapi.update_action_icon(*args) + +def update_action_state(*args): + """ + update_action_state(name, state) -> bool + """ + return _idaapi.update_action_state(*args) + +def update_action_checkable(*args): + """ + update_action_checkable(name, checkable) -> bool + """ + return _idaapi.update_action_checkable(*args) + +def update_action_checked(*args): + """ + update_action_checked(name, checked) -> bool + """ + return _idaapi.update_action_checked(*args) + +def update_action_visibility(*args): + """ + update_action_visibility(name, visible) -> bool + """ + return _idaapi.update_action_visibility(*args) + +def get_action_label(*args): + """ + get_action_label(name) -> bool + """ + return _idaapi.get_action_label(*args) + +def get_action_shortcut(*args): + """ + get_action_shortcut(name) -> bool + """ + return _idaapi.get_action_shortcut(*args) + +def get_action_tooltip(*args): + """ + get_action_tooltip(name) -> bool + """ + return _idaapi.get_action_tooltip(*args) + +def get_action_icon(*args): + """ + get_action_icon(name) -> bool + """ + return _idaapi.get_action_icon(*args) + +def get_action_state(*args): + """ + get_action_state(name) -> bool + """ + return _idaapi.get_action_state(*args) + +def get_action_checkable(*args): + """ + get_action_checkable(name) -> bool + """ + return _idaapi.get_action_checkable(*args) + +def get_action_checked(*args): + """ + get_action_checked(name) -> bool + """ + return _idaapi.get_action_checked(*args) + +def get_action_visibility(*args): + """ + get_action_visibility(name) -> bool + """ + return _idaapi.get_action_visibility(*args) + +def set_custom_viewer_qt_aware(*args): + """ + set_custom_viewer_qt_aware(custom_viewer) -> bool + """ + return _idaapi.set_custom_viewer_qt_aware(*args) + +def get_custom_viewer_curline(*args): + """ + get_custom_viewer_curline(custom_viewer, mouse) -> char const * + """ + return _idaapi.get_custom_viewer_curline(*args) + +def get_output_curline(*args): + """ + get_output_curline(mouse) -> bool + """ + return _idaapi.get_output_curline(*args) + +def get_output_selected_text(*args): + """ + get_output_selected_text() -> bool + """ + return _idaapi.get_output_selected_text(*args) + +def get_tform_idaview(*args): + """ + get_tform_idaview(parent) -> TCustomControl * + """ + return _idaapi.get_tform_idaview(*args) + +def get_current_viewer(*args): + """ + get_current_viewer() -> TCustomControl * + """ + return _idaapi.get_current_viewer(*args) + +def get_view_renderer_type(*args): + """ + get_view_renderer_type(v) -> tcc_renderer_type_t + """ + return _idaapi.get_view_renderer_type(*args) + +def set_view_renderer_type(*args): + """ + set_view_renderer_type(v, rt) + """ + return _idaapi.set_view_renderer_type(*args) + +def readsel2(*args): + """ + readsel2(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.readsel2(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. + """ + return _idaapi.readsel2(*args) + +def create_code_viewer(*args): + """ + create_code_viewer(parent, custview, flags=0) -> TCustomControl * + """ + return _idaapi.create_code_viewer(*args) + +def set_code_viewer_handler(*args): + """ + set_code_viewer_handler(code_viewer, handler_id, handler_or_data) -> void * + """ + return _idaapi.set_code_viewer_handler(*args) + +def set_code_viewer_user_data(*args): + """ + set_code_viewer_user_data(code_viewer, ud) -> bool + """ + return _idaapi.set_code_viewer_user_data(*args) + +def get_viewer_user_data(*args): + """ + get_viewer_user_data(viewer) -> void * + """ + return _idaapi.get_viewer_user_data(*args) + +def get_viewer_place_type(*args): + """ + get_viewer_place_type(viewer) -> tcc_place_type_t + """ + return _idaapi.get_viewer_place_type(*args) + +def set_code_viewer_line_handlers(*args): + """ + set_code_viewer_line_handlers(code_viewer, click_handler, popup_handler, dblclick_handler, drawicon_handler, linenum_handler) + """ + return _idaapi.set_code_viewer_line_handlers(*args) + +def set_code_viewer_lines_icon_margin(*args): + """ + set_code_viewer_lines_icon_margin(code_viewer, margin) -> bool + """ + return _idaapi.set_code_viewer_lines_icon_margin(*args) + +def set_code_viewer_lines_alignment(*args): + """ + set_code_viewer_lines_alignment(code_viewer, align) -> bool + """ + return _idaapi.set_code_viewer_lines_alignment(*args) + +def set_code_viewer_lines_radix(*args): + """ + set_code_viewer_lines_radix(code_viewer, radix) -> bool + """ + return _idaapi.set_code_viewer_lines_radix(*args) + +def set_code_viewer_is_source(*args): + """ + set_code_viewer_is_source(code_viewer) -> bool + """ + return _idaapi.set_code_viewer_is_source(*args) + +def get_tab_size(*args): + """ + get_tab_size(path) -> int + """ + return _idaapi.get_tab_size(*args) + +def clearBreak(*args): + """ + clearBreak() + """ + return _idaapi.clearBreak(*args) + +def setBreak(*args): + """ + setBreak() + """ + return _idaapi.setBreak(*args) + +def wasBreak(*args): + """ + wasBreak() -> bool + """ + return _idaapi.wasBreak(*args) + +def ui_load_new_file(*args): + """ + ui_load_new_file(filename, li, neflags) -> bool + """ + return _idaapi.ui_load_new_file(*args) + +def ui_run_debugger(*args): + """ + ui_run_debugger(dbgopts, $ignore, argc, argv) -> bool + """ + return _idaapi.ui_run_debugger(*args) + +def load_dbg_dbginfo(*args): + """ + load_dbg_dbginfo(path, li=None, base=BADADDR, verbose=False) -> bool + """ + return _idaapi.load_dbg_dbginfo(*args) + +def add_idc_hotkey(*args): + """ + add_idc_hotkey(hotkey, idcfunc) -> int + """ + return _idaapi.add_idc_hotkey(*args) + +def del_idc_hotkey(*args): + """ + del_idc_hotkey(hotkey) -> bool + """ + return _idaapi.del_idc_hotkey(*args) + +def get_user_strlist_options(*args): + """ + get_user_strlist_options(out) + """ + return _idaapi.get_user_strlist_options(*args) + +def open_exports_window(*args): + """ + open_exports_window(ea) -> TForm * + """ + return _idaapi.open_exports_window(*args) + +def open_imports_window(*args): + """ + open_imports_window(ea) -> TForm * + """ + return _idaapi.open_imports_window(*args) + +def open_names_window(*args): + """ + open_names_window(ea) -> TForm * + """ + return _idaapi.open_names_window(*args) + +def open_funcs_window(*args): + """ + open_funcs_window(ea) -> TForm * + """ + return _idaapi.open_funcs_window(*args) + +def open_strings_window(*args): + """ + open_strings_window(ea, selstart=BADADDR, selend=BADADDR) -> TForm * + """ + return _idaapi.open_strings_window(*args) + +def open_segments_window(*args): + """ + open_segments_window(ea) -> TForm * + """ + return _idaapi.open_segments_window(*args) + +def open_segregs_window(*args): + """ + open_segregs_window(ea) -> TForm * + """ + return _idaapi.open_segregs_window(*args) + +def open_selectors_window(*args): + """ + open_selectors_window() -> TForm * + """ + return _idaapi.open_selectors_window(*args) + +def open_signatures_window(*args): + """ + open_signatures_window() -> TForm * + """ + return _idaapi.open_signatures_window(*args) + +def open_tils_window(*args): + """ + open_tils_window() -> TForm * + """ + return _idaapi.open_tils_window(*args) + +def open_loctypes_window(*args): + """ + open_loctypes_window(ordinal) -> TForm * + """ + return _idaapi.open_loctypes_window(*args) + +def open_calls_window(*args): + """ + open_calls_window(ea) -> TForm * + """ + return _idaapi.open_calls_window(*args) + +def open_problems_window(*args): + """ + open_problems_window(ea) -> TForm * + """ + return _idaapi.open_problems_window(*args) + +def open_bpts_window(*args): + """ + open_bpts_window(ea) -> TForm * + """ + return _idaapi.open_bpts_window(*args) + +def open_threads_window(*args): + """ + open_threads_window() -> TForm * + """ + return _idaapi.open_threads_window(*args) + +def open_modules_window(*args): + """ + open_modules_window() -> TForm * + """ + return _idaapi.open_modules_window(*args) + +def open_trace_window(*args): + """ + open_trace_window() -> TForm * + """ + return _idaapi.open_trace_window(*args) + +def open_stack_window(*args): + """ + open_stack_window() -> TForm * + """ + return _idaapi.open_stack_window(*args) + +def open_xrefs_window(*args): + """ + open_xrefs_window(ea) -> TForm * + """ + return _idaapi.open_xrefs_window(*args) + +def open_frame_window(*args): + """ + open_frame_window(pfn, offset) -> TForm * + """ + return _idaapi.open_frame_window(*args) + +def open_navband_window(*args): + """ + open_navband_window(ea, zoom) -> TForm * + """ + return _idaapi.open_navband_window(*args) + +def open_enums_window(*args): + """ + open_enums_window(const_id=BADADDR) -> TForm * + """ + return _idaapi.open_enums_window(*args) + +def open_structs_window(*args): + """ + open_structs_window(id=BADADDR, offset=0) -> TForm * + """ + return _idaapi.open_structs_window(*args) + +def open_disasm_window(*args): + """ + open_disasm_window(window_title, ranges=None) -> TForm * + """ + return _idaapi.open_disasm_window(*args) + +def open_hexdump_window(*args): + """ + open_hexdump_window(window_title) -> TForm * + """ + return _idaapi.open_hexdump_window(*args) + +def open_notepad_window(*args): + """ + open_notepad_window() -> TForm * + """ + return _idaapi.open_notepad_window(*args) + +def choose_til(*args): + """ + choose_til() -> bool + """ + return _idaapi.choose_til(*args) + +def choose_entry(*args): + """ + choose_entry(title) -> ea_t + """ + return _idaapi.choose_entry(*args) + +def choose_name(*args): + """ + choose_name(title) -> ea_t + """ + return _idaapi.choose_name(*args) + +def choose_stkvar_xref(*args): + """ + choose_stkvar_xref(pfn, mptr) -> ea_t + """ + return _idaapi.choose_stkvar_xref(*args) + +def choose_xref(*args): + """ + choose_xref(to) -> ea_t + """ + return _idaapi.choose_xref(*args) + +def choose_enum(*args): + """ + choose_enum(title, default_id) -> enum_t + """ + return _idaapi.choose_enum(*args) + +def choose_enum_by_value(*args): + """ + choose_enum_by_value(title, default_id, value, nbytes) -> enum_t + """ + return _idaapi.choose_enum_by_value(*args) + +def choose_func(*args): + """ + choose_func(title, default_ea) -> func_t + """ + return _idaapi.choose_func(*args) + +def choose_segm(*args): + """ + choose_segm(title, default_ea) -> segment_t + """ + return _idaapi.choose_segm(*args) + +def choose_struc(*args): + """ + choose_struc(title) -> struc_t + """ + return _idaapi.choose_struc(*args) + +def choose_srcp(*args): + """ + choose_srcp(title) -> segreg_area_t + """ + return _idaapi.choose_srcp(*args) + +def get_chooser_obj(*args): + """ + get_chooser_obj(chooser_caption) -> void * + """ + return _idaapi.get_chooser_obj(*args) + +def enable_chooser_item_attrs(*args): + """ + enable_chooser_item_attrs(chooser_caption, enable) -> bool + """ + return _idaapi.enable_chooser_item_attrs(*args) + +def show_wait_box(*args): + """ + show_wait_box(format) + """ + return _idaapi.show_wait_box(*args) + +def hide_wait_box(*args): + """ + hide_wait_box() + """ + return _idaapi.hide_wait_box(*args) + +def replace_wait_box(*args): + """ + replace_wait_box(format) + """ + return _idaapi.replace_wait_box(*args) + +def beep(*args): + """ + beep(beep_type=beep_default) + """ + return _idaapi.beep(*args) + +def askfile2_cv(*args): + """ + askfile2_cv(forsave, defdir, filters, format, va) -> char * + """ + return _idaapi.askfile2_cv(*args) + +def ask_for_feedback(*args): + """ + ask_for_feedback(format) + """ + return _idaapi.ask_for_feedback(*args) + +def askident(*args): + """ + askident(defval, format) -> char * + """ + return _idaapi.askident(*args) + +def _askaddr(*args): + """ + _askaddr(addr, format) -> bool + """ + return _idaapi._askaddr(*args) + +def _askseg(*args): + """ + _askseg(sel, format) -> bool + """ + return _idaapi._askseg(*args) + +def _asklong(*args): + """ + _asklong(value, format) -> bool + """ + return _idaapi._asklong(*args) + +def vaskqstr(*args): + """ + vaskqstr(str, format, va) -> bool + """ + return _idaapi.vaskqstr(*args) + +def vumsg(*args): + """ + vumsg(format, va) -> int + """ + return _idaapi.vumsg(*args) + +def display_copyright_warning(*args): + """ + display_copyright_warning() -> bool + """ + return _idaapi.display_copyright_warning(*args) + +def add_output_popup(*args): + """ + add_output_popup(n, c, u) + """ + return _idaapi.add_output_popup(*args) + +def add_chooser_command(*args): + """ + add_chooser_command(chooser_caption, cmd_caption, chooser_cb, menu_index=-1, icon=-1, flags=0) -> bool + add_chooser_command(chooser_caption, cmd_caption, chooser_cb, hotkey, menu_index=-1, icon=-1, flags=0) -> bool + """ + return _idaapi.add_chooser_command(*args) + +def choose_segreg(*args): + """ + choose_segreg(title) -> segreg_t + """ + return _idaapi.choose_segreg(*args) + +def error(*args): + """ + error(format) + """ + return _idaapi.error(*args) + +def warning(*args): + """ + warning(format) + """ + return _idaapi.warning(*args) + +def info(*args): + """ + info(format) + """ + return _idaapi.info(*args) + +def nomem(*args): + """ + nomem(format) + """ + return _idaapi.nomem(*args) +ASKBTN_YES = _idaapi.ASKBTN_YES +ASKBTN_NO = _idaapi.ASKBTN_NO +ASKBTN_CANCEL = _idaapi.ASKBTN_CANCEL +ASKBTN_BTN1 = _idaapi.ASKBTN_BTN1 +ASKBTN_BTN2 = _idaapi.ASKBTN_BTN2 +ASKBTN_BTN3 = _idaapi.ASKBTN_BTN3 + +def askyn_c(*args): + """ + askyn_c(deflt, format) -> int + """ + return _idaapi.askyn_c(*args) + +def askbuttons_c(*args): + """ + askbuttons_c(Yes, No, Cancel, deflt, format) -> int + """ + return _idaapi.askbuttons_c(*args) + +def askstr(*args): + """ + askstr(hist, defval, format) -> char * + """ + return _idaapi.askstr(*args) +HIST_SEG = _idaapi.HIST_SEG +HIST_CMT = _idaapi.HIST_CMT +HIST_SRCH = _idaapi.HIST_SRCH +HIST_ADDR = _idaapi.HIST_ADDR +HIST_IDENT = _idaapi.HIST_IDENT +HIST_NUM = _idaapi.HIST_NUM +HIST_FILE = _idaapi.HIST_FILE +HIST_TYPE = _idaapi.HIST_TYPE +HIST_CMD = _idaapi.HIST_CMD +HIST_DIR = _idaapi.HIST_DIR + +def askqstr(*args): + """ + askqstr(str, format) -> bool + """ + return _idaapi.askqstr(*args) + +def askfile_c(*args): + """ + askfile_c(savefile, defval, format) -> char * + """ + return _idaapi.askfile_c(*args) + +def askfile2_c(*args): + """ + askfile2_c(forsave, defdir, filters, format) -> char * + """ + return _idaapi.askfile2_c(*args) +class addon_info_t(object): + """ + Proxy of C++ addon_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + cb = _swig_property(_idaapi.addon_info_t_cb_get, _idaapi.addon_info_t_cb_set) + id = _swig_property(_idaapi.addon_info_t_id_get, _idaapi.addon_info_t_id_set) + name = _swig_property(_idaapi.addon_info_t_name_get, _idaapi.addon_info_t_name_set) + producer = _swig_property(_idaapi.addon_info_t_producer_get, _idaapi.addon_info_t_producer_set) + version = _swig_property(_idaapi.addon_info_t_version_get, _idaapi.addon_info_t_version_set) + url = _swig_property(_idaapi.addon_info_t_url_get, _idaapi.addon_info_t_url_set) + freeform = _swig_property(_idaapi.addon_info_t_freeform_get, _idaapi.addon_info_t_freeform_set) + custom_data = _swig_property(_idaapi.addon_info_t_custom_data_get, _idaapi.addon_info_t_custom_data_set) + custom_size = _swig_property(_idaapi.addon_info_t_custom_size_get, _idaapi.addon_info_t_custom_size_set) + def __init__(self, *args): + """ + __init__(self) -> addon_info_t + """ + this = _idaapi.new_addon_info_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_addon_info_t + __del__ = lambda self : None; +addon_info_t_swigregister = _idaapi.addon_info_t_swigregister +addon_info_t_swigregister(addon_info_t) + + +def register_addon(*args): + """ + register_addon(info) -> int + """ + return _idaapi.register_addon(*args) + +def addon_count(*args): + """ + addon_count() -> int + """ + return _idaapi.addon_count(*args) + +def get_addon_info(*args): + """ + get_addon_info(id, info) -> bool + """ + return _idaapi.get_addon_info(*args) + +def get_addon_info_idx(*args): + """ + get_addon_info_idx(index, info) -> bool + """ + return _idaapi.get_addon_info_idx(*args) + +def add_spaces(*args): + """ + add_spaces(str, bufsize, len) -> char * + """ + return _idaapi.add_spaces(*args) +class strarray_t(object): + """ + Proxy of C++ strarray_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + code = _swig_property(_idaapi.strarray_t_code_get, _idaapi.strarray_t_code_set) + text = _swig_property(_idaapi.strarray_t_text_get, _idaapi.strarray_t_text_set) + def __init__(self, *args): + """ + __init__(self) -> strarray_t + """ + this = _idaapi.new_strarray_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_strarray_t + __del__ = lambda self : None; +strarray_t_swigregister = _idaapi.strarray_t_swigregister +strarray_t_swigregister(strarray_t) + + +def strarray(*args): + """ + strarray(array, array_size, code) -> char const * + """ + return _idaapi.strarray(*args) +IK_CANCEL = _idaapi.IK_CANCEL +IK_BACK = _idaapi.IK_BACK +IK_TAB = _idaapi.IK_TAB +IK_CLEAR = _idaapi.IK_CLEAR +IK_RETURN = _idaapi.IK_RETURN +IK_SHIFT = _idaapi.IK_SHIFT +IK_CONTROL = _idaapi.IK_CONTROL +IK_MENU = _idaapi.IK_MENU +IK_PAUSE = _idaapi.IK_PAUSE +IK_CAPITAL = _idaapi.IK_CAPITAL +IK_KANA = _idaapi.IK_KANA +IK_ESCAPE = _idaapi.IK_ESCAPE +IK_MODECHANGE = _idaapi.IK_MODECHANGE +IK_SPACE = _idaapi.IK_SPACE +IK_PRIOR = _idaapi.IK_PRIOR +IK_NEXT = _idaapi.IK_NEXT +IK_END = _idaapi.IK_END +IK_HOME = _idaapi.IK_HOME +IK_LEFT = _idaapi.IK_LEFT +IK_UP = _idaapi.IK_UP +IK_RIGHT = _idaapi.IK_RIGHT +IK_DOWN = _idaapi.IK_DOWN +IK_SELECT = _idaapi.IK_SELECT +IK_PRINT = _idaapi.IK_PRINT +IK_EXECUTE = _idaapi.IK_EXECUTE +IK_SNAPSHOT = _idaapi.IK_SNAPSHOT +IK_INSERT = _idaapi.IK_INSERT +IK_DELETE = _idaapi.IK_DELETE +IK_HELP = _idaapi.IK_HELP +IK_LWIN = _idaapi.IK_LWIN +IK_RWIN = _idaapi.IK_RWIN +IK_APPS = _idaapi.IK_APPS +IK_SLEEP = _idaapi.IK_SLEEP +IK_NUMPAD0 = _idaapi.IK_NUMPAD0 +IK_NUMPAD1 = _idaapi.IK_NUMPAD1 +IK_NUMPAD2 = _idaapi.IK_NUMPAD2 +IK_NUMPAD3 = _idaapi.IK_NUMPAD3 +IK_NUMPAD4 = _idaapi.IK_NUMPAD4 +IK_NUMPAD5 = _idaapi.IK_NUMPAD5 +IK_NUMPAD6 = _idaapi.IK_NUMPAD6 +IK_NUMPAD7 = _idaapi.IK_NUMPAD7 +IK_NUMPAD8 = _idaapi.IK_NUMPAD8 +IK_NUMPAD9 = _idaapi.IK_NUMPAD9 +IK_MULTIPLY = _idaapi.IK_MULTIPLY +IK_ADD = _idaapi.IK_ADD +IK_SEPARATOR = _idaapi.IK_SEPARATOR +IK_SUBTRACT = _idaapi.IK_SUBTRACT +IK_DECIMAL = _idaapi.IK_DECIMAL +IK_DIVIDE = _idaapi.IK_DIVIDE +IK_F1 = _idaapi.IK_F1 +IK_F2 = _idaapi.IK_F2 +IK_F3 = _idaapi.IK_F3 +IK_F4 = _idaapi.IK_F4 +IK_F5 = _idaapi.IK_F5 +IK_F6 = _idaapi.IK_F6 +IK_F7 = _idaapi.IK_F7 +IK_F8 = _idaapi.IK_F8 +IK_F9 = _idaapi.IK_F9 +IK_F10 = _idaapi.IK_F10 +IK_F11 = _idaapi.IK_F11 +IK_F12 = _idaapi.IK_F12 +IK_F13 = _idaapi.IK_F13 +IK_F14 = _idaapi.IK_F14 +IK_F15 = _idaapi.IK_F15 +IK_F16 = _idaapi.IK_F16 +IK_F17 = _idaapi.IK_F17 +IK_F18 = _idaapi.IK_F18 +IK_F19 = _idaapi.IK_F19 +IK_F20 = _idaapi.IK_F20 +IK_F21 = _idaapi.IK_F21 +IK_F22 = _idaapi.IK_F22 +IK_F23 = _idaapi.IK_F23 +IK_F24 = _idaapi.IK_F24 +IK_NUMLOCK = _idaapi.IK_NUMLOCK +IK_SCROLL = _idaapi.IK_SCROLL +IK_OEM_FJ_MASSHOU = _idaapi.IK_OEM_FJ_MASSHOU +IK_OEM_FJ_TOUROKU = _idaapi.IK_OEM_FJ_TOUROKU +IK_LSHIFT = _idaapi.IK_LSHIFT +IK_RSHIFT = _idaapi.IK_RSHIFT +IK_LCONTROL = _idaapi.IK_LCONTROL +IK_RCONTROL = _idaapi.IK_RCONTROL +IK_LMENU = _idaapi.IK_LMENU +IK_RMENU = _idaapi.IK_RMENU +IK_BROWSER_BACK = _idaapi.IK_BROWSER_BACK +IK_BROWSER_FORWARD = _idaapi.IK_BROWSER_FORWARD +IK_BROWSER_REFRESH = _idaapi.IK_BROWSER_REFRESH +IK_BROWSER_STOP = _idaapi.IK_BROWSER_STOP +IK_BROWSER_SEARCH = _idaapi.IK_BROWSER_SEARCH +IK_BROWSER_FAVORITES = _idaapi.IK_BROWSER_FAVORITES +IK_BROWSER_HOME = _idaapi.IK_BROWSER_HOME +IK_VOLUME_MUTE = _idaapi.IK_VOLUME_MUTE +IK_VOLUME_DOWN = _idaapi.IK_VOLUME_DOWN +IK_VOLUME_UP = _idaapi.IK_VOLUME_UP +IK_MEDIA_NEXT_TRACK = _idaapi.IK_MEDIA_NEXT_TRACK +IK_MEDIA_PREV_TRACK = _idaapi.IK_MEDIA_PREV_TRACK +IK_MEDIA_STOP = _idaapi.IK_MEDIA_STOP +IK_MEDIA_PLAY_PAUSE = _idaapi.IK_MEDIA_PLAY_PAUSE +IK_LAUNCH_MAIL = _idaapi.IK_LAUNCH_MAIL +IK_LAUNCH_MEDIA_SELECT = _idaapi.IK_LAUNCH_MEDIA_SELECT +IK_LAUNCH_APP1 = _idaapi.IK_LAUNCH_APP1 +IK_LAUNCH_APP2 = _idaapi.IK_LAUNCH_APP2 +IK_OEM_1 = _idaapi.IK_OEM_1 +IK_OEM_PLUS = _idaapi.IK_OEM_PLUS +IK_OEM_COMMA = _idaapi.IK_OEM_COMMA +IK_OEM_MINUS = _idaapi.IK_OEM_MINUS +IK_OEM_PERIOD = _idaapi.IK_OEM_PERIOD +IK_OEM_2 = _idaapi.IK_OEM_2 +IK_OEM_3 = _idaapi.IK_OEM_3 +IK_OEM_4 = _idaapi.IK_OEM_4 +IK_OEM_5 = _idaapi.IK_OEM_5 +IK_OEM_6 = _idaapi.IK_OEM_6 +IK_OEM_7 = _idaapi.IK_OEM_7 +IK_OEM_102 = _idaapi.IK_OEM_102 +IK_PLAY = _idaapi.IK_PLAY +IK_ZOOM = _idaapi.IK_ZOOM +IK_OEM_CLEAR = _idaapi.IK_OEM_CLEAR +CB_INIT = _idaapi.CB_INIT +CB_YES = _idaapi.CB_YES +CB_CLOSE = _idaapi.CB_CLOSE +class disasm_text_t(object): + """ + Proxy of C++ qvector<(disasm_line_t)> class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> disasm_text_t + __init__(self, x) -> disasm_text_t + """ + this = _idaapi.new_disasm_text_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_disasm_text_t + __del__ = lambda self : None; + def push_back(self, *args): + """ + push_back(self, x) + push_back(self) -> disasm_line_t + """ + return _idaapi.disasm_text_t_push_back(self, *args) + + def pop_back(self, *args): + """ + pop_back(self) + """ + return _idaapi.disasm_text_t_pop_back(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.disasm_text_t_size(self, *args) + + def empty(self, *args): + """ + empty(self) -> bool + """ + return _idaapi.disasm_text_t_empty(self, *args) + + def at(self, *args): + """ + at(self, _idx) -> disasm_line_t + """ + return _idaapi.disasm_text_t_at(self, *args) + + def front(self, *args): + """ + front(self) -> disasm_line_t + front(self) -> disasm_line_t + """ + return _idaapi.disasm_text_t_front(self, *args) + + def back(self, *args): + """ + back(self) -> disasm_line_t + back(self) -> disasm_line_t + """ + return _idaapi.disasm_text_t_back(self, *args) + + def qclear(self, *args): + """ + qclear(self) + """ + return _idaapi.disasm_text_t_qclear(self, *args) + + def clear(self, *args): + """ + clear(self) + """ + return _idaapi.disasm_text_t_clear(self, *args) + + def resize(self, *args): + """ + resize(self, _newsize, x) + resize(self, _newsize) + """ + return _idaapi.disasm_text_t_resize(self, *args) + + def grow(self, *args): + """ + grow(self, x=disasm_line_t()) + """ + return _idaapi.disasm_text_t_grow(self, *args) + + def capacity(self, *args): + """ + capacity(self) -> size_t + """ + return _idaapi.disasm_text_t_capacity(self, *args) + + def reserve(self, *args): + """ + reserve(self, cnt) + """ + return _idaapi.disasm_text_t_reserve(self, *args) + + def truncate(self, *args): + """ + truncate(self) + """ + return _idaapi.disasm_text_t_truncate(self, *args) + + def swap(self, *args): + """ + swap(self, r) + """ + return _idaapi.disasm_text_t_swap(self, *args) + + def extract(self, *args): + """ + extract(self) -> disasm_line_t + """ + return _idaapi.disasm_text_t_extract(self, *args) + + def inject(self, *args): + """ + inject(self, s, len) + """ + return _idaapi.disasm_text_t_inject(self, *args) + + def begin(self, *args): + """ + begin(self) -> disasm_line_t + begin(self) -> disasm_line_t + """ + return _idaapi.disasm_text_t_begin(self, *args) + + def end(self, *args): + """ + end(self) -> disasm_line_t + end(self) -> disasm_line_t + """ + return _idaapi.disasm_text_t_end(self, *args) + + def insert(self, *args): + """ + insert(self, it, x) -> disasm_line_t + """ + return _idaapi.disasm_text_t_insert(self, *args) + + def erase(self, *args): + """ + erase(self, it) -> disasm_line_t + erase(self, first, last) -> disasm_line_t + """ + return _idaapi.disasm_text_t_erase(self, *args) + + def __len__(self, *args): + """ + __len__(self) -> size_t + """ + return _idaapi.disasm_text_t___len__(self, *args) + + def __getitem__(self, *args): + """ + __getitem__(self, i) -> disasm_line_t + """ + return _idaapi.disasm_text_t___getitem__(self, *args) + + def __setitem__(self, *args): + """ + __setitem__(self, i, v) + """ + return _idaapi.disasm_text_t___setitem__(self, *args) + + __iter__ = _bounded_getitem_iterator + +disasm_text_t_swigregister = _idaapi.disasm_text_t_swigregister +disasm_text_t_swigregister(disasm_text_t) + + +def choose_choose(*args): + """ + choose_choose(self, flags, x0, y0, x1, y1, width, deflt, icon) -> uint32 + choose_choose(self, flags, x0, y0, x1, y1, width, deflt, icon) -> uint32 + """ + return _idaapi.choose_choose(*args) +# +DP_LEFT = 0x0001 +DP_TOP = 0x0002 +DP_RIGHT = 0x0004 +DP_BOTTOM = 0x0008 +DP_INSIDE = 0x0010 +# if not before, then it is after +# (use DP_INSIDE | DP_BEFORE to insert a tab before a given tab) +# this flag alone cannot be used to determine orientation +DP_BEFORE = 0x0020 +# used with combination of other flags +DP_TAB = 0x0040 +DP_FLOATING = 0x0080 + +# ---------------------------------------------------------------------- +def 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 + """ + if file_name is not None: + return _idaapi.py_load_custom_icon_fn(file_name) + elif not (data is None and format is None): + return _idaapi.py_load_custom_icon_data(data, format) + else: + return 0 + +# ---------------------------------------------------------------------- +def asklong(defval, format): + res, val = _idaapi._asklong(defval, format) + + if res == 1: + return val + else: + return None + +# ---------------------------------------------------------------------- +def askaddr(defval, format): + res, ea = _idaapi._askaddr(defval, format) + + if res == 1: + return ea + else: + return None + +# ---------------------------------------------------------------------- +def askseg(defval, format): + res, sel = _idaapi._askseg(defval, format) + + if res == 1: + return sel + else: + return None + +# ---------------------------------------------------------------------- +class action_handler_t: + def __init__(self): + pass + + def activate(self, ctx): + return 0 + + def update(self, ctx): + pass + + + +class Choose2(object): + """ + Choose2 wrapper class. + + Some constants are defined in this class. Please refer to kernwin.hpp for more information. + """ + + CH_MODAL = 0x01 + """ + Modal chooser + """ + + CH_MULTI = 0x02 + """ + Allow multi selection + """ + + CH_MULTI_EDIT = 0x04 + CH_NOBTNS = 0x08 + CH_ATTRS = 0x10 + CH_NOIDB = 0x20 + """ + use the chooser even without an open database, same as x0=-2 + """ + CH_UTF8 = 0x40 + """ + string encoding is utf-8 + """ + + CH_BUILTIN_MASK = 0xF80000 + + # column flags (are specified in the widths array) + CHCOL_PLAIN = 0x00000000 + CHCOL_PATH = 0x00010000 + CHCOL_HEX = 0x00020000 + CHCOL_DEC = 0x00030000 + CHCOL_FORMAT = 0x00070000 + + + def __init__(self, title, cols, flags=0, popup_names=None, + icon=-1, x1=-1, y1=-1, x2=-1, y2=-1, deflt=-1, + embedded=False, width=None, height=None): + """ + 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 | Choose2.CHCOL_HEX], ["Name", 30 | Choose2.CHCOL_PLAIN] ] + @param flags: One of CH_XXXX constants + @param deflt: Default starting item + @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 + @param embedded: Create as embedded chooser + @param width: Embedded chooser width + @param height: Embedded chooser height + """ + self.title = title + self.flags = flags + self.cols = cols + self.deflt = deflt + self.popup_names = popup_names + self.icon = icon + self.x1 = x1 + self.y1 = y1 + self.x2 = x2 + self.y2 = y2 + self.embedded = embedded + if embedded: + self.x1 = width + self.y1 = height + + + def Embedded(self): + """ + Creates an embedded chooser (as opposed to Show()) + @return: Returns 1 on success + """ + return _idaapi.choose2_create(self, True) + + + def GetEmbSelection(self): + """ + Returns the selection associated with an embedded chooser + + @return: + - None if chooser is not embedded + - A list with selection indices (0-based) + """ + return _idaapi.choose2_get_embedded_selection(self) + + + def Show(self, modal=False): + """ + Activates or creates a chooser window + @param modal: Display as modal dialog + @return: For modal choosers it will return the selected item index (0-based) + """ + if modal: + self.flags |= Choose2.CH_MODAL + + # Disable the timeout + old = _idaapi.set_script_timeout(0) + n = _idaapi.choose2_create(self, False) + _idaapi.set_script_timeout(old) + + # Delete the modal chooser instance + self.Close() + + return n + else: + self.flags &= ~Choose2.CH_MODAL + return _idaapi.choose2_create(self, False) + + + def Activate(self): + """ + Activates a visible chooser + """ + return _idaapi.choose2_activate(self) + + + def Refresh(self): + """ + Causes the refresh callback to trigger + """ + return _idaapi.choose2_refresh(self) + + + def Close(self): + """ + Closes the chooser + """ + return _idaapi.choose2_close(self) + + + def AddCommand(self, + caption, + flags = _idaapi.CHOOSER_POPUP_MENU, + menu_index = -1, + icon = -1, + emb=None): + """ + Deprecated: Use + - register_action() + - attach_action_to_menu() + - attach_action_to_popup() + """ + # Use the 'emb' as a sentinel. It will be passed the correct value from the EmbeddedChooserControl + if self.embedded and ((emb is None) or (emb != 2002)): + raise RuntimeError("Please add a command through EmbeddedChooserControl.AddCommand()") + return _idaapi.choose2_add_command(self, caption, flags, menu_index, icon) + + # + # Implement these methods in the subclass: + # +# +# def OnClose(self): +# """ +# Called when the window is being closed. +# This callback is mandatory. +# @return: nothing +# """ +# pass +# +# def OnGetLine(self, n): +# """Called when the chooser window requires lines. +# This callback is mandatory. +# @param n: Line number (0-based) +# @return: The user should return a list with ncols elements. +# example: a list [col1, col2, col3, ...] describing the n-th line +# """ +# return ["col1 val", "col2 val"] +# +# def OnGetSize(self): +# """Returns the element count. +# This callback is mandatory. +# @return: Number of elements +# """ +# return len(self.the_list) +# +# def OnEditLine(self, n): +# """ +# Called when an item is being edited. +# @param n: Line number (0-based) +# @return: Nothing +# """ +# pass +# +# def OnInsertLine(self): +# """ +# Called when 'Insert' is selected either via the hotkey or popup menu. +# @return: Nothing +# """ +# pass +# +# def OnSelectLine(self, n): +# """ +# Called when a line is selected and then Ok or double click was pressed +# @param n: Line number (0-based) +# """ +# pass +# +# def OnSelectionChange(self, sel_list): +# """ +# Called when the selection changes +# @param sel_list: A list of selected item indices +# """ +# pass +# +# def OnDeleteLine(self, n): +# """ +# Called when a line is about to be deleted +# @param n: Line number (0-based) +# """ +# return self.n +# +# def OnRefresh(self, n): +# """ +# Triggered when the 'Refresh' is called from the popup menu item. +# +# @param n: The currently selected line (0-based) at the time of the refresh call +# @return: Return the number of elements +# """ +# return self.n +# +# def OnRefreshed(self): +# """ +# Triggered when a refresh happens (for example due to column sorting) +# @param n: Line number (0-based) +# @return: Return the number of elements +# """ +# return self.n +# +# def OnCommand(self, n, cmd_id): +# """Return int ; check add_chooser_command()""" +# return 0 +# +# def OnGetIcon(self, n): +# """ +# Return icon number for a given item (or -1 if no icon is avail) +# @param n: Line number (0-based) +# """ +# return -1 +# +# def OnGetLineAttr(self, n): +# """ +# Return list [bgcolor, flags=CHITEM_XXXX] or None; check chooser_item_attrs_t +# @param n: Line number (0-based) +# """ +# return [0x0, CHITEM_BOLD] +# + + +#ICON WARNING|QUESTION|INFO|NONE +#AUTOHIDE NONE|DATABASE|REGISTRY|SESSION +#HIDECANCEL +#BUTTON YES|NO|CANCEL "Value|NONE" +#STARTITEM {id:ItemName} +#HELP / ENDHELP +try: + import types + from ctypes import * + # On Windows, we use stdcall + + # Callback for buttons + # typedef void (idaapi *formcb_t)(TView *fields[], int code); + + _FORMCB_T = WINFUNCTYPE(None, c_void_p, c_int) + + # Callback for form change + # typedef int (idaapi *formchgcb_t)(int field_id, form_actions_t &fa); + _FORMCHGCB_T = WINFUNCTYPE(c_int, c_int, c_void_p) +except: + try: + _FORMCB_T = CFUNCTYPE(None, c_void_p, c_int) + _FORMCHGCB_T = CFUNCTYPE(c_int, c_int, c_void_p) + except: + _FORMCHGCB_T = _FORMCB_T = None + + +# ----------------------------------------------------------------------- +# textctrl_info_t clinked object +class textctrl_info_t(py_clinked_object_t): + """ + Class representing textctrl_info_t + """ + + # Some constants + TXTF_AUTOINDENT = 0x0001 + """ + Auto-indent on new line + """ + TXTF_ACCEPTTABS = 0x0002 + """ + Tab key inserts 'tabsize' spaces + """ + TXTF_READONLY = 0x0004 + """ + Text cannot be edited (but can be selected and copied) + """ + TXTF_SELECTED = 0x0008 + """ + Shows the field with its text selected + """ + TXTF_MODIFIED = 0x0010 + """ + Gets/sets the modified status + """ + TXTF_FIXEDFONT = 0x0020 + """ + The control uses IDA's fixed font + """ + + def __init__(self, text="", flags=0, tabsize=0): + py_clinked_object_t.__init__(self) + if text: + self.text = text + if flags: + self.flags = flags + if tabsize: + self.tabsize = tabsize + + def _create_clink(self): + return _idaapi.textctrl_info_t_create() + + def _del_clink(self, lnk): + return _idaapi.textctrl_info_t_destroy(lnk) + + def _get_clink_ptr(self): + return _idaapi.textctrl_info_t_get_clink_ptr(self) + + def assign(self, other): + """ + Copies the contents of 'other' to 'self' + """ + return _idaapi.textctrl_info_t_assign(self, other) + + def __set_text(self, s): + """ + Sets the text value + """ + return _idaapi.textctrl_info_t_set_text(self, s) + + def __get_text(self): + """ + Sets the text value + """ + return _idaapi.textctrl_info_t_get_text(self) + + def __set_flags__(self, flags): + """ + Sets the flags value + """ + return _idaapi.textctrl_info_t_set_flags(self, flags) + + def __get_flags__(self): + """ + Returns the flags value + """ + return _idaapi.textctrl_info_t_get_flags(self) + + def __set_tabsize__(self, tabsize): + """ + Sets the tabsize value + """ + return _idaapi.textctrl_info_t_set_tabsize(self, tabsize) + + def __get_tabsize__(self): + """ + Returns the tabsize value + """ + return _idaapi.textctrl_info_t_get_tabsize(self) + + value = property(__get_text, __set_text) + """ + Alias for the text property + """ + text = property(__get_text, __set_text) + """ + Text value + """ + flags = property(__get_flags__, __set_flags__) + """ + Flags value + """ + tabsize = property(__get_tabsize__, __set_tabsize__) + +# ----------------------------------------------------------------------- +class Form(object): + + FT_ASCII = 'A' + """ + Ascii string - char * + """ + FT_SEG = 'S' + """ + Segment - sel_t * + """ + FT_HEX = 'N' + """ + Hex number - uval_t * + """ + FT_SHEX = 'n' + """ + Signed hex number - sval_t * + """ + FT_COLOR = 'K' + """ + Color button - bgcolor_t * + """ + FT_ADDR = '$' + """ + Address - ea_t * + """ + FT_UINT64 = 'L' + """ + default base uint64 - uint64 + """ + FT_INT64 = 'l' + """ + default base int64 - int64 + """ + FT_RAWHEX = 'M' + """ + Hex number, no 0x prefix - uval_t * + """ + FT_FILE = 'f' + """ + File browse - char * at least QMAXPATH + """ + FT_DEC = 'D' + """ + Decimal number - sval_t * + """ + FT_OCT = 'O' + """ + Octal number, C notation - sval_t * + """ + FT_BIN = 'Y' + """ + Binary number, 0b prefix - sval_t * + """ + FT_CHAR = 'H' + """ + Char value -- sval_t * + """ + FT_IDENT = 'I' + """ + Identifier - char * at least MAXNAMELEN + """ + FT_BUTTON = 'B' + """ + Button - def handler(code) + """ + FT_DIR = 'F' + """ + Path to directory - char * at least QMAXPATH + """ + FT_TYPE = 'T' + """ + Type declaration - char * at least MAXSTR + """ + _FT_USHORT = '_US' + """ + Unsigned short + """ + FT_FORMCHG = '%/' + """ + Form change callback - formchgcb_t + """ + FT_ECHOOSER = 'E' + """ + Embedded chooser - idaapi.Choose2 + """ + FT_MULTI_LINE_TEXT = 't' + """ + Multi text control - textctrl_info_t + """ + FT_DROPDOWN_LIST = 'b' + """ + Dropdown list control - Form.DropdownControl + """ + + FT_CHKGRP = 'C' + FT_CHKGRP2= 'c' + FT_RADGRP = 'R' + FT_RADGRP2= 'r' + + @staticmethod + def fieldtype_to_ctype(tp, i64 = False): + """ + Factory method returning a ctype class corresponding to the field type string + """ + if tp in (Form.FT_SEG, Form.FT_HEX, Form.FT_RAWHEX, Form.FT_ADDR): + return c_ulonglong if i64 else c_ulong + elif tp in (Form.FT_SHEX, Form.FT_DEC, Form.FT_OCT, Form.FT_BIN, Form.FT_CHAR): + return c_longlong if i64 else c_long + elif tp == Form.FT_UINT64: + return c_ulonglong + elif tp == Form.FT_INT64: + return c_longlong + elif tp == Form.FT_COLOR: + return c_ulong + elif tp == Form._FT_USHORT: + return c_ushort + elif tp in (Form.FT_FORMCHG, Form.FT_ECHOOSER): + return c_void_p + else: + return None + + + # + # Generic argument helper classes + # + class NumericArgument(object): + """ + Argument representing various integer arguments (ushort, uint32, uint64, etc...) + @param tp: One of Form.FT_XXX + """ + DefI64 = False + def __init__(self, tp, value): + cls = Form.fieldtype_to_ctype(tp, self.DefI64) + if cls is None: + raise TypeError("Invalid numeric field type: %s" % tp) + # Get a pointer type to the ctype type + self.arg = pointer(cls(value)) + + def __set_value(self, v): + self.arg.contents.value = v + value = property(lambda self: self.arg.contents.value, __set_value) + + + class StringArgument(object): + """ + Argument representing a character buffer + """ + 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 = create_string_buffer(size) + else: + self.arg = create_string_buffer(value, size) + self.size = size + + def __set_value(self, v): + self.arg.value = v + value = property(lambda self: self.arg.value, __set_value) + + + # + # Base control class + # + class Control(object): + def __init__(self): + self.id = 0 + """ + Automatically assigned control ID + """ + + self.arg = None + """ + Control argument value. This could be one element or a list/tuple (for multiple args per control) + """ + + self.form = None + """ + Reference to the parent form. It is filled by Form.Add() + """ + + + def get_tag(self): + """ + Control tag character. One of Form.FT_XXXX. + The form class will expand the {} notation and replace them with the tags + """ + pass + + def get_arg(self): + """ + Control returns the parameter to be pushed on the stack + (Of AskUsingForm()) + """ + return self.arg + + def free(self): + """ + Free the control + """ + # Release the parent form reference + self.form = None + + + # + # Label controls + # + class LabelControl(Control): + """ + Base class for static label control + """ + def __init__(self, tp): + Form.Control.__init__(self) + self.tp = tp + + def get_tag(self): + return '%%%d%s' % (self.id, self.tp) + + + class StringLabel(LabelControl): + """ + String label control + """ + def __init__(self, value, tp=None, sz=1024): + """ + Type field can be one of: + A - ascii string + T - type declaration + I - ident + F - folder + f - file + X - command + """ + if tp is None: + tp = Form.FT_ASCII + Form.LabelControl.__init__(self, tp) + self.size = sz + self.arg = create_string_buffer(value, sz) + + + class NumericLabel(LabelControl, NumericArgument): + """ + Numeric label control + """ + def __init__(self, value, tp=None): + if tp is None: + tp = Form.FT_HEX + Form.LabelControl.__init__(self, tp) + Form.NumericArgument.__init__(self, tp, value) + + + # + # Group controls + # + class GroupItemControl(Control): + """ + Base class for group control items + """ + def __init__(self, tag, parent): + Form.Control.__init__(self) + self.tag = tag + self.parent = parent + # Item position (filled when form is compiled) + self.pos = 0 + + def assign_pos(self): + self.pos = self.parent.next_child_pos() + + def get_tag(self): + return "%s%d" % (self.tag, self.id) + + + class ChkGroupItemControl(GroupItemControl): + """ + Checkbox group item control + """ + def __init__(self, tag, parent): + Form.GroupItemControl.__init__(self, tag, parent) + + def __get_value(self): + return (self.parent.value & (1 << self.pos)) != 0 + + def __set_value(self, v): + pv = self.parent.value + if v: + pv = pv | (1 << self.pos) + else: + pv = pv & ~(1 << self.pos) + + self.parent.value = pv + + checked = property(__get_value, __set_value) + """ + Get/Sets checkbox item check status + """ + + + class RadGroupItemControl(GroupItemControl): + """ + Radiobox group item control + """ + def __init__(self, tag, parent): + Form.GroupItemControl.__init__(self, tag, parent) + + def __get_value(self): + return self.parent.value == self.pos + + def __set_value(self, v): + self.parent.value = self.pos + + selected = property(__get_value, __set_value) + """ + Get/Sets radiobox item selection status + """ + + + class GroupControl(Control, NumericArgument): + """ + Base class for group controls + """ + def __init__(self, children_names, tag, value=0): + Form.Control.__init__(self) + self.children_names = children_names + self.tag = tag + self._reset() + Form.NumericArgument.__init__(self, Form._FT_USHORT, value) + + def _reset(self): + self.childpos = 0 + + def next_child_pos(self): + v = self.childpos + self.childpos += 1 + return v + + def get_tag(self): + return "%d" % self.id + + + class ChkGroupControl(GroupControl): + """ + Checkbox group control class. + It holds a set of checkbox controls + """ + ItemClass = None + """ + Group control item factory class instance + We need this because later we won't be treating ChkGroupControl or RadGroupControl + individually, instead we will be working with GroupControl in general. + """ + def __init__(self, children_names, value=0, secondary=False): + # Assign group item factory class + if Form.ChkGroupControl.ItemClass is None: + Form.ChkGroupControl.ItemClass = Form.ChkGroupItemControl + + Form.GroupControl.__init__( + self, + children_names, + Form.FT_CHKGRP2 if secondary else Form.FT_CHKGRP, + value) + + + class RadGroupControl(GroupControl): + """ + Radiobox group control class. + It holds a set of radiobox controls + """ + ItemClass = None + def __init__(self, children_names, value=0, secondary=False): + """ + Creates a radiogroup control. + @param children_names: A tuple containing group item names + @param value: Initial selected radio item + @param secondory: Allows rendering one the same line as the previous group control. + Use this if you have another group control on the same line. + """ + # Assign group item factory class + if Form.RadGroupControl.ItemClass is None: + Form.RadGroupControl.ItemClass = Form.RadGroupItemControl + + Form.GroupControl.__init__( + self, + children_names, + Form.FT_RADGRP2 if secondary else Form.FT_RADGRP, + value) + + + # + # Input controls + # + class InputControl(Control): + """ + Generic form input control. + It could be numeric control, string control, directory/file browsing, etc... + """ + def __init__(self, tp, width, swidth, hlp = None): + """ + @param width: Display width + @param swidth: String width + """ + Form.Control.__init__(self) + self.tp = tp + self.width = width + self.switdh = swidth + self.hlp = hlp + + def get_tag(self): + return "%s%d:%s:%s:%s" % ( + self.tp, self.id, + self.width, + self.switdh, + ":" if self.hlp is None else self.hlp) + + + class NumericInput(InputControl, NumericArgument): + """ + A composite class serving as a base numeric input control class + """ + def __init__(self, tp=None, value=0, width=50, swidth=10, hlp=None): + if tp is None: + tp = Form.FT_HEX + Form.InputControl.__init__(self, tp, width, swidth, hlp) + Form.NumericArgument.__init__(self, self.tp, value) + + + class ColorInput(NumericInput): + """ + Color button input control + """ + def __init__(self, value = 0): + """ + @param value: Initial color value in RGB + """ + Form.NumericInput.__init__(self, tp=Form.FT_COLOR, value=value) + + + class StringInput(InputControl, StringArgument): + """ + Base string input control class. + This class also constructs a StringArgument + """ + def __init__(self, + tp=None, + width=1024, + swidth=40, + hlp=None, + value=None, + size=None): + """ + @param width: String size. But in some cases it has special meaning. For example in FileInput control. + If you want to define the string buffer size then pass the 'size' argument + @param swidth: Control width + @param value: Initial value + @param size: String size + """ + if tp is None: + tp = Form.FT_ASCII + if not size: + size = width + Form.InputControl.__init__(self, tp, width, swidth, hlp) + Form.StringArgument.__init__(self, size=size, value=value) + + + class FileInput(StringInput): + """ + File Open/Save input control + """ + def __init__(self, + width=512, + swidth=80, + save=False, open=False, + hlp=None, value=None): + + if save == open: + raise ValueError("Invalid mode. Choose either open or save") + if width < 512: + raise ValueError("Invalid width. Must be greater than 512.") + + # The width field is overloaded in this control and is used + # to denote the type of the FileInput dialog (save or load) + # On the other hand it is passed as is to the StringArgument part + Form.StringInput.__init__( + self, + tp=Form.FT_FILE, + width="1" if save else "0", + swidth=swidth, + hlp=hlp, + size=width, + value=value) + + + class DirInput(StringInput): + """ + Directory browsing control + """ + def __init__(self, + width=512, + swidth=80, + hlp=None, + value=None): + + if width < 512: + raise ValueError("Invalid width. Must be greater than 512.") + + Form.StringInput.__init__( + self, + tp=Form.FT_DIR, + width=width, + swidth=swidth, + hlp=hlp, + size=width, + value=value) + + + class ButtonInput(InputControl): + """ + 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) + """ + def __init__(self, handler, code="", swidth="", hlp=None): + """ + @param handler: Button handler. A callback taking one argument which is the code. + @param code: A code associated with the button and that is later passed to the handler. + """ + Form.InputControl.__init__( + self, + Form.FT_BUTTON, + code, + swidth, + hlp) + self.arg = _FORMCB_T(lambda view, code, h=handler: h(code)) + + + class FormChangeCb(Control): + """ + 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) + + """ + def __init__(self, handler): + """ + Constructs the handler. + @param handler: The handler (preferrably a member function of a class derived from the Form class). + """ + Form.Control.__init__(self) + + # Save the handler + self.handler = handler + + # Create a callback stub + # We use this mechanism to create an intermediate step + # where we can create an 'fa' adapter for use by Python + self.arg = _FORMCHGCB_T(self.helper_cb) + + def helper_cb(self, fid, p_fa): + # Remember the pointer to the forms_action in the parent form + self.form.p_fa = p_fa + + # Call user's handler + r = self.handler(fid) + return 0 if r is None else r + + def get_tag(self): + return Form.FT_FORMCHG + + def free(self): + Form.Control.free(self) + # Remove reference to the handler + # (Normally the handler is a member function in the parent form) + self.handler = None + + + class EmbeddedChooserControl(InputControl): + """ + Embedded chooser control. + This control links to a Chooser2 control created with the 'embedded=True' + """ + def __init__(self, + chooser=None, + swidth=40, + hlp=None): + """ + Embedded chooser control + + @param chooser: A chooser2 instance (must be constructed with 'embedded=True') + """ + + # !! Make sure a chooser instance is passed !! + if chooser is None or not isinstance(chooser, Choose2): + raise ValueError("Invalid chooser passed.") + + # Create an embedded chooser structure from the Choose2 instance + if chooser.Embedded() != 1: + raise ValueError("Failed to create embedded chooser instance.") + + # Construct input control + Form.InputControl.__init__(self, Form.FT_ECHOOSER, "", swidth) + + # Get a pointer to the chooser_info_t and the selection vector + # (These two parameters are the needed arguments for the AskUsingForm()) + emb, sel = _idaapi.choose2_get_embedded(chooser) + + # Get a pointer to a c_void_p constructed from an address + p_embedded = pointer(c_void_p.from_address(emb)) + p_sel = pointer(c_void_p.from_address(sel)) + + # - Create the embedded chooser info on control creation + # - Do not free the embeded chooser because after we get the args + # via Compile() the user can still call Execute() which relies + # on the already computed args + self.arg = (p_embedded, p_sel) + + # Save chooser instance + self.chooser = chooser + + # Add a bogus 'size' attribute + self.size = 0 + + + value = property(lambda self: self.chooser) + """ + Returns the embedded chooser instance + """ + + + def AddCommand(self, + caption, + flags = _idaapi.CHOOSER_POPUP_MENU, + menu_index = -1, + icon = -1): + """ + Adds a new embedded chooser command + Save the returned value and later use it in the OnCommand handler + + @return: Returns a negative value on failure or the command index + """ + if not self.form.title: + raise ValueError("Form title is not set!") + + # Encode all information for the AddCommand() in the 'caption' parameter + caption = "%s:%d:%s" % (self.form.title, self.id, caption) + return self.chooser.AddCommand(caption, flags=flags, menu_index=menu_index, icon=icon, emb=2002) + + + def free(self): + """ + Frees the embedded chooser data + """ + self.chooser.Close() + self.chooser = None + Form.Control.free(self) + + + class DropdownListControl(InputControl, _qstrvec_t): + """ + Dropdown control + This control allows manipulating a dropdown control + """ + def __init__(self, items=[], readonly=True, selval=0, width=50, swidth=50, hlp = None): + """ + @param items: A string list of items used to prepopulate the control + @param readonly: Specifies whether the dropdown list is editable or not + @param selval: The preselected item index (when readonly) or text value (when editable) + @param width: the control width (n/a if the dropdown list is readonly) + @param swidth: string width + """ + + # Ignore the width if readonly was set + if readonly: + width = 0 + + # Init the input control base class + Form.InputControl.__init__( + self, + Form.FT_DROPDOWN_LIST, + width, + swidth, + hlp) + + # Init the associated qstrvec + _qstrvec_t.__init__(self, items) + + # Remember if readonly or not + self.readonly = readonly + + if readonly: + # Create a C integer and remember it + self.__selval = c_int(selval) + val_addr = addressof(self.__selval) + else: + # Create an strvec with one qstring + self.__selval = _qstrvec_t([selval]) + # Get address of the first element + val_addr = self.__selval.addressof(0) + + # Two arguments: + # - argument #1: a pointer to the qstrvec containing the items + # - argument #2: an integer to hold the selection + # or + # #2: a qstring to hold the dropdown text control value + self.arg = ( + pointer(c_void_p.from_address(self.clink_ptr)), + pointer(c_void_p.from_address(val_addr)) + ) + + + def __set_selval(self, val): + if self.readonly: + self.__selval.value = val + else: + self.__selval[0] = val + + def __get_selval(self): + # Return the selection index + # or the entered text value + return self.__selval.value if self.readonly else self.__selval[0] + + value = property(__get_selval, __set_selval) + selval = property(__get_selval, __set_selval) + """ + Read/write the selection value. + The value is used as an item index in readonly mode or text value in editable mode + This value can be used only after the form has been closed. + """ + + def free(self): + self._free() + + + def set_items(self, items): + """ + Sets the dropdown list items + """ + self.from_list(items) + + + class MultiLineTextControl(InputControl, textctrl_info_t): + """ + Multi line text control. + This class inherits from textctrl_info_t. Thus the attributes are also inherited + This control allows manipulating a multilinetext control + """ + def __init__(self, text="", flags=0, tabsize=0, width=50, swidth=50, hlp = None): + """ + @param text: Initial text value + @param flags: One of textctrl_info_t.TXTF_.... values + @param tabsize: Tab size + @param width: Display width + @param swidth: String width + """ + # Init the input control base class + Form.InputControl.__init__(self, Form.FT_MULTI_LINE_TEXT, width, swidth, hlp) + + # Init the associated textctrl_info base class + textctrl_info_t.__init__(self, text=text, flags=flags, tabsize=tabsize) + + # Get the argument as a pointer from the embedded ti + self.arg = pointer(c_void_p.from_address(self.clink_ptr)) + + + def free(self): + self._free() + + + # + # Form class + # + def __init__(self, form, controls): + """ + Contruct a Form class. + This class wraps around AskUsingForm() or OpenForm() 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_ + """ + self._reset() + self.form = form + """ + Form string + """ + self.controls = controls + """ + Dictionary of controls + """ + self.__args = None + + self.title = None + """ + The Form title. It will be filled when the form is compiled + """ + + self.modal = True + """ + By default, forms are modal + """ + + self.openform_flags = 0 + """ + If non-modal, these flags will be passed to OpenForm. + This is an OR'ed combination of the PluginForm.FORM_* values. + """ + + + def Free(self): + """ + Frees all resources associated with a compiled form. + Make sure you call this function when you finish using the form. + """ + + # Free all the controls + for ctrl in self.__controls.values(): + ctrl.free() + + # Reset the controls + # (Note that we are not removing the form control attributes, no need) + self._reset() + + # Unregister, so we don't try and free it again at closing-time. + _idaapi.py_unregister_compiled_form(self) + + + def _reset(self): + """ + Resets the Form class state variables + """ + self.__controls = {} + self.__ctrl_id = 1 + + + def __getitem__(self, name): + """ + Returns a control object by name + """ + return self.__controls[name] + + + def 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 + """ + # Assign a unique ID + ctrl.id = self.__ctrl_id + self.__ctrl_id += 1 + + # Create attribute with control name + if mkattr: + setattr(self, name, ctrl) + + # Remember the control + self.__controls[name] = ctrl + + # Link the form to the control via its form attribute + ctrl.form = self + + # Is it a group? Add each child + if isinstance(ctrl, Form.GroupControl): + self._AddGroup(ctrl, mkattr) + + + def FindControlById(self, id): + """ + Finds a control instance given its id + """ + for ctrl in self.__controls.values(): + if ctrl.id == id: + return ctrl + return None + + + @staticmethod + def _ParseFormTitle(form): + """ + Parses the form's title from the form text + """ + help_state = 0 + for i, line in enumerate(form.split("\n")): + if line.startswith("STARTITEM ") or line.startswith("BUTTON "): + continue + # Skip "HELP" and remember state + elif help_state == 0 and line == "HELP": + help_state = 1 # Mark inside HELP + continue + elif help_state == 1 and line == "ENDHELP": + help_state = 2 # Mark end of HELP + continue + return line.strip() + + return None + + + def _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) + """ + + # Create group item controls for each child + for child_name in Group.children_names: + self.Add( + child_name, + # Use the class factory + Group.ItemClass(Group.tag, Group), + mkattr) + + + def 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 + """ + for name, ctrl in controls.items(): + # Add the control + self.Add(name, ctrl, mkattr) + + + def 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 AskUsingForm(). + + The form controls are wrapped inside curly braces: {ControlName}. + + A special operator can be used to return the ID 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. + + @param form: Compiles the form and returns the arguments needed to be passed to AskUsingForm() + """ + # First argument is the form string + args = [None] + + # Second argument, if form is not modal, is the set of flags + if not self.modal: + args.append(self.openform_flags | 0x80) # Add FORM_QWIDGET + + ctrlcnt = 1 + + # Reset all group control internal flags + for ctrl in self.__controls.values(): + if isinstance(ctrl, Form.GroupControl): + ctrl._reset() + + p = 0 + while True: + i1 = form.find("{", p) + # No more items? + if i1 == -1: + break + + # Check if escaped + if (i1 != 0) and form[i1-1] == "\\": + # Remove escape sequence and restart search + form = form[:i1-1] + form[i1:] + + # Skip current marker + p = i1 + + # Continue search + continue + + i2 = form.find("}", i1) + if i2 == -1: + raise SyntaxError("No matching closing brace '}'") + + # Parse control name + ctrlname = form[i1+1:i2] + if not ctrlname: + raise ValueError("Control %d has an invalid name!" % ctrlcnt) + + # Is it the IDOF operator? + if ctrlname.startswith("id:"): + idfunc = True + # Take actual ctrlname + ctrlname = ctrlname[3:] + else: + idfunc = False + + # Find the control + ctrl = self.__controls.get(ctrlname, None) + if ctrl is None: + raise ValueError("No matching control '%s'" % ctrlname) + + # Replace control name by tag + if idfunc: + tag = str(ctrl.id) + else: + tag = ctrl.get_tag() + taglen = len(tag) + form = form[:i1] + tag + form[i2+1:] + + # Set new position + p = i1 + taglen + + # Was it an IDOF() ? No need to push parameters + # Just ID substitution is fine + if idfunc: + continue + + + # For GroupItem controls, there are no individual arguments + # The argument is assigned for the group itself + if isinstance(ctrl, Form.GroupItemControl): + # GroupItem controls will have their position dynamically set + ctrl.assign_pos() + else: + # Push argument(s) + # (Some controls need more than one argument) + arg = ctrl.get_arg() + if isinstance(arg, (types.ListType, types.TupleType)): + # Push all args + args.extend(arg) + else: + # Push one arg + args.append(arg) + + ctrlcnt += 1 + + # If no FormChangeCb instance was passed, and thus there's no '%/' + # in the resulting form string, let's provide a minimal one, so that + # we will retrieve 'p_fa', and thus actions that rely on it will work. + if form.find(Form.FT_FORMCHG) < 0: + form = form + Form.FT_FORMCHG + fccb = Form.FormChangeCb(lambda *args: 1) + self.Add("___dummyfchgcb", fccb) + # Regardless of the actual position of '%/' in the form + # string, a formchange callback _must_ be right after + # the form string. + if self.modal: + inspos = 1 + else: + inspos = 2 + args.insert(inspos, fccb.get_arg()) + + # Patch in the final form string + args[0] = form + + self.title = self._ParseFormTitle(form) + return args + + + def 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 + """ + + # Reset controls + self._reset() + + # Insert controls + self.AddControls(self.controls) + + # Compile form and get args + self.__args = self.CompileEx(self.form) + + # Register this form, to make sure it will be freed at closing-time. + _idaapi.py_register_compiled_form(self) + + return (self, self.__args) + + + def Compiled(self): + """ + Checks if the form has already been compiled + + @return: Boolean + """ + return self.__args is not None + + + def _ChkCompiled(self): + if not self.Compiled(): + raise SyntaxError("Form is not compiled") + + + def Execute(self): + """ + Displays a modal dialog containing the compiled form. + @return: 1 - ok ; 0 - cancel + """ + self._ChkCompiled() + if not self.modal: + raise SyntaxError("Form is not modal. Open() should be instead") + + return AskUsingForm(*self.__args) + + + def Open(self): + """ + Opens a widget containing the compiled form. + """ + self._ChkCompiled() + if self.modal: + raise SyntaxError("Form is modal. Execute() should be instead") + + OpenForm(*self.__args) + + + def EnableField(self, ctrl, enable): + """ + Enable or disable an input field + @return: False - no such control + """ + return _idaapi.formchgcbfa_enable_field(self.p_fa, ctrl.id, enable) + + + def ShowField(self, ctrl, show): + """ + Show or hide an input field + @return: False - no such control + """ + return _idaapi.formchgcbfa_show_field(self.p_fa, ctrl.id, show) + + + def MoveField(self, ctrl, x, y, w, h): + """ + Move/resize an input field + + @return: False - no such fiel + """ + return _idaapi.formchgcbfa_move_field(self.p_fa, ctrl.id, x, y, w, h) + + + def GetFocusedField(self): + """ + Get currently focused input field. + @return: None if no field is selected otherwise the control ID + """ + id = _idaapi.formchgcbfa_get_focused_field(self.p_fa) + return self.FindControlById(id) + + + def SetFocusedField(self, ctrl): + """ + Set currently focused input field + @return: False - no such control + """ + return _idaapi.formchgcbfa_set_focused_field(self.p_fa, ctrl.id) + + + def RefreshField(self, ctrl): + """ + Refresh a field + @return: False - no such control + """ + return _idaapi.formchgcbfa_refresh_field(self.p_fa, ctrl.id) + + + def 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 + """ + return _idaapi.formchgcbfa_close(self.p_fa, close_normally) + + + def 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 + """ + tid, sz = self.ControlToFieldTypeIdAndSize(ctrl) + r = _idaapi.formchgcbfa_get_field_value( + self.p_fa, + ctrl.id, + tid, + sz) + # 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]) + else: + return r + + + def 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 + """ + tid, _ = self.ControlToFieldTypeIdAndSize(ctrl) + return _idaapi.formchgcbfa_set_field_value( + self.p_fa, + ctrl.id, + tid, + value) + + + @staticmethod + def ControlToFieldTypeIdAndSize(ctrl): + """ + Converts a control object to a tuple containing the field id + and the associated buffer size + """ + # Input control depend on the associated buffer size (supplied by the user) + + # Make sure you check instances types taking into account inheritance + if isinstance(ctrl, Form.DropdownListControl): + return (8, 1 if ctrl.readonly else 0) + elif isinstance(ctrl, Form.MultiLineTextControl): + return (7, 0) + elif isinstance(ctrl, Form.EmbeddedChooserControl): + return (5, 0) + # Group items or controls + elif isinstance(ctrl, (Form.GroupItemControl, Form.GroupControl)): + return (2, 0) + elif isinstance(ctrl, Form.StringLabel): + return (3, min(_idaapi.MAXSTR, ctrl.size)) + elif isinstance(ctrl, Form.ColorInput): + return (4, 0) + elif isinstance(ctrl, Form.NumericInput): + # Pass the numeric control type + return (6, ord(ctrl.tp[0])) + elif isinstance(ctrl, Form.InputControl): + return (1, ctrl.size) + else: + raise NotImplementedError, "Not yet implemented" + +# -------------------------------------------------------------------------- +# Instantiate AskUsingForm function pointer +try: + import ctypes + # Setup the numeric argument size + Form.NumericArgument.DefI64 = _idaapi.BADADDR == 0xFFFFFFFFFFFFFFFFL + AskUsingForm__ = ctypes.CFUNCTYPE(ctypes.c_long)(_idaapi.py_get_AskUsingForm()) + OpenForm__ = ctypes.CFUNCTYPE(ctypes.c_long)(_idaapi.py_get_OpenForm()) +except: + def AskUsingForm__(*args): + warning("AskUsingForm() needs ctypes library in order to work") + return 0 + def OpenForm__(*args): + warning("OpenForm() needs ctypes library in order to work") + + +def AskUsingForm(*args): + """ + Calls AskUsingForm() + @param: Compiled Arguments obtain through the Form.Compile() function + @return: 1 = ok, 0 = cancel + """ + old = set_script_timeout(0) + r = AskUsingForm__(*args) + set_script_timeout(old) + return r + +def OpenForm(*args): + """ + Calls OpenForm() + @param: Compiled Arguments obtain through the Form.Compile() function + """ + old = set_script_timeout(0) + r = OpenForm__(*args) + set_script_timeout(old) + + +# + +# +class PluginForm(object): + """ + PluginForm class. + + This form can be used to host additional controls. Please check the PyQt example. + """ + + FORM_MDI = 0x01 + """ + start by default as MDI (obsolete) + """ + FORM_TAB = 0x02 + """ + attached by default to a tab + """ + FORM_RESTORE = 0x04 + """ + restore state from desktop config + """ + FORM_ONTOP = 0x08 + """ + form should be "ontop + """ + FORM_MENU = 0x10 + """ + form must be listed in the windows menu (automatically set for all plugins) + """ + FORM_CENTERED = 0x20 + """ + form will be centered on the screen + """ + FORM_PERSIST = 0x40 + """ + form will persist until explicitly closed with Close() + """ + + + def __init__(self): + """ + """ + self.__clink__ = _idaapi.plgform_new() + + + + def 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.FORM_ constants + """ + options |= PluginForm.FORM_TAB|PluginForm.FORM_MENU|PluginForm.FORM_RESTORE + return _idaapi.plgform_show(self.__clink__, self, caption, options) + + + @staticmethod + def FormToPyQtWidget(form, ctx = sys.modules['__main__']): + """ + Use this method to convert a TForm* to a QWidget to be used by PyQt + + @param ctx: Context. Reference to a module that already imported SIP and QtGui modules + """ + return ctx.sip.wrapinstance(ctx.sip.voidptr(form).__int__(), ctx.QtGui.QWidget) + + + @staticmethod + def FormToPySideWidget(form, ctx = sys.modules['__main__']): + """ + Use this method to convert a TForm* to a QWidget to be used by PySide + + @param ctx: Context. Reference to a module that already imported QtGui module + """ + if form is None: + return None + if type(form).__name__ == "SwigPyObject": + # Since 'form' is a SwigPyObject, we first need to convert it to a PyCObject. + # 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) + + + def 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 + """ + pass + + + def OnClose(self, form): + """ + Called when the plugin form is closed + + @return: None + """ + pass + + + def Close(self, options): + """ + Closes the form. + + @param options: Close options (FORM_SAVE, FORM_NO_CONTEXT, ...) + + @return: None + """ + return _idaapi.plgform_close(self.__clink__, options) + + FORM_SAVE = 0x1 + """ + Save state in desktop config + """ + + FORM_NO_CONTEXT = 0x2 + """ + Don't change the current context (useful for toolbars) + """ + + FORM_DONT_SAVE_SIZE = 0x4 + """ + Don't save size of the window + """ + + FORM_CLOSE_LATER = 0x8 + """ + This flag should be used when Close() is called from an event handler + """ +# + +class Choose: + """ + Choose - class for choose() with callbacks + """ + def __init__(self, list, title, flags=0, deflt=1, icon=37): + self.list = list + self.title = title + + self.flags = flags + self.x0 = -1 + self.x1 = -1 + self.y0 = -1 + self.y1 = -1 + + self.width = -1 + self.deflt = deflt + self.icon = icon + + # HACK: Add a circular reference for non-modal choosers. This prevents the GC + # from collecting the class object the callbacks need. Unfortunately this means + # that the class will never be collected, unless refhack is set to None explicitly. + if (flags & Choose2.CH_MODAL) == 0: + self.refhack = self + + def sizer(self): + """ + Callback: sizer - returns the length of the list + """ + return len(self.list) + + def getl(self, n): + """ + Callback: getl - get one item from the list + """ + if n == 0: + return self.title + if n <= self.sizer(): + return str(self.list[n-1]) + else: + return "" + + + def ins(self): + pass + + + def update(self, n): + pass + + + def edit(self, n): + pass + + + def enter(self, n): + print "enter(%d) called" % n + + + def destroy(self): + pass + + + def get_icon(self, n): + pass + + + def choose(self): + """ + choose - Display the choose dialogue + """ + old = set_script_timeout(0) + n = _idaapi.choose_choose( + self, + self.flags, + self.x0, + self.y0, + self.x1, + self.y1, + self.width, + self.deflt, + self.icon) + set_script_timeout(old) + return n + +# +class cli_t(pyidc_opaque_object_t): + """ + cli_t wrapper class. + + This class allows you to implement your own command line interface handlers. + """ + + def __init__(self): + self.__cli_idx = -1 + self.__clink__ = None + + + def 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 + """ + + # Already registered? + if self.__cli_idx >= 0: + return True + + if sname is not None: self.sname = sname + if lname is not None: self.lname = lname + if hint is not None: self.hint = hint + + # Register + self.__cli_idx = _idaapi.install_command_interpreter(self) + return False if self.__cli_idx < 0 else True + + + def unregister(self): + """ + Unregisters the CLI (if it was registered) + """ + if self.__cli_idx < 0: + return False + + _idaapi.remove_command_interpreter(self.__cli_idx) + self.__cli_idx = -1 + return True + + + def __del__(self): + self.unregister() + + # + # Implement these methods in the subclass: + # +# +# def OnExecuteLine(self, line): +# """ +# The user pressed Enter. The CLI is free to execute the line immediately or ask for more lines. +# +# This callback is mandatory. +# +# @param line: typed line(s) +# @return Boolean: True-executed line, False-ask for more lines +# """ +# return True +# +# def OnKeydown(self, line, x, sellen, vkey, shift): +# """ +# A keyboard key has been pressed +# This is a generic callback and the CLI is free to do whatever it wants. +# +# This callback is optional. +# +# @param line: current input line +# @param x: current x coordinate of the cursor +# @param sellen: current selection length (usually 0) +# @param vkey: virtual key code. if the key has been handled, it should be returned as zero +# @param shift: shift state +# +# @return: +# None - Nothing was changed +# tuple(line, x, sellen, vkey): if either of the input line or the x coordinate or the selection length has been modified. +# It is possible to return a tuple with None elements to preserve old values. Example: tuple(new_line, None, None, None) or tuple(new_line) +# """ +# return None +# +# def OnCompleteLine(self, prefix, n, line, prefix_start): +# """ +# The user pressed Tab. Find a completion number N for prefix PREFIX +# +# This callback is optional. +# +# @param prefix: Line prefix at prefix_start (string) +# @param n: completion number (int) +# @param line: the current line (string) +# @param prefix_start: the index where PREFIX starts in LINE (int) +# +# @return: None if no completion could be generated otherwise a String with the completion suggestion +# """ +# return None +# + +# +# +class simplecustviewer_t(object): + """ + The base class for implementing simple custom viewers + """ + def __init__(self): + self.__this = None + + def __del__(self): + """ + Destructor. It also frees the associated C++ object + """ + try: + _idaapi.pyscv_delete(self.__this) + except: + pass + + @staticmethod + def __make_sl_arg(line, fgcolor=None, bgcolor=None): + return line if (fgcolor is None and bgcolor is None) else (line, fgcolor, bgcolor) + + def 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 + """ + self.title = title + self.__this = _idaapi.pyscv_init(self, title) + return True if self.__this else False + + def Close(self): + """ + Destroys the view. + One has to call Create() afterwards. + Show() can be called and it will call Create() internally. + @return: Boolean + """ + return _idaapi.pyscv_close(self.__this) + + def Show(self): + """ + Shows an already created view. It the view was close, then it will call Create() for you + @return: Boolean + """ + return _idaapi.pyscv_show(self.__this) + + def Refresh(self): + return _idaapi.pyscv_refresh(self.__this) + + def RefreshCurrent(self): + """ + Refreshes the current line only + """ + return _idaapi.pyscv_refresh_current(self.__this) + + def Count(self): + """ + Returns the number of lines in the view + """ + return _idaapi.pyscv_count(self.__this) + + def GetSelection(self): + """ + Returns the selected area or None + @return: + - tuple(x1, y1, x2, y2) + - None if no selection + """ + return _idaapi.pyscv_get_selection(self.__this) + + def ClearLines(self): + """ + Clears all the lines + """ + _idaapi.pyscv_clear_lines(self.__this) + + def AddLine(self, line, fgcolor=None, bgcolor=None): + """ + Adds a colored line to the view + @return: Boolean + """ + return _idaapi.pyscv_add_line(self.__this, self.__make_sl_arg(line, fgcolor, bgcolor)) + + def InsertLine(self, lineno, line, fgcolor=None, bgcolor=None): + """ + Inserts a line in the given position + @return: Boolean + """ + return _idaapi.pyscv_insert_line(self.__this, lineno, self.__make_sl_arg(line, fgcolor, bgcolor)) + + def EditLine(self, lineno, line, fgcolor=None, bgcolor=None): + """ + Edits an existing line. + @return: Boolean + """ + return _idaapi.pyscv_edit_line(self.__this, lineno, self.__make_sl_arg(line, fgcolor, bgcolor)) + + def 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 + """ + return _idaapi.pyscv_patch_line(self.__this, lineno, offs, value) + + def DelLine(self, lineno): + """ + Deletes an existing line + @return: Boolean + """ + return _idaapi.pyscv_del_line(self.__this, lineno) + + def GetLine(self, lineno): + """ + Returns a line + @param lineno: The line number + @return: + Returns a tuple (colored_line, fgcolor, bgcolor) or None + """ + return _idaapi.pyscv_get_line(self.__this, lineno) + + def 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 + """ + return _idaapi.pyscv_get_current_word(self.__this, mouse) + + def 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 + """ + return _idaapi.pyscv_get_current_line(self.__this, mouse, notags) + + def GetPos(self, mouse = 0): + """ + Returns the current cursor or mouse position. + @param mouse: return mouse position + @return: Returns a tuple (lineno, x, y) + """ + return _idaapi.pyscv_get_pos(self.__this, mouse) + + def GetLineNo(self, mouse = 0): + """ + Calls GetPos() and returns the current line number or -1 on failure + """ + r = self.GetPos(mouse) + return -1 if not r else r[0] + + def Jump(self, lineno, x=0, y=0): + return _idaapi.pyscv_jumpto(self.__this, lineno, x, y) + + def AddPopupMenu(self, title, hotkey=""): + """ + Adds a popup menu item + @param title: The name of the menu item + @param hotkey: Hotkey of the item or just empty + @return: Returns the + """ + return _idaapi.pyscv_add_popup_menu(self.__this, title, hotkey) + + def ClearPopupMenu(self): + """ + Clears all previously installed popup menu items. + Use this function if you're generating menu items on the fly (in the OnPopup() callback), + and before adding new items + """ + _idaapi.pyscv_clear_popup_menu(self.__this) + + def IsFocused(self): + """ + Returns True if the current view is the focused view + """ + return _idaapi.pyscv_is_focused(self.__this) + + def GetTForm(self): + """ + Return the TForm hosting this view. + + @return: The TForm that hosts this view, or None. + """ + return _idaapi.pyscv_get_tform(self.__this) + + def GetTCustomControl(self): + """ + Return the TCustomControl underlying this view. + + @return: The TCustomControl underlying this view, or None. + """ + return _idaapi.pyscv_get_tcustom_control(self.__this) + + + + # Here are all the supported events +# +# def OnClick(self, shift): +# """ +# User clicked in the view +# @param shift: Shift flag +# @return: Boolean. True if you handled the event +# """ +# print "OnClick, shift=%d" % shift +# return True +# +# def OnDblClick(self, shift): +# """ +# User dbl-clicked in the view +# @param shift: Shift flag +# @return: Boolean. True if you handled the event +# """ +# print "OnDblClick, shift=%d" % shift +# return True +# +# def OnCursorPosChanged(self): +# """ +# Cursor position changed. +# @return: Nothing +# """ +# print "OnCurposChanged" +# +# def OnClose(self): +# """ +# The view is closing. Use this event to cleanup. +# @return: Nothing +# """ +# print "OnClose" +# +# def OnKeydown(self, vkey, shift): +# """ +# User pressed a key +# @param vkey: Virtual key code +# @param shift: Shift flag +# @return: Boolean. True if you handled the event +# """ +# print "OnKeydown, vk=%d shift=%d" % (vkey, shift) +# return False +# +# def OnPopup(self): +# """ +# Context menu popup is about to be shown. Create items dynamically if you wish +# @return: Boolean. True if you handled the event +# """ +# print "OnPopup" +# +# def OnHint(self, lineno): +# """ +# Hint requested for the given line number. +# @param lineno: The line number (zero based) +# @return: +# - tuple(number of important lines, hint string) +# - None: if no hint available +# """ +# return (1, "OnHint, line=%d" % lineno) +# +# def OnPopupMenu(self, menu_id): +# """ +# A context (or popup) menu item was executed. +# @param menu_id: ID previously registered with add_popup_menu() +# @return: Boolean +# """ +# print "OnPopupMenu, menu_id=" % menu_id +# return True +# +# + +COLOR_ON = _idaapi.COLOR_ON +COLOR_OFF = _idaapi.COLOR_OFF +COLOR_ESC = _idaapi.COLOR_ESC +COLOR_INV = _idaapi.COLOR_INV +SCOLOR_ON = _idaapi.SCOLOR_ON +SCOLOR_OFF = _idaapi.SCOLOR_OFF +SCOLOR_ESC = _idaapi.SCOLOR_ESC +SCOLOR_INV = _idaapi.SCOLOR_INV +SCOLOR_DEFAULT = _idaapi.SCOLOR_DEFAULT +SCOLOR_REGCMT = _idaapi.SCOLOR_REGCMT +SCOLOR_RPTCMT = _idaapi.SCOLOR_RPTCMT +SCOLOR_AUTOCMT = _idaapi.SCOLOR_AUTOCMT +SCOLOR_INSN = _idaapi.SCOLOR_INSN +SCOLOR_DATNAME = _idaapi.SCOLOR_DATNAME +SCOLOR_DNAME = _idaapi.SCOLOR_DNAME +SCOLOR_DEMNAME = _idaapi.SCOLOR_DEMNAME +SCOLOR_SYMBOL = _idaapi.SCOLOR_SYMBOL +SCOLOR_CHAR = _idaapi.SCOLOR_CHAR +SCOLOR_STRING = _idaapi.SCOLOR_STRING +SCOLOR_NUMBER = _idaapi.SCOLOR_NUMBER +SCOLOR_VOIDOP = _idaapi.SCOLOR_VOIDOP +SCOLOR_CREF = _idaapi.SCOLOR_CREF +SCOLOR_DREF = _idaapi.SCOLOR_DREF +SCOLOR_CREFTAIL = _idaapi.SCOLOR_CREFTAIL +SCOLOR_DREFTAIL = _idaapi.SCOLOR_DREFTAIL +SCOLOR_ERROR = _idaapi.SCOLOR_ERROR +SCOLOR_PREFIX = _idaapi.SCOLOR_PREFIX +SCOLOR_BINPREF = _idaapi.SCOLOR_BINPREF +SCOLOR_EXTRA = _idaapi.SCOLOR_EXTRA +SCOLOR_ALTOP = _idaapi.SCOLOR_ALTOP +SCOLOR_HIDNAME = _idaapi.SCOLOR_HIDNAME +SCOLOR_LIBNAME = _idaapi.SCOLOR_LIBNAME +SCOLOR_LOCNAME = _idaapi.SCOLOR_LOCNAME +SCOLOR_CODNAME = _idaapi.SCOLOR_CODNAME +SCOLOR_ASMDIR = _idaapi.SCOLOR_ASMDIR +SCOLOR_MACRO = _idaapi.SCOLOR_MACRO +SCOLOR_DSTR = _idaapi.SCOLOR_DSTR +SCOLOR_DCHAR = _idaapi.SCOLOR_DCHAR +SCOLOR_DNUM = _idaapi.SCOLOR_DNUM +SCOLOR_KEYWORD = _idaapi.SCOLOR_KEYWORD +SCOLOR_REG = _idaapi.SCOLOR_REG +SCOLOR_IMPNAME = _idaapi.SCOLOR_IMPNAME +SCOLOR_SEGNAME = _idaapi.SCOLOR_SEGNAME +SCOLOR_UNKNAME = _idaapi.SCOLOR_UNKNAME +SCOLOR_CNAME = _idaapi.SCOLOR_CNAME +SCOLOR_UNAME = _idaapi.SCOLOR_UNAME +SCOLOR_COLLAPSED = _idaapi.SCOLOR_COLLAPSED +SCOLOR_ADDR = _idaapi.SCOLOR_ADDR + +def tag_strlen(*args): + """ + tag_strlen(line) -> ssize_t + """ + return _idaapi.tag_strlen(*args) +COLOR_SELECTED = _idaapi.COLOR_SELECTED +COLOR_LIBFUNC = _idaapi.COLOR_LIBFUNC +COLOR_REGFUNC = _idaapi.COLOR_REGFUNC +COLOR_CODE = _idaapi.COLOR_CODE +COLOR_DATA = _idaapi.COLOR_DATA +COLOR_UNKNOWN = _idaapi.COLOR_UNKNOWN +COLOR_EXTERN = _idaapi.COLOR_EXTERN +COLOR_CURITEM = _idaapi.COLOR_CURITEM +COLOR_CURLINE = _idaapi.COLOR_CURLINE +COLOR_HIDLINE = _idaapi.COLOR_HIDLINE +COLOR_BG_MAX = _idaapi.COLOR_BG_MAX + +def calc_prefix_color(*args): + """ + calc_prefix_color(ea) -> color_t + """ + return _idaapi.calc_prefix_color(*args) + +def calc_bg_color(*args): + """ + calc_bg_color(ea) -> bgcolor_t + """ + return _idaapi.calc_bg_color(*args) +class bgcolors_t(object): + """ + Proxy of C++ bgcolors_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + prolog_color = _swig_property(_idaapi.bgcolors_t_prolog_color_get, _idaapi.bgcolors_t_prolog_color_set) + epilog_color = _swig_property(_idaapi.bgcolors_t_epilog_color_get, _idaapi.bgcolors_t_epilog_color_set) + switch_color = _swig_property(_idaapi.bgcolors_t_switch_color_get, _idaapi.bgcolors_t_switch_color_set) + def __init__(self, *args): + """ + __init__(self) -> bgcolors_t + """ + this = _idaapi.new_bgcolors_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_bgcolors_t + __del__ = lambda self : None; +bgcolors_t_swigregister = _idaapi.bgcolors_t_swigregister +bgcolors_t_swigregister(bgcolors_t) +COLOR_DEFAULT = cvar.COLOR_DEFAULT +COLOR_REGCMT = cvar.COLOR_REGCMT +COLOR_RPTCMT = cvar.COLOR_RPTCMT +COLOR_AUTOCMT = cvar.COLOR_AUTOCMT +COLOR_INSN = cvar.COLOR_INSN +COLOR_DATNAME = cvar.COLOR_DATNAME +COLOR_DNAME = cvar.COLOR_DNAME +COLOR_DEMNAME = cvar.COLOR_DEMNAME +COLOR_SYMBOL = cvar.COLOR_SYMBOL +COLOR_CHAR = cvar.COLOR_CHAR +COLOR_STRING = cvar.COLOR_STRING +COLOR_NUMBER = cvar.COLOR_NUMBER +COLOR_VOIDOP = cvar.COLOR_VOIDOP +COLOR_CREF = cvar.COLOR_CREF +COLOR_DREF = cvar.COLOR_DREF +COLOR_CREFTAIL = cvar.COLOR_CREFTAIL +COLOR_DREFTAIL = cvar.COLOR_DREFTAIL +COLOR_ERROR = cvar.COLOR_ERROR +COLOR_PREFIX = cvar.COLOR_PREFIX +COLOR_BINPREF = cvar.COLOR_BINPREF +COLOR_EXTRA = cvar.COLOR_EXTRA +COLOR_ALTOP = cvar.COLOR_ALTOP +COLOR_HIDNAME = cvar.COLOR_HIDNAME +COLOR_LIBNAME = cvar.COLOR_LIBNAME +COLOR_LOCNAME = cvar.COLOR_LOCNAME +COLOR_CODNAME = cvar.COLOR_CODNAME +COLOR_ASMDIR = cvar.COLOR_ASMDIR +COLOR_MACRO = cvar.COLOR_MACRO +COLOR_DSTR = cvar.COLOR_DSTR +COLOR_DCHAR = cvar.COLOR_DCHAR +COLOR_DNUM = cvar.COLOR_DNUM +COLOR_KEYWORD = cvar.COLOR_KEYWORD +COLOR_REG = cvar.COLOR_REG +COLOR_IMPNAME = cvar.COLOR_IMPNAME +COLOR_SEGNAME = cvar.COLOR_SEGNAME +COLOR_UNKNAME = cvar.COLOR_UNKNAME +COLOR_CNAME = cvar.COLOR_CNAME +COLOR_UNAME = cvar.COLOR_UNAME +COLOR_COLLAPSED = cvar.COLOR_COLLAPSED +COLOR_FG_MAX = cvar.COLOR_FG_MAX +COLOR_ADDR = cvar.COLOR_ADDR +COLOR_OPND1 = cvar.COLOR_OPND1 +COLOR_OPND2 = cvar.COLOR_OPND2 +COLOR_OPND3 = cvar.COLOR_OPND3 +COLOR_OPND4 = cvar.COLOR_OPND4 +COLOR_OPND5 = cvar.COLOR_OPND5 +COLOR_OPND6 = cvar.COLOR_OPND6 +COLOR_UTF8 = cvar.COLOR_UTF8 +COLOR_RESERVED1 = cvar.COLOR_RESERVED1 + + +def add_sourcefile(*args): + """ + add_sourcefile(ea1, ea2, filename) -> bool + """ + return _idaapi.add_sourcefile(*args) + +def get_sourcefile(*args): + """ + get_sourcefile(ea, bounds=None) -> char const * + """ + return _idaapi.get_sourcefile(*args) + +def del_sourcefile(*args): + """ + del_sourcefile(ea) -> bool + """ + return _idaapi.del_sourcefile(*args) + +def MakeLine(*args): + """ + MakeLine(contents, indent=-1) -> bool + """ + return _idaapi.MakeLine(*args) + +def printf_line(*args): + """ + printf_line(indent, format) -> bool + """ + return _idaapi.printf_line(*args) + +def MakeNull(*args): + """ + MakeNull() -> bool + """ + return _idaapi.MakeNull(*args) + +def MakeBorder(*args): + """ + MakeBorder() -> bool + """ + return _idaapi.MakeBorder(*args) + +def MakeSolidBorder(*args): + """ + MakeSolidBorder() -> bool + """ + return _idaapi.MakeSolidBorder(*args) + +def gen_cmt_line(*args): + """ + gen_cmt_line(format) -> bool + """ + return _idaapi.gen_cmt_line(*args) + +def gen_collapsed_line(*args): + """ + gen_collapsed_line(format) -> bool + """ + return _idaapi.gen_collapsed_line(*args) + +def generate_big_comment(*args): + """ + generate_big_comment(cmt, color) -> bool + """ + return _idaapi.generate_big_comment(*args) + +def generate_many_lines(*args): + """ + generate_many_lines(string, color) -> bool + """ + return _idaapi.generate_many_lines(*args) + +def describe(*args): + """ + describe(ea, isprev, format) + """ + return _idaapi.describe(*args) + +def add_long_cmt(*args): + """ + add_long_cmt(ea, isprev, format) + """ + return _idaapi.add_long_cmt(*args) + +def add_pgm_cmt(*args): + """ + add_pgm_cmt(format) + """ + return _idaapi.add_pgm_cmt(*args) + +def generate_disasm_line(*args): + """ + generate_disasm_line(ea, flags=0) -> bool + """ + return _idaapi.generate_disasm_line(*args) +GENDSM_FORCE_CODE = _idaapi.GENDSM_FORCE_CODE +GENDSM_MULTI_LINE = _idaapi.GENDSM_MULTI_LINE + +def get_first_free_extra_cmtidx(*args): + """ + get_first_free_extra_cmtidx(ea, start) -> int + """ + return _idaapi.get_first_free_extra_cmtidx(*args) + +def update_extra_cmt(*args): + """ + update_extra_cmt(ea, what, str) + """ + return _idaapi.update_extra_cmt(*args) + +def del_extra_cmt(*args): + """ + del_extra_cmt(ea, what) + """ + return _idaapi.del_extra_cmt(*args) + +def get_extra_cmt(*args): + """ + get_extra_cmt(ea, what) -> ssize_t + """ + return _idaapi.get_extra_cmt(*args) + +def delete_extra_cmts(*args): + """ + delete_extra_cmts(ea, cmtidx) + """ + return _idaapi.delete_extra_cmts(*args) + +def ExtraFree(*args): + """ + ExtraFree(ea, start) -> int + """ + return _idaapi.ExtraFree(*args) + +def 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 + bufsize- the maximum allowed size of the output buffer + 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 + """ + return _idaapi.set_user_defined_prefix(*args) + +def tag_remove(*args): + """ + tag_remove(instr) -> PyObject * + + + Remove color escape sequences from a string + @param colstr: the colored string with embedded tags + @return: + None on failure + or a new string w/o the tags + """ + return _idaapi.tag_remove(*args) + +def tag_addr(*args): + """ + tag_addr(ea) -> PyObject * + """ + return _idaapi.tag_addr(*args) + +def tag_skipcode(*args): + """ + tag_skipcode(line) -> int + """ + return _idaapi.tag_skipcode(*args) + +def tag_skipcodes(*args): + """ + tag_skipcodes(line) -> int + """ + return _idaapi.tag_skipcodes(*args) + +def tag_advance(*args): + """ + tag_advance(line, cnt) -> int + """ + return _idaapi.tag_advance(*args) + +def 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 + """ + return _idaapi.generate_disassembly(*args) +# + +# ---------------- Color escape sequence defitions ------------------------- +COLOR_ADDR_SIZE = 16 if _idaapi.BADADDR == 0xFFFFFFFFFFFFFFFFL else 8 +SCOLOR_FG_MAX = '\x28' # Max color number +SCOLOR_OPND1 = chr(cvar.COLOR_ADDR+1) # Instruction operand 1 +SCOLOR_OPND2 = chr(cvar.COLOR_ADDR+2) # Instruction operand 2 +SCOLOR_OPND3 = chr(cvar.COLOR_ADDR+3) # Instruction operand 3 +SCOLOR_OPND4 = chr(cvar.COLOR_ADDR+4) # Instruction operand 4 +SCOLOR_OPND5 = chr(cvar.COLOR_ADDR+5) # Instruction operand 5 +SCOLOR_OPND6 = chr(cvar.COLOR_ADDR+6) # Instruction operand 6 +SCOLOR_UTF8 = chr(cvar.COLOR_ADDR+10) # Following text is UTF-8 encoded + +# ---------------- Line prefix colors -------------------------------------- +PALETTE_SIZE = (cvar.COLOR_FG_MAX+_idaapi.COLOR_BG_MAX) + +def requires_color_esc(c): + """ + Checks if the given character requires escaping + @param c: character (string of one char) + @return: Boolean + """ + t = ord(c[0]) + return c >= COLOR_ON and c <= COLOR_INV + +def COLSTR(str, tag): + """ + Utility function to create a colored line + @param str: The string + @param tag: Color tag constant. One of SCOLOR_XXXX + """ + return SCOLOR_ON + tag + str + SCOLOR_OFF + tag + +# + + +MAX_FILE_FORMAT_NAME = _idaapi.MAX_FILE_FORMAT_NAME +class loader_t(object): + """ + Proxy of C++ loader_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + version = _swig_property(_idaapi.loader_t_version_get, _idaapi.loader_t_version_set) + flags = _swig_property(_idaapi.loader_t_flags_get, _idaapi.loader_t_flags_set) + _UNUSED1_was_init_loader_options = _swig_property(_idaapi.loader_t__UNUSED1_was_init_loader_options_get, _idaapi.loader_t__UNUSED1_was_init_loader_options_set) + def __init__(self, *args): + """ + __init__(self) -> loader_t + """ + this = _idaapi.new_loader_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_loader_t + __del__ = lambda self : None; +loader_t_swigregister = _idaapi.loader_t_swigregister +loader_t_swigregister(loader_t) +E_PREV = cvar.E_PREV +E_NEXT = cvar.E_NEXT +LDRF_RELOAD = _idaapi.LDRF_RELOAD +ACCEPT_FIRST = _idaapi.ACCEPT_FIRST +NEF_SEGS = _idaapi.NEF_SEGS +NEF_RSCS = _idaapi.NEF_RSCS +NEF_NAME = _idaapi.NEF_NAME +NEF_MAN = _idaapi.NEF_MAN +NEF_FILL = _idaapi.NEF_FILL +NEF_IMPS = _idaapi.NEF_IMPS +NEF_TIGHT = _idaapi.NEF_TIGHT +NEF_FIRST = _idaapi.NEF_FIRST +NEF_CODE = _idaapi.NEF_CODE +NEF_RELOAD = _idaapi.NEF_RELOAD +NEF_FLAT = _idaapi.NEF_FLAT +NEF_MINI = _idaapi.NEF_MINI +NEF_LOPT = _idaapi.NEF_LOPT +NEF_LALL = _idaapi.NEF_LALL + +LOADER_EXT = _idaapi.LOADER_EXT +LOADER_DLL = _idaapi.LOADER_DLL + +def load_binary_file(*args): + """ + load_binary_file(filename, li, _neflags, fileoff, basepara, binoff, nbytes) -> bool + """ + return _idaapi.load_binary_file(*args) +OFILE_MAP = _idaapi.OFILE_MAP +OFILE_EXE = _idaapi.OFILE_EXE +OFILE_IDC = _idaapi.OFILE_IDC +OFILE_LST = _idaapi.OFILE_LST +OFILE_ASM = _idaapi.OFILE_ASM +OFILE_DIF = _idaapi.OFILE_DIF + +def gen_file(*args): + """ + gen_file(otype, fp, ea1, ea2, flags) -> int + """ + return _idaapi.gen_file(*args) +GENFLG_MAPSEG = _idaapi.GENFLG_MAPSEG +GENFLG_MAPNAME = _idaapi.GENFLG_MAPNAME +GENFLG_MAPDMNG = _idaapi.GENFLG_MAPDMNG +GENFLG_MAPLOC = _idaapi.GENFLG_MAPLOC +GENFLG_IDCTYPE = _idaapi.GENFLG_IDCTYPE +GENFLG_ASMTYPE = _idaapi.GENFLG_ASMTYPE +GENFLG_GENHTML = _idaapi.GENFLG_GENHTML +GENFLG_ASMINC = _idaapi.GENFLG_ASMINC + +def file2base(*args): + """ + file2base(li, pos, ea1, ea2, patchable) -> int + """ + return _idaapi.file2base(*args) +FILEREG_PATCHABLE = _idaapi.FILEREG_PATCHABLE +FILEREG_NOTPATCHABLE = _idaapi.FILEREG_NOTPATCHABLE + +def base2file(*args): + """ + base2file(fp, pos, ea1, ea2) -> int + """ + return _idaapi.base2file(*args) + +def extract_module_from_archive(*args): + """ + extract_module_from_archive(filename, bufsize, is_remote, temp_file_ptr) -> bool + """ + return _idaapi.extract_module_from_archive(*args) + +def get_basic_file_type(*args): + """ + get_basic_file_type(li) -> filetype_t + """ + return _idaapi.get_basic_file_type(*args) + +def get_file_type_name(*args): + """ + get_file_type_name() -> size_t + """ + return _idaapi.get_file_type_name(*args) + +def load_ids_module(*args): + """ + load_ids_module(fname) -> int + """ + return _idaapi.load_ids_module(*args) + +def get_plugin_options(*args): + """ + get_plugin_options(plugin) -> char const * + """ + return _idaapi.get_plugin_options(*args) +PLUGIN_EXT = _idaapi.PLUGIN_EXT +PLUGIN_DLL = _idaapi.PLUGIN_DLL +class idp_name_t(object): + """ + Proxy of C++ idp_name_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + lname = _swig_property(_idaapi.idp_name_t_lname_get, _idaapi.idp_name_t_lname_set) + sname = _swig_property(_idaapi.idp_name_t_sname_get, _idaapi.idp_name_t_sname_set) + hidden = _swig_property(_idaapi.idp_name_t_hidden_get, _idaapi.idp_name_t_hidden_set) + def __init__(self, *args): + """ + __init__(self) -> idp_name_t + """ + this = _idaapi.new_idp_name_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_idp_name_t + __del__ = lambda self : None; +idp_name_t_swigregister = _idaapi.idp_name_t_swigregister +idp_name_t_swigregister(idp_name_t) + +class idp_desc_t(object): + """ + Proxy of C++ idp_desc_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + path = _swig_property(_idaapi.idp_desc_t_path_get, _idaapi.idp_desc_t_path_set) + mtime = _swig_property(_idaapi.idp_desc_t_mtime_get, _idaapi.idp_desc_t_mtime_set) + family = _swig_property(_idaapi.idp_desc_t_family_get, _idaapi.idp_desc_t_family_set) + names = _swig_property(_idaapi.idp_desc_t_names_get, _idaapi.idp_desc_t_names_set) + is_script = _swig_property(_idaapi.idp_desc_t_is_script_get, _idaapi.idp_desc_t_is_script_set) + checked = _swig_property(_idaapi.idp_desc_t_checked_get, _idaapi.idp_desc_t_checked_set) + def __init__(self, *args): + """ + __init__(self) -> idp_desc_t + """ + this = _idaapi.new_idp_desc_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_idp_desc_t + __del__ = lambda self : None; +idp_desc_t_swigregister = _idaapi.idp_desc_t_swigregister +idp_desc_t_swigregister(idp_desc_t) + +IDP_EXT = _idaapi.IDP_EXT +IDP_DLL = _idaapi.IDP_DLL + +def load_and_run_plugin(*args): + """ + load_and_run_plugin(name, arg) -> bool + """ + return _idaapi.load_and_run_plugin(*args) + +def get_fileregion_offset(*args): + """ + get_fileregion_offset(ea) -> int32 + """ + return _idaapi.get_fileregion_offset(*args) + +def get_fileregion_ea(*args): + """ + get_fileregion_ea(offset) -> ea_t + """ + return _idaapi.get_fileregion_ea(*args) + +def gen_exe_file(*args): + """ + gen_exe_file(fp) -> int + """ + return _idaapi.gen_exe_file(*args) + +def reload_file(*args): + """ + reload_file(file, is_remote) -> int + """ + return _idaapi.reload_file(*args) +MAX_DATABASE_DESCRIPTION = _idaapi.MAX_DATABASE_DESCRIPTION +SSUF_DESC = _idaapi.SSUF_DESC +SSUF_PATH = _idaapi.SSUF_PATH +SSUF_FLAGS = _idaapi.SSUF_FLAGS + +def flush_buffers(*args): + """ + flush_buffers() -> int + """ + return _idaapi.flush_buffers(*args) + +def is_trusted_idb(*args): + """ + is_trusted_idb() -> bool + """ + return _idaapi.is_trusted_idb(*args) + +def save_database_ex(*args): + """ + save_database_ex(outfile, flags, root=None, attr=None) -> bool + """ + return _idaapi.save_database_ex(*args) +DBFL_KILL = _idaapi.DBFL_KILL +DBFL_COMP = _idaapi.DBFL_COMP +DBFL_BAK = _idaapi.DBFL_BAK +DBFL_TEMP = _idaapi.DBFL_TEMP + +def save_database(*args): + """ + save_database(outfile, delete_unpacked) -> bool + """ + return _idaapi.save_database(*args) + +def load_loader_module(*args): + """ + load_loader_module(li, lname, fname, is_remote) -> int + """ + return _idaapi.load_loader_module(*args) + +def 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 + """ + return _idaapi.mem2base(*args) + +def 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 + """ + return _idaapi.load_plugin(*args) + +def run_plugin(*args): + """ + run_plugin(plg, arg) -> bool + + + Runs a plugin + @param plg: A plugin object (returned by load_plugin()) + @return: Boolean + """ + return _idaapi.run_plugin(*args) +class graph_location_info_t(object): + """ + Proxy of C++ graph_location_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + zoom = _swig_property(_idaapi.graph_location_info_t_zoom_get, _idaapi.graph_location_info_t_zoom_set) + orgx = _swig_property(_idaapi.graph_location_info_t_orgx_get, _idaapi.graph_location_info_t_orgx_set) + orgy = _swig_property(_idaapi.graph_location_info_t_orgy_get, _idaapi.graph_location_info_t_orgy_set) + def __init__(self, *args): + """ + __init__(self) -> graph_location_info_t + """ + this = _idaapi.new_graph_location_info_t(*args) + try: self.this.append(this) + except: self.this = this + def __eq__(self, *args): + """ + __eq__(self, r) -> bool + """ + return _idaapi.graph_location_info_t___eq__(self, *args) + + def __ne__(self, *args): + """ + __ne__(self, r) -> bool + """ + return _idaapi.graph_location_info_t___ne__(self, *args) + + __swig_destroy__ = _idaapi.delete_graph_location_info_t + __del__ = lambda self : None; +graph_location_info_t_swigregister = _idaapi.graph_location_info_t_swigregister +graph_location_info_t_swigregister(graph_location_info_t) + +CURLOC_SISTACK_ITEMS = _idaapi.CURLOC_SISTACK_ITEMS +CURLOC_LIST = _idaapi.CURLOC_LIST +class curloc(object): + """ + Proxy of C++ curloc class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ea = _swig_property(_idaapi.curloc_ea_get, _idaapi.curloc_ea_set) + x = _swig_property(_idaapi.curloc_x_get, _idaapi.curloc_x_set) + y = _swig_property(_idaapi.curloc_y_get, _idaapi.curloc_y_set) + lnnum = _swig_property(_idaapi.curloc_lnnum_get, _idaapi.curloc_lnnum_set) + flags = _swig_property(_idaapi.curloc_flags_get, _idaapi.curloc_flags_set) + target = _swig_property(_idaapi.curloc_target_get, _idaapi.curloc_target_set) + def __init__(self, *args): + """ + __init__(self) -> curloc + __init__(self, stackName) -> curloc + """ + this = _idaapi.new_curloc(*args) + try: self.this.append(this) + except: self.this = this + def linkTo(self, *args): + """ + linkTo(self, stackName) + """ + return _idaapi.curloc_linkTo(self, *args) + + def setx(self, *args): + """ + setx(self, xx) + """ + return _idaapi.curloc_setx(self, *args) + + def jump_push(self, *args): + """ + jump_push(self, try_to_unhide, _ea=BADADDR, _lnnum=0, _x=0, _y=0) + """ + return _idaapi.curloc_jump_push(self, *args) + + def pop(self, *args): + """ + pop(self, try_tohide) -> bool + """ + return _idaapi.curloc_pop(self, *args) + + def get(self, *args): + """ + get(self, depth) -> bool + """ + return _idaapi.curloc_get(self, *args) + + def get_entry(self, *args): + """ + get_entry(self, out, depth) -> bool + """ + return _idaapi.curloc_get_entry(self, *args) + + def size(self, *args): + """ + size(self) -> size_t + """ + return _idaapi.curloc_size(self, *args) + + def copy_current_location(self, *args): + """ + copy_current_location(self, loc) + """ + return _idaapi.curloc_copy_current_location(self, *args) + + def unhide_if_necessary(self, *args): + """ + unhide_if_necessary(self, tgt) + """ + return _idaapi.curloc_unhide_if_necessary(self, *args) + + def hide_if_necessary(self, *args): + """ + hide_if_necessary(self) + """ + return _idaapi.curloc_hide_if_necessary(self, *args) + + def mark(self, *args): + """ + mark(self, marker, title, desc) -> int + """ + return _idaapi.curloc_mark(self, *args) + + def markedpos(self, *args): + """ + markedpos(self, marker) -> ea_t + """ + return _idaapi.curloc_markedpos(self, *args) + + def jump(self, *args): + """ + jump(self, marker) -> bool + """ + return _idaapi.curloc_jump(self, *args) + + def markdesc(self, *args): + """ + markdesc(self, marker) -> ssize_t + """ + return _idaapi.curloc_markdesc(self, *args) + + __swig_destroy__ = _idaapi.delete_curloc + __del__ = lambda self : None; +curloc_swigregister = _idaapi.curloc_swigregister +curloc_swigregister(curloc) +DEFAULT_CURSOR_Y = _idaapi.DEFAULT_CURSOR_Y +DEFAULT_LNNUM = _idaapi.DEFAULT_LNNUM +UNHID_SEGM = _idaapi.UNHID_SEGM +UNHID_FUNC = _idaapi.UNHID_FUNC +UNHID_AREA = _idaapi.UNHID_AREA + +MAX_MARK_SLOT = _idaapi.MAX_MARK_SLOT +class location_t(curloc): + """ + Proxy of C++ location_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + gli = _swig_property(_idaapi.location_t_gli_get, _idaapi.location_t_gli_set) + def __init__(self, *args): + """ + __init__(self) -> location_t + __init__(self, name) -> location_t + """ + this = _idaapi.new_location_t(*args) + try: self.this.append(this) + except: self.this = this + def linkTo(self, *args): + """ + linkTo(self, name) + """ + return _idaapi.location_t_linkTo(self, *args) + + def push_and_jump(self, *args): + """ + push_and_jump(self, try_to_unhide, _ea=BADADDR, _lnnum=0, _x=0, _y=0, _gli=None) + """ + return _idaapi.location_t_push_and_jump(self, *args) + + def pop(self, *args): + """ + pop(self, try_tohide) -> bool + """ + return _idaapi.location_t_pop(self, *args) + + def get(self, *args): + """ + get(self, depth) -> bool + """ + return _idaapi.location_t_get(self, *args) + + def get_entry(self, *args): + """ + get_entry(self, out, depth) -> bool + """ + return _idaapi.location_t_get_entry(self, *args) + + def copy_current_location(self, *args): + """ + copy_current_location(self, loc) + """ + return _idaapi.location_t_copy_current_location(self, *args) + + def jump_nopush(self, *args): + """ + jump_nopush(self, _ea=BADADDR, _lnnum=0, _x=0, _y=0, _gli=None) + """ + return _idaapi.location_t_jump_nopush(self, *args) + + def mark(self, *args): + """ + mark(self, marker, title, desc) -> int + """ + return _idaapi.location_t_mark(self, *args) + + def jump(self, *args): + """ + jump(self, marker) -> bool + """ + return _idaapi.location_t_jump(self, *args) + + __swig_destroy__ = _idaapi.delete_location_t + __del__ = lambda self : None; +location_t_swigregister = _idaapi.location_t_swigregister +location_t_swigregister(location_t) + +MAXNAMELEN = _idaapi.MAXNAMELEN +FUNC_IMPORT_PREFIX = _idaapi.FUNC_IMPORT_PREFIX +SN_CHECK = _idaapi.SN_CHECK +SN_NOCHECK = _idaapi.SN_NOCHECK +SN_PUBLIC = _idaapi.SN_PUBLIC +SN_NON_PUBLIC = _idaapi.SN_NON_PUBLIC +SN_WEAK = _idaapi.SN_WEAK +SN_NON_WEAK = _idaapi.SN_NON_WEAK +SN_AUTO = _idaapi.SN_AUTO +SN_NON_AUTO = _idaapi.SN_NON_AUTO +SN_NOLIST = _idaapi.SN_NOLIST +SN_NOWARN = _idaapi.SN_NOWARN +SN_LOCAL = _idaapi.SN_LOCAL + +def set_name(*args): + """ + set_name(ea, name, flag) -> bool + set_name(ea, name) -> bool + """ + return _idaapi.set_name(*args) + +def del_global_name(*args): + """ + del_global_name(ea) -> bool + """ + return _idaapi.del_global_name(*args) + +def del_local_name(*args): + """ + del_local_name(ea) -> bool + """ + return _idaapi.del_local_name(*args) + +def set_dummy_name(*args): + """ + set_dummy_name(frm, ea) -> bool + """ + return _idaapi.set_dummy_name(*args) + +def make_name_auto(*args): + """ + make_name_auto(ea) -> bool + """ + return _idaapi.make_name_auto(*args) + +def make_name_user(*args): + """ + make_name_user(ea) -> bool + """ + return _idaapi.make_name_user(*args) + +def do_name_anyway(*args): + """ + do_name_anyway(ea, name, maxlen=0) -> bool + """ + return _idaapi.do_name_anyway(*args) + +def validate_name3(*args): + """ + validate_name3(name) -> bool + """ + return _idaapi.validate_name3(*args) + +def is_ident_char(*args): + """ + is_ident_char(c) -> bool + """ + return _idaapi.is_ident_char(*args) + +def is_visible_char(*args): + """ + is_visible_char(c) -> bool + """ + return _idaapi.is_visible_char(*args) + +def isident(*args): + """ + isident(name) -> bool + """ + return _idaapi.isident(*args) + +def is_uname(*args): + """ + is_uname(name) -> bool + """ + return _idaapi.is_uname(*args) + +def is_valid_typename(*args): + """ + is_valid_typename(name) -> bool + """ + return _idaapi.is_valid_typename(*args) + +def extract_name2(*args): + """ + extract_name2(line, x) -> ssize_t + """ + return _idaapi.extract_name2(*args) + +def hide_name(*args): + """ + hide_name(ea) + """ + return _idaapi.hide_name(*args) + +def show_name(*args): + """ + show_name(ea) + """ + return _idaapi.show_name(*args) + +def get_name_ea(*args): + """ + get_name_ea(frm, name) -> ea_t + """ + return _idaapi.get_name_ea(*args) + +def get_name_base_ea(*args): + """ + get_name_base_ea(frm, to) -> ea_t + """ + return _idaapi.get_name_base_ea(*args) + +def get_name_value(*args): + """ + get_name_value(frm, name) -> int + """ + return _idaapi.get_name_value(*args) +NT_NONE = _idaapi.NT_NONE +NT_BYTE = _idaapi.NT_BYTE +NT_LOCAL = _idaapi.NT_LOCAL +NT_STKVAR = _idaapi.NT_STKVAR +NT_ENUM = _idaapi.NT_ENUM +NT_ABS = _idaapi.NT_ABS +NT_SEG = _idaapi.NT_SEG +NT_STROFF = _idaapi.NT_STROFF +NT_BMASK = _idaapi.NT_BMASK +NT_REGVAR = _idaapi.NT_REGVAR +GN_VISIBLE = _idaapi.GN_VISIBLE +GN_COLORED = _idaapi.GN_COLORED +GN_DEMANGLED = _idaapi.GN_DEMANGLED +GN_STRICT = _idaapi.GN_STRICT +GN_SHORT = _idaapi.GN_SHORT +GN_LONG = _idaapi.GN_LONG +GN_LOCAL = _idaapi.GN_LOCAL +GN_INSNLOC = _idaapi.GN_INSNLOC + +def get_colored_short_name(*args): + """ + get_colored_short_name(ea, gtn_flags=0) -> ssize_t + """ + return _idaapi.get_colored_short_name(*args) + +def get_colored_long_name(*args): + """ + get_colored_long_name(ea, gtn_flags=0) -> ssize_t + """ + return _idaapi.get_colored_long_name(*args) + +def get_visible_name(*args): + """ + get_visible_name(ea, gtn_flags=0) -> qstring + """ + return _idaapi.get_visible_name(*args) + +def get_short_name(*args): + """ + get_short_name(ea, gtn_flags=0) -> qstring + """ + return _idaapi.get_short_name(*args) + +def get_long_name(*args): + """ + get_long_name(ea, gtn_flags=0) -> qstring + """ + return _idaapi.get_long_name(*args) + +def get_name_color(*args): + """ + get_name_color(frm, ea) -> color_t + """ + return _idaapi.get_name_color(*args) +GETN_APPZERO = _idaapi.GETN_APPZERO +GETN_NOFIXUP = _idaapi.GETN_NOFIXUP +GETN_NODUMMY = _idaapi.GETN_NODUMMY + +def get_name_expr(*args): + """ + get_name_expr(frm, n, ea, off, flags=0x0001) -> ssize_t + """ + return _idaapi.get_name_expr(*args) + +def get_nice_colored_name(*args): + """ + get_nice_colored_name(ea, flags=0) -> ssize_t + """ + return _idaapi.get_nice_colored_name(*args) +GNCN_NOSEG = _idaapi.GNCN_NOSEG +GNCN_NOCOLOR = _idaapi.GNCN_NOCOLOR +GNCN_NOLABEL = _idaapi.GNCN_NOLABEL +GNCN_NOFUNC = _idaapi.GNCN_NOFUNC +GNCN_SEG_FUNC = _idaapi.GNCN_SEG_FUNC +GNCN_SEGNUM = _idaapi.GNCN_SEGNUM +GNCN_REQFUNC = _idaapi.GNCN_REQFUNC +GNCN_REQNAME = _idaapi.GNCN_REQNAME +GNCN_NODBGNM = _idaapi.GNCN_NODBGNM + +def append_struct_fields2(*args): + """ + append_struct_fields2(n, path, plen, flags, disp, delta, appzero) -> flags_t + """ + return _idaapi.append_struct_fields2(*args) + +def is_public_name(*args): + """ + is_public_name(ea) -> bool + """ + return _idaapi.is_public_name(*args) + +def make_name_public(*args): + """ + make_name_public(ea) + """ + return _idaapi.make_name_public(*args) + +def make_name_non_public(*args): + """ + make_name_non_public(ea) + """ + return _idaapi.make_name_non_public(*args) + +def gen_name_decl(*args): + """ + gen_name_decl(ea, name) -> int + """ + return _idaapi.gen_name_decl(*args) + +def is_weak_name(*args): + """ + is_weak_name(ea) -> bool + """ + return _idaapi.is_weak_name(*args) + +def make_name_weak(*args): + """ + make_name_weak(ea) + """ + return _idaapi.make_name_weak(*args) + +def make_name_non_weak(*args): + """ + make_name_non_weak(ea) + """ + return _idaapi.make_name_non_weak(*args) + +def get_nlist_size(*args): + """ + get_nlist_size() -> size_t + """ + return _idaapi.get_nlist_size(*args) + +def get_nlist_idx(*args): + """ + get_nlist_idx(ea) -> size_t + """ + return _idaapi.get_nlist_idx(*args) + +def is_in_nlist(*args): + """ + is_in_nlist(ea) -> bool + """ + return _idaapi.is_in_nlist(*args) + +def get_nlist_ea(*args): + """ + get_nlist_ea(idx) -> ea_t + """ + return _idaapi.get_nlist_ea(*args) + +def get_nlist_name(*args): + """ + get_nlist_name(idx) -> char const * + """ + return _idaapi.get_nlist_name(*args) + +def rebuild_nlist(*args): + """ + rebuild_nlist() + """ + return _idaapi.rebuild_nlist(*args) + +def reorder_dummy_names(*args): + """ + reorder_dummy_names() + """ + return _idaapi.reorder_dummy_names(*args) +DEBNAME_EXACT = _idaapi.DEBNAME_EXACT +DEBNAME_LOWER = _idaapi.DEBNAME_LOWER +DEBNAME_UPPER = _idaapi.DEBNAME_UPPER +DEBNAME_NICE = _idaapi.DEBNAME_NICE +class ea_name_t(object): + """ + Proxy of C++ ea_name_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ea = _swig_property(_idaapi.ea_name_t_ea_get, _idaapi.ea_name_t_ea_set) + name = _swig_property(_idaapi.ea_name_t_name_get, _idaapi.ea_name_t_name_set) + def __init__(self, *args): + """ + __init__(self) -> ea_name_t + __init__(self, _ea, _name) -> ea_name_t + """ + this = _idaapi.new_ea_name_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_ea_name_t + __del__ = lambda self : None; +ea_name_t_swigregister = _idaapi.ea_name_t_swigregister +ea_name_t_swigregister(ea_name_t) + + +def set_debug_name(*args): + """ + set_debug_name(ea, name) -> bool + """ + return _idaapi.set_debug_name(*args) + +def get_debug_name2(*args): + """ + get_debug_name2(ea_ptr, how) -> ssize_t + """ + return _idaapi.get_debug_name2(*args) + +def del_debug_names(*args): + """ + del_debug_names(ea1, ea2) + """ + return _idaapi.del_debug_names(*args) + +def get_debug_name_ea(*args): + """ + get_debug_name_ea(name) -> ea_t + """ + return _idaapi.get_debug_name_ea(*args) +DQT_NPURGED_8 = _idaapi.DQT_NPURGED_8 +DQT_NPURGED_4 = _idaapi.DQT_NPURGED_4 +DQT_NPURGED_2 = _idaapi.DQT_NPURGED_2 +DQT_COMPILER = _idaapi.DQT_COMPILER +DQT_NAME_TYPE = _idaapi.DQT_NAME_TYPE +DQT_FULL = _idaapi.DQT_FULL + +def demangle_name2(*args): + """ + demangle_name2(name, disable_mask, demreq=DQT_FULL) -> int32 + """ + return _idaapi.demangle_name2(*args) + +def is_name_defined_locally(*args): + """ + is_name_defined_locally(pfn, name, ignore, ea1=BADADDR, ea2=BADADDR) -> bool + """ + return _idaapi.is_name_defined_locally(*args) + +def validate_name(*args): + """ + validate_name(name) -> char * + """ + return _idaapi.validate_name(*args) + +def validate_name2(*args): + """ + validate_name2(name, bufsize) -> char * + """ + return _idaapi.validate_name2(*args) + +def get_true_name(*args): + """ + get_true_name(ea) -> qstring + get_true_name(frm, ea) -> char * + """ + return _idaapi.get_true_name(*args) + +def get_name(*args): + """ + get_name(frm, ea) -> char * + """ + return _idaapi.get_name(*args) + +def get_colored_name(*args): + """ + get_colored_name(ea) -> qstring + get_colored_name(frm, ea) -> char * + """ + return _idaapi.get_colored_name(*args) + +def demangle_name(*args): + """ + demangle_name(name, disable_mask) -> int32 + """ + return _idaapi.demangle_name(*args) + +def make_visible_name(*args): + """ + make_visible_name(srcname, dstsize) -> char * + """ + return _idaapi.make_visible_name(*args) + +def extract_name(*args): + """ + extract_name(line, x) -> char * + """ + return _idaapi.extract_name(*args) + +def get_demangled_name(*args): + """ + get_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> ssize_t + get_demangled_name(frm, ea, inhibitor, demform, strict) -> char * + """ + return _idaapi.get_demangled_name(*args) + +def get_colored_demangled_name(*args): + """ + get_colored_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> ssize_t + get_colored_demangled_name(frm, ea, inhibitor, demform, strict) -> char * + """ + return _idaapi.get_colored_demangled_name(*args) + +def get_debug_names(*args): + """ + get_debug_names(ea1, ea2) -> PyObject * + """ + return _idaapi.get_debug_names(*args) + +def get_ea_name(*args): + """ + get_ea_name(ea, gtn_flags=0) -> qstring + """ + return _idaapi.get_ea_name(*args) +# + +class NearestName: + """ + Utility class to help find the nearest name in a given ea/name dictionary + """ + def __init__(self, ea_names): + self.update(ea_names) + + + def update(self, ea_names): + """ + Updates the ea/names map + """ + self._names = ea_names + self._addrs = ea_names.keys() + self._addrs.sort() + + + def find(self, ea): + """ + Returns a tupple (ea, name, pos) that is the nearest to the passed ea + If no name is matched then None is returned + """ + pos = bisect.bisect_left(self._addrs, ea) + # no match + if pos >= len(self._addrs): + return None + # exact match? + if self._addrs[pos] != ea: + pos -= 1 # go to previous element + if pos < 0: + return None + return self[pos] + + + def _get_item(self, index): + ea = self._addrs[index] + return (ea, self._names[ea], index) + + + def __iter__(self): + return (self._get_item(index) for index in xrange(0, len(self._addrs))) + + + def __getitem__(self, index): + """ + Returns the tupple (ea, name, index) + """ + if index > len(self._addrs): + raise StopIteration + return self._get_item(index) + +extract_name = extract_name2 + +# + + +def set_offset(*args): + """ + set_offset(ea, n, base) -> bool + """ + return _idaapi.set_offset(*args) + +def op_offset_ex(*args): + """ + op_offset_ex(ea, n, ri) -> int + """ + return _idaapi.op_offset_ex(*args) + +def op_offset(*args): + """ + op_offset(ea, n, type, target=BADADDR, base=0, tdelta=0) -> int + """ + return _idaapi.op_offset(*args) + +def get_offbase(*args): + """ + get_offbase(ea, n) -> ea_t + """ + return _idaapi.get_offbase(*args) + +def get_offset_expression(*args): + """ + get_offset_expression(ea, n, frm, offset, getn_flags=0) -> int + """ + return _idaapi.get_offset_expression(*args) + +def get_offset_expr(*args): + """ + get_offset_expr(ea, n, ri, frm, offset, getn_flags=0) -> int + """ + return _idaapi.get_offset_expr(*args) + +def can_be_off32(*args): + """ + can_be_off32(ea) -> ea_t + """ + return _idaapi.can_be_off32(*args) + +def calc_probable_base_by_value(*args): + """ + calc_probable_base_by_value(ea, off) -> ea_t + """ + return _idaapi.calc_probable_base_by_value(*args) + +def get_default_reftype(*args): + """ + get_default_reftype(ea) -> reftype_t + """ + return _idaapi.get_default_reftype(*args) + +def calc_reference_target(*args): + """ + calc_reference_target(frm, ri, opval) -> ea_t + """ + return _idaapi.calc_reference_target(*args) + +def calc_reference_basevalue(*args): + """ + calc_reference_basevalue(frm, ri, opval, target) -> ea_t + """ + return _idaapi.calc_reference_basevalue(*args) + +def calc_target(*args): + """ + calc_target(frm, ea, n, opval) -> ea_t + """ + return _idaapi.calc_target(*args) + +def QueueGetMessage(*args): + """ + QueueGetMessage(t, ea) -> ssize_t + """ + return _idaapi.QueueGetMessage(*args) + +def QueueSet(*args): + """ + QueueSet(type, ea, $ignore=None) + """ + return _idaapi.QueueSet(*args) + +def QueueGetType(*args): + """ + QueueGetType(type, lowea) -> ea_t + """ + return _idaapi.QueueGetType(*args) + +def QueueDel(*args): + """ + QueueDel(type, ea) + """ + return _idaapi.QueueDel(*args) + +def get_long_queue_name(*args): + """ + get_long_queue_name(type) -> char const * + """ + return _idaapi.get_long_queue_name(*args) + +def get_short_queue_name(*args): + """ + get_short_queue_name(type) -> char const * + """ + return _idaapi.get_short_queue_name(*args) + +def QueueIsPresent(*args): + """ + QueueIsPresent(t, ea) -> bool + """ + return _idaapi.QueueIsPresent(*args) + +def was_ida_decision(*args): + """ + was_ida_decision(ea) -> bool + """ + return _idaapi.was_ida_decision(*args) +ROLLBACK_CODE = _idaapi.ROLLBACK_CODE +ROLLBACK_DATA = _idaapi.ROLLBACK_DATA +ROLLBACK_ALIGN = _idaapi.ROLLBACK_ALIGN +ROLLBACK_CALL = _idaapi.ROLLBACK_CALL + +def QueueMark(*args): + """ + QueueMark(type, ea) + """ + return _idaapi.QueueMark(*args) +SEARCH_UP = _idaapi.SEARCH_UP +SEARCH_DOWN = _idaapi.SEARCH_DOWN +SEARCH_NEXT = _idaapi.SEARCH_NEXT +SEARCH_CASE = _idaapi.SEARCH_CASE +SEARCH_REGEX = _idaapi.SEARCH_REGEX +SEARCH_NOBRK = _idaapi.SEARCH_NOBRK +SEARCH_NOSHOW = _idaapi.SEARCH_NOSHOW +SEARCH_UNICODE = _idaapi.SEARCH_UNICODE +SEARCH_IDENT = _idaapi.SEARCH_IDENT +SEARCH_BRK = _idaapi.SEARCH_BRK + +def search_down(*args): + """ + search_down(sflag) -> bool + """ + return _idaapi.search_down(*args) + +def find_error(*args): + """ + find_error(ea, sflag) -> ea_t + """ + return _idaapi.find_error(*args) + +def find_notype(*args): + """ + find_notype(ea, sflag) -> ea_t + """ + return _idaapi.find_notype(*args) + +def find_unknown(*args): + """ + find_unknown(ea, sflag) -> ea_t + """ + return _idaapi.find_unknown(*args) + +def find_defined(*args): + """ + find_defined(ea, sflag) -> ea_t + """ + return _idaapi.find_defined(*args) + +def find_void(*args): + """ + find_void(ea, sflag) -> ea_t + """ + return _idaapi.find_void(*args) + +def find_data(*args): + """ + find_data(ea, sflag) -> ea_t + """ + return _idaapi.find_data(*args) + +def find_code(*args): + """ + find_code(ea, sflag) -> ea_t + """ + return _idaapi.find_code(*args) + +def find_not_func(*args): + """ + find_not_func(ea, sflag) -> ea_t + """ + return _idaapi.find_not_func(*args) + +def find_imm(*args): + """ + find_imm(newEA, sflag, srchValue) -> ea_t + """ + return _idaapi.find_imm(*args) + +def find_binary(*args): + """ + find_binary(startea, endea, ubinstr, radix, sflag) -> ea_t + """ + return _idaapi.find_binary(*args) + +def find_text(*args): + """ + find_text(startEA, y, x, ustr, sflag) -> ea_t + """ + return _idaapi.find_text(*args) +SREG_NUM = _idaapi.SREG_NUM +class segment_t(area_t): + """ + Proxy of C++ segment_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> segment_t + """ + this = _idaapi.new_segment_t(*args) + try: self.this.append(this) + except: self.this = this + name = _swig_property(_idaapi.segment_t_name_get, _idaapi.segment_t_name_set) + sclass = _swig_property(_idaapi.segment_t_sclass_get, _idaapi.segment_t_sclass_set) + orgbase = _swig_property(_idaapi.segment_t_orgbase_get, _idaapi.segment_t_orgbase_set) + align = _swig_property(_idaapi.segment_t_align_get, _idaapi.segment_t_align_set) + comb = _swig_property(_idaapi.segment_t_comb_get, _idaapi.segment_t_comb_set) + perm = _swig_property(_idaapi.segment_t_perm_get, _idaapi.segment_t_perm_set) + bitness = _swig_property(_idaapi.segment_t_bitness_get, _idaapi.segment_t_bitness_set) + def use32(self, *args): + """ + use32(self) -> bool + """ + return _idaapi.segment_t_use32(self, *args) + + def use64(self, *args): + """ + use64(self) -> bool + """ + return _idaapi.segment_t_use64(self, *args) + + def abits(self, *args): + """ + abits(self) -> int + """ + return _idaapi.segment_t_abits(self, *args) + + def abytes(self, *args): + """ + abytes(self) -> int + """ + return _idaapi.segment_t_abytes(self, *args) + + flags = _swig_property(_idaapi.segment_t_flags_get, _idaapi.segment_t_flags_set) + def comorg(self, *args): + """ + comorg(self) -> bool + """ + return _idaapi.segment_t_comorg(self, *args) + + def set_comorg(self, *args): + """ + set_comorg(self) + """ + return _idaapi.segment_t_set_comorg(self, *args) + + def clr_comorg(self, *args): + """ + clr_comorg(self) + """ + return _idaapi.segment_t_clr_comorg(self, *args) + + def ob_ok(self, *args): + """ + ob_ok(self) -> bool + """ + return _idaapi.segment_t_ob_ok(self, *args) + + def set_ob_ok(self, *args): + """ + set_ob_ok(self) + """ + return _idaapi.segment_t_set_ob_ok(self, *args) + + def clr_ob_ok(self, *args): + """ + clr_ob_ok(self) + """ + return _idaapi.segment_t_clr_ob_ok(self, *args) + + def is_visible_segm(self, *args): + """ + is_visible_segm(self) -> bool + """ + return _idaapi.segment_t_is_visible_segm(self, *args) + + def set_visible_segm(self, *args): + """ + set_visible_segm(self, visible) + """ + return _idaapi.segment_t_set_visible_segm(self, *args) + + def set_debugger_segm(self, *args): + """ + set_debugger_segm(self, debseg) + """ + return _idaapi.segment_t_set_debugger_segm(self, *args) + + def is_loader_segm(self, *args): + """ + is_loader_segm(self) -> bool + """ + return _idaapi.segment_t_is_loader_segm(self, *args) + + def set_loader_segm(self, *args): + """ + set_loader_segm(self, ldrseg) + """ + return _idaapi.segment_t_set_loader_segm(self, *args) + + def is_hidden_segtype(self, *args): + """ + is_hidden_segtype(self) -> bool + """ + return _idaapi.segment_t_is_hidden_segtype(self, *args) + + def set_hidden_segtype(self, *args): + """ + set_hidden_segtype(self, hide) + """ + return _idaapi.segment_t_set_hidden_segtype(self, *args) + + sel = _swig_property(_idaapi.segment_t_sel_get, _idaapi.segment_t_sel_set) + defsr = _swig_property(_idaapi.segment_t_defsr_get, _idaapi.segment_t_defsr_set) + type = _swig_property(_idaapi.segment_t_type_get, _idaapi.segment_t_type_set) + color = _swig_property(_idaapi.segment_t_color_get, _idaapi.segment_t_color_set) + def update(self, *args): + """ + update(self) -> bool + """ + return _idaapi.segment_t_update(self, *args) + + startEA = _swig_property(_idaapi.segment_t_startEA_get, _idaapi.segment_t_startEA_set) + endEA = _swig_property(_idaapi.segment_t_endEA_get, _idaapi.segment_t_endEA_set) + __swig_destroy__ = _idaapi.delete_segment_t + __del__ = lambda self : None; +segment_t_swigregister = _idaapi.segment_t_swigregister +segment_t_swigregister(segment_t) +ignore_none = cvar.ignore_none +ignore_regvar = cvar.ignore_regvar +ignore_llabel = cvar.ignore_llabel +ignore_stkvar = cvar.ignore_stkvar +ignore_glabel = cvar.ignore_glabel +Q_noBase = cvar.Q_noBase +Q_noName = cvar.Q_noName +Q_noFop = cvar.Q_noFop +Q_noComm = cvar.Q_noComm +Q_noRef = cvar.Q_noRef +Q_jumps = cvar.Q_jumps +Q_disasm = cvar.Q_disasm +Q_head = cvar.Q_head +Q_noValid = cvar.Q_noValid +Q_lines = cvar.Q_lines +Q_badstack = cvar.Q_badstack +Q_att = cvar.Q_att +Q_final = cvar.Q_final +Q_rolled = cvar.Q_rolled +Q_collsn = cvar.Q_collsn +Q_decimp = cvar.Q_decimp +Q_Qnum = cvar.Q_Qnum +saAbs = _idaapi.saAbs +saRelByte = _idaapi.saRelByte +saRelWord = _idaapi.saRelWord +saRelPara = _idaapi.saRelPara +saRelPage = _idaapi.saRelPage +saRelDble = _idaapi.saRelDble +saRel4K = _idaapi.saRel4K +saGroup = _idaapi.saGroup +saRel32Bytes = _idaapi.saRel32Bytes +saRel64Bytes = _idaapi.saRel64Bytes +saRelQword = _idaapi.saRelQword +saRel128Bytes = _idaapi.saRel128Bytes +saRel512Bytes = _idaapi.saRel512Bytes +saRel1024Bytes = _idaapi.saRel1024Bytes +saRel2048Bytes = _idaapi.saRel2048Bytes +saRel_MAX_ALIGN_CODE = _idaapi.saRel_MAX_ALIGN_CODE +scPriv = _idaapi.scPriv +scGroup = _idaapi.scGroup +scPub = _idaapi.scPub +scPub2 = _idaapi.scPub2 +scStack = _idaapi.scStack +scCommon = _idaapi.scCommon +scPub3 = _idaapi.scPub3 +sc_MAX_COMB_CODE = _idaapi.sc_MAX_COMB_CODE +SEGPERM_EXEC = _idaapi.SEGPERM_EXEC +SEGPERM_WRITE = _idaapi.SEGPERM_WRITE +SEGPERM_READ = _idaapi.SEGPERM_READ +SEGPERM_MAXVAL = _idaapi.SEGPERM_MAXVAL +SEG_MAX_BITNESS_CODE = _idaapi.SEG_MAX_BITNESS_CODE +SFL_COMORG = _idaapi.SFL_COMORG +SFL_OBOK = _idaapi.SFL_OBOK +SFL_HIDDEN = _idaapi.SFL_HIDDEN +SFL_DEBUG = _idaapi.SFL_DEBUG +SFL_LOADER = _idaapi.SFL_LOADER +SFL_HIDETYPE = _idaapi.SFL_HIDETYPE +SEG_NORM = _idaapi.SEG_NORM +SEG_XTRN = _idaapi.SEG_XTRN +SEG_CODE = _idaapi.SEG_CODE +SEG_DATA = _idaapi.SEG_DATA +SEG_IMP = _idaapi.SEG_IMP +SEG_GRP = _idaapi.SEG_GRP +SEG_NULL = _idaapi.SEG_NULL +SEG_UNDF = _idaapi.SEG_UNDF +SEG_BSS = _idaapi.SEG_BSS +SEG_ABSSYM = _idaapi.SEG_ABSSYM +SEG_COMM = _idaapi.SEG_COMM +SEG_IMEM = _idaapi.SEG_IMEM +SEG_MAX_SEGTYPE_CODE = _idaapi.SEG_MAX_SEGTYPE_CODE + + +def is_visible_segm(*args): + """ + is_visible_segm(s) -> bool + """ + return _idaapi.is_visible_segm(*args) + +def is_finally_visible_segm(*args): + """ + is_finally_visible_segm(s) -> bool + """ + return _idaapi.is_finally_visible_segm(*args) + +def set_visible_segm(*args): + """ + set_visible_segm(s, visible) + """ + return _idaapi.set_visible_segm(*args) + +def is_spec_segm(*args): + """ + is_spec_segm(seg_type) -> bool + """ + return _idaapi.is_spec_segm(*args) + +def is_spec_ea(*args): + """ + is_spec_ea(ea) -> bool + """ + return _idaapi.is_spec_ea(*args) +class lock_segment(object): + """ + Proxy of C++ lock_segment class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, _segm) -> lock_segment + """ + this = _idaapi.new_lock_segment(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_lock_segment + __del__ = lambda self : None; +lock_segment_swigregister = _idaapi.lock_segment_swigregister +lock_segment_swigregister(lock_segment) + + +def is_segm_locked(*args): + """ + is_segm_locked(segm) -> bool + """ + return _idaapi.is_segm_locked(*args) + +def getn_selector(*args): + """ + getn_selector(n, sel, base) -> bool + """ + return _idaapi.getn_selector(*args) + +def get_selector_qty(*args): + """ + get_selector_qty() -> int + """ + return _idaapi.get_selector_qty(*args) + +def setup_selector(*args): + """ + setup_selector(segbase) -> sel_t + """ + return _idaapi.setup_selector(*args) + +def allocate_selector(*args): + """ + allocate_selector(segbase) -> sel_t + """ + return _idaapi.allocate_selector(*args) + +def find_free_selector(*args): + """ + find_free_selector() -> sel_t + """ + return _idaapi.find_free_selector(*args) + +def set_selector(*args): + """ + set_selector(selector, paragraph) -> int + """ + return _idaapi.set_selector(*args) + +def del_selector(*args): + """ + del_selector(selector) + """ + return _idaapi.del_selector(*args) + +def ask_selector(*args): + """ + ask_selector(selector) -> ea_t + """ + return _idaapi.ask_selector(*args) + +def sel2ea(*args): + """ + sel2ea(selector) -> ea_t + """ + return _idaapi.sel2ea(*args) + +def find_selector(*args): + """ + find_selector(base) -> sel_t + """ + return _idaapi.find_selector(*args) + +def get_segm_by_sel(*args): + """ + get_segm_by_sel(selector) -> segment_t + """ + return _idaapi.get_segm_by_sel(*args) + +def add_segm_ex(*args): + """ + add_segm_ex(s, name, sclass, flags) -> bool + """ + return _idaapi.add_segm_ex(*args) +ADDSEG_NOSREG = _idaapi.ADDSEG_NOSREG +ADDSEG_OR_DIE = _idaapi.ADDSEG_OR_DIE +ADDSEG_NOTRUNC = _idaapi.ADDSEG_NOTRUNC +ADDSEG_QUIET = _idaapi.ADDSEG_QUIET +ADDSEG_FILLGAP = _idaapi.ADDSEG_FILLGAP +ADDSEG_SPARSE = _idaapi.ADDSEG_SPARSE + +def add_segm(*args): + """ + add_segm(para, start, end, name, sclass) -> bool + """ + return _idaapi.add_segm(*args) + +def del_segm(*args): + """ + del_segm(ea, flags) -> bool + """ + return _idaapi.del_segm(*args) +SEGMOD_KILL = _idaapi.SEGMOD_KILL +SEGMOD_KEEP = _idaapi.SEGMOD_KEEP +SEGMOD_SILENT = _idaapi.SEGMOD_SILENT +SEGMOD_KEEP0 = _idaapi.SEGMOD_KEEP0 +SEGMOD_KEEPSEL = _idaapi.SEGMOD_KEEPSEL +SEGMOD_NOMOVE = _idaapi.SEGMOD_NOMOVE +SEGMOD_SPARSE = _idaapi.SEGMOD_SPARSE + +def get_segm_qty(*args): + """ + get_segm_qty() -> int + """ + return _idaapi.get_segm_qty(*args) + +def getseg(*args): + """ + getseg(ea) -> segment_t + """ + return _idaapi.getseg(*args) + +def getnseg(*args): + """ + getnseg(n) -> segment_t + """ + return _idaapi.getnseg(*args) + +def get_next_seg(*args): + """ + get_next_seg(ea) -> segment_t + """ + return _idaapi.get_next_seg(*args) + +def get_prev_seg(*args): + """ + get_prev_seg(ea) -> segment_t + """ + return _idaapi.get_prev_seg(*args) + +def get_first_seg(*args): + """ + get_first_seg() -> segment_t + """ + return _idaapi.get_first_seg(*args) + +def get_last_seg(*args): + """ + get_last_seg() -> segment_t + """ + return _idaapi.get_last_seg(*args) + +def get_segm_by_name(*args): + """ + get_segm_by_name(name) -> segment_t + """ + return _idaapi.get_segm_by_name(*args) + +def set_segm_end(*args): + """ + set_segm_end(ea, newend, flags) -> bool + """ + return _idaapi.set_segm_end(*args) + +def set_segm_start(*args): + """ + set_segm_start(ea, newstart, flags) -> bool + """ + return _idaapi.set_segm_start(*args) + +def move_segm_start(*args): + """ + move_segm_start(ea, newstart, mode) -> bool + """ + return _idaapi.move_segm_start(*args) + +def move_segm(*args): + """ + move_segm(s, to, flags=0) -> int + """ + return _idaapi.move_segm(*args) +MSF_SILENT = _idaapi.MSF_SILENT +MSF_NOFIX = _idaapi.MSF_NOFIX +MSF_LDKEEP = _idaapi.MSF_LDKEEP +MSF_FIXONCE = _idaapi.MSF_FIXONCE +MOVE_SEGM_OK = _idaapi.MOVE_SEGM_OK +MOVE_SEGM_PARAM = _idaapi.MOVE_SEGM_PARAM +MOVE_SEGM_ROOM = _idaapi.MOVE_SEGM_ROOM +MOVE_SEGM_IDP = _idaapi.MOVE_SEGM_IDP +MOVE_SEGM_CHUNK = _idaapi.MOVE_SEGM_CHUNK +MOVE_SEGM_LOADER = _idaapi.MOVE_SEGM_LOADER +MOVE_SEGM_ODD = _idaapi.MOVE_SEGM_ODD +MOVE_SEGM_ORPHAN = _idaapi.MOVE_SEGM_ORPHAN + +def rebase_program(*args): + """ + rebase_program(delta, flags) -> int + """ + return _idaapi.rebase_program(*args) + +def change_segment_status(*args): + """ + change_segment_status(s, is_deb_segm) -> int + """ + return _idaapi.change_segment_status(*args) +CSS_OK = _idaapi.CSS_OK +CSS_NODBG = _idaapi.CSS_NODBG +CSS_NOAREA = _idaapi.CSS_NOAREA +CSS_NOMEM = _idaapi.CSS_NOMEM +CSS_BREAK = _idaapi.CSS_BREAK + +def take_memory_snapshot(*args): + """ + take_memory_snapshot(only_loader_segs) -> bool + """ + return _idaapi.take_memory_snapshot(*args) + +def is_miniidb(*args): + """ + is_miniidb() -> bool + """ + return _idaapi.is_miniidb(*args) + +def set_segm_base(*args): + """ + set_segm_base(s, newbase) -> bool + """ + return _idaapi.set_segm_base(*args) + +def set_group_selector(*args): + """ + set_group_selector(grp, sel) -> int + """ + return _idaapi.set_group_selector(*args) +MAX_GROUPS = _idaapi.MAX_GROUPS + +def get_group_selector(*args): + """ + get_group_selector(grpsel) -> sel_t + """ + return _idaapi.get_group_selector(*args) + +def add_segment_translation(*args): + """ + add_segment_translation(segstart, mappedseg) -> bool + """ + return _idaapi.add_segment_translation(*args) +MAX_SEGM_TRANSLATIONS = _idaapi.MAX_SEGM_TRANSLATIONS + +def set_segment_translations(*args): + """ + set_segment_translations(segstart, transmap) -> bool + """ + return _idaapi.set_segment_translations(*args) + +def del_segment_translations(*args): + """ + del_segment_translations(ea) -> bool + """ + return _idaapi.del_segment_translations(*args) + +def get_segment_translations(*args): + """ + get_segment_translations(segstart, buf, bufsize) -> ea_t * + """ + return _idaapi.get_segment_translations(*args) + +def get_segment_cmt(*args): + """ + get_segment_cmt(s, repeatable) -> char * + """ + return _idaapi.get_segment_cmt(*args) + +def set_segment_cmt(*args): + """ + set_segment_cmt(s, cmt, repeatable) + """ + return _idaapi.set_segment_cmt(*args) + +def del_segment_cmt(*args): + """ + del_segment_cmt(s, repeatable) + """ + return _idaapi.del_segment_cmt(*args) + +def std_gen_segm_footer(*args): + """ + std_gen_segm_footer(ea) + """ + return _idaapi.std_gen_segm_footer(*args) + +def set_segm_name(*args): + """ + set_segm_name(s, format) -> int + """ + return _idaapi.set_segm_name(*args) + +def get_true_segm_name(*args): + """ + get_true_segm_name(s) -> ssize_t + """ + return _idaapi.get_true_segm_name(*args) + +def get_segm_name(*args): + """ + get_segm_name(s) -> ssize_t + get_segm_name(ea) -> ssize_t + """ + return _idaapi.get_segm_name(*args) + +def get_segm_class(*args): + """ + get_segm_class(s) -> ssize_t + """ + return _idaapi.get_segm_class(*args) + +def set_segm_class(*args): + """ + set_segm_class(s, sclass) -> int + """ + return _idaapi.set_segm_class(*args) + +def segtype(*args): + """ + segtype(ea) -> uchar + """ + return _idaapi.segtype(*args) + +def get_segment_alignment(*args): + """ + get_segment_alignment(align) -> char const * + """ + return _idaapi.get_segment_alignment(*args) + +def get_segment_combination(*args): + """ + get_segment_combination(comb) -> char const * + """ + return _idaapi.get_segment_combination(*args) + +def get_segm_para(*args): + """ + get_segm_para(s) -> ea_t + """ + return _idaapi.get_segm_para(*args) + +def get_segm_base(*args): + """ + get_segm_base(s) -> ea_t + """ + return _idaapi.get_segm_base(*args) + +def set_segm_addressing(*args): + """ + set_segm_addressing(s, bitness) -> bool + """ + return _idaapi.set_segm_addressing(*args) + +def update_segm(*args): + """ + update_segm(s) -> bool + """ + return _idaapi.update_segm(*args) + +def segm_adjust_diff(*args): + """ + segm_adjust_diff(s, delta) -> adiff_t + """ + return _idaapi.segm_adjust_diff(*args) + +def segm_adjust_ea(*args): + """ + segm_adjust_ea(s, ea) -> ea_t + """ + return _idaapi.segm_adjust_ea(*args) +SEGDEL_PERM = _idaapi.SEGDEL_PERM +SEGDEL_KEEP = _idaapi.SEGDEL_KEEP +SEGDEL_SILENT = _idaapi.SEGDEL_SILENT +SEGDEL_KEEP0 = _idaapi.SEGDEL_KEEP0 + +def get_defsr(*args): + """ + get_defsr(s, reg) -> sel_t + """ + return _idaapi.get_defsr(*args) + +def set_defsr(*args): + """ + set_defsr(s, reg, value) + """ + return _idaapi.set_defsr(*args) +R_es = _idaapi.R_es +R_cs = _idaapi.R_cs +R_ss = _idaapi.R_ss +R_ds = _idaapi.R_ds +R_fs = _idaapi.R_fs +R_gs = _idaapi.R_gs +class segreg_area_t(area_t): + """ + Proxy of C++ segreg_area_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + val = _swig_property(_idaapi.segreg_area_t_val_get, _idaapi.segreg_area_t_val_set) + tag = _swig_property(_idaapi.segreg_area_t_tag_get, _idaapi.segreg_area_t_tag_set) + def __init__(self, *args): + """ + __init__(self) -> segreg_area_t + """ + this = _idaapi.new_segreg_area_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_segreg_area_t + __del__ = lambda self : None; +segreg_area_t_swigregister = _idaapi.segreg_area_t_swigregister +segreg_area_t_swigregister(segreg_area_t) +SR_inherit = _idaapi.SR_inherit +SR_user = _idaapi.SR_user +SR_auto = _idaapi.SR_auto +SR_autostart = _idaapi.SR_autostart + + +def get_segreg(*args): + """ + get_segreg(ea, rg) -> sel_t + """ + return _idaapi.get_segreg(*args) + +def split_srarea(*args): + """ + split_srarea(ea, rg, v, tag, silent=False) -> bool + """ + return _idaapi.split_srarea(*args) + +def set_default_segreg_value(*args): + """ + set_default_segreg_value(sg, rg, value) -> bool + """ + return _idaapi.set_default_segreg_value(*args) + +def set_sreg_at_next_code(*args): + """ + set_sreg_at_next_code(ea1, ea2, rg, value) + """ + return _idaapi.set_sreg_at_next_code(*args) + +def get_srarea2(*args): + """ + get_srarea2(out, ea, rg) -> bool + """ + return _idaapi.get_srarea2(*args) + +def get_prev_srarea(*args): + """ + get_prev_srarea(out, ea, rg) -> bool + """ + return _idaapi.get_prev_srarea(*args) + +def set_default_dataseg(*args): + """ + set_default_dataseg(ds_sel) + """ + return _idaapi.set_default_dataseg(*args) + +def get_srareas_qty2(*args): + """ + get_srareas_qty2(rg) -> size_t + """ + return _idaapi.get_srareas_qty2(*args) + +def getn_srarea2(*args): + """ + getn_srarea2(out, rg, n) -> bool + """ + return _idaapi.getn_srarea2(*args) + +def get_srarea_num(*args): + """ + get_srarea_num(rg, ea) -> int + """ + return _idaapi.get_srarea_num(*args) + +def del_srarea(*args): + """ + del_srarea(rg, ea) -> bool + """ + return _idaapi.del_srarea(*args) + +def copy_srareas(*args): + """ + copy_srareas(dst_rg, src_rg, map_selector=False) + """ + return _idaapi.copy_srareas(*args) +class segreg_t(area_t): + """ + Proxy of C++ segreg_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def reg(self, *args): + """ + reg(self, n) -> sel_t const & + """ + return _idaapi.segreg_t_reg(self, *args) + + def tag(self, *args): + """ + tag(self, n) -> uchar const & + """ + return _idaapi.segreg_t_tag(self, *args) + + def undefregs(self, *args): + """ + undefregs(self) + """ + return _idaapi.segreg_t_undefregs(self, *args) + + def setregs(self, *args): + """ + setregs(self, Regs) + """ + return _idaapi.segreg_t_setregs(self, *args) + + def settags(self, *args): + """ + settags(self, v) + """ + return _idaapi.segreg_t_settags(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> segreg_t + """ + this = _idaapi.new_segreg_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_segreg_t + __del__ = lambda self : None; +segreg_t_swigregister = _idaapi.segreg_t_swigregister +segreg_t_swigregister(segreg_t) + + +def get_srarea(*args): + """ + get_srarea(ea) -> segreg_t + """ + return _idaapi.get_srarea(*args) + +def get_srareas_qty(*args): + """ + get_srareas_qty() -> size_t + """ + return _idaapi.get_srareas_qty(*args) + +def getn_srarea(*args): + """ + getn_srarea(n) -> segreg_t + """ + return _idaapi.getn_srarea(*args) +class lock_segreg(object): + """ + Proxy of C++ lock_segreg class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self, arg2) -> lock_segreg + """ + this = _idaapi.new_lock_segreg(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_lock_segreg + __del__ = lambda self : None; +lock_segreg_swigregister = _idaapi.lock_segreg_swigregister +lock_segreg_swigregister(lock_segreg) + + +def is_segreg_locked(*args): + """ + is_segreg_locked(arg1) -> bool + """ + return _idaapi.is_segreg_locked(*args) + +def getSR(*args): + """ + getSR(ea, rg) -> sel_t + """ + return _idaapi.getSR(*args) + +def SetDefaultRegisterValue(*args): + """ + SetDefaultRegisterValue(sg, rg, value) -> bool + """ + return _idaapi.SetDefaultRegisterValue(*args) + +def splitSRarea1(*args): + """ + splitSRarea1(ea, rg, v, tag, silent=False) -> bool + """ + return _idaapi.splitSRarea1(*args) +class strwinsetup_t(object): + """ + Proxy of C++ strwinsetup_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> strwinsetup_t + """ + this = _idaapi.new_strwinsetup_t(*args) + try: self.this.append(this) + except: self.this = this + strtypes = _swig_property(_idaapi.strwinsetup_t_strtypes_get, _idaapi.strwinsetup_t_strtypes_set) + minlen = _swig_property(_idaapi.strwinsetup_t_minlen_get, _idaapi.strwinsetup_t_minlen_set) + display_only_existing_strings = _swig_property(_idaapi.strwinsetup_t_display_only_existing_strings_get, _idaapi.strwinsetup_t_display_only_existing_strings_set) + only_7bit = _swig_property(_idaapi.strwinsetup_t_only_7bit_get, _idaapi.strwinsetup_t_only_7bit_set) + ignore_heads = _swig_property(_idaapi.strwinsetup_t_ignore_heads_get, _idaapi.strwinsetup_t_ignore_heads_set) + ea1 = _swig_property(_idaapi.strwinsetup_t_ea1_get, _idaapi.strwinsetup_t_ea1_set) + ea2 = _swig_property(_idaapi.strwinsetup_t_ea2_get, _idaapi.strwinsetup_t_ea2_set) + def is_initialized(self, *args): + """ + is_initialized(self) -> bool + """ + return _idaapi.strwinsetup_t_is_initialized(self, *args) + + __swig_destroy__ = _idaapi.delete_strwinsetup_t + __del__ = lambda self : None; +strwinsetup_t_swigregister = _idaapi.strwinsetup_t_swigregister +strwinsetup_t_swigregister(strwinsetup_t) + +class string_info_t(object): + """ + Proxy of C++ string_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + ea = _swig_property(_idaapi.string_info_t_ea_get, _idaapi.string_info_t_ea_set) + length = _swig_property(_idaapi.string_info_t_length_get, _idaapi.string_info_t_length_set) + type = _swig_property(_idaapi.string_info_t_type_get, _idaapi.string_info_t_type_set) + def __init__(self, *args): + """ + __init__(self) -> string_info_t + __init__(self, _ea) -> string_info_t + """ + this = _idaapi.new_string_info_t(*args) + try: self.this.append(this) + except: self.this = this + def __lt__(self, *args): + """ + __lt__(self, string_info) -> bool + """ + return _idaapi.string_info_t___lt__(self, *args) + + __swig_destroy__ = _idaapi.delete_string_info_t + __del__ = lambda self : None; +string_info_t_swigregister = _idaapi.string_info_t_swigregister +string_info_t_swigregister(string_info_t) + + +def set_strlist_options(*args): + """ + set_strlist_options(options) -> bool + """ + return _idaapi.set_strlist_options(*args) + +def refresh_strlist(*args): + """ + refresh_strlist(ea1, ea2) + """ + return _idaapi.refresh_strlist(*args) + +def get_strlist_qty(*args): + """ + get_strlist_qty() -> size_t + """ + return _idaapi.get_strlist_qty(*args) + +def get_strlist_item(*args): + """ + get_strlist_item(n, si) -> bool + """ + return _idaapi.get_strlist_item(*args) +STRUC_SEPARATOR = _idaapi.STRUC_SEPARATOR +class member_t(object): + """ + Proxy of C++ member_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + id = _swig_property(_idaapi.member_t_id_get, _idaapi.member_t_id_set) + soff = _swig_property(_idaapi.member_t_soff_get, _idaapi.member_t_soff_set) + eoff = _swig_property(_idaapi.member_t_eoff_get, _idaapi.member_t_eoff_set) + flag = _swig_property(_idaapi.member_t_flag_get, _idaapi.member_t_flag_set) + props = _swig_property(_idaapi.member_t_props_get, _idaapi.member_t_props_set) + def unimem(self, *args): + """ + unimem(self) -> bool + """ + return _idaapi.member_t_unimem(self, *args) + + def has_union(self, *args): + """ + has_union(self) -> bool + """ + return _idaapi.member_t_has_union(self, *args) + + def by_til(self, *args): + """ + by_til(self) -> bool + """ + return _idaapi.member_t_by_til(self, *args) + + def has_ti(self, *args): + """ + has_ti(self) -> bool + """ + return _idaapi.member_t_has_ti(self, *args) + + def get_soff(self, *args): + """ + get_soff(self) -> ea_t + """ + return _idaapi.member_t_get_soff(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> member_t + """ + this = _idaapi.new_member_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_member_t + __del__ = lambda self : None; +member_t_swigregister = _idaapi.member_t_swigregister +member_t_swigregister(member_t) +MF_OK = _idaapi.MF_OK +MF_UNIMEM = _idaapi.MF_UNIMEM +MF_HASUNI = _idaapi.MF_HASUNI +MF_BYTIL = _idaapi.MF_BYTIL +MF_HASTI = _idaapi.MF_HASTI + +class struc_t(object): + """ + Proxy of C++ struc_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") + __repr__ = _swig_repr + id = _swig_property(_idaapi.struc_t_id_get, _idaapi.struc_t_id_set) + memqty = _swig_property(_idaapi.struc_t_memqty_get, _idaapi.struc_t_memqty_set) + members = _swig_property(_idaapi.struc_t_members_get, _idaapi.struc_t_members_set) + age = _swig_property(_idaapi.struc_t_age_get, _idaapi.struc_t_age_set) + props = _swig_property(_idaapi.struc_t_props_get, _idaapi.struc_t_props_set) + def is_varstr(self, *args): + """ + is_varstr(self) -> bool + """ + return _idaapi.struc_t_is_varstr(self, *args) + + def is_union(self, *args): + """ + is_union(self) -> bool + """ + return _idaapi.struc_t_is_union(self, *args) + + def has_union(self, *args): + """ + has_union(self) -> bool + """ + return _idaapi.struc_t_has_union(self, *args) + + def is_choosable(self, *args): + """ + is_choosable(self) -> bool + """ + return _idaapi.struc_t_is_choosable(self, *args) + + def from_til(self, *args): + """ + from_til(self) -> bool + """ + return _idaapi.struc_t_from_til(self, *args) + + def is_hidden(self, *args): + """ + is_hidden(self) -> bool + """ + return _idaapi.struc_t_is_hidden(self, *args) + + def get_alignment(self, *args): + """ + get_alignment(self) -> int + """ + return _idaapi.struc_t_get_alignment(self, *args) + + def is_ghost(self, *args): + """ + is_ghost(self) -> bool + """ + return _idaapi.struc_t_is_ghost(self, *args) + + def set_alignment(self, *args): + """ + set_alignment(self, shift) + """ + return _idaapi.struc_t_set_alignment(self, *args) + + def set_ghost(self, *args): + """ + set_ghost(self, _is_ghost) + """ + return _idaapi.struc_t_set_ghost(self, *args) + + ordinal = _swig_property(_idaapi.struc_t_ordinal_get, _idaapi.struc_t_ordinal_set) + def get_member(self, *args): + """ + get_member(self, index) -> member_t + """ + return _idaapi.struc_t_get_member(self, *args) + + __swig_destroy__ = _idaapi.delete_struc_t + __del__ = lambda self : None; +struc_t_swigregister = _idaapi.struc_t_swigregister +struc_t_swigregister(struc_t) +SF_VAR = _idaapi.SF_VAR +SF_UNION = _idaapi.SF_UNION +SF_HASUNI = _idaapi.SF_HASUNI +SF_NOLIST = _idaapi.SF_NOLIST +SF_TYPLIB = _idaapi.SF_TYPLIB +SF_HIDDEN = _idaapi.SF_HIDDEN +SF_FRAME = _idaapi.SF_FRAME +SF_ALIGN = _idaapi.SF_ALIGN +SF_GHOST = _idaapi.SF_GHOST + + +def get_struc_qty(*args): + """ + get_struc_qty() -> size_t + """ + return _idaapi.get_struc_qty(*args) + +def get_first_struc_idx(*args): + """ + get_first_struc_idx() -> uval_t + """ + return _idaapi.get_first_struc_idx(*args) + +def get_last_struc_idx(*args): + """ + get_last_struc_idx() -> uval_t + """ + return _idaapi.get_last_struc_idx(*args) + +def get_prev_struc_idx(*args): + """ + get_prev_struc_idx(idx) -> uval_t + """ + return _idaapi.get_prev_struc_idx(*args) + +def get_next_struc_idx(*args): + """ + get_next_struc_idx(idx) -> uval_t + """ + return _idaapi.get_next_struc_idx(*args) + +def get_struc_idx(*args): + """ + get_struc_idx(id) -> uval_t + """ + return _idaapi.get_struc_idx(*args) + +def get_struc_by_idx(*args): + """ + get_struc_by_idx(idx) -> tid_t + """ + return _idaapi.get_struc_by_idx(*args) + +def get_struc(*args): + """ + get_struc(id) -> struc_t + """ + return _idaapi.get_struc(*args) + +def get_struc_id(*args): + """ + get_struc_id(name) -> tid_t + """ + return _idaapi.get_struc_id(*args) + +def get_struc_name(*args): + """ + get_struc_name(id) -> ssize_t + """ + return _idaapi.get_struc_name(*args) + +def get_struc_cmt(*args): + """ + get_struc_cmt(id, repeatable) -> ssize_t + """ + return _idaapi.get_struc_cmt(*args) + +def get_struc_size(*args): + """ + get_struc_size(sptr) -> asize_t + get_struc_size(id) -> asize_t + """ + return _idaapi.get_struc_size(*args) + +def get_struc_prev_offset(*args): + """ + get_struc_prev_offset(sptr, offset) -> ea_t + """ + return _idaapi.get_struc_prev_offset(*args) + +def get_struc_next_offset(*args): + """ + get_struc_next_offset(sptr, offset) -> ea_t + """ + return _idaapi.get_struc_next_offset(*args) + +def get_struc_last_offset(*args): + """ + get_struc_last_offset(sptr) -> ea_t + """ + return _idaapi.get_struc_last_offset(*args) + +def get_struc_first_offset(*args): + """ + get_struc_first_offset(sptr) -> ea_t + """ + return _idaapi.get_struc_first_offset(*args) + +def get_max_offset(*args): + """ + get_max_offset(sptr) -> ea_t + """ + return _idaapi.get_max_offset(*args) + +def is_varstr(*args): + """ + is_varstr(id) -> bool + """ + return _idaapi.is_varstr(*args) + +def is_union(*args): + """ + is_union(id) -> bool + """ + return _idaapi.is_union(*args) + +def get_member_struc(*args): + """ + get_member_struc(fullname) -> struc_t + """ + return _idaapi.get_member_struc(*args) + +def get_sptr(*args): + """ + get_sptr(mptr) -> struc_t + """ + return _idaapi.get_sptr(*args) + +def get_member(*args): + """ + get_member(sptr, offset) -> member_t + """ + return _idaapi.get_member(*args) + +def get_member_by_name(*args): + """ + get_member_by_name(sptr, membername) -> member_t + """ + return _idaapi.get_member_by_name(*args) + +def get_member_by_fullname(*args): + """ + get_member_by_fullname(fullname, sptr_place) -> member_t + """ + return _idaapi.get_member_by_fullname(*args) + +def get_member_fullname(*args): + """ + get_member_fullname(mid) -> ssize_t + """ + return _idaapi.get_member_fullname(*args) + +def get_member_name2(*args): + """ + get_member_name2(mid) -> ssize_t + """ + return _idaapi.get_member_name2(*args) + +def get_member_cmt(*args): + """ + get_member_cmt(mid, repeatable) -> ssize_t + """ + return _idaapi.get_member_cmt(*args) + +def get_member_size(*args): + """ + get_member_size(mptr) -> asize_t + """ + return _idaapi.get_member_size(*args) + +def is_varmember(*args): + """ + is_varmember(mptr) -> bool + """ + return _idaapi.is_varmember(*args) + +def get_best_fit_member(*args): + """ + get_best_fit_member(sptr, offset) -> member_t + """ + return _idaapi.get_best_fit_member(*args) + +def get_next_member_idx(*args): + """ + get_next_member_idx(sptr, off) -> ssize_t + """ + return _idaapi.get_next_member_idx(*args) + +def get_prev_member_idx(*args): + """ + get_prev_member_idx(sptr, off) -> ssize_t + """ + return _idaapi.get_prev_member_idx(*args) + +def add_struc(*args): + """ + add_struc(idx, name, is_union=False) -> tid_t + """ + return _idaapi.add_struc(*args) + +def del_struc(*args): + """ + del_struc(sptr) -> bool + """ + return _idaapi.del_struc(*args) + +def set_struc_idx(*args): + """ + set_struc_idx(sptr, idx) -> bool + """ + return _idaapi.set_struc_idx(*args) + +def set_struc_align(*args): + """ + set_struc_align(sptr, shift) -> bool + """ + return _idaapi.set_struc_align(*args) + +def set_struc_name(*args): + """ + set_struc_name(id, name) -> bool + """ + return _idaapi.set_struc_name(*args) + +def set_struc_cmt(*args): + """ + set_struc_cmt(id, cmt, repeatable) -> bool + """ + return _idaapi.set_struc_cmt(*args) +STRUC_ERROR_MEMBER_OK = _idaapi.STRUC_ERROR_MEMBER_OK +STRUC_ERROR_MEMBER_NAME = _idaapi.STRUC_ERROR_MEMBER_NAME +STRUC_ERROR_MEMBER_OFFSET = _idaapi.STRUC_ERROR_MEMBER_OFFSET +STRUC_ERROR_MEMBER_SIZE = _idaapi.STRUC_ERROR_MEMBER_SIZE +STRUC_ERROR_MEMBER_TINFO = _idaapi.STRUC_ERROR_MEMBER_TINFO +STRUC_ERROR_MEMBER_STRUCT = _idaapi.STRUC_ERROR_MEMBER_STRUCT +STRUC_ERROR_MEMBER_UNIVAR = _idaapi.STRUC_ERROR_MEMBER_UNIVAR +STRUC_ERROR_MEMBER_VARLAST = _idaapi.STRUC_ERROR_MEMBER_VARLAST +STRUC_ERROR_MEMBER_NESTED = _idaapi.STRUC_ERROR_MEMBER_NESTED + +def add_struc_member(*args): + """ + add_struc_member(sptr, fieldname, offset, flag, mt, nbytes) -> struc_error_t + """ + return _idaapi.add_struc_member(*args) + +def del_struc_member(*args): + """ + del_struc_member(sptr, offset) -> bool + """ + return _idaapi.del_struc_member(*args) + +def del_struc_members(*args): + """ + del_struc_members(sptr, off1, off2) -> int + """ + return _idaapi.del_struc_members(*args) + +def set_member_name(*args): + """ + set_member_name(sptr, offset, name) -> bool + """ + return _idaapi.set_member_name(*args) + +def set_member_type(*args): + """ + set_member_type(sptr, offset, flag, mt, nbytes) -> bool + """ + return _idaapi.set_member_type(*args) + +def set_member_cmt(*args): + """ + set_member_cmt(mptr, cmt, repeatable) -> bool + """ + return _idaapi.set_member_cmt(*args) + +def expand_struc(*args): + """ + expand_struc(sptr, offset, delta, recalc=True) -> bool + """ + return _idaapi.expand_struc(*args) + +def save_struc2(*args): + """ + save_struc2(sptr, may_update_ltypes=True) + """ + return _idaapi.save_struc2(*args) + +def set_struc_hidden(*args): + """ + set_struc_hidden(sptr, is_hidden) + """ + return _idaapi.set_struc_hidden(*args) + +def set_struc_listed(*args): + """ + set_struc_listed(sptr, is_listed) + """ + return _idaapi.set_struc_listed(*args) +SMT_BADARG = _idaapi.SMT_BADARG +SMT_NOCOMPAT = _idaapi.SMT_NOCOMPAT +SMT_WORSE = _idaapi.SMT_WORSE +SMT_SIZE = _idaapi.SMT_SIZE +SMT_ARRAY = _idaapi.SMT_ARRAY +SMT_OVERLAP = _idaapi.SMT_OVERLAP +SMT_FAILED = _idaapi.SMT_FAILED +SMT_OK = _idaapi.SMT_OK +SMT_KEEP = _idaapi.SMT_KEEP + +def get_member_tinfo2(*args): + """ + get_member_tinfo2(mptr, tif) -> bool + """ + return _idaapi.get_member_tinfo2(*args) + +def del_member_tinfo(*args): + """ + del_member_tinfo(sptr, mptr) -> bool + """ + return _idaapi.del_member_tinfo(*args) + +def set_member_tinfo2(*args): + """ + set_member_tinfo2(sptr, mptr, memoff, tif, flags) -> smt_code_t + """ + return _idaapi.set_member_tinfo2(*args) +SET_MEMTI_MAY_DESTROY = _idaapi.SET_MEMTI_MAY_DESTROY +SET_MEMTI_COMPATIBLE = _idaapi.SET_MEMTI_COMPATIBLE +SET_MEMTI_FUNCARG = _idaapi.SET_MEMTI_FUNCARG +SET_MEMTI_BYTIL = _idaapi.SET_MEMTI_BYTIL + +def get_or_guess_member_tinfo2(*args): + """ + get_or_guess_member_tinfo2(mptr, tif) -> bool + """ + return _idaapi.get_or_guess_member_tinfo2(*args) + +def retrieve_member_info(*args): + """ + retrieve_member_info(mptr, buf) -> opinfo_t + """ + return _idaapi.retrieve_member_info(*args) + +def is_anonymous_member_name(*args): + """ + is_anonymous_member_name(name) -> bool + """ + return _idaapi.is_anonymous_member_name(*args) + +def is_dummy_member_name(*args): + """ + is_dummy_member_name(name) -> bool + """ + return _idaapi.is_dummy_member_name(*args) + +def get_member_by_id(*args): + """ + get_member_by_id(mid, sptr_place) -> member_t + get_member_by_id(mid, sptr_place=None) -> member_t + """ + return _idaapi.get_member_by_id(*args) + +def is_member_id(*args): + """ + is_member_id(mid) -> bool + """ + return _idaapi.is_member_id(*args) + +def is_special_member(*args): + """ + is_special_member(id) -> bool + """ + return _idaapi.is_special_member(*args) +class struct_field_visitor_t(object): + """ + Proxy of C++ struct_field_visitor_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + def visit_field(self, *args): + """ + visit_field(self, sptr, mptr) -> int + """ + return _idaapi.struct_field_visitor_t_visit_field(self, *args) + + __swig_destroy__ = _idaapi.delete_struct_field_visitor_t + __del__ = lambda self : None; +struct_field_visitor_t_swigregister = _idaapi.struct_field_visitor_t_swigregister +struct_field_visitor_t_swigregister(struct_field_visitor_t) + + +def visit_stroff_fields(*args): + """ + visit_stroff_fields(sfv, path, plen, disp, appzero) -> flags_t + """ + return _idaapi.visit_stroff_fields(*args) + +def stroff_as_size(*args): + """ + stroff_as_size(plen, sptr, value) -> bool + """ + return _idaapi.stroff_as_size(*args) + +def save_struc(*args): + """ + save_struc(sptr) + """ + return _idaapi.save_struc(*args) + +def get_or_guess_member_type(*args): + """ + get_or_guess_member_type(mptr, type, tsize) -> bool + """ + return _idaapi.get_or_guess_member_type(*args) + +def get_member_ti(*args): + """ + get_member_ti(mptr, buf, bufsize) -> bool + """ + return _idaapi.get_member_ti(*args) + +def set_member_ti(*args): + """ + set_member_ti(sptr, mptr, type, flags) -> bool + """ + return _idaapi.set_member_ti(*args) + +def get_or_guess_member_tinfo(*args): + """ + get_or_guess_member_tinfo(mptr, type, fields) -> bool + """ + return _idaapi.get_or_guess_member_tinfo(*args) + +def get_member_tinfo(*args): + """ + get_member_tinfo(mptr, buf, fields) -> bool + """ + return _idaapi.get_member_tinfo(*args) + +def set_member_tinfo(*args): + """ + set_member_tinfo(til, sptr, mptr, memoff, type, fields, flags) -> bool + """ + return _idaapi.set_member_tinfo(*args) + +def get_member_name(*args): + """ + get_member_name(mid) -> ssize_t + """ + return _idaapi.get_member_name(*args) + +def get_operand_immvals(*args): + """ + get_operand_immvals(ea, n, v) -> size_t + """ + return _idaapi.get_operand_immvals(*args) + +def dataSeg_opreg(*args): + """ + dataSeg_opreg(opnum, rgnum) -> ea_t + """ + return _idaapi.dataSeg_opreg(*args) + +def dataSeg_op(*args): + """ + dataSeg_op(opnum) -> ea_t + """ + return _idaapi.dataSeg_op(*args) + +def dataSeg(*args): + """ + dataSeg() -> ea_t + """ + return _idaapi.dataSeg(*args) + +def codeSeg(*args): + """ + codeSeg(addr, opnum) -> ea_t + """ + return _idaapi.codeSeg(*args) +tbo_123 = _idaapi.tbo_123 +tbo_132 = _idaapi.tbo_132 +tbo_213 = _idaapi.tbo_213 +tbo_231 = _idaapi.tbo_231 +tbo_312 = _idaapi.tbo_312 +tbo_321 = _idaapi.tbo_321 + +def ua_next_byte(*args): + """ + ua_next_byte() -> uint8 + """ + return _idaapi.ua_next_byte(*args) + +def ua_next_word(*args): + """ + ua_next_word() -> uint16 + """ + return _idaapi.ua_next_word(*args) + +def ua_next_long(*args): + """ + ua_next_long() -> uint32 + """ + return _idaapi.ua_next_long(*args) + +def ua_next_qword(*args): + """ + ua_next_qword() -> uint64 + """ + return _idaapi.ua_next_qword(*args) + +def OutMnem(*args): + """ + OutMnem(width=8, postfix=None) -> int + """ + return _idaapi.OutMnem(*args) + +def OutBadInstruction(*args): + """ + OutBadInstruction() + """ + return _idaapi.OutBadInstruction(*args) + +def out_one_operand(*args): + """ + out_one_operand(n) -> bool + """ + return _idaapi.out_one_operand(*args) +OOF_SIGNMASK = _idaapi.OOF_SIGNMASK +OOFS_IFSIGN = _idaapi.OOFS_IFSIGN +OOFS_NOSIGN = _idaapi.OOFS_NOSIGN +OOFS_NEEDSIGN = _idaapi.OOFS_NEEDSIGN +OOF_SIGNED = _idaapi.OOF_SIGNED +OOF_NUMBER = _idaapi.OOF_NUMBER +OOF_WIDTHMASK = _idaapi.OOF_WIDTHMASK +OOFW_IMM = _idaapi.OOFW_IMM +OOFW_8 = _idaapi.OOFW_8 +OOFW_16 = _idaapi.OOFW_16 +OOFW_24 = _idaapi.OOFW_24 +OOFW_32 = _idaapi.OOFW_32 +OOFW_64 = _idaapi.OOFW_64 +OOF_ADDR = _idaapi.OOF_ADDR +OOF_OUTER = _idaapi.OOF_OUTER +OOF_ZSTROFF = _idaapi.OOF_ZSTROFF +OOF_NOBNOT = _idaapi.OOF_NOBNOT +OOF_SPACES = _idaapi.OOF_SPACES + +def out_symbol(*args): + """ + out_symbol(c) + """ + return _idaapi.out_symbol(*args) + +def out_line(*args): + """ + out_line(str, color) + """ + return _idaapi.out_line(*args) + +def out_keyword(*args): + """ + out_keyword(str) + """ + return _idaapi.out_keyword(*args) + +def out_register(*args): + """ + out_register(str) + """ + return _idaapi.out_register(*args) + +def out_tagon(*args): + """ + out_tagon(tag) + """ + return _idaapi.out_tagon(*args) + +def out_tagoff(*args): + """ + out_tagoff(tag) + """ + return _idaapi.out_tagoff(*args) + +def out_addr_tag(*args): + """ + out_addr_tag(ea) + """ + return _idaapi.out_addr_tag(*args) + +def out_colored_register_line(*args): + """ + out_colored_register_line(str) + """ + return _idaapi.out_colored_register_line(*args) + +def OutLine(*args): + """ + OutLine(s) + """ + return _idaapi.OutLine(*args) + +def OutChar(*args): + """ + OutChar(c) + """ + return _idaapi.OutChar(*args) + +def OutLong(*args): + """ + OutLong(Word, radix) + """ + return _idaapi.OutLong(*args) + +def out_long(*args): + """ + out_long(v, radix) + """ + return _idaapi.out_long(*args) + +def ua_dodata2(*args): + """ + ua_dodata2(opoff, ea, dtype) -> bool + """ + return _idaapi.ua_dodata2(*args) + +def ua_add_cref(*args): + """ + ua_add_cref(opoff, to, type) + """ + return _idaapi.ua_add_cref(*args) + +def ua_add_dref(*args): + """ + ua_add_dref(opoff, to, type) + """ + return _idaapi.ua_add_dref(*args) + +def get_dtyp_flag(*args): + """ + get_dtyp_flag(dtype) -> flags_t + """ + return _idaapi.get_dtyp_flag(*args) + +def get_dtyp_size(*args): + """ + get_dtyp_size(dtype) -> size_t + """ + return _idaapi.get_dtyp_size(*args) + +def get_dtyp_by_size(*args): + """ + get_dtyp_by_size(size) -> char + """ + return _idaapi.get_dtyp_by_size(*args) + +def create_insn(*args): + """ + create_insn(ea) -> int + """ + return _idaapi.create_insn(*args) + +def decode_insn(*args): + """ + decode_insn(ea) -> int + """ + return _idaapi.decode_insn(*args) + +def ua_outop2(*args): + """ + ua_outop2(ea, n, flags=0) -> bool + """ + return _idaapi.ua_outop2(*args) + +def ua_mnem(*args): + """ + ua_mnem(ea) -> char const * + """ + return _idaapi.ua_mnem(*args) + +def decode_prev_insn(*args): + """ + decode_prev_insn(ea) -> ea_t + """ + return _idaapi.decode_prev_insn(*args) + +def guess_table_address(*args): + """ + guess_table_address() -> ea_t + """ + return _idaapi.guess_table_address(*args) + +def guess_table_size(*args): + """ + guess_table_size(jump_table) -> asize_t + """ + return _idaapi.guess_table_size(*args) + +def ua_dodata(*args): + """ + ua_dodata(ea, dtype) + """ + return _idaapi.ua_dodata(*args) + +def ua_outop(*args): + """ + ua_outop(ea, n) -> bool + """ + return _idaapi.ua_outop(*args) + +def ua_ana0(*args): + """ + ua_ana0(ea) -> int + """ + return _idaapi.ua_ana0(*args) + +def ua_code(*args): + """ + ua_code(ea) -> int + """ + return _idaapi.ua_code(*args) + +def init_output_buffer(*args): + """ + init_output_buffer(size=1024) -> PyObject * + + + This function initialize an output buffer with the given size. + It should be called before using any out_xxxx() functions. + @return: It returns a string. This string should then be passed to MakeLine(). + This function could return None if it failed to create a buffer with the given size. + """ + return _idaapi.init_output_buffer(*args) + +def term_output_buffer(*args): + """ + term_output_buffer() + + + Use this function to terminate an output buffer. + """ + return _idaapi.term_output_buffer(*args) + +def decode_preceding_insn(*args): + """ + decode_preceding_insn(ea) -> PyObject * + + + Decodes the preceding instruction. Please check ua.hpp / decode_preceding_insn() + @param ea: current ea + @return: tuple(preceeding_ea or BADADDR, farref = Boolean) + """ + return _idaapi.decode_preceding_insn(*args) + +def OutValue(*args): + """ + OutValue(x, outflags=0) -> flags_t + + + Output immediate value + @param op: operand (of type op_t) + @return: flags of the output value + -1: value is output with COLOR_ERROR + 0: value is output as a number or character or segment + """ + return _idaapi.OutValue(*args) + +def get_stkvar(*args): + """ + get_stkvar(py_op, py_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 + """ + return _idaapi.get_stkvar(*args) + +def add_stkvar3(*args): + """ + add_stkvar3(py_op, py_v, flags) -> bool + + + Automatically add stack variable if doesn't exist + Processor modules should use ua_stkvar2() + @param op: reference to instruction operand + @param v: immediate value in the operand (usually op.addr) + @param flags: combination of STKVAR_... constants + @return: Boolean + """ + return _idaapi.add_stkvar3(*args) + +def apply_type_to_stkarg(*args): + """ + apply_type_to_stkarg(py_op, py_uv, py_type, name) -> bool + + + Apply type information to a stack variable + + @param op: reference to instruction operand + @param v: immediate value in the operand (usually op.addr) + @param type: type string. Retrieve from idc.ParseType("type string", flags)[1] + @param name: stack variable name + + @return: Boolean + """ + return _idaapi.apply_type_to_stkarg(*args) + +def OutImmChar(*args): + """ + OutImmChar(x) + + + Output operand value as a commented character constant + @param op: operand (of type op_t) + @return: None + """ + return _idaapi.OutImmChar(*args) + +def ua_stkvar2(*args): + """ + ua_stkvar2(x, v, flags) -> bool + + + Create or modify a stack variable in the function frame. + Please check ua.hpp / ua_stkvar2() + @param op: operand (of type op_t) + @return: None + """ + return _idaapi.ua_stkvar2(*args) + +def ua_add_off_drefs(*args): + """ + ua_add_off_drefs(py_op, type) -> ea_t + + + Add xrefs for offset operand of the current instruction + Please check ua.hpp / ua_add_off_drefs() + @param op: operand (of type op_t) + @return: None + """ + return _idaapi.ua_add_off_drefs(*args) + +def ua_add_off_drefs2(*args): + """ + ua_add_off_drefs2(py_op, type, outf) -> ea_t + + + Add xrefs for offset operand of the current instruction + Please check ua.hpp / ua_add_off_drefs2() + @return: ea_t + """ + return _idaapi.ua_add_off_drefs2(*args) + +def out_name_expr(*args): + """ + out_name_expr(py_op, ea, py_off) -> bool + + + Output a name expression + @param op: operand (of type op_t) + @param ea: address of expression + @param off: the value of name expression. this parameter is used only to + check that the name expression will have the wanted value. + You may pass BADADDR for this parameter. + @return: true if the name expression has been produced + """ + return _idaapi.out_name_expr(*args) + +def construct_macro(*args): + """ + construct_macro(enable, build_macro) -> bool + + + See ua.hpp's construct_macro(). + """ + return _idaapi.construct_macro(*args) + +def insn_t_get_op_link(*args): + """ + insn_t_get_op_link(py_insn_lnk, i) -> PyObject * + """ + return _idaapi.insn_t_get_op_link(*args) + +def insn_t_create(*args): + """ + insn_t_create() -> PyObject * + """ + return _idaapi.insn_t_create(*args) + +def op_t_create(*args): + """ + op_t_create() -> PyObject * + """ + return _idaapi.op_t_create(*args) + +def op_t_assign(*args): + """ + op_t_assign(self, other) -> bool + """ + return _idaapi.op_t_assign(*args) + +def insn_t_assign(*args): + """ + insn_t_assign(self, other) -> bool + """ + return _idaapi.insn_t_assign(*args) + +def op_t_destroy(*args): + """ + op_t_destroy(py_obj) -> bool + """ + return _idaapi.op_t_destroy(*args) + +def insn_t_destroy(*args): + """ + insn_t_destroy(py_obj) -> bool + """ + return _idaapi.insn_t_destroy(*args) + +def py_get_global_cmd_link(*args): + """ + py_get_global_cmd_link() -> PyObject * + """ + return _idaapi.py_get_global_cmd_link(*args) + +def insn_t_is_canon_insn(*args): + """ + insn_t_is_canon_insn(itype) -> PyObject * + """ + return _idaapi.insn_t_is_canon_insn(*args) + +def insn_t_get_canon_feature(*args): + """ + insn_t_get_canon_feature(itype) -> PyObject * + """ + return _idaapi.insn_t_get_canon_feature(*args) + +def insn_t_get_canon_mnem(*args): + """ + insn_t_get_canon_mnem(itype) -> PyObject * + """ + return _idaapi.insn_t_get_canon_mnem(*args) + +def insn_t_get_cs(*args): + """ + insn_t_get_cs(self) -> PyObject * + """ + return _idaapi.insn_t_get_cs(*args) + +def insn_t_set_cs(*args): + """ + insn_t_set_cs(self, value) + """ + return _idaapi.insn_t_set_cs(*args) + +def insn_t_get_ip(*args): + """ + insn_t_get_ip(self) -> PyObject * + """ + return _idaapi.insn_t_get_ip(*args) + +def insn_t_set_ip(*args): + """ + insn_t_set_ip(self, value) + """ + return _idaapi.insn_t_set_ip(*args) + +def insn_t_get_ea(*args): + """ + insn_t_get_ea(self) -> PyObject * + """ + return _idaapi.insn_t_get_ea(*args) + +def insn_t_set_ea(*args): + """ + insn_t_set_ea(self, value) + """ + return _idaapi.insn_t_set_ea(*args) + +def insn_t_get_itype(*args): + """ + insn_t_get_itype(self) -> PyObject * + """ + return _idaapi.insn_t_get_itype(*args) + +def insn_t_set_itype(*args): + """ + insn_t_set_itype(self, value) + """ + return _idaapi.insn_t_set_itype(*args) + +def insn_t_get_size(*args): + """ + insn_t_get_size(self) -> PyObject * + """ + return _idaapi.insn_t_get_size(*args) + +def insn_t_set_size(*args): + """ + insn_t_set_size(self, value) + """ + return _idaapi.insn_t_set_size(*args) + +def insn_t_get_auxpref(*args): + """ + insn_t_get_auxpref(self) -> PyObject * + """ + return _idaapi.insn_t_get_auxpref(*args) + +def insn_t_set_auxpref(*args): + """ + insn_t_set_auxpref(self, value) + """ + return _idaapi.insn_t_set_auxpref(*args) + +def insn_t_get_segpref(*args): + """ + insn_t_get_segpref(self) -> PyObject * + """ + return _idaapi.insn_t_get_segpref(*args) + +def insn_t_set_segpref(*args): + """ + insn_t_set_segpref(self, value) + """ + return _idaapi.insn_t_set_segpref(*args) + +def insn_t_get_insnpref(*args): + """ + insn_t_get_insnpref(self) -> PyObject * + """ + return _idaapi.insn_t_get_insnpref(*args) + +def insn_t_set_insnpref(*args): + """ + insn_t_set_insnpref(self, value) + """ + return _idaapi.insn_t_set_insnpref(*args) + +def insn_t_get_flags(*args): + """ + insn_t_get_flags(self) -> PyObject * + """ + return _idaapi.insn_t_get_flags(*args) + +def insn_t_set_flags(*args): + """ + insn_t_set_flags(self, value) + """ + return _idaapi.insn_t_set_flags(*args) + +def op_t_get_n(*args): + """ + op_t_get_n(self) -> PyObject * + """ + return _idaapi.op_t_get_n(*args) + +def op_t_set_n(*args): + """ + op_t_set_n(self, value) + """ + return _idaapi.op_t_set_n(*args) + +def op_t_get_type(*args): + """ + op_t_get_type(self) -> PyObject * + """ + return _idaapi.op_t_get_type(*args) + +def op_t_set_type(*args): + """ + op_t_set_type(self, value) + """ + return _idaapi.op_t_set_type(*args) + +def op_t_get_offb(*args): + """ + op_t_get_offb(self) -> PyObject * + """ + return _idaapi.op_t_get_offb(*args) + +def op_t_set_offb(*args): + """ + op_t_set_offb(self, value) + """ + return _idaapi.op_t_set_offb(*args) + +def op_t_get_offo(*args): + """ + op_t_get_offo(self) -> PyObject * + """ + return _idaapi.op_t_get_offo(*args) + +def op_t_set_offo(*args): + """ + op_t_set_offo(self, value) + """ + return _idaapi.op_t_set_offo(*args) + +def op_t_get_flags(*args): + """ + op_t_get_flags(self) -> PyObject * + """ + return _idaapi.op_t_get_flags(*args) + +def op_t_set_flags(*args): + """ + op_t_set_flags(self, value) + """ + return _idaapi.op_t_set_flags(*args) + +def op_t_get_dtyp(*args): + """ + op_t_get_dtyp(self) -> PyObject * + """ + return _idaapi.op_t_get_dtyp(*args) + +def op_t_set_dtyp(*args): + """ + op_t_set_dtyp(self, value) + """ + return _idaapi.op_t_set_dtyp(*args) + +def op_t_get_reg_phrase(*args): + """ + op_t_get_reg_phrase(self) -> PyObject * + """ + return _idaapi.op_t_get_reg_phrase(*args) + +def op_t_set_reg_phrase(*args): + """ + op_t_set_reg_phrase(self, value) + """ + return _idaapi.op_t_set_reg_phrase(*args) + +def op_t_get_value(*args): + """ + op_t_get_value(self) -> PyObject * + """ + return _idaapi.op_t_get_value(*args) + +def op_t_set_value(*args): + """ + op_t_set_value(self, value) + """ + return _idaapi.op_t_set_value(*args) + +def op_t_get_addr(*args): + """ + op_t_get_addr(self) -> PyObject * + """ + return _idaapi.op_t_get_addr(*args) + +def op_t_set_addr(*args): + """ + op_t_set_addr(self, value) + """ + return _idaapi.op_t_set_addr(*args) + +def op_t_get_specval(*args): + """ + op_t_get_specval(self) -> PyObject * + """ + return _idaapi.op_t_get_specval(*args) + +def op_t_set_specval(*args): + """ + op_t_set_specval(self, value) + """ + return _idaapi.op_t_set_specval(*args) + +def op_t_get_specflag1(*args): + """ + op_t_get_specflag1(self) -> PyObject * + """ + return _idaapi.op_t_get_specflag1(*args) + +def op_t_set_specflag1(*args): + """ + op_t_set_specflag1(self, value) + """ + return _idaapi.op_t_set_specflag1(*args) + +def op_t_get_specflag2(*args): + """ + op_t_get_specflag2(self) -> PyObject * + """ + return _idaapi.op_t_get_specflag2(*args) + +def op_t_set_specflag2(*args): + """ + op_t_set_specflag2(self, value) + """ + return _idaapi.op_t_set_specflag2(*args) + +def op_t_get_specflag3(*args): + """ + op_t_get_specflag3(self) -> PyObject * + """ + return _idaapi.op_t_get_specflag3(*args) + +def op_t_set_specflag3(*args): + """ + op_t_set_specflag3(self, value) + """ + return _idaapi.op_t_set_specflag3(*args) + +def op_t_get_specflag4(*args): + """ + op_t_get_specflag4(self) -> PyObject * + """ + return _idaapi.op_t_get_specflag4(*args) + +def op_t_set_specflag4(*args): + """ + op_t_set_specflag4(self, value) + """ + return _idaapi.op_t_set_specflag4(*args) +# + +# ----------------------------------------------------------------------- +class op_t(py_clinked_object_t): + """ + Class representing operands + """ + def __init__(self, lnk = None): + py_clinked_object_t.__init__(self, lnk) + + def _create_clink(self): + return _idaapi.op_t_create() + + def _del_clink(self, lnk): + return _idaapi.op_t_destroy(lnk) + + def assign(self, other): + """ + Copies the contents of 'other' to 'self' + """ + return _idaapi.op_t_assign(self, other) + + def __eq__(self, other): + """ + Checks if two register operands are equal by checking the register number and its dtype + """ + return (self.reg == other.reg) and (self.dtyp == other.dtyp) + + def is_reg(self, r): + """ + Checks if the register operand is the given processor register + """ + return self.type == o_reg and self.reg == r + + def has_reg(self, r): + """ + Checks if the operand accesses the given processor register + """ + return self.reg == r.reg + + # + # Autogenerated + # + def __get_n__(self): + return _idaapi.op_t_get_n(self) + def __set_n__(self, v): + _idaapi.op_t_set_n(self, v) + def __get_type__(self): + return _idaapi.op_t_get_type(self) + def __set_type__(self, v): + _idaapi.op_t_set_type(self, v) + def __get_offb__(self): + return _idaapi.op_t_get_offb(self) + def __set_offb__(self, v): + _idaapi.op_t_set_offb(self, v) + def __get_offo__(self): + return _idaapi.op_t_get_offo(self) + def __set_offo__(self, v): + _idaapi.op_t_set_offo(self, v) + def __get_flags__(self): + return _idaapi.op_t_get_flags(self) + def __set_flags__(self, v): + _idaapi.op_t_set_flags(self, v) + def __get_dtyp__(self): + return _idaapi.op_t_get_dtyp(self) + def __set_dtyp__(self, v): + _idaapi.op_t_set_dtyp(self, v) + def __get_reg_phrase__(self): + return _idaapi.op_t_get_reg_phrase(self) + def __set_reg_phrase__(self, v): + _idaapi.op_t_set_reg_phrase(self, v) + def __get_value__(self): + return _idaapi.op_t_get_value(self) + def __set_value__(self, v): + _idaapi.op_t_set_value(self, v) + def __get_addr__(self): + return _idaapi.op_t_get_addr(self) + def __set_addr__(self, v): + _idaapi.op_t_set_addr(self, v) + def __get_specval__(self): + return _idaapi.op_t_get_specval(self) + def __set_specval__(self, v): + _idaapi.op_t_set_specval(self, v) + def __get_specflag1__(self): + return _idaapi.op_t_get_specflag1(self) + def __set_specflag1__(self, v): + _idaapi.op_t_set_specflag1(self, v) + def __get_specflag2__(self): + return _idaapi.op_t_get_specflag2(self) + def __set_specflag2__(self, v): + _idaapi.op_t_set_specflag2(self, v) + def __get_specflag3__(self): + return _idaapi.op_t_get_specflag3(self) + def __set_specflag3__(self, v): + _idaapi.op_t_set_specflag3(self, v) + def __get_specflag4__(self): + return _idaapi.op_t_get_specflag4(self) + def __set_specflag4__(self, v): + _idaapi.op_t_set_specflag4(self, v) + + n = property(__get_n__, __set_n__) + type = property(__get_type__, __set_type__) + offb = property(__get_offb__, __set_offb__) + offo = property(__get_offo__, __set_offo__) + flags = property(__get_flags__, __set_flags__) + dtyp = property(__get_dtyp__, __set_dtyp__) + reg = property(__get_reg_phrase__, __set_reg_phrase__) + phrase = property(__get_reg_phrase__, __set_reg_phrase__) + value = property(__get_value__, __set_value__) + addr = property(__get_addr__, __set_addr__) + specval = property(__get_specval__, __set_specval__) + specflag1 = property(__get_specflag1__, __set_specflag1__) + specflag2 = property(__get_specflag2__, __set_specflag2__) + specflag3 = property(__get_specflag3__, __set_specflag3__) + specflag4 = property(__get_specflag4__, __set_specflag4__) + +# ----------------------------------------------------------------------- +class insn_t(py_clinked_object_t): + """ + Class representing instructions + """ + def __init__(self, lnk = None): + py_clinked_object_t.__init__(self, lnk) + + # Create linked operands + self.Operands = [] + for i in xrange(0, UA_MAXOP): + self.Operands.append(op_t(insn_t_get_op_link(self.clink, i))) + + # Convenience operand reference objects + self.Op1 = self.Operands[0] + self.Op2 = self.Operands[1] + self.Op3 = self.Operands[2] + self.Op4 = self.Operands[3] + self.Op5 = self.Operands[4] + self.Op6 = self.Operands[5] + + def assign(self, other): + """ + Copies the contents of 'other' to 'self' + """ + return _idaapi.insn_t_assign(self, other) + +# +# def copy(self): +# """Returns a new copy of this class""" +# pass +# + + def _create_clink(self): + return _idaapi.insn_t_create() + + + def _del_clink(self, lnk): + return _idaapi.insn_t_destroy(lnk) + + + def __iter__(self): + return (self.Operands[idx] for idx in xrange(0, UA_MAXOP)) + + + def __getitem__(self, idx): + """ + Operands can be accessed directly as indexes + @return op_t: Returns an operand of type op_t + """ + if idx >= UA_MAXOP: + raise KeyError + else: + return self.Operands[idx] + + def is_macro(self): + return self.flags & INSN_MACRO != 0 + + def is_canon_insn(self): + return _idaapi.insn_t_is_canon_insn(self.itype) + + def get_canon_feature(self): + return _idaapi.insn_t_get_canon_feature(self.itype) + + def get_canon_mnem(self): + return _idaapi.insn_t_get_canon_mnem(self.itype) + + # + # Autogenerated + # + def __get_cs__(self): + return _idaapi.insn_t_get_cs(self) + def __set_cs__(self, v): + _idaapi.insn_t_set_cs(self, v) + def __get_ip__(self): + return _idaapi.insn_t_get_ip(self) + def __set_ip__(self, v): + _idaapi.insn_t_set_ip(self, v) + def __get_ea__(self): + return _idaapi.insn_t_get_ea(self) + def __set_ea__(self, v): + _idaapi.insn_t_set_ea(self, v) + def __get_itype__(self): + return _idaapi.insn_t_get_itype(self) + def __set_itype__(self, v): + _idaapi.insn_t_set_itype(self, v) + def __get_size__(self): + return _idaapi.insn_t_get_size(self) + def __set_size__(self, v): + _idaapi.insn_t_set_size(self, v) + def __get_auxpref__(self): + return _idaapi.insn_t_get_auxpref(self) + def __set_auxpref__(self, v): + _idaapi.insn_t_set_auxpref(self, v) + def __get_segpref__(self): + return _idaapi.insn_t_get_segpref(self) + def __set_segpref__(self, v): + _idaapi.insn_t_set_segpref(self, v) + def __get_insnpref__(self): + return _idaapi.insn_t_get_insnpref(self) + def __set_insnpref__(self, v): + _idaapi.insn_t_set_insnpref(self, v) + def __get_flags__(self): + return _idaapi.insn_t_get_flags(self) + def __set_flags__(self, v): + _idaapi.insn_t_set_flags(self, v) + + cs = property(__get_cs__, __set_cs__) + ip = property(__get_ip__, __set_ip__) + ea = property(__get_ea__, __set_ea__) + itype = property(__get_itype__, __set_itype__) + size = property(__get_size__, __set_size__) + auxpref = property(__get_auxpref__, __set_auxpref__) + segpref = property(__get_segpref__, __set_segpref__) + insnpref = property(__get_insnpref__, __set_insnpref__) + flags = property(__get_flags__, __set_flags__) + + +#---------------------------------------------------------------------------- +# P R O C E S S O R M O D U L E S C O N S T A N T S +#---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------- +# processor_t related constants + +CUSTOM_CMD_ITYPE = 0x8000 +REG_SPOIL = 0x80000000 + +REAL_ERROR_FORMAT = -1 # not supported format for current .idp +REAL_ERROR_RANGE = -2 # number too big (small) for store (mem NOT modifyed) +REAL_ERROR_BADDATA = -3 # illegal real data for load (IEEE data not filled) + +# +# Check whether the operand is relative to stack pointer or frame pointer. +# This function is used to determine how to output a stack variable +# This function may be absent. If it is absent, then all operands +# are sp based by default. +# Define this function only if some stack references use frame pointer +# instead of stack pointer. +# returns flags: +OP_FP_BASED = 0x00000000 # operand is FP based +OP_SP_BASED = 0x00000001 # operand is SP based +OP_SP_ADD = 0x00000000 # operand value is added to the pointer +OP_SP_SUB = 0x00000002 # operand value is substracted from the pointer + +# processor_t.id +PLFM_386 = 0 # Intel 80x86 +PLFM_Z80 = 1 # 8085, Z80 +PLFM_I860 = 2 # Intel 860 +PLFM_8051 = 3 # 8051 +PLFM_TMS = 4 # Texas Instruments TMS320C5x +PLFM_6502 = 5 # 6502 +PLFM_PDP = 6 # PDP11 +PLFM_68K = 7 # Motoroal 680x0 +PLFM_JAVA = 8 # Java +PLFM_6800 = 9 # Motorola 68xx +PLFM_ST7 = 10 # SGS-Thomson ST7 +PLFM_MC6812 = 11 # Motorola 68HC12 +PLFM_MIPS = 12 # MIPS +PLFM_ARM = 13 # Advanced RISC Machines +PLFM_TMSC6 = 14 # Texas Instruments TMS320C6x +PLFM_PPC = 15 # PowerPC +PLFM_80196 = 16 # Intel 80196 +PLFM_Z8 = 17 # Z8 +PLFM_SH = 18 # Renesas (formerly Hitachi) SuperH +PLFM_NET = 19 # Microsoft Visual Studio.Net +PLFM_AVR = 20 # Atmel 8-bit RISC processor(s) +PLFM_H8 = 21 # Hitachi H8/300, H8/2000 +PLFM_PIC = 22 # Microchip's PIC +PLFM_SPARC = 23 # SPARC +PLFM_ALPHA = 24 # DEC Alpha +PLFM_HPPA = 25 # Hewlett-Packard PA-RISC +PLFM_H8500 = 26 # Hitachi H8/500 +PLFM_TRICORE = 27 # Tasking Tricore +PLFM_DSP56K = 28 # Motorola DSP5600x +PLFM_C166 = 29 # Siemens C166 family +PLFM_ST20 = 30 # SGS-Thomson ST20 +PLFM_IA64 = 31 # Intel Itanium IA64 +PLFM_I960 = 32 # Intel 960 +PLFM_F2MC = 33 # Fujistu F2MC-16 +PLFM_TMS320C54 = 34 # Texas Instruments TMS320C54xx +PLFM_TMS320C55 = 35 # Texas Instruments TMS320C55xx +PLFM_TRIMEDIA = 36 # Trimedia +PLFM_M32R = 37 # Mitsubishi 32bit RISC +PLFM_NEC_78K0 = 38 # NEC 78K0 +PLFM_NEC_78K0S = 39 # NEC 78K0S +PLFM_M740 = 40 # Mitsubishi 8bit +PLFM_M7700 = 41 # Mitsubishi 16bit +PLFM_ST9 = 42 # ST9+ +PLFM_FR = 43 # Fujitsu FR Family +PLFM_MC6816 = 44 # Motorola 68HC16 +PLFM_M7900 = 45 # Mitsubishi 7900 +PLFM_TMS320C3 = 46 # Texas Instruments TMS320C3 +PLFM_KR1878 = 47 # Angstrem KR1878 +PLFM_AD218X = 48 # Analog Devices ADSP 218X +PLFM_OAKDSP = 49 # Atmel OAK DSP +PLFM_TLCS900 = 50 # Toshiba TLCS-900 +PLFM_C39 = 51 # Rockwell C39 +PLFM_CR16 = 52 # NSC CR16 +PLFM_MN102L00 = 53 # Panasonic MN10200 +PLFM_TMS320C1X = 54 # Texas Instruments TMS320C1x +PLFM_NEC_V850X = 55 # NEC V850 and V850ES/E1/E2 +PLFM_SCR_ADPT = 56 # Processor module adapter for processor modules written in scripting languages +PLFM_EBC = 57 # EFI Bytecode +PLFM_MSP430 = 58 # Texas Instruments MSP430 +PLFM_SPU = 59 # Cell Broadband Engine Synergistic Processor Unit + +# +# processor_t.flag +# +PR_SEGS = 0x000001 # has segment registers? +PR_USE32 = 0x000002 # supports 32-bit addressing? +PR_DEFSEG32 = 0x000004 # segments are 32-bit by default +PR_RNAMESOK = 0x000008 # allow to user register names for location names +PR_ADJSEGS = 0x000020 # IDA may adjust segments moving their starting/ending addresses. +PR_DEFNUM = 0x0000C0 # default number representation: +PRN_HEX = 0x000000 # hex +PRN_OCT = 0x000040 # octal +PRN_DEC = 0x000080 # decimal +PRN_BIN = 0x0000C0 # binary +PR_WORD_INS = 0x000100 # instruction codes are grouped 2bytes in binrary line prefix +PR_NOCHANGE = 0x000200 # The user can't change segments and code/data attributes (display only) +PR_ASSEMBLE = 0x000400 # Module has a built-in assembler and understands IDP_ASSEMBLE +PR_ALIGN = 0x000800 # All data items should be aligned properly +PR_TYPEINFO = 0x001000 # the processor module supports + # type information callbacks + # ALL OF THEM SHOULD BE IMPLEMENTED! + # (the ones >= decorate_name) +PR_USE64 = 0x002000 # supports 64-bit addressing? +PR_SGROTHER = 0x004000 # the segment registers don't contain + # the segment selectors, something else +PR_STACK_UP = 0x008000 # the stack grows up +PR_BINMEM = 0x010000 # 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 +PR_SEGTRANS = 0x020000 # the processor module supports + # the segment translation feature + # (it means it calculates the code + # addresses using the codeSeg() function) +PR_CHK_XREF = 0x040000 # don't allow near xrefs between segments + # with different bases +PR_NO_SEGMOVE = 0x080000 # the processor module doesn't support move_segm() + # (i.e. the user can't move segments) +PR_FULL_HIFXP = 0x100000 # REF_VHIGH operand value contains full operand + # not only the high bits. Meaningful if ph.high_fixup_bits +PR_USE_ARG_TYPES = 0x200000 # use ph.use_arg_types callback +PR_SCALE_STKVARS = 0x400000 # use ph.get_stkvar_scale callback +PR_DELAYED = 0x800000 # has delayed jumps and calls +PR_ALIGN_INSN = 0x1000000 # allow ida to create alignment instructions + # arbirtrarily. Since these instructions + # might lead to other wrong instructions + # and spoil the listing, IDA does not create + # them by default anymore +PR_PURGING = 0x2000000 # there are calling conventions which may + # purge bytes from the stack +PR_CNDINSNS = 0x4000000 # has conditional instructions +PR_USE_TBYTE = 0x8000000 # BTMT_SPECFLT means _TBYTE type +PR_DEFSEG64 = 0x10000000 # segments are 64-bit by default + + +# ---------------------------------------------------------------------- +# +# Misc constants +# +UA_MAXOP = 6 +""" +The maximum number of operands in the insn_t structure +""" + +# Create 'cmd' into the global scope +cmd = insn_t(_idaapi.py_get_global_cmd_link()) +""" +cmd is a global variable of type insn_t. It is contains information about the last decoded instruction. +This variable is also filled by processor modules when they decode instructions. +""" + +# ---------------------------------------------------------------------- +# instruc_t related constants + +# +# instruc_t.feature +# +CF_STOP = 0x00001 # Instruction doesn't pass execution to the next instruction +CF_CALL = 0x00002 # CALL instruction (should make a procedure here) +CF_CHG1 = 0x00004 # The instruction modifies the first operand +CF_CHG2 = 0x00008 # The instruction modifies the second operand +CF_CHG3 = 0x00010 # The instruction modifies the third operand +CF_CHG4 = 0x00020 # The instruction modifies 4 operand +CF_CHG5 = 0x00040 # The instruction modifies 5 operand +CF_CHG6 = 0x00080 # The instruction modifies 6 operand +CF_USE1 = 0x00100 # The instruction uses value of the first operand +CF_USE2 = 0x00200 # The instruction uses value of the second operand +CF_USE3 = 0x00400 # The instruction uses value of the third operand +CF_USE4 = 0x00800 # The instruction uses value of the 4 operand +CF_USE5 = 0x01000 # The instruction uses value of the 5 operand +CF_USE6 = 0x02000 # The instruction uses value of the 6 operand +CF_JUMP = 0x04000 # The instruction passes execution using indirect jump or call (thus needs additional analysis) +CF_SHFT = 0x08000 # Bit-shift instruction (shl,shr...) +CF_HLL = 0x10000 # Instruction may be present in a high level language function. + +# ---------------------------------------------------------------------- +# op_t related constants + +# +# op_t.type +# Description Data field +o_void = 0 # No Operand ---------- +o_reg = 1 # General Register (al,ax,es,ds...) reg +o_mem = 2 # Direct Memory Reference (DATA) addr +o_phrase = 3 # Memory Ref [Base Reg + Index Reg] phrase +o_displ = 4 # Memory Reg [Base Reg + Index Reg + Displacement] phrase+addr +o_imm = 5 # Immediate Value value +o_far = 6 # Immediate Far Address (CODE) addr +o_near = 7 # Immediate Near Address (CODE) addr +o_idpspec0 = 8 # Processor specific type +o_idpspec1 = 9 # Processor specific type +o_idpspec2 = 10 # Processor specific type +o_idpspec3 = 11 # Processor specific type +o_idpspec4 = 12 # Processor specific type +o_idpspec5 = 13 # Processor specific type + # There can be more processor specific types + +# +# op_t.dtyp +# +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_packreal = 6 # packed real format for mc68040 +dt_qword = 7 # 64 bit +dt_byte16 = 8 # 128 bit +dt_code = 9 # ptr to code (not used?) +dt_void = 10 # none +dt_fword = 11 # 48 bit +dt_bitfild = 12 # bit field (mc680x0) +dt_string = 13 # pointer to asciiz string +dt_unicode = 14 # pointer to unicode string +dt_3byte = 15 # 3-byte data +dt_ldbl = 16 # long double (which may be different from tbyte) +dt_byte32 = 17 # 256 bit +dt_byte64 = 18 # 512 bit + +# +# op_t.flags +# +OF_NO_BASE_DISP = 0x80 # o_displ: base displacement doesn't exist meaningful only for o_displ type if set, base displacement (x.addr) doesn't exist. +OF_OUTER_DISP = 0x40 # o_displ: outer displacement exists meaningful only for o_displ type if set, outer displacement (x.value) exists. +PACK_FORM_DEF = 0x20 # !o_reg + dt_packreal: packed factor defined +OF_NUMBER = 0x10 # can be output as number only if set, the operand can be converted to a number only +OF_SHOW = 0x08 # should the operand be displayed? if clear, the operand is hidden and should not be displayed + +# +# insn_t.flags +# +INSN_MACRO = 0x01 # macro instruction +INSN_MODMAC = 0x02 # macros: may modify the database to make room for the macro insn + +# +# Set IDP options constants +# +IDPOPT_STR = 1 # string constant +IDPOPT_NUM = 2 # number +IDPOPT_BIT = 3 # bit, yes/no +IDPOPT_FLT = 4 # float +IDPOPT_I64 = 5 # 64bit number + +IDPOPT_OK = 0 # ok +IDPOPT_BADKEY = 1 # illegal keyword +IDPOPT_BADTYPE = 2 # illegal type of value +IDPOPT_BADVALUE = 3 # illegal value (bad range, for example) + +# ---------------------------------------------------------------------- +class processor_t(pyidc_opaque_object_t): + """ + Base class for all processor module scripts + """ + def __init__(self): + # Take a reference to 'cmd' + self.cmd = cmd + + def 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. + """ + return '\x01'.join(map(lambda t: '\x01'.join(t), zip(self.plnames, self.psnames))) + + def get_uFlag(self): + """ + Use this utility function to retrieve the 'uFlag' global variable + """ + return _idaapi.cvar.uFlag + + def get_auxpref(self): + """ + This function returns cmd.auxpref value + """ + return self.cmd.auxpref + + +# ---------------------------------------------------------------------- +class __ph(object): + id = property(lambda self: ph_get_id()) + cnbits = property(lambda self: ph_get_cnbits()) + dnbits = property(lambda self: ph_get_dnbits()) + flag = property(lambda self: ph_get_flag()) + high_fixup_bits = property(lambda self: ph_get_high_fixup_bits()) + icode_return = property(lambda self: ph_get_icode_return()) + instruc = property(lambda self: ph_get_instruc()) + instruc_end = property(lambda self: ph_get_instruc_end()) + instruc_start = property(lambda self: ph_get_instruc_start()) + regCodeSreg = property(lambda self: ph_get_regCodeSreg()) + regDataSreg = property(lambda self: ph_get_regDataSreg()) + regFirstSreg = property(lambda self: ph_get_regFirstSreg()) + regLastSreg = property(lambda self: ph_get_regLastSreg()) + regnames = property(lambda self: ph_get_regnames()) + segreg_size = property(lambda self: ph_get_segreg_size()) + tbyte_size = property(lambda self: ph_get_tbyte_size()) + version = property(lambda self: ph_get_version()) + +ph = __ph() + +# + +fl_U = _idaapi.fl_U +fl_CF = _idaapi.fl_CF +fl_CN = _idaapi.fl_CN +fl_JF = _idaapi.fl_JF +fl_JN = _idaapi.fl_JN +fl_USobsolete = _idaapi.fl_USobsolete +fl_F = _idaapi.fl_F +dr_U = _idaapi.dr_U +dr_O = _idaapi.dr_O +dr_W = _idaapi.dr_W +dr_R = _idaapi.dr_R +dr_T = _idaapi.dr_T +dr_I = _idaapi.dr_I +XREF_USER = _idaapi.XREF_USER +XREF_TAIL = _idaapi.XREF_TAIL +XREF_BASE = _idaapi.XREF_BASE +XREF_MASK = _idaapi.XREF_MASK +XREF_PASTEND = _idaapi.XREF_PASTEND + +def xrefchar(*args): + """ + xrefchar(xrtype) -> char + """ + return _idaapi.xrefchar(*args) + +def add_cref(*args): + """ + add_cref(frm, to, type) -> bool + """ + return _idaapi.add_cref(*args) + +def del_cref(*args): + """ + del_cref(frm, to, expand) -> int + """ + return _idaapi.del_cref(*args) + +def add_dref(*args): + """ + add_dref(frm, to, type) -> bool + """ + return _idaapi.add_dref(*args) + +def del_dref(*args): + """ + del_dref(frm, to) + """ + return _idaapi.del_dref(*args) +class xrefblk_t(object): + """ + Proxy of C++ xrefblk_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + frm = _swig_property(_idaapi.xrefblk_t_frm_get, _idaapi.xrefblk_t_frm_set) + to = _swig_property(_idaapi.xrefblk_t_to_get, _idaapi.xrefblk_t_to_set) + iscode = _swig_property(_idaapi.xrefblk_t_iscode_get, _idaapi.xrefblk_t_iscode_set) + type = _swig_property(_idaapi.xrefblk_t_type_get, _idaapi.xrefblk_t_type_set) + user = _swig_property(_idaapi.xrefblk_t_user_get, _idaapi.xrefblk_t_user_set) + def first_from(self, *args): + """ + first_from(self, _from, flags) -> bool + """ + return _idaapi.xrefblk_t_first_from(self, *args) + + def first_to(self, *args): + """ + first_to(self, _to, flags) -> bool + """ + return _idaapi.xrefblk_t_first_to(self, *args) + + def next_from(self, *args): + """ + next_from(self) -> bool + next_from(self, _from, _to, flags) -> bool + """ + return _idaapi.xrefblk_t_next_from(self, *args) + + def next_to(self, *args): + """ + next_to(self) -> bool + next_to(self, _from, _to, flags) -> bool + """ + return _idaapi.xrefblk_t_next_to(self, *args) + + def __init__(self, *args): + """ + __init__(self) -> xrefblk_t + """ + this = _idaapi.new_xrefblk_t(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _idaapi.delete_xrefblk_t + __del__ = lambda self : None; +xrefblk_t_swigregister = _idaapi.xrefblk_t_swigregister +xrefblk_t_swigregister(xrefblk_t) +XREF_ALL = _idaapi.XREF_ALL +XREF_FAR = _idaapi.XREF_FAR +XREF_DATA = _idaapi.XREF_DATA + + +def get_first_dref_from(*args): + """ + get_first_dref_from(frm) -> ea_t + """ + return _idaapi.get_first_dref_from(*args) + +def get_next_dref_from(*args): + """ + get_next_dref_from(frm, current) -> ea_t + """ + return _idaapi.get_next_dref_from(*args) + +def get_first_dref_to(*args): + """ + get_first_dref_to(to) -> ea_t + """ + return _idaapi.get_first_dref_to(*args) + +def get_next_dref_to(*args): + """ + get_next_dref_to(to, current) -> ea_t + """ + return _idaapi.get_next_dref_to(*args) + +def get_first_cref_from(*args): + """ + get_first_cref_from(frm) -> ea_t + """ + return _idaapi.get_first_cref_from(*args) + +def get_next_cref_from(*args): + """ + get_next_cref_from(frm, current) -> ea_t + """ + return _idaapi.get_next_cref_from(*args) + +def get_first_cref_to(*args): + """ + get_first_cref_to(to) -> ea_t + """ + return _idaapi.get_first_cref_to(*args) + +def get_next_cref_to(*args): + """ + get_next_cref_to(to, current) -> ea_t + """ + return _idaapi.get_next_cref_to(*args) + +def get_first_fcref_from(*args): + """ + get_first_fcref_from(frm) -> ea_t + """ + return _idaapi.get_first_fcref_from(*args) + +def get_next_fcref_from(*args): + """ + get_next_fcref_from(frm, current) -> ea_t + """ + return _idaapi.get_next_fcref_from(*args) + +def get_first_fcref_to(*args): + """ + get_first_fcref_to(to) -> ea_t + """ + return _idaapi.get_first_fcref_to(*args) + +def get_next_fcref_to(*args): + """ + get_next_fcref_to(to, current) -> ea_t + """ + return _idaapi.get_next_fcref_to(*args) + +def has_external_refs(*args): + """ + has_external_refs(pfn, ea) -> bool + """ + return _idaapi.has_external_refs(*args) + +def calc_switch_cases(*args): + """ + calc_switch_cases(insn_ea, py_swi) -> cases_and_targets_t + calc_switch_cases(insn_ea, si, casevec, targets) -> bool + + + 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 insn_ea: address of the 'indirect jump' instruction + @param si: switch information + + @return: a structure with 2 members: 'cases', and 'targets'. + """ + return _idaapi.calc_switch_cases(*args) + +def pygc_refresh(*args): + """ + pygc_refresh(self) + """ + return _idaapi.pygc_refresh(*args) + +def pygc_set_node_info(*args): + """ + pygc_set_node_info(self, py_node_idx, py_node_info, py_flags) + """ + return _idaapi.pygc_set_node_info(*args) + +def pygc_set_nodes_infos(*args): + """ + pygc_set_nodes_infos(self, values) + """ + return _idaapi.pygc_set_nodes_infos(*args) + +def pygc_get_node_info(*args): + """ + pygc_get_node_info(self, py_node_idx) -> PyObject * + """ + return _idaapi.pygc_get_node_info(*args) + +def pygc_del_nodes_infos(*args): + """ + pygc_del_nodes_infos(self, py_nodes) + """ + return _idaapi.pygc_del_nodes_infos(*args) + +def pygc_get_current_renderer_type(*args): + """ + pygc_get_current_renderer_type(self) -> PyObject * + """ + return _idaapi.pygc_get_current_renderer_type(*args) + +def pygc_set_current_renderer_type(*args): + """ + pygc_set_current_renderer_type(self, py_rt) + """ + return _idaapi.pygc_set_current_renderer_type(*args) + +def pygc_create_groups(*args): + """ + pygc_create_groups(self, groups_infos) -> PyObject * + """ + return _idaapi.pygc_create_groups(*args) + +def pygc_delete_groups(*args): + """ + pygc_delete_groups(self, groups, new_current) -> PyObject * + """ + return _idaapi.pygc_delete_groups(*args) + +def pygc_set_groups_visibility(*args): + """ + pygc_set_groups_visibility(self, groups, expand, new_current) -> PyObject * + """ + return _idaapi.pygc_set_groups_visibility(*args) + +def pycim_get_tform(*args): + """ + pycim_get_tform(self) -> TForm * + """ + return _idaapi.pycim_get_tform(*args) + +def pycim_get_tcustom_control(*args): + """ + pycim_get_tcustom_control(self) -> TCustomControl * + """ + return _idaapi.pycim_get_tcustom_control(*args) +# +class CustomIDAMemo(object): + def Refresh(self): + """ + Refreshes the graph. This causes the OnRefresh() to be called + """ + _idaapi.pygc_refresh(self) + + def GetCurrentRendererType(self): + return _idaapi.pygc_get_current_renderer_type(self) + + def SetCurrentRendererType(self, rtype): + """ + Set the current view's renderer. + + @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + """ + _idaapi.pygc_set_current_renderer_type(self, rtype) + + def 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. + """ + _idaapi.pygc_set_node_info(self, node_index, node_info, flags) + + def 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. + """ + _idaapi.pygc_set_nodes_infos(self, values) + + def GetNodeInfo(self, node): + """ + 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. + """ + return _idaapi.pygc_get_node_info(self, node) + + def DelNodesInfos(self, *nodes): + """ + Delete the properties for the given node(s). + + @param nodes: A list of node IDs + """ + return _idaapi.pygc_del_nodes_infos(self, nodes) + + def 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). + """ + return _idaapi.pygc_create_groups(self, groups_infos) + + def 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. + """ + return _idaapi.pygc_delete_groups(self, groups, new_current) + + def 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. + """ + return _idaapi.pygc_set_groups_visibility(self, groups, expand, new_current) + + def GetTForm(self): + """ + Return the TForm hosting this view. + + @return: The TForm that hosts this view, or None. + """ + return _idaapi.pycim_get_tform(self) + + def GetTCustomControl(self): + """ + Return the TCustomControl underlying this view. + + @return: The TCustomControl underlying this view, or None. + """ + return _idaapi.pycim_get_tcustom_control(self) + + +# + + +def pyidag_bind(*args): + """ + pyidag_bind(self) -> bool + """ + return _idaapi.pyidag_bind(*args) + +def pyidag_unbind(*args): + """ + pyidag_unbind(self) -> bool + """ + return _idaapi.pyidag_unbind(*args) +# +class IDAViewWrapper(CustomIDAMemo): + """ + This class wraps access to native IDA views. See kernwin.hpp file + """ + def __init__(self, title): + """ + Constructs the IDAViewWrapper object around the view + whose title is 'title'. + + @param title: The title of the existing IDA view. E.g., 'IDA View-A' + """ + self._title = title + + def Bind(self): + return _idaapi.pyidag_bind(self) + + def Unbind(self): + return _idaapi.pyidag_unbind(self) + +# + +NIF_BG_COLOR = _idaapi.NIF_BG_COLOR +NIF_FRAME_COLOR = _idaapi.NIF_FRAME_COLOR +NIF_EA = _idaapi.NIF_EA +NIF_TEXT = _idaapi.NIF_TEXT +NIF_ALL = _idaapi.NIF_ALL +class node_info_t(object): + """ + Proxy of C++ node_info_t class + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args): + """ + __init__(self) -> node_info_t + """ + this = _idaapi.new_node_info_t(*args) + try: self.this.append(this) + except: self.this = this + bg_color = _swig_property(_idaapi.node_info_t_bg_color_get, _idaapi.node_info_t_bg_color_set) + frame_color = _swig_property(_idaapi.node_info_t_frame_color_get, _idaapi.node_info_t_frame_color_set) + ea = _swig_property(_idaapi.node_info_t_ea_get, _idaapi.node_info_t_ea_set) + text = _swig_property(_idaapi.node_info_t_text_get, _idaapi.node_info_t_text_set) + def valid_bg_color(self, *args): + """ + valid_bg_color(self) -> bool + """ + return _idaapi.node_info_t_valid_bg_color(self, *args) + + def valid_frame_color(self, *args): + """ + valid_frame_color(self) -> bool + """ + return _idaapi.node_info_t_valid_frame_color(self, *args) + + def valid_ea(self, *args): + """ + valid_ea(self) -> bool + """ + return _idaapi.node_info_t_valid_ea(self, *args) + + def valid_text(self, *args): + """ + valid_text(self) -> bool + """ + return _idaapi.node_info_t_valid_text(self, *args) + + def get_flags_for_valid(self, *args): + """ + get_flags_for_valid(self) -> uint32 + """ + return _idaapi.node_info_t_get_flags_for_valid(self, *args) + + __swig_destroy__ = _idaapi.delete_node_info_t + __del__ = lambda self : None; +node_info_t_swigregister = _idaapi.node_info_t_swigregister +node_info_t_swigregister(node_info_t) + + +def get_node_info2(*args): + """ + get_node_info2(out, gid, node) -> bool + """ + return _idaapi.get_node_info2(*args) + +def set_node_info2(*args): + """ + set_node_info2(gid, node, ni, flags) + """ + return _idaapi.set_node_info2(*args) + +def del_node_info2(*args): + """ + del_node_info2(gid, node) + """ + return _idaapi.del_node_info2(*args) + +def clr_node_info2(*args): + """ + clr_node_info2(gid, node, flags) + """ + return _idaapi.clr_node_info2(*args) + +def set_node_info(*args): + """ + set_node_info(ea, node, pcolor, pea2, text) + """ + return _idaapi.set_node_info(*args) + +def get_node_info(*args): + """ + get_node_info(ea, node, pcolor, pea) -> char * + """ + return _idaapi.get_node_info(*args) + +def pyg_close(*args): + """ + pyg_close(self) + """ + return _idaapi.pyg_close(*args) + +def pyg_add_command(*args): + """ + pyg_add_command(self, title, hotkey) -> PyObject * + """ + return _idaapi.pyg_add_command(*args) + +def pyg_select_node(*args): + """ + pyg_select_node(self, nid) + """ + return _idaapi.pyg_select_node(*args) + +def pyg_show(*args): + """ + pyg_show(self) -> bool + """ + return _idaapi.pyg_show(*args) +# +class GraphViewer(CustomIDAMemo): + """ + This class wraps the user graphing facility provided by the graph.hpp file + """ + def __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? + """ + self._title = title + self._nodes = [] + self._edges = [] + self._close_open = close_open + + def AddNode(self, obj): + """ + Creates a node associated with the given object and returns the node id + """ + id = len(self._nodes) + self._nodes.append(obj) + return id + + def AddEdge(self, src_node, dest_node): + """ + Creates an edge between two given node ids + """ + self._edges.append( (src_node, dest_node) ) + + def Clear(self): + """ + Clears all the nodes and edges + """ + self._nodes = [] + self._edges = [] + + + def __iter__(self): + return (self._nodes[index] for index in xrange(0, len(self._nodes))) + + + def __getitem__(self, idx): + """ + Returns a reference to the object associated with this node id + """ + if idx >= len(self._nodes): + raise KeyError + else: + return self._nodes[idx] + + def Count(self): + """ + Returns the node count + """ + return len(self._nodes) + + def Close(self): + """ + Closes the graph. + It is possible to call Show() again (which will recreate the graph) + """ + _idaapi.pyg_close(self) + + def Show(self): + """ + Shows an existing graph or creates a new one + + @return: Boolean + """ + if self._close_open: + frm = _idaapi.find_tform(self._title) + if frm: + _idaapi.close_tform(frm, 0) + return _idaapi.pyg_show(self) + + def Select(self, node_id): + """ + Selects a node on the graph + """ + _idaapi.pyg_select_node(self, node_id) + + def AddCommand(self, title, hotkey): + """ + Deprecated: Use + - register_action() + - attach_action_to_popup() + """ + return _idaapi.pyg_add_command(self, title, hotkey) + + def 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. + """ + self.Clear() + + return True +# +# def OnGetText(self, node_id): +# """ +# Triggered when the graph viewer wants the text and color for a given node. +# This callback is triggered one time for a given node (the value will be cached and used later without calling Python). +# When you call refresh then again this callback will be called for each node. +# +# This callback is mandatory. +# +# @return: Return a string to describe the node text or return a tuple (node_text, node_color) to describe both text and color +# """ +# return str(self[node_id]) +# +# def OnActivate(self): +# """ +# Triggered when the graph window gets the focus +# @return: None +# """ +# 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 +# +# def OnHint(self, node_id): +# """ +# Triggered when the graph viewer wants to retrieve hint text associated with a given node +# +# @return: None if no hint is avail or a string designating the hint +# """ +# return "hint for " + str(node_id) +# +# def OnClose(self): +# """Triggered when the graph viewer window is being closed +# @return: None +# """ +# 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] +# return True +# +# def OnDblClick(self, node_id): +# """ +# Triggerd when a node is double-clicked. +# @return: False to ignore the click and True otherwise +# """ +# print "dblclicked on", self[node_id] +# return True +# +# def OnCommand(self, cmd_id): +# """ +# Deprecated +# """ +# pass +# +# + +class qfile_t(object): + """ + Proxy of C++ qfile_t class + + + A helper class to work with FILE related functions. + """ + thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + __idc_cvt_id__ = _swig_property(_idaapi.qfile_t___idc_cvt_id___get, _idaapi.qfile_t___idc_cvt_id___set) + def __init__(self, *args): + """ + __init__(self, rhs) -> qfile_t + __init__(self, pycobject=None) -> qfile_t + + + Closes the file + """ + this = _idaapi.new_qfile_t(*args) + try: self.this.append(this) + except: self.this = this + def opened(self, *args): + """ + opened(self) -> bool + + + Checks if the file is opened or not + """ + return _idaapi.qfile_t_opened(self, *args) + + def close(self, *args): + """ + close(self) + """ + return _idaapi.qfile_t_close(self, *args) + + __swig_destroy__ = _idaapi.delete_qfile_t + __del__ = lambda self : None; + def 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 + """ + return _idaapi.qfile_t_open(self, *args) + + def from_fp(*args): + """ + from_fp(fp) -> qfile_t + """ + return _idaapi.qfile_t_from_fp(*args) + + from_fp = staticmethod(from_fp) + def from_cobject(*args): + """ + from_cobject(pycobject) -> qfile_t + """ + return _idaapi.qfile_t_from_cobject(*args) + + from_cobject = staticmethod(from_cobject) + def tmpfile(*args): + """ + tmpfile() -> qfile_t + + + A static method to construct an instance using a temporary file + """ + return _idaapi.qfile_t_tmpfile(*args) + + tmpfile = staticmethod(tmpfile) + def get_fp(self, *args): + """ + get_fp(self) -> FILE * + """ + return _idaapi.qfile_t_get_fp(self, *args) + + def seek(self, *args): + """ + seek(self, offset, whence=SEEK_SET) -> int + + + Set input source position + @return: the new position (not 0 as fseek!) + """ + return _idaapi.qfile_t_seek(self, *args) + + def tell(self, *args): + """ + tell(self) -> int32 + + + Returns the current position + """ + return _idaapi.qfile_t_tell(self, *args) + + def readbytes(self, *args): + """ + readbytes(self, size, big_endian) -> PyObject * + + + Similar to read() but it respect the endianness + """ + return _idaapi.qfile_t_readbytes(self, *args) + + def read(self, *args): + """ + read(self, size) -> PyObject * + + + Reads from the file. Returns the buffer or None + """ + return _idaapi.qfile_t_read(self, *args) + + def gets(self, *args): + """ + gets(self, size) -> PyObject * + + + Reads a line from the input file. Returns the read line or None + """ + return _idaapi.qfile_t_gets(self, *args) + + def writebytes(self, *args): + """ + writebytes(self, py_buf, big_endian) -> int + + + Similar to write() but it respect the endianness + """ + return _idaapi.qfile_t_writebytes(self, *args) + + def write(self, *args): + """ + write(self, py_buf) -> int + + + Writes to the file. Returns 0 or the number of bytes written + """ + return _idaapi.qfile_t_write(self, *args) + + def puts(self, *args): + """ + puts(self, str) -> int + """ + return _idaapi.qfile_t_puts(self, *args) + + def size(self, *args): + """ + size(self) -> int32 + """ + return _idaapi.qfile_t_size(self, *args) + + def flush(self, *args): + """ + flush(self) -> int + + + Reads a single character from the file. Returns None if EOF or the read character + """ + return _idaapi.qfile_t_flush(self, *args) + + def filename(self, *args): + """ + filename(self) -> PyObject * + """ + return _idaapi.qfile_t_filename(self, *args) + + def get_char(self, *args): + """ + get_char(self) -> PyObject * + """ + return _idaapi.qfile_t_get_char(self, *args) + + def put_char(self, *args): + """ + put_char(self, chr) -> int + + + Writes a single character to the file + """ + return _idaapi.qfile_t_put_char(self, *args) + +qfile_t_swigregister = _idaapi.qfile_t_swigregister +qfile_t_swigregister(qfile_t) + +def qfile_t_from_fp(*args): + """ + qfile_t_from_fp(fp) -> qfile_t + """ + return _idaapi.qfile_t_from_fp(*args) + +def qfile_t_from_cobject(*args): + """ + qfile_t_from_cobject(pycobject) -> qfile_t + """ + return _idaapi.qfile_t_from_cobject(*args) + +def qfile_t_tmpfile(*args): + """ + qfile_t_tmpfile() -> qfile_t + """ + return _idaapi.qfile_t_tmpfile(*args) + + +def reg_read_string(*args): + """ + reg_read_string(name, subkey=None, _def=None) -> PyObject * + """ + return _idaapi.reg_read_string(*args) + +def reg_data_type(*args): + """ + reg_data_type(name, subkey=None) -> regval_type_t + """ + return _idaapi.reg_data_type(*args) + +def reg_read_binary(*args): + """ + reg_read_binary(name, subkey=None) -> PyObject * + """ + return _idaapi.reg_read_binary(*args) + +def reg_write_binary(*args): + """ + reg_write_binary(name, py_bytes, subkey=None) + """ + return _idaapi.reg_write_binary(*args) + +def reg_subkey_subkeys(*args): + """ + reg_subkey_subkeys(name) -> PyObject * + """ + return _idaapi.reg_subkey_subkeys(*args) + +def reg_subkey_values(*args): + """ + reg_subkey_values(name) -> PyObject * + """ + return _idaapi.reg_subkey_values(*args) +ROOT_KEY_NAME = _idaapi.ROOT_KEY_NAME +reg_unknown = _idaapi.reg_unknown +reg_sz = _idaapi.reg_sz +reg_binary = _idaapi.reg_binary +reg_dword = _idaapi.reg_dword + +def reg_delete_subkey(*args): + """ + reg_delete_subkey(name) -> bool + """ + return _idaapi.reg_delete_subkey(*args) + +def reg_delete(*args): + """ + reg_delete(name, subkey=None) -> bool + """ + return _idaapi.reg_delete(*args) + +def reg_subkey_exists(*args): + """ + reg_subkey_exists(name) -> bool + """ + return _idaapi.reg_subkey_exists(*args) + +def reg_exists(*args): + """ + reg_exists(name, subkey=None) -> bool + """ + return _idaapi.reg_exists(*args) + +def reg_read_strlist(*args): + """ + reg_read_strlist(subkey, list) + """ + return _idaapi.reg_read_strlist(*args) + +def reg_update_strlist(*args): + """ + reg_update_strlist(subkey, add, maxrecs, rem=None, ignorecase=False) + """ + return _idaapi.reg_update_strlist(*args) + +def reg_write_string(*args): + """ + reg_write_string(name, utf8, subkey=None) + """ + return _idaapi.reg_write_string(*args) + +def reg_read_int(*args): + """ + reg_read_int(name, defval, subkey=None) -> int + """ + return _idaapi.reg_read_int(*args) + +def reg_write_int(*args): + """ + reg_write_int(name, value, subkey=None) + """ + return _idaapi.reg_write_int(*args) + +def reg_read_bool(*args): + """ + reg_read_bool(name, defval, subkey=None) -> bool + """ + return _idaapi.reg_read_bool(*args) + +def reg_write_bool(*args): + """ + reg_write_bool(name, value, subkey=None) + """ + return _idaapi.reg_write_bool(*args) + +def reg_update_filestrlist(*args): + """ + reg_update_filestrlist(subkey, add, maxrecs, rem=None) + """ + return _idaapi.reg_update_filestrlist(*args) + +def reg_load(*args): + """ + reg_load() + """ + return _idaapi.reg_load(*args) + +def reg_flush(*args): + """ + reg_flush() + """ + return _idaapi.reg_flush(*args) + + diff --git a/python_lib/idautils.py b/python_lib/idautils.py new file mode 100644 index 0000000..65baa5f --- /dev/null +++ b/python_lib/idautils.py @@ -0,0 +1,830 @@ +#--------------------------------------------------------------------- +# IDAPython - Python plugin for Interactive Disassembler +# +# Copyright (c) 2004-2010 Gergely Erdelyi +# +# All rights reserved. +# +# For detailed copyright information see the file COPYING in +# the root of the distribution archive. +#--------------------------------------------------------------------- +""" +idautils.py - High level utility functions for IDA +""" +import idaapi +import idc +import types +import os + + +def refs(ea, funcfirst, funcnext): + """ + Generic reference collector - INTERNAL USE ONLY. + """ + ref = funcfirst(ea) + while ref != idaapi.BADADDR: + yield ref + ref = funcnext(ea, ref) + + +def CodeRefsTo(ea, flow): + """ + Get a list of code references to 'ea' + + @param ea: Target address + @param flow: Follow normal code flow or not + @type flow: Boolean (0/1, False/True) + + @return: list of references (may be empty list) + + Example:: + + for ref in CodeRefsTo(ScreenEA(), 1): + print ref + """ + if flow == 1: + return refs(ea, idaapi.get_first_cref_to, idaapi.get_next_cref_to) + else: + return refs(ea, idaapi.get_first_fcref_to, idaapi.get_next_fcref_to) + + +def CodeRefsFrom(ea, flow): + """ + Get a list of code references from 'ea' + + @param ea: Target address + @param flow: Follow normal code flow or not + @type flow: Boolean (0/1, False/True) + + @return: list of references (may be empty list) + + Example:: + + for ref in CodeRefsFrom(ScreenEA(), 1): + print ref + """ + if flow == 1: + return refs(ea, idaapi.get_first_cref_from, idaapi.get_next_cref_from) + else: + return refs(ea, idaapi.get_first_fcref_from, idaapi.get_next_fcref_from) + + +def DataRefsTo(ea): + """ + Get a list of data references to 'ea' + + @param ea: Target address + + @return: list of references (may be empty list) + + Example:: + + for ref in DataRefsTo(ScreenEA()): + print ref + """ + return refs(ea, idaapi.get_first_dref_to, idaapi.get_next_dref_to) + + +def DataRefsFrom(ea): + """ + Get a list of data references from 'ea' + + @param ea: Target address + + @return: list of references (may be empty list) + + Example:: + + for ref in DataRefsFrom(ScreenEA()): + print ref + """ + return refs(ea, idaapi.get_first_dref_from, idaapi.get_next_dref_from) + + +def XrefTypeName(typecode): + """ + Convert cross-reference type codes to readable names + + @param typecode: cross-reference type code + """ + ref_types = { + 0 : 'Data_Unknown', + 1 : 'Data_Offset', + 2 : 'Data_Write', + 3 : 'Data_Read', + 4 : 'Data_Text', + 5 : 'Data_Informational', + 16 : 'Code_Far_Call', + 17 : 'Code_Near_Call', + 18 : 'Code_Far_Jump', + 19 : 'Code_Near_Jump', + 20 : 'Code_User', + 21 : 'Ordinary_Flow' + } + assert typecode in ref_types, "unknown reference type %d" % typecode + return ref_types[typecode] + + +def _copy_xref(xref): + """ Make a private copy of the xref class to preserve its contents """ + class _xref(object): + pass + + xr = _xref() + for attr in [ 'frm', 'to', 'iscode', 'type', 'user' ]: + setattr(xr, attr, getattr(xref, attr)) + return xr + + +def XrefsFrom(ea, flags=0): + """ + Return all references from address 'ea' + + @param ea: Reference address + @param flags: any of idaapi.XREF_* flags + + Example:: + for xref in XrefsFrom(here(), 0): + print xref.type, XrefTypeName(xref.type), \ + 'from', hex(xref.frm), 'to', hex(xref.to) + """ + xref = idaapi.xrefblk_t() + if xref.first_from(ea, flags): + yield _copy_xref(xref) + while xref.next_from(): + yield _copy_xref(xref) + + +def XrefsTo(ea, flags=0): + """ + Return all references to address 'ea' + + @param ea: Reference address + @param flags: any of idaapi.XREF_* flags + + Example:: + for xref in XrefsTo(here(), 0): + print xref.type, XrefTypeName(xref.type), \ + 'from', hex(xref.frm), 'to', hex(xref.to) + """ + xref = idaapi.xrefblk_t() + if xref.first_to(ea, flags): + yield _copy_xref(xref) + while xref.next_to(): + yield _copy_xref(xref) + + +def Threads(): + """Returns all thread IDs""" + for i in xrange(0, idc.GetThreadQty()): + yield idc.GetThreadId(i) + + +def Heads(start=None, end=None): + """ + Get a list of heads (instructions or data) + + @param start: start address (default: inf.minEA) + @param end: end address (default: inf.maxEA) + + @return: list of heads between start and end + """ + if not start: start = idaapi.cvar.inf.minEA + if not end: end = idaapi.cvar.inf.maxEA + + ea = start + if not idc.isHead(idc.GetFlags(ea)): + ea = idaapi.next_head(ea, end) + while ea != idaapi.BADADDR: + yield ea + ea = idaapi.next_head(ea, end) + + +def Functions(start=None, end=None): + """ + Get a list of functions + + @param start: start address (default: inf.minEA) + @param end: end address (default: inf.maxEA) + + @return: list of heads between start and end + + @note: The last function that starts before 'end' is included even + if it extends beyond 'end'. Any function that has its chunks scattered + in multiple segments will be reported multiple times, once in each segment + as they are listed. + """ + if not start: start = idaapi.cvar.inf.minEA + if not end: end = idaapi.cvar.inf.maxEA + + # find first function head chunk in the range + chunk = idaapi.get_fchunk(start) + if not chunk: + chunk = idaapi.get_next_fchunk(start) + while chunk and chunk.startEA < end and (chunk.flags & idaapi.FUNC_TAIL) != 0: + chunk = idaapi.get_next_fchunk(chunk.startEA) + func = chunk + + while func and func.startEA < end: + startea = func.startEA + yield startea + func = idaapi.get_next_func(startea) + + +def Chunks(start): + """ + Get a list of function chunks + + @param start: address of the function + + @return: list of funcion chunks (tuples of the form (start_ea, end_ea)) + belonging to the function + """ + func_iter = idaapi.func_tail_iterator_t( idaapi.get_func( start ) ) + status = func_iter.main() + while status: + chunk = func_iter.chunk() + yield (chunk.startEA, chunk.endEA) + status = func_iter.next() + + +def Modules(): + """ + Returns a list of module objects with name,size,base and the rebase_to attributes + """ + mod = idaapi.module_info_t() + result = idaapi.get_first_module(mod) + while result: + yield idaapi.object_t(name=mod.name, size=mod.size, base=mod.base, rebase_to=mod.rebase_to) + result = idaapi.get_next_module(mod) + + +def Names(): + """ + Returns a list of names + + @return: List of tuples (ea, name) + """ + for i in xrange(idaapi.get_nlist_size()): + ea = idaapi.get_nlist_ea(i) + name = idaapi.get_nlist_name(i) + yield (ea, name) + + +def Segments(): + """ + Get list of segments (sections) in the binary image + + @return: List of segment start addresses. + """ + for n in xrange(idaapi.get_segm_qty()): + seg = idaapi.getnseg(n) + if seg: + yield seg.startEA + + +def Entries(): + """ + Returns a list of entry points + + @return: List of tuples (index, ordinal, ea, name) + """ + n = idaapi.get_entry_qty() + for i in xrange(0, n): + ordinal = idaapi.get_entry_ordinal(i) + ea = idaapi.get_entry(ordinal) + name = idaapi.get_entry_name(ordinal) + yield (i, ordinal, ea, name) + + +def FuncItems(start): + """ + Get a list of function items + + @param start: address of the function + + @return: ea of each item in the function + """ + func = idaapi.get_func(start) + if not func: + return + fii = idaapi.func_item_iterator_t() + ok = fii.set(func) + while ok: + yield fii.current() + ok = fii.next_code() + + +def Structs(): + """ + Get a list of structures + + @return: List of tuples (idx, sid, name) + """ + idx = idc.GetFirstStrucIdx() + while idx != idaapi.BADADDR: + sid = idc.GetStrucId(idx) + yield (idx, sid, idc.GetStrucName(sid)) + idx = idc.GetNextStrucIdx(idx) + + +def StructMembers(sid): + """ + Get a list of structure members information (or stack vars if given a frame). + + @param sid: ID of the structure. + + @return: List of tuples (offset, name, size) + + @note: If 'sid' does not refer to a valid structure, + an exception will be raised. + @note: This will not return 'holes' in structures/stack frames; + it only returns defined structure members. + """ + m = idc.GetFirstMember(sid) + if m == -1: + raise Exception("No structure with ID: 0x%x" % sid) + while (m != idaapi.BADADDR): + name = idc.GetMemberName(sid, m) + if name: + yield (m, name, idc.GetMemberSize(sid, m)) + m = idc.GetStrucNextOff(sid, m) + + +def DecodePrecedingInstruction(ea): + """ + Decode preceding instruction in the execution flow. + + @param ea: address to decode + @return: (None or the decode instruction, farref) + farref will contain 'true' if followed an xref, false otherwise + """ + prev_addr, farref = idaapi.decode_preceding_insn(ea) + if prev_addr == idaapi.BADADDR: + return (None, False) + else: + return (idaapi.cmd.copy(), farref) + + + +def DecodePreviousInstruction(ea): + """ + Decodes the previous instruction and returns an insn_t like class + + @param ea: address to decode + @return: None or a new insn_t instance + """ + prev_addr = idaapi.decode_prev_insn(ea) + if prev_addr == idaapi.BADADDR: + return None + + return idaapi.cmd.copy() + + +def DecodeInstruction(ea): + """ + Decodes an instruction and returns an insn_t like class + + @param ea: address to decode + @return: None or a new insn_t instance + """ + inslen = idaapi.decode_insn(ea) + if inslen == 0: + return None + + return idaapi.cmd.copy() + + +def GetDataList(ea, count, itemsize=1): + """ + Get data list - INTERNAL USE ONLY + """ + if itemsize == 1: + getdata = idaapi.get_byte + elif itemsize == 2: + getdata = idaapi.get_word + elif itemsize == 4: + getdata = idaapi.get_long + elif itemsize == 8: + getdata = idaapi.get_qword + else: + raise ValueError, "Invalid data size! Must be 1, 2, 4 or 8" + + endea = ea + itemsize * count + curea = ea + while curea < endea: + yield getdata(curea) + curea += itemsize + + +def PutDataList(ea, datalist, itemsize=1): + """ + Put data list - INTERNAL USE ONLY + """ + putdata = None + + if itemsize == 1: + putdata = idaapi.patch_byte + if itemsize == 2: + putdata = idaapi.patch_word + if itemsize == 4: + putdata = idaapi.patch_long + + assert putdata, "Invalid data size! Must be 1, 2 or 4" + + for val in datalist: + putdata(ea, val) + ea = ea + itemsize + + +def MapDataList(ea, length, func, wordsize=1): + """ + Map through a list of data words in the database + + @param ea: start address + @param length: number of words to map + @param func: mapping function + @param wordsize: size of words to map [default: 1 byte] + + @return: None + """ + PutDataList(ea, map(func, GetDataList(ea, length, wordsize)), wordsize) + + +def GetInputFileMD5(): + """ + Return the MD5 hash of the input binary file + + @return: MD5 string or None on error + """ + return idc.GetInputMD5() + + +class Strings(object): + """ + Allows iterating over the string list. The set of strings will not be modified. + , unless asked explicitly at setup()-time.. + + Example: + s = Strings() + + for i in s: + print "%x: len=%d type=%d -> '%s'" % (i.ea, i.length, i.type, str(i)) + + """ + class StringItem(object): + """ + Class representing each string item. + """ + def __init__(self, si): + self.ea = si.ea + """String ea""" + self.type = si.type + """string type (ASCSTR_xxxxx)""" + self.length = si.length + """string length""" + + def is_1_byte_encoding(self): + return not self.is_2_bytes_encoding() and not self.is_4_bytes_encoding() + + def is_2_bytes_encoding(self): + return (self.type & 7) in [idaapi.ASCSTR_UTF16, idaapi.ASCSTR_ULEN2, idaapi.ASCSTR_ULEN4] + + def is_4_bytes_encoding(self): + return (self.type & 7) == idaapi.ASCSTR_UTF32 + + def _toseq(self, as_unicode): + if self.is_2_bytes_encoding(): + conv = idaapi.ACFOPT_UTF16 + pyenc = "utf-16" + elif self.is_4_bytes_encoding(): + conv = idaapi.ACFOPT_UTF8 + pyenc = "utf-8" + else: + conv = idaapi.ACFOPT_ASCII + pyenc = 'ascii' + strbytes = idaapi.get_ascii_contents2(self.ea, self.length, self.type, conv) + return unicode(strbytes, pyenc, 'replace') if as_unicode else strbytes + + def __str__(self): + return self._toseq(False) + + def __unicode__(self): + return self._toseq(True) + + + STR_C = 0x0001 + """C-style ASCII string""" + STR_PASCAL = 0x0002 + """Pascal-style ASCII string (length byte)""" + STR_LEN2 = 0x0004 + """Pascal-style, length is 2 bytes""" + STR_UNICODE = 0x0008 + """Unicode string""" + STR_LEN4 = 0x0010 + """Pascal-style, length is 4 bytes""" + STR_ULEN2 = 0x0020 + """Pascal-style Unicode, length is 2 bytes""" + STR_ULEN4 = 0x0040 + """Pascal-style Unicode, length is 4 bytes""" + + def clear_cache(self): + """Clears the strings list cache""" + self.refresh(0, 0) # when ea1=ea2 the kernel will clear the cache + + def __init__(self, default_setup = False): + """ + Initializes the Strings enumeration helper class + + @param default_setup: Set to True to use default setup (C strings, min len 5, ...) + """ + self.size = 0 + if default_setup: + self.setup() + else: + self.refresh() + + self._si = idaapi.string_info_t() + + def refresh(self, ea1=None, ea2=None): + """Refreshes the strings list""" + if ea1 is None: + ea1 = idaapi.cvar.inf.minEA + if ea2 is None: + ea2 = idaapi.cvar.inf.maxEA + + idaapi.refresh_strlist(ea1, ea2) + self.size = idaapi.get_strlist_qty() + + + def setup(self, + strtypes = STR_C, + minlen = 5, + only_7bit = True, + ignore_instructions = False, + ea1 = None, + ea2 = None, + display_only_existing_strings = False): + + if ea1 is None: + ea1 = idaapi.cvar.inf.minEA + + if ea2 is None: + ea2 = idaapi.cvar.inf.maxEA + + t = idaapi.strwinsetup_t() + t.strtypes = strtypes + t.minlen = minlen + t.only_7bit = only_7bit + t.ea1 = ea1 + t.ea2 = ea2 + t.display_only_existing_strings = display_only_existing_strings + idaapi.set_strlist_options(t) + + # Automatically refreshes + self.refresh() + + + def _get_item(self, index): + if not idaapi.get_strlist_item(index, self._si): + return None + else: + return Strings.StringItem(self._si) + + + def __iter__(self): + return (self._get_item(index) for index in xrange(0, self.size)) + + + def __getitem__(self, index): + """Returns a string item or None""" + if index >= self.size: + raise KeyError + else: + return self._get_item(index) + +# ----------------------------------------------------------------------- +def GetIdbDir(): + """ + Get IDB directory + + This function returns directory path of the current IDB database + """ + return os.path.dirname(idaapi.cvar.database_idb) + os.sep + +# ----------------------------------------------------------------------- +def GetRegisterList(): + """Returns the register list""" + return idaapi.ph_get_regnames() + +# ----------------------------------------------------------------------- +def GetInstructionList(): + """Returns the instruction list of the current processor module""" + return [i[0] for i in idaapi.ph_get_instruc() if i[0]] + +# ----------------------------------------------------------------------- +def _Assemble(ea, line): + """ + Please refer to Assemble() - INTERNAL USE ONLY + """ + if type(line) == types.StringType: + lines = [line] + else: + lines = line + ret = [] + for line in lines: + seg = idaapi.getseg(ea) + if not seg: + return (False, "No segment at ea") + ip = ea - (idaapi.ask_selector(seg.sel) << 4) + buf = idaapi.AssembleLine(ea, seg.sel, ip, seg.bitness, line) + if not buf: + return (False, "Assembler failed: " + line) + ea += len(buf) + ret.append(buf) + + if len(ret) == 1: + ret = ret[0] + return (True, ret) + + +def Assemble(ea, line): + """ + Assembles one or more lines (does not display an message dialogs) + If line is a list then this function will attempt to assemble all the lines + This function will turn on batch mode temporarily so that no messages are displayed on the screen + + @param ea: start address + @return: (False, "Error message") or (True, asm_buf) or (True, [asm_buf1, asm_buf2, asm_buf3]) + """ + old_batch = idc.Batch(1) + ret = _Assemble(ea, line) + idc.Batch(old_batch) + return ret + +def _copy_obj(src, dest, skip_list = None): + """ + Copy non private/non callable attributes from a class instance to another + @param src: Source class to copy from + @param dest: If it is a string then it designates the new class type that will be created and copied to. + Otherwise dest should be an instance of another class + @return: A new instance or "dest" + """ + if type(dest) == types.StringType: + # instantiate a new destination class of the specified type name? + dest = new.classobj(dest, (), {}) + for x in dir(src): + # skip special and private fields + if x.startswith("__") and x.endswith("__"): + continue + # skip items in the skip list + if skip_list and x in skip_list: + continue + t = getattr(src, x) + # skip callable + if callable(t): + continue + setattr(dest, x, t) + return dest + +# ----------------------------------------------------------------------- +class _reg_dtyp_t(object): + """ + INTERNAL + This class describes a register's number and dtyp. + The equal operator is overloaded so that two instances can be tested for equality + """ + def __init__(self, reg, dtyp): + self.reg = reg + self.dtyp = dtyp + + def __eq__(self, other): + return (self.reg == other.reg) and (self.dtyp == other.dtyp) + +# ----------------------------------------------------------------------- +class _procregs(object): + """Utility class allowing the users to identify registers in a decoded instruction""" + def __getattr__(self, attr): + ri = idaapi.reg_info_t() + if not idaapi.parse_reg_name(attr, ri): + raise AttributeError() + r = _reg_dtyp_t(ri.reg, ord(idaapi.get_dtyp_by_size(ri.size))) + self.__dict__[attr] = r + return r + + def __setattr__(self, attr, value): + raise AttributeError(attr) + + +# ----------------------------------------------------------------------- +class _cpu(object): + "Simple wrapper around GetRegValue/SetRegValue" + def __getattr__(self, name): + #print "cpu.get(%s)" % name + return idc.GetRegValue(name) + + def __setattr__(self, name, value): + #print "cpu.set(%s)" % name + return idc.SetRegValue(value, name) + + +# -------------------------------------------------------------------------- +class __process_ui_actions_helper(object): + def __init__(self, actions, flags = 0): + """Expect a list or a string with a list of actions""" + if isinstance(actions, str): + lst = actions.split(";") + elif isinstance(actions, (list, tuple)): + lst = actions + else: + raise ValueError, "Must pass a string, list or a tuple" + + # Remember the action list and the flags + self.__action_list = lst + self.__flags = flags + + # Reset action index + self.__idx = 0 + + def __len__(self): + return len(self.__action_list) + + def __call__(self): + if self.__idx >= len(self.__action_list): + return False + + # Execute one action + idaapi.process_ui_action( + self.__action_list[self.__idx], + self.__flags) + + # Move to next action + self.__idx += 1 + + # Reschedule + return True + + +# -------------------------------------------------------------------------- +def ProcessUiActions(actions, flags=0): + """ + @param actions: A string containing a list of actions separated by semicolon, a list or a tuple + @param flags: flags to be passed to process_ui_action() + @return: Boolean. Returns False if the action list was empty or execute_ui_requests() failed. + """ + + # Instantiate a helper + helper = __process_ui_actions_helper(actions, flags) + return False if len(helper) < 1 else idaapi.execute_ui_requests((helper,)) + + +# ----------------------------------------------------------------------- +class peutils_t(object): + """ + PE utility class. Retrieves PE information from the database. + + Constants from pe.h + """ + PE_NODE = "$ PE header" # netnode name for PE header + PE_ALT_DBG_FPOS = idaapi.BADADDR & -1 # altval() -> translated fpos of debuginfo + PE_ALT_IMAGEBASE = idaapi.BADADDR & -2 # altval() -> loading address (usually pe.imagebase) + PE_ALT_PEHDR_OFF = idaapi.BADADDR & -3 # altval() -> offset of PE header + PE_ALT_NEFLAGS = idaapi.BADADDR & -4 # altval() -> neflags + PE_ALT_TDS_LOADED = idaapi.BADADDR & -5 # altval() -> tds already loaded(1) or invalid(-1) + PE_ALT_PSXDLL = idaapi.BADADDR & -6 # altval() -> if POSIX(x86) imports from PSXDLL netnode + + def __init__(self): + self.__penode = idaapi.netnode() + self.__penode.create(peutils_t.PE_NODE) + + imagebase = property( + lambda self: self.__penode.altval(peutils_t.PE_ALT_IMAGEBASE) + ) + + header = property( + lambda self: self.__penode.altval(peutils_t.PE_ALT_PEHDR_OFF) + ) + + def __str__(self): + return "peutils_t(imagebase=%s, header=%s)" % (hex(self.imagebase), hex(self.header)) + + def header(self): + """ + Returns the complete PE header as an instance of peheader_t (defined in the SDK). + """ + return self.__penode.valobj() + +# ----------------------------------------------------------------------- +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 +""" + +procregs = _procregs() +"""This object is used to access the processor registers. It is useful when decoding instructions and you want to see which instruction is which. +For example: + x = idautils.DecodeInstruction(here()) + if x[0] == procregs.Esp: + print "This operand is the register ESP +""" diff --git a/python_lib/idc.py b/python_lib/idc.py new file mode 100644 index 0000000..b34277c --- /dev/null +++ b/python_lib/idc.py @@ -0,0 +1,8590 @@ +#!/usr/bin/env python +#--------------------------------------------------------------------- +# IDAPython - Python plugin for Interactive Disassembler +# +# Original IDC.IDC: +# Copyright (c) 1990-2010 Ilfak Guilfanov +# +# Python conversion: +# Copyright (c) 2004-2010 Gergely Erdelyi +# +# All rights reserved. +# +# For detailed copyright information see the file COPYING in +# the root of the distribution archive. +#--------------------------------------------------------------------- +# idc.py - IDC compatibility module +#--------------------------------------------------------------------- +""" +IDC compatibility module + +This file contains IDA built-in function declarations and internal bit +definitions. Each byte of the program has 32-bit flags (low 8 bits keep +the byte value). These 32 bits are used in GetFlags/SetFlags functions. +You may freely examine these bits using GetFlags() but the use of the +SetFlags() function is strongly discouraged. + +This file is subject to change without any notice. +Future versions of IDA may use other definitions. +""" +try: + import idaapi +except ImportError: + print "Could not import idaapi. Running in 'pydoc mode'." + +import os +import re +import struct +import time +import types + +__EA64__ = idaapi.BADADDR == 0xFFFFFFFFFFFFFFFFL +WORDMASK = 0xFFFFFFFFFFFFFFFF if __EA64__ else 0xFFFFFFFF +class DeprecatedIDCError(Exception): + """ + Exception for deprecated function calls + """ + pass + + +def _IDC_GetAttr(obj, attrmap, attroffs): + """ + Internal function to generically get object attributes + Do not use unless you know what you are doing + """ + if attroffs in attrmap and hasattr(obj, attrmap[attroffs][1]): + return getattr(obj, attrmap[attroffs][1]) + else: + errormsg = "attribute with offset %d not found, check the offset and report the problem" % attroffs + raise KeyError, errormsg + + +def _IDC_SetAttr(obj, attrmap, attroffs, value): + """ + Internal function to generically set object attributes + Do not use unless you know what you are doing + """ + # check for read-only atributes + if attroffs in attrmap: + if attrmap[attroffs][0]: + raise KeyError, "attribute with offset %d is read-only" % attroffs + elif hasattr(obj, attrmap[attroffs][1]): + return setattr(obj, attrmap[attroffs][1], value) + errormsg = "attribute with offset %d not found, check the offset and report the problem" % attroffs + raise KeyError, errormsg + + +BADADDR = idaapi.BADADDR # Not allowed address value +BADSEL = idaapi.BADSEL # Not allowed selector value/number +MAXADDR = idaapi.MAXADDR & WORDMASK +SIZE_MAX = idaapi.SIZE_MAX +# +# Flag bit definitions (for GetFlags()) +# +MS_VAL = idaapi.MS_VAL # Mask for byte value +FF_IVL = idaapi.FF_IVL # Byte has value ? + +# Do flags contain byte value? (i.e. has the byte a value?) +# if not, the byte is uninitialized. + +def hasValue(F): return ((F & FF_IVL) != 0) # any defined value? + +def byteValue(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. + """ + return (F & MS_VAL) + + +def isLoaded(ea): + """Is the byte initialized?""" + return hasValue(GetFlags(ea)) # any defined value? + +MS_CLS = idaapi.MS_CLS # Mask for typing +FF_CODE = idaapi.FF_CODE # Code ? +FF_DATA = idaapi.FF_DATA # Data ? +FF_TAIL = idaapi.FF_TAIL # Tail ? +FF_UNK = idaapi.FF_UNK # Unknown ? + +def isCode(F): return ((F & MS_CLS) == FF_CODE) # is code byte? +def isData(F): return ((F & MS_CLS) == FF_DATA) # is data byte? +def isTail(F): return ((F & MS_CLS) == FF_TAIL) # is tail byte? +def isUnknown(F): return ((F & MS_CLS) == FF_UNK) # is unexplored byte? +def isHead(F): return ((F & FF_DATA) != 0) # is start of code/data? + +# +# Common bits +# +MS_COMM = idaapi.MS_COMM # Mask of common bits +FF_COMM = idaapi.FF_COMM # Has comment? +FF_REF = idaapi.FF_REF # has references? +FF_LINE = idaapi.FF_LINE # Has next or prev cmt lines ? +FF_NAME = idaapi.FF_NAME # Has user-defined name ? +FF_LABL = idaapi.FF_LABL # Has dummy name? +FF_FLOW = idaapi.FF_FLOW # Exec flow from prev instruction? +FF_VAR = idaapi.FF_VAR # Is byte variable ? +FF_ANYNAME = FF_LABL | FF_NAME + +def isFlow(F): return ((F & FF_FLOW) != 0) +def isVar(F): return ((F & FF_VAR ) != 0) +def isExtra(F): return ((F & FF_LINE) != 0) +def isRef(F): return ((F & FF_REF) != 0) +def hasName(F): return ((F & FF_NAME) != 0) +def hasUserName(F): return ((F & FF_ANYNAME) == FF_NAME) + +MS_0TYPE = idaapi.MS_0TYPE # Mask for 1st arg typing +FF_0VOID = idaapi.FF_0VOID # Void (unknown)? +FF_0NUMH = idaapi.FF_0NUMH # Hexadecimal number? +FF_0NUMD = idaapi.FF_0NUMD # Decimal number? +FF_0CHAR = idaapi.FF_0CHAR # Char ('x')? +FF_0SEG = idaapi.FF_0SEG # Segment? +FF_0OFF = idaapi.FF_0OFF # Offset? +FF_0NUMB = idaapi.FF_0NUMB # Binary number? +FF_0NUMO = idaapi.FF_0NUMO # Octal number? +FF_0ENUM = idaapi.FF_0ENUM # Enumeration? +FF_0FOP = idaapi.FF_0FOP # Forced operand? +FF_0STRO = idaapi.FF_0STRO # Struct offset? +FF_0STK = idaapi.FF_0STK # Stack variable? + +MS_1TYPE = idaapi.MS_1TYPE # Mask for 2nd arg typing +FF_1VOID = idaapi.FF_1VOID # Void (unknown)? +FF_1NUMH = idaapi.FF_1NUMH # Hexadecimal number? +FF_1NUMD = idaapi.FF_1NUMD # Decimal number? +FF_1CHAR = idaapi.FF_1CHAR # Char ('x')? +FF_1SEG = idaapi.FF_1SEG # Segment? +FF_1OFF = idaapi.FF_1OFF # Offset? +FF_1NUMB = idaapi.FF_1NUMB # Binary number? +FF_1NUMO = idaapi.FF_1NUMO # Octal number? +FF_1ENUM = idaapi.FF_1ENUM # Enumeration? +FF_1FOP = idaapi.FF_1FOP # Forced operand? +FF_1STRO = idaapi.FF_1STRO # Struct offset? +FF_1STK = idaapi.FF_1STK # Stack variable? + +# The following macros answer questions like +# 'is the 1st (or 2nd) operand of instruction or data of the given type'? +# Please note that data items use only the 1st operand type (is...0) + +def isDefArg0(F): return ((F & MS_0TYPE) != FF_0VOID) +def isDefArg1(F): return ((F & MS_1TYPE) != FF_1VOID) +def isDec0(F): return ((F & MS_0TYPE) == FF_0NUMD) +def isDec1(F): return ((F & MS_1TYPE) == FF_1NUMD) +def isHex0(F): return ((F & MS_0TYPE) == FF_0NUMH) +def isHex1(F): return ((F & MS_1TYPE) == FF_1NUMH) +def isOct0(F): return ((F & MS_0TYPE) == FF_0NUMO) +def isOct1(F): return ((F & MS_1TYPE) == FF_1NUMO) +def isBin0(F): return ((F & MS_0TYPE) == FF_0NUMB) +def isBin1(F): return ((F & MS_1TYPE) == FF_1NUMB) +def isOff0(F): return ((F & MS_0TYPE) == FF_0OFF) +def isOff1(F): return ((F & MS_1TYPE) == FF_1OFF) +def isChar0(F): return ((F & MS_0TYPE) == FF_0CHAR) +def isChar1(F): return ((F & MS_1TYPE) == FF_1CHAR) +def isSeg0(F): return ((F & MS_0TYPE) == FF_0SEG) +def isSeg1(F): return ((F & MS_1TYPE) == FF_1SEG) +def isEnum0(F): return ((F & MS_0TYPE) == FF_0ENUM) +def isEnum1(F): return ((F & MS_1TYPE) == FF_1ENUM) +def isFop0(F): return ((F & MS_0TYPE) == FF_0FOP) +def isFop1(F): return ((F & MS_1TYPE) == FF_1FOP) +def isStroff0(F): return ((F & MS_0TYPE) == FF_0STRO) +def isStroff1(F): return ((F & MS_1TYPE) == FF_1STRO) +def isStkvar0(F): return ((F & MS_0TYPE) == FF_0STK) +def isStkvar1(F): return ((F & MS_1TYPE) == FF_1STK) + +# +# Bits for DATA bytes +# +DT_TYPE = idaapi.DT_TYPE & 0xFFFFFFFF # Mask for DATA typing + +FF_BYTE = idaapi.FF_BYTE & 0xFFFFFFFF # byte +FF_WORD = idaapi.FF_WORD & 0xFFFFFFFF # word +FF_DWRD = idaapi.FF_DWRD & 0xFFFFFFFF # dword +FF_QWRD = idaapi.FF_QWRD & 0xFFFFFFFF # qword +FF_TBYT = idaapi.FF_TBYT & 0xFFFFFFFF # tbyte +FF_ASCI = idaapi.FF_ASCI & 0xFFFFFFFF # ASCII ? +FF_STRU = idaapi.FF_STRU & 0xFFFFFFFF # Struct ? +FF_OWRD = idaapi.FF_OWRD & 0xFFFFFFFF # octaword (16 bytes) +FF_FLOAT = idaapi.FF_FLOAT & 0xFFFFFFFF # float +FF_DOUBLE = idaapi.FF_DOUBLE & 0xFFFFFFFF # double +FF_PACKREAL = idaapi.FF_PACKREAL & 0xFFFFFFFF # packed decimal real +FF_ALIGN = idaapi.FF_ALIGN & 0xFFFFFFFF # alignment directive + +def isByte(F): return (isData(F) and (F & DT_TYPE) == FF_BYTE) +def isWord(F): return (isData(F) and (F & DT_TYPE) == FF_WORD) +def isDwrd(F): return (isData(F) and (F & DT_TYPE) == FF_DWRD) +def isQwrd(F): return (isData(F) and (F & DT_TYPE) == FF_QWRD) +def isOwrd(F): return (isData(F) and (F & DT_TYPE) == FF_OWRD) +def isTbyt(F): return (isData(F) and (F & DT_TYPE) == FF_TBYT) +def isFloat(F): return (isData(F) and (F & DT_TYPE) == FF_FLOAT) +def isDouble(F): return (isData(F) and (F & DT_TYPE) == FF_DOUBLE) +def isPackReal(F): return (isData(F) and (F & DT_TYPE) == FF_PACKREAL) +def isASCII(F): return (isData(F) and (F & DT_TYPE) == FF_ASCI) +def isStruct(F): return (isData(F) and (F & DT_TYPE) == FF_STRU) +def isAlign(F): return (isData(F) and (F & DT_TYPE) == FF_ALIGN) + +# +# Bits for CODE bytes +# +MS_CODE = idaapi.MS_CODE & 0xFFFFFFFF +FF_FUNC = idaapi.FF_FUNC & 0xFFFFFFFF # function start? +FF_IMMD = idaapi.FF_IMMD & 0xFFFFFFFF # Has Immediate value ? +FF_JUMP = idaapi.FF_JUMP & 0xFFFFFFFF # Has jump table + +# +# Loader flags +# +NEF_SEGS = idaapi.NEF_SEGS # Create segments +NEF_RSCS = idaapi.NEF_RSCS # Load resources +NEF_NAME = idaapi.NEF_NAME # Rename entries +NEF_MAN = idaapi.NEF_MAN # Manual load +NEF_FILL = idaapi.NEF_FILL # Fill segment gaps +NEF_IMPS = idaapi.NEF_IMPS # Create imports section +NEF_FIRST = idaapi.NEF_FIRST # This is the first file loaded +NEF_CODE = idaapi.NEF_CODE # for load_binary_file: +NEF_RELOAD = idaapi.NEF_RELOAD # reload the file at the same place: +NEF_FLAT = idaapi.NEF_FLAT # Autocreated FLAT group (PE) + +# 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 +# ---------------------------------------------------------------------------- +def IsString(var): raise NotImplementedError, "this function is not needed in Python" +def IsLong(var): raise NotImplementedError, "this function is not needed in Python" +def IsFloat(var): raise NotImplementedError, "this function is not needed in Python" +def IsFunc(var): raise NotImplementedError, "this function is not needed in Python" +def IsPvoid(var): raise NotImplementedError, "this function is not needed in Python" +def IsInt64(var): raise NotImplementedError, "this function is not needed in Python" + +def MK_FP(seg, off): + """ + Return value of expression: ((seg<<4) + off) + """ + return (seg << 4) + off + +def form(format, *args): + raise DeprecatedIDCError, "form() is deprecated. Use python string operations instead." + +def substr(s, x1, x2): + raise DeprecatedIDCError, "substr() is deprecated. Use python string operations instead." + +def strstr(s1, s2): + raise DeprecatedIDCError, "strstr() is deprecated. Use python string operations instead." + +def strlen(s): + raise DeprecatedIDCError, "strlen() is deprecated. Use python string operations instead." + +def xtol(s): + raise DeprecatedIDCError, "xtol() is deprecated. Use python long() instead." + + +def 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 + """ + segname = SegName(ea) + + if segname == "": + segname = "0" + + return "%s:%X" % (segname, ea) + + +def ltoa(n, radix): + raise DeprecatedIDCError, "ltoa() is deprecated. Use python string operations instead." + +def atol(s): + raise DeprecatedIDCError, "atol() is deprecated. Use python long() instead." + + +def 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 + """ + assert offset >= 0, "offset must be >= 0" + assert nbits > 0, "nbits must be > 0" + + mask = 2**(offset+nbits) - 2**offset + tmp = value & mask + + if count > 0: + for x in xrange(count): + if (tmp >> (offset+nbits-1)) & 1: + tmp = (tmp << 1) | (1 << offset) + else: + tmp = (tmp << 1) + else: + for x in xrange(-count): + if (tmp >> offset) & 1: + tmp = (tmp >> 1) | (1 << (offset+nbits-1)) + else: + tmp = (tmp >> 1) + + value = (value-(value&mask)) | (tmp & mask) + + return value + + +def rotate_dword(x, count): return rotate_left(x, count, 32, 0) +def rotate_word(x, count): return rotate_left(x, count, 16, 0) +def rotate_byte(x, count): return rotate_left(x, count, 8, 0) + + +# AddHotkey return codes +IDCHK_OK = 0 # ok +IDCHK_ARG = -1 # bad argument(s) +IDCHK_KEY = -2 # bad hotkey name +IDCHK_MAX = -3 # too many IDC hotkeys + +def AddHotkey(hotkey, idcfunc): + """ + Add hotkey for IDC function + + @param hotkey: hotkey name ('a', "Alt-A", etc) + @param idcfunc: IDC function name + + @return: None + """ + return idaapi.add_idc_hotkey(hotkey, idcfunc) + + +def DelHotkey(hotkey): + """ + Delete IDC function hotkey + + @param hotkey: hotkey code to delete + """ + return idaapi.del_idc_hotkey(hotkey) + + +def Jump(ea): + """ + Move cursor to the specifed linear address + + @param ea: linear address + """ + return idaapi.jumpto(ea) + + +def Wait(): + """ + Process all entries in the autoanalysis queue + Wait for the end of autoanalysis + + @note: This function will suspend execution of the calling script + till the autoanalysis queue is empty. + """ + return idaapi.autoWait() + + +def CompileEx(input, isfile): + """ + Compile an IDC script + + The input should not contain functions that are + currently executing - otherwise the behaviour of the replaced + functions is undefined. + + @param input: if isfile != 0, then this is the name of file to compile + otherwise it holds the text to compile + @param isfile: specify if 'input' holds a filename or the expression itself + + @return: 0 - ok, otherwise it returns an error message + """ + if isfile: + res = idaapi.Compile(input) + else: + res = idaapi.CompileLine(input) + + if res: + return res + else: + return 0 + + +def Eval(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 + """ + rv = idaapi.idc_value_t() + + err = idaapi.calc_idc_expr(BADADDR, expr, rv) + if err: + return "IDC_FAILURE: "+err + else: + if rv.vtype == '\x01': # VT_STR + return rv.str + elif rv.vtype == '\x02': # long + return rv.num + elif rv.vtype == '\x07': # VT_STR2 + return rv.c_str() + else: + raise NotImplementedError, "Eval() supports only expressions returning strings or longs" + + +def EVAL_FAILURE(code): + """ + Check the result of Eval() for evaluation failures + + @param code: result of Eval() + + @return: True if there was an evaluation error + """ + return type(code) == types.StringType and code.startswith("IDC_FAILURE: ") + + +def SaveBase(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 idaapi.DBFL_... bits or 0 + """ + if len(idbname) == 0: + idbname = GetIdbPath() + saveflags = idaapi.cvar.database_flags + mask = idaapi.DBFL_KILL | idaapi.DBFL_COMP | idaapi.DBFL_BAK + idaapi.cvar.database_flags &= ~mask + idaapi.cvar.database_flags |= flags & mask + res = idaapi.save_database(idbname, 0) + idaapi.cvar.database_flags = saveflags + return res + +DBFL_BAK = idaapi.DBFL_BAK # for compatiblity with older versions, eventually delete this + +def ValidateNames(): + """ + check consistency of IDB name records + @return: number of inconsistent name records + """ + return idaapi.validate_idb_names() + +def Exit(code): + """ + Stop execution of IDC program, close the database and exit to OS + + @param code: code to exit with. + + @return: - + """ + idaapi.qexit(code) + + +def Exec(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. + """ + return os.system(command) + + +def Sleep(milliseconds): + """ + Sleep the specified number of milliseconds + This function suspends IDA for the specified amount of time + + @param milliseconds: time to sleep + """ + time.sleep(float(milliseconds)/1000) + + +def RunPlugin(name, arg): + """ + Load and run a plugin + + @param name: The plugin name is a short plugin name without an extension + @param arg: integer argument + + @return: 0 if could not load the plugin, 1 if ok + """ + return idaapi.load_and_run_plugin(name, arg) + + +def ApplySig(name): + """ + Load (plan to apply) a FLIRT signature file + + @param name: signature name without path and extension + + @return: 0 if could not load the signature file, !=0 otherwise + """ + return idaapi.plan_to_apply_idasgn(name) + + +#---------------------------------------------------------------------------- +# C H A N G E P R O G R A M R E P R E S E N T A T I O N +#---------------------------------------------------------------------------- + + +def DeleteAll(): + """ + Delete all segments, instructions, comments, i.e. everything + except values of bytes. + """ + ea = idaapi.cvar.inf.minEA + + # Brute-force nuke all info from all the heads + while ea != BADADDR and ea <= idaapi.cvar.inf.maxEA: + idaapi.del_local_name(ea) + idaapi.del_global_name(ea) + func = idaapi.get_func(ea) + if func: + idaapi.del_func_cmt(func, False) + idaapi.del_func_cmt(func, True) + idaapi.del_func(ea) + idaapi.del_hidden_area(ea) + seg = idaapi.getseg(ea) + if seg: + idaapi.del_segment_cmt(seg, False) + idaapi.del_segment_cmt(seg, True) + idaapi.del_segm(ea, idaapi.SEGDEL_KEEP | idaapi.SEGDEL_SILENT) + + ea = idaapi.next_head(ea, idaapi.cvar.inf.maxEA) + + +def MakeCode(ea): + """ + Create an instruction at the specified address + + @param ea: linear address + + @return: 0 - can not create an instruction (no such opcode, the instruction + would overlap with existing items, etc) otherwise returns length of the + instruction in bytes + """ + return idaapi.create_insn(ea) + + +def AnalyzeArea(sEA, eEA): + """ + Perform full analysis of the area + + @param sEA: starting linear address + @param eEA: ending linear address (excluded) + + @return: 1-ok, 0-Ctrl-Break was pressed. + """ + return idaapi.analyze_area(sEA, eEA) + + +def MakeNameEx(ea, name, flags): + """ + 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 + """ + return idaapi.set_name(ea, name, flags) + +SN_CHECK = idaapi.SN_CHECK # Fail if the name contains invalid + # characters + # If this bit is clear, all invalid chars + # (those !is_ident_char()) will be replaced + # by SubstChar (usually '_') + # List of valid characters is defined in + # ida.cfg +SN_NOCHECK = idaapi.SN_NOCHECK # Replace invalid chars with SubstChar +SN_PUBLIC = idaapi.SN_PUBLIC # if set, make name public +SN_NON_PUBLIC = idaapi.SN_NON_PUBLIC # if set, make name non-public +SN_WEAK = idaapi.SN_WEAK # if set, make name weak +SN_NON_WEAK = idaapi.SN_NON_WEAK # if set, make name non-weak +SN_AUTO = idaapi.SN_AUTO # if set, make name autogenerated +SN_NON_AUTO = idaapi.SN_NON_AUTO # if set, make name non-autogenerated +SN_NOLIST = idaapi.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) +SN_NOWARN = idaapi.SN_NOWARN # don't display a warning if failed +SN_LOCAL = idaapi.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 + +def MakeComm(ea, comment): + """ + Set an indented regular comment of an item + + @param ea: linear address + @param comment: comment string + + @return: None + """ + return idaapi.set_cmt(ea, comment, 0) + + +def MakeRptCmt(ea, comment): + """ + Set an indented repeatable comment of an item + + @param ea: linear address + @param comment: comment string + + @return: None + """ + return idaapi.set_cmt(ea, comment, 1) + + +def MakeArray(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. + """ + flags = idaapi.getFlags(ea) + + if idaapi.isCode(flags) or idaapi.isTail(flags) or idaapi.isAlign(flags): + return False + + if idaapi.isUnknown(flags): + flags = idaapi.FF_BYTE + + if idaapi.isStruct(flags): + ti = idaapi.opinfo_t() + assert idaapi.get_opinfo(ea, 0, flags, ti), "get_opinfo() failed" + itemsize = idaapi.get_data_elsize(ea, flags, ti) + tid = ti.tid + else: + itemsize = idaapi.get_item_size(ea) + tid = BADADDR + + return idaapi.do_data_ex(ea, flags, itemsize*nitems, tid) + + +def MakeStr(ea, endea): + """ + Create a string. + + This function creates a string (the string type is determined by the + value of GetLongPrm(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 GetStringType() + """ + return idaapi.make_ascii_string(ea, 0 if endea == BADADDR else endea - ea, GetLongPrm(INF_STRTYPE)) + + +def MakeData(ea, flags, size, tid): + """ + Create a data item at the specified address + + @param ea: linear address + @param flags: FF_BYTE..FF_PACKREAL + @param size: size of item in bytes + @param tid: for FF_STRU the structure id + + @return: 1-ok, 0-failure + """ + return idaapi.do_data_ex(ea, flags, size, tid) + + +def MakeByte(ea): + """ + Convert the current item to a byte + + @param ea: linear address + + @return: 1-ok, 0-failure + """ + return idaapi.doByte(ea, 1) + + +def MakeWord(ea): + """ + Convert the current item to a word (2 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + """ + return idaapi.doWord(ea, 2) + + +def MakeDword(ea): + """ + Convert the current item to a double word (4 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + """ + return idaapi.doDwrd(ea, 4) + + +def MakeQword(ea): + """ + Convert the current item to a quadro word (8 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + """ + return idaapi.doQwrd(ea, 8) + + +def MakeOword(ea): + """ + Convert the current item to an octa word (16 bytes/128 bits) + + @param ea: linear address + + @return: 1-ok, 0-failure + """ + return idaapi.doOwrd(ea, 16) + + +def MakeYword(ea): + """ + Convert the current item to a ymm word (32 bytes/256 bits) + + @param ea: linear address + + @return: 1-ok, 0-failure + """ + return idaapi.doYwrd(ea, 32) + + +def MakeFloat(ea): + """ + Convert the current item to a floating point (4 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + """ + return idaapi.doFloat(ea, 4) + + +def MakeDouble(ea): + """ + Convert the current item to a double floating point (8 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + """ + return idaapi.doDouble(ea, 8) + + +def MakePackReal(ea): + """ + Convert the current item to a packed real (10 or 12 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + """ + return idaapi.doPackReal(ea, idaapi.ph_get_tbyte_size()) + + +def MakeTbyte(ea): + """ + Convert the current item to a tbyte (10 or 12 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + """ + return idaapi.doTbyt(ea, idaapi.ph_get_tbyte_size()) + + +def MakeStructEx(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 + """ + strid = idaapi.get_struc_id(strname) + + if size == -1: + size = idaapi.get_struc_size(strid) + + return idaapi.doStruct(ea, size, strid) + + +def MakeCustomDataEx(ea, size, dtid, fid): + """ + Convert the item at address to custom data. + + @param ea: linear address. + @param size: custom data size in bytes. + @param dtid: data type ID. + @param fid: data format ID. + + @return: 1-ok, 0-failure + """ + return idaapi.doCustomData(ea, size, dtid, fid) + + + +def MakeAlign(ea, count, align): + """ + Convert the current item to an alignment directive + + @param ea: linear address + @param count: number of bytes to convert + @param align: 0 or 1..32 + if it is 0, the correct alignment will be calculated + by the kernel + + @return: 1-ok, 0-failure + """ + return idaapi.doAlign(ea, count, align) + + +def MakeLocal(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. + """ + func = idaapi.get_func(start) + + if not func: + return 0 + + # Find out if location is in the [bp+xx] form + r = re.compile("\[([a-z]+)([-+][0-9a-fx]+)", re.IGNORECASE) + m = r.match(location) + + if m: + # Location in the form of [bp+xx] + register = idaapi.str2reg(m.group(1)) + offset = int(m.group(2), 0) + frame = idaapi.get_frame(func) + + if register == -1 or not frame: + return 0 + + offset += func.frsize + member = idaapi.get_member(frame, offset) + + if member: + # Member already exists, rename it + if idaapi.set_member_name(frame, offset, name): + return 1 + else: + return 0 + else: + # No member at the offset, create a new one + if idaapi.add_struc_member(frame, + name, + offset, + idaapi.byteflag(), + None, 1) == 0: + return 1 + else: + return 0 + else: + # Location as simple register name + return idaapi.add_regvar(func, start, end, location, name, None) + + +def MakeUnkn(ea, flags): + """ + Convert the current item to an explored item + + @param ea: linear address + @param flags: combination of DOUNK_* constants + + @return: None + """ + return idaapi.do_unknown(ea, flags) + + +def MakeUnknown(ea, size, flags): + """ + Convert the current item to an explored item + + @param ea: linear address + @param size: size of the range to undefine (for MakeUnknown) + @param flags: combination of DOUNK_* constants + + @return: None + """ + return idaapi.do_unknown_range(ea, size, flags) + + +DOUNK_SIMPLE = idaapi.DOUNK_SIMPLE # simply undefine the specified item +DOUNK_EXPAND = idaapi.DOUNK_EXPAND # propogate 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. +DOUNK_DELNAMES = idaapi.DOUNK_DELNAMES # delete any names at the specified address(es) + + +def SetArrayFormat(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 + """ + return Eval("SetArrayFormat(0x%X, 0x%X, %d, %d)"%(ea, flags, litems, align)) + +AP_ALLOWDUPS = 0x00000001L # use 'dup' construct +AP_SIGNED = 0x00000002L # treats numbers as signed +AP_INDEX = 0x00000004L # display array element indexes as comments +AP_ARRAY = 0x00000008L # reserved (this flag is not stored in database) +AP_IDXBASEMASK = 0x000000F0L # mask for number base of the indexes +AP_IDXDEC = 0x00000000L # display indexes in decimal +AP_IDXHEX = 0x00000010L # display indexes in hex +AP_IDXOCT = 0x00000020L # display indexes in octal +AP_IDXBIN = 0x00000030L # display indexes in binary + +def OpBinary(ea, n): + """ + Convert an operand of the item (instruction or data) to a binary number + + @param ea: linear address + @param n: number of operand + - 0 - the first operand + - 1 - the second, third and all other operands + - -1 - all operands + + @return: 1-ok, 0-failure + + @note: the data items use only the type of the first operand + """ + return idaapi.op_bin(ea, n) + + +def OpOctal(ea, n): + """ + Convert an operand of the item (instruction or data) to an octal number + + @param ea: linear address + @param n: number of operand + - 0 - the first operand + - 1 - the second, third and all other operands + - -1 - all operands + """ + return idaapi.op_oct(ea, n) + + +def OpDecimal(ea, n): + """ + Convert an operand of the item (instruction or data) to a decimal number + + @param ea: linear address + @param n: number of operand + - 0 - the first operand + - 1 - the second, third and all other operands + - -1 - all operands + """ + return idaapi.op_dec(ea, n) + + +def OpHex(ea, n): + """ + Convert an operand of the item (instruction or data) to a hexadecimal number + + @param ea: linear address + @param n: number of operand + - 0 - the first operand + - 1 - the second, third and all other operands + - -1 - all operands + """ + return idaapi.op_hex(ea, n) + + +def OpChr(ea, n): + """ + @param ea: linear address + @param n: number of operand + - 0 - the first operand + - 1 - the second, third and all other operands + - -1 - all operands + """ + return idaapi.op_chr(ea, n) + + +def OpOff(ea, n, base): + """ + Convert operand to an offset + (for the explanations of 'ea' and 'n' please see OpBinary()) + + 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: + + OpOff(["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 + """ + return idaapi.set_offset(ea, n, base) + + +OPND_OUTER = idaapi.OPND_OUTER # outer offset base + + +def OpOffEx(ea, n, reftype, target, base, tdelta): + """ + Convert operand to a complex offset expression + This is a more powerful version of OpOff() function. + It allows to explicitly specify the reference type (off8,off16, etc) + and the expression target with a possible target delta. + The complex expressions are represented by IDA in the following form: + + target + tdelta - base + + If the target is not present, then it will be calculated using + + target = operand_value - tdelta + base + + The target must be present for LOW.. and HIGH.. reference types + + @param ea: linear address of the instruction/data + @param n: number of operand to convert (the same as in OpOff) + @param reftype: one of REF_... constants + @param target: an explicitly specified expression target. if you don't + want to specify it, use -1. Please note that LOW... and + HIGH... reference type requre the target. + @param base: the offset base (a linear address) + @param tdelta: a displacement from the target which will be displayed + in the expression. + + @return: success (boolean) + """ + return idaapi.op_offset(ea, n, reftype, target, base, tdelta) + + +REF_OFF8 = idaapi.REF_OFF8 # 8bit full offset +REF_OFF16 = idaapi.REF_OFF16 # 16bit full offset +REF_OFF32 = idaapi.REF_OFF32 # 32bit full offset +REF_LOW8 = idaapi.REF_LOW8 # low 8bits of 16bit offset +REF_LOW16 = idaapi.REF_LOW16 # low 16bits of 32bit offset +REF_HIGH8 = idaapi.REF_HIGH8 # high 8bits of 16bit offset +REF_HIGH16 = idaapi.REF_HIGH16 # high 16bits of 32bit offset +REF_VHIGH = idaapi.REF_VHIGH # high ph.high_fixup_bits of 32bit offset (processor dependent) +REF_VLOW = idaapi.REF_VLOW # low (32-ph.high_fixup_bits) of 32bit offset (processor dependent) +REF_OFF64 = idaapi.REF_OFF64 # 64bit full offset +REFINFO_RVA = 0x10 # based reference (rva) +REFINFO_PASTEND = 0x20 # reference past an item it may point to an nonexistitng + # do not destroy alignment dirs +REFINFO_NOBASE = 0x80 # offset base is a number + # that base have be any value + # nb: base xrefs are created only if base + # points to the middle of a segment +REFINFO_SUBTRACT = 0x0100 # the reference value is subtracted from + # the base value instead of (as usual) + # being added to it +REFINFO_SIGNEDOP = 0x0200 # the operand value is sign-extended (only + # supported for REF_OFF8/16/32/64) + +def OpSeg(ea, n): + """ + Convert operand to a segment expression + + @param ea: linear address + @param n: number of operand + - 0 - the first operand + - 1 - the second, third and all other operands + - -1 - all operands + """ + return idaapi.op_seg(ea, n) + + +def OpNumber(ea, n): + """ + Convert operand to a number (with default number base, radix) + + @param ea: linear address + @param n: number of operand + - 0 - the first operand + - 1 - the second, third and all other operands + - -1 - all operands + """ + return idaapi.op_num(ea, n) + + +def OpFloat(ea, n): + """ + Convert operand to a floating-point number + + @param ea: linear address + @param n: number of operand + - 0 - the first operand + - 1 - the second, third and all other operands + - -1 - all operands + + @return: 1-ok, 0-failure + """ + return idaapi.op_flt(ea, n) + + +def OpAlt(ea, n, opstr): + """ + Specify operand represenation manually. + + @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 opstr: a string represenation of the operand + + @note: IDA will not check the specified operand, it will simply display + it instead of the orginal representation of the operand. + """ + return idaapi.set_forced_operand(ea, n, opstr) + + +def OpSign(ea, n): + """ + Change sign of 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 + """ + return idaapi.toggle_sign(ea, n) + + +def OpNot(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 + """ + idaapi.toggle_bnot(ea, n) + return True + + +def OpEnumEx(ea, n, enumid, serial): + """ + Convert operand to a symbolic constant + + @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 enumid: id of enumeration type + @param serial: serial number of the constant in the enumeration + The serial numbers are used if there are more than + one symbolic constant with the same value in the + enumeration. In this case the first defined constant + get the serial number 0, then second 1, etc. + There could be 256 symbolic constants with the same + value in the enumeration. + """ + return idaapi.op_enum(ea, n, enumid, serial) + + +def OpStroffEx(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. + + """ + path = idaapi.tid_array(1) + path[0] = strid + return idaapi.op_stroff(ea, n, path.cast(), 1, delta) + + +def OpStkvar(ea, n): + """ + Convert operand to a stack variable + + @param ea: linear address + @param n: number of operand + - 0 - the first operand + - 1 - the second, third and all other operands + - -1 - all operands + """ + return idaapi.op_stkvar(ea, n) + + +def OpHigh(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 + """ + return idaapi.op_offset(ea, n, idaapi.REF_HIGH16, target) + + +def 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. + """ + idaapi.doVar(ea, 1) + + +def ExtLinA(ea, n, line): + """ + Specify an additional line to display before the generated ones. + + @param ea: linear address + @param n: number of anterior additional line (0..MAX_ITEM_LINES) + @param line: the line to display + + @return: None + + @note: IDA displays additional lines from number 0 up to the first unexisting + additional line. So, if you specify additional line #150 and there is no + additional line #149, your line will not be displayed. MAX_ITEM_LINES is + defined in IDA.CFG + """ + idaapi.update_extra_cmt(ea, idaapi.E_PREV + n, line) + idaapi.doExtra(ea) + + +def ExtLinB(ea, n, line): + """ + Specify an additional line to display after the generated ones. + + @param ea: linear address + @param n: number of posterior additional line (0..MAX_ITEM_LINES) + @param line: the line to display + + @return: None + + @note: IDA displays additional lines from number 0 up to the first + unexisting additional line. So, if you specify additional line #150 + and there is no additional line #149, your line will not be displayed. + MAX_ITEM_LINES is defined in IDA.CFG + """ + idaapi.update_extra_cmt(ea, idaapi.E_NEXT + n, line) + idaapi.doExtra(ea) + + +def DelExtLnA(ea, n): + """ + Delete an additional anterior line + + @param ea: linear address + @param n: number of anterior additional line (0..500) + + @return: None + """ + idaapi.del_extra_cmt(ea, idaapi.E_PREV + n) + + +def DelExtLnB(ea, n): + """ + Delete an additional posterior line + + @param ea: linear address + @param n: number of posterior additional line (0..500) + + @return: None + """ + idaapi.del_extra_cmt(ea, idaapi.E_NEXT + n) + + +def SetManualInsn(ea, insn): + """ + Specify instruction represenation manually. + + @param ea: linear address + @param insn: a string represenation of the operand + + @note: IDA will not check the specified instruction, it will simply + display it instead of the orginal representation. + """ + return idaapi.set_manual_insn(ea, insn) + + +def GetManualInsn(ea): + """ + Get manual representation of instruction + + @param ea: linear address + + @note: This function returns value set by SetManualInsn earlier. + """ + return idaapi.get_manual_insn(ea) + + +def PatchDbgByte(ea,value): + """ + Change a byte in the debugged process memory only + + @param ea: address + @param value: new value of the byte + + @return: 1 if successful, 0 if not + """ + return idaapi.put_dbg_byte(ea, value) + + +def PatchByte(ea, value): + """ + Change value of a program byte + If debugger was active then the debugged process memory will be patched too + + @param ea: linear address + @param value: new value of the byte + + @return: 1 if the database has been modified, + 0 if either the debugger is running and the process' memory + has value 'value' at address 'ea', + or the debugger is not running, and the IDB + has value 'value' at address 'ea already. + """ + return idaapi.patch_byte(ea, value) + + +def PatchWord(ea, value): + """ + Change value of a program word (2 bytes) + + @param ea: linear address + @param value: new value of the word + + @return: 1 if the database has been modified, + 0 if either the debugger is running and the process' memory + has value 'value' at address 'ea', + or the debugger is not running, and the IDB + has value 'value' at address 'ea already. + """ + return idaapi.patch_word(ea, value) + + +def PatchDword(ea, value): + """ + Change value of a double word + + @param ea: linear address + @param value: new value of the double word + + @return: 1 if the database has been modified, + 0 if either the debugger is running and the process' memory + has value 'value' at address 'ea', + or the debugger is not running, and the IDB + has value 'value' at address 'ea already. + """ + return idaapi.patch_long(ea, value) + + +def PatchQword(ea, value): + """ + Change value of a quad word + + @param ea: linear address + @param value: new value of the quad word + + @return: 1 if the database has been modified, + 0 if either the debugger is running and the process' memory + has value 'value' at address 'ea', + or the debugger is not running, and the IDB + has value 'value' at address 'ea already. + """ + return idaapi.patch_qword(ea, value) + + +def SetFlags(ea, flags): + """ + Set new value of flags + This function should not used be used directly if possible. + It changes properties of a program byte and if misused, may lead to + very-very strange results. + + @param ea: adress + @param flags: new flags value + """ + return idaapi.setFlags(ea, flags) + +def SetRegEx(ea, reg, value, tag): + """ + 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. + + See also SetReg() compatibility macro. + """ + reg = idaapi.str2reg(reg); + if reg >= 0: + return idaapi.splitSRarea1(ea, reg, value, tag) + else: + return False + +SR_inherit = 1 # value is inherited from the previous area +SR_user = 2 # value is specified by the user +SR_auto = 3 # value is determined by IDA +SR_autostart = 4 # as SR_auto for segment starting address + + +def AutoMark2(start, end, queuetype): + """ + Plan to perform an action in the future. + This function will put your request to a special autoanalysis queue. + Later IDA will retrieve the request from the queue and process + it. There are several autoanalysis queue types. IDA will process all + queries from the first queue and then switch to the second queue, etc. + """ + return idaapi.auto_mark_range(start, end, queuetype) + + +def AutoUnmark(start, end, queuetype): + """ + Remove range of addresses from a queue. + """ + return idaapi.autoUnmark(start, end, queuetype) + + +def AutoMark(ea,qtype): + """ + Plan to analyze an address + """ + return AutoMark2(ea,ea+1,qtype) + +AU_UNK = idaapi.AU_UNK # make unknown +AU_CODE = idaapi.AU_CODE # convert to instruction +AU_PROC = idaapi.AU_PROC # make function +AU_USED = idaapi.AU_USED # reanalyze +AU_LIBF = idaapi.AU_LIBF # apply a flirt signature (the current signature!) +AU_FINAL = idaapi.AU_FINAL # coagulate unexplored items + + +#---------------------------------------------------------------------------- +# P R O D U C E O U T P U T F I L E S +#---------------------------------------------------------------------------- + +def GenerateFile(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 occured + OFILE_EXE: 0-can't generate exe file, 1-ok + """ + f = idaapi.fopenWT(path) + + if f: + retval = idaapi.gen_file(filetype, f, ea1, ea2, flags) + idaapi.eclose(f) + return retval + else: + return -1 + + +# output file types: +OFILE_MAP = idaapi.OFILE_MAP +OFILE_EXE = idaapi.OFILE_EXE +OFILE_IDC = idaapi.OFILE_IDC +OFILE_LST = idaapi.OFILE_LST +OFILE_ASM = idaapi.OFILE_ASM +OFILE_DIF = idaapi.OFILE_DIF + +# output control flags: +GENFLG_MAPSEG = idaapi.GENFLG_MAPSEG # map: generate map of segments +GENFLG_MAPNAME = idaapi.GENFLG_MAPNAME # map: include dummy names +GENFLG_MAPDMNG = idaapi.GENFLG_MAPDMNG # map: demangle names +GENFLG_MAPLOC = idaapi.GENFLG_MAPLOC # map: include local names +GENFLG_IDCTYPE = idaapi.GENFLG_IDCTYPE # idc: gen only information about types +GENFLG_ASMTYPE = idaapi.GENFLG_ASMTYPE # asm&lst: gen information about types too +GENFLG_GENHTML = idaapi.GENFLG_GENHTML # asm&lst: generate html (gui version only) +GENFLG_ASMINC = idaapi.GENFLG_ASMINC # asm&lst: gen information only about types + +def GenFuncGdl(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 area to flow chart + @param ea2: end of the area 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. + """ + return idaapi.gen_flow_graph(outfile, title, None, ea1, ea2, flags) + + +CHART_PRINT_NAMES = 0x1000 # print labels for each block? +CHART_GEN_GDL = 0x4000 # generate .gdl file (file extension is forced to .gdl) +CHART_WINGRAPH = 0x8000 # call wingraph32 to display the graph +CHART_NOLIBFUNCS = 0x0400 # don't include library functions in the graph + + +def GenCallGdl(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 + """ + return idaapi.gen_simple_call_chart(outfile, "Generating chart", title, flags) + + +#---------------------------------------------------------------------------- +# C O M M O N I N F O R M A T I O N +#---------------------------------------------------------------------------- +def GetIdaDirectory(): + """ + Get IDA directory + + This function returns the directory where IDA.EXE resides + """ + return idaapi.idadir("") + + +def GetInputFile(): + """ + Get input file name + + This function returns name of the file being disassembled + """ + return idaapi.get_root_filename() + + +def GetInputFilePath(): + """ + Get input file path + + This function returns the full path of the file being disassembled + """ + return idaapi.get_input_file_path() + + +def SetInputFilePath(path): + """ + Set input file name + This function updates the file name that is stored in the database + It is used by the debugger and other parts of IDA + Use it when the database is moved to another location or when you + use remote debugging. + + @param path: new input file path + """ + return idaapi.set_root_filename(path) + + +def GetIdbPath(): + """ + Get IDB full path + + This function returns full path of the current IDB database + """ + return idaapi.as_cstr(idaapi.cvar.database_idb) + + +def GetInputMD5(): + """ + Return the MD5 hash of the input binary file + + @return: MD5 string or None on error + """ + ua = idaapi.uchar_array(16) + if idaapi.retrieve_input_file_md5(ua.cast()): + return "".join(["%02X" % ua[i] for i in xrange(16)]) + else: + return None + + +def GetFlags(ea): + """ + Get internal flags + + @param ea: linear address + + @return: 32-bit value of internal flags. See start of IDC.IDC file + for explanations. + """ + return idaapi.getFlags(ea) + + +def IdbByte(ea): + """ + Get one byte (8-bit) of the program at 'ea' from the database even if the debugger is active + + @param ea: linear address + + @return: byte value. If the byte has no value then 0xFF is returned. + + @note: If the current byte size is different from 8 bits, then the returned value may have more 1's. + To check if a byte has a value, use this expr: hasValue(GetFlags(ea)) + """ + return idaapi.get_db_byte(ea) + + +def GetManyBytes(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 + """ + if use_dbg: + return idaapi.dbg_read_memory(ea, size) + else: + return idaapi.get_many_bytes(ea, size) + + +def Byte(ea): + """ + Get value of program byte + + @param ea: linear address + + @return: value of byte. If byte has no value then returns 0xFF + If the current byte size is different from 8 bits, then the returned value + might have more 1's. + To check if a byte has a value, use functions hasValue(GetFlags(ea)) + """ + return idaapi.get_full_byte(ea) + + +def __DbgValue(ea, len): + if len not in idaapi.__struct_unpack_table: + return None + r = idaapi.dbg_read_memory(ea, len) + return None if r is None else struct.unpack((">" if idaapi.cvar.inf.mf else "<") + idaapi.__struct_unpack_table[len][1], r)[0] + + +def DbgByte(ea): + """ + Get value of program byte using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + """ + return __DbgValue(ea, 1) + + +def DbgWord(ea): + """ + Get value of program word using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + """ + return __DbgValue(ea, 2) + + +def DbgDword(ea): + """ + Get value of program double-word using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + """ + return __DbgValue(ea, 4) + + +def DbgQword(ea): + """ + Get value of program quadro-word using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + """ + return __DbgValue(ea, 8) + + +def DbgRead(ea, size): + """ + Read from debugger memory. + + @param ea: linear address + @param size: size of data to read + @return: data as a string. If failed, If failed, throws an exception + + Thread-safe function (may be called only from the main thread and debthread) + """ + return idaapi.dbg_read_memory(ea, size) + + +def DbgWrite(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) + """ + if not idaapi.dbg_can_query(): + return -1 + elif len(data) > 0: + return idaapi.dbg_write_memory(ea, data) + + +def GetOriginalByte(ea): + """ + Get original value of program byte + + @param ea: linear address + + @return: the original value of byte before any patch applied to it + """ + return idaapi.get_original_byte(ea) + + +def Word(ea): + """ + Get value of program word (2 bytes) + + @param ea: linear address + + @return: the value of the word. If word has no value then returns 0xFFFF + If the current byte size is different from 8 bits, then the returned value + might have more 1's. + """ + return idaapi.get_full_word(ea) + + +def Dword(ea): + """ + Get value of program double word (4 bytes) + + @param ea: linear address + + @return: the value of the double word. If failed returns -1 + """ + return idaapi.get_full_long(ea) + + +def Qword(ea): + """ + Get value of program quadro word (8 bytes) + + @param ea: linear address + + @return: the value of the quadro word. If failed, returns -1 + """ + return idaapi.get_qword(ea) + + +def 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 + """ + tmp = struct.pack("I", Dword(ea)) + return struct.unpack("f", tmp)[0] + + +def 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 + """ + tmp = struct.pack("Q", Qword(ea)) + return struct.unpack("d", tmp)[0] + + +def LocByName(name): + """ + Get linear address of a name + + @param name: name of program byte + + @return: address of the name + BADADDR - No such name + """ + return idaapi.get_name_ea(BADADDR, name) + + +def LocByNameEx(fromaddr, name): + """ + Get linear address of a name + + @param fromaddr: the referring address. Allows to retrieve local label + addresses in functions. If a local name is not found, + then address of a global name is returned. + + @param name: name of program byte + + @return: address of the name (BADADDR - no such name) + + @note: 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. + """ + return idaapi.get_name_ea(fromaddr, name) + + +def SegByBase(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 + """ + sel = idaapi.find_selector(base) + seg = idaapi.get_segm_by_sel(sel) + + if seg: + return seg.startEA + else: + return BADADDR + + +def ScreenEA(): + """ + Get linear address of cursor + """ + return idaapi.get_screen_ea() + + +def GetCurrentLine(): + """ + Get the disassembly line at the cursor + + @return: string + """ + return idaapi.tag_remove(idaapi.get_curline()) + + +def SelStart(): + """ + Get start address of the selected area + returns BADADDR - the user has not selected an area + """ + selection, startaddr, endaddr = idaapi.read_selection() + + if selection == 1: + return startaddr + else: + return BADADDR + + +def SelEnd(): + """ + Get end address of the selected area + + @return: BADADDR - the user has not selected an area + """ + selection, startaddr, endaddr = idaapi.read_selection() + + if selection == 1: + return endaddr + else: + return BADADDR + + +def GetReg(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 by the segment register you need to + call AskSelector() function. + """ + reg = idaapi.str2reg(reg); + if reg >= 0: + return idaapi.getSR(ea, reg) + else: + return -1 + +def NextAddr(ea): + """ + Get next address in the program + + @param ea: linear address + + @return: BADADDR - the specified address in the last used address + """ + return idaapi.nextaddr(ea) + + +def PrevAddr(ea): + """ + Get previous address in the program + + @param ea: linear address + + @return: BADADDR - the specified address in the first address + """ + return idaapi.prevaddr(ea) + + +def NextHead(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 + """ + return idaapi.next_head(ea, maxea) + + +def PrevHead(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 + """ + return idaapi.prev_head(ea, minea) + + +def NextNotTail(ea): + """ + Get next not-tail address in the program + This function searches for the next displayable address in the program. + The tail bytes of instructions and data are not displayable. + + @param ea: linear address + + @return: BADADDR - no (more) not-tail addresses + """ + return idaapi.next_not_tail(ea) + + +def PrevNotTail(ea): + """ + Get previous not-tail address in the program + This function searches for the previous displayable address in the program. + The tail bytes of instructions and data are not displayable. + + @param ea: linear address + + @return: BADADDR - no (more) not-tail addresses + """ + return idaapi.prev_not_tail(ea) + + +def ItemHead(ea): + """ + Get starting address of the item (instruction or data) + + @param ea: linear address + + @return: the starting address of the item + if the current address is unexplored, returns 'ea' + """ + return idaapi.get_item_head(ea) + + +def ItemEnd(ea): + """ + Get address of the end of the item (instruction or data) + + @param ea: linear address + + @return: address past end of the item at 'ea' + """ + return idaapi.get_item_end(ea) + + +def ItemSize(ea): + """ + Get size of instruction or data item in bytes + + @param ea: linear address + + @return: 1..n + """ + return idaapi.get_item_end(ea) - ea + + +def NameEx(fromaddr, ea): + """ + Get visible name of program byte + + This function returns name of byte as it is displayed on the screen. + If a name contains illegal characters, IDA replaces them by the + substitution character during displaying. See IDA.CFG for the + definition of the substitution character. + + @param fromaddr: the referring address. May be BADADDR. + Allows to retrieve local label addresses in functions. + If a local name is not found, then a global name is + returned. + @param ea: linear address + + @return: "" - byte has no name + """ + name = idaapi.get_name(fromaddr, ea) + + if not name: + return "" + else: + return name + + +def GetTrueNameEx(fromaddr, ea): + """ + Get true name of program byte + + This function returns name of byte as is without any replacements. + + @param fromaddr: the referring address. May be BADADDR. + Allows to retrieve local label addresses in functions. + If a local name is not found, then a global name is returned. + @param ea: linear address + + @return: "" - byte has no name + """ + name = idaapi.get_true_name(fromaddr, ea) + + if not name: + return "" + else: + return name + + +def Demangle(name, disable_mask): + """ + Demangle 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 + GetLongPrm(INF_SHORT_DN) or GetLongPrm(INF_LONG_DN) + + @return: a demangled name + If the input name cannot be demangled, returns None + """ + return idaapi.demangle_name(name, disable_mask) + + +def GetDisasmEx(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. + """ + text = idaapi.generate_disasm_line(ea, flags) + if text: + return idaapi.tag_remove(text) + else: + return "" + +# flags for GetDisasmEx +# generate a disassembly line as if +# there is an instruction at 'ea' +GENDSM_FORCE_CODE = idaapi.GENDSM_FORCE_CODE + +# if the instruction consists of several lines, +# produce all of them (useful for parallel instructions) +GENDSM_MULTI_LINE = idaapi.GENDSM_MULTI_LINE + +def 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. + """ + return GetDisasmEx(ea, 0) + +def GetMnem(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. + """ + res = idaapi.ua_mnem(ea) + + if not res: + return "" + else: + return res + + +def GetOpnd(ea, n): + """ + Get operand of an instruction + + @param ea: linear address of instruction + @param n: number of operand: + 0 - the first operand + 1 - the second operand + + @return: the current text representation of operand or "" + """ + + if not isCode(idaapi.get_flags_novalue(ea)): + return "" + + res = idaapi.ua_outop2(ea, n) + + if not res: + return "" + else: + return idaapi.tag_remove(res) + + +def GetOpType(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 + """ + inslen = idaapi.decode_insn(ea) + return -1 if inslen == 0 else idaapi.cmd.Operands[n].type + + +o_void = idaapi.o_void # No Operand ---------- +o_reg = idaapi.o_reg # General Register (al,ax,es,ds...) reg +o_mem = idaapi.o_mem # Direct Memory Reference (DATA) addr +o_phrase = idaapi.o_phrase # Memory Ref [Base Reg + Index Reg] phrase +o_displ = idaapi.o_displ # Memory Reg [Base Reg + Index Reg + Displacement] phrase+addr +o_imm = idaapi.o_imm # Immediate Value value +o_far = idaapi.o_far # Immediate Far Address (CODE) addr +o_near = idaapi.o_near # Immediate Near Address (CODE) addr +o_idpspec0 = idaapi.o_idpspec0 # Processor specific type +o_idpspec1 = idaapi.o_idpspec1 # Processor specific type +o_idpspec2 = idaapi.o_idpspec2 # Processor specific type +o_idpspec3 = idaapi.o_idpspec3 # Processor specific type +o_idpspec4 = idaapi.o_idpspec4 # Processor specific type +o_idpspec5 = idaapi.o_idpspec5 # Processor specific type + # There can be more processor specific types + +# x86 +o_trreg = idaapi.o_idpspec0 # trace register +o_dbreg = idaapi.o_idpspec1 # debug register +o_crreg = idaapi.o_idpspec2 # control register +o_fpreg = idaapi.o_idpspec3 # floating point register +o_mmxreg = idaapi.o_idpspec4 # mmx register +o_xmmreg = idaapi.o_idpspec5 # xmm register + +# arm +o_reglist = idaapi.o_idpspec1 # Register list (for LDM/STM) +o_creglist = idaapi.o_idpspec2 # Coprocessor register list (for CDP) +o_creg = idaapi.o_idpspec3 # Coprocessor register (for LDC/STC) +o_fpreg_arm = idaapi.o_idpspec4 # Floating point register +o_fpreglist = idaapi.o_idpspec5 # Floating point register list +o_text = (idaapi.o_idpspec5+1) # Arbitrary text stored in the operand + +# ppc +o_spr = idaapi.o_idpspec0 # Special purpose register +o_twofpr = idaapi.o_idpspec1 # Two FPRs +o_shmbme = idaapi.o_idpspec2 # SH & MB & ME +o_crf = idaapi.o_idpspec3 # crfield x.reg +o_crb = idaapi.o_idpspec4 # crbit x.reg +o_dcr = idaapi.o_idpspec5 # Device control register + +def GetOperandValue(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 + """ + inslen = idaapi.decode_insn(ea) + if inslen == 0: + return -1 + op = idaapi.cmd.Operands[n] + if not op: + return -1 + + if op.type in [ idaapi.o_mem, idaapi.o_far, idaapi.o_near, idaapi.o_displ ]: + value = op.addr + elif op.type == idaapi.o_reg: + value = op.reg + elif op.type == idaapi.o_imm: + value = op.value + elif op.type == idaapi.o_phrase: + value = op.phrase + else: + value = -1 + return value + + +def LineA(ea, num): + """ + Get anterior line + + @param ea: linear address + @param num: number of anterior line (0..MAX_ITEM_LINES) + MAX_ITEM_LINES is defined in IDA.CFG + + @return: anterior line string + """ + return idaapi.get_extra_cmt(ea, idaapi.E_PREV + num) + + +def LineB(ea, num): + """ + Get posterior line + + @param ea: linear address + @param num: number of posterior line (0..MAX_ITEM_LINES) + + @return: posterior line string + """ + return idaapi.get_extra_cmt(ea, idaapi.E_NEXT + num) + + +def GetCommentEx(ea, repeatable): + """ + Get regular indented comment + + @param ea: linear address + + @param repeatable: 1 to get the repeatable comment, 0 to get the normal comment + + @return: string or None if it fails + """ + return idaapi.get_cmt(ea, repeatable) + + +def CommentEx(ea, repeatable): + """ + Get regular indented comment + + @param ea: linear address + + @param repeatable: 1 to get the repeatable comment, 0 to get the normal comment + + @return: string or None if it fails + """ + return GetCommentEx(ea, repeatable) + + +def AltOp(ea, n): + """ + Get manually entered operand string + + @param ea: linear address + @param n: number of operand: + 0 - the first operand + 1 - the second operand + + @return: string or None if it fails + """ + return idaapi.get_forced_operand(ea, n) + +ASCSTR_C = idaapi.ASCSTR_TERMCHR # C-style ASCII string +ASCSTR_PASCAL = idaapi.ASCSTR_PASCAL # Pascal-style ASCII string (length byte) +ASCSTR_LEN2 = idaapi.ASCSTR_LEN2 # Pascal-style, length is 2 bytes +ASCSTR_UNICODE = idaapi.ASCSTR_UNICODE # Unicode string +ASCSTR_LEN4 = idaapi.ASCSTR_LEN4 # Pascal-style, length is 4 bytes +ASCSTR_ULEN2 = idaapi.ASCSTR_ULEN2 # Pascal-style Unicode, length is 2 bytes +ASCSTR_ULEN4 = idaapi.ASCSTR_ULEN4 # Pascal-style Unicode, length is 4 bytes +ASCSTR_LAST = idaapi.ASCSTR_LAST # Last string type + +def GetString(ea, length = -1, strtype = ASCSTR_C): + """ + 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 ASCSTR_... constants) + + @return: string contents or empty string + """ + if length == -1: + length = idaapi.get_max_ascii_length(ea, strtype, idaapi.ALOPT_IGNHEADS) + + return idaapi.get_ascii_contents2(ea, length, strtype) + + +def GetStringType(ea): + """ + Get string type + + @param ea: linear address + + @return: One of ASCSTR_... constants + """ + ti = idaapi.opinfo_t() + + if idaapi.get_opinfo(ea, 0, GetFlags(ea), ti): + return ti.strtype + else: + return None + +# The following functions search for the specified byte +# ea - address to start from +# flag is combination of the following bits + +# returns BADADDR - not found +def FindVoid (ea, flag): return idaapi.find_void(ea, flag) +def FindCode (ea, flag): return idaapi.find_code(ea, flag) +def FindData (ea, flag): return idaapi.find_data(ea, flag) +def FindUnexplored (ea, flag): return idaapi.find_unknown(ea, flag) +def FindExplored (ea, flag): return idaapi.find_defined(ea, flag) +def FindImmediate (ea, flag, value): return idaapi.find_imm(ea, flag, value) + +SEARCH_UP = idaapi.SEARCH_UP # search backward +SEARCH_DOWN = idaapi.SEARCH_DOWN # search forward +SEARCH_NEXT = idaapi.SEARCH_NEXT # start the search at the next/prev item + # useful only for FindText() and FindBinary() +SEARCH_CASE = idaapi.SEARCH_CASE # search case-sensitive + # (only for bin&txt search) +SEARCH_REGEX = idaapi.SEARCH_REGEX # enable regular expressions (only for text) +SEARCH_NOBRK = idaapi.SEARCH_NOBRK # don't test ctrl-break +SEARCH_NOSHOW = idaapi.SEARCH_NOSHOW # don't display the search progress + +def FindText(ea, flag, y, x, searchstr): + """ + @param ea: start address + @param flag: combination of SEARCH_* flags + @param y: number of text line at ea to start from (0..MAX_ITEM_LINES) + @param x: coordinate in this line + @param searchstr: search string + + @return: ea of result or BADADDR if not found + """ + return idaapi.find_text(ea, y, x, searchstr, flag) + + +def FindBinary(ea, flag, searchstr, radix=16): + """ + @param ea: start address + @param flag: combination of SEARCH_* flags + @param searchstr: a string as a user enters it for Search Text in Core + @param radix: radix of the numbers (default=16) + + @return: ea of result or BADADDR if not found + + @note: Example: "41 42" - find 2 bytes 41h,42h (radix is 16) + """ + endea = flag & 1 and idaapi.cvar.inf.maxEA or idaapi.cvar.inf.minEA + return idaapi.find_binary(ea, endea, searchstr, radix, flag) + + +#---------------------------------------------------------------------------- +# G L O B A L S E T T I N G S M A N I P U L A T I O N +#---------------------------------------------------------------------------- +def ChangeConfig(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 + """ + return Eval('ChangeConfig("%s")' % idaapi.str2user(directive)) + + +# The following functions allow you to set/get common parameters. +# Please note that not all parameters can be set directly. + +def GetLongPrm(offset): + """ + """ + val = _IDC_GetAttr(idaapi.cvar.inf, _INFMAP, offset) + if offset == INF_PROCNAME: + # procName is a character array + val = idaapi.as_cstr(val) + return val + +def GetShortPrm(offset): + return GetLongPrm(offset) + + +def GetCharPrm (offset): + return GetLongPrm(offset) + + +def SetLongPrm (offset, value): + """ + """ + if offset == INF_PROCNAME: + raise NotImplementedError, "Please use idaapi.set_processor_type() to change processor" + return _IDC_SetAttr(idaapi.cvar.inf, _INFMAP, offset, value) + + +def SetShortPrm(offset, value): + SetLongPrm(offset, value) + + +def SetCharPrm (offset, value): + SetLongPrm(offset, value) + + +INF_VERSION = 3 # short; Version of database +INF_PROCNAME = 5 # char[8]; Name of current processor +INF_LFLAGS = 13 # char; IDP-dependent flags +LFLG_PC_FPP = 0x01 # decode floating point processor + # instructions? +LFLG_PC_FLAT = 0x02 # Flat model? +LFLG_64BIT = 0x04 # 64-bit program? +LFLG_DBG_NOPATH = 0x08 # do not store input full path +LFLG_SNAPSHOT = 0x10 # is memory snapshot? + # in debugger process options +INF_DEMNAMES = 14 # char; display demangled names as: +DEMNAM_CMNT = 0 # comments +DEMNAM_NAME = 1 # regular names +DEMNAM_NONE = 2 # don't display +INF_FILETYPE = 15 # short; type of input file (see ida.hpp) +FT_EXE_OLD = 0 # MS DOS EXE File (obsolete) +FT_COM_OLD = 1 # MS DOS COM File (obsolete) +FT_BIN = 2 # Binary File +FT_DRV = 3 # MS DOS Driver +FT_WIN = 4 # New Executable (NE) +FT_HEX = 5 # Intel Hex Object File +FT_MEX = 6 # MOS Technology Hex Object File +FT_LX = 7 # Linear Executable (LX) +FT_LE = 8 # Linear Executable (LE) +FT_NLM = 9 # Netware Loadable Module (NLM) +FT_COFF = 10 # Common Object File Format (COFF) +FT_PE = 11 # Portable Executable (PE) +FT_OMF = 12 # Object Module Format +FT_SREC = 13 # R-records +FT_ZIP = 14 # ZIP file (this file is never loaded to IDA database) +FT_OMFLIB = 15 # Library of OMF Modules +FT_AR = 16 # ar library +FT_LOADER = 17 # file is loaded using LOADER DLL +FT_ELF = 18 # Executable and Linkable Format (ELF) +FT_W32RUN = 19 # Watcom DOS32 Extender (W32RUN) +FT_AOUT = 20 # Linux a.out (AOUT) +FT_PRC = 21 # PalmPilot program file +FT_EXE = 22 # MS DOS EXE File +FT_COM = 23 # MS DOS COM File +FT_AIXAR = 24 # AIX ar library +INF_FCORESIZ = 17 +INF_CORESTART = 21 +INF_OSTYPE = 25 # short; FLIRT: OS type the program is for +OSTYPE_MSDOS = 0x0001 +OSTYPE_WIN = 0x0002 +OSTYPE_OS2 = 0x0004 +OSTYPE_NETW = 0x0008 +INF_APPTYPE = 27 # short; FLIRT: Application type +APPT_CONSOLE = 0x0001 # console +APPT_GRAPHIC = 0x0002 # graphics +APPT_PROGRAM = 0x0004 # EXE +APPT_LIBRARY = 0x0008 # DLL +APPT_DRIVER = 0x0010 # DRIVER +APPT_1THREAD = 0x0020 # Singlethread +APPT_MTHREAD = 0x0040 # Multithread +APPT_16BIT = 0x0080 # 16 bit application +APPT_32BIT = 0x0100 # 32 bit application +INF_START_SP = 29 # long; SP register value at the start of + # program execution +INF_START_AF = 33 # short; Analysis flags: +AF_FIXUP = 0x0001 # Create offsets and segments using fixup info +AF_MARKCODE = 0x0002 # Mark typical code sequences as code +AF_UNK = 0x0004 # Delete instructions with no xrefs +AF_CODE = 0x0008 # Trace execution flow +AF_PROC = 0x0010 # Create functions if call is present +AF_USED = 0x0020 # Analyze and create all xrefs +AF_FLIRT = 0x0040 # Use flirt signatures +AF_PROCPTR = 0x0080 # Create function if data xref data->code32 exists +AF_JFUNC = 0x0100 # Rename jump functions as j_... +AF_NULLSUB = 0x0200 # Rename empty functions as nullsub_... +AF_LVAR = 0x0400 # Create stack variables +AF_TRACE = 0x0800 # Trace stack pointer +AF_ASCII = 0x1000 # Create ascii string if data xref exists +AF_IMMOFF = 0x2000 # Convert 32bit instruction operand to offset +AF_DREFOFF = 0x4000 # Create offset if data xref to seg32 exists +AF_FINAL = 0x8000 # Final pass of analysis +INF_START_IP = 35 # long; IP register value at the start of + # program execution +INF_BEGIN_EA = 39 # long; Linear address of program entry point +INF_MIN_EA = 43 # long; The lowest address used + # in the program +INF_MAX_EA = 47 # long; The highest address used + # in the program - = 1 +INF_OMIN_EA = 51 +INF_OMAX_EA = 55 +INF_LOW_OFF = 59 # long; low limit of voids +INF_HIGH_OFF = 63 # long; high limit of voids +INF_MAXREF = 67 # long; max xref depth +INF_ASCII_BREAK = 71 # char; ASCII line break symbol +INF_WIDE_HIGH_BYTE_FIRST = 72 +INF_INDENT = 73 # char; Indention for instructions +INF_COMMENT = 74 # char; Indention for comments +INF_XREFNUM = 75 # char; Number of references to generate + # = 0 - xrefs wont be generated at all +INF_ENTAB = 76 # char; Use '\t' chars in the output file? +INF_SPECSEGS = 77 +INF_VOIDS = 78 # char; Display void marks? +INF_SHOWAUTO = 80 # char; Display autoanalysis indicator? +INF_AUTO = 81 # char; Autoanalysis is enabled? +INF_BORDER = 82 # char; Generate borders? +INF_NULL = 83 # char; Generate empty lines? +INF_GENFLAGS = 84 # char; General flags: +INFFL_LZERO = 0x01 # generate leading zeroes in numbers +INFFL_LOADIDC = 0x04 # Loading an idc file t +INF_SHOWPREF = 85 # char; Show line prefixes? +INF_PREFSEG = 86 # char; line prefixes with segment name? +INF_ASMTYPE = 87 # char; target assembler number (0..n) +INF_BASEADDR = 88 # long; base paragraph of the program +INF_XREFS = 92 # char; xrefs representation: +SW_SEGXRF = 0x01 # show segments in xrefs? +SW_XRFMRK = 0x02 # show xref type marks? +SW_XRFFNC = 0x04 # show function offsets? +SW_XRFVAL = 0x08 # show xref values? (otherwise-"...") +INF_BINPREF = 93 # short; # of instruction bytes to show + # in line prefix +INF_CMTFLAG = 95 # char; comments: +SW_RPTCMT = 0x01 # show repeatable comments? +SW_ALLCMT = 0x02 # comment all lines? +SW_NOCMT = 0x04 # no comments at all +SW_LINNUM = 0x08 # show source line numbers +SW_MICRO = 0x10 # show microcode (if implemented) +INF_NAMETYPE = 96 # char; dummy names represenation type +NM_REL_OFF = 0 +NM_PTR_OFF = 1 +NM_NAM_OFF = 2 +NM_REL_EA = 3 +NM_PTR_EA = 4 +NM_NAM_EA = 5 +NM_EA = 6 +NM_EA4 = 7 +NM_EA8 = 8 +NM_SHORT = 9 +NM_SERIAL = 10 +INF_SHOWBADS = 97 # char; show bad instructions? + # an instruction is bad if it appears + # in the ash.badworks array + +INF_PREFFLAG = 98 # char; line prefix type: +PREF_SEGADR = 0x01 # show segment addresses? +PREF_FNCOFF = 0x02 # show function offsets? +PREF_STACK = 0x04 # show stack pointer? + +INF_PACKBASE = 99 # char; pack database? + +INF_ASCIIFLAGS = 100 # uchar; ascii flags +ASCF_GEN = 0x01 # generate ASCII names? +ASCF_AUTO = 0x02 # ASCII names have 'autogenerated' bit? +ASCF_SERIAL = 0x04 # generate serial names? +ASCF_COMMENT = 0x10 # generate auto comment for ascii references? +ASCF_SAVECASE = 0x20 # preserve case of ascii strings for identifiers + +INF_LISTNAMES = 101 # uchar; What names should be included in the list? +LN_NORMAL = 0x01 # normal names +LN_PUBLIC = 0x02 # public names +LN_AUTO = 0x04 # autogenerated names +LN_WEAK = 0x08 # weak names + +INF_ASCIIPREF = 102 # char[16];ASCII names prefix +INF_ASCIISERNUM = 118 # ulong; serial number +INF_ASCIIZEROES = 122 # char; leading zeroes +INF_MF = 126 # uchar; Byte order: 1==MSB first +INF_ORG = 127 # char; Generate 'org' directives? +INF_ASSUME = 128 # char; Generate 'assume' directives? +INF_CHECKARG = 129 # char; Check manual operands? +INF_START_SS = 130 # long; value of SS at the start +INF_START_CS = 134 # long; value of CS at the start +INF_MAIN = 138 # long; address of main() +INF_SHORT_DN = 142 # long; short form of demangled names +INF_LONG_DN = 146 # long; long form of demangled names + # see demangle.h for definitions +INF_DATATYPES = 150 # long; data types allowed in data carousel +INF_STRTYPE = 154 # long; current ascii string type + # is considered as several bytes: + # low byte: +ASCSTR_TERMCHR = 0 # Character-terminated ASCII string +ASCSTR_C = 0 # C-string, zero terminated +ASCSTR_PASCAL = 1 # Pascal-style ASCII string (length byte) +ASCSTR_LEN2 = 2 # Pascal-style, length is 2 bytes +ASCSTR_UNICODE = 3 # Unicode string +ASCSTR_LEN4 = 4 # Delphi string, length is 4 bytes +ASCSTR_ULEN2 = 5 # Pascal-style Unicode, length is 2 bytes +ASCSTR_ULEN4 = 6 # Pascal-style Unicode, length is 4 bytes + +# = 2nd byte - termination chracters for ASCSTR_TERMCHR: +#STRTERM1(strtype) ((strtype>>8)&0xFF) +# = 3d byte: +#STRTERM2(strtype) ((strtype>>16)&0xFF) + # The termination characters are kept in + # the = 2nd and 3d bytes of string type + # if the second termination character is + # '\0', then it is ignored. +INF_AF2 = 158 # ushort; Analysis flags 2 +AF2_JUMPTBL = 0x0001 # Locate and create jump tables +AF2_DODATA = 0x0002 # Coagulate data segs in final pass +AF2_HFLIRT = 0x0004 # Automatically hide library functions +AF2_STKARG = 0x0008 # Propagate stack argument information +AF2_REGARG = 0x0010 # Propagate register argument information +AF2_CHKUNI = 0x0020 # Check for unicode strings +AF2_SIGCMT = 0x0040 # Append a signature name comment for recognized anonymous library functions +AF2_SIGMLT = 0x0080 # Allow recognition of several copies of the same function +AF2_FTAIL = 0x0100 # Create function tails +AF2_DATOFF = 0x0200 # Automatically convert data to offsets +AF2_ANORET = 0x0400 # Perform 'no-return' analysis +AF2_VERSP = 0x0800 # Perform full stack pointer analysis +AF2_DOCODE = 0x1000 # Coagulate code segs at the final pass +AF2_TRFUNC = 0x2000 # Truncate functions upon code deletion +AF2_PURDAT = 0x4000 # Control flow to data segment is ignored +INF_NAMELEN = 160 # ushort; max name length (without zero byte) +INF_MARGIN = 162 # ushort; max length of data lines +INF_LENXREF = 164 # ushort; max length of line with xrefs +INF_LPREFIX = 166 # char[16];prefix of local names + # if a new name has this prefix, + # it will be automatically converted to a local name +INF_LPREFIXLEN = 182 # uchar; length of the lprefix +INF_COMPILER = 183 # uchar; compiler +COMP_MASK = 0x0F # mask to apply to get the pure compiler id +COMP_UNK = 0x00 # Unknown +COMP_MS = 0x01 # Visual C++ +COMP_BC = 0x02 # Borland C++ +COMP_WATCOM = 0x03 # Watcom C++ +COMP_GNU = 0x06 # GNU C++ +COMP_VISAGE = 0x07 # Visual Age C++ +COMP_BP = 0x08 # Delphi + +INF_MODEL = 184 # uchar; memory model & calling convention +INF_SIZEOF_INT = 185 # uchar; sizeof(int) +INF_SIZEOF_BOOL = 186 # uchar; sizeof(bool) +INF_SIZEOF_ENUM = 187 # uchar; sizeof(enum) +INF_SIZEOF_ALGN = 188 # uchar; default alignment +INF_SIZEOF_SHORT = 189 +INF_SIZEOF_LONG = 190 +INF_SIZEOF_LLONG = 191 +INF_CHANGE_COUNTER = 192 # database change counter; keeps track of byte and segment modifications +INF_SIZEOF_LDBL = 196 # uchar; sizeof(long double) + +# Redefine these offsets for 64-bit version +if __EA64__: + INF_CORESTART = 25 + INF_OSTYPE = 33 + INF_APPTYPE = 35 + INF_START_SP = 37 + INF_AF = 45 + INF_START_IP = 47 + INF_BEGIN_EA = 55 + INF_MIN_EA = 63 + INF_MAX_EA = 71 + INF_OMIN_EA = 79 + INF_OMAX_EA = 87 + INF_LOW_OFF = 95 + INF_HIGH_OFF = 103 + INF_MAXREF = 111 + INF_ASCII_BREAK = 119 + INF_WIDE_HIGH_BYTE_FIRST = 120 + INF_INDENT = 121 + INF_COMMENT = 122 + INF_XREFNUM = 123 + INF_ENTAB = 124 + INF_SPECSEGS = 125 + INF_VOIDS = 126 + INF_SHOWAUTO = 128 + INF_AUTO = 129 + INF_BORDER = 130 + INF_NULL = 131 + INF_GENFLAGS = 132 + INF_SHOWPREF = 133 + INF_PREFSEG = 134 + INF_ASMTYPE = 135 + INF_BASEADDR = 136 + INF_XREFS = 144 + INF_BINPREF = 145 + INF_CMTFLAG = 147 + INF_NAMETYPE = 148 + INF_SHOWBADS = 149 + INF_PREFFLAG = 150 + INF_PACKBASE = 151 + INF_ASCIIFLAGS = 152 + INF_LISTNAMES = 153 + INF_ASCIIPREF = 154 + INF_ASCIISERNUM = 170 + INF_ASCIIZEROES = 178 + INF_MF = 182 + INF_ORG = 183 + INF_ASSUME = 184 + INF_CHECKARG = 185 + INF_START_SS = 186 + INF_START_CS = 194 + INF_MAIN = 202 + INF_SHORT_DN = 210 + INF_LONG_DN = 218 + INF_DATATYPES = 226 + INF_STRTYPE = 234 + INF_AF2 = 242 + INF_NAMELEN = 244 + INF_MARGIN = 246 + INF_LENXREF = 248 + INF_LPREFIX = 250 + INF_LPREFIXLEN = 266 + INF_COMPILER = 267 + INF_MODEL = 268 + INF_SIZEOF_INT = 269 + INF_SIZEOF_BOOL = 270 + INF_SIZEOF_ENUM = 271 + INF_SIZEOF_ALGN = 272 + INF_SIZEOF_SHORT = 273 + INF_SIZEOF_LONG = 274 + INF_SIZEOF_LLONG = 275 + INF_CHANGE_COUNTER = 276 + INF_SIZEOF_LBDL = 280 + +_INFMAP = { +INF_VERSION : (False, 'version'), # short; Version of database +INF_PROCNAME : (False, 'procName'), # char[8]; Name of current processor +INF_LFLAGS : (False, 'lflags'), # char; IDP-dependent flags +INF_DEMNAMES : (False, 'demnames'), # char; display demangled names as: +INF_FILETYPE : (False, 'filetype'), # short; type of input file (see ida.hpp) +INF_FCORESIZ : (False, 'fcoresize'), +INF_CORESTART : (False, 'corestart'), +INF_OSTYPE : (False, 'ostype'), # short; FLIRT: OS type the program is for +INF_APPTYPE : (False, 'apptype'), # short; FLIRT: Application type +INF_START_SP : (False, 'startSP'), # long; SP register value at the start of +INF_START_AF : (False, 'af'), # short; Analysis flags: +INF_START_IP : (False, 'startIP'), # long; IP register value at the start of +INF_BEGIN_EA : (False, 'beginEA'), # long; Linear address of program entry point +INF_MIN_EA : (False, 'minEA'), # long; The lowest address used +INF_MAX_EA : (False, 'maxEA'), # long; The highest address used +INF_OMIN_EA : (False, 'ominEA'), +INF_OMAX_EA : (False, 'omaxEA'), +INF_LOW_OFF : (False, 'lowoff'), # long; low limit of voids +INF_HIGH_OFF : (False, 'highoff'), # long; high limit of voids +INF_MAXREF : (False, 'maxref'), # long; max xref depth +INF_ASCII_BREAK : (False, 'ASCIIbreak'), # char; ASCII line break symbol +INF_WIDE_HIGH_BYTE_FIRST : (False, 'wide_high_byte_first'), +INF_INDENT : (False, 'indent'), # char; Indention for instructions +INF_COMMENT : (False, 'comment'), # char; Indention for comments +INF_XREFNUM : (False, 'xrefnum'), # char; Number of references to generate +INF_ENTAB : (False, 's_entab'), # char; Use '\t' chars in the output file? +INF_SPECSEGS : (False, 'specsegs'), +INF_VOIDS : (False, 's_void'), # char; Display void marks? +INF_SHOWAUTO : (False, 's_showauto'), # char; Display autoanalysis indicator? +INF_AUTO : (False, 's_auto'), # char; Autoanalysis is enabled? +INF_BORDER : (False, 's_limiter'), # char; Generate borders? +INF_NULL : (False, 's_null'), # char; Generate empty lines? +INF_GENFLAGS : (False, 's_genflags'), # char; General flags: +INF_SHOWPREF : (False, 's_showpref'), # char; Show line prefixes? +INF_PREFSEG : (False, 's_prefseg'), # char; line prefixes with segment name? +INF_ASMTYPE : (False, 'asmtype'), # char; target assembler number (0..n) +INF_BASEADDR : (False, 'baseaddr'), # long; base paragraph of the program +INF_XREFS : (False, 's_xrefflag'), # char; xrefs representation: +INF_BINPREF : (False, 'binSize'), # short; # of instruction bytes to show +INF_CMTFLAG : (False, 's_cmtflg'), # char; comments: +INF_NAMETYPE : (False, 'nametype'), # char; dummy names represenation type +INF_SHOWBADS : (False, 's_showbads'), # char; show bad instructions? +INF_PREFFLAG : (False, 's_prefflag'), # char; line prefix type: +INF_PACKBASE : (False, 's_packbase'), # char; pack database? +INF_ASCIIFLAGS : (False, 'asciiflags'), # uchar; ascii flags +INF_LISTNAMES : (False, 'listnames'), # uchar; What names should be included in the list? +INF_ASCIIPREF : (False, 'ASCIIpref'), # char[16];ASCII names prefix +INF_ASCIISERNUM : (False, 'ASCIIsernum'), # ulong; serial number +INF_ASCIIZEROES : (False, 'ASCIIzeroes'), # char; leading zeroes +INF_MF : (False, 'mf'), # uchar; Byte order: 1==MSB first +INF_ORG : (False, 's_org'), # char; Generate 'org' directives? +INF_ASSUME : (False, 's_assume'), # char; Generate 'assume' directives? +INF_CHECKARG : (False, 's_checkarg'), # char; Check manual operands? +INF_START_SS : (False, 'start_ss'), # long; value of SS at the start +INF_START_CS : (False, 'start_cs'), # long; value of CS at the start +INF_MAIN : (False, 'main'), # long; address of main() +INF_SHORT_DN : (False, 'short_demnames'), # long; short form of demangled names +INF_LONG_DN : (False, 'long_demnames'), # long; long form of demangled names +INF_DATATYPES : (False, 'datatypes'), # long; data types allowed in data carousel +INF_STRTYPE : (False, 'strtype'), # long; current ascii string type +INF_AF2 : (False, 'af2'), # ushort; Analysis flags 2 +INF_NAMELEN : (False, 'namelen'), # ushort; max name length (without zero byte) +INF_MARGIN : (False, 'margin'), # ushort; max length of data lines +INF_LENXREF : (False, 'lenxref'), # ushort; max length of line with xrefs +INF_LPREFIX : (False, 'lprefix'), # char[16];prefix of local names +INF_LPREFIXLEN : (False, 'lprefixlen'), # uchar; length of the lprefix +INF_COMPILER : (False, 'cc') # uchar; compiler + +#INF_MODEL = 184 # uchar; memory model & calling convention +#INF_SIZEOF_INT = 185 # uchar; sizeof(int) +#INF_SIZEOF_BOOL = 186 # uchar; sizeof(bool) +#INF_SIZEOF_ENUM = 187 # uchar; sizeof(enum) +#INF_SIZEOF_ALGN = 188 # uchar; default alignment +#INF_SIZEOF_SHORT = 189 +#INF_SIZEOF_LONG = 190 +#INF_SIZEOF_LLONG = 191 +} + + +def SetProcessorType (processor, level): + """ + Change current processor + + @param processor: name of processor in short form. + run 'ida ?' to get list of allowed processor types + @param level: the power of request: + - SETPROC_COMPAT - search for the processor type in the current module + - SETPROC_ALL - search for the processor type in all modules + only if there were not calls with SETPROC_USER + - SETPROC_USER - search for the processor type in all modules + and prohibit level SETPROC_USER + - SETPROC_FATAL - can be combined with previous bits. + means that if the processor type can't be + set, IDA should display an error message and exit. + """ + return idaapi.set_processor_type(processor, level) + +def SetTargetAssembler(asmidx): + """ + Set target assembler + @param asmidx: index of the target assembler in the array of + assemblers for the current processor. + + @return: 1-ok, 0-failed + """ + return idaapi.set_target_assembler(asmidx) + +SETPROC_COMPAT = idaapi.SETPROC_COMPAT +SETPROC_ALL = idaapi.SETPROC_ALL +SETPROC_USER = idaapi.SETPROC_USER +SETPROC_FATAL = idaapi.SETPROC_FATAL + +def SetPrcsr(processor): return SetProcessorType(processor, SETPROC_COMPAT) + + +def 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 + """ + batch_prev = idaapi.cvar.batch + idaapi.cvar.batch = batch + return batch_prev + + +#---------------------------------------------------------------------------- +# I N T E R A C T I O N W I T H T H E U S E R +#---------------------------------------------------------------------------- +def AskStr(defval, prompt): + """ + Ask the user to enter a string + + @param defval: the default string value. This value will appear + in the dialog box. + @param prompt: the prompt to display in the dialog box + + @return: the entered string or None. + """ + return idaapi.askstr(0, defval, prompt) + + +def AskFile(forsave, mask, prompt): + """ + Ask the user to choose a file + + @param forsave: 0: "Open" dialog box, 1: "Save" dialog box + @param mask: the input file mask as "*.*" or the default file name. + @param prompt: the prompt to display in the dialog box + + @return: the selected file or None. + """ + return idaapi.askfile_c(forsave, mask, prompt) + + +def AskAddr(defval, prompt): + """ + Ask the user to enter an address + + @param defval: an ea_t designating the default address value. This value + will appear in the dialog box. + @param prompt: the prompt to display in the dialog box + + @return: the entered address or BADADDR. + """ + return idaapi.askaddr(defval, prompt) + + +def AskLong(defval, prompt): + """ + Ask the user to enter a number + + @param defval: a number designating the default value. This value + will appear in the dialog box. + @param prompt: the prompt to display in the dialog box + + @return: the entered number or -1. + """ + return idaapi.asklong(defval, prompt) + + +def ProcessUiAction(name, flags=0): + """ + Invokes an IDA UI action by name + + @param name: Command name + @param flags: Reserved. Must be zero + @return: Boolean + """ + return idaapi.process_ui_action(name, flags) + + +def AskSeg(defval, prompt): + """ + Ask the user to enter a segment value + + @param defval: the default value. This value + will appear in the dialog box. + @param prompt: the prompt to display in the dialog box + + @return: the entered segment selector or BADSEL. + """ + return idaapi.askseg(defval, prompt) + + +def AskIdent(defval, prompt): + """ + Ask the user to enter an identifier + + @param defval: the default identifier. This value will appear in + the dialog box. + @param prompt: the prompt to display in the dialog box + + @return: the entered identifier or None. + """ + return idaapi.askident(defval, prompt) + + +def AskYN(defval, prompt): + """ + Ask the user a question and let him answer Yes/No/Cancel + + @param defval: the default answer. This answer will be selected if the user + presses Enter. -1:cancel,0-no,1-ok + @param prompt: the prompt to display in the dialog box + + @return: -1:cancel,0-no,1-ok + """ + return idaapi.askyn_c(defval, prompt) + + +def Message(msg): + """ + Display a message in the message window + + @param msg: message to print (formatting is done in Python) + + This function can be used to debug IDC scripts + """ + idaapi.msg(msg) + + +def UMessage(msg): + """ + 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 msg: message to print (formatting is done in Python) + + This function can be used to debug IDC scripts + """ + idaapi.umsg(msg) + + +def Warning(msg): + """ + Display a message in a message box + + @param msg: message to print (formatting is done in Python) + + This function can be used to debug IDC scripts + The user will be able to hide messages if they appear twice in a row on + the screen + """ + idaapi.warning(msg) + + +def Fatal(format): + """ + Display a fatal message in a message box and quit IDA + + @param format: message to print + """ + idaapi.error(format) + + +def SetStatus(status): + """ + Change IDA indicator. + + @param status: new status + + @return: the previous status. + """ + return idaapi.setStat(status) + + +IDA_STATUS_READY = 0 # READY IDA is idle +IDA_STATUS_THINKING = 1 # THINKING Analyzing but the user may press keys +IDA_STATUS_WAITING = 2 # WAITING Waiting for the user input +IDA_STATUS_WORK = 3 # BUSY IDA is busy + + +def Refresh(): + """ + Refresh all disassembly views + """ + idaapi.refresh_idaview_anyway() + + +def RefreshLists(): + """ + Refresh all list views (names, functions, etc) + """ + idaapi.refresh_lists() + + +#---------------------------------------------------------------------------- +# S E G M E N T A T I O N +#---------------------------------------------------------------------------- +def AskSelector(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 + """ + s = idaapi.sel_pointer() + base = idaapi.ea_pointer() + res,tmp = idaapi.getn_selector(sel, s.cast(), base.cast()) + + if not res: + return sel + else: + return base.value() + + +def FindSelector(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 + """ + return idaapi.find_selector(val) & 0xFFFF + + +def SetSelector(sel, value): + """ + Set a selector value + + @param sel: the selector number + @param value: value of selector + + @return: None + + @note: ida supports up to 4096 selectors. + if 'sel' == 'val' then the selector is destroyed because + it has no significance + """ + return idaapi.set_selector(sel, value) + + +def DelSelector(sel): + """ + Delete a selector + + @param sel: the selector number to delete + + @return: None + + @note: if the selector is found, it will be deleted + """ + return idaapi.del_selector(sel) + + +def FirstSeg(): + """ + Get first segment + + @return: address of the start of the first segment + BADADDR - no segments are defined + """ + seg = idaapi.get_first_seg() + if not seg: + return BADADDR + else: + return seg.startEA + + +def NextSeg(ea): + """ + Get next segment + + @param ea: linear address + + @return: start of the next segment + BADADDR - no next segment + """ + nextseg = idaapi.get_next_seg(ea) + if not nextseg: + return BADADDR + else: + return nextseg.startEA + + return BADADDR + + +def SegStart(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 + """ + seg = idaapi.getseg(ea) + + if not seg: + return BADADDR + else: + return seg.startEA + + +def SegEnd(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 + """ + seg = idaapi.getseg(ea) + + if not seg: + return BADADDR + else: + return seg.endEA + + +def SegName(ea): + """ + Get name of a segment + + @param ea: any address in the segment + + @return: "" - no segment at the specified address + """ + seg = idaapi.getseg(ea) + + if not seg: + return "" + else: + name = idaapi.get_true_segm_name(seg) + + if not name: + return "" + else: + return name + + +def AddSegEx(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 + """ + s = idaapi.segment_t() + s.startEA = startea + s.endEA = endea + s.sel = idaapi.setup_selector(base) + s.bitness = use32 + s.align = align + s.comb = comb + return idaapi.add_segm_ex(s, "", "", flags) + +ADDSEG_NOSREG = idaapi.ADDSEG_NOSREG # set all default segment register values + # to BADSELs + # (undefine all default segment registers) +ADDSEG_OR_DIE = idaapi. ADDSEG_OR_DIE # qexit() if can't add a segment +ADDSEG_NOTRUNC = idaapi.ADDSEG_NOTRUNC # don't truncate the new segment at the beginning + # of the next segment if they overlap. + # destroy/truncate old segments instead. +ADDSEG_QUIET = idaapi.ADDSEG_QUIET # silent mode, no "Adding segment..." in the messages window +ADDSEG_FILLGAP = idaapi.ADDSEG_FILLGAP # If there is a gap between the new segment + # and the previous one, 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 can not hold more than ~1000 gaps. +ADDSEG_SPARSE = idaapi.ADDSEG_SPARSE # Use sparse storage method for the new segment + +def AddSeg(startea, endea, base, use32, align, comb): + return AddSegEx(startea, endea, base, use32, align, comb, ADDSEG_NOSREG) + +def DelSeg(ea, flags): + """ + Delete a segment + + @param ea: any address in the segment + @param flags: combination of SEGMOD_* flags + + @return: boolean success + """ + return idaapi.del_segm(ea, flags) + +SEGMOD_KILL = idaapi.SEGMOD_KILL # disable addresses if segment gets + # shrinked or deleted +SEGMOD_KEEP = idaapi.SEGMOD_KEEP # keep information (code & data, etc) +SEGMOD_SILENT = idaapi.SEGMOD_SILENT # be silent + + +def SetSegBounds(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 + """ + return idaapi.set_segm_start(ea, startea, flags) & \ + idaapi.set_segm_end(ea, endea, flags) + + +def RenameSeg(ea, name): + """ + Change name of the segment + + @param ea: any address in the segment + @param name: new name of the segment + + @return: success (boolean) + """ + seg = idaapi.getseg(ea) + + if not seg: + return False + + return idaapi.set_segm_name(seg, name) + + +def SetSegClass(ea, segclass): + """ + Change class of the segment + + @param ea: any address in the segment + @param segclass: new class of the segment + + @return: success (boolean) + """ + seg = idaapi.getseg(ea) + + if not seg: + return False + + return idaapi.set_segm_class(seg, segclass) + + +def SegAlign(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) + """ + return SetSegmentAttr(ea, SEGATTR_ALIGN, alignment) + + +saAbs = idaapi.saAbs # Absolute segment. +saRelByte = idaapi.saRelByte # Relocatable, byte aligned. +saRelWord = idaapi.saRelWord # Relocatable, word (2-byte, 16-bit) aligned. +saRelPara = idaapi.saRelPara # Relocatable, paragraph (16-byte) aligned. +saRelPage = idaapi.saRelPage # Relocatable, aligned on 256-byte boundary + # (a "page" in the original Intel specification). +saRelDble = idaapi.saRelDble # Relocatable, aligned on a double word + # (4-byte) boundary. This value is used by + # the PharLap OMF for the same alignment. +saRel4K = idaapi.saRel4K # This value is used by the PharLap OMF for + # page (4K) alignment. It is not supported + # by LINK. +saGroup = idaapi.saGroup # Segment group +saRel32Bytes = idaapi.saRel32Bytes # 32 bytes +saRel64Bytes = idaapi.saRel64Bytes # 64 bytes +saRelQword = idaapi.saRelQword # 8 bytes + + +def SegComb(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) + """ + return SetSegmentAttr(segea, SEGATTR_COMB, comb) + + +scPriv = idaapi.scPriv # Private. Do not combine with any other program + # segment. +scPub = idaapi.scPub # Public. Combine by appending at an offset that + # meets the alignment requirement. +scPub2 = idaapi.scPub2 # As defined by Microsoft, same as C=2 (public). +scStack = idaapi.scStack # Stack. Combine as for C=2. This combine type + # forces byte alignment. +scCommon = idaapi.scCommon # Common. Combine by overlay using maximum size. +scPub3 = idaapi.scPub3 # As defined by Microsoft, same as C=2 (public). + + +def SetSegAddressing(ea, bitness): + """ + Change segment addressing + + @param ea: any address in the segment + @param bitness: 0: 16bit, 1: 32bit, 2: 64bit + + @return: success (boolean) + """ + seg = idaapi.getseg(ea) + + if not seg: + return False + + seg.bitness = bitness + + return True + + +def SegByName(segname): + """ + Get segment by name + + @param segname: name of segment + + @return: segment selector or BADADDR + """ + seg = idaapi.get_segm_by_name(segname) + + if not seg: + return BADADDR + + return seg.sel + + +def SetSegDefReg(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. + """ + seg = idaapi.getseg(ea) + + reg = idaapi.str2reg(reg); + if seg and reg >= 0: + return idaapi.SetDefaultRegisterValue(seg, reg, value) + else: + return False + + +def SetSegmentType(segea, segtype): + """ + Set segment type + + @param segea: any address within segment + @param segtype: new segment type: + + @return: !=0 - ok + """ + seg = idaapi.getseg(segea) + + if not seg: + return False + + seg.type = segtype + return seg.update() + + +SEG_NORM = idaapi.SEG_NORM +SEG_XTRN = idaapi.SEG_XTRN # * segment with 'extern' definitions + # no instructions are allowed +SEG_CODE = idaapi.SEG_CODE # pure code segment +SEG_DATA = idaapi.SEG_DATA # pure data segment +SEG_IMP = idaapi.SEG_IMP # implementation segment +SEG_GRP = idaapi.SEG_GRP # * group of segments + # no instructions are allowed +SEG_NULL = idaapi.SEG_NULL # zero-length segment +SEG_UNDF = idaapi.SEG_UNDF # undefined segment type +SEG_BSS = idaapi.SEG_BSS # uninitialized segment +SEG_ABSSYM = idaapi.SEG_ABSSYM # * segment with definitions of absolute symbols + # no instructions are allowed +SEG_COMM = idaapi.SEG_COMM # * segment with communal definitions + # no instructions are allowed +SEG_IMEM = idaapi.SEG_IMEM # internal processor memory & sfr (8051) + + +def GetSegmentAttr(segea, attr): + """ + Get segment attribute + + @param segea: any address within segment + @param attr: one of SEGATTR_... constants + """ + seg = idaapi.getseg(segea) + assert seg, "could not find segment at 0x%x" % segea + if attr in [ SEGATTR_ES, SEGATTR_CS, SEGATTR_SS, SEGATTR_DS, SEGATTR_FS, SEGATTR_GS ]: + return idaapi.get_defsr(seg, _SEGATTRMAP[attr][1]) + else: + return _IDC_GetAttr(seg, _SEGATTRMAP, attr) + + +def SetSegmentAttr(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 SetSegAddressing, etc. + """ + seg = idaapi.getseg(segea) + assert seg, "could not find segment at 0x%x" % segea + if attr in [ SEGATTR_ES, SEGATTR_CS, SEGATTR_SS, SEGATTR_DS, SEGATTR_FS, SEGATTR_GS ]: + idaapi.set_defsr(seg, _SEGATTRMAP[attr][1], value) + else: + _IDC_SetAttr(seg, _SEGATTRMAP, attr, value) + return seg.update() + + +SEGATTR_START = 0 # starting address +SEGATTR_END = 4 # ending address +SEGATTR_ORGBASE = 16 +SEGATTR_ALIGN = 20 # alignment +SEGATTR_COMB = 21 # combination +SEGATTR_PERM = 22 # permissions +SEGATTR_BITNESS = 23 # bitness (0: 16, 1: 32, 2: 64 bit segment) + # Note: modifying the attribute directly does + # not lead to the reanalysis of the segment. + # Using SetSegAddressing() is more correct. +SEGATTR_FLAGS = 24 # segment flags +SEGATTR_SEL = 26 # segment selector +SEGATTR_ES = 30 # default ES value +SEGATTR_CS = 34 # default CS value +SEGATTR_SS = 38 # default SS value +SEGATTR_DS = 42 # default DS value +SEGATTR_FS = 46 # default FS value +SEGATTR_GS = 50 # default GS value +SEGATTR_TYPE = 94 # segment type +SEGATTR_COLOR = 95 # segment color + +# Redefining these for 64-bit +if __EA64__: + SEGATTR_START = 0 + SEGATTR_END = 8 + SEGATTR_ORGBASE = 32 + SEGATTR_ALIGN = 40 + SEGATTR_COMB = 41 + SEGATTR_PERM = 42 + SEGATTR_BITNESS = 43 + SEGATTR_FLAGS = 44 + SEGATTR_SEL = 46 + SEGATTR_ES = 54 + SEGATTR_CS = 62 + SEGATTR_SS = 70 + SEGATTR_DS = 78 + SEGATTR_FS = 86 + SEGATTR_GS = 94 + SEGATTR_TYPE = 182 + SEGATTR_COLOR = 183 + +_SEGATTRMAP = { + SEGATTR_START : (True, 'startEA'), + SEGATTR_END : (True, 'endEA'), + SEGATTR_ORGBASE : (False, 'orgbase'), + SEGATTR_ALIGN : (False, 'align'), + SEGATTR_COMB : (False, 'comb'), + SEGATTR_PERM : (False, 'perm'), + SEGATTR_BITNESS : (False, 'bitness'), + SEGATTR_FLAGS : (False, 'flags'), + SEGATTR_SEL : (False, 'sel'), + SEGATTR_ES : (False, 0), + SEGATTR_CS : (False, 1), + SEGATTR_SS : (False, 2), + SEGATTR_DS : (False, 3), + SEGATTR_FS : (False, 4), + SEGATTR_GS : (False, 5), + SEGATTR_TYPE : (False, 'type'), + SEGATTR_COLOR : (False, 'color'), +} + +# Valid segment flags +SFL_COMORG = 0x01 # IDP dependent field (IBM PC: if set, ORG directive is not commented out) +SFL_OBOK = 0x02 # orgbase is present? (IDP dependent field) +SFL_HIDDEN = 0x04 # is the segment hidden? +SFL_DEBUG = 0x08 # is the segment created for the debugger? +SFL_LOADER = 0x10 # is the segment created by the loader? +SFL_HIDETYPE = 0x20 # hide segment type (do not print it in the listing) + + +def MoveSegm(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 + """ + seg = idaapi.getseg(ea) + if not seg: + return MOVE_SEGM_PARAM + return idaapi.move_segm(seg, to, flags) + + +MSF_SILENT = 0x0001 # don't display a "please wait" box on the screen +MSF_NOFIX = 0x0002 # don't call the loader to fix relocations +MSF_LDKEEP = 0x0004 # keep the loader in the memory (optimization) +MSF_FIXONCE = 0x0008 # valid for rebase_program(): call loader only once + +MOVE_SEGM_OK = 0 # all ok +MOVE_SEGM_PARAM = -1 # The specified segment does not exist +MOVE_SEGM_ROOM = -2 # Not enough free room at the target address +MOVE_SEGM_IDP = -3 # IDP module forbids moving the segment +MOVE_SEGM_CHUNK = -4 # Too many chunks are defined, can't move +MOVE_SEGM_LOADER = -5 # The segment has been moved but the loader complained +MOVE_SEGM_ODD = -6 # Can't move segments by an odd number of bytes + + +def rebase_program(delta, flags): + """ + Rebase the whole program by 'delta' bytes + + @param delta: number of bytes to move the program + @param flags: combination of MFS_... constants + it is recommended to use MSF_FIXONCE so that the loader takes + care of global variables it stored in the database + + @returns: error code MOVE_SEGM_... + """ + return idaapi.rebase_program(delta, flags) + + +def SetStorageType(startEA, endEA, stt): + """ + Set storage type + + @param startEA: starting address + @param endEA: ending address + @param stt: new storage type, one of STT_VA and STT_MM + + @returns: 0 - ok, otherwise internal error code + """ + return idaapi.change_storage_type(startEA, endEA, stt) + + +STT_VA = 0 # regular storage: virtual arrays, an explicit flag for each byte +STT_MM = 1 # memory map: sparse storage. useful for huge objects + + +#---------------------------------------------------------------------------- +# C R O S S R E F E R E N C E S +#---------------------------------------------------------------------------- +# Flow types (combine with XREF_USER!): +fl_CF = 16 # Call Far +fl_CN = 17 # Call Near +fl_JF = 18 # Jump Far +fl_JN = 19 # Jump Near +fl_F = 21 # Ordinary flow + +XREF_USER = 32 # All user-specified xref types + # must be combined with this bit + + +# Mark exec flow 'from' 'to' +def AddCodeXref(From, To, flowtype): + """ + """ + return idaapi.add_cref(From, To, flowtype) + + +def DelCodeXref(From, To, undef): + """ + Unmark exec flow 'from' 'to' + + @param undef: make 'To' undefined if no more references to it + + @returns: 1 - planned to be made undefined + """ + return idaapi.del_cref(From, To, undef) + + +# The following functions include the ordinary flows: +# (the ordinary flow references are returned first) +def Rfirst(From): + """ + Get first code xref from 'From' + """ + return idaapi.get_first_cref_from(From) + + +def Rnext(From, current): + """ + Get next code xref from + """ + return idaapi.get_next_cref_from(From, current) + + +def RfirstB(To): + """ + Get first code xref to 'To' + """ + return idaapi.get_first_cref_to(To) + + +def RnextB(To, current): + """ + Get next code xref to 'To' + """ + return idaapi.get_next_cref_to(To, current) + + +# The following functions don't take into account the ordinary flows: +def Rfirst0(From): + """ + Get first xref from 'From' + """ + return idaapi.get_first_fcref_from(From) + + +def Rnext0(From, current): + """ + Get next xref from + """ + return idaapi.get_next_fcref_from(From, current) + + +def RfirstB0(To): + """ + Get first xref to 'To' + """ + return idaapi.get_first_fcref_to(To) + + +def RnextB0(To, current): + """ + Get next xref to 'To' + """ + return idaapi.get_next_fcref_to(To, current) + + +# Data reference types (combine with XREF_USER!): +dr_O = idaapi.dr_O # Offset +dr_W = idaapi.dr_W # Write +dr_R = idaapi.dr_R # Read +dr_T = idaapi.dr_T # Text (names in manual operands) +dr_I = idaapi.dr_I # Informational + + +def add_dref(From, To, drefType): + """ + Create Data Ref + """ + return idaapi.add_dref(From, To, drefType) + + +def del_dref(From, To): + """ + Unmark Data Ref + """ + return idaapi.del_dref(From, To) + + +def Dfirst(From): + """ + Get first data xref from 'From' + """ + return idaapi.get_first_dref_from(From) + + +def Dnext(From, current): + """ + Get next data xref from 'From' + """ + return idaapi.get_next_dref_from(From, current) + + +def DfirstB(To): + """ + Get first data xref to 'To' + """ + return idaapi.get_first_dref_to(To) + + +def DnextB(To, current): + """ + Get next data xref to 'To' + """ + return idaapi.get_next_dref_to(To, current) + + +def XrefType(): + """ + Return type of the last xref obtained by + [RD]first/next[B0] functions. + + @return: constants fl_* or dr_* + """ + raise DeprecatedIDCError, "use XrefsFrom() XrefsTo() from idautils instead." + + +#---------------------------------------------------------------------------- +# F I L E I / O +#---------------------------------------------------------------------------- +def fopen(f, mode): + raise DeprecatedIDCError, "fopen() deprecated. Use Python file objects instead." + +def fclose(handle): + raise DeprecatedIDCError, "fclose() deprecated. Use Python file objects instead." + +def filelength(handle): + raise DeprecatedIDCError, "filelength() deprecated. Use Python file objects instead." + +def fseek(handle, offset, origin): + raise DeprecatedIDCError, "fseek() deprecated. Use Python file objects instead." + +def ftell(handle): + raise DeprecatedIDCError, "ftell() deprecated. Use Python file objects instead." + + +def 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 + """ + li = idaapi.open_linput(filepath, False) + + if li: + retval = idaapi.file2base(li, pos, ea, ea+size, False) + idaapi.close_linput(li) + return retval + else: + return 0 + +def loadfile(filepath, pos, ea, size): return LoadFile(filepath, pos, ea, size) + + +def 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 + """ + if ( os.path.isfile(filepath) ): + of = idaapi.fopenM(filepath) + else: + of = idaapi.fopenWB(filepath) + + + if of: + retval = idaapi.base2file(of, pos, ea, ea+size) + idaapi.eclose(of) + return retval + else: + return 0 + +def savefile(filepath, pos, ea, size): return SaveFile(filepath, pos, ea, size) + + +def fgetc(handle): + raise DeprecatedIDCError, "fgetc() deprecated. Use Python file objects instead." + +def fputc(byte, handle): + raise DeprecatedIDCError, "fputc() deprecated. Use Python file objects instead." + +def fprintf(handle, format, *args): + raise DeprecatedIDCError, "fprintf() deprecated. Use Python file objects instead." + +def readshort(handle, mostfirst): + raise DeprecatedIDCError, "readshort() deprecated. Use Python file objects instead." + +def readlong(handle, mostfirst): + raise DeprecatedIDCError, "readlong() deprecated. Use Python file objects instead." + +def writeshort(handle, word, mostfirst): + raise DeprecatedIDCError, "writeshort() deprecated. Use Python file objects instead." + +def writelong(handle, dword, mostfirst): + raise DeprecatedIDCError, "writelong() deprecated. Use Python file objects instead." + +def readstr(handle): + raise DeprecatedIDCError, "readstr() deprecated. Use Python file objects instead." + +def writestr(handle, s): + raise DeprecatedIDCError, "writestr() deprecated. Use Python file objects instead." + +# ---------------------------------------------------------------------------- +# F U N C T I O N S +# ---------------------------------------------------------------------------- + +def MakeFunction(start, end = 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 idaapi.add_func(start, end) + + +def DelFunction(ea): + """ + Delete a function + + @param ea: any address belonging to the function + + @return: !=0 - ok + """ + return idaapi.del_func(ea) + + +def SetFunctionEnd(ea, end): + """ + Change function end address + + @param ea: any address belonging to the function + @param end: new function end address + + @return: !=0 - ok + """ + return idaapi.func_setend(ea, end) + + +def NextFunction(ea): + """ + Find next function + + @param ea: any address belonging to the function + + @return: BADADDR - no more functions + otherwise returns the next function start address + """ + func = idaapi.get_next_func(ea) + + if not func: + return BADADDR + else: + return func.startEA + + +def PrevFunction(ea): + """ + Find previous function + + @param ea: any address belonging to the function + + @return: BADADDR - no more functions + otherwise returns the previous function start address + """ + func = idaapi.get_prev_func(ea) + + if not func: + return BADADDR + else: + return func.startEA + + +def GetFunctionAttr(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 + """ + func = idaapi.get_func(ea) + + return _IDC_GetAttr(func, _FUNCATTRMAP, attr) if func else BADADDR + + +def SetFunctionAttr(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 + """ + func = idaapi.get_func(ea) + + if func: + _IDC_SetAttr(func, _FUNCATTRMAP, attr, value) + return idaapi.update_func(func) + return 0 + + +FUNCATTR_START = 0 # function start address +FUNCATTR_END = 4 # function end address +FUNCATTR_FLAGS = 8 # function flags +FUNCATTR_FRAME = 10 # function frame id +FUNCATTR_FRSIZE = 14 # size of local variables +FUNCATTR_FRREGS = 18 # size of saved registers area +FUNCATTR_ARGSIZE = 20 # number of bytes purged from the stack +FUNCATTR_FPD = 24 # frame pointer delta +FUNCATTR_COLOR = 28 # function color code +FUNCATTR_OWNER = 10 # chunk owner (valid only for tail chunks) +FUNCATTR_REFQTY = 14 # number of chunk parents (valid only for tail chunks) + +# Redefining the constants for 64-bit +if __EA64__: + FUNCATTR_START = 0 + FUNCATTR_END = 8 + FUNCATTR_FLAGS = 16 + FUNCATTR_FRAME = 18 + FUNCATTR_FRSIZE = 26 + FUNCATTR_FRREGS = 34 + FUNCATTR_ARGSIZE = 36 + FUNCATTR_FPD = 44 + FUNCATTR_COLOR = 52 + FUNCATTR_OWNER = 18 + FUNCATTR_REFQTY = 26 + + +_FUNCATTRMAP = { + FUNCATTR_START : (True, 'startEA'), + FUNCATTR_END : (True, 'endEA'), + FUNCATTR_FLAGS : (False, 'flags'), + FUNCATTR_FRAME : (True, 'frame'), + FUNCATTR_FRSIZE : (True, 'frsize'), + FUNCATTR_FRREGS : (True, 'frregs'), + FUNCATTR_ARGSIZE : (True, 'argsize'), + FUNCATTR_FPD : (False, 'fpd'), + FUNCATTR_COLOR : (False, 'color'), + FUNCATTR_OWNER : (True, 'owner'), + FUNCATTR_REFQTY : (True, 'refqty') +} + + +def GetFunctionFlags(ea): + """ + Retrieve function flags + + @param ea: any address belonging to the function + + @return: -1 - function doesn't exist otherwise returns the flags + """ + func = idaapi.get_func(ea) + + if not func: + return -1 + else: + return func.flags + + +FUNC_NORET = idaapi.FUNC_NORET # function doesn't return +FUNC_FAR = idaapi.FUNC_FAR # far function +FUNC_LIB = idaapi.FUNC_LIB # library function +FUNC_STATIC = idaapi.FUNC_STATICDEF # static function +FUNC_FRAME = idaapi.FUNC_FRAME # function uses frame pointer (BP) +FUNC_USERFAR = idaapi.FUNC_USERFAR # user has specified far-ness + # of the function +FUNC_HIDDEN = idaapi.FUNC_HIDDEN # a hidden function +FUNC_THUNK = idaapi.FUNC_THUNK # thunk (jump) function +FUNC_BOTTOMBP = idaapi.FUNC_BOTTOMBP # BP points to the bottom of the stack frame +FUNC_NORET_PENDING = idaapi.FUNC_NORET_PENDING # Function 'non-return' analysis + # must be performed. This flag is + # verified upon func_does_return() +FUNC_SP_READY = idaapi.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 = idaapi.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 = idaapi.FUNC_TAIL # This is a function tail. + # Other bits must be clear + # (except FUNC_HIDDEN) + + +def SetFunctionFlags(ea, flags): + """ + Change function flags + + @param ea: any address belonging to the function + @param flags: see GetFunctionFlags() for explanations + + @return: !=0 - ok + """ + func = idaapi.get_func(ea) + + if not func: + return 0 + else: + func.flags = flags + idaapi.update_func(func) + return 1 + + +def GetFunctionName(ea): + """ + Retrieve function name + + @param ea: any address belonging to the function + + @return: null string - function doesn't exist + otherwise returns function name + """ + name = idaapi.get_func_name(ea) + + if not name: + return "" + else: + return name + + +def GetFunctionCmt(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 + """ + func = idaapi.get_func(ea) + + if not func: + return "" + else: + comment = idaapi.get_func_cmt(func, repeatable) + + if not comment: + return "" + else: + return comment + + +def SetFunctionCmt(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 + """ + func = idaapi.get_func(ea) + + if not func: + return None + else: + return idaapi.set_func_cmt(func, cmt, repeatable) + + +def ChooseFunction(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 + """ + f = idaapi.choose_func(title, idaapi.BADADDR) + return BADADDR if f is None else f.startEA + + +def GetFuncOffset(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 + """ + return idaapi.a2funcoff(ea) + + +def FindFuncEnd(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 + """ + func = idaapi.func_t() + + res = idaapi.find_func_bounds(ea, func, idaapi.FIND_FUNC_DEFINE) + + if res == idaapi.FIND_FUNC_UNDEF: + return BADADDR + else: + return func.endEA + + +def GetFrame(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. + """ + frame = idaapi.get_frame(ea) + + if frame: + return frame.id + else: + return None + + +def GetFrameLvarSize(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 + """ + return GetFunctionAttr(ea, FUNCATTR_FRSIZE) + + +def GetFrameRegsSize(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 + """ + return GetFunctionAttr(ea, FUNCATTR_FRREGS) + + +def GetFrameArgsSize(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 + """ + return GetFunctionAttr(ea, FUNCATTR_ARGSIZE) + + +def GetFrameSize(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 + """ + func = idaapi.get_func(ea) + + if not func: + return 0 + else: + return idaapi.get_frame_size(func) + + +def MakeFrame(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 + """ + func = idaapi.get_func(ea) + if func is None: + return -1 + + frameid = idaapi.add_frame(func, lvsize, frregs, argsize) + + if not frameid: + if not idaapi.set_frame_size(func, lvsize, frregs, argsize): + return -1 + + return func.frame + + +def GetSpd(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 + """ + func = idaapi.get_func(ea) + + if not func: + return None + + return idaapi.get_spd(func, ea) + + +def GetSpDiff(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 + """ + func = idaapi.get_func(ea) + + if not func: + return None + + return idaapi.get_sp_delta(func, ea) + + +def SetSpDiff(ea, delta): + """ + Setup modification of SP made by the instruction + + @param ea: end address of the instruction + i.e.the last address of the instruction+1 + @param delta: the difference made by the current instruction. + + @return: 1-ok, 0-failed + """ + return idaapi.add_user_stkpnt(ea, delta) + + +# ---------------------------------------------------------------------------- +# S T A C K +# ---------------------------------------------------------------------------- + +def AddAutoStkPnt2(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 (cmd.ea+cmd.size) + @param delta: difference between old and new values of SP + @return: 1-ok, 0-failed + """ + pfn = idaapi.get_func(func_ea) + if not pfn: + return 0 + return idaapi.add_auto_stkpnt2(pfn, ea, delta) + +def AddUserStkPnt(ea, delta): + """ + Add user-defined SP register change point. + + @param ea: linear address where SP changes + @param delta: difference between old and new values of SP + + @return: 1-ok, 0-failed + """ + return idaapi.add_user_stkpnt(ea, delta); + +def DelStkPnt(func_ea, ea): + """ + Delete SP register change point + + @param func_ea: function start + @param ea: linear address + @return: 1-ok, 0-failed + """ + pfn = idaapi.get_func(func_ea) + if not pfn: + return 0 + return idaapi.del_stkpnt(pfn, ea) + +def GetMinSpd(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 + """ + pfn = idaapi.get_func(func_ea) + if not pfn: + return BADADDR + return idaapi.get_min_spd_ea(pfn) + +def RecalcSpd(cur_ea): + """ + Recalculate SP delta for an instruction that stops execution. + + @param cur_ea: linear address of the current instruction + @return: 1 - new stkpnt is added, 0 - nothing is changed + """ + return idaapi.recalc_spd(cur_ea) + + + + + +# ---------------------------------------------------------------------------- +# E N T R Y P O I N T S +# ---------------------------------------------------------------------------- + +def GetEntryPointQty(): + """ + Retrieve number of entry points + + @returns: number of entry points + """ + return idaapi.get_entry_qty() + + +def AddEntryPoint(ordinal, ea, name, makecode): + """ + Add entry point + + @param ordinal: entry point number + if entry point doesn't have an ordinal + number, 'ordinal' should be equal to 'ea' + @param ea: address of the entry point + @param name: name of the entry point. If null string, + the entry point won't be renamed. + @param makecode: if 1 then this entry point is a start + of a function. Otherwise it denotes data bytes. + + @return: 0 - entry point with the specifed ordinal already exists + 1 - ok + """ + return idaapi.add_entry(ordinal, ea, name, makecode) + + +def GetEntryOrdinal(index): + """ + Retrieve entry point ordinal number + + @param index: 0..GetEntryPointQty()-1 + + @return: 0 if entry point doesn't exist + otherwise entry point ordinal + """ + return idaapi.get_entry_ordinal(index) + + +def GetEntryPoint(ordinal): + """ + Retrieve entry point address + + @param ordinal: entry point number + it is returned by GetEntryPointOrdinal() + + @return: BADADDR if entry point doesn't exist + otherwise entry point address. + If entry point address is equal to its ordinal + number, then the entry point has no ordinal. + """ + return idaapi.get_entry(ordinal) + + +def GetEntryName(ordinal): + """ + Retrieve entry point name + + @param ordinal: entry point number, ass returned by GetEntryPointOrdinal() + + @return: entry point name or None + """ + return idaapi.get_entry_name(ordinal) + + +def RenameEntryPoint(ordinal, name): + """ + Rename entry point + + @param ordinal: entry point number + @param name: new name + + @return: !=0 - ok + """ + return idaapi.rename_entry(ordinal, name) + + +# ---------------------------------------------------------------------------- +# F I X U P S +# ---------------------------------------------------------------------------- +def GetNextFixupEA(ea): + """ + Find next address with fixup information + + @param ea: current address + + @return: BADADDR - no more fixups otherwise returns the next + address with fixup information + """ + return idaapi.get_next_fixup_ea(ea) + + +def GetPrevFixupEA(ea): + """ + Find previous address with fixup information + + @param ea: current address + + @return: BADADDR - no more fixups otherwise returns the + previous address with fixup information + """ + return idaapi.get_prev_fixup_ea(ea) + + +def GetFixupTgtType(ea): + """ + Get fixup target type + + @param ea: address to get information about + + @return: -1 - no fixup at the specified address + otherwise returns fixup target type: + """ + fd = idaapi.fixup_data_t() + + if not idaapi.get_fixup(ea, fd): + return -1 + + return fd.type + + +FIXUP_MASK = 0xF +FIXUP_OFF8 = 0 # 8-bit offset. +FIXUP_BYTE = FIXUP_OFF8 # 8-bit offset. +FIXUP_OFF16 = 1 # 16-bit offset. +FIXUP_SEG16 = 2 # 16-bit base--logical segment base (selector). +FIXUP_PTR32 = 3 # 32-bit long pointer (16-bit base:16-bit + # offset). +FIXUP_OFF32 = 4 # 32-bit offset. +FIXUP_PTR48 = 5 # 48-bit pointer (16-bit base:32-bit offset). +FIXUP_HI8 = 6 # high 8 bits of 16bit offset +FIXUP_HI16 = 7 # high 16 bits of 32bit offset +FIXUP_LOW8 = 8 # low 8 bits of 16bit offset +FIXUP_LOW16 = 9 # low 16 bits of 32bit offset +FIXUP_REL = 0x10 # fixup is relative to the linear address + # specified in the 3d parameter to set_fixup() +FIXUP_SELFREL = 0x0 # self-relative? + # - disallows the kernel to convert operands + # in the first pass + # - this fixup is used during output + # This type of fixups is not used anymore. + # Anyway you can use it for commenting purposes + # in the loader modules +FIXUP_EXTDEF = 0x20 # target is a location (otherwise - segment) +FIXUP_UNUSED = 0x40 # fixup is ignored by IDA + # - disallows the kernel to convert operands + # - this fixup is not used during output +FIXUP_CREATED = 0x80 # fixup was not present in the input file + + +def GetFixupTgtSel(ea): + """ + Get fixup target selector + + @param ea: address to get information about + + @return: -1 - no fixup at the specified address + otherwise returns fixup target selector + """ + fd = idaapi.fixup_data_t() + + if not idaapi.get_fixup(ea, fd): + return -1 + + return fd.sel + + +def GetFixupTgtOff(ea): + """ + Get fixup target offset + + @param ea: address to get information about + + @return: -1 - no fixup at the specified address + otherwise returns fixup target offset + """ + fd = idaapi.fixup_data_t() + + if not idaapi.get_fixup(ea, fd): + return -1 + + return fd.off + + +def GetFixupTgtDispl(ea): + """ + Get fixup target displacement + + @param ea: address to get information about + + @return: -1 - no fixup at the specified address + otherwise returns fixup target displacement + """ + fd = idaapi.fixup_data_t() + + if not idaapi.get_fixup(ea, fd): + return -1 + + return fd.displacement + + +def SetFixup(ea, fixuptype, targetsel, targetoff, displ): + """ + Set fixup information + + @param ea: address to set fixup information about + @param fixuptype: fixup type. see GetFixupTgtType() + for possible fixup types. + @param targetsel: target selector + @param targetoff: target offset + @param displ: displacement + + @return: none + """ + fd = idaapi.fixup_data_t() + fd.type = fixuptype + fd.sel = targetsel + fd.off = targetoff + fd.displacement = displ + + idaapi.set_fixup(ea, fd) + + +def DelFixup(ea): + """ + Delete fixup information + + @param ea: address to delete fixup information about + + @return: None + """ + idaapi.del_fixup(ea) + + +#---------------------------------------------------------------------------- +# M A R K E D P O S I T I O N S +#---------------------------------------------------------------------------- + +def MarkPosition(ea, lnnum, x, y, slot, comment): + """ + Mark position + + @param ea: address to mark + @param lnnum: number of generated line for the 'ea' + @param x: x coordinate of cursor + @param y: y coordinate of cursor + @param slot: slot number: 1..1024 + if the specifed value is not within the + range, IDA will ask the user to select slot. + @param comment: description of the mark. Should be not empty. + + @return: None + """ + curloc = idaapi.curloc() + curloc.ea = ea + curloc.lnnum = lnnum + curloc.x = x + curloc.y = y + curloc.mark(slot, comment, comment) + + +def GetMarkedPos(slot): + """ + Get marked position + + @param slot: slot number: 1..1024 if the specifed value is <= 0 + range, IDA will ask the user to select slot. + + @return: BADADDR - the slot doesn't contain a marked address + otherwise returns the marked address + """ + curloc = idaapi.curloc() + intp = idaapi.int_pointer() + intp.assign(slot) + return curloc.markedpos(intp) + + +def GetMarkComment(slot): + """ + Get marked position comment + + @param slot: slot number: 1..1024 + + @return: None if the slot doesn't contain a marked address + otherwise returns the marked address comment + """ + curloc = idaapi.curloc() + return curloc.markdesc(slot) + + +# ---------------------------------------------------------------------------- +# S T R U C T U R E S +# ---------------------------------------------------------------------------- + +def GetStrucQty(): + """ + Get number of defined structure types + + @return: number of structure types + """ + return idaapi.get_struc_qty() + + +def GetFirstStrucIdx(): + """ + Get index of first structure type + + @return: BADADDR if no structure type is defined + index of first structure type. + Each structure type has an index and ID. + INDEX determines position of structure definition + in the list of structure definitions. Index 1 + is listed first, after index 2 and so on. + The index of a structure type can be changed any + time, leading to movement of the structure definition + in the list of structure definitions. + ID uniquely denotes a structure type. A structure + gets a unique ID at the creation time and this ID + can't be changed. Even when the structure type gets + deleted, its ID won't be resued in the future. + """ + return idaapi.get_first_struc_idx() + + +def GetLastStrucIdx(): + """ + Get index of last structure type + + @return: BADADDR if no structure type is defined + index of last structure type. + See GetFirstStrucIdx() for the explanation of + structure indices and IDs. + """ + return idaapi.get_last_struc_idx() + + +def GetNextStrucIdx(index): + """ + Get index of next structure type + + @param index: current structure index + + @return: BADADDR if no (more) structure type is defined + index of the next structure type. + See GetFirstStrucIdx() for the explanation of + structure indices and IDs. + """ + return idaapi.get_next_struc_idx(index) + + +def GetPrevStrucIdx(index): + """ + Get index of previous structure type + + @param index: current structure index + + @return: BADADDR if no (more) structure type is defined + index of the presiouvs structure type. + See GetFirstStrucIdx() for the explanation of + structure indices and IDs. + """ + return idaapi.get_prev_struc_idx(index) + + +def GetStrucIdx(sid): + """ + Get structure index by structure ID + + @param sid: structure ID + + @return: BADADDR if bad structure ID is passed + otherwise returns structure index. + See GetFirstStrucIdx() for the explanation of + structure indices and IDs. + """ + return idaapi.get_struc_idx(sid) + + +def GetStrucId(index): + """ + Get structure ID by structure index + + @param index: structure index + + @return: BADADDR if bad structure index is passed otherwise returns structure ID. + + @note: See GetFirstStrucIdx() for the explanation of structure indices and IDs. + """ + return idaapi.get_struc_by_idx(index) + + +def GetStrucIdByName(name): + """ + Get structure ID by structure name + + @param name: structure type name + + @return: BADADDR if bad structure type name is passed + otherwise returns structure ID. + """ + return idaapi.get_struc_id(name) + + +def GetStrucName(sid): + """ + Get structure type name + + @param sid: structure type ID + + @return: None if bad structure type ID is passed + otherwise returns structure type name. + """ + return idaapi.get_struc_name(sid) + + +def GetStrucComment(sid, repeatable): + """ + Get structure type comment + + @param sid: structure type ID + @param repeatable: 1: get repeatable comment + 0: get regular comment + + @return: None if bad structure type ID is passed + otherwise returns comment. + """ + return idaapi.get_struc_cmt(sid, repeatable) + + +def GetStrucSize(sid): + """ + Get size of a structure + + @param sid: structure type ID + + @return: 0 if bad structure type ID is passed + otherwise returns size of structure in bytes. + """ + return idaapi.get_struc_size(sid) + + +def GetMemberQty(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... + """ + s = idaapi.get_struc(sid) + return -1 if not s else s.memqty + + +def GetMemberId(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. + """ + s = idaapi.get_struc(sid) + if not s: + return -1 + + m = idaapi.get_member(s, member_offset) + if not m: + return -1 + + return m.id + + +def GetStrucPrevOff(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, + 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... + """ + s = idaapi.get_struc(sid) + if not s: + return -1 + + return idaapi.get_struc_prev_offset(s, offset) + + +def GetStrucNextOff(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, + 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... + """ + s = idaapi.get_struc(sid) + return -1 if not s else idaapi.get_struc_next_offset(s, offset) + + +def GetFirstMember(sid): + """ + Get offset of the first member of a structure + + @param sid: structure type ID + + @return: -1 if bad structure type ID is passed, + 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... + """ + s = idaapi.get_struc(sid) + if not s: + return -1 + + return idaapi.get_struc_first_offset(s) + + +def GetLastMember(sid): + """ + Get offset of the last member of a structure + + @param sid: structure type ID + + @return: -1 if bad structure type ID is passed, + 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... + """ + s = idaapi.get_struc(sid) + if not s: + return -1 + + return idaapi.get_struc_last_offset(s) + + +def GetMemberOffset(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... + """ + s = idaapi.get_struc(sid) + if not s: + return -1 + + m = idaapi.get_member_by_name(s, member_name) + if not m: + return -1 + + return m.get_soff() + + +def GetMemberName(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. + """ + s = idaapi.get_struc(sid) + if not s: + return None + + m = idaapi.get_member(s, member_offset) + if not m: + return None + + return idaapi.get_member_name(m.id) + + +def GetMemberComment(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. + """ + s = idaapi.get_struc(sid) + if not s: + return None + + m = idaapi.get_member(s, member_offset) + if not m: + return None + + return idaapi.get_member_cmt(m.id, repeatable) + + +def GetMemberSize(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. + """ + s = idaapi.get_struc(sid) + if not s: + return None + + m = idaapi.get_member(s, member_offset) + if not m: + return None + + return idaapi.get_member_size(m) + + +def GetMemberFlag(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. + """ + s = idaapi.get_struc(sid) + if not s: + return -1 + + m = idaapi.get_member(s, member_offset) + return -1 if not m else m.flag + + +def GetMemberStrId(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. + """ + s = idaapi.get_struc(sid) + if not s: + return -1 + + m = idaapi.get_member(s, member_offset) + if not m: + return -1 + + cs = idaapi.get_sptr(m) + if cs: + return cs.id + else: + return -1 + + +def IsUnion(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 + """ + s = idaapi.get_struc(sid) + if not s: + return 0 + + return s.is_union() + + +def AddStrucEx(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 GetFirstStrucIdx() 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 + """ + if index == -1: + index = BADADDR + + return idaapi.add_struc(index, name, is_union) + + +def DelStruc(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. + """ + s = idaapi.get_struc(sid) + if not s: + return 0 + + return idaapi.del_struc(s) + + +def SetStrucIdx(sid, index): + """ + Change structure index + + @param sid: structure type ID + @param index: new index of the structure + + @return: != 0 - ok + + @note: See GetFirstStrucIdx() for the explanation of + structure indices and IDs. + """ + s = idaapi.get_struc(sid) + if not s: + return 0 + + return idaapi.set_struc_idx(s, index) + + +def SetStrucName(sid, name): + """ + Change structure name + + @param sid: structure type ID + @param name: new name of the structure + + @return: != 0 - ok + """ + return idaapi.set_struc_name(sid, name) + + +def SetStrucComment(sid, comment, repeatable): + """ + Change structure comment + + @param sid: structure type ID + @param comment: new comment of the structure + @param repeatable: 1: change repeatable comment + 0: change regular comment + @return: != 0 - ok + """ + return idaapi.set_struc_cmt(sid, comment, repeatable) + + +def AddStrucMember(sid, name, offset, flag, typeid, nbytes, target=-1, tdelta=0, reftype=REF_OFF32): + """ + 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 isStruc(flag) then typeid specifies the structure id for the member + if isOff0(flag) then typeid specifies the offset base. + if isASCII(flag) then typeid specifies the string type (ASCSTR_...). + if isStroff(flag) then typeid specifies the structure id + if isEnum(flag) then typeid specifies the enum id + if isCustom(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 isOff0(flag) and you want + to specify a complex offset expression + + @return: 0 - ok, otherwise error code (one of STRUC_ERROR_*) + + """ + if isOff0(flag): + return Eval('AddStrucMember(%d, "%s", %d, %d, %d, %d, %d, %d, %d);' % (sid, idaapi.str2user(name), offset, flag, typeid, nbytes, + target, tdelta, reftype)) + else: + return Eval('AddStrucMember(%d, "%s", %d, %d, %d, %d);' % (sid, idaapi.str2user(name), offset, flag, typeid, nbytes)) + + +STRUC_ERROR_MEMBER_NAME = -1 # already has member with this name (bad name) +STRUC_ERROR_MEMBER_OFFSET = -2 # already has member at this offset +STRUC_ERROR_MEMBER_SIZE = -3 # bad number of bytes or bad sizeof(type) +STRUC_ERROR_MEMBER_TINFO = -4 # bad typeid parameter +STRUC_ERROR_MEMBER_STRUCT = -5 # bad struct id (the 1st argument) +STRUC_ERROR_MEMBER_UNIVAR = -6 # unions can't have variable sized members +STRUC_ERROR_MEMBER_VARLAST = -7 # variable sized member should be the last member in the structure + + +def DelStrucMember(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. + """ + s = idaapi.get_struc(sid) + if not s: + return 0 + + return idaapi.del_struc_member(s, member_offset) + + +def SetMemberName(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. + """ + s = idaapi.get_struc(sid) + if not s: + return 0 + + return idaapi.set_member_name(s, member_offset, name) + + +def SetMemberType(sid, member_offset, flag, typeid, nitems, target=-1, tdelta=0, reftype=REF_OFF32): + """ + 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 isStruc(flag) then typeid specifies the structure id for the member + if isOff0(flag) then typeid specifies the offset base. + if isASCII(flag) then typeid specifies the string type (ASCSTR_...). + if isStroff(flag) then typeid specifies the structure id + if isEnum(flag) then typeid specifies the enum id + if isCustom(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 isOff0(flag) and you want + to specify a complex offset expression + + @return: !=0 - ok. + """ + if isOff0(flag): + return Eval('SetMemberType(%d, %d, %d, %d, %d, %d, %d, %d);' % (sid, member_offset, flag, typeid, nitems, + target, tdelta, reftype)) + else: + return Eval('SetMemberType(%d, %d, %d, %d, %d);' % (sid, member_offset, flag, typeid, nitems)) + + +def SetMemberComment(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 + """ + s = idaapi.get_struc(sid) + if not s: + return 0 + + m = idaapi.get_member(s, member_offset) + if not m: + return 0 + + return idaapi.set_member_cmt(m, comment, repeatable) + + +def ExpandStruc(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 + """ + s = idaapi.get_struc(sid) + if not s: + return 0 + + return idaapi.expand_struc(s, offset, delta, recalc) + + +def GetFchunkAttr(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 + """ + func = idaapi.get_fchunk(ea) + return _IDC_GetAttr(func, _FUNCATTRMAP, attr) if func else BADADDR + + +def SetFchunkAttr(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 + """ + if attr in [ FUNCATTR_START, FUNCATTR_END, FUNCATTR_OWNER ]: + chunk = idaapi.get_fchunk(ea) + if chunk: + _IDC_SetAttr(chunk, _FUNCATTRMAP, attr, value) + return idaapi.update_func(chunk) + return 0 + + +def GetFchunkReferer(ea, idx): + """ + Get a function chunk referer + + @param ea: any address in the chunk + @param idx: referer index (0..GetFchunkAttr(FUNCATTR_REFQTY)) + + @return: referer address or BADADDR + """ + return idaapi.get_fchunk_referer(ea, idx) + + +def NextFchunk(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 + """ + func = idaapi.get_next_fchunk(ea) + + if func: + return func.startEA + else: + return BADADDR + + +def PrevFchunk(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 + """ + func = idaapi.get_prev_fchunk(ea) + + if func: + return func.startEA + else: + return BADADDR + + +def AppendFchunk(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 + """ + func = idaapi.get_func(funcea) + + if not func: + return 0 + else: + return idaapi.append_func_tail(func, ea1, ea2) + + +def RemoveFchunk(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 + """ + func = idaapi.get_func(funcea) + + if not func: + return 0 + else: + return idaapi.remove_func_tail(func, tailea) + + +def SetFchunkOwner(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: 0 if failed, 1 if success + + @note: The new owner must already have the chunk appended before the call + """ + tail = idaapi.get_func(tailea) + + if not tail: + return 0 + else: + return idaapi.set_tail_owner(tail, funcea) + + +def FirstFuncFchunk(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 + """ + func = idaapi.get_func(funcea) + fci = idaapi.func_tail_iterator_t(func, funcea) + if fci.main(): + return fci.chunk().startEA + else: + return BADADDR + + +def NextFuncFchunk(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 + """ + func = idaapi.get_func(funcea) + fci = idaapi.func_tail_iterator_t(func, funcea) + if not fci.main(): + return BADADDR + + # Iterate and try to find the current chunk + found = False + while True: + if fci.chunk().startEA <= tailea and \ + fci.chunk().endEA > tailea: + found = True + break + if not fci.next(): + break + + # Return the next chunk, if there is one + if found and fci.next(): + return fci.chunk().startEA + else: + return BADADDR + + +# ---------------------------------------------------------------------------- +# E N U M S +# ---------------------------------------------------------------------------- +def GetEnumQty(): + """ + Get number of enum types + + @return: number of enumerations + """ + return idaapi.get_enum_qty() + + +def GetnEnum(idx): + """ + Get ID of the specified enum by its serial number + + @param idx: number of enum (0..GetEnumQty()-1) + + @return: ID of enum or -1 if error + """ + return idaapi.getn_enum(idx) + + +def GetEnumIdx(enum_id): + """ + Get serial number of enum by its ID + + @param enum_id: ID of enum + + @return: (0..GetEnumQty()-1) or -1 if error + """ + return idaapi.get_enum_idx(enum_id) + + +def GetEnum(name): + """ + Get enum ID by the name of enum + + Arguments: + name - name of enum + + returns: ID of enum or -1 if no such enum exists + """ + return idaapi.get_enum(name) + + +def GetEnumName(enum_id): + """ + Get name of enum + + @param enum_id: ID of enum + + @return: name of enum or empty string + """ + return idaapi.get_enum_name(enum_id) + + +def GetEnumCmt(enum_id, repeatable): + """ + Get comment of enum + + @param enum_id: ID of enum + @param repeatable: 0:get regular comment + 1:get repeatable comment + + @return: comment of enum + """ + return idaapi.get_enum_cmt(enum_id, repeatable) + + +def GetEnumSize(enum_id): + """ + Get size of enum + + @param enum_id: ID of enum + + @return: number of constants in the enum + Returns 0 if enum_id is bad. + """ + return idaapi.get_enum_size(enum_id) + + +def GetEnumWidth(enum_id): + """ + Get width of enum elements + + @param enum_id: ID of enum + + @return: log2(size of enum elements in bytes)+1 + possible returned values are 1..7 + 1-1byte,2-2bytes,3-4bytes,4-8bytes,etc + Returns 0 if enum_id is bad or the width is unknown. + """ + return idaapi.get_enum_width(enum_id) + + +def GetEnumFlag(enum_id): + """ + Get flag of enum + + @param enum_id: ID of enum + + @return: flags of enum. These flags determine representation + of numeric constants (binary,octal,decimal,hex) + in the enum definition. See start of this file for + more information about flags. + Returns 0 if enum_id is bad. + """ + return idaapi.get_enum_flag(enum_id) + + +def GetConstByName(name): + """ + Get member of enum - a symbolic constant ID + + @param name: name of symbolic constant + + @return: ID of constant or -1 + """ + return idaapi.get_enum_member_by_name(name) + + +def GetConstValue(const_id): + """ + Get value of symbolic constant + + @param const_id: id of symbolic constant + + @return: value of constant or 0 + """ + return idaapi.get_enum_member_value(const_id) + + +def GetConstBmask(const_id): + """ + Get bit mask of symbolic constant + + @param const_id: id of symbolic constant + + @return: bitmask of constant or 0 + ordinary enums have bitmask = -1 + """ + return idaapi.get_enum_member_bmask(const_id) + + +def GetConstEnum(const_id): + """ + Get id of enum by id of constant + + @param const_id: id of symbolic constant + + @return: id of enum the constant belongs to. + -1 if const_id is bad. + """ + return idaapi.get_enum_member_enum(const_id) + + +def GetConstEx(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 OpEnumEx() for details. + @param bmask: bitmask of the constant + ordinary enums accept only -1 as a bitmask + + @return: id of constant or -1 if error + """ + if bmask < 0: + bmask &= BADADDR + return idaapi.get_enum_member(enum_id, value, serial, bmask) + + +def GetFirstBmask(enum_id): + """ + Get first bitmask in the enum (bitfield) + + @param enum_id: id of enum (bitfield) + + @return: the smallest bitmask of constant or -1 + no bitmasks are defined yet + All bitmasks are sorted by their values + as unsigned longs. + """ + return idaapi.get_first_bmask(enum_id) + + +def GetLastBmask(enum_id): + """ + Get last bitmask in the enum (bitfield) + + @param enum_id: id of enum + + @return: the biggest bitmask or -1 no bitmasks are defined yet + All bitmasks are sorted by their values as unsigned longs. + """ + return idaapi.get_last_bmask(enum_id) + + +def GetNextBmask(enum_id, value): + """ + Get next bitmask in the enum (bitfield) + + @param enum_id: id of enum + @param value: value of the current bitmask + + @return: value of a bitmask with value higher than the specified + value. -1 if no such bitmasks exist. + All bitmasks are sorted by their values + as unsigned longs. + """ + return idaapi.get_next_bmask(enum_id, value) + + +def GetPrevBmask(enum_id, value): + """ + Get prev bitmask in the enum (bitfield) + + @param enum_id: id of enum + @param value: value of the current bitmask + + @return: value of a bitmask with value lower than the specified + value. -1 no such bitmasks exist. + All bitmasks are sorted by their values as unsigned longs. + """ + return idaapi.get_prev_bmask(enum_id, value) + + +def GetBmaskName(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 + """ + if bmask < 0: + bmask &= BADADDR + return idaapi.get_bmask_name(enum_id, bmask) + + +def GetBmaskCmt(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 + """ + if bmask < 0: + bmask &= BADADDR + return idaapi.get_bmask_cmt(enum_id, bmask, repeatable) + + +def SetBmaskName(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 + """ + if bmask < 0: + bmask &= BADADDR + return idaapi.set_bmask_name(enum_id, bmask, name) + + +def SetBmaskCmt(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 + """ + if bmask < 0: + bmask &= BADADDR + return idaapi.set_bmask_cmt(enum_id, bmask, cmt, repeatable) + + +def GetFirstConst(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 -1 as a bitmask) + + @return: value of constant or -1 no constants are defined + All constants are sorted by their values as unsigned longs. + """ + if bmask < 0: + bmask &= BADADDR + return idaapi.get_first_enum_member(enum_id, bmask) + + +def GetLastConst(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 -1 as a bitmask) + + @return: value of constant or -1 no constants are defined + All constants are sorted by their values + as unsigned longs. + """ + if bmask < 0: + bmask &= BADADDR + return idaapi.get_last_enum_member(enum_id, bmask) + + +def GetNextConst(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 -1 as a bitmask + @param value: value of the current constant + + @return: value of a constant with value higher than the specified + value. -1 no such constants exist. + All constants are sorted by their values as unsigned longs. + """ + if bmask < 0: + bmask &= BADADDR + return idaapi.get_next_enum_member(enum_id, value, bmask) + + +def GetPrevConst(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 -1 as a bitmask + @param value: value of the current constant + + @return: value of a constant with value lower than the specified + value. -1 no such constants exist. + All constants are sorted by their values as unsigned longs. + """ + if bmask < 0: + bmask &= BADADDR + return idaapi.get_prev_enum_member(enum_id, value, bmask) + + +def GetConstName(const_id): + """ + Get name of a constant + + @param const_id: id of const + + Returns: name of constant + """ + name = idaapi.get_enum_member_name(const_id) + + if not name: + return "" + else: + return name + + +def GetConstCmt(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 + """ + cmt = idaapi.get_enum_member_cmt(const_id, repeatable) + + if not cmt: + return "" + else: + return cmt + + +def AddEnum(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 >= GetEnumQty() or idx == -1 + 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 + """ + if idx < 0: + idx = idx & SIZE_MAX + return idaapi.add_enum(idx, name, flag) + + +def DelEnum(enum_id): + """ + Delete enum type + + @param enum_id: id of enum + + @return: None + """ + idaapi.del_enum(enum_id) + + +def SetEnumIdx(enum_id, idx): + """ + Give another serial number to a enum + + @param enum_id: id of enum + @param idx: new serial number. + 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 >= GetEnumQty() then the enum is + moved to the end of the list of enums. + + @return: comment string + """ + return idaapi.set_enum_idx(enum_id, idx) + + +def SetEnumName(enum_id, name): + """ + Rename enum + + @param enum_id: id of enum + @param name: new name of enum + + @return: 1-ok,0-failed + """ + return idaapi.set_enum_name(enum_id, name) + + +def SetEnumCmt(enum_id, cmt, repeatable): + """ + Set comment of enum + + @param enum_id: id of enum + @param cmt: new comment for the enum + @param repeatable: is the comment repeatable? + - 0:set regular comment + - 1:set repeatable comment + + @return: 1-ok,0-failed + """ + return idaapi.set_enum_cmt(enum_id, cmt, repeatable) + + +def SetEnumFlag(enum_id, flag): + """ + Set flag of enum + + @param enum_id: id of enum + @param flag: flags for representation of numeric constants + in the definition of enum. + + @return: 1-ok,0-failed + """ + return idaapi.set_enum_flag(enum_id, flag) + + +def SetEnumBf(enum_id, flag): + """ + Set bitfield property of enum + + @param enum_id: id of enum + @param flag: flags + - 1: convert to bitfield + - 0: convert to ordinary enum + + @return: 1-ok,0-failed + """ + return idaapi.set_enum_bf(enum_id, flag) + + +def SetEnumWidth(enum_id, width): + """ + Set width of enum elements + + @param enum_id: id of enum + @param width: element width in bytes + allowed values: 0-unknown + or 1..7: (log2 of the element size)+1 + + @return: 1-ok, 0-failed + """ + return idaapi.set_enum_width(enum_id, width) + + +def IsBitfield(enum_id): + """ + Is enum a bitfield? + + @param enum_id: id of enum + + @return: 1-yes, 0-no, ordinary enum + """ + return idaapi.is_bf(enum_id) + + +def AddConstEx(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 -1 as a bitmask + all bits set in value should be set in bmask too + + @return: 0-ok, otherwise error code (one of ENUM_MEMBER_ERROR_*) + """ + if bmask < 0: + bmask &= BADADDR + return idaapi.add_enum_member(enum_id, name, value, bmask) + + +ENUM_MEMBER_ERROR_NAME = idaapi.ENUM_MEMBER_ERROR_NAME # already have member with this name (bad name) +ENUM_MEMBER_ERROR_VALUE = idaapi.ENUM_MEMBER_ERROR_VALUE # already have member with this value +ENUM_MEMBER_ERROR_ENUM = idaapi.ENUM_MEMBER_ERROR_ENUM # bad enum id +ENUM_MEMBER_ERROR_MASK = idaapi.ENUM_MEMBER_ERROR_MASK # bad bmask +ENUM_MEMBER_ERROR_ILLV = idaapi.ENUM_MEMBER_ERROR_ILLV # bad bmask and value combination (~bmask & value != 0) + + +def DelConstEx(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 OpEnumEx() for for details. + @param bmask: bitmask of the constant ordinary enums accept + only -1 as a bitmask + + @return: 1-ok, 0-failed + """ + if bmask < 0: + bmask &= BADADDR + return idaapi.del_enum_member(enum_id, value, serial, bmask) + + +def SetConstName(const_id, name): + """ + Rename a member of enum - a symbolic constant + + @param const_id: id of const + @param name: new name of constant + + @return: 1-ok, 0-failed + """ + return idaapi.set_enum_member_name(const_id, name) + + +def SetConstCmt(const_id, cmt, repeatable): + """ + Set a comment of a symbolic constant + + @param const_id: id of const + @param cmt: new comment for the constant + @param repeatable: is the comment repeatable? + 0: set regular comment + 1: set repeatable comment + + @return: 1-ok, 0-failed + """ + return idaapi.set_enum_member_cmt(const_id, cmt, repeatable) + +#---------------------------------------------------------------------------- +# A R R A Y S I N I D C +#---------------------------------------------------------------------------- + +_IDC_ARRAY_PREFIX = "$ idc_array " +def __l2m1(v): + """ + Long to minus 1: If the 'v' appears to be the + 'signed long' version of -1, then return -1. + Otherwise, return 'v'. + """ + if v == idaapi.BADNODE: + return -1 + else: + return v + + + +AR_LONG = idaapi.atag +"""Array of longs""" + +AR_STR = idaapi.stag +"""Array of strings""" + + +class __dummy_netnode(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. + """ + def rename(self, *args): return 0 + def kill(self, *args): pass + def index(self, *args): return -1 + def altset(self, *args): return 0 + def supset(self, *args): return 0 + def altval(self, *args): return 0 + def supval(self, *args): return 0 + def altdel(self, *args): return 0 + def supdel(self, *args): return 0 + def alt1st(self, *args): return -1 + def sup1st(self, *args): return -1 + def altlast(self, *args): return -1 + def suplast(self, *args): return -1 + def altnxt(self, *args): return -1 + def supnxt(self, *args): return -1 + def altprev(self, *args): return -1 + def supprev(self, *args): return -1 + def hashset(self, *args): return 0 + def hashval(self, *args): return 0 + def hashstr(self, *args): return 0 + def hashstr_buf(self, *args): return 0 + def hashset_idx(self, *args): return 0 + def hashset_buf(self, *args): return 0 + def hashval_long(self, *args): return 0 + def hashdel(self, *args): return 0 + def hash1st(self, *args): return 0 + def hashnxt(self, *args): return 0 + def hashprev(self, *args): return 0 + def hashlast(self, *args): return 0 +__dummy_netnode.instance = __dummy_netnode() + + + +def __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. + """ + try: + node = idaapi.netnode(array_id) + nodename = node.name() + if nodename is None or not nodename.startswith(_IDC_ARRAY_PREFIX): + return __dummy_netnode.instance + else: + return node + except NotImplementedError: + return __dummy_netnode.instance + + +def CreateArray(name): + """ + Create array. + + @param name: The array name. + + @return: -1 in case of failure, a valid array_id otherwise. + """ + node = idaapi.netnode() + res = node.create(_IDC_ARRAY_PREFIX + name) + if res == False: + return -1 + else: + return node.index() + + +def GetArrayId(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. + """ + return __l2m1(idaapi.netnode(_IDC_ARRAY_PREFIX + name, 0, False).index()) + + +def RenameArray(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 + """ + return __GetArrayById(array_id).rename(_IDC_ARRAY_PREFIX + newname) == 1 + + +def DeleteArray(array_id): + """ + Delete array, by its ID. + + @param array_id: The ID of the array to delete. + """ + __GetArrayById(array_id).kill() + + +def SetArrayLong(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 + """ + return __GetArrayById(array_id).altset(idx, value) + + +def SetArrayString(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 + """ + return __GetArrayById(array_id).supset(idx, value) + + +def GetArrayElement(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. + """ + node = __GetArrayById(array_id) + if tag == AR_LONG: + return node.altval(idx, tag) + elif tag == AR_STR: + res = node.supval(idx, tag) + return 0 if res is None else res + else: + return 0 + + +def DelArrayElement(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. + """ + node = __GetArrayById(array_id) + if tag == AR_LONG: + return node.altdel(idx, tag) + elif tag == AR_STR: + return node.supdel(idx, tag) + else: + return 0 + + +def GetFirstIndex(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. + """ + node = __GetArrayById(array_id) + if tag == AR_LONG: + return __l2m1(node.alt1st(tag)) + elif tag == AR_STR: + return __l2m1(node.sup1st(tag)) + else: + return -1 + + +def GetLastIndex(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. + """ + node = __GetArrayById(array_id) + if tag == AR_LONG: + return __l2m1(node.altlast(tag)) + elif tag == AR_STR: + return __l2m1(node.suplast(tag)) + else: + return -1 + + +def GetNextIndex(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. + """ + node = __GetArrayById(array_id) + try: + if tag == AR_LONG: + return __l2m1(node.altnxt(idx, tag)) + elif tag == AR_STR: + return __l2m1(node.supnxt(idx, tag)) + else: + return -1 + except OverflowError: + # typically: An index of -1 was passed. + return -1 + + +def GetPrevIndex(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. + """ + node = __GetArrayById(array_id) + try: + if tag == AR_LONG: + return __l2m1(node.altprev(idx, tag)) + elif tag == AR_STR: + return __l2m1(node.supprev(idx, tag)) + else: + return -1 + except OverflowError: + # typically: An index of -1 was passed. + return -1 + + +# -------------------- hashes ----------------------- + +def SetHashLong(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 + """ + return __GetArrayById(hash_id).hashset_idx(key, value) + + +def GetHashLong(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. + """ + return __GetArrayById(hash_id).hashval_long(key); + + +def SetHashString(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 + """ + return __GetArrayById(hash_id).hashset_buf(key, value) + + +def GetHashString(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. + """ + return __GetArrayById(hash_id).hashstr_buf(key); + + +def DelHashElement(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. + """ + return __GetArrayById(hash_id).hashdel(key) + + +def GetFirstHashKey(hash_id): + """ + Get the first key in the hash. + + @param hash_id: The hash ID. + + @return: the key, 0 otherwise. + """ + r = __GetArrayById(hash_id).hash1st() + return 0 if r is None else r + + +def GetLastHashKey(hash_id): + """ + Get the last key in the hash. + + @param hash_id: The hash ID. + + @return: the key, 0 otherwise. + """ + r = __GetArrayById(hash_id).hashlast() + return 0 if r is None else r + + +def GetNextHashKey(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 + """ + r = __GetArrayById(hash_id).hashnxt(key) + return 0 if r is None else r + + +def GetPrevHashKey(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 + """ + r = __GetArrayById(hash_id).hashprev(key) + return 0 if r is None else r + + + + +#---------------------------------------------------------------------------- +# S O U R C E F I L E / L I N E N U M B E R S +#---------------------------------------------------------------------------- +def AddSourceFile(ea1, ea2, filename): + """ + 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 + @param ea2: linear address of end of the address range + @param filename: name of source file. + + @return: 1-ok, 0-failed. + + @note: IDA can keep information about source files used to create the program. + Each source file is represented by a range of addresses. + A source file may contains several address ranges. + """ + return idaapi.add_sourcefile(ea1, ea2, filename) + + +def GetSourceFile(ea): + """ + Get name of source file occupying the given address + + @param ea: linear address + + @return: NULL - source file information is not found + otherwise returns pointer to file name + """ + return idaapi.get_sourcefile(ea) + + +def DelSourceFile(ea): + """ + Delete information about the source file + + @param ea: linear address belonging to the source file + + @return: NULL - source file information is not found + otherwise returns pointer to file name + """ + return idaapi.del_sourcefile(ea) + + +def SetLineNumber(ea, lnnum): + """ + Set source line number + + @param ea: linear address + @param lnnum: number of line in the source file + + @return: None + """ + idaapi.set_source_linnum(ea, lnnum) + + +def GetLineNumber(ea): + """ + Get source line number + + @param ea: linear address + + @return: number of line in the source file or -1 + """ + return idaapi.get_source_linnum(ea) + + +def DelLineNumber(ea): + """ + Delete information about source line number + + @param ea: linear address + + @return: None + """ + idaapi.del_source_linnum(ea) + + +#---------------------------------------------------------------------------- +# T Y P E L I B R A R I E S +#---------------------------------------------------------------------------- + +def LoadTil(name): + """ + Load a type library + + @param name: name of type library. + @return: 1-ok, 0-failed. + """ + til = idaapi.add_til2(name, idaapi.ADDTIL_DEFAULT) + + if til: + return 1 + else: + return 0 + + +def Til2Idb(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) + """ + return idaapi.import_type(idaapi.cvar.idati, idx, type_name) + + +def GetType(ea): + """ + Get type of function/variable + + @param ea: the address of the object + + @return: type string or None if failed + """ + return idaapi.idc_get_type(ea) + +def SizeOf(typestr): + """ + Returns the size of the type. It is equivalent to IDC's sizeof(). + Use name, tp, fld = idc.ParseType() ; SizeOf(tp) to retrieve the size + @return: -1 if typestring is not valid otherwise the size of the type + """ + return idaapi.calc_type_size(idaapi.cvar.idati, typestr) + +def GetTinfo(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. + """ + return idaapi.idc_get_type_raw(ea) + +def GetLocalTinfo(ordinal): + """ + Get local type information as 'typeinfo' object + + @param ordinal: slot number (1...NumberOfLocalTypes) + @return: None on failure, or (type, fields, name) tuple. + """ + return idaapi.idc_get_local_type_raw(ordinal) + +def GuessType(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 + """ + return idaapi.idc_guess_type(ea) + +TINFO_GUESSED = 0x0000 # this is a guessed type +TINFO_DEFINITE = 0x0001 # this is a definite type +TINFO_DELAYFUNC = 0x0002 # 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 + +def ApplyType(ea, py_type, flags = TINFO_DEFINITE): + """ + Apply the specified type to the address + + @param ti: Type info. 'idaapi.cvar.idati' can be passed. + @param py_type: typeinfo tuple (type, fields) as GetTinfo() returns + or tuple (name, type, fields) as ParseType() returns + or None + if specified as None, then the + item associated with 'ea' will be deleted. + @param ea: the address of the object + @param flags: combination of TINFO_... constants or 0 + @return: Boolean + """ + + if py_type is None: + py_type = "" + if isinstance(py_type, basestring) and len(py_type) == 0: + pt = ("", "") + else: + if len(py_type) == 3: + pt = py_type[1:] # skip name component + else: + pt = py_type + return idaapi.apply_type(idaapi.cvar.idati, pt[0], pt[1], ea, flags) + +def 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. + """ + if newtype is not '': + pt = ParseType(newtype, 1) # silent + if pt is None: + # parsing failed + return None + else: + pt = None + return ApplyType(ea, pt, TINFO_DEFINITE) + +def ParseType(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 + """ + if len(inputtype) != 0 and inputtype[-1] != ';': + inputtype = inputtype + ';' + return idaapi.idc_parse_decl(idaapi.cvar.idati, inputtype, flags) + +def ParseTypes(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) + """ + return idaapi.idc_parse_types(inputtype, flags) + + +PT_FILE = 0x0001 # input if a file name (otherwise contains type declarations) +PT_SILENT = 0x0002 # silent mode +PT_PAKDEF = 0x0000 # default pack value +PT_PAK1 = 0x0010 # #pragma pack(1) +PT_PAK2 = 0x0020 # #pragma pack(2) +PT_PAK4 = 0x0030 # #pragma pack(4) +PT_PAK8 = 0x0040 # #pragma pack(8) +PT_PAK16 = 0x0050 # #pragma pack(16) +PT_HIGH = 0x0080 # assume high level prototypes + # (with hidden args, etc) +PT_LOWER = 0x0100 # lower the function prototypes + + +def GetMaxLocalType(): + """ + Get number of local types + 1 + + @return: value >= 1. 1 means that there are no local types. + """ + return idaapi.get_ordinal_qty(idaapi.cvar.idati) + + +def SetLocalType(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 + """ + return idaapi.idc_set_local_type(ordinal, input, flags) + + +def GetLocalType(ordinal, flags): + """ + Retrieve a local type declaration + @param flags: any of PRTYPE_* constants + @return: local type as a C declaration or "" + """ + (type, fields) = GetLocalTinfo(ordinal) + if type: + name = GetLocalTypeName(ordinal) + return idaapi.idc_print_type(type, fields, name, flags) + return "" + +PRTYPE_1LINE = 0x0000 # print to one line +PRTYPE_MULTI = 0x0001 # print to many lines +PRTYPE_TYPE = 0x0002 # print type declaration (not variable declaration) +PRTYPE_PRAGMA = 0x0004 # print pragmas for alignment + + +def GetLocalTypeName(ordinal): + """ + Retrieve a local type name + + @param ordinal: slot number (1...NumberOfLocalTypes) + + returns: local type name or None + """ + return idaapi.idc_get_local_type_name(ordinal) + + +# ---------------------------------------------------------------------------- +# H I D D E N A R E A S +# ---------------------------------------------------------------------------- +def HideArea(start, end, description, header, footer, color): + """ + Hide an area + + Hidden areas - address ranges which can be replaced by their descriptions + + @param start: area start + @param end: area end + @param description: description to display if the area is collapsed + @param header: header lines to display if the area is expanded + @param footer: footer lines to display if the area is expanded + @param color: RGB color code (-1 means default color) + + @returns: !=0 - ok + """ + return idaapi.add_hidden_area(start, end, description, header, footer, color) + + +def SetHiddenArea(ea, visible): + """ + Set hidden area state + + @param ea: any address belonging to the hidden area + @param visible: new state of the area + + @return: != 0 - ok + """ + ha = idaapi.get_hidden_area(ea) + + if not ha: + return 0 + else: + ha.visible = visible + return idaapi.update_hidden_area(ha) + + +def DelHiddenArea(ea): + """ + Delete a hidden area + + @param ea: any address belonging to the hidden area + @returns: != 0 - ok + """ + return idaapi.del_hidden_area(ea) + + +#-------------------------------------------------------------------------- +# D E B U G G E R I N T E R F A C E +#-------------------------------------------------------------------------- +def LoadDebugger(dbgname, use_remote): + """ + Load the debugger + + @param dbgname: debugger module name Examples: win32, linux, mac. + @param use_remote: 0/1: use remote debugger or not + + @note: This function is needed only when running idc scripts from the command line. + In other cases IDA loads the debugger module automatically. + """ + return idaapi.load_debugger(dbgname, use_remote) + + +def StartDebugger(path, args, sdir): + """ + Launch the debugger + + @param path: path to the executable file. + @param args: command line arguments + @param sdir: initial directory for the process + + @return: -1-failed, 0-cancelled by the user, 1-ok + + @note: For all args: if empty, the default value from the database will be used + See the important note to the StepInto() function + """ + return idaapi.start_process(path, args, sdir) + + +def StopDebugger(): + """ + Stop the debugger + Kills the currently debugger process and returns to the disassembly mode + + @return: success + """ + return idaapi.exit_process() + + +def PauseProcess(): + """ + Suspend the running process + Tries to suspend the process. If successful, the PROCESS_SUSPEND + debug event will arrive (see GetDebuggerEvent) + + @return: success + + @note: To resume a suspended process use the GetDebuggerEvent function. + See the important note to the StepInto() function + """ + return idaapi.suspend_process() + + +def GetProcessQty(): + """ + Take a snapshot of running processes and return their number. + """ + return idaapi.get_process_qty() + + +def GetProcessPid(idx): + """ + Get the process ID of a running process + + @param idx: number of process, is in range 0..GetProcessQty()-1 + + @return: 0 if failure + """ + pinfo = idaapi.process_info_t() + pid = idaapi.get_process_info(idx, pinfo) + if pid != idaapi.NO_PROCESS: + return pinfo.pid + else: + return 0 + + +def GetProcessName(idx): + """ + Get the name of a running process + + @param idx: number of process, is in range 0..GetProcessQty()-1 + + @return: None if failure + """ + pinfo = idaapi.process_info_t() + pid = idaapi.get_process_info(idx, pinfo) + return None if pid == idaapi.NO_PROCESS else pinfo.name + + +def AttachProcess(pid, event_id): + """ + Attach the debugger to a running process + + @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. + @param event_id: reserved, must be -1 + + @return: + - -2: impossible to find a compatible process + - -1: impossible to attach to the given process (process died, privilege + needed, not supported by the debugger plugin, ...) + - 0: the user cancelled the attaching to the process + - 1: the debugger properly attached to the process + @note: See the important note to the StepInto() function + """ + return idaapi.attach_process(pid, event_id) + + +def DetachProcess(): + """ + Detach the debugger from the debugged process. + + @return: success + """ + return idaapi.detach_process() + + +def GetThreadQty(): + """ + Get number of threads. + + @return: number of threads + """ + return idaapi.get_thread_qty() + + +def GetThreadId(idx): + """ + Get the ID of a thread + + @param idx: number of thread, is in range 0..GetThreadQty()-1 + + @return: -1 if failure + """ + return idaapi.getn_thread(idx) + + +def GetCurrentThreadId(): + """ + Get current thread ID + + @return: -1 if failure + """ + return idaapi.get_current_thread() + + +def SelectThread(tid): + """ + Select the given thread as the current debugged thread. + + @param tid: ID of the thread to select + + @return: success + + @note: The process must be suspended to select a new thread. + """ + return idaapi.select_thread(tid) + + +def SuspendThread(tid): + """ + Suspend thread + + @param tid: thread id + + @return: -1:network error, 0-failed, 1-ok + + @note: Suspending a thread may deadlock the whole application if the suspended + was owning some synchronization objects. + """ + return idaapi.suspend_thread(tid) + + +def ResumeThread(tid): + """ + Resume thread + + @param tid: thread id + + @return: -1:network error, 0-failed, 1-ok + """ + return idaapi.resume_thread(tid) + + +def _get_modules(): + """ + INTERNAL: Enumerate process modules + """ + module = idaapi.module_info_t() + result = idaapi.get_first_module(module) + while result: + yield module + result = idaapi.get_next_module(module) + + +def GetFirstModule(): + """ + Enumerate process modules + + @return: first module's base address or None on failure + """ + for module in _get_modules(): + return module.base + else: + return None + + +def GetNextModule(base): + """ + Enumerate process modules + + @param base: previous module's base address + + @return: next module's base address or None on failure + """ + foundit = False + for module in _get_modules(): + if foundit: + return module.base + if module.base == base: + foundit = True + else: + return None + + +def GetModuleName(base): + """ + Get process module name + + @param base: the base address of the module + + @return: required info or None + """ + for module in _get_modules(): + if module.base == base: + return module.name + else: + return 0 + + +def GetModuleSize(base): + """ + Get process module size + + @param base: the base address of the module + + @return: required info or -1 + """ + for module in _get_modules(): + if module.base == base: + return module.size + else: + return -1 + + +def StepInto(): + """ + Execute one instruction in the current thread. + Other threads are kept suspended. + + @return: success + + @note: You must call GetDebuggerEvent() after this call + in order to find out what happened. Normally you will + get the STEP event but other events are possible (for example, + an exception might occur or the process might exit). + This remark applies to all execution control functions. + The event codes depend on the issued command. + """ + return idaapi.step_into() + + +def StepOver(): + """ + Execute one instruction in the current thread, + but without entering into functions + Others threads keep suspended. + See the important note to the StepInto() function + + @return: success + """ + return idaapi.step_over() + + +def RunTo(ea): + """ + Execute the process until the given address is reached. + If no process is active, a new process is started. + See the important note to the StepInto() function + + @return: success + """ + return idaapi.run_to(ea) + + +def StepUntilRet(): + """ + Execute instructions in the current thread until + a function return instruction is reached. + Other threads are kept suspended. + See the important note to the StepInto() function + + @return: success + """ + return idaapi.step_until_ret() + + +def GetDebuggerEvent(wfne, timeout): + """ + Wait for the next event + This function (optionally) resumes the process + execution and wait for a debugger event until timeout + + @param wfne: combination of WFNE_... constants + @param timeout: number of seconds to wait, -1-infinity + + @return: debugger event codes, see below + """ + return idaapi.wait_for_next_event(wfne, timeout) + + +def ResumeProcess(): + return GetDebuggerEvent(WFNE_CONT|WFNE_NOWAIT, 0) + +def SendDbgCommand(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 'SendDbgCommand' IDC command. + """ + s = Eval('SendDbgCommand("%s");' % idaapi.str2user(cmd)) + if s.startswith("IDC_FAILURE"): + raise Exception, "Debugger command is available only when the debugger is active!" + return s + +# wfne flag is combination of the following: +WFNE_ANY = 0x0001 # return the first event (even if it doesn't suspend the process) + # if the process is still running, the database + # does not reflect the memory state. you might want + # to call RefreshDebuggerMemory() in this case +WFNE_SUSP = 0x0002 # wait until the process gets suspended +WFNE_SILENT = 0x0004 # 1: be slient, 0:display modal boxes if necessary +WFNE_CONT = 0x0008 # continue from the suspended state +WFNE_NOWAIT = 0x0010 # do not wait for any event, immediately return DEC_TIMEOUT + # (to be used with WFNE_CONT) + +# debugger event codes +NOTASK = -2 # process does not exist +DBG_ERROR = -1 # error (e.g. network problems) +DBG_TIMEOUT = 0 # timeout +PROCESS_START = 0x00000001 # New process started +PROCESS_EXIT = 0x00000002 # Process stopped +THREAD_START = 0x00000004 # New thread started +THREAD_EXIT = 0x00000008 # Thread stopped +BREAKPOINT = 0x00000010 # Breakpoint reached +STEP = 0x00000020 # One instruction executed +EXCEPTION = 0x00000040 # Exception +LIBRARY_LOAD = 0x00000080 # New library loaded +LIBRARY_UNLOAD = 0x00000100 # Library unloaded +INFORMATION = 0x00000200 # User-defined information +SYSCALL = 0x00000400 # Syscall (not used yet) +WINMESSAGE = 0x00000800 # Window message (not used yet) +PROCESS_ATTACH = 0x00001000 # Attached to running process +PROCESS_DETACH = 0x00002000 # Detached from process +PROCESS_SUSPEND = 0x00004000 # Process has been suspended + + +def RefreshDebuggerMemory(): + """ + Refresh debugger memory + Upon this call IDA will forget all cached information + about the debugged process. This includes the segmentation + information and memory contents (register cache is managed + automatically). Also, this function refreshes exported name + from loaded DLLs. + You must call this function before using the segmentation + information, memory contents, or names of a non-suspended process. + This is an expensive call. + """ + return idaapi.refresh_debugger_memory() + + +def TakeMemorySnapshot(only_loader_segs): + """ + Take memory snapshot of the debugged process + + @param only_loader_segs: 0-copy all segments to idb + 1-copy only SFL_LOADER segments + """ + return idaapi.take_memory_snapshot(only_loader_segs) + + +def GetProcessState(): + """ + Get debugged process state + + @return: one of the DBG_... constants (see below) + """ + return idaapi.get_process_state() + +DSTATE_SUSP = -1 # process is suspended +DSTATE_NOTASK = 0 # no process is currently debugged +DSTATE_RUN = 1 # process is running +DSTATE_RUN_WAIT_ATTACH = 2 # process is running, waiting for process properly attached +DSTATE_RUN_WAIT_END = 3 # process is running, but the user asked to kill/detach the process + # remark: in this case, most events are ignored + +""" + Get various information about the current debug event + These functions are valid only when the current event exists + (the process is in the suspended state) +""" + +# For all events: + +def GetEventId(): + """ + Get ID of debug event + + @return: event ID + """ + ev = idaapi.get_debug_event() + assert ev, "Could not retrieve debug event" + return ev.eid + + +def GetEventPid(): + """ + Get process ID for debug event + + @return: process ID + """ + ev = idaapi.get_debug_event() + assert ev, "Could not retrieve debug event" + return ev.pid + + +def GetEventTid(): + """ + Get type ID for debug event + + @return: type ID + """ + ev = idaapi.get_debug_event() + assert ev, "Could not retrieve debug event" + return ev.tid + + +def GetEventEa(): + """ + Get ea for debug event + + @return: ea + """ + ev = idaapi.get_debug_event() + assert ev, "Could not retrieve debug event" + return ev.ea + + +def IsEventHandled(): + """ + Is the debug event handled? + + @return: boolean + """ + ev = idaapi.get_debug_event() + assert ev, "Could not retrieve debug event" + return ev.handled + + +# For PROCESS_START, PROCESS_ATTACH, LIBRARY_LOAD events: + +def GetEventModuleName(): + """ + Get module name for debug event + + @return: module name + """ + ev = idaapi.get_debug_event() + assert ev, "Could not retrieve debug event" + return idaapi.get_event_module_name(ev) + + +def GetEventModuleBase(): + """ + Get module base for debug event + + @return: module base + """ + ev = idaapi.get_debug_event() + assert ev, "Could not retrieve debug event" + return idaapi.get_event_module_base(ev) + + +def GetEventModuleSize(): + """ + Get module size for debug event + + @return: module size + """ + ev = idaapi.get_debug_event() + assert ev, "Could not retrieve debug event" + return idaapi.get_event_module_size(ev) + + +def GetEventExitCode(): + """ + Get exit code for debug event + + @return: exit code for PROCESS_EXIT, THREAD_EXIT events + """ + ev = idaapi.get_debug_event() + assert ev, "Could not retrieve debug event" + return ev.exit_code + + +def GetEventInfo(): + """ + Get debug event info + + @return: event info: for LIBRARY_UNLOAD (unloaded library name) + for INFORMATION (message to display) + """ + ev = idaapi.get_debug_event() + assert ev, "Could not retrieve debug event" + return idaapi.get_event_info(ev) + + +def GetEventBptHardwareEa(): + """ + Get hardware address for BREAKPOINT event + + @return: hardware address + """ + ev = idaapi.get_debug_event() + assert ev, "Could not retrieve debug event" + return idaapi.get_event_bpt_hea(ev) + + +def GetEventExceptionCode(): + """ + Get exception code for EXCEPTION event + + @return: exception code + """ + ev = idaapi.get_debug_event() + assert ev, "Could not retrieve debug event" + return idaapi.get_event_exc_code(ev) + + +def GetEventExceptionEa(): + """ + Get address for EXCEPTION event + + @return: adress of exception + """ + ev = idaapi.get_debug_event() + assert ev, "Could not retrieve debug event" + return idaapi.get_event_exc_ea(ev) + + +def CanExceptionContinue(): + """ + Can it continue after EXCEPTION event? + + @return: boolean + """ + ev = idaapi.get_debug_event() + assert ev, "Could not retrieve debug event" + return idaapi.can_exc_continue(ev) + + +def GetEventExceptionInfo(): + """ + Get info for EXCEPTION event + + @return: info string + """ + ev = idaapi.get_debug_event() + assert ev, "Could not retrieve debug event" + return idaapi.get_event_exc_info(ev) + + +def SetDebuggerOptions(opt): + """ + Get/set debugger options + + @param opt: combination of DOPT_... constants + + @return: old options + """ + return idaapi.set_debugger_options(opt) + + +DOPT_SEGM_MSGS = 0x00000001 # print messages on debugger segments modifications +DOPT_START_BPT = 0x00000002 # break on process start +DOPT_THREAD_MSGS = 0x00000004 # print messages on thread start/exit +DOPT_THREAD_BPT = 0x00000008 # break on thread start/exit +DOPT_BPT_MSGS = 0x00000010 # print message on breakpoint +DOPT_LIB_MSGS = 0x00000040 # print message on library load/unlad +DOPT_LIB_BPT = 0x00000080 # break on library load/unlad +DOPT_INFO_MSGS = 0x00000100 # print message on debugging information +DOPT_INFO_BPT = 0x00000200 # break on debugging information +DOPT_REAL_MEMORY = 0x00000400 # don't hide breakpoint instructions +DOPT_REDO_STACK = 0x00000800 # reconstruct the stack +DOPT_ENTRY_BPT = 0x00001000 # break on program entry point +DOPT_EXCDLG = 0x00006000 # exception dialogs: + +EXCDLG_NEVER = 0x00000000 # never display exception dialogs +EXCDLG_UNKNOWN = 0x00002000 # display for unknown exceptions +EXCDLG_ALWAYS = 0x00006000 # always display + +DOPT_LOAD_DINFO = 0x00008000 # automatically load debug files (pdb) + + +def GetDebuggerEventCondition(): + """ + Return the debugger event condition + """ + return idaapi.get_debugger_event_cond() + + +def SetDebuggerEventCondition(cond): + """ + Set the debugger event condition + """ + return idaapi.set_debugger_event_cond(cond) + + +def SetRemoteDebugger(hostname, password, portnum): + """ + Set remote debugging options + + @param hostname: remote host name or address if empty, revert to local debugger + @param password: password for the debugger server + @param portnum: port number to connect (-1: don't change) + + @return: nothing + """ + return idaapi.set_remote_debugger(hostname, password, portnum) + + +def GetExceptionQty(): + """ + Get number of defined exception codes + """ + return idaapi.get_exception_qty() + + +def GetExceptionCode(idx): + """ + Get exception code + + @param idx: number of exception in the vector (0..GetExceptionQty()-1) + + @return: exception code (0 - error) + """ + return idaapi.get_exception_code(idx) + + +def GetExceptionName(code): + """ + Get exception information + + @param code: exception code + + @return: "" on error + """ + return idaapi.get_exception_name(code) + + +def GetExceptionFlags(code): + """ + Get exception information + + @param code: exception code + + @return: -1 on error + """ + return idaapi.get_exception_flags(code) + +def DefineException(code, name, desc, flags): + """ + Add exception handling information + + @param code: exception code + @param name: exception name + @param desc: exception description + @param flags: exception flags (combination of EXC_...) + + @return: failure description or "" + """ + return idaapi.define_exception(code, name, desc, flags) + +EXC_BREAK = 0x0001 # break on the exception +EXC_HANDLE = 0x0002 # should be handled by the debugger? + + +def SetExceptionFlags(code, flags): + """ + Set exception flags + + @param code: exception code + @param flags: exception flags (combination of EXC_...) + """ + return idaapi.set_exception_flags(code, flags) + + +def ForgetException(code): + """ + Delete exception handling information + + @param code: exception code + """ + return idaapi.forget_exception(code) + + +def GetRegValue(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) + """ + rv = idaapi.regval_t() + res = idaapi.get_reg_val(name, rv) + assert res, "get_reg_val() failed, bogus register name ('%s') perhaps?" % name + return rv.ival + + +def SetRegValue(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. + """ + rv = idaapi.regval_t() + if type(value) == types.StringType: + value = int(value, 16) + elif type(value) != types.IntType and type(value) != types.LongType: + print "SetRegValue: value must be integer!" + return BADADDR + + if value < 0: + #ival_set cannot handle negative numbers + value &= 0xFFFFFFFF + + rv.ival = value + return idaapi.set_reg_val(name, rv) + + +def GetBptQty(): + """ + Get number of breakpoints. + + @return: number of breakpoints + """ + return idaapi.get_bpt_qty() + + +def GetBptEA(n): + """ + Get breakpoint address + + @param n: number of breakpoint, is in range 0..GetBptQty()-1 + + @return: addresss of the breakpoint or BADADDR + """ + bpt = idaapi.bpt_t() + + if idaapi.getn_bpt(n, bpt): + return bpt.ea + else: + return BADADDR + + +def GetBptAttr(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 + """ + bpt = idaapi.bpt_t() + + if not idaapi.get_bpt(ea, bpt): + return -1 + else: + if bptattr == BPTATTR_EA: + return bpt.ea + if bptattr == BPTATTR_SIZE: + return bpt.size + if bptattr == BPTATTR_TYPE: + return bpt.type + if bptattr == BPTATTR_COUNT: + return bpt.pass_count + if bptattr == BPTATTR_FLAGS: + return bpt.flags + if bptattr == BPTATTR_COND: + return bpt.condition + return -1 + + +BPTATTR_EA = 1 # starting address of the breakpoint +BPTATTR_SIZE = 2 # size of the breakpoint (undefined for software breakpoint) + +# type of the breakpoint +BPTATTR_TYPE = 3 + +# Breakpoint types: +BPT_WRITE = 1 # Hardware: Write access +BPT_RDWR = 3 # Hardware: Read/write access +BPT_SOFT = 4 # Software breakpoint +BPT_EXEC = 8 # Hardware: Execute instruction +BPT_DEFAULT = (BPT_SOFT|BPT_EXEC); # Choose bpt type automaticaly + +BPTATTR_COUNT = 4 +BPTATTR_FLAGS = 5 +BPT_BRK = 0x001 # the debugger stops on this breakpoint +BPT_TRACE = 0x002 # the debugger adds trace information when this breakpoint is reached +BPT_UPDMEM = 0x004 # refresh the memory layout and contents before evaluating bpt condition +BPT_ENABLED = 0x008 # enabled? +BPT_LOWCND = 0x010 # condition is calculated at low level (on the server side) +BPT_TRACEON = 0x020 # enable tracing when the breakpoint is reached +BPT_TRACE_INSN = 0x040 # instruction tracing +BPT_TRACE_FUNC = 0x080 # function tracing +BPT_TRACE_BBLK = 0x100 # basic block tracing + +BPTATTR_COND = 6 # Breakpoint condition. NOTE: the return value is a string in this case + +# Breakpoint location type: +BPLT_ABS = 0 # Absolute address. Attributes: + # - locinfo: absolute address + +BPLT_REL = 1 # Module relative address. Attributes: + # - locpath: the module path + # - locinfo: offset from the module base address + +BPLT_SYM = 2 # Symbolic name. The name will be resolved on DLL load/unload + # events and on naming an address. Attributes: + # - locpath: symbol name + # - locinfo: offset from the symbol base address + + +def SetBptAttr(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 SetBptCnd() + @param value: the attibute value + + @return: success + """ + bpt = idaapi.bpt_t() + + if not idaapi.get_bpt(address, bpt): + return False + else: + if bptattr not in [ BPTATTR_SIZE, BPTATTR_TYPE, BPTATTR_FLAGS, BPTATTR_COUNT ]: + return False + if bptattr == BPTATTR_SIZE: + bpt.size = value + if bptattr == BPTATTR_TYPE: + bpt.type = value + if bptattr == BPTATTR_COUNT: + bpt.pass_count = value + if bptattr == BPTATTR_FLAGS: + bpt.flags = value + + idaapi.update_bpt(bpt) + return True + +def SetBptCndEx(ea, cnd, is_lowcnd): + """ + 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 + """ + bpt = idaapi.bpt_t() + + if not idaapi.get_bpt(ea, bpt): + return False + + bpt.condition = cnd + if is_lowcnd: + bpt.flags |= BPT_LOWCND + else: + bpt.flags &= ~BPT_LOWCND + + return idaapi.update_bpt(bpt) + + +def SetBptCnd(ea, cnd): + """ + Set breakpoint condition + + @param ea: any address in the breakpoint range + @param cnd: breakpoint condition + + @return: success + """ + return SetBptCndEx(ea, cnd, 0) + + +def AddBptEx(ea, size, bpttype): + """ + 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 idaapi.add_bpt(ea, size, bpttype) + + +def AddBpt(ea): + return AddBptEx(ea, 0, BPT_DEFAULT) + + +def DelBpt(ea): + """ + Delete breakpoint + + @param ea: any address in the process memory space: + + @return: success + """ + return idaapi.del_bpt(ea) + + +def EnableBpt(ea, enable): + """ + Enable/disable breakpoint + + @param ea: any address in the process memory space + + @return: success + + @note: Disabled breakpoints are not written to the process memory + """ + return idaapi.enable_bpt(ea, enable) + + +def CheckBpt(ea): + """ + Check a breakpoint + + @param ea: address in the process memory space + + @return: one of BPTCK_... constants + """ + return idaapi.check_bpt(ea) + +BPTCK_NONE = -1 # breakpoint does not exist +BPTCK_NO = 0 # breakpoint is disabled +BPTCK_YES = 1 # breakpoint is enabled +BPTCK_ACT = 2 # breakpoint is active (written to the process) + + +def EnableTracing(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 + """ + assert trace_level in [ TRACE_STEP, TRACE_INSN, TRACE_FUNC ], \ + "trace_level must be one of TRACE_* constants" + + if trace_level == TRACE_STEP: + return idaapi.enable_step_trace(enable) + + if trace_level == TRACE_INSN: + return idaapi.enable_insn_trace(enable) + + if trace_level == TRACE_FUNC: + return idaapi.enable_func_trace(enable) + + return False + +TRACE_STEP = 0x0 # lowest level trace. trace buffers are not maintained +TRACE_INSN = 0x1 # instruction level trace +TRACE_FUNC = 0x2 # function level trace (calls & rets) + + +def GetStepTraceOptions(): + """ + Get step current tracing options + + @return: a combination of ST_... constants + """ + return idaapi.get_step_trace_options() + + +def SetStepTraceOptions(options): + """ + Set step current tracing options. + @param options: combination of ST_... constants + """ + return idaapi.set_step_trace_options(options) + + +ST_OVER_DEBUG_SEG = 0x01 # step tracing will be disabled when IP is in a debugger segment +ST_OVER_LIB_FUNC = 0x02 # step tracing will be disabled when IP is in a library function +ST_ALREADY_LOGGED = 0x04 # step tracing will be disabled when IP is already logged +ST_SKIP_LOOPS = 0x08 # step tracing will try to skip loops already recorded + +def LoadTraceFile(filename): + """ + Load a previously recorded binary trace file + @param filename: trace file + """ + return idaapi.load_trace_file(filename) + +def SaveTraceFile(filename, description): + """ + Save current trace to a binary trace file + @param filename: trace file + @param description: trace description + """ + return idaapi.save_trace_file(filename, description) + +def CheckTraceFile(filename): + """ + Check the given binary trace file + @param filename: trace file + """ + return idaapi.is_valid_trace_file(filename) + +def DiffTraceFile(filename): + """ + Diff current trace buffer against given trace + @param filename: trace file + """ + return idaapi.diff_trace_file(filename) + +def ClearTraceFile(filename): + """ + Clear the current trace buffer + """ + return idaapi.clear_trace() + +def GetTraceDesc(filename): + """ + Get the trace description of the given binary trace file + @param filename: trace file + """ + return idaapi.get_trace_file_desc(filename) + +def SetTraceDesc(filename, description): + """ + Update the trace description of the given binary trace file + @param filename: trace file + @description: trace description + """ + return idaapi.set_trace_file_desc(filename, description) + +def GetMaxTev(): + """ + Return the total number of recorded events + """ + return idaapi.get_tev_qty() + +def GetTevEa(tev): + """ + Return the address of the specified event + @param tev: event number + """ + return idaapi.get_tev_ea(tev) + +TEV_NONE = 0 # no event +TEV_INSN = 1 # an instruction trace +TEV_CALL = 2 # a function call trace +TEV_RET = 3 # a function return trace +TEV_BPT = 4 # write, read/write, execution trace +TEV_MEM = 5 # memory layout changed +TEV_EVENT = 6 # debug event + +def GetTevType(tev): + """ + Return the type of the specified event (TEV_... constants) + @param tev: event number + """ + return idaapi.get_tev_type(tev) + +def GetTevTid(tev): + """ + Return the thread id of the specified event + @param tev: event number + """ + return idaapi.get_tev_tid(tev) + +def GetTevRegVal(tev, reg): + """ + Return the register value for the specified event + @param tev: event number + @param reg: register name (like EAX, RBX, ...) + """ + return idaapi.get_tev_reg_val(tev, reg) + +def GetTevRegMemQty(tev): + """ + Return the number of memory addresses recorded for the specified event + @param tev: event number + """ + return idaapi.get_tev_reg_mem_qty(tev) + +def GetTevRegMem(tev, idx): + """ + Return the memory pointed by 'index' for the specified event + @param tev: event number + @param idx: memory address index + """ + return idaapi.get_tev_reg_mem(tev, idx) + +def GetTevRegMemEa(tev, idx): + """ + Return the address pointed by 'index' for the specified event + @param tev: event number + @param idx: memory address index + """ + return idaapi.get_tev_reg_mem_ea(tev, idx) + +def GetTevCallee(tev): + """ + Return the address of the callee for the specified event + @param tev: event number + """ + return idaapi.get_call_tev_callee(tev) + +def GetTevReturn(tev): + """ + Return the return address for the specified event + @param tev: event number + """ + return idaapi.get_ret_tev_return(tev) + +def GetBptTevEa(tev): + """ + Return the address of the specified TEV_BPT event + @param tev: event number + """ + return idaapi.get_bpt_tev_ea(tev) + + +#-------------------------------------------------------------------------- +# C O L O R S +#-------------------------------------------------------------------------- + +def GetColor(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) + """ + if what not in [ CIC_ITEM, CIC_FUNC, CIC_SEGM ]: + raise ValueError, "'what' must be one of CIC_ITEM, CIC_FUNC and CIC_SEGM" + + if what == CIC_ITEM: + return idaapi.get_item_color(ea) + + if what == CIC_FUNC: + func = idaapi.get_func(ea) + if func: + return func.color + else: + return DEFCOLOR + + if what == CIC_SEGM: + seg = idaapi.getseg(ea) + if seg: + return seg.color + else: + return DEFCOLOR + +# color item codes: +CIC_ITEM = 1 # one instruction or data +CIC_FUNC = 2 # function +CIC_SEGM = 3 # segment + +DEFCOLOR = 0xFFFFFFFF # Default color + + +def SetColor(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) + """ + if what not in [ CIC_ITEM, CIC_FUNC, CIC_SEGM ]: + raise ValueError, "'what' must be one of CIC_ITEM, CIC_FUNC and CIC_SEGM" + + if what == CIC_ITEM: + return idaapi.set_item_color(ea, color) + + if what == CIC_FUNC: + func = idaapi.get_func(ea) + if func: + func.color = color + return bool(idaapi.update_func(func)) + else: + return False + + if what == CIC_SEGM: + seg = idaapi.getseg(ea) + if seg: + seg.color = color + return bool(seg.update()) + else: + return False + + +#-------------------------------------------------------------------------- +# X M L +#-------------------------------------------------------------------------- + +def SetXML(path, name, value): + """ + Set or update one or more XML values. + + @param path: XPath expression of elements where to create value(s) + @param name: name of the element/attribute + (use @XXX for an attribute) to create. + If 'name' is empty, the elements or + attributes returned by XPath are directly + updated to contain the new 'value'. + @param value: value of the element/attribute + + @return: success (True or False) + """ + return idaapi.set_xml(path, name, value) + + +def GetXML(path): + """ + Get one XML value. + + @param path: XPath expression to an element + or attribute whose value is requested + + @return: the value, None if failed + """ + v = idaapi.value_t() + if idaapi.get_xml(path): + return v.str + else: + return None + + +#---------------------------------------------------------------------------- +# A R M S P E C I F I C +#---------------------------------------------------------------------------- +def ArmForceBLJump(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 + """ + return Eval("ArmForceBLJump(0x%x)"%ea) + + +def ArmForceBLCall(ea): + """ + Force BL instruction to be a call + + @param ea: address of the BL instruction + + @return: 1-ok, 0-failed + """ + return Eval("ArmForceBLCall(0x%x)"%ea) + + +#-------------------------------------------------------------------------- +# Compatibility macros: +def Compile(file): return CompileEx(file, 1) +def OpOffset(ea,base): return OpOff(ea,-1,base) +def OpNum(ea): return OpNumber(ea,-1) +def OpChar(ea): return OpChr(ea,-1) +def OpSegment(ea): return OpSeg(ea,-1) +def OpDec(ea): return OpDecimal(ea,-1) +def OpAlt1(ea, opstr): return OpAlt(ea, 0, opstr) +def OpAlt2(ea, opstr): return OpAlt(ea, 1, opstr) +def StringStp(x): return SetCharPrm(INF_ASCII_BREAK,x) +def LowVoids(x): return SetLongPrm(INF_LOW_OFF,x) +def HighVoids(x): return SetLongPrm(INF_HIGH_OFF,x) +def TailDepth(x): return SetLongPrm(INF_MAXREF,x) +def Analysis(x): return SetCharPrm(INF_AUTO,x) +def Tabs(x): return SetCharPrm(INF_ENTAB,x) +#def Comments(x): SetCharPrm(INF_CMTFLAG,((x) ? (SW_ALLCMT|GetCharPrm(INF_CMTFLAG)) : (~SW_ALLCMT&GetCharPrm(INF_CMTFLAG)))) +def Voids(x): return SetCharPrm(INF_VOIDS,x) +def XrefShow(x): return SetCharPrm(INF_XREFNUM,x) +def Indent(x): return SetCharPrm(INF_INDENT,x) +def CmtIndent(x): return SetCharPrm(INF_COMMENT,x) +def AutoShow(x): return SetCharPrm(INF_SHOWAUTO,x) +def MinEA(): return GetLongPrm(INF_MIN_EA) +def MaxEA(): return GetLongPrm(INF_MAX_EA) +def BeginEA(): return GetLongPrm(INF_BEGIN_EA) +def set_start_cs(x): return SetLongPrm(INF_START_CS,x) +def set_start_ip(x): return SetLongPrm(INF_START_IP,x) + +def WriteMap(filepath): + return GenerateFile(OFILE_MAP, filepath, 0, BADADDR, GENFLG_MAPSEG|GENFLG_MAPNAME) + +def WriteTxt(filepath, ea1, ea2): + return GenerateFile(OFILE_ASM, filepath, ea1, ea2, 0) + +def WriteExe(filepath): + return GenerateFile(OFILE_EXE, filepath, 0, BADADDR, 0) + + +UTP_STRUCT = idaapi.UTP_STRUCT +UTP_ENUM = idaapi.UTP_ENUM + + +def BeginTypeUpdating(utp): + """ + Begin type updating. Use this function if you + plan to call AddEnumConst or similar type modification functions + many times or from inside a loop + + @param utp: one of UTP_xxxx consts + @return: None + """ + return idaapi.begin_type_updating(utp) + + +def EndTypeUpdating(utp): + """ + End type updating. Refreshes the type system + at the end of type modification operations + + @param utp: one of idaapi.UTP_xxxx consts + @return: None + """ + return idaapi.end_type_updating(utp) + + +def AddConst(enum_id, name,value): return AddConstEx(enum_id, name, value, idaapi.BADADDR) +def AddStruc(index, name): return AddStrucEx(index,name, 0) +def AddUnion(index, name): return AddStrucEx(index,name, 1) +def OpStroff(ea, n, strid): return OpStroffEx(ea,n,strid, 0) +def OpEnum(ea, n, enumid): return OpEnumEx(ea,n,enumid, 0) +def DelConst(constid, v, mask): return DelConstEx(constid, v, 0, mask) +def GetConst(constid, v, mask): return GetConstEx(constid, v, 0, mask) +def AnalyseArea(sEA, eEA): return AnalyzeArea(sEA,eEA) + +def MakeStruct(ea, name): return MakeStructEx(ea, -1, name) +def MakeCustomData(ea, size, dtid, fid): return MakeCustomDataEx(ea, size, dtid, fid) +def Name(ea): return NameEx(BADADDR, ea) +def GetTrueName(ea): return GetTrueNameEx(BADADDR, ea) +def MakeName(ea, name): return MakeNameEx(ea,name,SN_CHECK) + +#def GetFrame(ea): return GetFunctionAttr(ea, FUNCATTR_FRAME) +#def GetFrameLvarSize(ea): return GetFunctionAttr(ea, FUNCATTR_FRSIZE) +#def GetFrameRegsSize(ea): return GetFunctionAttr(ea, FUNCATTR_FRREGS) +#def GetFrameArgsSize(ea): return GetFunctionAttr(ea, FUNCATTR_ARGSIZE) +#def GetFunctionFlags(ea): return GetFunctionAttr(ea, FUNCATTR_FLAGS) +#def SetFunctionFlags(ea, flags): return SetFunctionAttr(ea, FUNCATTR_FLAGS, flags) + +#def SegStart(ea): return GetSegmentAttr(ea, SEGATTR_START) +#def SegEnd(ea): return GetSegmentAttr(ea, SEGATTR_END) +#def SetSegmentType(ea, type): return SetSegmentAttr(ea, SEGATTR_TYPE, type) + +def SegCreate(a1, a2, base, use32, align, comb): return AddSeg(a1, a2, base, use32, align, comb) +def SegDelete(ea, flags): return DelSeg(ea, flags) +def SegBounds(ea, startea, endea, flags): return SetSegBounds(ea, startea, endea, flags) +def SegRename(ea, name): return RenameSeg(ea, name) +def SegClass(ea, segclass): return SetSegClass(ea, segclass) +def SegAddrng(ea, bitness): return SetSegAddressing(ea, bitness) +def SegDefReg(ea, reg, value): return SetSegDefReg(ea, reg, value) + + +def Comment(ea): return GetCommentEx(ea, 0) +"""Returns the regular comment or None""" + +def RptCmt(ea): return GetCommentEx(ea, 1) +"""Returns the repeatable comment or None""" + +def SetReg(ea, reg, value): return SetRegEx(ea, reg, value, SR_user) + + +# Convenience functions: +def here(): return ScreenEA() +def isEnabled(ea): return (PrevAddr(ea+1)==ea) + +# Obsolete segdel macros: +SEGDEL_PERM = 0x0001 # permanently, i.e. disable addresses +SEGDEL_KEEP = 0x0002 # keep information (code & data, etc) +SEGDEL_SILENT = 0x0004 # be silent + +ARGV = [] +"""The command line arguments passed to IDA via the -S switch.""" + +# END OF IDC COMPATIBILY CODE diff --git a/python_lib/init.py b/python_lib/init.py new file mode 100644 index 0000000..06b74b4 --- /dev/null +++ b/python_lib/init.py @@ -0,0 +1,111 @@ +#!/usr/bin/env python +# ----------------------------------------------------------------------- +# IDAPython - Python plugin for Interactive Disassembler +# +# Copyright (c) The IDAPython Team +# +# All rights reserved. +# +# For detailed copyright information see the file COPYING in +# the root of the distribution archive. +# ----------------------------------------------------------------------- +# init.py - Essential init routines +# ----------------------------------------------------------------------- +import os +import sys +import time +import warnings +import _idaapi + +# __EA64__ is set if IDA is running in 64-bit mode +__EA64__ = _idaapi.BADADDR == 0xFFFFFFFFFFFFFFFFL + +# ----------------------------------------------------------------------- +# Take over the standard text outputs +# ----------------------------------------------------------------------- +class IDAPythonStdOut: + """ + Dummy file-like class that receives stout and stderr + """ + def write(self, text): + # NB: in case 'text' is Unicode, msg() will decode it + # and call umsg() to print it + _idaapi.msg(text) + + def flush(self): + pass + + def isatty(self): + return False + +# ----------------------------------------------------------------------- +def runscript(script): + """ + Executes a script. + This function is present for backward compatiblity. Please use idaapi.IDAPython_ExecScript() instead + + @param script: script path + + @return: Error string or None on success + """ + + import idaapi + return idaapi.IDAPython_ExecScript(script, globals()) + +# ----------------------------------------------------------------------- +def print_banner(): + banner = [ + "Python %s " % sys.version, + "IDAPython" + (" 64-bit" if __EA64__ else "") + " v%d.%d.%d %s (serial %d) (c) The IDAPython Team " % IDAPYTHON_VERSION + ] + sepline = '-' * (max([len(s) for s in banner])+1) + + print(sepline) + print("\n".join(banner)) + print(sepline) + +# ----------------------------------------------------------------------- + +# Redirect stderr and stdout to the IDA message window +_orig_stdout = sys.stdout; +_orig_stderr = sys.stderr; +sys.stdout = sys.stderr = IDAPythonStdOut() + +# ----------------------------------------------------------------------- +# Initialize the help, with our own stdin wrapper, that'll query the user +# ----------------------------------------------------------------------- +import pydoc +class IDAPythonHelpPrompter: + def readline(self): + return idaapi.askstr(0, '', 'Help topic?') +help = pydoc.Helper(input = IDAPythonHelpPrompter(), output = sys.stdout) + +# Assign a default sys.argv +sys.argv = [""] + +# Have to make sure Python finds our modules +sys.path.append(_idaapi.idadir("python")) + +# Remove current directory from the top of the patch search +if '' in sys.path: # On non Windows, the empty path is added + sys.path.remove('') + +if os.getcwd() in sys.path: + sys.path.remove(os.getcwd()) + +# ...and add it to the end if needed +if not IDAPYTHON_REMOVE_CWD_SYS_PATH: + sys.path.append(os.getcwd()) + +# Import all the required modules +from idaapi import Choose, get_user_idadir, cvar, Choose2, Appcall, Form +from idc import * +from idautils import * +import idaapi + +# Load the users personal init file +userrc = os.path.join(get_user_idadir(), "idapythonrc.py") +if os.path.exists(userrc): + idaapi.IDAPython_ExecScript(userrc, globals()) + +# All done, ready to rock. diff --git a/raw-feature-extractor/cfg_constructor.py b/raw-feature-extractor/cfg_constructor.py index 9bd3bdd..8a0e207 100755 --- a/raw-feature-extractor/cfg_constructor.py +++ b/raw-feature-extractor/cfg_constructor.py @@ -2,8 +2,9 @@ import copy import networkx as nx from idautils import * from idaapi import * +from idaapi import * from idc import * - +#from idc_bc695 import * import copy import networkx as nx from idautils import * @@ -12,6 +13,8 @@ from idc import * from graph_analysis_ida import * + + def getCfg(func, externs_eas, ea_externs): func_start = func.startEA func_end = func.endEA @@ -155,6 +158,15 @@ def attributingRe(cfg, externs_eas, ea_externs): cfg.node[node_id]['externs'] = externs numTIs = calTransferIns(bl) cfg.node[node_id]['numTIs'] = numTIs + numCompare = calCompareIns(bl) + cfg.node[node_id]['numCom'] = numCompare + numMove = calMoveIns(bl) + cfg.node[node_id]['numMov'] = numMove + numTerm = calTerminationIns(bl) + cfg.node[node_id]['numTerm'] = numTerm + numDD = calDateDecIns(bl) + cfg.node[node_id]['numDD'] = numDD + def attributing(cfg): diff --git a/raw-feature-extractor/discovRe.py b/raw-feature-extractor/discovRe.py index 997edfb..1d9be83 100755 --- a/raw-feature-extractor/discovRe.py +++ b/raw-feature-extractor/discovRe.py @@ -10,92 +10,95 @@ import cPickle as pickle import pdb from graph_analysis_ida import * from graph_property import * +from cfg_constructor import cfg_construct + #import wingdbstub #wingdbstub.Ensure() def get_funcs(ea): - funcs = {} - # Get current ea - # Loop from start to end in the current segment + funcs = {} + # Get current ea + # Loop from start to end in the current segment + for funcea in Functions(SegStart(ea)): funcname = GetFunctionName(funcea) func = get_func(funcea) blocks = FlowChart(func) funcs[funcname] = [] for bl in blocks: - start = bl.startEA - end = bl.endEA - funcs[funcname].append((start, end)) - return funcs + start = bl.startEA + end = bl.endEA + funcs[funcname].append((start, end)) + return funcs def get_funcs_for_discoverRe(ea): - features = {} - for funcea in Functions(SegStart(ea)): - funcname = GetFunctionName(funcea) - print funcname - func = get_func(funcea) - feature = get_discoverRe_feature(func) - features[funcname] = feature - return features + features = {} + for funcea in Functions(SegStart(ea)): + funcname = GetFunctionName(funcea) + print funcname + func = get_func(funcea) + feature = get_discoverRe_feature(func) + features[funcname] = feature + return features def get_discoverRe_feature(func, icfg): - start = func.startEA - end = func.endEA - features = [] - FunctionCalls = getFuncCalls(func) - #1 - features.append(FunctionCalls) - LogicInstr = getLogicInsts(func) - #2 - features.append(LogicInstr) - Transfer = getTransferInsts(func) - #3 - features.append(Transfer) - Locals = getLocalVariables(func) - #4 - features.append(Locals) - BB = getBasicBlocks(func) - #5 - features.append(BB) - Edges = len(icfg.edges()) - #6 - features.append(Edges) - Incoming = getIncommingCalls(func) - #7 - features.append(Incoming) - #8 - Instrs = getIntrs(func) - features.append(Instrs) - between = retrieveGP(icfg) - #9 - features.append(between) + start = func.startEA + end = func.endEA + features = [] + FunctionCalls = getFuncCalls(func) + #1 + features.append(FunctionCalls) + LogicInstr = getLogicInsts(func) + #2 + features.append(LogicInstr) + Transfer = getTransferInsts(func) + #3 + features.append(Transfer) + Locals = getLocalVariables(func) + #4 + features.append(Locals) + BB = getBasicBlocks(func) + #5 + features.append(BB) + Edges = len(icfg.edges()) + #6 + features.append(Edges) + Incoming = getIncommingCalls(func) + #7 + features.append(Incoming) + #8 + Instrs = getIntrs(func) + features.append(Instrs) + between = retrieveGP(icfg) + #9 + features.append(between) - strings, consts = getfunc_consts(func) - features.append(strings) - features.append(consts) - return features + strings, consts = getfunc_consts(func) + features.append(strings) + features.append(consts) + return features def get_func_names(ea): - funcs = {} - for funcea in Functions(SegStart(ea)): - funcname = GetFunctionName(funcea) - funcs[funcname] = funcea - return funcs + funcs = {} + for funcea in Functions(SegStart(ea)): + funcname = GetFunctionName(funcea) + funcs[funcname] = funcea + return funcs def get_func_bases(ea): - funcs = {} - for funcea in Functions(SegStart(ea)): - funcname = GetFunctionName(funcea) - funcs[funcea] = funcname - return funcs + funcs = {} + for funcea in Functions(SegStart(ea)): + funcname = GetFunctionName(funcea) + funcs[funcea] = funcname + return funcs def get_func_range(ea): - funcs = {} - for funcea in Functions(SegStart(ea)): - funcname = GetFunctionName(funcea) + funcs = {} + for funcea in Functions(SegStart(ea)): + funcname = GetFunctionName(funcea) func = get_func(funcea) - funcs[funcname] = (func.startEA, func.endEA) - return funcs + funcs[funcname] = (func.startEA, func.endEA) + return funcs def get_func_sequences(ea): funcs_bodylist = {} @@ -109,120 +112,120 @@ def get_func_sequences(ea): opcode = GetMnem(inst_addr) funcs_bodylist[funcname].append(opcode) inst_addr = NextHead(inst_addr) - return funcs_bodylist + return funcs_bodylist def get_func_cfgs(ea): - func_cfglist = {} - i = 0 - start, end = get_section('LOAD') - #print start, end - for funcea in Functions(SegStart(ea)): - if start <= funcea <= end: - funcname = GetFunctionName(funcea) - func = get_func(funcea) - print i - i += 1 - try: - icfg = cfg.cfg_construct(func) - func_cfglist[funcname] = icfg - except: - pass - - return func_cfglist + func_cfglist = {} + i = 0 + start, end = get_section('LOAD') + #print start, end + for funcea in Functions(SegStart(ea)): + if start <= funcea <= end: + funcname = GetFunctionName(funcea) + func = get_func(funcea) + print i + i += 1 + try: + icfg = cfg_construct(func) + func_cfglist[funcname] = icfg + except: + pass + + return func_cfglist def get_section(t): - base = SegByName(t) - start = SegByBase(base) - end = SegEnd(start) - return start, end + base = SegByName(t) + start = SegByBase(base) + end = SegEnd(start) + return start, end def get_func_cfg_sequences(func_cfglist): - func_cfg_seqlist = {} - for funcname in func_cfglist: - func_cfg_seqlist[funcname] = {} - cfg = func_cfglist[funcname][0] - for start, end in cfg: - codesq = get_sequences(start, end) - func_cfg_seqlist[funcname][(start,end)] = codesq + func_cfg_seqlist = {} + for funcname in func_cfglist: + func_cfg_seqlist[funcname] = {} + cfg = func_cfglist[funcname][0] + for start, end in cfg: + codesq = get_sequences(start, end) + func_cfg_seqlist[funcname][(start,end)] = codesq - return func_cfg_seqlist + return func_cfg_seqlist def get_sequences(start, end): - seq = [] - inst_addr = start - while inst_addr <= end: - opcode = GetMnem(inst_addr) - seq.append(opcode) - inst_addr = NextHead(inst_addr) - return seq + seq = [] + inst_addr = start + while inst_addr <= end: + opcode = GetMnem(inst_addr) + seq.append(opcode) + inst_addr = NextHead(inst_addr) + return seq def get_stack_arg(func_addr): - print func_addr - args = [] - stack = GetFrame(func_addr) - if not stack: - return [] - firstM = GetFirstMember(stack) - lastM = GetLastMember(stack) - i = firstM - while i <=lastM: - mName = GetMemberName(stack,i) - mSize = GetMemberSize(stack,i) - if mSize: - i = i + mSize - else: - i = i+4 - if mName not in args and mName and ' s' not in mName and ' r' not in mName: - args.append(mName) - return args + print func_addr + args = [] + stack = GetFrame(func_addr) + if not stack: + return [] + firstM = GetFirstMember(stack) + lastM = GetLastMember(stack) + i = firstM + while i <=lastM: + mName = GetMemberName(stack,i) + mSize = GetMemberSize(stack,i) + if mSize: + i = i + mSize + else: + i = i+4 + if mName not in args and mName and ' s' not in mName and ' r' not in mName: + args.append(mName) + return args + + #pickle.dump(funcs, open('C:/Documents and Settings/Administrator/Desktop/funcs','w')) - #pickle.dump(funcs, open('C:/Documents and Settings/Administrator/Desktop/funcs','w')) - def processDataSegs(): - funcdata = {} - datafunc = {} - for n in xrange(idaapi.get_segm_qty()): - seg = idaapi.getnseg(n) - ea = seg.startEA - segtype = idc.GetSegmentAttr(ea, idc.SEGATTR_TYPE) - if segtype in [idc.SEG_DATA, idc.SEG_BSS]: - start = idc.SegStart(ea) - end = idc.SegEnd(ea) - cur = start - while cur <= end: - refs = [v for v in DataRefsTo(cur)] - for fea in refs: - name = GetFunctionName(fea) - if len(name)== 0: - continue - if name not in funcdata: - funcdata[name] = [cur] - else: - funcdata[name].append(cur) - if cur not in datafunc: - datafunc[cur] = [name] - else: - datafunc[cur].append(name) - cur = NextHead(cur) - return funcdata, datafunc + funcdata = {} + datafunc = {} + for n in xrange(idaapi.get_segm_qty()): + seg = idaapi.getnseg(n) + ea = seg.startEA + segtype = idc.GetSegmentAttr(ea, idc.SEGATTR_TYPE) + if segtype in [idc.SEG_DATA, idc.SEG_BSS]: + start = idc.SegStart(ea) + end = idc.SegEnd(ea) + cur = start + while cur <= end: + refs = [v for v in DataRefsTo(cur)] + for fea in refs: + name = GetFunctionName(fea) + if len(name)== 0: + continue + if name not in funcdata: + funcdata[name] = [cur] + else: + funcdata[name].append(cur) + if cur not in datafunc: + datafunc[cur] = [name] + else: + datafunc[cur].append(name) + cur = NextHead(cur) + return funcdata, datafunc def obtainDataRefs(callgraph): - datarefs = {} - funcdata, datafunc = processDataSegs() - for node in callgraph: - if node in funcdata: - datas = funcdata[node] - for dd in datas: - refs = datafunc[dd] - refs = list(set(refs)) - if node in datarefs: - print refs - datarefs[node] += refs - datarefs[node] = list(set(datarefs[node])) - else: - datarefs[node] = refs - return datarefs + datarefs = {} + funcdata, datafunc = processDataSegs() + for node in callgraph: + if node in funcdata: + datas = funcdata[node] + for dd in datas: + refs = datafunc[dd] + refs = list(set(refs)) + if node in datarefs: + print refs + datarefs[node] += refs + datarefs[node] = list(set(datarefs[node])) + else: + datarefs[node] = refs + return datarefs diff --git a/raw-feature-extractor/func.py b/raw-feature-extractor/func.py index cc0c402..393985a 100755 --- a/raw-feature-extractor/func.py +++ b/raw-feature-extractor/func.py @@ -204,8 +204,8 @@ def get_stack_arg(func_addr): def processExternalSegs(): funcdata = {} datafunc = {} - for n in xrange(idaapi.get_segm_qty()): - seg = idaapi.getnseg(n) + for n in xrange(get_segm_qty()): + seg = getnseg(n) ea = seg.startEA segtype = idc.GetSegmentAttr(ea, idc.SEGATTR_TYPE) if segtype in [idc.SEG_XTRN]: @@ -221,8 +221,8 @@ def processExternalSegs(): def processpltSegs(): funcdata = {} datafunc = {} - for n in xrange(idaapi.get_segm_qty()): - seg = idaapi.getnseg(n) + for n in xrange(get_segm_qty()): + seg = getnseg(n) ea = seg.startEA segname = SegName(ea) if segname in ['.plt', 'extern', '.MIPS.stubs']: @@ -240,8 +240,8 @@ def processpltSegs(): def processDataSegs(): funcdata = {} datafunc = {} - for n in xrange(idaapi.get_segm_qty()): - seg = idaapi.getnseg(n) + for n in xrange(get_segm_qty()): + seg = getnseg(n) ea = seg.startEA segtype = idc.GetSegmentAttr(ea, idc.SEGATTR_TYPE) if segtype in [idc.SEG_DATA, idc.SEG_BSS]: diff --git a/raw-feature-extractor/graph_analysis_ida.py b/raw-feature-extractor/graph_analysis_ida.py index 122efa9..c92b589 100644 --- a/raw-feature-extractor/graph_analysis_ida.py +++ b/raw-feature-extractor/graph_analysis_ida.py @@ -1,257 +1,386 @@ +# coding=utf-8 from idautils import * from idaapi import * + from idc import * + def getfunc_consts(func): - strings = [] - consts = [] - blocks = [(v.startEA, v.endEA) for v in FlowChart(func)] - for bl in blocks: - strs, conts = getBBconsts(bl) - strings += strs - consts += conts - return strings, consts + strings = [] + consts = [] + blocks = [(v.startEA, v.endEA) for v in FlowChart(func)] + for bl in blocks: + strs, conts = getBBconsts(bl) + strings += strs + consts += conts + return strings, consts + def getConst(ea, offset): - strings = [] - consts = [] - optype1 = GetOpType(ea, offset) - if optype1 == idaapi.o_imm: - imm_value = GetOperandValue(ea, offset) - if 0<= imm_value <= 10: - consts.append(imm_value) - else: - if idaapi.isLoaded(imm_value) and idaapi.getseg(imm_value): - str_value = GetString(imm_value) - if str_value is None: - str_value = GetString(imm_value+0x40000) - if str_value is None: - consts.append(imm_value) - else: - re = all(40 <= ord(c) < 128 for c in str_value) - if re: - strings.append(str_value) - else: - consts.append(imm_value) - else: - re = all(40 <= ord(c) < 128 for c in str_value) - if re: - strings.append(str_value) - else: - consts.append(imm_value) - else: - consts.append(imm_value) - return strings, consts + strings = [] + consts = [] + optype1 = GetOpType(ea, offset) + if optype1 == o_imm: + imm_value = GetOperandValue(ea, offset) + if 0 <= imm_value <= 10: + consts.append(imm_value) + else: + if isLoaded(imm_value) and getseg(imm_value): + str_value = GetString(imm_value) + if str_value is None: + str_value = GetString(imm_value + 0x40000) + if str_value is None: + consts.append(imm_value) + else: + re = all(40 <= ord(c) < 128 for c in str_value) + if re: + strings.append(str_value) + else: + consts.append(imm_value) + else: + re = all(40 <= ord(c) < 128 for c in str_value) + if re: + strings.append(str_value) + else: + consts.append(imm_value) + else: + consts.append(imm_value) + return strings, consts + def getBBconsts(bl): - strings = [] - consts = [] - start = bl[0] - end = bl[1] - invoke_num = 0 - inst_addr = start - while inst_addr < end: - opcode = GetMnem(inst_addr) - if opcode in ['la','jalr','call', 'jal']: - inst_addr = NextHead(inst_addr) - continue - strings_src, consts_src = getConst(inst_addr, 0) - strings_dst, consts_dst = getConst(inst_addr, 1) - strings += strings_src - strings += strings_dst - consts += consts_src - consts += consts_dst - try: - strings_dst, consts_dst = getConst(inst_addr, 2) - consts += consts_dst - strings += strings_dst - except: - pass + strings = [] + consts = [] + start = bl[0] + end = bl[1] + invoke_num = 0 + inst_addr = start + while inst_addr < end: + opcode = GetMnem(inst_addr) + if opcode in ['la', 'jalr', 'call', 'jal']: + inst_addr = NextHead(inst_addr) + continue + strings_src, consts_src = getConst(inst_addr, 0) + strings_dst, consts_dst = getConst(inst_addr, 1) + strings += strings_src + strings += strings_dst + consts += consts_src + consts += consts_dst + try: + strings_dst, consts_dst = getConst(inst_addr, 2) + consts += consts_dst + strings += strings_dst + except: + pass + + inst_addr = NextHead(inst_addr) + return strings, consts - inst_addr = NextHead(inst_addr) - return strings, consts def getFuncCalls(func): - blocks = [(v.startEA, v.endEA) for v in FlowChart(func)] - sumcalls = 0 - for bl in blocks: - callnum = calCalls(bl) - sumcalls += callnum - return sumcalls + blocks = [(v.startEA, v.endEA) for v in FlowChart(func)] + sumcalls = 0 + for bl in blocks: + callnum = calCalls(bl) + sumcalls += callnum + return sumcalls + def getLogicInsts(func): - blocks = [(v.startEA, v.endEA) for v in FlowChart(func)] - sumcalls = 0 - for bl in blocks: - callnum = calLogicInstructions(bl) - sumcalls += callnum - return sumcalls + blocks = [(v.startEA, v.endEA) for v in FlowChart(func)] + sumcalls = 0 + for bl in blocks: + callnum = calLogicInstructions(bl) + sumcalls += callnum + return sumcalls + def getTransferInsts(func): - blocks = [(v.startEA, v.endEA) for v in FlowChart(func)] - sumcalls = 0 - for bl in blocks: - callnum = calTransferIns(bl) - sumcalls += callnum - return sumcalls + blocks = [(v.startEA, v.endEA) for v in FlowChart(func)] + sumcalls = 0 + for bl in blocks: + callnum = calTransferIns(bl) + sumcalls += callnum + return sumcalls + def getIntrs(func): - blocks = [(v.startEA, v.endEA) for v in FlowChart(func)] - sumcalls = 0 - for bl in blocks: - callnum = calInsts(bl) - sumcalls += callnum - return sumcalls + blocks = [(v.startEA, v.endEA) for v in FlowChart(func)] + sumcalls = 0 + for bl in blocks: + callnum = calInsts(bl) + sumcalls += callnum + return sumcalls + def getLocalVariables(func): - args_num = get_stackVariables(func.startEA) - return args_num + args_num = get_stackVariables(func.startEA) + return args_num + def getBasicBlocks(func): - blocks = [(v.startEA, v.endEA) for v in FlowChart(func)] - return len(blocks) + blocks = [(v.startEA, v.endEA) for v in FlowChart(func)] + return len(blocks) + def getIncommingCalls(func): - refs = CodeRefsTo(func.startEA, 0) - re = len([v for v in refs]) - return re + refs = CodeRefsTo(func.startEA, 0) + re = len([v for v in refs]) + return re def get_stackVariables(func_addr): - #print func_addr + # print func_addr args = [] stack = GetFrame(func_addr) if not stack: - return 0 + return 0 firstM = GetFirstMember(stack) lastM = GetLastMember(stack) i = firstM - while i <=lastM: - mName = GetMemberName(stack,i) - mSize = GetMemberSize(stack,i) + while i <= lastM: + mName = GetMemberName(stack, i) + mSize = GetMemberSize(stack, i) if mSize: - i = i + mSize + i = i + mSize else: - i = i+4 + i = i + 4 if mName not in args and mName and 'var_' in mName: args.append(mName) return len(args) - def calArithmeticIns(bl): - x86_AI = {'add':1, 'sub':1, 'div':1, 'imul':1, 'idiv':1, 'mul':1, 'shl':1, 'dec':1, 'inc':1} - mips_AI = {'add':1, 'addu':1, 'addi':1, 'addiu':1, 'mult':1, 'multu':1, 'div':1, 'divu':1} - calls = {} - calls.update(x86_AI) - calls.update(mips_AI) - start = bl[0] - end = bl[1] - invoke_num = 0 - inst_addr = start - while inst_addr < end: - opcode = GetMnem(inst_addr) - if opcode in calls: - invoke_num += 1 - inst_addr = NextHead(inst_addr) - return invoke_num + """ + 基本块算术指令统计 + """ + x86_AI = {'add': 1, 'sub': 1, 'div': 1, 'imul': 1, 'idiv': 1, 'mul': 1, 'shl': 1, 'dec': 1, 'inc': 1} + mips_AI = {'add': 1, 'addu': 1, 'addi': 1, 'addiu': 1, 'mult': 1, 'multu': 1, 'div': 1, 'divu': 1} + calls = {} + calls.update(x86_AI) + calls.update(mips_AI) + start = bl[0] + end = bl[1] + invoke_num = 0 + inst_addr = start + while inst_addr < end: + opcode = GetMnem(inst_addr) + if opcode in calls: + invoke_num += 1 + inst_addr = NextHead(inst_addr) + return invoke_num + def calCalls(bl): - calls = {'call':1, 'jal':1, 'jalr':1} - start = bl[0] - end = bl[1] - invoke_num = 0 - inst_addr = start - while inst_addr < end: - opcode = GetMnem(inst_addr) - if opcode in calls: - invoke_num += 1 - inst_addr = NextHead(inst_addr) - return invoke_num + """ + 基本快转移指令 + :param bl: + :return: + """ + calls = {'call': 1, 'jal': 1, 'jalr': 1} + start = bl[0] + end = bl[1] + invoke_num = 0 + inst_addr = start + while inst_addr < end: + opcode = GetMnem(inst_addr) + if opcode in calls: + invoke_num += 1 + inst_addr = NextHead(inst_addr) + return invoke_num + def calInsts(bl): - start = bl[0] - end = bl[1] - ea = start - num = 0 - while ea < end: - num += 1 - ea = NextHead(ea) - return num + """ + 基本快指令数 + :param bl: + :return: + """ + start = bl[0] + end = bl[1] + ea = start + num = 0 + while ea < end: + num += 1 + ea = NextHead(ea) + return num + def calLogicInstructions(bl): - x86_LI = {'and':1, 'andn':1, 'andnpd':1, 'andpd':1, 'andps':1, 'andnps':1, 'test':1, 'xor':1, 'xorpd':1, 'pslld':1} - mips_LI = {'and':1, 'andi':1, 'or':1, 'ori':1, 'xor':1, 'nor':1, 'slt':1, 'slti':1, 'sltu':1} - calls = {} - calls.update(x86_LI) - calls.update(mips_LI) - start = bl[0] - end = bl[1] - invoke_num = 0 - inst_addr = start - while inst_addr < end: - opcode = GetMnem(inst_addr) - if opcode in calls: - invoke_num += 1 - inst_addr = NextHead(inst_addr) - return invoke_num + """ + 基本快逻辑运算 + :param bl: + :return: + """ + x86_LI = {'and': 1, 'andn': 1, 'andnpd': 1, 'andpd': 1, 'andps': 1, 'andnps': 1, 'test': 1, 'xor': 1, 'xorpd': 1, + 'pslld': 1} + mips_LI = {'and': 1, 'andi': 1, 'or': 1, 'ori': 1, 'xor': 1, 'nor': 1, 'slt': 1, 'slti': 1, 'sltu': 1} + calls = {} + calls.update(x86_LI) + calls.update(mips_LI) + start = bl[0] + end = bl[1] + invoke_num = 0 + inst_addr = start + while inst_addr < end: + opcode = GetMnem(inst_addr) + if opcode in calls: + invoke_num += 1 + inst_addr = NextHead(inst_addr) + return invoke_num + def calSconstants(bl): - start = bl[0] - end = bl[1] - invoke_num = 0 - inst_addr = start - while inst_addr < end: - opcode = GetMnem(inst_addr) - if opcode in calls: - invoke_num += 1 - inst_addr = NextHead(inst_addr) - return invoke_num + """ + 基本快字符串常量 + :param bl: + :return: + """ + calls = {} + start = bl[0] + end = bl[1] + invoke_num = 0 + inst_addr = start + while inst_addr < end: + opcode = GetMnem(inst_addr) + if opcode in calls: + invoke_num += 1 + inst_addr = NextHead(inst_addr) + return invoke_num def calNconstants(bl): - start = bl[0] - end = bl[1] - invoke_num = 0 - inst_addr = start - while inst_addr < end: - optype1 = GetOpType(inst_addr, 0) - optype2 = GetOpType(inst_addr, 1) - if optype1 == 5 or optype2 == 5: - invoke_num += 1 - inst_addr = NextHead(inst_addr) - return invoke_num + """ + 基本快整数常量 + :param bl: + :return: + """ + start = bl[0] + end = bl[1] + invoke_num = 0 + inst_addr = start + while inst_addr < end: + optype1 = GetOpType(inst_addr, 0) + optype2 = GetOpType(inst_addr, 1) + if optype1 == 5 or optype2 == 5: + invoke_num += 1 + inst_addr = NextHead(inst_addr) + return invoke_num + def retrieveExterns(bl, ea_externs): - externs = [] - start = bl[0] - end = bl[1] - inst_addr = start - while inst_addr < end: - refs = CodeRefsFrom(inst_addr, 1) - try: - ea = [v for v in refs if v in ea_externs][0] - externs.append(ea_externs[ea]) - except: - pass - inst_addr = NextHead(inst_addr) - return externs + externs = [] + start = bl[0] + end = bl[1] + inst_addr = start + while inst_addr < end: + refs = CodeRefsFrom(inst_addr, 1) + try: + ea = [v for v in refs if v in ea_externs][0] + externs.append(ea_externs[ea]) + except: + pass + inst_addr = NextHead(inst_addr) + return externs + def calTransferIns(bl): - x86_TI = {'jmp':1, 'jz':1, 'jnz':1, 'js':1, 'je':1, 'jne':1, 'jg':1, 'jle':1, 'jge':1, 'ja':1, 'jnc':1, 'call':1} - mips_TI = {'beq':1, 'bne':1, 'bgtz':1, "bltz":1, "bgez":1, "blez":1, 'j':1, 'jal':1, 'jr':1, 'jalr':1} - arm_TI = {'MVN':1, "MOV":1} - calls = {} - calls.update(x86_TI) - calls.update(mips_TI) - start = bl[0] - end = bl[1] - invoke_num = 0 - inst_addr = start - while inst_addr < end: - opcode = GetMnem(inst_addr) - re = [v for v in calls if opcode in v] - if len(re) > 0: - invoke_num += 1 - inst_addr = NextHead(inst_addr) - return invoke_num \ No newline at end of file + """ + 基本快转移指令 + :param bl: + :return: + """ + x86_TI = {'jmp': 1, 'jz': 1, 'jnz': 1, 'js': 1, 'je': 1, 'jne': 1, 'jg': 1, 'jle': 1, 'jge': 1, 'ja': 1, 'jnc': 1, + 'call': 1} + mips_TI = {'beq': 1, 'bne': 1, 'bgtz': 1, "bltz": 1, "bgez": 1, "blez": 1, 'j': 1, 'jal': 1, 'jr': 1, 'jalr': 1} + arm_TI = {'MVN': 1, "MOV": 1} + calls = {} + calls.update(x86_TI) + calls.update(mips_TI) + start = bl[0] + end = bl[1] + invoke_num = 0 + inst_addr = start + while inst_addr < end: + opcode = GetMnem(inst_addr) + re = [v for v in calls if opcode in v] + if len(re) > 0: + invoke_num += 1 + inst_addr = NextHead(inst_addr) + return invoke_num + + +def calCompareIns(bl): + """ + 基本快比较指令 + :param bl: + :return: + """ + calls = {'cmp': 1} + start = bl[0] + end = bl[1] + invoke_num = 0 + inst_addr = start + while inst_addr < end: + opcode = GetMnem(inst_addr) + if opcode in calls: + invoke_num += 1 + inst_addr = NextHead(inst_addr) + return invoke_num + + +def calMoveIns(bl): + """ + 基本快移动指令 + :param bl: + :return: + """ + calls = {'mov': 1, 'lea': 1, 'xchg': 1} + start = bl[0] + end = bl[1] + invoke_num = 0 + inst_addr = start + while inst_addr < end: + opcode = GetMnem(inst_addr) + if opcode in calls: + invoke_num += 1 + inst_addr = NextHead(inst_addr) + return invoke_num + + +def calTerminationIns(bl): + """ + 基本块终止指令 + :param bl: + :return: + """ + calls = {'ret': 1, 'retn': 1, 'hlt': 1, 'sys_exit': 1} + start = bl[0] + end = bl[1] + invoke_num = 0 + inst_addr = start + while inst_addr < end: + opcode = GetMnem(inst_addr) + if opcode in calls: + invoke_num += 1 + inst_addr = NextHead(inst_addr) + return invoke_num + + +def calDateDecIns(bl): + """ + 基本快数据声明 + :param bl: + :return: + """ + calls = {'db': 1, 'dw': 1, 'dd': 1, 'dq': 1} + start = bl[0] + end = bl[1] + invoke_num = 0 + inst_addr = start + while inst_addr < end: + opcode = GetMnem(inst_addr) + if opcode in calls: + invoke_num += 1 + inst_addr = NextHead(inst_addr) + return invoke_num diff --git a/raw-feature-extractor/preprocessing_ida.py b/raw-feature-extractor/preprocessing_ida.py index 6704223..57e9fc4 100644 --- a/raw-feature-extractor/preprocessing_ida.py +++ b/raw-feature-extractor/preprocessing_ida.py @@ -4,24 +4,24 @@ from idc import * import os import argparse + def parse_command(): - parser = argparse.ArgumentParser(description='Process some integers.') - parser.add_argument("--path", type=str, help="The directory where to store the generated .ida file") - args = parser.parse_args() - return args + parser = argparse.ArgumentParser(description='Process some integers.') + parser.add_argument("--path", type=str, help="The directory where to store the generated .ida file") + args = parser.parse_args() + return args + if __name__ == '__main__': - - args = parse_command() - path = args.path - analysis_flags = idc.GetShortPrm(idc.INF_START_AF) - analysis_flags &= ~idc.AF_IMMOFF - # turn off "automatically make offset" heuristic - idc.SetShortPrm(idc.INF_START_AF, analysis_flags) - idaapi.autoWait() - cfgs = get_func_cfgs_c(FirstSeg()) - binary_name = idc.GetInputFile() + '.ida' - fullpath = os.path.join(path, binary_name) - pickle.dump(cfgs, open(fullpath,'w')) - print binary_name - idc.Exit(0) \ No newline at end of file + args = parse_command() + path = idc.ARGV[2] + analysis_flags = idc.GetShortPrm(idc.INF_START_AF) + analysis_flags &= ~idc.AF_IMMOFF + # turn off "automatically make offset" heuristic + idc.SetShortPrm(idc.INF_START_AF, analysis_flags) + idaapi.autoWait() + cfgs = get_func_cfgs_c(FirstSeg()) + binary_name = idc.GetInputFile() + '.ida' + fullpath = os.path.join(path, binary_name) + pickle.dump(cfgs, open(fullpath, 'w')) + idc.Exit(0) diff --git a/raw-feature-extractor/print_test.py b/raw-feature-extractor/print_test.py new file mode 100644 index 0000000..6e6312b --- /dev/null +++ b/raw-feature-extractor/print_test.py @@ -0,0 +1,97 @@ +# -*- coding: UTF-8 -*- +import sys +from matplotlib import pyplot as plt +import networkx as nx + +import hashlib +import json + + +def print_obj(obj): + "打印对象的所有属性" + print(obj.__dict__) + + +def calc_sha256(file_path): + with open(file_path, 'rb') as f: + bytes = f.read() + sha256obj = hashlib.sha256(bytes) + sha256 = sha256obj.hexdigest() + return sha256 + + +import pickle + +# sub_10F20 308 反编译代码有字符串,但是这个特征提取里没有字符串 constant,可能是间接引用的,不识别。看了下所有函数的特征,几乎都没有字符串常量,可能都是写在别的地方然后引用的。 +# sub_166C4 393 +if __name__ == '__main__': + file_path = '../3c580f5beca53b6599e5f04d3aa68a34bd50521d7ec5d7163849eb69f53a4150.exe' + testpath = '../store/3c580f5beca53b6599e5f04d3aa68a34bd50521d7ec5d7163849eb69f53a4150.exe.ida' + fr = open(testpath, 'r') + data1 = pickle.load(fr) # 一个二进制文件的acfgs + # function_edges + function_edge_start = [] + function_edge_end = [] + for item in data1.raw_graph_list[0].old_g.edges: + function_edge_start.append(item[0]) + function_edge_end.append(item[1]) + function_edges = [function_edge_start, function_edge_end] + fun_name_temp = [] + # function hsah + file_hash = calc_sha256(file_path) + # funtion num + function_number = len(data1.raw_graph_list) + acfg_list = [] + # 函数级特征 + for i in range(len(data1.raw_graph_list)): + + # function name + fun_name_temp.append(data1.raw_graph_list[i].funcname) + # block features + temp_G = data1.raw_graph_list[i].old_g + # block_number + block_number = len(temp_G.node) + # block_features + acfg_list_item_feature = [] + for temp in range(len(temp_G.node)): + block_features = [] + # call + block_features.append(temp_G.node[temp]['numCalls']) + # transfer + block_features.append(temp_G.node[temp]['numTIs']) + # arithmetic + block_features.append(temp_G.node[temp]['numAs']) + # logic + block_features.append(temp_G.node[temp]['numLIs']) + # compare + block_features.append(temp_G.node[temp]['numCom']) + # move + block_features.append(temp_G.node[temp]['numMov']) + # termination + block_features.append(temp_G.node[temp]['numTerm']) + # date declaration + block_features.append(temp_G.node[temp]['numDD']) + # total instructions + block_features.append(temp_G.node[temp]['numIns']) + # string or integer constants + block_features.append(len(temp_G.node[temp]['strings']) if len(temp_G.node[temp]['strings']) != 0 else len( + temp_G.node[temp]['consts'])) + # offspring + block_features.append(temp_G.node[temp]['offs']) + acfg_list_item_feature.append(block_features) + edge_list_start = [] + edge_list_end = [] + for item in temp_G.edges: + edge_list_start.append(item[0]) + edge_list_end.append(item[1]) + block_edges = [edge_list_start, edge_list_end] + acfg_list_item = {"block_number": block_number, "block_edges": block_edges, "block_features": acfg_list_item_feature} + acfg_list.append(acfg_list_item) + + json_temp = {"function_edges": function_edges, "acfg_list": acfg_list, "function_names": fun_name_temp, "hash": file_hash, "function_number": function_number} + json_str = json.dumps(json_temp) + print json_str + + + + \ No newline at end of file diff --git a/raw-feature-extractor/raw_graphs.py b/raw-feature-extractor/raw_graphs.py index 37bcc5d..eb40c2e 100755 --- a/raw-feature-extractor/raw_graphs.py +++ b/raw-feature-extractor/raw_graphs.py @@ -1,286 +1,298 @@ import itertools import sys -sys.path.insert(0, '/usr/local/lib/python2.7/dist-packages/') + +sys.path.insert(1, 'C:/Python27/Lib/site-packages') import networkx as nx -#import numpy as np +# import numpy as np from subprocess import Popen, PIPE import pdb import os -import re,mmap -#from graph_edit_new import * +import re, mmap + + +# from graph_edit_new import * class raw_graph: - def __init__(self, funcname, g, func_f): - self.funcname = funcname - self.old_g = g[0] - self.g = nx.DiGraph() - self.entry = g[1] - self.fun_features = func_f - self.attributing() + def __init__(self, funcname, g, func_f): + self.funcname = funcname + self.old_g = g[0] + self.g = nx.DiGraph() + self.entry = g[1] + self.fun_features = func_f + self.attributing() - def __len__(self): - return len(self.g) + def __len__(self): + return len(self.g) - def attributing(self): - self.obtainOffsprings(self.old_g) - for node in self.old_g: - fvector = self.retrieveVec(node, self.old_g) - self.g.add_node(node) - self.g.node[node]['v'] = fvector + def attributing(self): + self.obtainOffsprings(self.old_g) + for node in self.old_g: + fvector = self.retrieveVec(node, self.old_g) + self.g.add_node(node) + self.g.node[node]['v'] = fvector - for edge in self.old_g.edges(): - node1 = edge[0] - node2 = edge[1] - self.g.add_edge(node1, node2) + for edge in self.old_g.edges(): + node1 = edge[0] + node2 = edge[1] + self.g.add_edge(node1, node2) - def obtainOffsprings(self,g): - nodes = g.nodes() - for node in nodes: - offsprings = {} - self.getOffsprings(g, node, offsprings) - g.node[node]['offs'] = len(offsprings) - return g + def obtainOffsprings(self, g): + nodes = g.nodes() + for node in nodes: + offsprings = {} + self.getOffsprings(g, node, offsprings) + g.node[node]['offs'] = len(offsprings) + return g - def getOffsprings(self, g, node, offsprings): - node_offs = 0 - sucs = g.successors(node) - for suc in sucs: - if suc not in offsprings: - offsprings[suc] = 1 - self.getOffsprings(g, suc, offsprings) + def getOffsprings(self, g, node, offsprings): + node_offs = 0 + sucs = g.successors(node) + for suc in sucs: + if suc not in offsprings: + offsprings[suc] = 1 + self.getOffsprings(g, suc, offsprings) - def retrieveVec(self, id_, g): - feature_vec = [] - #numC0 - numc = g.node[id_]['consts'] - feature_vec.append(numc) - #nums1 - nums = g.node[id_]['strings'] - feature_vec.append(nums) - #offsprings2 - offs = g.node[id_]['offs'] - feature_vec.append(offs) - #numAs3 - numAs = g.node[id_]['numAs'] - feature_vec.append(numAs) - # of calls4 - calls = g.node[id_]['numCalls'] - feature_vec.append(calls) - # of insts5 - insts = g.node[id_]['numIns'] - feature_vec.append(insts) - # of LIs6 - insts = g.node[id_]['numLIs'] - feature_vec.append(insts) - # of TIs7 - insts = g.node[id_]['numTIs'] - feature_vec.append(insts) - return feature_vec + def retrieveVec(self, id_, g): + feature_vec = [] + # numC0 + numc = g.node[id_]['consts'] + feature_vec.append(numc) + # nums1 + nums = g.node[id_]['strings'] + feature_vec.append(nums) + # offsprings2 + offs = g.node[id_]['offs'] + feature_vec.append(offs) + # numAs3 + numAs = g.node[id_]['numAs'] + feature_vec.append(numAs) + # of calls4 + calls = g.node[id_]['numCalls'] + feature_vec.append(calls) + # of insts5 + insts = g.node[id_]['numIns'] + feature_vec.append(insts) + # of LIs6 + insts = g.node[id_]['numLIs'] + feature_vec.append(insts) + # of TIs7 + insts = g.node[id_]['numTIs'] + feature_vec.append(insts) + feature_vec.append(g.node[id_]['numCom']) + feature_vec.append(g.node[id_]['numMov']) + feature_vec.append(g.node[id_]['numTerm']) + feature_vec.append(g.node[id_]['numDD']) + return feature_vec - def enumerating(self, n): - subgs = [] - #pdb.set_trace() - for sub_nodes in itertools.combinations(self.g.nodes(), n): - subg = self.g.subgraph(sub_nodes) - u_subg = subg.to_undirected() - if nx.is_connected(u_subg): - subgs.append(subg) - return subgs + def enumerating(self, n): + subgs = [] + # pdb.set_trace() + for sub_nodes in itertools.combinations(self.g.nodes(), n): + subg = self.g.subgraph(sub_nodes) + u_subg = subg.to_undirected() + if nx.is_connected(u_subg): + subgs.append(subg) + return subgs + def genMotifs(self, n): + motifs = {} + subgs = self.enumerating(n) + for subg in subgs: + if len(motifs) == 0: + motifs[subg] = [subg] + else: + nomatch = True + for mt in motifs: + if nx.is_isomorphic(mt, subg): + motifs[mt].append(subg) + nomatch = False + if nomatch: + motifs[subg] = [subg] + return motifs - def genMotifs(self, n): - motifs = {} - subgs = enumerating(n) - for subg in subgs: - if len(motifs) == 0: - motifs[subg] = [subg] - else: - nomatch = True - for mt in motifs: - if nx.is_isomorphic(mt, subg): - motifs[mt].append(subg) - nomatch = False - if nomatch: - motifs[subg] = [subg] - return motifs + def enumerating_efficient(self, n): + # pdb.set_trace() + if len(self.g) >= 200: + return [] + with open('/home/qian/workspace/gEnding/gencoding/encoding/labeled/data/preprocessing/OUTPUT.txt', 'wb') as f: + nx.write_edgelist(self.g, f, data=False) + # pdb.set_trace() + process = Popen( + ["/home/qian/workspace/FANMOD-command_line-source/executables/./fanmod_command_line_linux", str(n), + "100000", "1", "/home/qian/workspace/gEnding/gencoding/encoding/labeled/data/preprocessing/OUTPUT.txt", + "1", "0", "0", "2", "0", "0", "0", "1000", "3", "3", + "/home/qian/workspace/gEnding/gencoding/encoding/labeled/data/preprocessing/MotifCount.txt", "0", "1"], + stdout=PIPE, stderr=PIPE) + stdout, stderr = process.communicate() + if process.returncode >= 0: + # os.system("/home/qian/software/FANMOD-command_line-source/executables/./fanmod_command_line_linux " +str(n) + " 100000 1 /home/qian/workspace/gEnding/gencoding/encoding/labeled/data/preprocessing/OUTPUT.txt 1 0 0 2 0 0 0 1000 3 3 /home/qian/workspace/gEnding/gencoding/encoding/labeled/data/preprocessing/MotifCount.txt 0 1") + # pdb.set_trace() + # pdb.set_trace() + subgs = self.parseOutput( + "/home/qian/workspace/gEnding/gencoding/encoding/labeled/data/preprocessing/MotifCount.txt.dump", n) + # pdb.set_trace() + os.remove("/home/qian/workspace/gEnding/gencoding/encoding/labeled/data/preprocessing/MotifCount.txt.dump") + return subgs + return [] - def enumerating_efficient(self, n): - #pdb.set_trace() - if len(self.g) >= 200: - return [] - with open('/home/qian/workspace/gEnding/gencoding/encoding/labeled/data/preprocessing/OUTPUT.txt','wb') as f: - nx.write_edgelist(self.g,f,data=False) - #pdb.set_trace() - process = Popen(["/home/qian/workspace/FANMOD-command_line-source/executables/./fanmod_command_line_linux", str(n), "100000", "1", "/home/qian/workspace/gEnding/gencoding/encoding/labeled/data/preprocessing/OUTPUT.txt", "1", "0", "0", "2", "0", "0", "0", "1000", "3", "3", "/home/qian/workspace/gEnding/gencoding/encoding/labeled/data/preprocessing/MotifCount.txt", "0", "1"], stdout=PIPE, stderr=PIPE) - stdout, stderr = process.communicate() - if process.returncode >= 0: - #os.system("/home/qian/software/FANMOD-command_line-source/executables/./fanmod_command_line_linux " +str(n) + " 100000 1 /home/qian/workspace/gEnding/gencoding/encoding/labeled/data/preprocessing/OUTPUT.txt 1 0 0 2 0 0 0 1000 3 3 /home/qian/workspace/gEnding/gencoding/encoding/labeled/data/preprocessing/MotifCount.txt 0 1") - #pdb.set_trace() - #pdb.set_trace() - subgs = self.parseOutput("/home/qian/workspace/gEnding/gencoding/encoding/labeled/data/preprocessing/MotifCount.txt.dump", n) - #pdb.set_trace() - os.remove("/home/qian/workspace/gEnding/gencoding/encoding/labeled/data/preprocessing/MotifCount.txt.dump") - return subgs - return [] + def parseOutput(self, path, n): + pattern = re.compile('[0-9]+\,[0-9]+\,[0-9]+\,[0-9]+') + subgraphs = [] + with open(path, 'r') as f: + data = mmap.mmap(f.fileno(), 0, prot=mmap.PROT_READ) + mo = re.findall(pattern, data) + if mo: + results = [map(int, v.split(',')[1:]) for v in mo] + subgraphs = self.createGraphDirectly(results) + return subgraphs - def parseOutput(self, path, n): - pattern = re.compile('[0-9]+\,[0-9]+\,[0-9]+\,[0-9]+') - subgraphs = [] - with open(path,'r') as f: - data = mmap.mmap(f.fileno(), 0, prot=mmap.PROT_READ) - mo = re.findall(pattern, data) - if mo: - results = [map(int, v.split(',')[1:]) for v in mo] - subgraphs = self.createGraphDirectly(results) - return subgraphs + def parseOutputByconditions(self, path, n): + pattern = re.compile('[0-9]+\,[0-9]+\,[0-9]+\,[0-9]+') + subgraphs = [] + with open(path, 'r') as f: + data = mmap.mmap(f.fileno(), 0, prot=mmap.PROT_READ) + mo = re.findall(pattern, data) + if mo: + results = [map(int, v.split(',')[1:]) for v in mo] + subgraphs = self.create_Graphbycondition_Directly(results) + return subgraphs - def parseOutputByconditions(self, path, n): - pattern = re.compile('[0-9]+\,[0-9]+\,[0-9]+\,[0-9]+') - subgraphs = [] - with open(path,'r') as f: - data = mmap.mmap(f.fileno(), 0, prot=mmap.PROT_READ) - mo = re.findall(pattern, data) - if mo: - results = [map(int, v.split(',')[1:]) for v in mo] - subgraphs = self.create_Graphbycondition_Directly(results) - return subgraphs + def create_Graphbycondition_Directly(self, results): + subgs = [] + for indexes in results: + tg = template_graph() + subg = self.g.subgraph(indexes) + tg.updateG(subg) + subgs.append(tg) + del tg + return subgs - def create_Graphbycondition_Directly(self, results): - subgs = [] - for indexes in results: - tg = template_graph() - subg = self.g.subgraph(indexes) - tg.updateG(subg) - subgs.append(tg) - del tg - return subgs + def createGraphDirectly(self, results): + # pdb.set_trace() + # subgs = [self.g.subgraph(indexes) for indexes in results] + subgs = [] + for indexes in results: + tg = template_graph() + subg = self.g.subgraph(indexes) + tg.updateG(subg) + subgs.append(tg) + del tg + return subgs - def createGraphDirectly(self, results): - #pdb.set_trace() - #subgs = [self.g.subgraph(indexes) for indexes in results] - subgs = [] - for indexes in results: - tg = template_graph() - subg = self.g.subgraph(indexes) - tg.updateG(subg) - subgs.append(tg) - del tg - return subgs + def createGraph(self, results, n): + binary_value = int(results[0], 2) + indexes = [int(v) for v in results[1:]] + fang = self.createG(results[0], n) + if fang: + tg = template_graph(binary_value) + tg.updateG(fang, indexes, self.g) + return tg + pdb.set_trace() + print "there is g which is none" - def createGraph(self, results, n): - binary_value = int(results[0],2) - indexes = [int(v) for v in results[1:]] - fang = self.createG(results[0], n) - if fang: - tg = template_graph(binary_value) - tg.updateG(fang, indexes, self.g) - return tg - pdb.set_trace() - print "there is g which is none" - - def createG(self, binary_str, n): - g = nx.DiGraph() - l = [int(v) for v in binary_str] - #pdb.set_trace() - shape = (n, n) - data = np.array(l) - ad_matrix = data.reshape(shape) - for i in xrange(n): - for j in xrange(n): - if ad_matrix[i][j] == 1: - g.add_edge(i, j) - return g - + def createG(self, binary_str, n): + g = nx.DiGraph() + l = [int(v) for v in binary_str] + # pdb.set_trace() + shape = (n, n) + data = np.array(l) + ad_matrix = data.reshape(shape) + for i in xrange(n): + for j in xrange(n): + if ad_matrix[i][j] == 1: + g.add_edge(i, j) + return g class raw_graphs: - def __init__(self, binary_name): - self.binary_name = binary_name - self.raw_graph_list = [] + def __init__(self, binary_name): + self.binary_name = binary_name + self.raw_graph_list = [] - def append(self, raw_g): - self.raw_graph_list.append(raw_g) + def append(self, raw_g): + self.raw_graph_list.append(raw_g) - def __len__(self): - return len(self.raw_graph_list) + def __len__(self): + return len(self.raw_graph_list) class graphlets: - def __init__(self, funcname): - self.funcname = funcname - self.graphlets_list = [] - self.binary_name = None + def __init__(self, funcname): + self.funcname = funcname + self.graphlets_list = [] + self.binary_name = None - def updateBN(self, binary_name): - self.binary_name = binary_name + def updateBN(self, binary_name): + self.binary_name = binary_name - def append(self, subg): - self.graphlets_list.append(subg) + def append(self, subg): + self.graphlets_list.append(subg) - def appendSet(self, subgs): - self.graphlets_list += subgs + def appendSet(self, subgs): + self.graphlets_list += subgs + + def __len__(self): + return len(self.graphlets_list) - def __len__(self): - return len(self.graphlets_list) class template_graph: - def __init__(self, value=None): - self.value = value - self.g = None + def __init__(self, value=None): + self.value = value + self.g = None - def updateG(self,g): - self.g = g - #def updateIndexes(self, indexes): - # self.indexes = indexes + def updateG(self, g): + self.g = g +# def updateIndexes(self, indexes): +# self.indexes = indexes - #def updateAttributes(self, pg, indexes, maing): - # for id_ in xrange(len(indexes)): - # index = indexes[id_] - # gnode = self.findNode(index, maing) - # self.g.node[gnode] = pg.node[index] +# def updateAttributes(self, pg, indexes, maing): +# for id_ in xrange(len(indexes)): +# index = indexes[id_] +# gnode = self.findNode(index, maing) +# self.g.node[gnode] = pg.node[index] class template_graphs: - def __init__(self, size): - self.size = size - self.gs = [] - self.bit_len = None + def __init__(self, size): + self.size = size + self.gs = [] + self.bit_len = None - def enumeratingAll(self): - subgs = [] - binary_value = self.genBinValue() - for i in xrange(binary_value): - if i == 0 : - continue - g = self.createG(i) - if g: - tg = template_graph(i) - tg.updateG(g) - self.gs.append(tg) + def enumeratingAll(self): + subgs = [] + binary_value = self.genBinValue() + for i in xrange(binary_value): + if i == 0: + continue + g = self.createG(i) + if g: + tg = template_graph(i) + tg.updateG(g) + self.gs.append(tg) - def genBinValue(self): - n = self.size - self.bit_len = n*n - return 2**(self.bit_len) + def genBinValue(self): + n = self.size + self.bit_len = n * n + return 2 ** (self.bit_len) - def createG(self, i): - g = nx.DiGraph() - l = self.genArray(i) - #pdb.set_trace() - shape = (self.size, self.size) - data = np.array(l) - ad_matrix = data.reshape(shape) - for i in xrange(self.size): - for j in xrange(self.size): - if ad_matrix[i][j] == 1: - g.add_edge(i, j) - u_g = g.to_undirected() - if len(g) == self.size and nx.is_connected(u_g): - return g - return False + def createG(self, i): + g = nx.DiGraph() + l = self.genArray(i) + # pdb.set_trace() + shape = (self.size, self.size) + data = np.array(l) + ad_matrix = data.reshape(shape) + for i in xrange(self.size): + for j in xrange(self.size): + if ad_matrix[i][j] == 1: + g.add_edge(i, j) + u_g = g.to_undirected() + if len(g) == self.size and nx.is_connected(u_g): + return g + return False - def genArray(self, i): - l = [int(x) for x in bin(i)[2:]] - x = [0 for v in xrange(self.bit_len - len(l))] - return x + l + def genArray(self, i): + l = [int(x) for x in bin(i)[2:]] + x = [0 for v in xrange(self.bit_len - len(l))] + return x + l