108#define EA64_ALIGN(n) uint32 n;
117#define IDAINFO_TAG_SIZE 3
118#define IDAINFO_PROCNAME_SIZE 16
119#define IDAINFO_STRLIT_PREF_SIZE 16
122 char tag[IDAINFO_TAG_SIZE];
131#define INFFL_AUTO 0x01
132#define INFFL_ALLASM 0x02
134#define INFFL_LOADIDC 0x04
135#define INFFL_NOUSER 0x08
136#define INFFL_READONLY 0x10
137#define INFFL_CHKOPS 0x20
138#define INFFL_NMOPS 0x40
139#define INFFL_GRAPH_VIEW 0x80
146#define LFLG_PC_FPP 0x00000001
147#define LFLG_PC_FLAT 0x00000002
148#define LFLG_64BIT 0x00000004
149#define LFLG_IS_DLL 0x00000008
150#define LFLG_FLAT_OFF32 0x00000010
151#define LFLG_MSF 0x00000020
152#define LFLG_WIDE_HBF 0x00000040
154#define LFLG_DBG_NOPATH 0x00000080
155#define LFLG_SNAPSHOT 0x00000100
156#define LFLG_PACK 0x00000200
157#define LFLG_COMPRESS 0x00000400
158#define LFLG_KERNMODE 0x00000800
159#define LFLG_ILP32 0x00001000
167#define IDB_UNPACKED 0
169#define IDB_COMPRESSED 2
191#define AF_CODE 0x00000001
192#define AF_MARKCODE 0x00000002
193#define AF_JUMPTBL 0x00000004
194#define AF_PURDAT 0x00000008
195#define AF_USED 0x00000010
196#define AF_UNK 0x00000020
198#define AF_PROCPTR 0x00000040
199#define AF_PROC 0x00000080
200#define AF_FTAIL 0x00000100
201#define AF_LVAR 0x00000200
202#define AF_STKARG 0x00000400
203#define AF_REGARG 0x00000800
204#define AF_TRACE 0x00001000
205#define AF_VERSP 0x00002000
206#define AF_ANORET 0x00004000
207#define AF_MEMFUNC 0x00008000
208#define AF_TRFUNC 0x00010000
210#define AF_STRLIT 0x00020000
211#define AF_CHKUNI 0x00040000
212#define AF_FIXUP 0x00080000
213#define AF_DREFOFF 0x00100000
214#define AF_IMMOFF 0x00200000
215#define AF_DATOFF 0x00400000
217#define AF_FLIRT 0x00800000
218#define AF_SIGCMT 0x01000000
219#define AF_SIGMLT 0x02000000
220#define AF_HFLIRT 0x04000000
222#define AF_JFUNC 0x08000000
223#define AF_NULLSUB 0x10000000
225#define AF_DODATA 0x20000000
226#define AF_DOCODE 0x40000000
227#define AF_FINAL 0x80000000
233#define AF2_DOEH 0x00000001
234#define AF2_DORTTI 0x00000002
235#define AF2_MACRO 0x00000004
237#define AF2_MERGESTR 0x00000008
282#define SW_SEGXRF 0x01
283#define SW_XRFMRK 0x02
284#define SW_XRFFNC 0x04
285#define SW_XRFVAL 0x08
319#define DEMNAM_FIRST 8
326#define LN_NORMAL 0x01
327#define LN_PUBLIC 0x02
341#define OFLG_SHOW_VOID 0x002
342#define OFLG_SHOW_AUTO 0x004
343#define OFLG_GEN_NULL 0x010
344#define OFLG_SHOW_PREF 0x020
345#define OFLG_PREF_SEG 0x040
346#define OFLG_LZERO 0x080
347#define OFLG_GEN_ORG 0x100
348#define OFLG_GEN_ASSUME 0x200
349#define OFLG_GEN_TRYBLKS 0x400
356#define SCF_RPTCMT 0x01
357#define SCF_ALLCMT 0x02
358#define SCF_NOCMT 0x04
359#define SCF_LINNUM 0x08
360#define SCF_TESTMODE 0x10
361#define SCF_SHHID_ITEM 0x20
362#define SCF_SHHID_FUNC 0x40
363#define SCF_SHHID_SEGM 0x80
371#define LMT_THICK 0x02
372#define LMT_EMPTY 0x04
380#define PREF_SEGADR 0x01
381#define PREF_FNCOFF 0x02
382#define PREF_STACK 0x04
383#define PREF_PFXTRUNC 0x08
392#define STRF_AUTO 0x02
393#define STRF_SERIAL 0x04
394#define STRF_UNICODE 0x08
395#define STRF_COMMENT 0x10
396#define STRF_SAVECASE 0x20
416#define ABI_8ALIGN4 0x00000001
417#define ABI_PACK_STKARGS 0x00000002
418#define ABI_BIGARG_ALIGN 0x00000004
420#define ABI_STACK_LDBL 0x00000008
421#define ABI_STACK_VARARGS 0x00000010
422#define ABI_HARD_FLOAT 0x00000020
423#define ABI_SET_BY_USER 0x00000040
424#define ABI_GCC_LAYOUT 0x00000080
425#define ABI_MAP_STKARGS 0x00000100
426#define ABI_HUGEARG_ALIGN 0x00000200
658 return f == 0 ? 16 : f == LFLG_PC_FLAT ? 32 : 64;
673 default: INTERR(2781);
1031 char buf[IDAINFO_PROCNAME_SIZE];
1038 if ( _v ==
nullptr )
1040 if (
len ==
size_t(-1) )
1051 char buf[IDAINFO_STRLIT_PREF_SIZE];
1058 if ( _v ==
nullptr )
1060 if (
len ==
size_t(-1) )
1087 return (lflags & LFLG_COMPRESS) != 0 ? IDB_COMPRESSED
1088 : (lflags & LFLG_PACK) != 0 ? IDB_PACKED
1096 setflag(lflags, LFLG_COMPRESS, pack_mode == IDB_COMPRESSED);
1097 setflag(lflags, LFLG_PACK, pack_mode == IDB_PACKED);
1138 return (reg_cs << 4) + reg_ip;
1181#ifdef TESTABLE_BUILD
1182 QASSERT(2762, ea != BADADDR);
1189 return ea_size == 8 ? BADADDR :
ea_t(BADADDR32) + 1;
1210#ifdef TESTABLE_BUILD
1213 return y <=
mask - x;
1250#define DEFINE_EA_HELPER_FUNCS(eh) \
1251 const ea_helper_t &eah() const { return (eh); }\
1252 bool fits_ea_space(ea_t _ea) const { return (eh).fits_ea_space(_ea); }\
1253 bool fits_ea_space(const range_t &r) const { return (eh).fits_ea_space(r); }\
1254 ea_t trunc_ea(ea_t _ea) const { return (eh).trunc_ea(_ea); }\
1255 uval_t trunc_uval(uval_t v) const { return (eh).trunc_uval(v); }\
1256 ea_t ea_space_end() const { return (eh).ea_space_end(); }\
1257 ea_t to_ea(sel_t cs, uval_t ip) const { return (eh).to_ea(cs, ip); }\
1258 sval_t ea2sval(ea_t _ea) const { return (eh).ea2sval(_ea); }\
1259 ea_t uval2ea(uval_t v) const { return (eh).uval2ea(v); }\
1260 bool like_badaddr(ea_t _ea) const { return (eh).like_badaddr(_ea); }\
1261 bool is_ea_add_ok(uval_t x, uval_t y) const { return (eh).is_ea_add_ok(x, y); }\
1262 sval_t sval_max() const { return (eh).sval_max(); }\
1263 ea_t align_ea(ea_t _ea, int size) const { return (eh).align_ea(_ea, size); }\
1264 bool advance_ea(ea_t *_ea, asize_t _n) const { return (eh).advance_ea(_ea, _n); }\
1265 ea_t fix_ea_tid(ea_t _ea) const { return (eh).fix_ea_tid(_ea); }
1267#define DEFINE_EA_HELPER_FUNCS(eh)
1273#define IDB_EXT32 "idb"
1274#define IDB_EXT64 "i64"
1276#define IDB_EXT IDB_EXT64
1278#define IDB_EXT IDB_EXT32
1340 void *user_data =
nullptr);
1354 void *user_data =
nullptr);
1383 int notification_code,
1439#define VLD_AUTO_REPAIR 0x01
1440#define VLD_DIALOG 0x02
1441#define VLD_SILENT 0x04
1474#define IDI_STRUCFLD 0
1475#define IDI_ALTVAL 0x00001
1476#define IDI_SUPVAL 0x00002
1477#define IDI_VALOBJ 0x00004
1478#define IDI_BLOB 0x00008
1480#define IDI_CSTR 0x00010
1481#define IDI_QSTRING 0x00020
1482#define IDI_BYTEARRAY 0x00040
1484#define IDI_DEC 0x00080
1485#define IDI_HEX 0x00100
1486#define IDI_INC 0x00200
1487#define IDI_MAP_VAL 0x00400
1488#define IDI_HASH 0x00800
1489#define IDI_HLPSTRUC 0x01000
1490#define IDI_READONLY 0x02000
1491#define IDI_BITMAP 0x04000
1492#define IDI_ONOFF 0x08000
1493#define IDI_NOMERGE 0x10000
1495#define IDI_NODEVAL (IDI_ALTVAL|IDI_SUPVAL|IDI_VALOBJ|IDI_BLOB)
1496#define IDI_BUFVAR (IDI_CSTR|IDI_BYTEARRAY|IDI_QSTRING|IDI_BITMAP)
A plugin is a module in the plugins subdirectory that can perform an action asked by the user.
Definition loader.hpp:578
Reimplementation of vector class from STL.
Definition pro.h:2250
void set_cc(callcnv_t cc)
Definition typeinf.hpp:1448
callcnv_t get_cc() const
Definition typeinf.hpp:1447
idaman THREAD_SAFE va_list va
See qsscanf()
Definition err.h:21
int code
Definition fpro.h:88
idaman size_t n
Definition pro.h:997
bool inf_set_ostype(ushort _v)
Definition ida.hpp:684
range_t inf_get_privrange()
Definition ida.hpp:1073
bool inf_set_rename_jumpfunc(bool _v=true)
Definition ida.hpp:752
bool inf_set_database_change_count(uint32 _v)
Definition ida.hpp:678
uval_t inf_postinc_strlit_sernum(uval_t cnt=1)
Definition ida.hpp:1108
bool inf_set_lowoff(ea_t _v)
Definition ida.hpp:807
bool inf_create_off_using_fixup(void)
Definition ida.hpp:735
uint32 inf_get_appcall_options()
Definition ida.hpp:983
bool inf_final_pass(void)
Definition ida.hpp:759
int32 inf_get_strtype()
Definition ida.hpp:951
bool inf_set_append_sigcmt(bool _v=true)
Definition ida.hpp:746
int calc_default_idaplace_flags(void)
Get default disassembly line options.
Definition ida.hpp:1128
void inf_inc_database_change_count(int cnt=1)
Definition ida.hpp:1102
ea_t inf_get_lowoff()
Definition ida.hpp:806
bool inf_unicode_strlits(void)
Definition ida.hpp:938
ea_t inf_get_omax_ea()
Definition ida.hpp:803
bool inf_set_huge_arg_align(bool _v=true)
Definition ida.hpp:981
bool inf_compress_idb(void)
Definition ida.hpp:649
ea_t inf_get_start_ip()
Definition ida.hpp:782
bool inf_set_limiter_thin(bool _v=true)
Definition ida.hpp:910
inftag_t
Definition ida.hpp:439
@ INF_INCLUDE
assembler include file name
Definition ida.hpp:515
@ INF_PRIVRANGE
Definition ida.hpp:466
@ INF_LENXREF
Definition ida.hpp:483
@ INF_SELECTORS
2..63 are for selector_t blob (see init_selectors())
Definition ida.hpp:527
@ INF_LONG_DEMNAMES
Definition ida.hpp:477
@ INF_LISTNAMES
Definition ida.hpp:479
@ INF_MARGIN
Definition ida.hpp:482
@ INF_H_PATH
C header path.
Definition ida.hpp:513
@ INF_GENFLAGS
Definition ida.hpp:442
@ INF_CMT_INDENT
Definition ida.hpp:481
@ INF_INPUT_FILE_PATH
Definition ida.hpp:540
@ INF_SRCDBG_UNDESIRED
user-closed source files, occupies 20 indexes
Definition ida.hpp:530
@ INF_GROUPS
segment group information (see init_groups())
Definition ida.hpp:512
@ INF_ABIBITS
Definition ida.hpp:507
@ INF_MAXREF
Definition ida.hpp:465
@ INF_FILETYPE
Definition ida.hpp:445
@ INF_SHA256
SHA256 of the input file.
Definition ida.hpp:522
@ INF_START_IP
Definition ida.hpp:455
@ INF_MAIN
Definition ida.hpp:458
@ INF_LIMITER
Definition ida.hpp:486
@ INF_START_EA
Definition ida.hpp:456
@ INF_STR_ENCODINGS
a list of encodings for the program strings
Definition ida.hpp:520
@ INF_CC_SIZE_LL
Definition ida.hpp:505
@ INF_C_MACROS
C predefined macros.
Definition ida.hpp:514
@ INF_IMAGEBASE
image base
Definition ida.hpp:536
@ INF_LAST
Definition ida.hpp:545
@ INF_START_SP
Definition ida.hpp:457
@ INF_FILE_FORMAT_NAME
file format name for loader modules
Definition ida.hpp:511
@ INF_DATABASE_CHANGE_COUNT
Definition ida.hpp:444
@ INF_INDENT
Definition ida.hpp:480
@ INF_CTIME
database creation timestamp
Definition ida.hpp:532
@ INF_OSTYPE
Definition ida.hpp:446
@ INF_OUTFLAGS
Definition ida.hpp:484
@ INF_APPCALL_OPTIONS
Definition ida.hpp:508
@ INF_DEMNAMES
Definition ida.hpp:478
@ INF_START_SS
Definition ida.hpp:453
@ INF_NAMETYPE
Definition ida.hpp:475
@ INF_HIGHOFF
Definition ida.hpp:464
@ INF_ASMTYPE
Definition ida.hpp:448
@ INF_CC_SIZE_B
Definition ida.hpp:500
@ INF_START_CS
Definition ida.hpp:454
@ INF_LOWOFF
Definition ida.hpp:463
@ INF_DUALOP_TEXT
Text text representation options.
Definition ida.hpp:517
@ INF_SRCDBG_PATHS
source debug paths, occupies 20 indexes
Definition ida.hpp:529
@ INF_MD5
MD5 of the input file.
Definition ida.hpp:518
@ INF_PROBLEMS
problem lists
Definition ida.hpp:525
@ INF_CC_CM
Definition ida.hpp:498
@ INF_MAX_AUTONAME_LEN
Definition ida.hpp:474
@ INF_FSIZE
input file size
Definition ida.hpp:538
@ INF_OMAX_EA
Definition ida.hpp:462
@ INF_PROCNAME
Definition ida.hpp:441
@ INF_STRLIT_FLAGS
Definition ida.hpp:489
@ INF_PRIVRANGE_END_EA
Definition ida.hpp:468
@ INF_ABINAME
ABI name (processor specific)
Definition ida.hpp:523
@ INF_IDA_VERSION
version of ida which created the database
Definition ida.hpp:519
@ INF_SPECSEGS
Definition ida.hpp:449
@ INF_APPTYPE
Definition ida.hpp:447
@ INF_PREFFLAG
Definition ida.hpp:488
@ INF_AF
Definition ida.hpp:450
@ INF_LFLAGS
Definition ida.hpp:443
@ INF_MIN_EA
Definition ida.hpp:459
@ INF_STRTYPE
Definition ida.hpp:492
@ INF_MAX_EA
Definition ida.hpp:460
@ INF_CC_SIZE_S
Definition ida.hpp:503
@ INF_OMIN_EA
Definition ida.hpp:461
@ INF_STRLIT_BREAK
Definition ida.hpp:490
@ INF_DATATYPES
Definition ida.hpp:495
@ INF_CC_SIZE_L
Definition ida.hpp:504
@ INF_INITIAL_VERSION
initial version of database
Definition ida.hpp:531
@ INF_XREFFLAG
Definition ida.hpp:473
@ INF_DUALOP_GRAPH
Graph text representation options.
Definition ida.hpp:516
@ INF_VERSION
Definition ida.hpp:440
@ INF_DBG_BINPATHS
unused (20 indexes)
Definition ida.hpp:521
@ INF_XREFNUM
Definition ida.hpp:470
@ INF_CC_DEFALIGN
Definition ida.hpp:502
@ INF_CC_SIZE_E
Definition ida.hpp:501
@ INF_AF2
Definition ida.hpp:451
@ INF_CC_ID
Definition ida.hpp:497
@ INF_STRLIT_ZEROES
Definition ida.hpp:491
@ INF_CC_SIZE_LDBL
Definition ida.hpp:506
@ INF_CMTFLG
Definition ida.hpp:485
@ INF_NOTEPAD
notepad blob, occupies 1000 indexes (1MB of text)
Definition ida.hpp:528
@ INF_STRLIT_SERNUM
Definition ida.hpp:494
@ INF_CALLCNV
Definition ida.hpp:544
@ INF_STRLIT_PREF
Definition ida.hpp:493
@ INF_BIN_PREFIX_SIZE
Definition ida.hpp:487
@ INF_NETDELTA
Definition ida.hpp:469
@ INF_TYPE_XREFNUM
Definition ida.hpp:471
@ INF_OUTFILEENC
output file encoding index
Definition ida.hpp:539
@ INF_COMPILER_INFO
Definition ida.hpp:543
@ INF_OBSOLETE_CC
Definition ida.hpp:496
@ INF_NOPENS
how many times the database is opened
Definition ida.hpp:534
@ INF_CRC32
input file crc32
Definition ida.hpp:535
@ INF_CC_SIZE_I
Definition ida.hpp:499
@ INF_SHORT_DEMNAMES
Definition ida.hpp:476
@ INF_REFCMTNUM
Definition ida.hpp:472
@ INF_ELAPSED
seconds database stayed open
Definition ida.hpp:533
@ INF_BASEADDR
Definition ida.hpp:452
@ INF_ARCHIVE_PATH
archive file path
Definition ida.hpp:524
@ INF_PRIVRANGE_START_EA
Definition ida.hpp:467
@ INF_IDSNODE
ids modnode id (for import_module)
Definition ida.hpp:537
bool inf_set_graph_view(bool _v=true)
Definition ida.hpp:619
bool inf_is_mem_aligned4(void)
Definition ida.hpp:962
bool inf_test_mode(void)
Definition ida.hpp:899
bool inf_propagate_regargs(void)
Definition ida.hpp:719
bool inf_set_pack_stkargs(bool _v=true)
Definition ida.hpp:965
char inf_get_nametype()
Definition ida.hpp:841
bool is_filetype_like_binary(filetype_t ft)
Is unstructured input file?
Definition ida.hpp:67
bool inf_set_strlit_autocmt(bool _v=true)
Definition ida.hpp:941
bool inf_show_repeatables(void)
Definition ida.hpp:891
bool inf_show_all_comments(void)
Definition ida.hpp:893
bool inf_should_create_stkvars(void)
Definition ida.hpp:715
bool inf_set_create_all_xrefs(bool _v=true)
Definition ida.hpp:706
bool inf_set_strtype(int32 _v)
Definition ida.hpp:952
bool inf_set_strlit_sernum(uval_t _v)
Definition ida.hpp:955
cm_t inf_get_cc_cm()
Definition ida.hpp:995
uchar inf_get_cc_size_s()
Definition ida.hpp:1013
ushort inf_get_max_autoname_len()
Definition ida.hpp:838
bool inf_big_arg_align(void)
Definition ida.hpp:966
bool inf_stack_ldbl(void)
Definition ida.hpp:968
bool inf_set_demnames(uchar _v)
Definition ida.hpp:851
bool inf_set_limiter(uchar _v)
Definition ida.hpp:908
ea_t inf_get_max_ea()
Definition ida.hpp:797
filetype_t inf_get_filetype()
Definition ida.hpp:680
bool inf_set_version(ushort _v)
Definition ida.hpp:600
bool inf_set_abi_set_by_user(bool _v=true)
Definition ida.hpp:975
bool inf_is_snapshot(void)
Definition ida.hpp:645
idaman size_t ida_export validate_idb(uint32 vld_flags=0)
Validate the database.
bool inf_show_xref_fncoff(void)
Definition ida.hpp:833
bool inf_set_short_demnames(uint32 _v)
Definition ida.hpp:845
bool inf_set_unicode_strlits(bool _v=true)
Definition ida.hpp:939
bool inf_set_cc_id(comp_t _v)
Definition ida.hpp:993
idaman bool ida_export unregister_post_event_visitor(hook_type_t hook_type, post_event_visitor_t *visitor)
Unregister the post-event visitor.
bool inf_set_ilp32(bool _v=true)
Definition ida.hpp:634
bool inf_op_offset(void)
Definition ida.hpp:739
bool inf_is_graph_view(void)
Definition ida.hpp:618
bool inf_is_dll(void)
Definition ida.hpp:635
bool inf_create_off_on_dref(void)
Definition ida.hpp:737
bool inf_show_xref_val(void)
Definition ida.hpp:835
bool inf_set_listnames(uchar _v)
Definition ida.hpp:854
bool inf_set_nametype(char _v)
Definition ida.hpp:842
bool inf_gen_null(void)
Definition ida.hpp:874
bool inf_set_show_void(bool _v=true)
Definition ida.hpp:871
bool inf_set_hide_comments(bool _v=true)
Definition ida.hpp:896
ushort inf_get_genflags()
Definition ida.hpp:602
bool inf_set_should_trace_sp(bool _v=true)
Definition ida.hpp:722
idaman bool ida_export getinf_flag(inftag_t tag, uint32 flag)
Get a flag value.
bool inf_set_create_off_on_dref(bool _v=true)
Definition ida.hpp:738
ushort inf_get_version()
Definition ida.hpp:599
bool inf_coagulate_data(void)
Definition ida.hpp:755
uval_t inf_get_baseaddr()
Definition ida.hpp:773
bool inf_show_void(void)
Definition ida.hpp:870
uchar inf_get_cc_defalign()
Definition ida.hpp:1010
uint32 inf_get_abibits()
Definition ida.hpp:960
ea_t inf_get_privrange_end_ea()
Definition ida.hpp:989
uchar inf_get_cmt_indent()
Definition ida.hpp:859
bool inf_set_gen_org(bool _v=true)
Definition ida.hpp:883
uchar inf_get_cc_size_e()
Definition ida.hpp:1007
ushort inf_get_apptype()
Definition ida.hpp:686
idaman bool ida_export setinf_flag(inftag_t tag, uint32 flag, bool value=true)
Set a flag value.
bool inf_show_xref_seg(void)
Definition ida.hpp:829
bool inf_set_show_all_comments(bool _v=true)
Definition ida.hpp:894
bool inf_set_flat_off32(bool _v=true)
Definition ida.hpp:638
bool inf_set_coagulate_data(bool _v=true)
Definition ida.hpp:756
bool inf_is_16bit(void)
Definition ida.hpp:630
bool inf_strlit_serial_names(void)
Definition ida.hpp:936
qvector< callcnv_t > callcnvs_t
Definition ida.hpp:75
bool inf_set_create_off_using_fixup(bool _v=true)
Definition ida.hpp:736
bool inf_set_map_stkargs(bool _v=true)
Definition ida.hpp:979
bool inf_set_strlit_zeroes(char _v)
Definition ida.hpp:949
bool inf_del_no_xref_insns(void)
Definition ida.hpp:707
bool inf_set_show_xref_fncoff(bool _v=true)
Definition ida.hpp:834
uint32 inf_get_af2()
Definition ida.hpp:762
bool inf_set_snapshot(bool _v=true)
Definition ida.hpp:646
ea_t inf_get_start_ea()
Definition ida.hpp:785
uint32 inf_get_outflags()
Definition ida.hpp:868
bool inf_set_create_func_from_ptr(bool _v=true)
Definition ida.hpp:710
bool inf_rename_jumpfunc(void)
Definition ida.hpp:751
bool inf_is_32bit_exactly(void)
Definition ida.hpp:628
bool inf_set_long_demnames(uint32 _v)
Definition ida.hpp:848
bool inf_set_cc_defalign(uchar _v)
Definition ida.hpp:1011
uchar cm_t
calling convention and memory model
Definition ida.hpp:73
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.
bool inf_set_cmtflg(uchar _v)
Definition ida.hpp:890
bool inf_set_mark_code(bool _v=true)
Definition ida.hpp:700
bool inf_trace_flow(void)
Definition ida.hpp:697
bool inf_set_cc_size_s(uchar _v)
Definition ida.hpp:1014
bool inf_set_compress_idb(bool _v=true)
Definition ida.hpp:650
bool inf_show_src_linnum(void)
Definition ida.hpp:897
bool inf_like_binary(void)
Definition ida.hpp:1115
char inf_get_strlit_zeroes()
Definition ida.hpp:948
idaman ssize_t ida_export get_dbctx_id()
Get the current database context ID.
qstring inf_get_strlit_pref()
Definition ida.hpp:1049
ushort inf_get_af_high()
Definition ida.hpp:1078
bool inf_is_hard_float(void)
Definition ida.hpp:972
bool inf_set_strlit_break(uchar _v)
Definition ida.hpp:946
bool inf_is_kernel_mode(void)
Definition ida.hpp:651
void inf_set_af_high(ushort saf2)
Definition ida.hpp:1079
bool inf_is_flat_off32(void)
Definition ida.hpp:637
bool inf_set_filetype(filetype_t _v)
Definition ida.hpp:681
bool inf_set_propagate_regargs(bool _v=true)
Definition ida.hpp:720
idaman struct dbctx_t *ida_export switch_dbctx(size_t idx)
Switch to the database with the provided context ID.
bool inf_set_show_xref_seg(bool _v=true)
Definition ida.hpp:830
bool inf_allow_non_matched_ops(void)
Definition ida.hpp:616
uint32 inf_get_short_demnames()
Definition ida.hpp:844
ushort inf_get_af2_low()
Get/set low 16bit half of inf.af2.
Definition ida.hpp:1081
bool inf_set_32bit(bool _v=true)
Definition ida.hpp:629
bool inf_set_asmtype(uchar _v)
Definition ida.hpp:690
bool inf_is_ilp32()
Definition ida.hpp:633
bool inf_set_abibits(uint32 _v)
Definition ida.hpp:961
bool inf_is_limiter_thin(void)
Definition ida.hpp:909
bool inf_set_stack_varargs(bool _v=true)
Definition ida.hpp:971
bool inf_set_prefflag(uchar _v)
Definition ida.hpp:920
filetype_t
Known input file formats (kept in idainfo::filetype):
Definition ida.hpp:35
@ f_SREC
Motorola SREC (S-record)
Definition ida.hpp:49
@ f_LE
Linear Executable (LE)
Definition ida.hpp:44
@ f_LX
Linear Executable (LX)
Definition ida.hpp:43
@ f_ZIP
ZIP file (this file is never loaded to IDA database)
Definition ida.hpp:50
@ f_OMF
Object Module Format.
Definition ida.hpp:48
@ f_ELF
Executable and Linkable Format (ELF)
Definition ida.hpp:54
@ f_OMFLIB
Library of OMF Modules.
Definition ida.hpp:51
@ f_MACHO
Mac OS X Mach-O.
Definition ida.hpp:61
@ f_COFF
Common Object File Format (COFF)
Definition ida.hpp:46
@ f_COM_old
MS DOS COM File.
Definition ida.hpp:37
@ f_COM
MS DOS COM File.
Definition ida.hpp:59
@ f_HEX
Intel Hex Object File.
Definition ida.hpp:41
@ f_MEX
MOS Technology Hex Object File.
Definition ida.hpp:42
@ f_PRC
PalmPilot program file.
Definition ida.hpp:57
@ f_AOUT
Linux a.out (AOUT)
Definition ida.hpp:56
@ f_LOADER
file is loaded using LOADER DLL
Definition ida.hpp:53
@ f_AR
ar library
Definition ida.hpp:52
@ f_AIXAR
AIX ar library.
Definition ida.hpp:60
@ f_PSXOBJ
Sony Playstation PSX object file.
Definition ida.hpp:62
@ f_W32RUN
Watcom DOS32 Extender (W32RUN)
Definition ida.hpp:55
@ f_EXE
MS DOS EXE File.
Definition ida.hpp:58
@ f_NLM
Netware Loadable Module (NLM)
Definition ida.hpp:45
@ f_WIN
New Executable (NE)
Definition ida.hpp:40
@ f_BIN
Binary File.
Definition ida.hpp:38
@ f_EXE_old
MS DOS EXE File.
Definition ida.hpp:36
@ f_MD1IMG
Mediatek Firmware Image.
Definition ida.hpp:63
@ f_PE
Portable Executable (PE)
Definition ida.hpp:47
@ f_DRV
MS DOS Driver.
Definition ida.hpp:39
bool inf_show_line_pref(void)
Definition ida.hpp:876
bool inf_set_allow_non_matched_ops(bool _v=true)
Definition ida.hpp:617
bool inf_set_del_no_xref_insns(bool _v=true)
Definition ida.hpp:708
bool inf_should_trace_sp(void)
Definition ida.hpp:721
bool inf_use_flirt(void)
Definition ida.hpp:743
bool inf_set_show_auto(bool _v=true)
Definition ida.hpp:873
bool inf_set_create_func_tails(bool _v=true)
Definition ida.hpp:714
uchar inf_get_cc_size_ll()
Definition ida.hpp:1019
bool inf_stack_varargs(void)
Definition ida.hpp:970
bool inf_set_specsegs(uchar _v)
Definition ida.hpp:693
bool inf_strlit_autocmt(void)
Definition ida.hpp:940
bool inf_set_decode_fpp(bool _v=true)
Definition ida.hpp:624
bool inf_no_store_user_info(void)
Definition ida.hpp:610
bool inf_set_use_allasm(bool _v=true)
Definition ida.hpp:607
bool inf_set_wide_high_byte_first(bool _v=true)
Definition ida.hpp:642
bool inf_set_dll(bool _v=true)
Definition ida.hpp:636
uchar inf_get_indent()
Definition ida.hpp:856
bool inf_set_start_ea(ea_t _v)
Definition ida.hpp:786
bool inf_set_strlit_name_bit(bool _v=true)
Definition ida.hpp:935
idaman bool ida_export move_privrange(ea_t new_privrange_start)
Move privrange to the specified address.
bool inf_set_procname(const char *_v, size_t len=size_t(-1))
Definition ida.hpp:1036
uchar inf_get_strlit_break()
Definition ida.hpp:945
bool inf_set_strlit_savecase(bool _v=true)
Definition ida.hpp:943
bool inf_set_show_hidden_funcs(bool _v=true)
Definition ida.hpp:903
bool inf_set_cmt_indent(uchar _v)
Definition ida.hpp:860
ea_t inf_get_main()
Definition ida.hpp:791
uchar inf_get_cc_size_i()
Definition ida.hpp:1001
bool inf_set_privrange_end_ea(ea_t _v)
Definition ida.hpp:990
bool inf_is_limiter_empty(void)
Definition ida.hpp:913
uval_t inf_get_strlit_sernum()
Definition ida.hpp:954
bool inf_set_xrefflag(uchar _v)
Definition ida.hpp:828
bool inf_set_appcall_options(uint32 _v)
Definition ida.hpp:984
bool inf_set_line_pref_with_seg(bool _v=true)
Definition ida.hpp:879
uchar inf_get_listnames()
Definition ida.hpp:853
bool inf_use_allasm(void)
Definition ida.hpp:606
uchar inf_get_xrefnum()
Definition ida.hpp:818
uint32 inf_get_long_demnames()
Definition ida.hpp:847
uchar inf_get_xrefflag()
Definition ida.hpp:827
bool inf_gen_lzero(void)
Definition ida.hpp:880
bool inf_set_prefix_show_segaddr(bool _v=true)
Definition ida.hpp:922
bool inf_set_64bit(bool _v=true)
Definition ida.hpp:632
bool inf_set_cc_size_ldbl(uchar _v)
Definition ida.hpp:1023
uchar inf_get_demnames()
Definition ida.hpp:850
bool inf_create_strlit_on_xref(void)
Definition ida.hpp:731
bool inf_is_be(void)
Definition ida.hpp:639
callcnv_t inf_get_callcnv()
Definition ida.hpp:998
uchar inf_get_cc_size_b()
Definition ida.hpp:1004
bool inf_create_func_from_ptr(void)
Definition ida.hpp:709
uint32 inf_get_database_change_count()
Definition ida.hpp:677
bool inf_set_trace_flow(bool _v=true)
Definition ida.hpp:698
bool inf_rename_nullsub(void)
Definition ida.hpp:753
idaman size_t ida_export getinf(inftag_t tag)
Get program specific information (a scalar value)
uchar inf_get_asmtype()
Definition ida.hpp:689
bool inf_set_allow_sigmulti(bool _v=true)
Definition ida.hpp:748
qstring inf_get_procname()
Definition ida.hpp:1029
bool inf_set_handle_rtti(bool _v=true)
Definition ida.hpp:767
bool inf_set_max_ea(ea_t _v)
Definition ida.hpp:798
bool inf_set_prefix_show_funcoff(bool _v=true)
Definition ida.hpp:924
bool inf_set_datatypes(uval_t _v)
Definition ida.hpp:958
uchar inf_get_demname_form(void)
Get DEMNAM_MASK bits of demnames.
Definition ida.hpp:1106
bool inf_set_baseaddr(uval_t _v)
Definition ida.hpp:774
idaman bool ida_export is_database_busy()
Check if the database is busy (e.g.
bool inf_append_sigcmt(void)
Definition ida.hpp:745
bool inf_set_check_unicode_strlits(bool _v=true)
Definition ida.hpp:734
bool inf_prefix_show_funcoff(void)
Definition ida.hpp:923
uint32 callcnv_t
Definition ida.hpp:74
bool inf_set_lenxref(ushort _v)
Definition ida.hpp:866
bool inf_set_rename_nullsub(bool _v=true)
Definition ida.hpp:754
bool inf_prefix_truncate_opcode_bytes(void)
Definition ida.hpp:927
bool inf_strlit_savecase(void)
Definition ida.hpp:942
bool inf_is_32bit_or_higher(void)
Definition ida.hpp:627
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.
bool inf_set_show_repeatables(bool _v=true)
Definition ida.hpp:892
hook_type_t
Types of events that be hooked to with hook_event_listener()
Definition ida.hpp:1284
@ HT_LAST
Definition ida.hpp:1313
@ HT_IDB
Hook to the database events.
Definition ida.hpp:1291
@ HT_IDD
Hook to the debugger plugin.
Definition ida.hpp:1311
@ HT_GRAPH
Handling graph operations (graph_notification_t)
Definition ida.hpp:1309
@ HT_UI
Hook to the user interface.
Definition ida.hpp:1287
@ HT_DBG
Hook to the debugger.
Definition ida.hpp:1289
@ HT_IDP
Hook to the processor module.
Definition ida.hpp:1285
@ HT_DEV
Internal debugger events.
Definition ida.hpp:1301
@ HT_OUTPUT
Output window notifications.
Definition ida.hpp:1306
@ HT_VIEW
Custom/IDA views notifications.
Definition ida.hpp:1303
sel_t inf_get_start_ss()
Definition ida.hpp:776
bool inf_set_netdelta(sval_t _v)
Definition ida.hpp:816
bool inf_set_show_line_pref(bool _v=true)
Definition ida.hpp:877
bool inf_show_hidden_insns(void)
Definition ida.hpp:900
bool inf_set_omin_ea(ea_t _v)
Definition ida.hpp:801
bool inf_set_handle_eh(bool _v=true)
Definition ida.hpp:765
bool inf_set_hard_float(bool _v=true)
Definition ida.hpp:973
bool inf_set_create_func_from_call(bool _v=true)
Definition ida.hpp:712
bool inf_set_show_xref_val(bool _v=true)
Definition ida.hpp:836
bool inf_set_propagate_stkargs(bool _v=true)
Definition ida.hpp:718
bool inf_set_mem_aligned4(bool _v=true)
Definition ida.hpp:963
bool inf_is_64bit(void)
Definition ida.hpp:631
bool inf_macros_enabled(void)
Definition ida.hpp:768
bool inf_set_use_flirt(bool _v=true)
Definition ida.hpp:744
bool inf_show_auto(void)
Definition ida.hpp:872
ea_t inf_get_omin_ea()
Definition ida.hpp:800
bool inf_is_auto_enabled(void)
Definition ida.hpp:604
bool inf_handle_rtti(void)
Definition ida.hpp:766
uint32 inf_get_af()
Definition ida.hpp:695
bool inf_set_auto_enabled(bool _v=true)
Definition ida.hpp:605
bool inf_set_maxref(uval_t _v)
Definition ida.hpp:813
bool inf_check_manual_ops(void)
Definition ida.hpp:614
bool inf_set_op_offset(bool _v=true)
Definition ida.hpp:740
bool inf_set_create_jump_tables(bool _v=true)
Definition ida.hpp:702
int inf_get_pack_mode()
Definition ida.hpp:1084
bool inf_set_cc_size_i(uchar _v)
Definition ida.hpp:1002
bool inf_strlit_names(void)
Definition ida.hpp:932
bool inf_set_main(ea_t _v)
Definition ida.hpp:792
bool inf_set_full_sp_ana(bool _v=true)
Definition ida.hpp:724
bool inf_prefix_show_stack(void)
Definition ida.hpp:925
bool inf_loading_idc(void)
Definition ida.hpp:608
bool inf_set_limiter_empty(bool _v=true)
Definition ida.hpp:914
ea_t inf_get_start_sp()
Definition ida.hpp:788
bool inf_set_pack_idb(bool _v=true)
Definition ida.hpp:648
bool inf_handle_eh(void)
Definition ida.hpp:764
bool inf_set_xrefnum(uchar _v)
Definition ida.hpp:819
uchar inf_get_cc_size_l()
Definition ida.hpp:1016
void inf_set_af_low(ushort saf)
Definition ida.hpp:1077
bool inf_gen_tryblks(void)
Definition ida.hpp:886
bool inf_set_final_pass(bool _v=true)
Definition ida.hpp:760
bool inf_set_outflags(uint32 _v)
Definition ida.hpp:869
bool inf_propagate_stkargs(void)
Definition ida.hpp:717
ea_t inf_get_highoff()
Definition ida.hpp:809
ushort inf_get_af_low()
Get/set low/high 16bit halves of inf.af.
Definition ida.hpp:1076
bool inf_decode_fpp(void)
Definition ida.hpp:623
bool inf_set_refcmtnum(uchar _v)
Definition ida.hpp:825
bool inf_set_use_gcc_layout(bool _v=true)
Definition ida.hpp:977
bool inf_set_bin_prefix_size(short _v)
Definition ida.hpp:917
bool inf_set_privrange(const range_t &_v)
Definition ida.hpp:1069
bool inf_show_xref_tmarks(void)
Definition ida.hpp:831
bool inf_set_show_src_linnum(bool _v=true)
Definition ida.hpp:898
bool inf_set_guess_func_type(bool _v=true)
Definition ida.hpp:728
bool inf_set_no_store_user_info(bool _v=true)
Definition ida.hpp:611
idaman ssize_t ida_export getinf_buf(inftag_t tag, void *buf, size_t bufsize)
Get program specific information (a non-scalar value)
bool inf_set_dbg_no_store_path(bool _v=true)
Definition ida.hpp:644
bool inf_allow_sigmulti(void)
Definition ida.hpp:747
idaman size_t ida_export get_dbctx_qty()
Get number of database contexts.
ea_t inf_get_privrange_start_ea()
Definition ida.hpp:986
bool inf_set_noflow_to_data(bool _v=true)
Definition ida.hpp:704
bool inf_set_truncate_on_del(bool _v=true)
Definition ida.hpp:730
bool inf_merge_strlits(void)
Definition ida.hpp:770
bool inf_set_start_ip(ea_t _v)
Definition ida.hpp:783
bool inf_pack_idb(void)
Definition ida.hpp:647
int inf_set_pack_mode(int pack_mode)
Definition ida.hpp:1092
bool inf_truncate_on_del(void)
Definition ida.hpp:729
ushort inf_get_margin()
Definition ida.hpp:862
bool inf_set_big_arg_align(bool _v=true)
Definition ida.hpp:967
bool inf_check_unicode_strlits(void)
Definition ida.hpp:733
bool inf_set_cc_size_l(uchar _v)
Definition ida.hpp:1017
uchar inf_get_cc_size_ldbl()
Definition ida.hpp:1022
bool inf_set_readonly_idb(bool _v=true)
Definition ida.hpp:613
bool inf_create_func_from_call(void)
Definition ida.hpp:711
uchar inf_get_refcmtnum()
Definition ida.hpp:824
bool inf_set_cc(const compiler_info_t &_v)
Definition ida.hpp:1066
uint32 inf_get_lflags()
Definition ida.hpp:621
bool inf_show_hidden_funcs(void)
Definition ida.hpp:902
uval_t inf_get_maxref()
Definition ida.hpp:812
bool inf_strlit_name_bit(void)
Definition ida.hpp:934
void inf_set_app_bitness(uint bitness)
Definition ida.hpp:664
bool inf_create_func_tails(void)
Definition ida.hpp:713
bool inf_set_be(bool _v=true)
Definition ida.hpp:640
storage_type_t
Storage types for flag bits.
Definition ida.hpp:99
@ STT_CUR
use current storage type (may be used only as a function argument)
Definition ida.hpp:100
@ STT_VA
regular storage: virtual arrays, an explicit flag for each byte
Definition ida.hpp:101
@ STT_MM
memory map: sparse storage. useful for huge objects
Definition ida.hpp:102
@ STT_DBG
memory map: temporary debugger storage. used internally
Definition ida.hpp:103
bool inf_set_strlit_serial_names(bool _v=true)
Definition ida.hpp:937
bool inf_set_min_ea(ea_t _v)
Definition ida.hpp:795
bool inf_set_noret_ana(bool _v=true)
Definition ida.hpp:726
bool inf_set_highoff(ea_t _v)
Definition ida.hpp:810
bool inf_set_kernel_mode(bool _v=true)
Definition ida.hpp:652
bool inf_set_show_hidden_insns(bool _v=true)
Definition ida.hpp:901
bool inf_use_gcc_layout(void)
Definition ida.hpp:976
bool inf_set_limiter_thick(bool _v=true)
Definition ida.hpp:912
void inf_set_af2_low(ushort saf)
Definition ida.hpp:1082
bool inf_set_lflags(uint32 _v)
Definition ida.hpp:622
bool inf_gen_assume(void)
Definition ida.hpp:884
bool inf_prefix_show_segaddr(void)
Definition ida.hpp:921
bool inf_dbg_no_store_path(void)
Definition ida.hpp:643
bool inf_set_show_xref_tmarks(bool _v=true)
Definition ida.hpp:832
ea_t inf_get_min_ea()
Definition ida.hpp:794
bool inf_data_offset(void)
Definition ida.hpp:741
ssize_t idaapi hook_cb_t(void *user_data, int notification_code, va_list va)
Callback provided to hook_to_notification_point().
Definition ida.hpp:1332
idaman bool ida_export delinf(inftag_t tag)
Undefine a program specific information.
bool inf_set_coagulate_code(bool _v=true)
Definition ida.hpp:758
idaman bool ida_export setinf(inftag_t tag, ssize_t value)
Set program specific information.
idaman ssize_t ida_export getinf_str(qstring *buf, inftag_t tag)
Get program specific information (a non-scalar value)
uval_t inf_get_datatypes()
Definition ida.hpp:957
bool inf_set_start_cs(sel_t _v)
Definition ida.hpp:780
bool inf_set_gen_null(bool _v=true)
Definition ida.hpp:875
bool inf_show_hidden_segms(void)
Definition ida.hpp:904
idaman bool ida_export setinf_buf(inftag_t tag, const void *buf, size_t bufsize=0)
Set program specific information.
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()).
bool inf_set_should_create_stkvars(bool _v=true)
Definition ida.hpp:716
bool inf_coagulate_code(void)
Definition ida.hpp:757
bool inf_set_cc_size_ll(uchar _v)
Definition ida.hpp:1020
bool inf_set_strlit_names(bool _v=true)
Definition ida.hpp:933
bool inf_is_wide_high_byte_first(void)
Definition ida.hpp:641
bool inf_set_prefix_show_stack(bool _v=true)
Definition ida.hpp:926
bool inf_hide_libfuncs(void)
Definition ida.hpp:749
bool inf_set_strlit_flags(uchar _v)
Definition ida.hpp:931
bool inf_get_cc(compiler_info_t *out)
Definition ida.hpp:1065
bool inf_set_macros_enabled(bool _v=true)
Definition ida.hpp:769
bool inf_set_privrange_start_ea(ea_t _v)
Definition ida.hpp:987
bool inf_line_pref_with_seg(void)
Definition ida.hpp:878
bool inf_set_af2(uint32 _v)
Definition ida.hpp:763
bool inf_set_cc_size_e(uchar _v)
Definition ida.hpp:1008
ea_t idaapi to_ea(sel_t reg_cs, uval_t reg_ip)
Convert (sel,off) value to a linear address.
Definition ida.hpp:1136
ushort inf_get_ostype()
Definition ida.hpp:683
bool inf_is_limiter_thick(void)
Definition ida.hpp:911
bool inf_set_type_xrefnum(uchar _v)
Definition ida.hpp:822
uchar inf_get_specsegs()
Definition ida.hpp:692
bool inf_set_check_manual_ops(bool _v=true)
Definition ida.hpp:615
bool inf_noflow_to_data(void)
Definition ida.hpp:703
bool inf_guess_func_type(void)
Definition ida.hpp:727
bool inf_set_gen_tryblks(bool _v=true)
Definition ida.hpp:887
uchar comp_t
target compiler id
Definition ida.hpp:72
bool inf_set_stack_ldbl(bool _v=true)
Definition ida.hpp:969
bool inf_abi_set_by_user(void)
Definition ida.hpp:974
bool inf_set_max_autoname_len(ushort _v)
Definition ida.hpp:839
bool inf_set_create_strlit_on_xref(bool _v=true)
Definition ida.hpp:732
uchar inf_get_prefflag()
Definition ida.hpp:919
bool inf_huge_arg_align(void)
Definition ida.hpp:980
bool inf_set_cc_cm(cm_t _v)
Definition ida.hpp:996
uchar inf_get_limiter()
Definition ida.hpp:907
bool inf_set_apptype(ushort _v)
Definition ida.hpp:687
bool inf_readonly_idb(void)
Definition ida.hpp:612
uchar inf_get_type_xrefnum()
Definition ida.hpp:821
bool inf_set_af(uint32 _v)
Definition ida.hpp:696
uint inf_get_app_bitness(void)
Definition ida.hpp:654
bool inf_set_gen_lzero(bool _v=true)
Definition ida.hpp:881
bool inf_create_jump_tables(void)
Definition ida.hpp:701
bool inf_set_hide_libfuncs(bool _v=true)
Definition ida.hpp:750
bool inf_noret_ana(void)
Definition ida.hpp:725
bool inf_set_prefix_truncate_opcode_bytes(bool _v=true)
Definition ida.hpp:928
bool inf_set_callcnv(callcnv_t _v)
Definition ida.hpp:999
DECLARE_TYPE_AS_MOVABLE(idbattr_info_t)
bool inf_set_show_hidden_segms(bool _v=true)
Definition ida.hpp:905
bool inf_set_strlit_pref(const char *_v, size_t len=size_t(-1))
Definition ida.hpp:1056
bool inf_pack_stkargs(void)
Definition ida.hpp:964
sval_t inf_get_netdelta()
Definition ida.hpp:815
uchar inf_get_cmtflg()
Definition ida.hpp:889
bool inf_hide_comments(void)
Definition ida.hpp:895
bool inf_set_genflags(ushort _v)
Definition ida.hpp:603
comp_t inf_get_cc_id()
Definition ida.hpp:992
bool inf_create_all_xrefs(void)
Definition ida.hpp:705
bool inf_set_start_sp(ea_t _v)
Definition ida.hpp:789
bool inf_full_sp_ana(void)
Definition ida.hpp:723
uchar inf_get_strlit_flags()
Definition ida.hpp:930
bool inf_set_data_offset(bool _v=true)
Definition ida.hpp:742
bool inf_map_stkargs(void)
Definition ida.hpp:978
bool inf_set_cc_size_b(uchar _v)
Definition ida.hpp:1005
bool inf_set_gen_assume(bool _v=true)
Definition ida.hpp:885
short inf_get_bin_prefix_size()
Definition ida.hpp:916
bool inf_set_loading_idc(bool _v=true)
Definition ida.hpp:609
sel_t inf_get_start_cs()
Definition ida.hpp:779
bool inf_set_merge_strlits(bool _v=true)
Definition ida.hpp:771
bool inf_mark_code(void)
Definition ida.hpp:699
bool inf_set_start_ss(sel_t _v)
Definition ida.hpp:777
bool inf_set_indent(uchar _v)
Definition ida.hpp:857
bool inf_set_margin(ushort _v)
Definition ida.hpp:863
bool inf_set_omax_ea(ea_t _v)
Definition ida.hpp:804
idaman ssize_t ida_export invoke_callbacks(hook_type_t hook_type, int notification_code, va_list va)
Generate event notification.
ushort inf_get_lenxref()
Definition ida.hpp:865
bool inf_gen_org(void)
Definition ida.hpp:882
uval_t uval_t
Definition kernwin.hpp:1878
idaman size_t len
Definition kernwin.hpp:1356
asize_t size
Definition kernwin.hpp:6339
unsigned __int64 uint64
Definition llong.hpp:13
This is the first header included in the IDA project.
THREAD_SAFE size_t idaapi qstrlen(const char *s)
Definition pro.h:2998
unsigned int uint32
unsigned 32 bit value
Definition pro.h:348
uint64 asize_t
Definition pro.h:423
T align_up(T val, int elsize)
Align element up to nearest boundary.
Definition pro.h:4628
adiff_t sval_t
signed value used by the processor.
Definition pro.h:446
uint64 ea_t
Definition pro.h:421
int int32
signed 32 bit value
Definition pro.h:347
unsigned char uchar
unsigned 8 bit value
Definition pro.h:337
idaman size_t bufsize
Definition pro.h:600
uint64 sel_t
Definition pro.h:422
bool is_add_ok(U x, T y)
Check that unsigned or unsigned+signed addition does not overflow.
Definition pro.h:1545
unsigned int uint
unsigned 32 bit value
Definition pro.h:339
ptrdiff_t ssize_t
Signed size_t - used to check for size overflows when the counter becomes negative.
Definition pro.h:381
unsigned short ushort
unsigned 16 bit value
Definition pro.h:338
void idaapi setflag(T &where, U bit, bool cnd)
Set a 'bit' in 'where' if 'value' if not zero.
Definition pro.h:1527
constexpr bool is_pow2(T val)
is power of 2? (or zero)
Definition pro.h:1432
_qstring< char > qstring
regular string
Definition pro.h:3694
Contains the definition of range_t.
Information about the target compiler.
Definition ida.hpp:79
uchar size_s
short
Definition ida.hpp:87
cm_t cm
memory model and calling convention (see CM) see also get_cc/set_cc
Definition ida.hpp:81
uchar size_b
sizeof(bool)
Definition ida.hpp:84
uchar size_i
sizeof(int)
Definition ida.hpp:83
uchar size_ldbl
longdouble (if different from processor_t::tbyte_size)
Definition ida.hpp:90
uchar defalign
default alignment for structures
Definition ida.hpp:86
callcnv_t _new_callcnv
Definition ida.hpp:91
uchar size_ll
longlong
Definition ida.hpp:89
uchar size_l
long
Definition ida.hpp:88
uchar size_e
sizeof(enum)
Definition ida.hpp:85
helper class to support 32bit addresses in ida64
Definition ida.hpp:1145
ea_t align_ea(ea_t ea, int size) const
Definition ida.hpp:1239
bool fits_ea_space(const range_t &r) const
Definition ida.hpp:1175
sval_t sval_min() const
Definition ida.hpp:1216
bool is_enabled() const
Definition ida.hpp:1170
ea_t fix_ea_tid(ea_t ea) const
Definition ida.hpp:1198
ea_t trunc_ea(ea_t ea) const
Definition ida.hpp:1179
bool fits_ea_space(ea_t ea) const
Definition ida.hpp:1174
bool enabled
Definition ida.hpp:1153
sval_t ea2sval(uval_t v) const
Definition ida.hpp:1171
bool is_ea_add_ok(uval_t x, uval_t y) const
Definition ida.hpp:1204
void disable()
Definition ida.hpp:1163
ea_t uval2ea(uval_t v) const
Definition ida.hpp:1173
ea_t ea_space_end() const
Definition ida.hpp:1186
const uval_t mask64
Definition ida.hpp:1149
bool fits_ea_space(ea_t) const
Definition ida.hpp:1225
bool fits_ea_space(const range_t &) const
Definition ida.hpp:1226
ea_t to_ea(sel_t cs, uval_t ip) const
Definition ida.hpp:1191
const uval_t mask32
Definition ida.hpp:1146
sval_t sval_max() const
Definition ida.hpp:1215
uval_t mask
Definition ida.hpp:1151
void setup(bool)
Definition ida.hpp:1221
bool like_badaddr(ea_t ea) const
Definition ida.hpp:1238
bool advance_ea(ea_t *ea, asize_t n) const
Definition ida.hpp:1240
void setup(bool is_64bit)
Definition ida.hpp:1155
uval_t trunc_uval(uval_t v) const
Definition ida.hpp:1172
int ea_size
Definition ida.hpp:1152
uchar s_xrefflag
Xref options
Definition ida.hpp:278
uint32 outflags
output flags
Definition ida.hpp:337
sval_t netdelta
Delta value to be added to all addresses for mapping to netnodes.
Definition ida.hpp:263
uchar asmtype
target assembler number
Definition ida.hpp:183
ea_t main
address of main()
Definition ida.hpp:248
uchar type_xrefnum
Number of references to generate in the struct & enum windows 0 - xrefs won't be generated at all.
Definition ida.hpp:270
sel_t start_cs
selector of the segment with the main entry point
Definition ida.hpp:242
uchar refcmtnum
Number of comment lines to generate for refs to string literals or demangled names 0 - such comments ...
Definition ida.hpp:273
uint32 af
Analysis flags
Definition ida.hpp:187
uchar strlit_break
string literal line break symbol
Definition ida.hpp:398
range_t privrange
Range of addresses reserved for internal use.
Definition ida.hpp:261
uint32 abibits
ABI features.
Definition ida.hpp:410
ea_t highoff
High limit for offsets (used in calculation of 'void' operands)
Definition ida.hpp:256
uchar listnames
Name list options
Definition ida.hpp:322
ea_t lowoff
Low limit for offsets (used in calculation of 'void' operands)
Definition ida.hpp:254
ushort margin
max length of data lines
Definition ida.hpp:335
ea_t max_ea
maxEA is excluded
Definition ida.hpp:250
ushort apptype
Application type bit definitions in libfuncs.hpp.
Definition ida.hpp:180
uchar indent
DISASSEMBLY LISTING DETAILS.
Definition ida.hpp:333
uchar strlit_flags
STRING LITERALS.
Definition ida.hpp:387
uval_t baseaddr
remaining 28 bits are reserved
Definition ida.hpp:240
char strlit_pref[IDAINFO_STRLIT_PREF_SIZE]
prefix for string literal names
Definition ida.hpp:402
ushort version
Version of database.
Definition ida.hpp:124
uval_t strlit_sernum
serial number
Definition ida.hpp:403
char strlit_zeroes
leading zeroes
Definition ida.hpp:399
char tag[IDAINFO_TAG_SIZE]
'IDA'
Definition ida.hpp:122
ushort lenxref
max length of line with xrefs
Definition ida.hpp:336
ushort s_genflags
General idainfo flags
Definition ida.hpp:127
ea_t omin_ea
original minEA (is set after loading the input file)
Definition ida.hpp:251
ea_t min_ea
current limits of program
Definition ida.hpp:249
ea_t start_ip
IP register value at the start of program execution.
Definition ida.hpp:243
uint32 long_demnames
long form of demangled names see demangle.h for definitions
Definition ida.hpp:308
ushort filetype
The input file type.
Definition ida.hpp:175
char nametype
Dummy names representation types
Definition ida.hpp:290
uint32 af2
Analysis flags 2
Definition ida.hpp:229
short bin_prefix_size
Number of instruction bytes (opcodes) to show in line prefix.
Definition ida.hpp:375
uchar xrefnum
CROSS REFERENCES.
Definition ida.hpp:267
sel_t start_ss
selector of the initial stack segment
Definition ida.hpp:241
uchar s_prefflag
Line prefix options
Definition ida.hpp:376
uchar specsegs
What format do special segments use? 0-unspecified, 4-entries are 4 bytes, 8- entries are 8 bytes.
Definition ida.hpp:185
int32 strtype
current ascii string type see nalt.hpp for string types
Definition ida.hpp:400
ushort ostype
OS type the program is for bit definitions in libfuncs.hpp.
Definition ida.hpp:177
char zero
this field is not present in the database
Definition ida.hpp:123
ea_t start_ea
Linear address of program entry point.
Definition ida.hpp:245
ea_t start_sp
SP register value at the start of program execution.
Definition ida.hpp:246
ea_t omax_ea
original maxEA (is set after loading the input file)
Definition ida.hpp:252
uchar cmt_indent
Indentation for comments.
Definition ida.hpp:334
uchar demnames
Demangled name flags
Definition ida.hpp:310
uchar s_limiter
Delimiter options
Definition ida.hpp:366
ushort max_autoname_len
NAMES.
Definition ida.hpp:289
uint32 lflags
Misc. database flags
Definition ida.hpp:142
uval_t maxref
Max tail for references.
Definition ida.hpp:259
uval_t datatypes
data types allowed in data carousel
Definition ida.hpp:406
uint32 database_change_count
incremented after each byte and regular segment modifications
Definition ida.hpp:172
uint32 appcall_options
appcall options, see idd.hpp
Definition ida.hpp:433
compiler_info_t cc
COMPILER.
Definition ida.hpp:409
uchar s_cmtflg
Comment options
Definition ida.hpp:352
char procname[IDAINFO_PROCNAME_SIZE]
Name of the current processor (with \0)
Definition ida.hpp:125
uint32 short_demnames
short form of demangled names
Definition ida.hpp:307
access to attribute by structure/offset/width or netnode/index/width
Definition ida.hpp:1461
bool is_onoff() const
Definition ida.hpp:1518
const char * str_false() const
Definition ida.hpp:1528
const char * hashname() const
Definition ida.hpp:1531
bool is_node_supval() const
Definition ida.hpp:1501
bool is_buf_var() const
Definition ida.hpp:1509
size_t ridx() const
Definition ida.hpp:1530
uint idi_flags
Definition ida.hpp:1473
bool is_node_valobj() const
Definition ida.hpp:1502
uchar tag
tag of node value (if IDI_NODEVAL is set)
Definition ida.hpp:1470
uint32 maxsize
max bytes reserved for storage in netnode
Definition ida.hpp:1498
bool is_hexadecimal() const
Definition ida.hpp:1511
bool is_cstr() const
Definition ida.hpp:1506
bool is_val_mapped() const
Definition ida.hpp:1514
bool is_scalar_var() const
Definition ida.hpp:1519
const idbattr_valmap_t * vmap
array value=>name (terminated by empty element)
Definition ida.hpp:1471
uint64 bitmask
mask for bitfields (0-not bitfield)
Definition ida.hpp:1469
size_t width
field width in bytes
Definition ida.hpp:1468
const char * str_true() const
Definition ida.hpp:1527
bool is_hash() const
Definition ida.hpp:1515
bool is_node_altval() const
Definition ida.hpp:1500
bool is_bitmap() const
Definition ida.hpp:1517
bool is_readonly_var() const
Definition ida.hpp:1512
bool is_boolean() const
Definition ida.hpp:1521
bool is_struc_field() const
Definition ida.hpp:1505
bool is_qstring() const
Definition ida.hpp:1507
bool is_decimal() const
Definition ida.hpp:1510
bool operator<(const idbattr_info_t &r) const
Definition ida.hpp:1532
const char * individual_node
individual node name (nullptr - use default)
Definition ida.hpp:1472
bool is_bytearray() const
Definition ida.hpp:1508
bool is_incremented() const
Definition ida.hpp:1513
const char * name
human-readable name.
Definition ida.hpp:1462
bool is_node_var() const
Definition ida.hpp:1504
bool has_individual_node() const
Definition ida.hpp:1525
bool is_bitfield() const
Definition ida.hpp:1520
bool use_hlpstruc() const
Definition ida.hpp:1516
bool is_node_blob() const
Definition ida.hpp:1503
uintptr_t offset
field position: offset within a structure (IDI_STRUCFLD) altval or supval index (IDI_NODEVAL) hashval...
Definition ida.hpp:1464
idbattr mapping value=>string for human-readable representation of IDB attrs
Definition ida.hpp:1453
const char * valname
Definition ida.hpp:1455
uint64 value
Definition ida.hpp:1454
Implements action to take when the event was processed by the notification callback (i....
Definition ida.hpp:1372
virtual ~post_event_visitor_t()
Definition ida.hpp:1386
virtual ssize_t idaapi handle_post_event(ssize_t code, int notification_code, va_list va)=0
Action for post-event management.
Base class for an range.
Definition range.hpp:35
ea_t end_ea
end_ea excluded
Definition range.hpp:38
bool contains(ea_t ea) const
Is 'ea' in the address range?
Definition range.hpp:48
ea_t start_ea
start_ea included
Definition range.hpp:37