Rizin
unix-like reverse engineering framework and cli tools
tpi.h File Reference
#include <rz_util.h>

Go to the source code of this file.

Classes

union  TpiCVProperty
 
union  TpiCVFldattr
 
union  TpiCVFuncattr
 
struct  TpiCVFuncattr::cv_funcattr
 
struct  Tpi_LF_Procedure
 
struct  Tpi_LF_MFcuntion
 
struct  Tpi_LF_Arglist
 
union  TpiCVModifier
 
struct  Tpi_LF_Modifier
 
union  TpiCVPointerAttr
 
struct  Tpi_LF_Pointer
 
struct  Tpi_Type_String
 
struct  Tpi_Type_Numeric
 
struct  Tpi_LF_Array
 
struct  Tpi_LF_Structure
 
struct  Tpi_LF_Structure_19
 
struct  Tpi_LF_Union
 
struct  Tpi_LF_Bitfield
 
struct  Tpi_LF_Vtshape
 
struct  Tpi_LF_Enum
 
struct  Tpi_LF_Enumerate
 
struct  Tpi_LF_NestType
 
struct  Tpi_LF_VFuncTab
 
struct  Tpi_LF_Method
 
struct  Tpi_Type_MethodListMember
 
struct  Tpi_LF_MethodList
 
struct  Tpi_LF_Member
 
struct  Tpi_LF_StaticMember
 
struct  Tpi_LF_Index
 
struct  Tpi_LF_OneMethod
 
struct  Tpi_LF_BClass
 
struct  Tpi_LF_VBClass
 
struct  Tpi_LF_FieldList
 
struct  Tpi_LF_SimpleType
 

Typedefs

typedef struct Tpi_LF_Structure Tpi_LF_Class
 
typedef struct Tpi_LF_Structure_19 Tpi_LF_Class_19
 
typedef struct Tpi_LF_VBClass Tpi_LF_IVBClass
 

Enumerations

enum  TpiSimpleTypeMode {
  DIRECT = 0 , NEAR_POINTER = 1 , FAR_POINTER = 2 , HUGE_POINTER = 3 ,
  NEAR_POINTER32 = 4 , FAR_POINTER32 = 5 , NEAR_POINTER64 = 6 , NEAR_POINTER128 = 7
}
 
enum  TpiSimpleTypeKind {
  PDB_NONE = 0x0000 , PDB_VOID = 0x0003 , PDB_NOT_TRANSLATED = 0x0007 , PDB_HRESULT = 0x0008 ,
  PDB_SIGNED_CHAR = 0x0010 , PDB_UNSIGNED_CHAR = 0x0020 , PDB_NARROW_CHAR = 0x0070 , PDB_WIDE_CHAR = 0x0071 ,
  PDB_CHAR16 = 0x007a , PDB_CHAR32 = 0x007b , PDB_SBYTE = 0x0068 , PDB_BYTE = 0x0069 ,
  PDB_INT16_SHORT = 0x0011 , PDB_UINT16_SHORT = 0x0021 , PDB_INT16 = 0x0072 , PDB_UINT16 = 0x0073 ,
  PDB_INT32_LONG = 0x0012 , PDB_UINT32_LONG = 0x0022 , PDB_INT32 = 0x0074 , PDB_UINT32 = 0x0075 ,
  PDB_INT64_QUAD = 0x0013 , PDB_UINT64_QUAD = 0x0023 , PDB_INT64 = 0x0076 , PDB_UINT64 = 0x0077 ,
  PDB_INT128_OCT = 0x0014 , PDB_UINT128_OCT = 0x0024 , PDB_INT128 = 0x0078 , PDB_UINT128 = 0x0079 ,
  PDB_FLOAT16 = 0x0046 , PDB_FLOAT32 = 0x0040 , PDB_FLOAT32_PP = 0x0045 , PDB_FLOAT48 = 0x0044 ,
  PDB_FLOAT64 = 0x0041 , PDB_FLOAT80 = 0x0042 , PDB_FLOAT128 = 0x0043 , PDB_COMPLEX16 = 0x0056 ,
  PDB_COMPLEX32 = 0x0050 , PDB_COMPLEX32_PP = 0x0055 , PDB_COMPLEX48 = 0x0054 , PDB_COMPLEX64 = 0x0051 ,
  PDB_COMPLEX80 = 0x0052 , PDB_COMPLEX128 = 0x0053 , PDB_BOOL8 = 0x0030 , PDB_BOOL16 = 0x0031 ,
  PDB_BOOL32 = 0x0032 , PDB_BOOL64 = 0x0033 , PDB_BOOL128 = 0x0034
}
 
