IDAPython 9.0
Loading...
Searching...
No Matches
ida_pro Namespace Reference

Detailed Description

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 

Classes

class  _qstrvec_t
 
class  adiff_pointer
 
class  asize_pointer
 
class  bool_pointer
 
class  boolvec_t
 
class  channel_redir_t
 
class  char_pointer
 
class  ea32_pointer
 
class  ea64_pointer
 
class  ea_array
 
class  ea_pointer
 
class  flags64_pointer
 
class  flags_pointer
 
class  instant_dbgopts_t
 
class  int16_pointer
 
class  int32_pointer
 
class  int64_pointer
 
class  int64vec_t
 
class  int8_pointer
 
class  int_pointer
 
class  intvec_t
 
class  plugin_options_t
 
class  qmutex_locker_t
 
class  qrefcnt_obj_t
 
class  sel_array
 
class  sel_pointer
 
class  short_pointer
 
class  sint8_pointer
 
class  sizevec_t
 
class  ssize_pointer
 
class  strvec_t
 
class  sval_pointer
 
class  tid_array
 
class  tid_pointer
 
class  uchar_array
 
class  uchar_pointer
 
class  uint16_pointer
 
class  uint32_pointer
 
class  uint64_pointer
 
class  uint64vec_t
 
class  uint8_pointer
 
class  uint_pointer
 
class  uintvec_t
 
class  ushort_pointer
 
class  uval_array
 
class  uval_pointer
 

Functions

'int64' qatoll (str nptr)
 
None qexit (int code)
 
int log2ceil ('uint64' d64)
 
int log2floor ('uint64' d64)
 
'uint64' extend_sign ('uint64' v, int nbytes, bool sign_extend)
 
int readbytes (int h, 'uint32 *' res, int size, bool mf)
 
int writebytes (int h, int l, int size, bool mf)
 
None reloc_value ('void *' value, int size, 'adiff_t' delta, bool mf)
 
'void *' qvector_reserve ('void *' vec, 'void *' old, 'size_t' cnt, 'size_t' elsize)
 
bool relocate_relobj ('relobj_t *' _relobj, ida_idaapi.ea_t ea, bool mf)
 
bool is_cvt64 ()
 
bool quote_cmdline_arg (str arg)
 
bool parse_dbgopts ('instant_dbgopts_t' ido, str r_switch)
 
int check_process_exit ('void *' handle, 'int *' exit_code, int msecs=-1)
 
'enum tty_control_t' is_control_tty (int fd)
 
None qdetach_tty ()
 
None qcontrol_tty ()
 
bool qthread_equal ('__qthread_t' q1, '__qthread_t' q2)
 
bool is_main_thread ()
 
str get_login_name ()
 
int get_physical_core_count ()
 
int get_logical_core_count ()
 
int get_available_core_count ()
 
'PyObject *' qstrvec_t_create ()
 
bool qstrvec_t_destroy ('PyObject *' py_obj)
 
'qstrvec_t *' qstrvec_t_get_clink ('PyObject *' _self)
 
'PyObject *' qstrvec_t_get_clink_ptr ('PyObject *' _self)
 
bool qstrvec_t_assign ('PyObject *' _self, 'PyObject *' other)
 
'PyObject *' qstrvec_t_addressof ('PyObject *' _self, 'size_t' idx)
 
bool qstrvec_t_set ('PyObject *' _self, 'size_t' idx, str s)
 
bool qstrvec_t_from_list ('PyObject *' _self, 'PyObject *' py_list)
 
'size_t' qstrvec_t_size ('PyObject *' _self)
 
'PyObject *' qstrvec_t_get ('PyObject *' _self, 'size_t' idx)
 
bool qstrvec_t_add ('PyObject *' _self, str s)
 
bool qstrvec_t_clear ('PyObject *' _self, bool qclear)
 
bool qstrvec_t_insert ('PyObject *' _self, 'size_t' idx, str s)
 
bool qstrvec_t_remove ('PyObject *' _self, 'size_t' idx)
 
 str2user (str)
 

