Latest available version: IDA and decompilers v8.4.240320sp1 see all releases
Hex-Rays logo State-of-the-art binary code analysis tools
email icon
Derived type: complex


const type_t BT_COMPLEX = 0x0D
 struct/union/enum/typedef. More...
const type_t BTMT_STRUCT = 0x00
 struct: MCNT records: type_t; [sdacl-typeattrs];
const type_t BTMT_UNION = 0x10
 union: MCNT records: type_t...
const type_t BTMT_ENUM = 0x20
 enum: next byte bte_t (see below) N records: de delta(s) OR blocks (see below)
const type_t BTMT_TYPEDEF = 0x30
 named reference always p_string name
const type_t BT_BITFIELD = 0x0E
 bitfield (only in struct) ['bitmasked' enum see below] next byte is dt ((size in bits << 1) | (unsigned ? 1 : 0))
const type_t BTMT_BFLDI8 = 0x00
const type_t BTMT_BFLDI16 = 0x10
const type_t BTMT_BFLDI32 = 0x20
const type_t BTMT_BFLDI64 = 0x30

Detailed Description

Variable Documentation


const type_t BT_COMPLEX = 0x0D



       [dt N (N=field count) if !BTMT_TYPEDEF]
       if N == 0:
         p_string name (unnamed types have names "anon_...")
       else, for struct & union:
         if N == 0x7FFE   // Support for high (i.e., > 4095) members count
           N = deserialize_de()
         ALPOW = N & 0x7
         MCNT = N >> 3
         if MCNT == 0
           empty struct
         if ALPOW == 0
           ALIGN = get_default_align()
           ALIGN = (1 << (ALPOW - 1))
       else, for enums:
         if N == 0x7FFE   // Support for high enum entries count.
           N = deserialize_de()