enum  TpiLeafType {
  LF_MODIFIER_16t = 0x0001 , LF_POINTER_16t = 0x0002 , LF_ARRAY_16t = 0x0003 , LF_CLASS_16t = 0x0004 ,
  LF_STRUCTURE_16t = 0x0005 , LF_UNION_16t = 0x0006 , LF_ENUM_16t = 0x0007 , LF_PROCEDURE_16t = 0x0008 ,
  LF_MFUNCTION_16t = 0x0009 , LF_VTSHAPE = 0x000A , LF_COBOL0_16t = 0x000B , LF_COBOL1 = 0x000C ,
  LF_BARRAY_16t = 0x000D , LF_LABEL = 0x000E , LF_NULL = 0x000F , LF_NOTTRAN = 0x0010 ,
  LF_DIMARRAY_16t = 0x0011 , LF_VFTPATH_16t = 0x0012 , LF_PRECOMP_16t = 0x0013 , LF_ENDPRECOMP = 0x0014 ,
  LF_OEM_16t = 0x0015 , LF_TYPESERVER_ST = 0x0016 , LF_SKIP_16t = 0x0200 , LF_ARGLIST_16t = 0x0201 ,
  LF_DEFARG_16t = 0x0202 , LF_LIST = 0x0203 , LF_FIELDLIST_16t = 0x0204 , LF_DERIVED_16t = 0x0205 ,
  LF_BITFIELD_16t = 0x0206 , LF_METHODLIST_16t = 0x0207 , LF_DIMCONU_16t = 0x0208 , LF_DIMCONLU_16t = 0x0209 ,
  LF_DIMVARU_16t = 0x020A , LF_DIMVARLU_16t = 0x020B , LF_REFSYM = 0x020C , LF_BCLASS_16t = 0x0400 ,
  LF_VBCLASS_16t = 0x0401 , LF_IVBCLASS_16t = 0x0402 , LF_ENUMERATE_ST = 0x0403 , LF_FRIENDFCN_16t = 0x0404 ,
  LF_INDEX_16t = 0x0405 , LF_MEMBER_16t = 0x0406 , LF_STMEMBER_16t = 0x0407 , LF_METHOD_16t = 0x0408 ,
  LF_NESTTYPE_16t = 0x0409 , LF_VFUNCTAB_16t = 0x040A , LF_FRIENDCLS_16t = 0x040B , LF_ONEMETHOD_16t = 0x040C ,
  LF_VFUNCOFF_16t = 0x040D , LF_TI16_MAX = 0x1000 , LF_MODIFIER = 0x1001 , LF_POINTER = 0x1002 ,
  LF_ARRAY_ST = 0x1003 , LF_CLASS_ST = 0x1004 , LF_STRUCTURE_ST = 0x1005 , LF_UNION_ST = 0x1006 ,
  LF_ENUM_ST = 0x1007 , LF_PROCEDURE = 0x1008 , LF_MFUNCTION = 0x1009 , LF_COBOL0 = 0x100A ,
  LF_BARRAY = 0x100B , LF_DIMARRAY_ST = 0x100C , LF_VFTPATH = 0x100D , LF_PRECOMP_ST = 0x100E ,
  LF_OEM = 0x100F , LF_ALIAS_ST = 0x1010 , LF_OEM2 = 0x1011 , LF_SKIP = 0x1200 ,
  LF_ARGLIST = 0x1201 , LF_DEFARG_ST = 0x1202 , LF_FIELDLIST = 0x1203 , LF_DERIVED = 0x1204 ,
  LF_BITFIELD = 0x1205 , LF_METHODLIST = 0x1206 , LF_DIMCONU = 0x1207 , LF_DIMCONLU = 0x1208 ,
  LF_DIMVARU = 0x1209 , LF_DIMVARLU = 0x120A , LF_BCLASS = 0x1400 , LF_VBCLASS = 0x1401 ,
  LF_IVBCLASS = 0x1402 , LF_FRIENDFCN_ST = 0x1403 , LF_INDEX = 0x1404 , LF_MEMBER_ST = 0x1405 ,
  LF_STMEMBER_ST = 0x1406 , LF_METHOD_ST = 0x1407 , LF_NESTTYPE_ST = 0x1408 , LF_VFUNCTAB = 0x1409 ,
  LF_FRIENDCLS = 0x140A , LF_ONEMETHOD_ST = 0x140B , LF_VFUNCOFF = 0x140C , LF_NESTTYPEEX_ST = 0x140D ,
  LF_MEMBERMODIFY_ST = 0x140E , LF_MANAGED_ST = 0x140F , LF_ST_MAX = 0x1500 , LF_TYPESERVER = 0x1501 ,
  LF_ENUMERATE = 0x1502 , LF_ARRAY = 0x1503 , LF_CLASS = 0x1504 , LF_STRUCTURE = 0x1505 ,
  LF_UNION = 0x1506 , LF_ENUM = 0x1507 , LF_DIMARRAY = 0x1508 , LF_PRECOMP = 0x1509 ,
  LF_ALIAS = 0x150A , LF_DEFARG = 0x150B , LF_FRIENDFCN = 0x150C , LF_MEMBER = 0x150D ,
  LF_STMEMBER = 0x150E , LF_METHOD = 0x150F , LF_NESTTYPE = 0x1510 , LF_ONEMETHOD = 0x1511 ,
  LF_NESTTYPEEX = 0x1512 , LF_MEMBERMODIFY = 0x1513 , LF_MANAGED = 0x1514 , LF_TYPESERVER2 = 0x1515 ,
  LF_FUNCTION_ID = 0x1601 , LF_MEMBER_FUNCTION_ID = 0x1602 , LF_BUILD_INFO = 0x1603 , LF_SUBSTRING_LIST = 0x1604 ,
  LF_STRING_ID = 0x1605 , LF_USER_DEFINED_TYPE_SOURCE_AND_LINE = 0x1606 , LF_USER_DEFINED_TYPE_MODULE_SOURCE_AND_LINE = 0x1607 , LF_CLASS_19 = 0x1608 ,
  LF_STRUCTURE_19 = 0x1609 , LF_CHAR = 0x8000 , LF_SHORT = 0x8001 , LF_USHORT = 0x8002 ,
  LF_LONG = 0x8003 , LF_ULONG = 0x8004 , LF_REAL32 = 0x8005 , LF_REAL64 = 0x8006 ,
  LF_REAL80 = 0x8007 , LF_REAL128 = 0x8008 , LF_QUADWORD = 0x8009 , LF_UQUADWORD = 0x800A ,
  LF_REAL48 = 0x800B , LF_COMPLEX32 = 0x800C , LF_COMPLEX64 = 0x800D , LF_COMPLEX80 = 0x800E ,
  LF_COMPLEX128 = 0x800F , LF_VARSTRING = 0x8010 , LF_OCTWORD = 0x8017 , LF_UOCTWORD = 0x8018 ,
  LF_DECIMAL = 0x8019 , LF_DATE = 0x801A , LF_UTF8STRING = 0x801B , LF_PAD0 = 0x00F0 ,
  LF_PAD1 = 0x00F1 , LF_PAD2 = 0x00F2 , LF_PAD3 = 0x00F3 , LF_PAD4 = 0x00F4 ,
  LF_PAD5 = 0x00F5 , LF_PAD6 = 0x00F6 , LF_PAD7 = 0x00F7 , LF_PAD8 = 0x00F8 ,
  LF_PAD9 = 0x00F9 , LF_PAD10 = 0x00FA , LF_PAD11 = 0x00FB , LF_PAD12 = 0x00FC ,
  LF_PAD13 = 0x00FD , LF_PAD14 = 0x00FE , LF_PAD15 = 0x00FF , LF_SIMPLE_TYPE = 0xEFFF ,
  LF_MAX = 0xFFFF
}
 
enum  TpiCVMProp {
  MTvanilla = 0x00 , MTvirtual = 0x01 , MTstatic = 0x02 , MTfriend = 0x03 ,
  MTintro = 0x04 , MTpurevirt = 0x05 , MTpureintro = 0x06 , MT_MAX
}
 
enum  TpiCVAccess { Private = 1 , Protected = 2 , Public = 3 , AccessMax }
 
enum  TpiCVPtrMode {
  PTR_MODE_PTR = 0x00000000 , PTR_MODE_LVREF = 0x00000001 , PTR_MODE_PMEM = 0x00000002 , PTR_MODE_PMFUNC = 0x00000003 ,
  PTR_MODE_RVREF = 0x00000004 , PTR_MODE_RESERVED = 0x00000005 , ModeMax
}
 
enum  TpiCVPmType {
  PMTYPE_UNDEFINED = 0x00 , PMTYPE_DATA_SINGLE = 0x01 , PMTYPE_DATA_MULTIPLE = 0x02 , PMTYPE_DATA_VIRTUAL = 0x03 ,
  PMTYPE_DATA_GENERAL = 0x04 , PMTYPE_FCN_SINGLE = 0x05 , PMTYPE_FCN_MULTIPLE = 0x06 , PMTYPE_FCN_VIRTUAL = 0x07 ,
  PMTYPE_FCN_GENERAL = 0x08
}
 
enum  TpiCVType {
  PTR_NEAR = 0x00000000 , PTR_FAR = 0x00000001 , PTR_HUGE = 0x00000002 , PTR_BASE_SEG = 0x00000003 ,
  PTR_BASE_VAL = 0x00000004 , PTR_BASE_SEGVAL = 0x00000005 , PTR_BASE_ADDR = 0x00000006 , PTR_BASE_SEGADDR = 0x00000007 ,
  PTR_BASE_TYPE = 0x00000008 , PTR_BASE_SELF = 0x00000009 , PTR_NEAR32 = 0x0000000A , PTR_FAR32 = 0x0000000B ,
  PTR_64 = 0x0000000C , PTR_UNUSEDPTR = 0x0000000D , TypeMax
}
 

Typedef Documentation

◆ Tpi_LF_Class

◆ Tpi_LF_Class_19

◆ Tpi_LF_IVBClass

Enumeration Type Documentation

◆ TpiCVAccess

Enumerator
Private 
Protected 
Public 
AccessMax 

Definition at line 280 of file tpi.h.

280  {
281  Private = 1,
282  Protected = 2,
283  Public = 3,
284  AccessMax
285 } TpiCVAccess;
TpiCVAccess
Definition: tpi.h:280
@ Public
Definition: tpi.h:283
@ Protected
Definition: tpi.h:282
@ AccessMax
Definition: tpi.h:284
@ Private
Definition: tpi.h:281

◆ TpiCVMProp

enum TpiCVMProp
Enumerator
MTvanilla 
MTvirtual 
MTstatic 
MTfriend 
MTintro 
MTpurevirt 
MTpureintro 
MT_MAX 

Definition at line 269 of file tpi.h.

269  {
270  MTvanilla = 0x00,
271  MTvirtual = 0x01,
272  MTstatic = 0x02,
273  MTfriend = 0x03,
274  MTintro = 0x04,
275  MTpurevirt = 0x05,
276  MTpureintro = 0x06,
277  MT_MAX
278 } TpiCVMProp;
TpiCVMProp
Definition: tpi.h:269
@ MTfriend
Definition: tpi.h:273
@ MTstatic
Definition: tpi.h:272
@ MTvanilla
Definition: tpi.h:270
@ MTvirtual
Definition: tpi.h:271
@ MTpurevirt
Definition: tpi.h:275
@ MTpureintro
Definition: tpi.h:276
@ MTintro
Definition: tpi.h:274
@ MT_MAX
Definition: tpi.h:277

◆ TpiCVPmType

Enumerator
PMTYPE_UNDEFINED 
PMTYPE_DATA_SINGLE 
PMTYPE_DATA_MULTIPLE 
PMTYPE_DATA_VIRTUAL 
PMTYPE_DATA_GENERAL 
PMTYPE_FCN_SINGLE 
PMTYPE_FCN_MULTIPLE 
PMTYPE_FCN_VIRTUAL 
PMTYPE_FCN_GENERAL 

Definition at line 361 of file tpi.h.

361  {
362  PMTYPE_UNDEFINED = 0x00, // not specified (pre VC8)
363  PMTYPE_DATA_SINGLE = 0x01, // member data, single inheritance
364  PMTYPE_DATA_MULTIPLE = 0x02, // member data, multiple inheritance
365  PMTYPE_DATA_VIRTUAL = 0x03, // member data, virtual inheritance
366  PMTYPE_DATA_GENERAL = 0x04, // member data, most general
367  PMTYPE_FCN_SINGLE = 0x05, // member function, single inheritance
368  PMTYPE_FCN_MULTIPLE = 0x06, // member function, multiple inheritance
369  PMTYPE_FCN_VIRTUAL = 0x07, // member function, virtual inheritance
370  PMTYPE_FCN_GENERAL = 0x08, // member function, most general
371 } TpiCVPmType;
TpiCVPmType
Definition: tpi.h:361
@ PMTYPE_DATA_GENERAL
Definition: tpi.h:366
@ PMTYPE_FCN_VIRTUAL
Definition: tpi.h:369
@ PMTYPE_DATA_VIRTUAL
Definition: tpi.h:365
@ PMTYPE_FCN_SINGLE
Definition: tpi.h:367
@ PMTYPE_DATA_MULTIPLE
Definition: tpi.h:364
@ PMTYPE_FCN_GENERAL
Definition: tpi.h:370
@ PMTYPE_UNDEFINED
Definition: tpi.h:362
@ PMTYPE_DATA_SINGLE
Definition: tpi.h:363
@ PMTYPE_FCN_MULTIPLE
Definition: tpi.h:368

◆ TpiCVPtrMode

Enumerator
PTR_MODE_PTR 
PTR_MODE_LVREF 
PTR_MODE_PMEM 
PTR_MODE_PMFUNC 
PTR_MODE_RVREF 
PTR_MODE_RESERVED 
ModeMax 

Definition at line 351 of file tpi.h.

351  {
352  PTR_MODE_PTR = 0x00000000, // "normal" pointer
353  PTR_MODE_LVREF = 0x00000001, // l-value reference
354  PTR_MODE_PMEM = 0x00000002, // pointer to data member
355  PTR_MODE_PMFUNC = 0x00000003, // pointer to member function
356  PTR_MODE_RVREF = 0x00000004, // r-value reference
357  PTR_MODE_RESERVED = 0x00000005, // first unused pointer mode
358  ModeMax
359 } TpiCVPtrMode;
TpiCVPtrMode
Definition: tpi.h:351
@ PTR_MODE_LVREF
Definition: tpi.h:353
@ PTR_MODE_RESERVED
Definition: tpi.h:357
@ PTR_MODE_PMEM
Definition: tpi.h:354
@ ModeMax
Definition: tpi.h:358
@ PTR_MODE_PMFUNC
Definition: tpi.h:355
@ PTR_MODE_RVREF
Definition: tpi.h:356
@ PTR_MODE_PTR
Definition: tpi.h:352

◆ TpiCVType

enum TpiCVType
Enumerator
PTR_NEAR 
PTR_FAR 
PTR_HUGE 
PTR_BASE_SEG 
PTR_BASE_VAL 
PTR_BASE_SEGVAL 
PTR_BASE_ADDR 
PTR_BASE_SEGADDR 
PTR_BASE_TYPE 
PTR_BASE_SELF 
PTR_NEAR32 
PTR_FAR32 
PTR_64 
PTR_UNUSEDPTR 
TypeMax 

Definition at line 373 of file tpi.h.

373  {
374  PTR_NEAR = 0x00000000,
375  PTR_FAR = 0x00000001,
376  PTR_HUGE = 0x00000002,
377  PTR_BASE_SEG = 0x00000003,
378  PTR_BASE_VAL = 0x00000004,
379  PTR_BASE_SEGVAL = 0x00000005,
380  PTR_BASE_ADDR = 0x00000006,
381  PTR_BASE_SEGADDR = 0x00000007,
382  PTR_BASE_TYPE = 0x00000008,
383  PTR_BASE_SELF = 0x00000009,
384  PTR_NEAR32 = 0x0000000A,
385  PTR_FAR32 = 0x0000000B,
386  PTR_64 = 0x0000000C,
387  PTR_UNUSEDPTR = 0x0000000D,
388  TypeMax
389 } TpiCVType;
TpiCVType
Definition: tpi.h:373
@ PTR_NEAR
Definition: tpi.h:374
@ PTR_BASE_TYPE
Definition: tpi.h:382
@ TypeMax
Definition: tpi.h:388
@ PTR_BASE_SEGVAL
Definition: tpi.h:379
@ PTR_BASE_SEG
Definition: tpi.h:377
@ PTR_NEAR32
Definition: tpi.h:384
@ PTR_64
Definition: tpi.h:386
@ PTR_HUGE
Definition: tpi.h:376
@ PTR_UNUSEDPTR
Definition: tpi.h:387
@ PTR_BASE_SEGADDR
Definition: tpi.h:381
@ PTR_BASE_ADDR
Definition: tpi.h:380
@ PTR_BASE_VAL
Definition: tpi.h:378
@ PTR_BASE_SELF
Definition: tpi.h:383
@ PTR_FAR32
Definition: tpi.h:385
@ PTR_FAR
Definition: tpi.h:375

