IDA SDK
|
The database parameters.
This structure is kept in the ida database. It contains the essential parameters for the current program
Public Attributes | |
char | tag [3] |
'IDA' | |
char | zero |
this field is not present in the database | |
ushort | version |
Version of database. | |
char | procname [16] |
Name of the current processor (with \0) | |
ushort | s_genflags |
General idainfo flags | |
uint32 | lflags |
Misc. database flags | |
uint32 | database_change_count |
incremented after each byte and regular segment modifications | |
ushort | filetype |
The input file type. | |
ushort | ostype |
OS type the program is for bit definitions in libfuncs.hpp. | |
ushort | apptype |
Application type bit definitions in libfuncs.hpp. | |
uchar | asmtype |
target assembler number | |
uchar | specsegs |
What format do special segments use? 0-unspecified, 4-entries are 4 bytes, 8- entries are 8 bytes. | |
uint32 | af |
Analysis flags | |
uint32 | af2 |
Analysis flags 2 | |
uval_t | baseaddr |
remaining 30 bits are reserved More... | |
sel_t | start_ss |
selector of the initial stack segment | |
sel_t | start_cs |
selector of the segment with the main entry point | |
ea_t | start_ip |
IP register value at the start of program execution. | |
ea_t | start_ea |
Linear address of program entry point. | |
ea_t | start_sp |
SP register value at the start of program execution. | |
ea_t | main |
address of main() | |
ea_t | min_ea |
current limits of program | |
ea_t | max_ea |
maxEA is excluded | |
ea_t | omin_ea |
original minEA (is set after loading the input file) | |
ea_t | omax_ea |
original maxEA (is set after loading the input file) | |
ea_t | lowoff |
Low limit for offsets (used in calculation of 'void' operands) | |
ea_t | highoff |
High limit for offsets (used in calculation of 'void' operands) | |
uval_t | maxref |
Max tail for references. | |
range_t | privrange |
Range of addresses reserved for internal use. More... | |
sval_t | netdelta |
Delta value to be added to all adresses for mapping to netnodes. More... | |
uchar | xrefnum |
CROSS REFERENCES. More... | |
uchar | type_xrefnum |
Number of references to generate in the struct & enum windows 0 - xrefs won't be generated at all. | |
uchar | refcmtnum |
Number of comment lines to generate for refs to string literals or demangled names 0 - such comments won't be generated at all. | |
uchar | s_xrefflag |
Xref options | |
ushort | max_autoname_len |
NAMES. More... | |
char | nametype |
Dummy names representation types | |
uint32 | short_demnames |
short form of demangled names | |
uint32 | long_demnames |
long form of demangled names see demangle.h for definitions | |
uchar | demnames |
Demangled name flags | |
uchar | listnames |
Name list options | |
uchar | indent |
DISASSEMBLY LISTING DETAILS. More... | |
uchar | comment |
Indentation for comments. | |
ushort | margin |
max length of data lines | |
ushort | lenxref |
max length of line with xrefs | |
uint32 | outflags |
output flags | |
uchar | s_cmtflg |
Comment options | |
uchar | s_limiter |
Delimiter options | |
short | bin_prefix_size |
# of instruction bytes (opcodes) to show in line prefix | |
uchar | s_prefflag |
Line prefix options | |
uchar | strlit_flags |
STRING LITERALS. More... | |
uchar | strlit_break |
string literal line break symbol | |
char | strlit_zeroes |
leading zeroes | |
int32 | strtype |
current ascii string type see nalt.hpp for string types | |
char | strlit_pref [16] |
prefix for string literal names | |
uval_t | strlit_sernum |
serial number | |
uval_t | datatypes |
data types allowed in data carousel | |
compiler_info_t | cc |
COMPILER. More... | |
uint32 | abibits |
ABI features. More... | |
uint32 | appcall_options |
appcall options, see idd.hpp | |
Public Member Functions | |
bool | use_allasm (void) const |
INFFL_ALLASM | |
bool | loading_idc (void) const |
INFFL_LOADIDC | |
bool | store_user_info (void) const |
INFFL_NOUSER | |
bool | readonly_idb (void) const |
INFFL_READONLY | |
bool | is_graph_view (void) const |
INFFL_GRAPH_VIEW | |
void | set_graph_view (bool value) |
bool | is_32bit (void) const |
LFLG_PC_FLAT | |
bool | is_64bit (void) const |
LFLG_64BIT | |
bool | is_snapshot (void) const |
LFLG_SNAPSHOT | |
bool | is_dll (void) const |
LFLG_IS_DLL | |
bool | is_flat_off32 (void) const |
LFLG_FLAT_OFF32 | |
bool | is_be (void) const |
LFLG_MSF | |
bool | set_be (bool value) |
bool | is_wide_high_byte_first (void) const |
LFLG_WIDE_HBF | |
void | set_wide_high_byte_first (bool value) |
void | set_64bit (void) |
bool | is_kernel_mode (void) const |
LFLG_KERNMODE | |
int | get_pack_mode () const |
int | set_pack_mode (int pack_mode) |
bool | like_binary (void) const |
Is unstructured input file? | |
uchar | get_demname_form (void) const |
Get DEMNAM_MASK bits of demnames. | |
bool | is_mem_aligned4 (void) const |
bool | pack_stkargs (void) const |
bool | big_arg_align (void) const |
bool | stack_ldbl () const |
bool | stack_varargs () const |
bool | is_hard_float (void) const |
bool | use_gcc_layout (void) const |
EA64_ALIGN (padding) | |
total size for 32bit: 216 bytes for 64bit: 296 bytes | |
bool | is_auto_enabled (void) const |
INFFL_AUTO | |
void | set_auto_enabled (bool value) |
bool | show_void (void) const |
OFLG_SHOW_VOID | |
void | set_show_void (bool value) |
bool | show_auto (void) const |
OFLG_SHOW_AUTO | |
void | set_show_auto (bool value) |
bool | gen_null (void) const |
OFLG_GEN_NULL | |
void | set_gen_null (bool value) |
bool | show_line_pref (void) const |
OFLG_SHOW_PREF | |
void | set_show_line_pref (bool value) |
bool | line_pref_with_seg (void) const |
OFLG_PREF_SEG | |
void | set_line_pref_with_seg (bool value) |
bool | gen_lzero (void) const |
OFLG_LZERO | |
void | set_gen_lzero (bool value) |
bool | gen_tryblks (void) const |
void | set_gen_tryblks (bool value) |
< OFLG_GEN_TRYBLKS | |
uval_t idainfo::baseaddr |
remaining 30 bits are reserved
base address of the program (paragraphs)
range_t idainfo::privrange |
Range of addresses reserved for internal use.
Initially (MAXADDR, MAXADDR+0x800000)
sval_t idainfo::netdelta |
Delta value to be added to all adresses for mapping to netnodes.
Initially 0
uchar idainfo::xrefnum |
CROSS REFERENCES.
Number of references to generate in the disassembly listing 0 - xrefs won't be generated at all
ushort idainfo::max_autoname_len |
NAMES.
max autogenerated name length (without zero byte)
uchar idainfo::indent |
DISASSEMBLY LISTING DETAILS.
Indentation for instructions
uchar idainfo::strlit_flags |
STRING LITERALS.
compiler_info_t idainfo::cc |
COMPILER.
Target compiler
uint32 idainfo::abibits |
ABI features.
Depends on info returned by get_abi_name() Processor modules may modify them in set_compiler