IDA C++ SDK 9.2
Loading...
Searching...
No Matches
ida.hpp File Reference

Contains the ::inf structure definition and some functions common to the whole IDA project. More...

Go to the source code of this file.

Classes

struct  compiler_info_t
 Information about the target compiler. More...
struct  idainfo
struct  ea_helper_t
 helper class to support 32bit addresses in ida64 More...
struct  post_event_visitor_t
 Implements action to take when the event was processed by the notification callback (i.e. More...
struct  idbattr_valmap_t
 idbattr mapping value=>string for human-readable representation of IDB attrs More...
struct  idbattr_info_t
 access to attribute by structure/offset/width or netnode/index/width More...

Typedefs

typedef uchar comp_t
 target compiler id
typedef uchar cm_t
 calling convention and memory model
typedef uint32 callcnv_t
typedef qvector< callcnv_tcallcnvs_t
typedef ssize_t idaapi hook_cb_t(void *user_data, int notification_code, va_list va)
 Callback provided to hook_to_notification_point().

Enumerations

enum  filetype_t {
  f_EXE_old , f_COM_old , f_BIN , f_DRV ,
  f_WIN , f_HEX , f_MEX , f_LX ,
  f_LE , f_NLM , f_COFF , f_PE ,
  f_OMF , f_SREC , f_ZIP , f_OMFLIB ,
  f_AR , f_LOADER , f_ELF , f_W32RUN ,
  f_AOUT , f_PRC , f_EXE , f_COM ,
  f_AIXAR , f_MACHO , f_PSXOBJ , f_MD1IMG
}
 Known input file formats (kept in idainfo::filetype): More...
enum  storage_type_t { STT_CUR = -1 , STT_VA = 0 , STT_MM = 1 , STT_DBG = 2 }
 Storage types for flag bits. More...
enum  inftag_t {
  INF_VERSION = 0 , INF_PROCNAME = 1 , INF_GENFLAGS = 2 , INF_LFLAGS = 3 ,
  INF_DATABASE_CHANGE_COUNT = 4 , INF_FILETYPE = 5 , INF_OSTYPE = 6 , INF_APPTYPE = 7 ,
  INF_ASMTYPE = 8 , INF_SPECSEGS = 9 , INF_AF = 10 , INF_AF2 = 11 ,
  INF_BASEADDR = 12 , INF_START_SS = 13 , INF_START_CS = 14 , INF_START_IP = 15 ,
  INF_START_EA = 16 , INF_START_SP = 17 , INF_MAIN = 18 , INF_MIN_EA = 19 ,
  INF_MAX_EA = 20 , INF_OMIN_EA = 21 , INF_OMAX_EA = 22 , INF_LOWOFF = 23 ,
  INF_HIGHOFF = 24 , INF_MAXREF = 25 , INF_PRIVRANGE = 26 , INF_PRIVRANGE_START_EA = 27 ,
  INF_PRIVRANGE_END_EA = 28 , INF_NETDELTA = 29 , INF_XREFNUM = 30 , INF_TYPE_XREFNUM = 31 ,
  INF_REFCMTNUM = 32 , INF_XREFFLAG = 33 , INF_MAX_AUTONAME_LEN = 34 , INF_NAMETYPE = 35 ,
  INF_SHORT_DEMNAMES = 36 , INF_LONG_DEMNAMES = 37 , INF_DEMNAMES = 38 , INF_LISTNAMES = 39 ,
  INF_INDENT = 40 , INF_CMT_INDENT = 41 , INF_MARGIN = 42 , INF_LENXREF = 43 ,
  INF_OUTFLAGS = 44 , INF_CMTFLG = 45 , INF_LIMITER = 46 , INF_BIN_PREFIX_SIZE = 47 ,
  INF_PREFFLAG = 48 , INF_STRLIT_FLAGS = 49 , INF_STRLIT_BREAK = 50 , INF_STRLIT_ZEROES = 51 ,
  INF_STRTYPE = 52 , INF_STRLIT_PREF = 53 , INF_STRLIT_SERNUM = 54 , INF_DATATYPES = 55 ,
  INF_OBSOLETE_CC = 56 , INF_CC_ID = 57 , INF_CC_CM = 58 , INF_CC_SIZE_I = 59 ,
  INF_CC_SIZE_B = 60 , INF_CC_SIZE_E = 61 , INF_CC_DEFALIGN = 62 , INF_CC_SIZE_S = 63 ,
  INF_CC_SIZE_L = 64 , INF_CC_SIZE_LL = 65 , INF_CC_SIZE_LDBL = 66 , INF_ABIBITS = 67 ,
  INF_APPCALL_OPTIONS = 68 , INF_FILE_FORMAT_NAME = 69 , INF_GROUPS = 70 , INF_H_PATH = 71 ,
  INF_C_MACROS = 72 , INF_INCLUDE = 73 , INF_DUALOP_GRAPH = 74 , INF_DUALOP_TEXT = 75 ,
  INF_MD5 = 76 , INF_IDA_VERSION = 77 , INF_STR_ENCODINGS = 78 , INF_DBG_BINPATHS = 79 ,
  INF_SHA256 = 80 , INF_ABINAME = 81 , INF_ARCHIVE_PATH = 82 , INF_PROBLEMS = 83 ,
  INF_SELECTORS = 84 , INF_NOTEPAD = 85 , INF_SRCDBG_PATHS = 86 , INF_SRCDBG_UNDESIRED = 87 ,
  INF_INITIAL_VERSION = 88 , INF_CTIME = 89 , INF_ELAPSED = 90 , INF_NOPENS = 91 ,
  INF_CRC32 = 92 , INF_IMAGEBASE = 93 , INF_IDSNODE = 94 , INF_FSIZE = 95 ,
  INF_OUTFILEENC = 96 , INF_INPUT_FILE_PATH = 97 , INF_COMPILER_INFO = 98 , INF_CALLCNV = 99 ,
  INF_LAST = 100
}
enum  hook_type_t {
  HT_IDP , HT_UI , HT_DBG , HT_IDB ,
  HT_DEV , HT_VIEW , HT_OUTPUT , HT_GRAPH ,
  HT_IDD , HT_LAST
}
 Types of events that be hooked to with hook_event_listener() More...

Functions

bool is_filetype_like_binary (filetype_t ft)
 Is unstructured input file?
idaman size_t ida_export getinf (inftag_t tag)
 Get program specific information (a scalar value)
idaman ssize_t ida_export getinf_buf (inftag_t tag, void *buf, size_t bufsize)
 Get program specific information (a non-scalar value)
idaman ssize_t ida_export getinf_str (qstring *buf, inftag_t tag)
 Get program specific information (a non-scalar value)
idaman bool ida_export getinf_flag (inftag_t tag, uint32 flag)
 Get a flag value.
idaman bool ida_export setinf (inftag_t tag, ssize_t value)
 Set program specific information.
idaman bool ida_export setinf_buf (inftag_t tag, const void *buf, size_t bufsize=0)
 Set program specific information.
idaman bool ida_export setinf_flag (inftag_t tag, uint32 flag, bool value=true)
 Set a flag value.
idaman bool ida_export delinf (inftag_t tag)
 Undefine a program specific information.
ushort inf_get_version ()
bool inf_set_version (ushort _v)
ushort inf_get_genflags ()
bool inf_set_genflags (ushort _v)
bool inf_is_auto_enabled (void)
bool inf_set_auto_enabled (bool _v=true)
bool inf_use_allasm (void)
bool inf_set_use_allasm (bool _v=true)
bool inf_loading_idc (void)
bool inf_set_loading_idc (bool _v=true)
bool inf_no_store_user_info (void)
bool inf_set_no_store_user_info (bool _v=true)
bool inf_readonly_idb (void)
bool inf_set_readonly_idb (bool _v=true)
bool inf_check_manual_ops (void)
bool inf_set_check_manual_ops (bool _v=true)
bool inf_allow_non_matched_ops (void)
bool inf_set_allow_non_matched_ops (bool _v=true)
bool inf_is_graph_view (void)
bool inf_set_graph_view (bool _v=true)
uint32 inf_get_lflags ()
bool inf_set_lflags (uint32 _v)
bool inf_decode_fpp (void)
bool inf_set_decode_fpp (bool _v=true)
bool inf_is_32bit_or_higher (void)
bool inf_is_32bit_exactly (void)
bool inf_set_32bit (bool _v=true)
bool inf_is_16bit (void)
bool inf_is_64bit (void)
bool inf_set_64bit (bool _v=true)
bool inf_is_ilp32 ()
bool inf_set_ilp32 (bool _v=true)
bool inf_is_dll (void)
bool inf_set_dll (bool _v=true)
bool inf_is_flat_off32 (void)
bool inf_set_flat_off32 (bool _v=true)
bool inf_is_be (void)
bool inf_set_be (bool _v=true)
bool inf_is_wide_high_byte_first (void)
bool inf_set_wide_high_byte_first (bool _v=true)
bool inf_dbg_no_store_path (void)
bool inf_set_dbg_no_store_path (bool _v=true)
bool inf_is_snapshot (void)
bool inf_set_snapshot (bool _v=true)
bool inf_pack_idb (void)
bool inf_set_pack_idb (bool _v=true)
bool inf_compress_idb (void)
bool inf_set_compress_idb (bool _v=true)
bool inf_is_kernel_mode (void)
bool inf_set_kernel_mode (bool _v=true)
uint inf_get_app_bitness (void)
void inf_set_app_bitness (uint bitness)
uint32 inf_get_database_change_count ()
bool inf_set_database_change_count (uint32 _v)
filetype_t inf_get_filetype ()
bool inf_set_filetype (filetype_t _v)
ushort inf_get_ostype ()
bool inf_set_ostype (ushort _v)
ushort inf_get_apptype ()
bool inf_set_apptype (ushort _v)
uchar inf_get_asmtype ()
bool inf_set_asmtype (uchar _v)
uchar inf_get_specsegs ()
bool inf_set_specsegs (uchar _v)
uint32 inf_get_af ()
bool inf_set_af (uint32 _v)
bool inf_trace_flow (void)
bool inf_set_trace_flow (bool _v=true)
bool inf_mark_code (void)
bool inf_set_mark_code (bool _v=true)
bool inf_create_jump_tables (void)
bool inf_set_create_jump_tables (bool _v=true)
bool inf_noflow_to_data (void)
bool inf_set_noflow_to_data (bool _v=true)
bool inf_create_all_xrefs (void)
bool inf_set_create_all_xrefs (bool _v=true)
bool inf_del_no_xref_insns (void)
bool inf_set_del_no_xref_insns (bool _v=true)
bool inf_create_func_from_ptr (void)
bool inf_set_create_func_from_ptr (bool _v=true)
bool inf_create_func_from_call (void)
bool inf_set_create_func_from_call (bool _v=true)
bool inf_create_func_tails (void)
bool inf_set_create_func_tails (bool _v=true)
bool inf_should_create_stkvars (void)
bool inf_set_should_create_stkvars (bool _v=true)
bool inf_propagate_stkargs (void)
bool inf_set_propagate_stkargs (bool _v=true)
bool inf_propagate_regargs (void)
bool inf_set_propagate_regargs (bool _v=true)
bool inf_should_trace_sp (void)
bool inf_set_should_trace_sp (bool _v=true)
bool inf_full_sp_ana (void)
bool inf_set_full_sp_ana (bool _v=true)
bool inf_noret_ana (void)
bool inf_set_noret_ana (bool _v=true)
bool inf_guess_func_type (void)
bool inf_set_guess_func_type (bool _v=true)
bool inf_truncate_on_del (void)
bool inf_set_truncate_on_del (bool _v=true)
bool inf_create_strlit_on_xref (void)
bool inf_set_create_strlit_on_xref (bool _v=true)
bool inf_check_unicode_strlits (void)
bool inf_set_check_unicode_strlits (bool _v=true)
bool inf_create_off_using_fixup (void)
bool inf_set_create_off_using_fixup (bool _v=true)
bool inf_create_off_on_dref (void)
bool inf_set_create_off_on_dref (bool _v=true)
bool inf_op_offset (void)
bool inf_set_op_offset (bool _v=true)
bool inf_data_offset (void)
bool inf_set_data_offset (bool _v=true)
bool inf_use_flirt (void)
bool inf_set_use_flirt (bool _v=true)
bool inf_append_sigcmt (void)
bool inf_set_append_sigcmt (bool _v=true)
bool inf_allow_sigmulti (void)
bool inf_set_allow_sigmulti (bool _v=true)
bool inf_hide_libfuncs (void)
bool inf_set_hide_libfuncs (bool _v=true)
bool inf_rename_jumpfunc (void)
bool inf_set_rename_jumpfunc (bool _v=true)
bool inf_rename_nullsub (void)
bool inf_set_rename_nullsub (bool _v=true)
bool inf_coagulate_data (void)
bool inf_set_coagulate_data (bool _v=true)
bool inf_coagulate_code (void)
bool inf_set_coagulate_code (bool _v=true)
bool inf_final_pass (void)
bool inf_set_final_pass (bool _v=true)
uint32 inf_get_af2 ()
bool inf_set_af2 (uint32 _v)
bool inf_handle_eh (void)
bool inf_set_handle_eh (bool _v=true)
bool inf_handle_rtti (void)
bool inf_set_handle_rtti (bool _v=true)
bool inf_macros_enabled (void)
bool inf_set_macros_enabled (bool _v=true)
bool inf_merge_strlits (void)
bool inf_set_merge_strlits (bool _v=true)
uval_t inf_get_baseaddr ()
bool inf_set_baseaddr (uval_t _v)
sel_t inf_get_start_ss ()
bool inf_set_start_ss (sel_t _v)
sel_t inf_get_start_cs ()
bool inf_set_start_cs (sel_t _v)
ea_t inf_get_start_ip ()
bool inf_set_start_ip (ea_t _v)
ea_t inf_get_start_ea ()
bool inf_set_start_ea (ea_t _v)
ea_t inf_get_start_sp ()
bool inf_set_start_sp (ea_t _v)
ea_t inf_get_main ()
bool inf_set_main (ea_t _v)
ea_t inf_get_min_ea ()
bool inf_set_min_ea (ea_t _v)
ea_t inf_get_max_ea ()
bool inf_set_max_ea (ea_t _v)
ea_t inf_get_omin_ea ()
bool inf_set_omin_ea (ea_t _v)
ea_t inf_get_omax_ea ()
bool inf_set_omax_ea (ea_t _v)
ea_t inf_get_lowoff ()
bool inf_set_lowoff (ea_t _v)
ea_t inf_get_highoff ()
bool inf_set_highoff (ea_t _v)
uval_t inf_get_maxref ()
bool inf_set_maxref (uval_t _v)
sval_t inf_get_netdelta ()
bool inf_set_netdelta (sval_t _v)
uchar inf_get_xrefnum ()
bool inf_set_xrefnum (uchar _v)
uchar inf_get_type_xrefnum ()
bool inf_set_type_xrefnum (uchar _v)
uchar inf_get_refcmtnum ()
bool inf_set_refcmtnum (uchar _v)
uchar inf_get_xrefflag ()
bool inf_set_xrefflag (uchar _v)
bool inf_show_xref_seg (void)
bool inf_set_show_xref_seg (bool _v=true)
bool inf_show_xref_tmarks (void)
bool inf_set_show_xref_tmarks (bool _v=true)
bool inf_show_xref_fncoff (void)
bool inf_set_show_xref_fncoff (bool _v=true)
bool inf_show_xref_val (void)
bool inf_set_show_xref_val (bool _v=true)
ushort inf_get_max_autoname_len ()
bool inf_set_max_autoname_len (ushort _v)
char inf_get_nametype ()
bool inf_set_nametype (char _v)
uint32 inf_get_short_demnames ()
bool inf_set_short_demnames (uint32 _v)
uint32 inf_get_long_demnames ()
bool inf_set_long_demnames (uint32 _v)
uchar inf_get_demnames ()
bool inf_set_demnames (uchar _v)
uchar inf_get_listnames ()
bool inf_set_listnames (uchar _v)
uchar inf_get_indent ()
bool inf_set_indent (uchar _v)
uchar inf_get_cmt_indent ()
bool inf_set_cmt_indent (uchar _v)
ushort inf_get_margin ()
bool inf_set_margin (ushort _v)
ushort inf_get_lenxref ()
bool inf_set_lenxref (ushort _v)
uint32 inf_get_outflags ()
bool inf_set_outflags (uint32 _v)
bool inf_show_void (void)
bool inf_set_show_void (bool _v=true)
bool inf_show_auto (void)
bool inf_set_show_auto (bool _v=true)
bool inf_gen_null (void)
bool inf_set_gen_null (bool _v=true)
bool inf_show_line_pref (void)
bool inf_set_show_line_pref (bool _v=true)
bool inf_line_pref_with_seg (void)
bool inf_set_line_pref_with_seg (bool _v=true)
bool inf_gen_lzero (void)
bool inf_set_gen_lzero (bool _v=true)
bool inf_gen_org (void)
bool inf_set_gen_org (bool _v=true)
bool inf_gen_assume (void)
bool inf_set_gen_assume (bool _v=true)
bool inf_gen_tryblks (void)
bool inf_set_gen_tryblks (bool _v=true)
uchar inf_get_cmtflg ()
bool inf_set_cmtflg (uchar _v)
bool inf_show_repeatables (void)
bool inf_set_show_repeatables (bool _v=true)
bool inf_show_all_comments (void)
bool inf_set_show_all_comments (bool _v=true)
bool inf_hide_comments (void)
bool inf_set_hide_comments (bool _v=true)
bool inf_show_src_linnum (void)
bool inf_set_show_src_linnum (bool _v=true)
bool inf_test_mode (void)
bool inf_show_hidden_insns (void)
bool inf_set_show_hidden_insns (bool _v=true)
bool inf_show_hidden_funcs (void)
bool inf_set_show_hidden_funcs (bool _v=true)
bool inf_show_hidden_segms (void)
bool inf_set_show_hidden_segms (bool _v=true)
uchar inf_get_limiter ()
bool inf_set_limiter (uchar _v)
bool inf_is_limiter_thin (void)
bool inf_set_limiter_thin (bool _v=true)
bool inf_is_limiter_thick (void)
bool inf_set_limiter_thick (bool _v=true)
bool inf_is_limiter_empty (void)
bool inf_set_limiter_empty (bool _v=true)
short inf_get_bin_prefix_size ()
bool inf_set_bin_prefix_size (short _v)
uchar inf_get_prefflag ()
bool inf_set_prefflag (uchar _v)
bool inf_prefix_show_segaddr (void)
bool inf_set_prefix_show_segaddr (bool _v=true)
bool inf_prefix_show_funcoff (void)
bool inf_set_prefix_show_funcoff (bool _v=true)
bool inf_prefix_show_stack (void)
bool inf_set_prefix_show_stack (bool _v=true)
bool inf_prefix_truncate_opcode_bytes (void)
bool inf_set_prefix_truncate_opcode_bytes (bool _v=true)
uchar inf_get_strlit_flags ()
bool inf_set_strlit_flags (uchar _v)
bool inf_strlit_names (void)
bool inf_set_strlit_names (bool _v=true)
bool inf_strlit_name_bit (void)
bool inf_set_strlit_name_bit (bool _v=true)
bool inf_strlit_serial_names (void)
bool inf_set_strlit_serial_names (bool _v=true)
bool inf_unicode_strlits (void)
bool inf_set_unicode_strlits (bool _v=true)
bool inf_strlit_autocmt (void)
bool inf_set_strlit_autocmt (bool _v=true)
bool inf_strlit_savecase (void)
bool inf_set_strlit_savecase (bool _v=true)
uchar inf_get_strlit_break ()
bool inf_set_strlit_break (uchar _v)
char inf_get_strlit_zeroes ()
bool inf_set_strlit_zeroes (char _v)
int32 inf_get_strtype ()
bool inf_set_strtype (int32 _v)
uval_t inf_get_strlit_sernum ()
bool inf_set_strlit_sernum (uval_t _v)
uval_t inf_get_datatypes ()
bool inf_set_datatypes (uval_t _v)
uint32 inf_get_abibits ()
bool inf_set_abibits (uint32 _v)
bool inf_is_mem_aligned4 (void)
bool inf_set_mem_aligned4 (bool _v=true)
bool inf_pack_stkargs (void)
bool inf_set_pack_stkargs (bool _v=true)
bool inf_big_arg_align (void)
bool inf_set_big_arg_align (bool _v=true)
bool inf_stack_ldbl (void)
bool inf_set_stack_ldbl (bool _v=true)
bool inf_stack_varargs (void)
bool inf_set_stack_varargs (bool _v=true)
bool inf_is_hard_float (void)
bool inf_set_hard_float (bool _v=true)
bool inf_abi_set_by_user (void)
bool inf_set_abi_set_by_user (bool _v=true)
bool inf_use_gcc_layout (void)
bool inf_set_use_gcc_layout (bool _v=true)
bool inf_map_stkargs (void)
bool inf_set_map_stkargs (bool _v=true)
bool inf_huge_arg_align (void)
bool inf_set_huge_arg_align (bool _v=true)
uint32 inf_get_appcall_options ()
bool inf_set_appcall_options (uint32 _v)
ea_t inf_get_privrange_start_ea ()
bool inf_set_privrange_start_ea (ea_t _v)
ea_t inf_get_privrange_end_ea ()
bool inf_set_privrange_end_ea (ea_t _v)
comp_t inf_get_cc_id ()
bool inf_set_cc_id (comp_t _v)
cm_t inf_get_cc_cm ()
bool inf_set_cc_cm (cm_t _v)
callcnv_t inf_get_callcnv ()
bool inf_set_callcnv (callcnv_t _v)
uchar inf_get_cc_size_i ()
bool inf_set_cc_size_i (uchar _v)
uchar inf_get_cc_size_b ()
bool inf_set_cc_size_b (uchar _v)
uchar inf_get_cc_size_e ()
bool inf_set_cc_size_e (uchar _v)
uchar inf_get_cc_defalign ()
bool inf_set_cc_defalign (uchar _v)
uchar inf_get_cc_size_s ()
bool inf_set_cc_size_s (uchar _v)
uchar inf_get_cc_size_l ()
bool inf_set_cc_size_l (uchar _v)
uchar inf_get_cc_size_ll ()
bool inf_set_cc_size_ll (uchar _v)
uchar inf_get_cc_size_ldbl ()
bool inf_set_cc_size_ldbl (uchar _v)
bool inf_get_procname (char *buf, size_t bufsize=IDAINFO_PROCNAME_SIZE)
qstring inf_get_procname ()
bool inf_set_procname (const char *_v, size_t len=size_t(-1))
bool inf_get_strlit_pref (char *buf, size_t bufsize=IDAINFO_STRLIT_PREF_SIZE)
qstring inf_get_strlit_pref ()
bool inf_set_strlit_pref (const char *_v, size_t len=size_t(-1))
bool inf_get_cc (compiler_info_t *out)
bool inf_set_cc (const compiler_info_t &_v)
bool inf_get_privrange (range_t *out)
bool inf_set_privrange (const range_t &_v)
range_t inf_get_privrange ()
ushort inf_get_af_low ()
 Get/set low/high 16bit halves of inf.af.
void inf_set_af_low (ushort saf)
ushort inf_get_af_high ()
void inf_set_af_high (ushort saf2)
ushort inf_get_af2_low ()
 Get/set low 16bit half of inf.af2.
void inf_set_af2_low (ushort saf)
int inf_get_pack_mode ()
int inf_set_pack_mode (int pack_mode)
void inf_inc_database_change_count (int cnt=1)
uchar inf_get_demname_form (void)
 Get #DEMNAM_MASK bits of #demnames.
uval_t inf_postinc_strlit_sernum (uval_t cnt=1)
bool inf_like_binary (void)
int calc_default_idaplace_flags (void)
 Get default disassembly line options.
ea_t idaapi to_ea (sel_t reg_cs, uval_t reg_ip)
 Convert (sel,off) value to a linear address.
idaman DEPRECATED bool ida_export hook_to_notification_point (hook_type_t hook_type, hook_cb_t *cb, void *user_data=nullptr)
 Register a callback for a class of events in IDA.
idaman DEPRECATED int ida_export unhook_from_notification_point (hook_type_t hook_type, hook_cb_t *cb, void *user_data=nullptr)
 Unregister a callback (also see hook_to_notification_point()).
idaman ssize_t ida_export invoke_callbacks (hook_type_t hook_type, int notification_code, va_list va)
 Generate event notification.
idaman bool ida_export register_post_event_visitor (hook_type_t hook_type, post_event_visitor_t *visitor, const plugmod_t *owner)
 Register the post-event visitor.
idaman bool ida_export unregister_post_event_visitor (hook_type_t hook_type, post_event_visitor_t *visitor)
 Unregister the post-event visitor.
idaman ssize_t ida_export get_dbctx_id ()
 Get the current database context ID.
idaman size_t ida_export get_dbctx_qty ()
 Get number of database contexts.
idaman struct dbctx_t *ida_export switch_dbctx (size_t idx)
 Switch to the database with the provided context ID.
idaman bool ida_export is_database_busy ()
 Check if the database is busy (e.g.
idaman size_t ida_export validate_idb (uint32 vld_flags=0)
 Validate the database.
idaman bool ida_export move_privrange (ea_t new_privrange_start)
 Move privrange to the specified address.
 DECLARE_TYPE_AS_MOVABLE (idbattr_info_t)

Detailed Description

Contains the ::inf structure definition and some functions common to the whole IDA project.

The ::inf structure is saved in the database and contains information specific to the current program being disassembled. Initially it is filled with values from ida.cfg.

Although it is not a good idea to change values in ::inf structure (because you will overwrite values taken from ida.cfg), you are allowed to do it if you feel it necessary.

Typedef Documentation

◆ comp_t

typedef uchar comp_t

target compiler id

◆ cm_t

typedef uchar cm_t

calling convention and memory model

◆ callcnv_t

typedef uint32 callcnv_t

◆ callcnvs_t

◆ hook_cb_t

typedef ssize_t idaapi hook_cb_t(void *user_data, int notification_code, va_list va)

Callback provided to hook_to_notification_point().

A plugin can hook to a notification point and receive notifications of all major events in IDA. The callback function will be called for each event.

Parameters
user_datadata supplied in call to hook_to_notification_point()
notification_codeprocessor_t::event_t or ui_notification_t or debugger_t::event_t, depending on the hook type
vaadditional parameters supplied with the notification. see the event descriptions for information
Return values
0ok, the event should be processed further
!=0the event is blocked and should be discarded. in the case of processor modules, the returned value is used as the return value of processor_t::notify()

Enumeration Type Documentation

◆ filetype_t

enum filetype_t

Known input file formats (kept in idainfo::filetype):

Enumerator
f_EXE_old 

MS DOS EXE File.

f_COM_old 

MS DOS COM File.

f_BIN 

Binary File.

f_DRV 

MS DOS Driver.

f_WIN 

New Executable (NE)

f_HEX 

Intel Hex Object File.

f_MEX 

MOS Technology Hex Object File.

f_LX 

Linear Executable (LX)

f_LE 

Linear Executable (LE)

f_NLM 

Netware Loadable Module (NLM)

f_COFF 

Common Object File Format (COFF)

f_PE 

Portable Executable (PE)

f_OMF 

Object Module Format.

f_SREC 

Motorola SREC (S-record)

f_ZIP 

ZIP file (this file is never loaded to IDA database)

f_OMFLIB 

Library of OMF Modules.

f_AR 

ar library

f_LOADER 

file is loaded using LOADER DLL

f_ELF 

Executable and Linkable Format (ELF)

f_W32RUN 

Watcom DOS32 Extender (W32RUN)

f_AOUT 

Linux a.out (AOUT)

f_PRC 

PalmPilot program file.

f_EXE 

MS DOS EXE File.

f_COM 

MS DOS COM File.

f_AIXAR 

AIX ar library.

f_MACHO 

Mac OS X Mach-O.

f_PSXOBJ 

Sony Playstation PSX object file.

f_MD1IMG 

Mediatek Firmware Image.

◆ storage_type_t

Storage types for flag bits.

Enumerator
STT_CUR 

use current storage type (may be used only as a function argument)

STT_VA 

regular storage: virtual arrays, an explicit flag for each byte

STT_MM 

memory map: sparse storage. useful for huge objects

STT_DBG 

memory map: temporary debugger storage. used internally

◆ inftag_t

enum inftag_t
Enumerator
INF_VERSION 
INF_PROCNAME 
INF_GENFLAGS 
INF_LFLAGS 
INF_DATABASE_CHANGE_COUNT 
INF_FILETYPE 
INF_OSTYPE 
INF_APPTYPE 
INF_ASMTYPE 
INF_SPECSEGS 
INF_AF 
INF_AF2 
INF_BASEADDR 
INF_START_SS 
INF_START_CS 
INF_START_IP 
INF_START_EA 
INF_START_SP 
INF_MAIN 
INF_MIN_EA 
INF_MAX_EA 
INF_OMIN_EA 
INF_OMAX_EA 
INF_LOWOFF 
INF_HIGHOFF 
INF_MAXREF 
INF_PRIVRANGE 
INF_PRIVRANGE_START_EA 
INF_PRIVRANGE_END_EA 
INF_NETDELTA 
INF_XREFNUM 
INF_TYPE_XREFNUM 
INF_REFCMTNUM 
INF_XREFFLAG 
INF_MAX_AUTONAME_LEN 
INF_NAMETYPE 
INF_SHORT_DEMNAMES 
INF_LONG_DEMNAMES 
INF_DEMNAMES 
INF_LISTNAMES 
INF_INDENT 
INF_CMT_INDENT 
INF_MARGIN 
INF_LENXREF 
INF_OUTFLAGS 
INF_CMTFLG 
INF_LIMITER 
INF_BIN_PREFIX_SIZE 
INF_PREFFLAG 
INF_STRLIT_FLAGS 
INF_STRLIT_BREAK 
INF_STRLIT_ZEROES 
INF_STRTYPE 
INF_STRLIT_PREF 
INF_STRLIT_SERNUM 
INF_DATATYPES 
INF_OBSOLETE_CC 
INF_CC_ID 
INF_CC_CM 
INF_CC_SIZE_I 
INF_CC_SIZE_B 
INF_CC_SIZE_E 
INF_CC_DEFALIGN 
INF_CC_SIZE_S 
INF_CC_SIZE_L 
INF_CC_SIZE_LL 
INF_CC_SIZE_LDBL 
INF_ABIBITS 
INF_APPCALL_OPTIONS 
INF_FILE_FORMAT_NAME 

file format name for loader modules

INF_GROUPS 

segment group information (see init_groups())

INF_H_PATH 

C header path.

INF_C_MACROS 

C predefined macros.

INF_INCLUDE 

assembler include file name

INF_DUALOP_GRAPH 

Graph text representation options.

INF_DUALOP_TEXT 

Text text representation options.

INF_MD5 

MD5 of the input file.

INF_IDA_VERSION 

version of ida which created the database

INF_STR_ENCODINGS 

a list of encodings for the program strings

INF_DBG_BINPATHS 

unused (20 indexes)

INF_SHA256 

SHA256 of the input file.

INF_ABINAME 

ABI name (processor specific)

INF_ARCHIVE_PATH 

archive file path

INF_PROBLEMS 

problem lists

INF_SELECTORS 

2..63 are for selector_t blob (see init_selectors())

INF_NOTEPAD 

notepad blob, occupies 1000 indexes (1MB of text)

INF_SRCDBG_PATHS 

source debug paths, occupies 20 indexes

INF_SRCDBG_UNDESIRED 

user-closed source files, occupies 20 indexes

INF_INITIAL_VERSION 

initial version of database

INF_CTIME 

database creation timestamp

INF_ELAPSED 

seconds database stayed open

INF_NOPENS 

how many times the database is opened

INF_CRC32 

input file crc32

INF_IMAGEBASE 

image base

INF_IDSNODE 

ids modnode id (for import_module)

INF_FSIZE 

input file size

INF_OUTFILEENC 

output file encoding index

INF_INPUT_FILE_PATH 
INF_COMPILER_INFO 
INF_CALLCNV 
INF_LAST 

◆ hook_type_t

Types of events that be hooked to with hook_event_listener()

Enumerator
HT_IDP 

Hook to the processor module.

The callback will receive all processor_t::event_t events.

HT_UI 

Hook to the user interface.

The callback will receive all ui_notification_t events.

HT_DBG 

Hook to the debugger.

The callback will receive all dbg_notification_t events.

HT_IDB 

Hook to the database events.

These events are separated from the HT_IDP group to speed things up (there are too many plugins and modules hooking to the HT_IDP). Some essential events are still generated in th HT_IDP group: make_code, make_data This list is not exhaustive. A common trait of all events in this group: the kernel does not expect any reaction to the event and does not check the return code. For event names, see idb_event.

HT_DEV 

Internal debugger events.

Not stable and undocumented for the moment

HT_VIEW 

Custom/IDA views notifications.

Refer to view_notification_t for notification codes

HT_OUTPUT 

Output window notifications.

Refer to msg_notification_t (view_notification_t)

HT_GRAPH 

Handling graph operations (graph_notification_t)

HT_IDD 

Hook to the debugger plugin.

The callback will receive all debugger_t::event_t events.

HT_LAST 

Function Documentation

◆ is_filetype_like_binary()

bool is_filetype_like_binary ( filetype_t ft)
inline

Is unstructured input file?

◆ getinf()

idaman size_t ida_export getinf ( inftag_t tag)

Get program specific information (a scalar value)

Parameters
tagone of inftag_t constants
Returns
the requested info. if wrong tag is specified, return 0

◆ getinf_buf()

idaman ssize_t ida_export getinf_buf ( inftag_t tag,
void * buf,
size_t bufsize )

Get program specific information (a non-scalar value)

Parameters
tagone of inftag_t constants
bufoutput buffer
bufsizesize of the output buffer
Returns
number of bytes stored in the buffer (<0 - not defined)

◆ getinf_str()

idaman ssize_t ida_export getinf_str ( qstring * buf,
inftag_t tag )

Get program specific information (a non-scalar value)

Parameters
tagone of inftag_t constants
bufoutput buffer
Returns
number of bytes stored in the buffer (<0 - not defined)

◆ getinf_flag()

idaman bool ida_export getinf_flag ( inftag_t tag,
uint32 flag )

Get a flag value.

Parameters
tagone of inftag_t constants
flaga flag in the field
Returns
whether the flag is set

◆ setinf()

idaman bool ida_export setinf ( inftag_t tag,
ssize_t value )

Set program specific information.

Parameters
tagone of inftag_t constants
valuethe new value
Returns
success

◆ setinf_buf()

idaman bool ida_export setinf_buf ( inftag_t tag,
const void * buf,
size_t bufsize = 0 )

Set program specific information.

Parameters
tagone of inftag_t constants
bufptr to new value
bufsizesize of the new value, calculated as strlen(buf)+1 if not specified
Returns
success

◆ setinf_flag()

idaman bool ida_export setinf_flag ( inftag_t tag,
uint32 flag,
bool value = true )

Set a flag value.

Parameters
tagone of inftag_t constants
flaga flag in the field
valuewhether to set, or clear the flag
Returns
the previous value

◆ delinf()

idaman bool ida_export delinf ( inftag_t tag)

Undefine a program specific information.

Parameters
tagone of inftag_t constants
Returns
success

◆ inf_get_version()

ushort inf_get_version ( )
inline

◆ inf_set_version()

bool inf_set_version ( ushort _v)
inline

◆ inf_get_genflags()

ushort inf_get_genflags ( )
inline

◆ inf_set_genflags()

bool inf_set_genflags ( ushort _v)
inline

◆ inf_is_auto_enabled()

bool inf_is_auto_enabled ( void )
inline

◆ inf_set_auto_enabled()

bool inf_set_auto_enabled ( bool _v = true)
inline

◆ inf_use_allasm()

bool inf_use_allasm ( void )
inline

◆ inf_set_use_allasm()

bool inf_set_use_allasm ( bool _v = true)
inline

◆ inf_loading_idc()

bool inf_loading_idc ( void )
inline

◆ inf_set_loading_idc()

bool inf_set_loading_idc ( bool _v = true)
inline

◆ inf_no_store_user_info()

bool inf_no_store_user_info ( void )
inline

◆ inf_set_no_store_user_info()

bool inf_set_no_store_user_info ( bool _v = true)
inline

◆ inf_readonly_idb()

bool inf_readonly_idb ( void )
inline

◆ inf_set_readonly_idb()

bool inf_set_readonly_idb ( bool _v = true)
inline

◆ inf_check_manual_ops()

bool inf_check_manual_ops ( void )
inline

◆ inf_set_check_manual_ops()

bool inf_set_check_manual_ops ( bool _v = true)
inline

◆ inf_allow_non_matched_ops()

bool inf_allow_non_matched_ops ( void )
inline

◆ inf_set_allow_non_matched_ops()

bool inf_set_allow_non_matched_ops ( bool _v = true)
inline

◆ inf_is_graph_view()

bool inf_is_graph_view ( void )
inline

◆ inf_set_graph_view()

bool inf_set_graph_view ( bool _v = true)
inline

◆ inf_get_lflags()

uint32 inf_get_lflags ( )
inline

◆ inf_set_lflags()

bool inf_set_lflags ( uint32 _v)
inline

◆ inf_decode_fpp()

bool inf_decode_fpp ( void )
inline

◆ inf_set_decode_fpp()

bool inf_set_decode_fpp ( bool _v = true)
inline

◆ inf_is_32bit_or_higher()

bool inf_is_32bit_or_higher ( void )
inline

◆ inf_is_32bit_exactly()

bool inf_is_32bit_exactly ( void )
inline

◆ inf_set_32bit()

bool inf_set_32bit ( bool _v = true)
inline

◆ inf_is_16bit()

bool inf_is_16bit ( void )
inline

◆ inf_is_64bit()

bool inf_is_64bit ( void )
inline

◆ inf_set_64bit()

bool inf_set_64bit ( bool _v = true)
inline

◆ inf_is_ilp32()

bool inf_is_ilp32 ( )
inline

◆ inf_set_ilp32()

bool inf_set_ilp32 ( bool _v = true)
inline

◆ inf_is_dll()

bool inf_is_dll ( void )
inline

◆ inf_set_dll()

bool inf_set_dll ( bool _v = true)
inline

◆ inf_is_flat_off32()

bool inf_is_flat_off32 ( void )
inline

◆ inf_set_flat_off32()

bool inf_set_flat_off32 ( bool _v = true)
inline

◆ inf_is_be()

bool inf_is_be ( void )
inline

◆ inf_set_be()

bool inf_set_be ( bool _v = true)
inline

◆ inf_is_wide_high_byte_first()

bool inf_is_wide_high_byte_first ( void )
inline

◆ inf_set_wide_high_byte_first()

bool inf_set_wide_high_byte_first ( bool _v = true)
inline

◆ inf_dbg_no_store_path()

bool inf_dbg_no_store_path ( void )
inline

◆ inf_set_dbg_no_store_path()

bool inf_set_dbg_no_store_path ( bool _v = true)
inline

◆ inf_is_snapshot()

bool inf_is_snapshot ( void )
inline

◆ inf_set_snapshot()

bool inf_set_snapshot ( bool _v = true)
inline

◆ inf_pack_idb()

bool inf_pack_idb ( void )
inline

◆ inf_set_pack_idb()

bool inf_set_pack_idb ( bool _v = true)
inline

◆ inf_compress_idb()

bool inf_compress_idb ( void )
inline

◆ inf_set_compress_idb()

bool inf_set_compress_idb ( bool _v = true)
inline

◆ inf_is_kernel_mode()

bool inf_is_kernel_mode ( void )
inline

◆ inf_set_kernel_mode()

bool inf_set_kernel_mode ( bool _v = true)
inline

◆ inf_get_app_bitness()

uint inf_get_app_bitness ( void )
inline

◆ inf_set_app_bitness()

void inf_set_app_bitness ( uint bitness)
inline

◆ inf_get_database_change_count()

uint32 inf_get_database_change_count ( )
inline

◆ inf_set_database_change_count()

bool inf_set_database_change_count ( uint32 _v)
inline

◆ inf_get_filetype()

filetype_t inf_get_filetype ( )
inline

◆ inf_set_filetype()

bool inf_set_filetype ( filetype_t _v)
inline

◆ inf_get_ostype()

ushort inf_get_ostype ( )
inline

◆ inf_set_ostype()

bool inf_set_ostype ( ushort _v)
inline

◆ inf_get_apptype()

ushort inf_get_apptype ( )
inline

◆ inf_set_apptype()

bool inf_set_apptype ( ushort _v)
inline

◆ inf_get_asmtype()

uchar inf_get_asmtype ( )
inline

◆ inf_set_asmtype()

bool inf_set_asmtype ( uchar _v)
inline

◆ inf_get_specsegs()

uchar inf_get_specsegs ( )
inline

◆ inf_set_specsegs()

bool inf_set_specsegs ( uchar _v)
inline

◆ inf_get_af()

uint32 inf_get_af ( )
inline

◆ inf_set_af()

bool inf_set_af ( uint32 _v)
inline

◆ inf_trace_flow()

bool inf_trace_flow ( void )
inline

◆ inf_set_trace_flow()

bool inf_set_trace_flow ( bool _v = true)
inline

◆ inf_mark_code()

bool inf_mark_code ( void )
inline

◆ inf_set_mark_code()

bool inf_set_mark_code ( bool _v = true)
inline

◆ inf_create_jump_tables()

bool inf_create_jump_tables ( void )
inline

◆ inf_set_create_jump_tables()

bool inf_set_create_jump_tables ( bool _v = true)
inline

◆ inf_noflow_to_data()

bool inf_noflow_to_data ( void )
inline

◆ inf_set_noflow_to_data()

bool inf_set_noflow_to_data ( bool _v = true)
inline

◆ inf_create_all_xrefs()

bool inf_create_all_xrefs ( void )
inline

◆ inf_set_create_all_xrefs()

bool inf_set_create_all_xrefs ( bool _v = true)
inline

◆ inf_del_no_xref_insns()

bool inf_del_no_xref_insns ( void )
inline

◆ inf_set_del_no_xref_insns()

bool inf_set_del_no_xref_insns ( bool _v = true)
inline

◆ inf_create_func_from_ptr()

bool inf_create_func_from_ptr ( void )
inline

◆ inf_set_create_func_from_ptr()

bool inf_set_create_func_from_ptr ( bool _v = true)
inline

◆ inf_create_func_from_call()

bool inf_create_func_from_call ( void )
inline

◆ inf_set_create_func_from_call()

bool inf_set_create_func_from_call ( bool _v = true)
inline

◆ inf_create_func_tails()

bool inf_create_func_tails ( void )
inline

◆ inf_set_create_func_tails()

bool inf_set_create_func_tails ( bool _v = true)
inline

◆ inf_should_create_stkvars()

bool inf_should_create_stkvars ( void )
inline

◆ inf_set_should_create_stkvars()

bool inf_set_should_create_stkvars ( bool _v = true)
inline

◆ inf_propagate_stkargs()

bool inf_propagate_stkargs ( void )
inline

◆ inf_set_propagate_stkargs()

bool inf_set_propagate_stkargs ( bool _v = true)
inline

◆ inf_propagate_regargs()

bool inf_propagate_regargs ( void )
inline

◆ inf_set_propagate_regargs()

bool inf_set_propagate_regargs ( bool _v = true)
inline

◆ inf_should_trace_sp()

bool inf_should_trace_sp ( void )
inline

◆ inf_set_should_trace_sp()

bool inf_set_should_trace_sp ( bool _v = true)
inline

◆ inf_full_sp_ana()

bool inf_full_sp_ana ( void )
inline

◆ inf_set_full_sp_ana()

bool inf_set_full_sp_ana ( bool _v = true)
inline

◆ inf_noret_ana()

bool inf_noret_ana ( void )
inline

◆ inf_set_noret_ana()

bool inf_set_noret_ana ( bool _v = true)
inline

◆ inf_guess_func_type()

bool inf_guess_func_type ( void )
inline

◆ inf_set_guess_func_type()

bool inf_set_guess_func_type ( bool _v = true)
inline

◆ inf_truncate_on_del()

bool inf_truncate_on_del ( void )
inline

◆ inf_set_truncate_on_del()

bool inf_set_truncate_on_del ( bool _v = true)
inline

◆ inf_create_strlit_on_xref()

bool inf_create_strlit_on_xref ( void )
inline

◆ inf_set_create_strlit_on_xref()

bool inf_set_create_strlit_on_xref ( bool _v = true)
inline

◆ inf_check_unicode_strlits()

bool inf_check_unicode_strlits ( void )
inline

◆ inf_set_check_unicode_strlits()

bool inf_set_check_unicode_strlits ( bool _v = true)
inline

◆ inf_create_off_using_fixup()

bool inf_create_off_using_fixup ( void )
inline

◆ inf_set_create_off_using_fixup()

bool inf_set_create_off_using_fixup ( bool _v = true)
inline

◆ inf_create_off_on_dref()

bool inf_create_off_on_dref ( void )
inline

◆ inf_set_create_off_on_dref()

bool inf_set_create_off_on_dref ( bool _v = true)
inline

◆ inf_op_offset()

bool inf_op_offset ( void )
inline

◆ inf_set_op_offset()

bool inf_set_op_offset ( bool _v = true)
inline

◆ inf_data_offset()

bool inf_data_offset ( void )
inline

◆ inf_set_data_offset()

bool inf_set_data_offset ( bool _v = true)
inline

◆ inf_use_flirt()

bool inf_use_flirt ( void )
inline

◆ inf_set_use_flirt()

bool inf_set_use_flirt ( bool _v = true)
inline

◆ inf_append_sigcmt()

bool inf_append_sigcmt ( void )
inline

◆ inf_set_append_sigcmt()

bool inf_set_append_sigcmt ( bool _v = true)
inline

◆ inf_allow_sigmulti()

bool inf_allow_sigmulti ( void )
inline

◆ inf_set_allow_sigmulti()

bool inf_set_allow_sigmulti ( bool _v = true)
inline

◆ inf_hide_libfuncs()

bool inf_hide_libfuncs ( void )
inline

◆ inf_set_hide_libfuncs()

bool inf_set_hide_libfuncs ( bool _v = true)
inline

◆ inf_rename_jumpfunc()

bool inf_rename_jumpfunc ( void )
inline

◆ inf_set_rename_jumpfunc()

bool inf_set_rename_jumpfunc ( bool _v = true)
inline

◆ inf_rename_nullsub()

bool inf_rename_nullsub ( void )
inline

◆ inf_set_rename_nullsub()

bool inf_set_rename_nullsub ( bool _v = true)
inline

◆ inf_coagulate_data()

bool inf_coagulate_data ( void )
inline

◆ inf_set_coagulate_data()

bool inf_set_coagulate_data ( bool _v = true)
inline

◆ inf_coagulate_code()

bool inf_coagulate_code ( void )
inline

◆ inf_set_coagulate_code()

bool inf_set_coagulate_code ( bool _v = true)
inline

◆ inf_final_pass()

bool inf_final_pass ( void )
inline

◆ inf_set_final_pass()

bool inf_set_final_pass ( bool _v = true)
inline

◆ inf_get_af2()

uint32 inf_get_af2 ( )
inline

◆ inf_set_af2()

bool inf_set_af2 ( uint32 _v)
inline

◆ inf_handle_eh()

bool inf_handle_eh ( void )
inline

◆ inf_set_handle_eh()

bool inf_set_handle_eh ( bool _v = true)
inline

◆ inf_handle_rtti()

bool inf_handle_rtti ( void )
inline

◆ inf_set_handle_rtti()

bool inf_set_handle_rtti ( bool _v = true)
inline

◆ inf_macros_enabled()

bool inf_macros_enabled ( void )
inline

◆ inf_set_macros_enabled()

bool inf_set_macros_enabled ( bool _v = true)
inline

◆ inf_merge_strlits()

bool inf_merge_strlits ( void )
inline

◆ inf_set_merge_strlits()

bool inf_set_merge_strlits ( bool _v = true)
inline

◆ inf_get_baseaddr()

uval_t inf_get_baseaddr ( )
inline

◆ inf_set_baseaddr()

bool inf_set_baseaddr ( uval_t _v)
inline

◆ inf_get_start_ss()

sel_t inf_get_start_ss ( )
inline

◆ inf_set_start_ss()

bool inf_set_start_ss ( sel_t _v)
inline

◆ inf_get_start_cs()

sel_t inf_get_start_cs ( )
inline

◆ inf_set_start_cs()

bool inf_set_start_cs ( sel_t _v)
inline

◆ inf_get_start_ip()

ea_t inf_get_start_ip ( )
inline

◆ inf_set_start_ip()

bool inf_set_start_ip ( ea_t _v)
inline

◆ inf_get_start_ea()

ea_t inf_get_start_ea ( )
inline

◆ inf_set_start_ea()

bool inf_set_start_ea ( ea_t _v)
inline

◆ inf_get_start_sp()

ea_t inf_get_start_sp ( )
inline

◆ inf_set_start_sp()

bool inf_set_start_sp ( ea_t _v)
inline

◆ inf_get_main()

ea_t inf_get_main ( )
inline

◆ inf_set_main()

bool inf_set_main ( ea_t _v)
inline

◆ inf_get_min_ea()

ea_t inf_get_min_ea ( )
inline

◆ inf_set_min_ea()

bool inf_set_min_ea ( ea_t _v)
inline

◆ inf_get_max_ea()

ea_t inf_get_max_ea ( )
inline

◆ inf_set_max_ea()

bool inf_set_max_ea ( ea_t _v)
inline

◆ inf_get_omin_ea()

ea_t inf_get_omin_ea ( )
inline

◆ inf_set_omin_ea()

bool inf_set_omin_ea ( ea_t _v)
inline

◆ inf_get_omax_ea()

ea_t inf_get_omax_ea ( )
inline

◆ inf_set_omax_ea()

bool inf_set_omax_ea ( ea_t _v)
inline

◆ inf_get_lowoff()

ea_t inf_get_lowoff ( )
inline

◆ inf_set_lowoff()

bool inf_set_lowoff ( ea_t _v)
inline

◆ inf_get_highoff()

ea_t inf_get_highoff ( )
inline

◆ inf_set_highoff()

bool inf_set_highoff ( ea_t _v)
inline

◆ inf_get_maxref()

uval_t inf_get_maxref ( )
inline

◆ inf_set_maxref()

bool inf_set_maxref ( uval_t _v)
inline

◆ inf_get_netdelta()

sval_t inf_get_netdelta ( )
inline

◆ inf_set_netdelta()

bool inf_set_netdelta ( sval_t _v)
inline

◆ inf_get_xrefnum()

uchar inf_get_xrefnum ( )
inline

◆ inf_set_xrefnum()

bool inf_set_xrefnum ( uchar _v)
inline

◆ inf_get_type_xrefnum()

uchar inf_get_type_xrefnum ( )
inline

◆ inf_set_type_xrefnum()

bool inf_set_type_xrefnum ( uchar _v)
inline

◆ inf_get_refcmtnum()

uchar inf_get_refcmtnum ( )
inline

◆ inf_set_refcmtnum()

bool inf_set_refcmtnum ( uchar _v)
inline

◆ inf_get_xrefflag()

uchar inf_get_xrefflag ( )
inline

◆ inf_set_xrefflag()

bool inf_set_xrefflag ( uchar _v)
inline

◆ inf_show_xref_seg()

bool inf_show_xref_seg ( void )
inline

◆ inf_set_show_xref_seg()

bool inf_set_show_xref_seg ( bool _v = true)
inline

◆ inf_show_xref_tmarks()

bool inf_show_xref_tmarks ( void )
inline

◆ inf_set_show_xref_tmarks()

bool inf_set_show_xref_tmarks ( bool _v = true)
inline

◆ inf_show_xref_fncoff()

bool inf_show_xref_fncoff ( void )
inline

◆ inf_set_show_xref_fncoff()

bool inf_set_show_xref_fncoff ( bool _v = true)
inline

◆ inf_show_xref_val()

bool inf_show_xref_val ( void )
inline

◆ inf_set_show_xref_val()

bool inf_set_show_xref_val ( bool _v = true)
inline

◆ inf_get_max_autoname_len()

ushort inf_get_max_autoname_len ( )
inline

◆ inf_set_max_autoname_len()

bool inf_set_max_autoname_len ( ushort _v)
inline

◆ inf_get_nametype()

char inf_get_nametype ( )
inline

◆ inf_set_nametype()

bool inf_set_nametype ( char _v)
inline

◆ inf_get_short_demnames()

uint32 inf_get_short_demnames ( )
inline

◆ inf_set_short_demnames()

bool inf_set_short_demnames ( uint32 _v)
inline

◆ inf_get_long_demnames()

uint32 inf_get_long_demnames ( )
inline

◆ inf_set_long_demnames()

bool inf_set_long_demnames ( uint32 _v)
inline

◆ inf_get_demnames()

uchar inf_get_demnames ( )
inline

◆ inf_set_demnames()

bool inf_set_demnames ( uchar _v)
inline

◆ inf_get_listnames()

uchar inf_get_listnames ( )
inline

◆ inf_set_listnames()

bool inf_set_listnames ( uchar _v)
inline

◆ inf_get_indent()

uchar inf_get_indent ( )
inline

◆ inf_set_indent()

bool inf_set_indent ( uchar _v)
inline

◆ inf_get_cmt_indent()

uchar inf_get_cmt_indent ( )
inline

◆ inf_set_cmt_indent()

bool inf_set_cmt_indent ( uchar _v)
inline

◆ inf_get_margin()

ushort inf_get_margin ( )
inline

◆ inf_set_margin()

bool inf_set_margin ( ushort _v)
inline

◆ inf_get_lenxref()

ushort inf_get_lenxref ( )
inline

◆ inf_set_lenxref()

bool inf_set_lenxref ( ushort _v)
inline

◆ inf_get_outflags()

uint32 inf_get_outflags ( )
inline

◆ inf_set_outflags()

bool inf_set_outflags ( uint32 _v)
inline

◆ inf_show_void()

bool inf_show_void ( void )
inline

◆ inf_set_show_void()

bool inf_set_show_void ( bool _v = true)
inline

◆ inf_show_auto()

bool inf_show_auto ( void )
inline

◆ inf_set_show_auto()

bool inf_set_show_auto ( bool _v = true)
inline

◆ inf_gen_null()

bool inf_gen_null ( void )
inline

◆ inf_set_gen_null()

bool inf_set_gen_null ( bool _v = true)
inline

◆ inf_show_line_pref()

bool inf_show_line_pref ( void )
inline

◆ inf_set_show_line_pref()

bool inf_set_show_line_pref ( bool _v = true)
inline

◆ inf_line_pref_with_seg()

bool inf_line_pref_with_seg ( void )
inline

◆ inf_set_line_pref_with_seg()

bool inf_set_line_pref_with_seg ( bool _v = true)
inline

◆ inf_gen_lzero()

bool inf_gen_lzero ( void )
inline

◆ inf_set_gen_lzero()

bool inf_set_gen_lzero ( bool _v = true)
inline

◆ inf_gen_org()

bool inf_gen_org ( void )
inline

◆ inf_set_gen_org()

bool inf_set_gen_org ( bool _v = true)
inline

◆ inf_gen_assume()

bool inf_gen_assume ( void )
inline

◆ inf_set_gen_assume()

bool inf_set_gen_assume ( bool _v = true)
inline

◆ inf_gen_tryblks()

bool inf_gen_tryblks ( void )
inline

◆ inf_set_gen_tryblks()

bool inf_set_gen_tryblks ( bool _v = true)
inline

◆ inf_get_cmtflg()

uchar inf_get_cmtflg ( )
inline

◆ inf_set_cmtflg()

bool inf_set_cmtflg ( uchar _v)
inline

◆ inf_show_repeatables()

bool inf_show_repeatables ( void )
inline

◆ inf_set_show_repeatables()

bool inf_set_show_repeatables ( bool _v = true)
inline

◆ inf_show_all_comments()

bool inf_show_all_comments ( void )
inline

◆ inf_set_show_all_comments()

bool inf_set_show_all_comments ( bool _v = true)
inline

◆ inf_hide_comments()

bool inf_hide_comments ( void )
inline

◆ inf_set_hide_comments()

bool inf_set_hide_comments ( bool _v = true)
inline

◆ inf_show_src_linnum()

bool inf_show_src_linnum ( void )
inline

◆ inf_set_show_src_linnum()

bool inf_set_show_src_linnum ( bool _v = true)
inline

◆ inf_test_mode()

bool inf_test_mode ( void )
inline

◆ inf_show_hidden_insns()

bool inf_show_hidden_insns ( void )
inline

◆ inf_set_show_hidden_insns()

bool inf_set_show_hidden_insns ( bool _v = true)
inline

◆ inf_show_hidden_funcs()

bool inf_show_hidden_funcs ( void )
inline

◆ inf_set_show_hidden_funcs()

bool inf_set_show_hidden_funcs ( bool _v = true)
inline

◆ inf_show_hidden_segms()

bool inf_show_hidden_segms ( void )
inline

◆ inf_set_show_hidden_segms()

bool inf_set_show_hidden_segms ( bool _v = true)
inline

◆ inf_get_limiter()

uchar inf_get_limiter ( )
inline

◆ inf_set_limiter()

bool inf_set_limiter ( uchar _v)
inline

◆ inf_is_limiter_thin()

bool inf_is_limiter_thin ( void )
inline

◆ inf_set_limiter_thin()

bool inf_set_limiter_thin ( bool _v = true)
inline

◆ inf_is_limiter_thick()

bool inf_is_limiter_thick ( void )
inline

◆ inf_set_limiter_thick()

bool inf_set_limiter_thick ( bool _v = true)
inline

◆ inf_is_limiter_empty()

bool inf_is_limiter_empty ( void )
inline

◆ inf_set_limiter_empty()

bool inf_set_limiter_empty ( bool _v = true)
inline

◆ inf_get_bin_prefix_size()

short inf_get_bin_prefix_size ( )
inline

◆ inf_set_bin_prefix_size()

bool inf_set_bin_prefix_size ( short _v)
inline

◆ inf_get_prefflag()

uchar inf_get_prefflag ( )
inline

◆ inf_set_prefflag()

bool inf_set_prefflag ( uchar _v)
inline

◆ inf_prefix_show_segaddr()

bool inf_prefix_show_segaddr ( void )
inline

◆ inf_set_prefix_show_segaddr()

bool inf_set_prefix_show_segaddr ( bool _v = true)
inline

◆ inf_prefix_show_funcoff()

bool inf_prefix_show_funcoff ( void )
inline

◆ inf_set_prefix_show_funcoff()

bool inf_set_prefix_show_funcoff ( bool _v = true)
inline

◆ inf_prefix_show_stack()

bool inf_prefix_show_stack ( void )
inline

◆ inf_set_prefix_show_stack()

bool inf_set_prefix_show_stack ( bool _v = true)
inline

◆ inf_prefix_truncate_opcode_bytes()

bool inf_prefix_truncate_opcode_bytes ( void )
inline

◆ inf_set_prefix_truncate_opcode_bytes()

bool inf_set_prefix_truncate_opcode_bytes ( bool _v = true)
inline

◆ inf_get_strlit_flags()

uchar inf_get_strlit_flags ( )
inline

◆ inf_set_strlit_flags()

bool inf_set_strlit_flags ( uchar _v)
inline

◆ inf_strlit_names()

bool inf_strlit_names ( void )
inline

◆ inf_set_strlit_names()

bool inf_set_strlit_names ( bool _v = true)
inline

◆ inf_strlit_name_bit()

bool inf_strlit_name_bit ( void )
inline

◆ inf_set_strlit_name_bit()

bool inf_set_strlit_name_bit ( bool _v = true)
inline

◆ inf_strlit_serial_names()

bool inf_strlit_serial_names ( void )
inline

◆ inf_set_strlit_serial_names()

bool inf_set_strlit_serial_names ( bool _v = true)
inline

◆ inf_unicode_strlits()

bool inf_unicode_strlits ( void )
inline

◆ inf_set_unicode_strlits()

bool inf_set_unicode_strlits ( bool _v = true)
inline

◆ inf_strlit_autocmt()

bool inf_strlit_autocmt ( void )
inline

◆ inf_set_strlit_autocmt()

bool inf_set_strlit_autocmt ( bool _v = true)
inline

◆ inf_strlit_savecase()

bool inf_strlit_savecase ( void )
inline

◆ inf_set_strlit_savecase()

bool inf_set_strlit_savecase ( bool _v = true)
inline

◆ inf_get_strlit_break()

uchar inf_get_strlit_break ( )
inline

◆ inf_set_strlit_break()

bool inf_set_strlit_break ( uchar _v)
inline

◆ inf_get_strlit_zeroes()

char inf_get_strlit_zeroes ( )
inline

◆ inf_set_strlit_zeroes()

bool inf_set_strlit_zeroes ( char _v)
inline

◆ inf_get_strtype()

int32 inf_get_strtype ( )
inline

◆ inf_set_strtype()

bool inf_set_strtype ( int32 _v)
inline

◆ inf_get_strlit_sernum()

uval_t inf_get_strlit_sernum ( )
inline

◆ inf_set_strlit_sernum()

bool inf_set_strlit_sernum ( uval_t _v)
inline

◆ inf_get_datatypes()

uval_t inf_get_datatypes ( )
inline

◆ inf_set_datatypes()

bool inf_set_datatypes ( uval_t _v)
inline

◆ inf_get_abibits()

uint32 inf_get_abibits ( )
inline

◆ inf_set_abibits()

bool inf_set_abibits ( uint32 _v)
inline

◆ inf_is_mem_aligned4()

bool inf_is_mem_aligned4 ( void )
inline

◆ inf_set_mem_aligned4()

bool inf_set_mem_aligned4 ( bool _v = true)
inline

◆ inf_pack_stkargs()

bool inf_pack_stkargs ( void )
inline

◆ inf_set_pack_stkargs()

bool inf_set_pack_stkargs ( bool _v = true)
inline

◆ inf_big_arg_align()

bool inf_big_arg_align ( void )
inline

◆ inf_set_big_arg_align()

bool inf_set_big_arg_align ( bool _v = true)
inline

◆ inf_stack_ldbl()

bool inf_stack_ldbl ( void )
inline

◆ inf_set_stack_ldbl()

bool inf_set_stack_ldbl ( bool _v = true)
inline

◆ inf_stack_varargs()

bool inf_stack_varargs ( void )
inline

◆ inf_set_stack_varargs()

bool inf_set_stack_varargs ( bool _v = true)
inline

◆ inf_is_hard_float()

bool inf_is_hard_float ( void )
inline

◆ inf_set_hard_float()

bool inf_set_hard_float ( bool _v = true)
inline

◆ inf_abi_set_by_user()

bool inf_abi_set_by_user ( void )
inline

◆ inf_set_abi_set_by_user()

bool inf_set_abi_set_by_user ( bool _v = true)
inline

◆ inf_use_gcc_layout()

bool inf_use_gcc_layout ( void )
inline

◆ inf_set_use_gcc_layout()

bool inf_set_use_gcc_layout ( bool _v = true)
inline

◆ inf_map_stkargs()

bool inf_map_stkargs ( void )
inline

◆ inf_set_map_stkargs()

bool inf_set_map_stkargs ( bool _v = true)
inline

◆ inf_huge_arg_align()

bool inf_huge_arg_align ( void )
inline

◆ inf_set_huge_arg_align()

bool inf_set_huge_arg_align ( bool _v = true)
inline

◆ inf_get_appcall_options()

uint32 inf_get_appcall_options ( )
inline

◆ inf_set_appcall_options()

bool inf_set_appcall_options ( uint32 _v)
inline

◆ inf_get_privrange_start_ea()

ea_t inf_get_privrange_start_ea ( )
inline

◆ inf_set_privrange_start_ea()

bool inf_set_privrange_start_ea ( ea_t _v)
inline

◆ inf_get_privrange_end_ea()

ea_t inf_get_privrange_end_ea ( )
inline

◆ inf_set_privrange_end_ea()

bool inf_set_privrange_end_ea ( ea_t _v)
inline

◆ inf_get_cc_id()

comp_t inf_get_cc_id ( )
inline

◆ inf_set_cc_id()

bool inf_set_cc_id ( comp_t _v)
inline

◆ inf_get_cc_cm()

cm_t inf_get_cc_cm ( )
inline

◆ inf_set_cc_cm()

bool inf_set_cc_cm ( cm_t _v)
inline

◆ inf_get_callcnv()

callcnv_t inf_get_callcnv ( )
inline

◆ inf_set_callcnv()

bool inf_set_callcnv ( callcnv_t _v)
inline

◆ inf_get_cc_size_i()

uchar inf_get_cc_size_i ( )
inline

◆ inf_set_cc_size_i()

bool inf_set_cc_size_i ( uchar _v)
inline

◆ inf_get_cc_size_b()

uchar inf_get_cc_size_b ( )
inline

◆ inf_set_cc_size_b()

bool inf_set_cc_size_b ( uchar _v)
inline

◆ inf_get_cc_size_e()

uchar inf_get_cc_size_e ( )
inline

◆ inf_set_cc_size_e()

bool inf_set_cc_size_e ( uchar _v)
inline

◆ inf_get_cc_defalign()

uchar inf_get_cc_defalign ( )
inline

◆ inf_set_cc_defalign()

bool inf_set_cc_defalign ( uchar _v)
inline

◆ inf_get_cc_size_s()

uchar inf_get_cc_size_s ( )
inline

◆ inf_set_cc_size_s()

bool inf_set_cc_size_s ( uchar _v)
inline

◆ inf_get_cc_size_l()

uchar inf_get_cc_size_l ( )
inline

◆ inf_set_cc_size_l()

bool inf_set_cc_size_l ( uchar _v)
inline

◆ inf_get_cc_size_ll()

uchar inf_get_cc_size_ll ( )
inline

◆ inf_set_cc_size_ll()

bool inf_set_cc_size_ll ( uchar _v)
inline

◆ inf_get_cc_size_ldbl()

uchar inf_get_cc_size_ldbl ( )
inline

◆ inf_set_cc_size_ldbl()

bool inf_set_cc_size_ldbl ( uchar _v)
inline

◆ inf_get_procname() [1/2]

bool inf_get_procname ( char * buf,
size_t bufsize = IDAINFO_PROCNAME_SIZE )
inline

◆ inf_get_procname() [2/2]

qstring inf_get_procname ( )
inline

◆ inf_set_procname()

bool inf_set_procname ( const char * _v,
size_t len = size_t(-1) )
inline

◆ inf_get_strlit_pref() [1/2]

bool inf_get_strlit_pref ( char * buf,
size_t bufsize = IDAINFO_STRLIT_PREF_SIZE )
inline

◆ inf_get_strlit_pref() [2/2]

qstring inf_get_strlit_pref ( )
inline

◆ inf_set_strlit_pref()

bool inf_set_strlit_pref ( const char * _v,
size_t len = size_t(-1) )
inline

◆ inf_get_cc()

bool inf_get_cc ( compiler_info_t * out)
inline

◆ inf_set_cc()

bool inf_set_cc ( const compiler_info_t & _v)
inline

◆ inf_get_privrange() [1/2]

bool inf_get_privrange ( range_t * out)
inline

◆ inf_set_privrange()

bool inf_set_privrange ( const range_t & _v)
inline

◆ inf_get_privrange() [2/2]

range_t inf_get_privrange ( )
inline

◆ inf_get_af_low()

ushort inf_get_af_low ( )
inline

Get/set low/high 16bit halves of inf.af.

◆ inf_set_af_low()

void inf_set_af_low ( ushort saf)
inline

◆ inf_get_af_high()

ushort inf_get_af_high ( )
inline

◆ inf_set_af_high()

void inf_set_af_high ( ushort saf2)
inline

◆ inf_get_af2_low()

ushort inf_get_af2_low ( )
inline

Get/set low 16bit half of inf.af2.

◆ inf_set_af2_low()

void inf_set_af2_low ( ushort saf)
inline

◆ inf_get_pack_mode()

int inf_get_pack_mode ( )
inline

◆ inf_set_pack_mode()

int inf_set_pack_mode ( int pack_mode)
inline

◆ inf_inc_database_change_count()

void inf_inc_database_change_count ( int cnt = 1)
inline

◆ inf_get_demname_form()

uchar inf_get_demname_form ( void )
inline

Get #DEMNAM_MASK bits of #demnames.

◆ inf_postinc_strlit_sernum()

uval_t inf_postinc_strlit_sernum ( uval_t cnt = 1)
inline

◆ inf_like_binary()

bool inf_like_binary ( void )
inline

◆ calc_default_idaplace_flags()

int calc_default_idaplace_flags ( void )
inline

Get default disassembly line options.

◆ to_ea()

ea_t idaapi to_ea ( sel_t reg_cs,
uval_t reg_ip )
inline

Convert (sel,off) value to a linear address.

◆ hook_to_notification_point()

idaman DEPRECATED bool ida_export hook_to_notification_point ( hook_type_t hook_type,
hook_cb_t * cb,
void * user_data = nullptr )

Register a callback for a class of events in IDA.

◆ unhook_from_notification_point()

idaman DEPRECATED int ida_export unhook_from_notification_point ( hook_type_t hook_type,
hook_cb_t * cb,
void * user_data = nullptr )

Unregister a callback (also see hook_to_notification_point()).

A plugin should unhook before being unloaded (preferably in its termination function). If different callbacks have the same callback function pointer and user_data is not nullptr, only the callback whose associated user defined data matches will be removed.

Returns
number of unhooked functions.

◆ invoke_callbacks()

idaman ssize_t ida_export invoke_callbacks ( hook_type_t hook_type,
int notification_code,
va_list va )

Generate event notification.

Parameters
hook_typehook type
notification_codeevent code
vaadditional arguments
Returns
!=0: event processed

◆ register_post_event_visitor()

idaman bool ida_export register_post_event_visitor ( hook_type_t hook_type,
post_event_visitor_t * visitor,
const plugmod_t * owner )

Register the post-event visitor.

The kernel will not take ownership, nor delete the VISITOR instance. Therefore, it's up to the plugin to handle it. In addition, the post_event_visitor_t will be automatically unregistered when the owner plugin is unloaded from memory.

Parameters
hook_typehook type
visitorpost-event visitor
ownerthe owner plugin of the post_event_visitor_t type
Returns
success

◆ unregister_post_event_visitor()

idaman bool ida_export unregister_post_event_visitor ( hook_type_t hook_type,
post_event_visitor_t * visitor )

Unregister the post-event visitor.

Parameters
hook_typehook type
visitorpost-event visitor
Returns
success

◆ get_dbctx_id()

idaman ssize_t ida_export get_dbctx_id ( )

Get the current database context ID.

Returns
the database context ID, or -1 if no current database

◆ get_dbctx_qty()

idaman size_t ida_export get_dbctx_qty ( )

Get number of database contexts.

Returns
number of database contexts

◆ switch_dbctx()

idaman struct dbctx_t *ida_export switch_dbctx ( size_t idx)

Switch to the database with the provided context ID.

Parameters
idxthe index of the database to switch to
Returns
the current dbctx_t instance or nullptr

◆ is_database_busy()

idaman bool ida_export is_database_busy ( )

Check if the database is busy (e.g.

performing some critical operations and cannot be safely accessed)

◆ validate_idb()

idaman size_t ida_export validate_idb ( uint32 vld_flags = 0)

Validate the database.

Parameters
vld_flagscombination of VLD_.. constants
Returns
number of corrupted/fixed records

◆ move_privrange()

idaman bool ida_export move_privrange ( ea_t new_privrange_start)

Move privrange to the specified address.

Parameters
new_privrange_startnew start address of the privrange
Returns
success

◆ DECLARE_TYPE_AS_MOVABLE()

DECLARE_TYPE_AS_MOVABLE ( idbattr_info_t )