◆ TpiLeafType

Enumerator
LF_MODIFIER_16t 
LF_POINTER_16t 
LF_ARRAY_16t 
LF_CLASS_16t 
LF_STRUCTURE_16t 
LF_UNION_16t 
LF_ENUM_16t 
LF_PROCEDURE_16t 
LF_MFUNCTION_16t 
LF_VTSHAPE 
LF_COBOL0_16t 
LF_COBOL1 
LF_BARRAY_16t 
LF_LABEL 
LF_NULL 
LF_NOTTRAN 
LF_DIMARRAY_16t 
LF_VFTPATH_16t 
LF_PRECOMP_16t 
LF_ENDPRECOMP 
LF_OEM_16t 
LF_TYPESERVER_ST 
LF_SKIP_16t 
LF_ARGLIST_16t 
LF_DEFARG_16t 
LF_LIST 
LF_FIELDLIST_16t 
LF_DERIVED_16t 
LF_BITFIELD_16t 
LF_METHODLIST_16t 
LF_DIMCONU_16t 
LF_DIMCONLU_16t 
LF_DIMVARU_16t 
LF_DIMVARLU_16t 
LF_REFSYM 
LF_BCLASS_16t 
LF_VBCLASS_16t 
LF_IVBCLASS_16t 
LF_ENUMERATE_ST 
LF_FRIENDFCN_16t 
LF_INDEX_16t 
LF_MEMBER_16t 
LF_STMEMBER_16t 
LF_METHOD_16t 
LF_NESTTYPE_16t 
LF_VFUNCTAB_16t 
LF_FRIENDCLS_16t 
LF_ONEMETHOD_16t 
LF_VFUNCOFF_16t 
LF_TI16_MAX 
LF_MODIFIER 
LF_POINTER 
LF_ARRAY_ST 
LF_CLASS_ST 
LF_STRUCTURE_ST 
LF_UNION_ST 
LF_ENUM_ST 
LF_PROCEDURE 
LF_MFUNCTION 
LF_COBOL0 
LF_BARRAY 
LF_DIMARRAY_ST 
LF_VFTPATH 
LF_PRECOMP_ST 
LF_OEM 
LF_ALIAS_ST 
LF_OEM2 
LF_SKIP 
LF_ARGLIST 
LF_DEFARG_ST 
LF_FIELDLIST 
LF_DERIVED 
LF_BITFIELD 
LF_METHODLIST 
LF_DIMCONU 
LF_DIMCONLU 
LF_DIMVARU 
LF_DIMVARLU 
LF_BCLASS 
LF_VBCLASS 
LF_IVBCLASS 
LF_FRIENDFCN_ST 
LF_INDEX 
LF_MEMBER_ST 
LF_STMEMBER_ST 
LF_METHOD_ST 
LF_NESTTYPE_ST 
LF_VFUNCTAB 
LF_FRIENDCLS 
LF_ONEMETHOD_ST 
LF_VFUNCOFF 
LF_NESTTYPEEX_ST 
LF_MEMBERMODIFY_ST 
LF_MANAGED_ST 
LF_ST_MAX 
LF_TYPESERVER 
LF_ENUMERATE 
LF_ARRAY 
LF_CLASS 
LF_STRUCTURE 
LF_UNION 
LF_ENUM 
LF_DIMARRAY 
LF_PRECOMP 
LF_ALIAS 
LF_DEFARG 
LF_FRIENDFCN 
LF_MEMBER 
LF_STMEMBER 
LF_METHOD 
LF_NESTTYPE 
LF_ONEMETHOD 
LF_NESTTYPEEX 
LF_MEMBERMODIFY 
LF_MANAGED 
LF_TYPESERVER2 
LF_FUNCTION_ID 
LF_MEMBER_FUNCTION_ID 
LF_BUILD_INFO 
LF_SUBSTRING_LIST 
LF_STRING_ID 
LF_USER_DEFINED_TYPE_SOURCE_AND_LINE 
LF_USER_DEFINED_TYPE_MODULE_SOURCE_AND_LINE 
LF_CLASS_19 
LF_STRUCTURE_19 
LF_CHAR 

the following are numeric leaves. They are used to indicate the size of the following variable length data. When the numeric data is a single byte less than 0x8000, then the data is output directly. If the data is more the 0x8000 or is a negative value, then the data is preceeded by the proper index.

LF_SHORT 
LF_USHORT 
LF_LONG 
LF_ULONG 
LF_REAL32 
LF_REAL64 
LF_REAL80 
LF_REAL128 
LF_QUADWORD 
LF_UQUADWORD 
LF_REAL48 
LF_COMPLEX32 
LF_COMPLEX64 
LF_COMPLEX80 
LF_COMPLEX128 
LF_VARSTRING 
LF_OCTWORD 
LF_UOCTWORD 
LF_DECIMAL 
LF_DATE 
LF_UTF8STRING 
LF_PAD0 
LF_PAD1 
LF_PAD2 
LF_PAD3 
LF_PAD4 
LF_PAD5 
LF_PAD6 
LF_PAD7 
LF_PAD8 
LF_PAD9 
LF_PAD10 
LF_PAD11 
LF_PAD12 
LF_PAD13 
LF_PAD14 
LF_PAD15 
LF_SIMPLE_TYPE 
LF_MAX 

Definition at line 75 of file tpi.h.

