Public Attributes | Public Member Functions | List of all members
idainfo Struct Reference

Detailed Description

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]
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
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
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
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
bool loading_idc (void) const
bool store_user_info (void) const
bool readonly_idb (void) const
bool is_graph_view (void) const
void set_graph_view (bool value)
bool is_32bit (void) const
bool is_64bit (void) const
bool is_snapshot (void) const
bool is_dll (void) const
bool is_flat_off32 (void) const
bool is_be (void) const
bool set_be (bool value)
bool is_wide_high_byte_first (void) const
void set_wide_high_byte_first (bool value)
void set_64bit (void)
bool is_kernel_mode (void) const
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
void set_auto_enabled (bool value)
bool show_void (void) const
void set_show_void (bool value)
bool show_auto (void) const
void set_show_auto (bool value)
bool gen_null (void) const
void set_gen_null (bool value)
bool show_line_pref (void) const
void set_show_line_pref (bool value)
bool line_pref_with_seg (void) const
void set_line_pref_with_seg (bool value)
bool gen_lzero (void) const
void set_gen_lzero (bool value)
bool gen_tryblks (void) const
void set_gen_tryblks (bool value)
bool check_manual_ops (void) const
void set_check_manual_ops (bool value)
bool allow_nonmatched_ops (void) const
void set_allow_nonmatched_ops (bool value)

Member Data Documentation

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


Number of references to generate in the disassembly listing 0 - xrefs won't be generated at all

ushort idainfo::max_autoname_len


max autogenerated name length (without zero byte)

uchar idainfo::indent


Indentation for instructions

uchar idainfo::strlit_flags


string literal flags

compiler_info_t idainfo::cc


Target compiler

uint32 idainfo::abibits

ABI features.

Depends on info returned by get_abi_name() Processor modules may modify them in set_compiler

The documentation for this struct was generated from the following file: