IDA SDK
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]
 '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
 
bool check_manual_ops (void) const
 INFFL_CHKOPS
 
void set_check_manual_ops (bool value)
 
bool allow_nonmatched_ops (void) const
 INFFL_NMOPS
 
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

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.

string literal flags

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


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