75  {
76  LF_MODIFIER_16t = 0x0001, // type record for a generalized built-in type modifier
77  LF_POINTER_16t = 0x0002,
78  LF_ARRAY_16t = 0x0003, // type record for basic array
79  LF_CLASS_16t = 0x0004,
80  LF_STRUCTURE_16t = 0x0005,
81  LF_UNION_16t = 0x0006,
82  LF_ENUM_16t = 0x0007, // type record for LF_ENUM
83  LF_PROCEDURE_16t = 0x0008, // Type record for LF_PROCEDURE
84  LF_MFUNCTION_16t = 0x0009, // Type record for member function
85  LF_VTSHAPE = 0x000A, // type record for virtual function table shape
86  LF_COBOL0_16t = 0x000B, // type record for cobol0
87  LF_COBOL1 = 0x000C, // type record for cobol1
88  LF_BARRAY_16t = 0x000D, // type record for basic array
89  LF_LABEL = 0x000E,
90  LF_NULL = 0x000F,
91  LF_NOTTRAN = 0x0010,
92  LF_DIMARRAY_16t = 0x0011, // type record for dimensioned arrays
93  LF_VFTPATH_16t = 0x0012, // type record describing path to virtual function table
94  LF_PRECOMP_16t = 0x0013, // type record describing inclusion of precompiled types
95  LF_ENDPRECOMP = 0x0014, // type record describing end of precompiled types that can be
96  LF_OEM_16t = 0x0015, // type record for OEM definable type strings
97  LF_TYPESERVER_ST = 0x0016, // type record describing using of a type server
98  LF_SKIP_16t = 0x0200,
99  LF_ARGLIST_16t = 0x0201,
100  LF_DEFARG_16t = 0x0202,
101  LF_LIST = 0x0203,
102  LF_FIELDLIST_16t = 0x0204,
103  LF_DERIVED_16t = 0x0205, // derived class list leaf
104  LF_BITFIELD_16t = 0x0206, // type record for LF_BITFIELD
105  LF_METHODLIST_16t = 0x0207, // type record for non-static methods and friends in overloaded method list
106  LF_DIMCONU_16t = 0x0208, // type record for dimensioned array with constant bounds
107  LF_DIMCONLU_16t = 0x0209, // type record for dimensioned array with constant bounds
108  LF_DIMVARU_16t = 0x020A, // type record for dimensioned array with variable bounds
109  LF_DIMVARLU_16t = 0x020B, // type record for dimensioned array with variable bounds
110  LF_REFSYM = 0x020C, // type record for referenced symbol
111  LF_BCLASS_16t = 0x0400, // subfield record for base class field
112  LF_VBCLASS_16t = 0x0401, // subfield record for direct and indirect virtual base class field
113  LF_IVBCLASS_16t = 0x0402,
114  LF_ENUMERATE_ST = 0x0403, // subfield record for enumerate
115  LF_FRIENDFCN_16t = 0x0404, // subfield record for friend function
116  LF_INDEX_16t = 0x0405, // index leaf - contains type index of another leaf
117  LF_MEMBER_16t = 0x0406,
118  LF_STMEMBER_16t = 0x0407,
119  LF_METHOD_16t = 0x0408, // subfield record for overloaded method list
120  LF_NESTTYPE_16t = 0x0409, // type record for nested (scoped) type definition
121  LF_VFUNCTAB_16t = 0x040A, // subfield record for virtual function table pointer
122  LF_FRIENDCLS_16t = 0x040B, // subfield record for friend class
123  LF_ONEMETHOD_16t = 0x040C, // subfield record for nonoverloaded method
124  LF_VFUNCOFF_16t = 0x040D, // subfield record for virtual function table pointer with offset
125  LF_TI16_MAX = 0x1000,
126  LF_MODIFIER = 0x1001, // type record for a generalized built-in type modifier
127  LF_POINTER = 0x1002,
128  LF_ARRAY_ST = 0x1003, // type record for basic array
129  LF_CLASS_ST = 0x1004,
130  LF_STRUCTURE_ST = 0x1005,
131  LF_UNION_ST = 0x1006,
132  LF_ENUM_ST = 0x1007, // type record for LF_ENUM
133  LF_PROCEDURE = 0x1008, // Type record for LF_PROCEDURE
134  LF_MFUNCTION = 0x1009, // Type record for member function
135  LF_COBOL0 = 0x100A,
136  LF_BARRAY = 0x100B, // type record for basic array
137  LF_DIMARRAY_ST = 0x100C, // type record for dimensioned arrays
138  LF_VFTPATH = 0x100D, // type record describing path to virtual function table
139  LF_PRECOMP_ST = 0x100E, // type record describing inclusion of precompiled types
140  LF_OEM = 0x100F, // type record for OEM definable type strings
141  LF_ALIAS_ST = 0x1010,
142  LF_OEM2 = 0x1011, // type record for OEM definable type strings
143  LF_SKIP = 0x1200,
144  LF_ARGLIST = 0x1201,
145  LF_DEFARG_ST = 0x1202,
146  LF_FIELDLIST = 0x1203,
147  LF_DERIVED = 0x1204, // derived class list leaf
148  LF_BITFIELD = 0x1205, // type record for LF_BITFIELD
149  LF_METHODLIST = 0x1206, // subfield record for overloaded method list
150  LF_DIMCONU = 0x1207, // type record for dimensioned array with constant bounds
151  LF_DIMCONLU = 0x1208, // type record for dimensioned array with constant bounds
152  LF_DIMVARU = 0x1209, // type record for dimensioned array with variable bounds
153  LF_DIMVARLU = 0x120A, // type record for dimensioned array with variable bounds
154  LF_BCLASS = 0x1400, // subfield record for base class field
155  LF_VBCLASS = 0x1401, // subfield record for direct and indirect virtual base class field
156  LF_IVBCLASS = 0x1402,
157  LF_FRIENDFCN_ST = 0x1403, // subfield record for friend function
158  LF_INDEX = 0x1404,
159  LF_MEMBER_ST = 0x1405, // subfield record for non-static data members
160  LF_STMEMBER_ST = 0x1406,
161  LF_METHOD_ST = 0x1407, // subfield record for overloaded method list
162  LF_NESTTYPE_ST = 0x1408, // type record for nested (scoped) type definition
163  LF_VFUNCTAB = 0x1409, // subfield record for virtual function table pointer
164  LF_FRIENDCLS = 0x140A, // subfield record for friend class
165  LF_ONEMETHOD_ST = 0x140B, // subfield record for nonoverloaded method
166  LF_VFUNCOFF = 0x140C, // subfield record for virtual function table pointer with offset
167  LF_NESTTYPEEX_ST = 0x140D, // type record for nested (scoped) type definition, with attributes
168  LF_MEMBERMODIFY_ST = 0x140E, // type record for modifications to members
169  LF_MANAGED_ST = 0x140F,
170  LF_ST_MAX = 0x1500,
171  LF_TYPESERVER = 0x1501, // type record describing using of a type server
172  LF_ENUMERATE = 0x1502, // subfield record for enumerate
173  LF_ARRAY = 0x1503, // type record for basic array
174  LF_CLASS = 0x1504,
175  LF_STRUCTURE = 0x1505,
176  LF_UNION = 0x1506,
177  LF_ENUM = 0x1507, // type record for LF_ENUM
178  LF_DIMARRAY = 0x1508, // type record for dimensioned arrays
179  LF_PRECOMP = 0x1509, // type record describing inclusion of precompiled types
180  LF_ALIAS = 0x150A,
181  LF_DEFARG = 0x150B,
182  LF_FRIENDFCN = 0x150C, // subfield record for friend function
183  LF_MEMBER = 0x150D, // subfield record for non-static data members
184  LF_STMEMBER = 0x150E,
185  LF_METHOD = 0x150F, // subfield record for overloaded method list
186  LF_NESTTYPE = 0x1510, // type record for nested (scoped) type definition
187  LF_ONEMETHOD = 0x1511, // subfield record for nonoverloaded method
188  LF_NESTTYPEEX = 0x1512, // type record for nested (scoped) type definition, with attributes
189  LF_MEMBERMODIFY = 0x1513, // type record for modifications to members
190  LF_MANAGED = 0x1514,
191  LF_TYPESERVER2 = 0x1515, // type record describing using of a type server with v7 (GUID) signatures
192  LF_FUNCTION_ID = 0x1601,
193  LF_MEMBER_FUNCTION_ID = 0x1602,
194  LF_BUILD_INFO = 0x1603,
195  LF_SUBSTRING_LIST = 0x1604,
196  LF_STRING_ID = 0x1605,
199  LF_CLASS_19 = 0x1608,
200  LF_STRUCTURE_19 = 0x1609,
201 
208  LF_CHAR = 0x8000, // signed character leaf
209  LF_SHORT = 0x8001, // signed short leaf
210  LF_USHORT = 0x8002, // unsigned short leaf
211  LF_LONG = 0x8003, // signed long leaf
212  LF_ULONG = 0x8004, // unsigned long leaf
213  LF_REAL32 = 0x8005, // real 32-bit leaf
214  LF_REAL64 = 0x8006, // real 64-bit leaf
215  LF_REAL80 = 0x8007, // real 80-bit leaf
216  LF_REAL128 = 0x8008, // real 128-bit leaf
217  LF_QUADWORD = 0x8009, // signed quad leaf
218  LF_UQUADWORD = 0x800A, // unsigned quad leaf
219  LF_REAL48 = 0x800B, // real 48-bit leaf
220  LF_COMPLEX32 = 0x800C, // complex 32-bit leaf
221  LF_COMPLEX64 = 0x800D, // complex 64-bit leaf
222  LF_COMPLEX80 = 0x800E, // complex 80-bit leaf
223  LF_COMPLEX128 = 0x800F, // complex 128-bit leaf
224  LF_VARSTRING = 0x8010, // variable length numeric field
225  LF_OCTWORD = 0x8017, // signed int128 leaf
226  LF_UOCTWORD = 0x8018, // unsigned int128 leaf
227  LF_DECIMAL = 0x8019,
228  LF_DATE = 0x801A,
229  LF_UTF8STRING = 0x801B,
230  LF_PAD0 = 0x00F0,
231  LF_PAD1 = 0x00F1,
232  LF_PAD2 = 0x00F2,
233  LF_PAD3 = 0x00F3,
234  LF_PAD4 = 0x00F4,
235  LF_PAD5 = 0x00F5,
236  LF_PAD6 = 0x00F6,
237  LF_PAD7 = 0x00F7,
238  LF_PAD8 = 0x00F8,
239  LF_PAD9 = 0x00F9,
240  LF_PAD10 = 0x00FA,
241  LF_PAD11 = 0x00FB,
242  LF_PAD12 = 0x00FC,
243  LF_PAD13 = 0x00FD,
244  LF_PAD14 = 0x00FE,
245  LF_PAD15 = 0x00FF,
246  LF_SIMPLE_TYPE = 0xEFFF, // Custom, hopefully it doesn't collide
247  LF_MAX = 0xFFFF
248 } TpiLeafType;
TpiLeafType
Definition: tpi.h:75
@ LF_NESTTYPE
Definition: tpi.h:186
@ LF_FRIENDCLS_16t
Definition: tpi.h:122
@ LF_PAD1
Definition: tpi.h:231
@ LF_MEMBER
Definition: tpi.h:183
@ LF_SUBSTRING_LIST
Definition: tpi.h:195
@ LF_DIMVARU_16t
Definition: tpi.h:108
@ LF_COMPLEX128
Definition: tpi.h:223
@ LF_VFUNCOFF_16t
Definition: tpi.h:124
@ LF_ENUMERATE_ST
Definition: tpi.h:114
@ LF_PRECOMP_16t
Definition: tpi.h:94
@ LF_MODIFIER_16t
Definition: tpi.h:76
@ LF_COBOL0
Definition: tpi.h:135
@ LF_MANAGED
Definition: tpi.h:190
@ LF_REFSYM
Definition: tpi.h:110
@ LF_METHOD
Definition: tpi.h:185
@ LF_COBOL1
Definition: tpi.h:87
@ LF_DEFARG
Definition: tpi.h:181
@ LF_ENUM_ST
Definition: tpi.h:132
@ LF_DIMCONU_16t
Definition: tpi.h:106
@ LF_NESTTYPE_16t
Definition: tpi.h:120
@ LF_ALIAS_ST
Definition: tpi.h:141
@ LF_ULONG
Definition: tpi.h:212
@ LF_DIMVARLU_16t
Definition: tpi.h:109
@ LF_PAD11
Definition: tpi.h:241
@ LF_REAL32
Definition: tpi.h:213
@ LF_TI16_MAX
Definition: tpi.h:125
@ LF_STRUCTURE_19
Definition: tpi.h:200
@ LF_NOTTRAN
Definition: tpi.h:91
@ LF_STRUCTURE_ST
Definition: tpi.h:130
@ LF_MEMBER_16t
Definition: tpi.h:117
@ LF_ONEMETHOD
Definition: tpi.h:187
@ LF_USER_DEFINED_TYPE_MODULE_SOURCE_AND_LINE
Definition: tpi.h:198
@ LF_BCLASS
Definition: tpi.h:154
@ LF_METHODLIST
Definition: tpi.h:149
@ LF_STMEMBER_ST
Definition: tpi.h:160
@ LF_CLASS_16t
Definition: tpi.h:79
@ LF_SIMPLE_TYPE
Definition: tpi.h:246
@ LF_MANAGED_ST
Definition: tpi.h:169
@ LF_DIMARRAY_16t
Definition: tpi.h:92
@ LF_PAD13
Definition: tpi.h:243
@ LF_ENUM_16t
Definition: tpi.h:82
@ LF_PAD9
Definition: tpi.h:239
@ LF_DEFARG_16t
Definition: tpi.h:100
@ LF_BARRAY_16t
Definition: tpi.h:88
@ LF_STMEMBER_16t
Definition: tpi.h:118
@ LF_CHAR
Definition: tpi.h:208
@ LF_USHORT
Definition: tpi.h:210
@ LF_OEM
Definition: tpi.h:140
@ LF_ONEMETHOD_16t
Definition: tpi.h:123
@ LF_VFUNCOFF
Definition: tpi.h:166
@ LF_METHOD_ST
Definition: tpi.h:161
@ LF_PROCEDURE
Definition: tpi.h:133
@ LF_MEMBERMODIFY_ST
Definition: tpi.h:168
@ LF_DIMCONLU_16t
Definition: tpi.h:107
@ LF_MEMBER_FUNCTION_ID
Definition: tpi.h:193
@ LF_STRING_ID
Definition: tpi.h:196
@ LF_ST_MAX
Definition: tpi.h:170
@ LF_POINTER
Definition: tpi.h:127
@ LF_IVBCLASS
Definition: tpi.h:156
@ LF_PRECOMP
Definition: tpi.h:179
@ LF_PAD14
Definition: tpi.h:244
@ LF_BITFIELD_16t
Definition: tpi.h:104
@ LF_VBCLASS
Definition: tpi.h:155
@ LF_VFTPATH
Definition: tpi.h:138
@ LF_VFUNCTAB_16t
Definition: tpi.h:121
@ LF_IVBCLASS_16t
Definition: tpi.h:113
@ LF_OEM_16t
Definition: tpi.h:96
@ LF_LABEL
Definition: tpi.h:89
@ LF_REAL128
Definition: tpi.h:216
@ LF_COMPLEX32
Definition: tpi.h:220
@ LF_QUADWORD
Definition: tpi.h:217
@ LF_FRIENDFCN_ST
Definition: tpi.h:157
@ LF_CLASS
Definition: tpi.h:174
@ LF_UTF8STRING
Definition: tpi.h:229
@ LF_VFTPATH_16t
Definition: tpi.h:93
@ LF_VARSTRING
Definition: tpi.h:224
@ LF_ENDPRECOMP
Definition: tpi.h:95
@ LF_ONEMETHOD_ST
Definition: tpi.h:165
@ LF_LONG
Definition: tpi.h:211
@ LF_DIMVARU
Definition: tpi.h:152
@ LF_ARGLIST_16t
Definition: tpi.h:99
@ LF_FRIENDFCN_16t
Definition: tpi.h:115
@ LF_DERIVED
Definition: tpi.h:147
@ LF_OEM2
Definition: tpi.h:142
@ LF_NULL
Definition: tpi.h:90
@ LF_INDEX_16t
Definition: tpi.h:116
@ LF_DATE
Definition: tpi.h:228
@ LF_PAD7
Definition: tpi.h:237
@ LF_PAD10
Definition: tpi.h:240
@ LF_NESTTYPEEX
Definition: tpi.h:188
@ LF_REAL64
Definition: tpi.h:214
@ LF_PAD4
Definition: tpi.h:234
@ LF_PAD15
Definition: tpi.h:245
@ LF_MODIFIER
Definition: tpi.h:126
@ LF_MEMBER_ST
Definition: tpi.h:159
@ LF_FRIENDCLS
Definition: tpi.h:164
@ LF_DEFARG_ST
Definition: tpi.h:145
@ LF_REAL48
Definition: tpi.h:219
@ LF_ARRAY_ST
Definition: tpi.h:128
@ LF_UOCTWORD
Definition: tpi.h:226
@ LF_TYPESERVER
Definition: tpi.h:171
@ LF_OCTWORD
Definition: tpi.h:225
@ LF_ENUMERATE
Definition: tpi.h:172
@ LF_VBCLASS_16t
Definition: tpi.h:112
@ LF_LIST
Definition: tpi.h:101
@ LF_STMEMBER
Definition: tpi.h:184
@ LF_USER_DEFINED_TYPE_SOURCE_AND_LINE
Definition: tpi.h:197
@ LF_MAX
Definition: tpi.h:247
@ LF_MFUNCTION
Definition: tpi.h:134
@ LF_ARRAY_16t
Definition: tpi.h:78
@ LF_BARRAY
Definition: tpi.h:136
@ LF_DIMARRAY_ST
Definition: tpi.h:137
@ LF_PAD2
Definition: tpi.h:232
@ LF_UNION_ST
Definition: tpi.h:131
@ LF_FRIENDFCN
Definition: tpi.h:182
@ LF_MFUNCTION_16t
Definition: tpi.h:84
@ LF_UNION
Definition: tpi.h:176
@ LF_TYPESERVER_ST
Definition: tpi.h:97
@ LF_PAD0
Definition: tpi.h:230
@ LF_STRUCTURE
Definition: tpi.h:175
@ LF_REAL80
Definition: tpi.h:215
@ LF_DIMVARLU
Definition: tpi.h:153
@ LF_UNION_16t
Definition: tpi.h:81
@ LF_POINTER_16t
Definition: tpi.h:77
@ LF_DERIVED_16t
Definition: tpi.h:103
@ LF_ARGLIST
Definition: tpi.h:144
@ LF_CLASS_ST
Definition: tpi.h:129
@ LF_SKIP
Definition: tpi.h:143
@ LF_COMPLEX80
Definition: tpi.h:222
@ LF_DIMCONLU
Definition: tpi.h:151
@ LF_ALIAS
Definition: tpi.h:180
@ LF_COBOL0_16t
Definition: tpi.h:86
@ LF_VTSHAPE
Definition: tpi.h:85
@ LF_INDEX
Definition: tpi.h:158
@ LF_PAD3
Definition: tpi.h:233
@ LF_PAD12
Definition: tpi.h:242
@ LF_FIELDLIST_16t
Definition: tpi.h:102
@ LF_FUNCTION_ID
Definition: tpi.h:192
@ LF_NESTTYPE_ST
Definition: tpi.h:162
@ LF_ARRAY
Definition: tpi.h:173
@ LF_CLASS_19
Definition: tpi.h:199
@ LF_BITFIELD
Definition: tpi.h:148
@ LF_PRECOMP_ST
Definition: tpi.h:139
@ LF_METHOD_16t
Definition: tpi.h:119
@ LF_SHORT
Definition: tpi.h:209
@ LF_UQUADWORD
Definition: tpi.h:218
@ LF_BCLASS_16t
Definition: tpi.h:111
@ LF_DIMARRAY
Definition: tpi.h:178
@ LF_SKIP_16t
Definition: tpi.h:98
@ LF_BUILD_INFO
Definition: tpi.h:194
@ LF_TYPESERVER2
Definition: tpi.h:191
@ LF_DECIMAL
Definition: tpi.h:227
@ LF_FIELDLIST
Definition: tpi.h:146
@ LF_PAD5
Definition: tpi.h:235
@ LF_PAD6
Definition: tpi.h:236
@ LF_COMPLEX64
Definition: tpi.h:221
@ LF_METHODLIST_16t
Definition: tpi.h:105
@ LF_PROCEDURE_16t
Definition: tpi.h:83
@ LF_NESTTYPEEX_ST
Definition: tpi.h:167
@ LF_MEMBERMODIFY
Definition: tpi.h:189
@ LF_DIMCONU
Definition: tpi.h:150
@ LF_STRUCTURE_16t
Definition: tpi.h:80
@ LF_PAD8
Definition: tpi.h:238
@ LF_ENUM
Definition: tpi.h:177
@ LF_VFUNCTAB
Definition: tpi.h:163