Variables

 BADDIFF = _ida_pro.BADDIFF
 
 IDA_SDK_VERSION = _ida_pro.IDA_SDK_VERSION
 
 BADMEMSIZE = _ida_pro.BADMEMSIZE
 
 _CRT_DECLARE_NONSTDC_NAMES = _ida_pro._CRT_DECLARE_NONSTDC_NAMES
 
 MAXSTR = _ida_pro.MAXSTR
 
 FMT_64 = _ida_pro.FMT_64
 
 FMT_Z = _ida_pro.FMT_Z
 
 FMT_ZX = _ida_pro.FMT_ZX
 
 FMT_ZS = _ida_pro.FMT_ZS
 
 FMT_EA = _ida_pro.FMT_EA
 
 IDBDEC_ESCAPE = _ida_pro.IDBDEC_ESCAPE
 
 CP_BOM = _ida_pro.CP_BOM
 
 UTF8_BOM = _ida_pro.UTF8_BOM
 
 UTF16LE_BOM = _ida_pro.UTF16LE_BOM
 
 UTF16BE_BOM = _ida_pro.UTF16BE_BOM
 
 UTF32LE_BOM = _ida_pro.UTF32LE_BOM
 
 UTF32BE_BOM = _ida_pro.UTF32BE_BOM
 
 CP_ELLIPSIS = _ida_pro.CP_ELLIPSIS
 
 UTF8_ELLIPSIS = _ida_pro.UTF8_ELLIPSIS
 
 CP_REPLCHAR = _ida_pro.CP_REPLCHAR
 
 UTF8_REPLCHAR = _ida_pro.UTF8_REPLCHAR
 
 MAX_UTF8_SEQ_LEN = _ida_pro.MAX_UTF8_SEQ_LEN
 
 CEF_RETERR = _ida_pro.CEF_RETERR
 
 ENC_WIN1252 = _ida_pro.ENC_WIN1252
 
 ENC_UTF8 = _ida_pro.ENC_UTF8
 
 ENC_MUTF8 = _ida_pro.ENC_MUTF8
 
 ENC_UTF16 = _ida_pro.ENC_UTF16
 
 ENC_UTF16LE = _ida_pro.ENC_UTF16LE
 
 ENC_UTF16BE = _ida_pro.ENC_UTF16BE
 
 ENC_UTF32 = _ida_pro.ENC_UTF32
 
 ENC_UTF32LE = _ida_pro.ENC_UTF32LE
 
 ENC_UTF32BE = _ida_pro.ENC_UTF32BE
 
 CP_UTF8 = _ida_pro.CP_UTF8
 
 CP_UTF16 = _ida_pro.CP_UTF16
 
 SUBSTCHAR = _ida_pro.SUBSTCHAR
 
 IOREDIR_INPUT = _ida_pro.IOREDIR_INPUT
 
 IOREDIR_OUTPUT = _ida_pro.IOREDIR_OUTPUT
 
 IOREDIR_APPEND = _ida_pro.IOREDIR_APPEND
 
 IOREDIR_QUOTED = _ida_pro.IOREDIR_QUOTED
 
 QWCONTINUED = _ida_pro.QWCONTINUED
 
 QWNOHANG = _ida_pro.QWNOHANG
 
 TCT_UNKNOWN = _ida_pro.TCT_UNKNOWN
 
 TCT_OWNER = _ida_pro.TCT_OWNER
 
 TCT_NOT_OWNER = _ida_pro.TCT_NOT_OWNER
 
 cvar = _ida_pro.cvar
 
 NULL_PIPE_HANDLE = cvar.NULL_PIPE_HANDLE
 
 longlongvec_t = int64vec_t
 
 ulonglongvec_t = uint64vec_t
 
 svalvec_t = int64vec_t
 
 uvalvec_t = uint64vec_t
 
 eavec_t = uvalvec_t
 

Function Documentation

◆ check_process_exit()

int check_process_exit ( 'void *' handle,
'int *' exit_code,
int msecs = -1 )
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
@retval 0: process has exited, and the exit code is available. if *exit_code < 0: the process was killed with a signal -*exit_code
@retval 1: process has not exited yet
@retval -1: error happened, see error code for winerr() in *exit_code

◆ extend_sign()

'uint64' extend_sign ( 'uint64' v,
int nbytes,
bool sign_extend )
Sign-, or zero-extend the value 'v' to occupy 64 bits. The value 'v' is considered to be of size 'nbytes'. 

◆ get_available_core_count()

int get_available_core_count ( )
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

◆ get_logical_core_count()

int get_logical_core_count ( )
Get the total CPU logical core count 
    
@returns the logical core count, or -1 on error

◆ get_login_name()

str get_login_name ( )
Get the user name for the current desktop session 
    
@returns success

◆ get_physical_core_count()

int get_physical_core_count ( )
Get the total CPU physical core count 
    
@returns the physical core count, or -1 on error

◆ is_control_tty()

