ida_pro ======= .. py:module:: ida_pro .. autoapi-nested-parse:: This is the first header included in the IDA project. It defines the most common types, functions and data. Also, it tries to make system dependent definitions. The following preprocessor macros are used in the project (the list may be incomplete) Platform must be specified as one of: __NT__ - MS Windows (all platforms) __LINUX__ - Linux __MAC__ - MAC OS X __EA64__ - 64-bit address size (sizeof(ea_t)==8) __X86__ - 32-bit debug servers (sizeof(void*)==4) __X64__ - x64 processor (sizeof(void*)==8) default __PPC__ - PowerPC __ARM__ - ARM Attributes ---------- .. autoapisummary:: ida_pro.SWIG_PYTHON_LEGACY_BOOL ida_pro.BADDIFF ida_pro.IDA_SDK_VERSION ida_pro.BADMEMSIZE ida_pro.MAXSTR ida_pro.FMT_64 ida_pro.FMT_Z ida_pro.FMT_ZX ida_pro.FMT_ZS ida_pro.FMT_EA ida_pro.IDBDEC_ESCAPE ida_pro.CP_BOM ida_pro.UTF8_BOM ida_pro.UTF16LE_BOM ida_pro.UTF16BE_BOM ida_pro.UTF32LE_BOM ida_pro.UTF32BE_BOM ida_pro.CP_ELLIPSIS ida_pro.UTF8_ELLIPSIS ida_pro.CP_REPLCHAR ida_pro.UTF8_REPLCHAR ida_pro.MAX_UTF8_SEQ_LEN ida_pro.CEF_RETERR ida_pro.ENC_WIN1252 ida_pro.ENC_UTF8 ida_pro.ENC_MUTF8 ida_pro.ENC_UTF16 ida_pro.ENC_UTF16LE ida_pro.ENC_UTF16BE ida_pro.ENC_UTF32 ida_pro.ENC_UTF32LE ida_pro.ENC_UTF32BE ida_pro.CP_UTF8 ida_pro.CP_UTF16 ida_pro.SUBSTCHAR ida_pro.IOREDIR_INPUT ida_pro.IOREDIR_OUTPUT ida_pro.IOREDIR_APPEND ida_pro.IOREDIR_QUOTED ida_pro.QWCONTINUED ida_pro.QWNOHANG ida_pro.TCT_UNKNOWN ida_pro.TCT_OWNER ida_pro.TCT_NOT_OWNER ida_pro.cvar ida_pro.NULL_PIPE_HANDLE ida_pro.longlongvec_t ida_pro.ulonglongvec_t ida_pro.svalvec_t ida_pro.eavec_t Classes ------- .. autoapisummary:: ida_pro.qrefcnt_obj_t ida_pro.channel_redir_t ida_pro.plugin_options_t ida_pro.instant_dbgopts_t ida_pro.qmutex_locker_t ida_pro.intvec_t ida_pro.uintvec_t ida_pro.int64vec_t ida_pro.uint64vec_t ida_pro.boolvec_t ida_pro.strvec_t ida_pro.sizevec_t ida_pro.uchar_array ida_pro.tid_array ida_pro.ea_array ida_pro.sel_array ida_pro.uval_array ida_pro.uchar_pointer ida_pro.ushort_pointer ida_pro.uint_pointer ida_pro.sint8_pointer ida_pro.int8_pointer ida_pro.uint8_pointer ida_pro.int16_pointer ida_pro.uint16_pointer ida_pro.int32_pointer ida_pro.uint32_pointer ida_pro.int64_pointer ida_pro.uint64_pointer ida_pro.ssize_pointer ida_pro.bool_pointer ida_pro.char_pointer ida_pro.short_pointer ida_pro.int_pointer ida_pro.ea_pointer ida_pro.sel_pointer ida_pro.asize_pointer ida_pro.adiff_pointer ida_pro.uval_pointer ida_pro.sval_pointer ida_pro.ea32_pointer ida_pro.ea64_pointer ida_pro.flags_pointer ida_pro.flags64_pointer ida_pro.tid_pointer Functions --------- .. autoapisummary:: ida_pro.qatoll ida_pro.qexit ida_pro.log2ceil ida_pro.log2floor ida_pro.bitcountr_zero ida_pro.extend_sign ida_pro.readbytes ida_pro.writebytes ida_pro.reloc_value ida_pro.qvector_reserve ida_pro.relocate_relobj ida_pro.is_cvt64 ida_pro.quote_cmdline_arg ida_pro.parse_dbgopts ida_pro.check_process_exit ida_pro.is_control_tty ida_pro.qdetach_tty ida_pro.qcontrol_tty ida_pro.qthread_equal ida_pro.is_main_thread ida_pro.get_login_name ida_pro.get_physical_core_count ida_pro.get_logical_core_count ida_pro.get_available_core_count ida_pro.qstrvec_t_create ida_pro.qstrvec_t_destroy ida_pro.qstrvec_t_get_clink ida_pro.qstrvec_t_get_clink_ptr ida_pro.qstrvec_t_assign ida_pro.qstrvec_t_addressof ida_pro.qstrvec_t_set ida_pro.qstrvec_t_from_list ida_pro.qstrvec_t_size ida_pro.qstrvec_t_get ida_pro.qstrvec_t_add ida_pro.qstrvec_t_clear ida_pro.qstrvec_t_insert ida_pro.qstrvec_t_remove ida_pro.str2user Module Contents --------------- .. py:data:: SWIG_PYTHON_LEGACY_BOOL .. py:data:: BADDIFF .. py:data:: IDA_SDK_VERSION IDA SDK v9.2. .. py:data:: BADMEMSIZE .. py:data:: MAXSTR maximum string size .. py:function:: qatoll(nptr: str) -> int64 .. py:data:: FMT_64 .. py:data:: FMT_Z .. py:data:: FMT_ZX .. py:data:: FMT_ZS .. py:data:: FMT_EA .. py:function:: qexit(code: int) -> None Call qatexit functions, shut down UI and kernel, and exit. :param code: exit code .. py:function:: log2ceil(d64: uint64) -> int calculate ceil(log2(d64)) or floor(log2(d64)), it returns 0 if d64 == 0 .. py:function:: log2floor(d64: uint64) -> int .. py:function:: bitcountr_zero(x: uint64) -> int count the number of consecutive trailing zero bits (line C++20 std::countr_zero()) .. py:function:: extend_sign(v: uint64, nbytes: int, sign_extend: bool) -> uint64 Sign-, or zero-extend the value 'v' to occupy 64 bits. The value 'v' is considered to be of size 'nbytes'. .. py:function:: readbytes(h: int, res: uint32 *, size: int, mf: bool) -> int Read at most 4 bytes from file. :param h: file handle :param res: value read from file :param size: size of value in bytes (1,2,4) :param mf: is MSB first? :returns: 0 on success, nonzero otherwise .. py:function:: writebytes(h: int, l: int, size: int, mf: bool) -> int Write at most 4 bytes to file. :param h: file handle :param l: value to write :param size: size of value in bytes (1,2,4) :param mf: is MSB first? :returns: 0 on success, nonzero otherwise .. py:function:: reloc_value(value: void *, size: int, delta: adiff_t, mf: bool) -> None .. py:function:: qvector_reserve(vec: void *, old: void *, cnt: size_t, elsize: size_t) -> void * Change capacity of given qvector. :param vec: a pointer to a qvector :param old: a pointer to the qvector's array :param cnt: number of elements to reserve :param elsize: size of each element :returns: a pointer to the newly allocated array .. py:class:: qrefcnt_obj_t(*args, **kwargs) Bases: :py:obj:`object` .. py:attribute:: thisown .. py:attribute:: refcnt :type: int counter .. py:method:: release() -> None Call destructor. We use release() instead of operator delete() to maintain binary compatibility with all compilers (vc and gcc use different vtable layouts for operator delete) .. py:function:: relocate_relobj(_relobj: relobj_t *, ea: ida_idaapi.ea_t, mf: bool) -> bool .. py:data:: IDBDEC_ESCAPE convert non-printable characters to C escapes ( , \xNN, \uNNNN) .. py:data:: CP_BOM .. py:data:: UTF8_BOM .. py:data:: UTF16LE_BOM .. py:data:: UTF16BE_BOM .. py:data:: UTF32LE_BOM .. py:data:: UTF32BE_BOM .. py:data:: CP_ELLIPSIS .. py:data:: UTF8_ELLIPSIS .. py:data:: CP_REPLCHAR .. py:data:: UTF8_REPLCHAR .. py:data:: MAX_UTF8_SEQ_LEN .. py:function:: is_cvt64() -> bool is IDA converting IDB into I64? .. py:data:: CEF_RETERR .. py:data:: ENC_WIN1252 .. py:data:: ENC_UTF8 .. py:data:: ENC_MUTF8 .. py:data:: ENC_UTF16 .. py:data:: ENC_UTF16LE .. py:data:: ENC_UTF16BE .. py:data:: ENC_UTF32 .. py:data:: ENC_UTF32LE .. py:data:: ENC_UTF32BE .. py:data:: CP_UTF8 .. py:data:: CP_UTF16 UTF-16 codepage. .. py:data:: SUBSTCHAR default char, used if a char cannot be represented in a codepage .. py:class:: channel_redir_t Bases: :py:obj:`object` .. py:attribute:: thisown .. py:attribute:: fd :type: int channel number .. py:attribute:: file :type: str file name to redirect to/from. if empty, the channel must be closed. .. py:attribute:: flags :type: int i/o redirection flags .. py:method:: is_input() -> bool .. py:method:: is_output() -> bool .. py:method:: is_append() -> bool .. py:method:: is_quoted() -> bool .. py:attribute:: start :type: int begin of the redirection string in the command line .. py:attribute:: length :type: int length of the redirection string in the command line .. py:data:: IOREDIR_INPUT input redirection .. py:data:: IOREDIR_OUTPUT output redirection .. py:data:: IOREDIR_APPEND append, do not overwrite the output file .. py:data:: IOREDIR_QUOTED the file name was quoted .. py:function:: quote_cmdline_arg(arg: str) -> bool Quote a command line argument if it contains escape characters. For example, *.c will be converted into "*.c" because * may be inadvertently expanded by the shell :returns: true: modified 'arg' .. py:class:: plugin_options_t Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: find(name: str) -> plugin_option_t const * .. py:method:: erase(name: str) -> bool .. py:class:: instant_dbgopts_t Bases: :py:obj:`object` .. py:attribute:: thisown .. py:attribute:: debmod :type: str name of debugger module .. py:attribute:: env :type: str config variables for debmod. example: DEFAULT_CPU=13;MAXPACKETSIZE=-1 .. py:attribute:: host :type: str remote hostname (if remote debugging) .. py:attribute:: port :type: int port number for the remote debugger server .. py:attribute:: pid :type: int process to attach to (-1: ask the user) .. py:attribute:: event_id :type: int event to trigger upon attaching .. py:attribute:: attach :type: bool should attach to a process? .. py:function:: parse_dbgopts(ido: instant_dbgopts_t, r_switch: str) -> bool Parse the -r command line switch (for instant debugging). r_switch points to the value of the -r switch. Example: win32@localhost+ :returns: true-ok, false-parse error .. py:data:: QWCONTINUED .. py:data:: QWNOHANG .. py:function:: check_process_exit(handle: void *, exit_code: int *, msecs: int = -1) -> int Check whether process has terminated or not. :param handle: process handle to wait for :param exit_code: pointer to the buffer for the exit code :returns: 0: process has exited, and the exit code is available. if *exit_code < 0: the process was killed with a signal -*exit_code :returns: 1: process has not exited yet :returns: -1: error happened, see error code for winerr() in *exit_code .. py:data:: TCT_UNKNOWN .. py:data:: TCT_OWNER .. py:data:: TCT_NOT_OWNER .. py:function:: is_control_tty(fd: int) -> enum tty_control_t Check if the current process is the owner of the TTY specified by 'fd' (typically an opened descriptor to /dev/tty). .. py:function:: qdetach_tty() -> None If the current terminal is the controlling terminal of the calling process, give up this controlling terminal. .. py:function:: qcontrol_tty() -> None Make the current terminal the controlling terminal of the calling process. .. py:function:: qthread_equal(q1: __qthread_t, q2: __qthread_t) -> bool Are two threads equal? .. py:function:: is_main_thread() -> bool Are we running in the main thread? .. py:class:: qmutex_locker_t(_lock: __qmutex_t) Bases: :py:obj:`object` .. py:attribute:: thisown .. py:function:: get_login_name() -> str Get the user name for the current desktop session :returns: success .. py:function:: get_physical_core_count() -> int Get the total CPU physical core count :returns: the physical core count, or -1 on error .. py:function:: get_logical_core_count() -> int Get the total CPU logical core count :returns: the logical core count, or -1 on error .. py:function:: get_available_core_count() -> int Get the number of logical CPU cores available to the current process if supported by the OS. :returns: the logical core count available for the process, or -1 on error .. py:class:: intvec_t(*args) Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: push_back(*args) -> int & .. py:method:: pop_back() -> None .. py:method:: size() -> size_t .. py:method:: empty() -> bool .. py:method:: at(_idx: size_t) -> int const & .. py:method:: qclear() -> None .. py:method:: clear() -> None .. py:method:: resize(*args) -> None .. py:method:: capacity() -> size_t .. py:method:: reserve(cnt: size_t) -> None .. py:method:: truncate() -> None .. py:method:: swap(r: intvec_t) -> None .. py:method:: extract() -> int * .. py:method:: inject(s: int *, len: size_t) -> None .. py:method:: begin(*args) -> qvector< int >::const_iterator .. py:method:: end(*args) -> qvector< int >::const_iterator .. py:method:: insert(it: qvector< int >::iterator, x: int const &) -> qvector< int >::iterator .. py:method:: erase(*args) -> qvector< int >::iterator .. py:method:: find(*args) -> qvector< int >::const_iterator .. py:method:: has(x: int const &) -> bool .. py:method:: add_unique(x: int const &) -> bool .. py:method:: append(x: int const &) -> None .. py:method:: extend(x: intvec_t) -> None .. py:attribute:: front .. py:attribute:: back .. py:data:: cvar .. py:data:: NULL_PIPE_HANDLE .. py:class:: uintvec_t(*args) Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: push_back(*args) -> unsigned int & .. py:method:: pop_back() -> None .. py:method:: size() -> size_t .. py:method:: empty() -> bool .. py:method:: at(_idx: size_t) -> unsigned int const & .. py:method:: qclear() -> None .. py:method:: clear() -> None .. py:method:: resize(*args) -> None .. py:method:: capacity() -> size_t .. py:method:: reserve(cnt: size_t) -> None .. py:method:: truncate() -> None .. py:method:: swap(r: uintvec_t) -> None .. py:method:: extract() -> unsigned int * .. py:method:: inject(s: unsigned int *, len: size_t) -> None .. py:method:: begin(*args) -> qvector< unsigned int >::const_iterator .. py:method:: end(*args) -> qvector< unsigned int >::const_iterator .. py:method:: insert(it: qvector< unsigned int >::iterator, x: unsigned int const &) -> qvector< unsigned int >::iterator .. py:method:: erase(*args) -> qvector< unsigned int >::iterator .. py:method:: find(*args) -> qvector< unsigned int >::const_iterator .. py:method:: has(x: unsigned int const &) -> bool .. py:method:: add_unique(x: unsigned int const &) -> bool .. py:method:: append(x: unsigned int const &) -> None .. py:method:: extend(x: uintvec_t) -> None .. py:attribute:: front .. py:attribute:: back .. py:class:: int64vec_t(*args) Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: push_back(*args) -> long long & .. py:method:: pop_back() -> None .. py:method:: size() -> size_t .. py:method:: empty() -> bool .. py:method:: at(_idx: size_t) -> long long const & .. py:method:: qclear() -> None .. py:method:: clear() -> None .. py:method:: resize(*args) -> None .. py:method:: capacity() -> size_t .. py:method:: reserve(cnt: size_t) -> None .. py:method:: truncate() -> None .. py:method:: swap(r: int64vec_t) -> None .. py:method:: extract() -> long long * .. py:method:: inject(s: long long *, len: size_t) -> None .. py:method:: begin(*args) -> qvector< long long >::const_iterator .. py:method:: end(*args) -> qvector< long long >::const_iterator .. py:method:: insert(it: qvector< long long >::iterator, x: long long const &) -> qvector< long long >::iterator .. py:method:: erase(*args) -> qvector< long long >::iterator .. py:method:: find(*args) -> qvector< long long >::const_iterator .. py:method:: has(x: long long const &) -> bool .. py:method:: add_unique(x: long long const &) -> bool .. py:method:: append(x: long long const &) -> None .. py:method:: extend(x: int64vec_t) -> None .. py:attribute:: front .. py:attribute:: back .. py:class:: uint64vec_t(*args) Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: push_back(*args) -> unsigned long long & .. py:method:: pop_back() -> None .. py:method:: size() -> size_t .. py:method:: empty() -> bool .. py:method:: at(_idx: size_t) -> unsigned long long const & .. py:method:: qclear() -> None .. py:method:: clear() -> None .. py:method:: resize(*args) -> None .. py:method:: capacity() -> size_t .. py:method:: reserve(cnt: size_t) -> None .. py:method:: truncate() -> None .. py:method:: swap(r: uint64vec_t) -> None .. py:method:: extract() -> unsigned long long * .. py:method:: inject(s: unsigned long long *, len: size_t) -> None .. py:method:: begin(*args) -> qvector< unsigned long long >::const_iterator .. py:method:: end(*args) -> qvector< unsigned long long >::const_iterator .. py:method:: insert(it: qvector< unsigned long long >::iterator, x: unsigned long long const &) -> qvector< unsigned long long >::iterator .. py:method:: erase(*args) -> qvector< unsigned long long >::iterator .. py:method:: find(*args) -> qvector< unsigned long long >::const_iterator .. py:method:: has(x: unsigned long long const &) -> bool .. py:method:: add_unique(x: unsigned long long const &) -> bool .. py:method:: append(x: unsigned long long const &) -> None .. py:method:: extend(x: uint64vec_t) -> None .. py:attribute:: front .. py:attribute:: back .. py:class:: boolvec_t(*args) Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: push_back(*args) -> bool & .. py:method:: pop_back() -> None .. py:method:: size() -> size_t .. py:method:: empty() -> bool .. py:method:: at(_idx: size_t) -> bool const & .. py:method:: qclear() -> None .. py:method:: clear() -> None .. py:method:: resize(*args) -> None .. py:method:: grow(*args) -> None .. py:method:: capacity() -> size_t .. py:method:: reserve(cnt: size_t) -> None .. py:method:: truncate() -> None .. py:method:: swap(r: boolvec_t) -> None .. py:method:: extract() -> bool * .. py:method:: inject(s: bool *, len: size_t) -> None .. py:method:: begin(*args) -> qvector< bool >::const_iterator .. py:method:: end(*args) -> qvector< bool >::const_iterator .. py:method:: insert(it: qvector< bool >::iterator, x: bool const &) -> qvector< bool >::iterator .. py:method:: erase(*args) -> qvector< bool >::iterator .. py:method:: find(*args) -> qvector< bool >::const_iterator .. py:method:: has(x: bool const &) -> bool .. py:method:: add_unique(x: bool const &) -> bool .. py:method:: append(x: bool const &) -> None .. py:method:: extend(x: boolvec_t) -> None .. py:attribute:: front .. py:attribute:: back .. py:class:: strvec_t(*args) Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: push_back(*args) -> simpleline_t & .. py:method:: pop_back() -> None .. py:method:: size() -> size_t .. py:method:: empty() -> bool .. py:method:: at(_idx: size_t) -> simpleline_t const & .. py:method:: qclear() -> None .. py:method:: clear() -> None .. py:method:: resize(*args) -> None .. py:method:: grow(*args) -> None .. py:method:: capacity() -> size_t .. py:method:: reserve(cnt: size_t) -> None .. py:method:: truncate() -> None .. py:method:: swap(r: strvec_t) -> None .. py:method:: extract() -> simpleline_t * .. py:method:: inject(s: simpleline_t *, len: size_t) -> None .. py:method:: begin(*args) -> qvector< simpleline_t >::const_iterator .. py:method:: end(*args) -> qvector< simpleline_t >::const_iterator .. py:method:: insert(it: qvector< simpleline_t >::iterator, x: simpleline_t const &) -> qvector< simpleline_t >::iterator .. py:method:: erase(*args) -> qvector< simpleline_t >::iterator .. py:method:: append(x: simpleline_t const &) -> None .. py:method:: extend(x: strvec_t) -> None .. py:attribute:: front .. py:attribute:: back .. py:class:: sizevec_t(*args) Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: push_back(*args) -> size_t & .. py:method:: pop_back() -> None .. py:method:: size() -> size_t .. py:method:: empty() -> bool .. py:method:: at(_idx: size_t) -> size_t const & .. py:method:: qclear() -> None .. py:method:: clear() -> None .. py:method:: resize(*args) -> None .. py:method:: grow(*args) -> None .. py:method:: capacity() -> size_t .. py:method:: reserve(cnt: size_t) -> None .. py:method:: truncate() -> None .. py:method:: swap(r: sizevec_t) -> None .. py:method:: extract() -> size_t * .. py:method:: inject(s: size_t *, len: size_t) -> None .. py:method:: begin(*args) -> qvector< size_t >::const_iterator .. py:method:: end(*args) -> qvector< size_t >::const_iterator .. py:method:: insert(it: qvector< size_t >::iterator, x: size_t const &) -> qvector< size_t >::iterator .. py:method:: erase(*args) -> qvector< size_t >::iterator .. py:method:: find(*args) -> qvector< size_t >::const_iterator .. py:method:: has(x: size_t const &) -> bool .. py:method:: add_unique(x: size_t const &) -> bool .. py:method:: append(x: size_t const &) -> None .. py:method:: extend(x: sizevec_t) -> None .. py:attribute:: front .. py:attribute:: back .. py:function:: qstrvec_t_create() -> PyObject * .. py:function:: qstrvec_t_destroy(py_obj: PyObject *) -> bool .. py:function:: qstrvec_t_get_clink(_self: PyObject *) -> qstrvec_t * .. py:function:: qstrvec_t_get_clink_ptr(_self: PyObject *) -> PyObject * .. py:function:: qstrvec_t_assign(_self: PyObject *, other: PyObject *) -> bool .. py:function:: qstrvec_t_addressof(_self: PyObject *, idx: size_t) -> PyObject * .. py:function:: qstrvec_t_set(_self: PyObject *, idx: size_t, s: str) -> bool .. py:function:: qstrvec_t_from_list(_self: PyObject *, py_list: PyObject *) -> bool .. py:function:: qstrvec_t_size(_self: PyObject *) -> size_t .. py:function:: qstrvec_t_get(_self: PyObject *, idx: size_t) -> PyObject * .. py:function:: qstrvec_t_add(_self: PyObject *, s: str) -> bool .. py:function:: qstrvec_t_clear(_self: PyObject *, qclear: bool) -> bool .. py:function:: qstrvec_t_insert(_self: PyObject *, idx: size_t, s: str) -> bool .. py:function:: qstrvec_t_remove(_self: PyObject *, idx: size_t) -> bool .. py:function:: str2user(str) Insert C-style escape characters to string :param str: the input string :returns: new string with escape characters inserted, or None .. py:class:: uchar_array(nelements: size_t) Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: cast() -> uchar * .. py:method:: frompointer(t: uchar *) -> uchar_array * :staticmethod: .. py:class:: tid_array(nelements: size_t) Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: cast() -> tid_t * .. py:method:: frompointer(t: tid_t *) -> tid_array * :staticmethod: .. py:class:: ea_array(nelements: size_t) Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: cast() -> ea_t * .. py:method:: frompointer(t: ea_t *) -> ea_array * :staticmethod: .. py:class:: sel_array(nelements: size_t) Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: cast() -> sel_t * .. py:method:: frompointer(t: sel_t *) -> sel_array * :staticmethod: .. py:class:: uval_array(nelements: size_t) Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: cast() -> uval_t * .. py:method:: frompointer(t: uval_t *) -> uval_array * :staticmethod: .. py:class:: uchar_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: uchar) -> None .. py:method:: value() -> uchar .. py:method:: cast() -> uchar * .. py:method:: frompointer(t: uchar *) -> uchar_pointer * :staticmethod: .. py:class:: ushort_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: ushort) -> None .. py:method:: value() -> ushort .. py:method:: cast() -> ushort * .. py:method:: frompointer(t: ushort *) -> ushort_pointer * :staticmethod: .. py:class:: uint_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: uint) -> None .. py:method:: value() -> uint .. py:method:: cast() -> uint * .. py:method:: frompointer(t: uint *) -> uint_pointer * :staticmethod: .. py:class:: sint8_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: sint8) -> None .. py:method:: value() -> sint8 .. py:method:: cast() -> sint8 * .. py:method:: frompointer(t: sint8 *) -> sint8_pointer * :staticmethod: .. py:class:: int8_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: int8) -> None .. py:method:: value() -> int8 .. py:method:: cast() -> int8 * .. py:method:: frompointer(t: int8 *) -> int8_pointer * :staticmethod: .. py:class:: uint8_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: uint8) -> None .. py:method:: value() -> uint8 .. py:method:: cast() -> uint8 * .. py:method:: frompointer(t: uint8 *) -> uint8_pointer * :staticmethod: .. py:class:: int16_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: int16) -> None .. py:method:: value() -> int16 .. py:method:: cast() -> int16 * .. py:method:: frompointer(t: int16 *) -> int16_pointer * :staticmethod: .. py:class:: uint16_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: uint16) -> None .. py:method:: value() -> uint16 .. py:method:: cast() -> uint16 * .. py:method:: frompointer(t: uint16 *) -> uint16_pointer * :staticmethod: .. py:class:: int32_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: int) -> None .. py:method:: value() -> int .. py:method:: cast() -> int32 * .. py:method:: frompointer(t: int32 *) -> int32_pointer * :staticmethod: .. py:class:: uint32_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: int) -> None .. py:method:: value() -> int .. py:method:: cast() -> uint32 * .. py:method:: frompointer(t: uint32 *) -> uint32_pointer * :staticmethod: .. py:class:: int64_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: int64) -> None .. py:method:: value() -> int64 .. py:method:: cast() -> int64 * .. py:method:: frompointer(t: int64 *) -> int64_pointer * :staticmethod: .. py:class:: uint64_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: uint64) -> None .. py:method:: value() -> uint64 .. py:method:: cast() -> uint64 * .. py:method:: frompointer(t: uint64 *) -> uint64_pointer * :staticmethod: .. py:class:: ssize_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: ssize_t) -> None .. py:method:: value() -> ssize_t .. py:method:: cast() -> ssize_t * .. py:method:: frompointer(t: ssize_t *) -> ssize_pointer * :staticmethod: .. py:class:: bool_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: bool) -> None .. py:method:: value() -> bool .. py:method:: cast() -> bool * .. py:method:: frompointer(t: bool *) -> bool_pointer * :staticmethod: .. py:class:: char_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: char) -> None .. py:method:: value() -> char .. py:method:: cast() -> char * .. py:method:: frompointer(t: char *) -> char_pointer * :staticmethod: .. py:class:: short_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: short) -> None .. py:method:: value() -> short .. py:method:: cast() -> short * .. py:method:: frompointer(t: short *) -> short_pointer * :staticmethod: .. py:class:: int_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: int) -> None .. py:method:: value() -> int .. py:method:: cast() -> int * .. py:method:: frompointer(t: int *) -> int_pointer * :staticmethod: .. py:class:: ea_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: ida_idaapi.ea_t) -> None .. py:method:: value() -> ida_idaapi.ea_t .. py:method:: cast() -> ea_t * .. py:method:: frompointer(t: ea_t *) -> ea_pointer * :staticmethod: .. py:class:: sel_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: sel_t) -> None .. py:method:: value() -> sel_t .. py:method:: cast() -> sel_t * .. py:method:: frompointer(t: sel_t *) -> sel_pointer * :staticmethod: .. py:class:: asize_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: asize_t) -> None .. py:method:: value() -> asize_t .. py:method:: cast() -> asize_t * .. py:method:: frompointer(t: asize_t *) -> asize_pointer * :staticmethod: .. py:class:: adiff_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: adiff_t) -> None .. py:method:: value() -> adiff_t .. py:method:: cast() -> adiff_t * .. py:method:: frompointer(t: adiff_t *) -> adiff_pointer * :staticmethod: .. py:class:: uval_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: int) -> None .. py:method:: value() -> int .. py:method:: cast() -> uval_t * .. py:method:: frompointer(t: uval_t *) -> uval_pointer * :staticmethod: .. py:class:: sval_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: int) -> None .. py:method:: value() -> int .. py:method:: cast() -> sval_t * .. py:method:: frompointer(t: sval_t *) -> sval_pointer * :staticmethod: .. py:class:: ea32_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: ea32_t) -> None .. py:method:: value() -> ea32_t .. py:method:: cast() -> ea32_t * .. py:method:: frompointer(t: ea32_t *) -> ea32_pointer * :staticmethod: .. py:class:: ea64_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: ea64_t) -> None .. py:method:: value() -> ea64_t .. py:method:: cast() -> ea64_t * .. py:method:: frompointer(t: ea64_t *) -> ea64_pointer * :staticmethod: .. py:class:: flags_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: flags_t) -> None .. py:method:: value() -> flags_t .. py:method:: cast() -> flags_t * .. py:method:: frompointer(t: flags_t *) -> flags_pointer * :staticmethod: .. py:class:: flags64_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: flags64_t) -> None .. py:method:: value() -> flags64_t .. py:method:: cast() -> flags64_t * .. py:method:: frompointer(t: flags64_t *) -> flags64_pointer * :staticmethod: .. py:class:: tid_pointer Bases: :py:obj:`object` .. py:attribute:: thisown .. py:method:: assign(value: tid_t) -> None .. py:method:: value() -> tid_t .. py:method:: cast() -> tid_t * .. py:method:: frompointer(t: tid_t *) -> tid_pointer * :staticmethod: .. py:data:: longlongvec_t .. py:data:: ulonglongvec_t .. py:data:: svalvec_t .. py:data:: eavec_t