◆ TpiSimpleTypeKind

Enumerator
PDB_NONE 
PDB_VOID 
PDB_NOT_TRANSLATED 
PDB_HRESULT 
PDB_SIGNED_CHAR 
PDB_UNSIGNED_CHAR 
PDB_NARROW_CHAR 
PDB_WIDE_CHAR 
PDB_CHAR16 
PDB_CHAR32 
PDB_SBYTE 
PDB_BYTE 
PDB_INT16_SHORT 
PDB_UINT16_SHORT 
PDB_INT16 
PDB_UINT16 
PDB_INT32_LONG 
PDB_UINT32_LONG 
PDB_INT32 
PDB_UINT32 
PDB_INT64_QUAD 
PDB_UINT64_QUAD 
PDB_INT64 
PDB_UINT64 
PDB_INT128_OCT 
PDB_UINT128_OCT 
PDB_INT128 
PDB_UINT128 
PDB_FLOAT16 
PDB_FLOAT32 
PDB_FLOAT32_PP 
PDB_FLOAT48 
PDB_FLOAT64 
PDB_FLOAT80 
PDB_FLOAT128 
PDB_COMPLEX16 
PDB_COMPLEX32 
PDB_COMPLEX32_PP 
PDB_COMPLEX48 
PDB_COMPLEX64 
PDB_COMPLEX80 
PDB_COMPLEX128 
PDB_BOOL8 
PDB_BOOL16 
PDB_BOOL32 
PDB_BOOL64 
PDB_BOOL128 