'enum tty_control_t' is_control_tty ( int fd)
Check if the current process is the owner of the TTY specified by 'fd' (typically an opened descriptor to /dev/tty). 

◆ is_cvt64()

bool is_cvt64 ( )
is IDA converting IDB into I64?

◆ is_main_thread()

bool is_main_thread ( )
Are we running in the main thread?

◆ log2ceil()

int log2ceil ( 'uint64' d64)
calculate ceil(log2(d64)) or floor(log2(d64)), it returns 0 if d64 == 0 

◆ log2floor()

int log2floor ( 'uint64' d64)

◆ parse_dbgopts()

bool parse_dbgopts ( 'instant_dbgopts_t' ido,
str r_switch )
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

◆ qatoll()

'int64' qatoll ( str nptr)

◆ qcontrol_tty()

None qcontrol_tty ( )
Make the current terminal the controlling terminal of the calling process. 

◆ qdetach_tty()

None qdetach_tty ( )
If the current terminal is the controlling terminal of the calling process, give up this controlling terminal. 

◆ qexit()

None qexit ( int code)
Call qatexit functions, shut down UI and kernel, and exit. 
    
@param code: exit code

◆ qstrvec_t_add()

bool qstrvec_t_add ( 'PyObject *' _self,
str s )

◆ qstrvec_t_addressof()

'PyObject *' qstrvec_t_addressof ( 'PyObject *' _self,
'size_t' idx )

◆ qstrvec_t_assign()

bool qstrvec_t_assign ( 'PyObject *' _self,
'PyObject *' other )

◆ qstrvec_t_clear()

bool qstrvec_t_clear ( 'PyObject *' _self,
bool qclear )

◆ qstrvec_t_create()

'PyObject *' qstrvec_t_create ( )

◆ qstrvec_t_destroy()

bool qstrvec_t_destroy ( 'PyObject *' py_obj)

◆ qstrvec_t_from_list()

bool qstrvec_t_from_list ( 'PyObject *' _self,
'PyObject *' py_list )

◆ qstrvec_t_get()

'PyObject *' qstrvec_t_get ( 'PyObject *' _self,
'size_t' idx )

◆ qstrvec_t_get_clink()

'qstrvec_t *' qstrvec_t_get_clink ( 'PyObject *' _self)

◆ qstrvec_t_get_clink_ptr()

'PyObject *' qstrvec_t_get_clink_ptr ( 'PyObject *' _self)

◆ qstrvec_t_insert()

bool qstrvec_t_insert ( 'PyObject *' _self,
'size_t' idx,
str s )

◆ qstrvec_t_remove()

bool qstrvec_t_remove ( 'PyObject *' _self,
'size_t' idx )

◆ qstrvec_t_set()

bool qstrvec_t_set ( 'PyObject *' _self,
'size_t' idx,
str s )

◆ qstrvec_t_size()

'size_t' qstrvec_t_size ( 'PyObject *' _self)

◆ qthread_equal()

bool qthread_equal ( '__qthread_t' q1,
'__qthread_t' q2 )
Are two threads equal?

◆ quote_cmdline_arg()

bool quote_cmdline_arg ( str arg)
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'

◆ qvector_reserve()

'void *' qvector_reserve ( 'void *' vec,
'void *' old,
'size_t' cnt,
'size_t' elsize )
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

◆ readbytes()

int readbytes ( int h,
'uint32 *' res,
int size,
bool mf )
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

◆ reloc_value()

None reloc_value ( 'void *' value,
int size,
'adiff_t' delta,
bool mf )

◆ relocate_relobj()

bool relocate_relobj ( 'relobj_t *' _relobj,
ida_idaapi.ea_t ea,
bool mf )

◆ str2user()

str2user ( str)
Insert C-style escape characters to string

@param str: the input string
@return: new string with escape characters inserted, or None

◆ writebytes()

int writebytes ( int h,
int l,
int size,
bool mf )
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

Variable Documentation

◆ _CRT_DECLARE_NONSTDC_NAMES

_CRT_DECLARE_NONSTDC_NAMES = _ida_pro._CRT_DECLARE_NONSTDC_NAMES
protected

◆ BADDIFF

BADDIFF = _ida_pro.BADDIFF

◆ BADMEMSIZE

BADMEMSIZE = _ida_pro.BADMEMSIZE

◆ CEF_RETERR

CEF_RETERR = _ida_pro.CEF_RETERR

◆ CP_BOM

CP_BOM = _ida_pro.CP_BOM

◆ CP_ELLIPSIS

CP_ELLIPSIS = _ida_pro.CP_ELLIPSIS

◆ CP_REPLCHAR

CP_REPLCHAR = _ida_pro.CP_REPLCHAR

◆ CP_UTF16

CP_UTF16 = _ida_pro.CP_UTF16

◆ CP_UTF8

CP_UTF8 = _ida_pro.CP_UTF8

◆ cvar

cvar = _ida_pro.cvar

◆ eavec_t

eavec_t = uvalvec_t

◆ ENC_MUTF8

ENC_MUTF8 = _ida_pro.ENC_MUTF8

◆ ENC_UTF16

ENC_UTF16 = _ida_pro.ENC_UTF16

◆ ENC_UTF16BE

ENC_UTF16BE = _ida_pro.ENC_UTF16BE

◆ ENC_UTF16LE

ENC_UTF16LE = _ida_pro.ENC_UTF16LE

◆ ENC_UTF32

ENC_UTF32 = _ida_pro.ENC_UTF32

◆ ENC_UTF32BE

ENC_UTF32BE = _ida_pro.ENC_UTF32BE

◆ ENC_UTF32LE

ENC_UTF32LE = _ida_pro.ENC_UTF32LE

◆ ENC_UTF8

ENC_UTF8 = _ida_pro.ENC_UTF8

◆ ENC_WIN1252

ENC_WIN1252 = _ida_pro.ENC_WIN1252

◆ FMT_64

FMT_64 = _ida_pro.FMT_64

◆ FMT_EA

FMT_EA = _ida_pro.FMT_EA

◆ FMT_Z

FMT_Z = _ida_pro.FMT_Z

◆ FMT_ZS

FMT_ZS = _ida_pro.FMT_ZS

◆ FMT_ZX

FMT_ZX = _ida_pro.FMT_ZX

◆ IDA_SDK_VERSION

IDA_SDK_VERSION = _ida_pro.IDA_SDK_VERSION

◆ IDBDEC_ESCAPE

IDBDEC_ESCAPE = _ida_pro.IDBDEC_ESCAPE

◆ IOREDIR_APPEND

IOREDIR_APPEND = _ida_pro.IOREDIR_APPEND

◆ IOREDIR_INPUT

IOREDIR_INPUT = _ida_pro.IOREDIR_INPUT

◆ IOREDIR_OUTPUT

IOREDIR_OUTPUT = _ida_pro.IOREDIR_OUTPUT

◆ IOREDIR_QUOTED

IOREDIR_QUOTED = _ida_pro.IOREDIR_QUOTED

◆ longlongvec_t

longlongvec_t = int64vec_t

◆ MAX_UTF8_SEQ_LEN

MAX_UTF8_SEQ_LEN = _ida_pro.MAX_UTF8_SEQ_LEN

◆ MAXSTR

MAXSTR = _ida_pro.MAXSTR

◆ NULL_PIPE_HANDLE

NULL_PIPE_HANDLE = cvar.NULL_PIPE_HANDLE

◆ QWCONTINUED

QWCONTINUED = _ida_pro.QWCONTINUED

◆ QWNOHANG

QWNOHANG = _ida_pro.QWNOHANG

◆ SUBSTCHAR

SUBSTCHAR = _ida_pro.SUBSTCHAR

◆ svalvec_t

svalvec_t = int64vec_t

◆ TCT_NOT_OWNER

TCT_NOT_OWNER = _ida_pro.TCT_NOT_OWNER

◆ TCT_OWNER

TCT_OWNER = _ida_pro.TCT_OWNER

◆ TCT_UNKNOWN

TCT_UNKNOWN = _ida_pro.TCT_UNKNOWN

◆ ulonglongvec_t

ulonglongvec_t = uint64vec_t

◆ UTF16BE_BOM

UTF16BE_BOM = _ida_pro.UTF16BE_BOM

◆ UTF16LE_BOM

UTF16LE_BOM = _ida_pro.UTF16LE_BOM

◆ UTF32BE_BOM

UTF32BE_BOM = _ida_pro.UTF32BE_BOM

◆ UTF32LE_BOM

UTF32LE_BOM = _ida_pro.UTF32LE_BOM

◆ UTF8_BOM

UTF8_BOM = _ida_pro.UTF8_BOM

◆ UTF8_ELLIPSIS

UTF8_ELLIPSIS = _ida_pro.UTF8_ELLIPSIS

◆ UTF8_REPLCHAR

UTF8_REPLCHAR = _ida_pro.UTF8_REPLCHAR

◆ uvalvec_t

uvalvec_t = uint64vec_t