Definition at line 20 of file tpi.h.

20  {
21  PDB_NONE = 0x0000, // uncharacterized type (no type)
22  PDB_VOID = 0x0003, // void
23  PDB_NOT_TRANSLATED = 0x0007, // type not translated by cvpack
24  PDB_HRESULT = 0x0008, // OLE/COM HRESULT
25 
26  PDB_SIGNED_CHAR = 0x0010, // 8 bit signed
27  PDB_UNSIGNED_CHAR = 0x0020, // 8 bit unsigned
28  PDB_NARROW_CHAR = 0x0070, // really a char
29  PDB_WIDE_CHAR = 0x0071, // wide char
30  PDB_CHAR16 = 0x007a, // char16_t
31  PDB_CHAR32 = 0x007b, // char32_t
32 
33  PDB_SBYTE = 0x0068, // 8 bit signed int
34  PDB_BYTE = 0x0069, // 8 bit unsigned int
35  PDB_INT16_SHORT = 0x0011, // 16 bit signed
36  PDB_UINT16_SHORT = 0x0021, // 16 bit unsigned
37  PDB_INT16 = 0x0072, // 16 bit signed int
38  PDB_UINT16 = 0x0073, // 16 bit unsigned int
39  PDB_INT32_LONG = 0x0012, // 32 bit signed
40  PDB_UINT32_LONG = 0x0022, // 32 bit unsigned
41  PDB_INT32 = 0x0074, // 32 bit signed int
42  PDB_UINT32 = 0x0075, // 32 bit unsigned int
43  PDB_INT64_QUAD = 0x0013, // 64 bit signed
44  PDB_UINT64_QUAD = 0x0023, // 64 bit unsigned
45  PDB_INT64 = 0x0076, // 64 bit signed int
46  PDB_UINT64 = 0x0077, // 64 bit unsigned int
47  PDB_INT128_OCT = 0x0014, // 128 bit signed int
48  PDB_UINT128_OCT = 0x0024, // 128 bit unsigned int
49  PDB_INT128 = 0x0078, // 128 bit signed int
50  PDB_UINT128 = 0x0079, // 128 bit unsigned int
51 
52  PDB_FLOAT16 = 0x0046, // 16 bit real
53  PDB_FLOAT32 = 0x0040, // 32 bit real
54  PDB_FLOAT32_PP = 0x0045, // 32 bit PP (partial precision) real
55  PDB_FLOAT48 = 0x0044, // 48 bit real
56  PDB_FLOAT64 = 0x0041, // 64 bit real
57  PDB_FLOAT80 = 0x0042, // 80 bit real
58  PDB_FLOAT128 = 0x0043, // 128 bit real
59 
60  PDB_COMPLEX16 = 0x0056, // 16 bit complex
61  PDB_COMPLEX32 = 0x0050, // 32 bit complex
62  PDB_COMPLEX32_PP = 0x0055, // 32 bit PP (partial precision) complex
63  PDB_COMPLEX48 = 0x0054, // 48 bit complex
64  PDB_COMPLEX64 = 0x0051, // 64 bit complex
65  PDB_COMPLEX80 = 0x0052, // 80 bit complex
66  PDB_COMPLEX128 = 0x0053, // 128 bit complex
67 
68  PDB_BOOL8 = 0x0030, // 8 bit boolean
69  PDB_BOOL16 = 0x0031, // 16 bit boolean
70  PDB_BOOL32 = 0x0032, // 32 bit boolean
71  PDB_BOOL64 = 0x0033, // 64 bit boolean
72  PDB_BOOL128 = 0x0034, // 128 bit boolean
TpiSimpleTypeKind
Definition: tpi.h:20
@ PDB_INT128_OCT
Definition: tpi.h:47
@ PDB_VOID
Definition: tpi.h:22
@ PDB_NOT_TRANSLATED
Definition: tpi.h:23
@ PDB_NONE
Definition: tpi.h:21
@ PDB_UINT16
Definition: tpi.h:38
@ PDB_INT128
Definition: tpi.h:49
@ PDB_BYTE
Definition: tpi.h:34
@ PDB_FLOAT64
Definition: tpi.h:56
@ PDB_COMPLEX16
Definition: tpi.h:60
@ PDB_BOOL128
Definition: tpi.h:72
@ PDB_BOOL32
Definition: tpi.h:70
@ PDB_COMPLEX80
Definition: tpi.h:65
@ PDB_UINT128
Definition: tpi.h:50
@ PDB_COMPLEX32
Definition: tpi.h:61
@ PDB_FLOAT48
Definition: tpi.h:55
@ PDB_UINT64_QUAD
Definition: tpi.h:44
@ PDB_INT16_SHORT
Definition: tpi.h:35
@ PDB_BOOL16
Definition: tpi.h:69
@ PDB_NARROW_CHAR
Definition: tpi.h:28
@ PDB_BOOL64
Definition: tpi.h:71
@ PDB_COMPLEX48
Definition: tpi.h:63
@ PDB_CHAR32
Definition: tpi.h:31
@ PDB_COMPLEX64
Definition: tpi.h:64
@ PDB_COMPLEX32_PP
Definition: tpi.h:62
@ PDB_CHAR16
Definition: tpi.h:30
@ PDB_BOOL8
Definition: tpi.h:68
@ PDB_UINT32_LONG
Definition: tpi.h:40
@ PDB_INT64
Definition: tpi.h:45
@ PDB_FLOAT32_PP
Definition: tpi.h:54
@ PDB_UINT64
Definition: tpi.h:46
@ PDB_UNSIGNED_CHAR
Definition: tpi.h:27
@ PDB_COMPLEX128
Definition: tpi.h:66
@ PDB_SIGNED_CHAR
Definition: tpi.h:26
@ PDB_FLOAT80
Definition: tpi.h:57
@ PDB_WIDE_CHAR
Definition: tpi.h:29
@ PDB_INT32_LONG
Definition: tpi.h:39
@ PDB_SBYTE
Definition: tpi.h:33
@ PDB_UINT16_SHORT
Definition: tpi.h:36
@ PDB_HRESULT
Definition: tpi.h:24
@ PDB_INT32
Definition: tpi.h:41
@ PDB_FLOAT32
Definition: tpi.h:53
@ PDB_FLOAT16
Definition: tpi.h:52
@ PDB_UINT32
Definition: tpi.h:42
@ PDB_UINT128_OCT
Definition: tpi.h:48
@ PDB_INT64_QUAD
Definition: tpi.h:43
@ PDB_FLOAT128
Definition: tpi.h:58
@ PDB_INT16
Definition: tpi.h:37

◆ TpiSimpleTypeMode

Enumerator
DIRECT 
NEAR_POINTER 
FAR_POINTER 
HUGE_POINTER 
NEAR_POINTER32 
FAR_POINTER32 
NEAR_POINTER64 
NEAR_POINTER128 

Definition at line 9 of file tpi.h.

9  {
10  DIRECT = 0, // Not a pointer
11  NEAR_POINTER = 1, // Near pointer
12  FAR_POINTER = 2, // Far pointer
13  HUGE_POINTER = 3, // Huge pointer
14  NEAR_POINTER32 = 4, // 32 bit near pointer
15  FAR_POINTER32 = 5, // 32 bit far pointer
16  NEAR_POINTER64 = 6, // 64 bit near pointer
17  NEAR_POINTER128 = 7 // 128 bit near pointer
TpiSimpleTypeMode
Definition: tpi.h:9
@ DIRECT
Definition: tpi.h:10
@ NEAR_POINTER64
Definition: tpi.h:16
@ NEAR_POINTER
Definition: tpi.h:11
@ HUGE_POINTER
Definition: tpi.h:13
@ FAR_POINTER
Definition: tpi.h:12
@ FAR_POINTER32
Definition: tpi.h:15
@ NEAR_POINTER32
Definition: tpi.h:14
@ NEAR_POINTER128
Definition: tpi.h:17