ReactOS  0.4.15-dev-1177-g6cb3b62
mscvpdb.h File Reference
#include "pshpack1.h"
#include "poppack.h"
Include dependency graph for mscvpdb.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  p_string
 
union  codeview_type
 
union  codeview_reftype
 
union  codeview_fieldtype
 
union  codeview_symbol
 
struct  codeview_linetab_block
 
struct  startend
 
struct  codeview_linetab2
 
struct  codeview_linetab2_file
 
struct  codeview_lt2blk_files
 
struct  codeview_lt2blk_lines
 
struct  PDB_FILE
 
struct  PDB_JG_HEADER
 
struct  PDB_DS_HEADER
 
struct  PDB_JG_TOC
 
struct  PDB_DS_TOC
 
struct  PDB_JG_ROOT
 
struct  PDB_DS_ROOT
 
struct  _PDB_TYPES_OLD
 
struct  _PDB_TYPES
 
struct  _PDB_SYMBOL_RANGE
 
struct  _PDB_SYMBOL_RANGE_EX
 
struct  _PDB_SYMBOL_FILE
 
struct  _PDB_SYMBOL_FILE_EX
 
struct  _PDB_SYMBOL_SOURCE
 
struct  _PDB_SYMBOL_IMPORT
 
struct  _PDB_SYMBOLS_OLD
 
struct  _PDB_SYMBOLS
 
struct  PDB_STREAM_INDEXES_OLD
 
struct  PDB_STREAM_INDEXES
 
struct  _PDB_FPO_DATA
 
struct  OMAP_DATA
 
struct  msc_debug_info
 
struct  OMFSignature
 
struct  OMFSignatureRSDS
 
struct  _CODEVIEW_PDB_DATA
 
struct  OMFDirHeader
 
struct  OMFDirEntry
 
struct  OMFSegDesc
 
struct  OMFModule
 
struct  OMFGlobalTypes
 
struct  OMFSymHash
 
struct  OMFSegMapDesc
 
struct  OMFSegMap
 
struct  OMFSourceLine
 
struct  OMFSourceFile
 
struct  OMFSourceModule
 

Macros

#define T_NOTYPE   0x0000 /* Notype */
 
#define T_ABS   0x0001 /* Abs */
 
#define T_SEGMENT   0x0002 /* segment type */
 
#define T_VOID   0x0003 /* Void */
 
#define T_CURRENCY   0x0004 /* basic 8-byte currency value */
 
#define T_NBASICSTR   0x0005 /* near basic string */
 
#define T_FBASICSTR   0x0006 /* far basic string */
 
#define T_NOTTRANS   0x0007 /* untranslated type record from MS symbol format */
 
#define T_HRESULT   0x0008 /* HRESULT - or error code ??? */
 
#define T_CHAR   0x0010 /* signed char */
 
#define T_SHORT   0x0011 /* short */
 
#define T_LONG   0x0012 /* long */
 
#define T_QUAD   0x0013 /* long long */
 
#define T_UCHAR   0x0020 /* unsigned char */
 
#define T_USHORT   0x0021 /* unsigned short */
 
#define T_ULONG   0x0022 /* unsigned long */
 
#define T_UQUAD   0x0023 /* unsigned long long */
 
#define T_BOOL08   0x0030 /* 8-bit boolean */
 
#define T_BOOL16   0x0031 /* 16-bit boolean */
 
#define T_BOOL32   0x0032 /* 32-bit boolean */
 
#define T_BOOL64   0x0033 /* 64-bit boolean */
 
#define T_REAL32   0x0040 /* float */
 
#define T_REAL64   0x0041 /* double */
 
#define T_REAL80   0x0042 /* 80-bit real */
 
#define T_REAL128   0x0043 /* 128-bit real */
 
#define T_REAL48   0x0044 /* 48-bit real */
 
#define T_CPLX32   0x0050 /* 32-bit complex number */
 
#define T_CPLX64   0x0051 /* 64-bit complex number */
 
#define T_CPLX80   0x0052 /* 80-bit complex number */
 
#define T_CPLX128   0x0053 /* 128-bit complex number */
 
#define T_BIT   0x0060 /* bit */
 
#define T_PASCHAR   0x0061 /* pascal CHAR */
 
#define T_RCHAR   0x0070 /* real char */
 
#define T_WCHAR   0x0071 /* wide char */
 
#define T_INT2   0x0072 /* real 16-bit signed int */
 
#define T_UINT2   0x0073 /* real 16-bit unsigned int */
 
#define T_INT4   0x0074 /* int */
 
#define T_UINT4   0x0075 /* unsigned int */
 
#define T_INT8   0x0076 /* 64-bit signed int */
 
#define T_UINT8   0x0077 /* 64-bit unsigned int */
 
#define T_CHAR16   0x007a /* 16-bit unicode char */
 
#define T_CHAR32   0x007b /* 32-bit unicode char */
 
#define T_PVOID   0x0103 /* near pointer to void */
 
#define T_PCHAR   0x0110 /* Near pointer to 8-bit signed */
 
#define T_PSHORT   0x0111 /* Near pointer to 16-bit signed */
 
#define T_PLONG   0x0112 /* Near pointer to 32-bit signed */
 
#define T_PQUAD   0x0113 /* Near pointer to 64-bit signed */
 
#define T_PUCHAR   0x0120 /* Near pointer to 8-bit unsigned */
 
#define T_PUSHORT   0x0121 /* Near pointer to 16-bit unsigned */
 
#define T_PULONG   0x0122 /* Near pointer to 32-bit unsigned */
 
#define T_PUQUAD   0x0123 /* Near pointer to 64-bit unsigned */
 
#define T_PBOOL08   0x0130 /* Near pointer to 8-bit Boolean */
 
#define T_PBOOL16   0x0131 /* Near pointer to 16-bit Boolean */
 
#define T_PBOOL32   0x0132 /* Near pointer to 32-bit Boolean */
 
#define T_PBOOL64   0x0133 /* Near pointer to 64-bit Boolean */
 
#define T_PREAL32   0x0140 /* Near pointer to 32-bit real */
 
#define T_PREAL64   0x0141 /* Near pointer to 64-bit real */
 
#define T_PREAL80   0x0142 /* Near pointer to 80-bit real */
 
#define T_PREAL128   0x0143 /* Near pointer to 128-bit real */
 
#define T_PREAL48   0x0144 /* Near pointer to 48-bit real */
 
#define T_PCPLX32   0x0150 /* Near pointer to 32-bit complex */
 
#define T_PCPLX64   0x0151 /* Near pointer to 64-bit complex */
 
#define T_PCPLX80   0x0152 /* Near pointer to 80-bit complex */
 
#define T_PCPLX128   0x0153 /* Near pointer to 128-bit complex */
 
#define T_PRCHAR   0x0170 /* Near pointer to a real char */
 
#define T_PWCHAR   0x0171 /* Near pointer to a wide char */
 
#define T_PINT2   0x0172 /* Near pointer to 16-bit signed int */
 
#define T_PUINT2   0x0173 /* Near pointer to 16-bit unsigned int */
 
#define T_PINT4   0x0174 /* Near pointer to 32-bit signed int */
 
#define T_PUINT4   0x0175 /* Near pointer to 32-bit unsigned int */
 
#define T_PINT8   0x0176 /* Near pointer to 64-bit signed int */
 
#define T_PUINT8   0x0177 /* Near pointer to 64-bit unsigned int */
 
#define T_PCHAR16   0x017a /* Near pointer to 16-bit unicode char */
 
#define T_PCHAR32   0x017b /* Near pointer to 32-bit unicode char */
 
#define T_PFVOID   0x0203 /* Far pointer to void */
 
#define T_PFCHAR   0x0210 /* Far pointer to 8-bit signed */
 
#define T_PFSHORT   0x0211 /* Far pointer to 16-bit signed */
 
#define T_PFLONG   0x0212 /* Far pointer to 32-bit signed */
 
#define T_PFQUAD   0x0213 /* Far pointer to 64-bit signed */
 
#define T_PFUCHAR   0x0220 /* Far pointer to 8-bit unsigned */
 
#define T_PFUSHORT   0x0221 /* Far pointer to 16-bit unsigned */
 
#define T_PFULONG   0x0222 /* Far pointer to 32-bit unsigned */
 
#define T_PFUQUAD   0x0223 /* Far pointer to 64-bit unsigned */
 
#define T_PFBOOL08   0x0230 /* Far pointer to 8-bit Boolean */
 
#define T_PFBOOL16   0x0231 /* Far pointer to 16-bit Boolean */
 
#define T_PFBOOL32   0x0232 /* Far pointer to 32-bit Boolean */
 
#define T_PFBOOL64   0x0233 /* Far pointer to 64-bit Boolean */
 
#define T_PFREAL32   0x0240 /* Far pointer to 32-bit real */
 
#define T_PFREAL64   0x0241 /* Far pointer to 64-bit real */
 
#define T_PFREAL80   0x0242 /* Far pointer to 80-bit real */
 
#define T_PFREAL128   0x0243 /* Far pointer to 128-bit real */
 
#define T_PFREAL48   0x0244 /* Far pointer to 48-bit real */
 
#define T_PFCPLX32   0x0250 /* Far pointer to 32-bit complex */
 
#define T_PFCPLX64   0x0251 /* Far pointer to 64-bit complex */
 
#define T_PFCPLX80   0x0252 /* Far pointer to 80-bit complex */
 
#define T_PFCPLX128   0x0253 /* Far pointer to 128-bit complex */
 
#define T_PFRCHAR   0x0270 /* Far pointer to a real char */
 
#define T_PFWCHAR   0x0271 /* Far pointer to a wide char */
 
#define T_PFINT2   0x0272 /* Far pointer to 16-bit signed int */
 
#define T_PFUINT2   0x0273 /* Far pointer to 16-bit unsigned int */
 
#define T_PFINT4   0x0274 /* Far pointer to 32-bit signed int */
 
#define T_PFUINT4   0x0275 /* Far pointer to 32-bit unsigned int */
 
#define T_PFINT8   0x0276 /* Far pointer to 64-bit signed int */
 
#define T_PFUINT8   0x0277 /* Far pointer to 64-bit unsigned int */
 
#define T_PFCHAR16   0x027a /* Far pointer to 16-bit unicode char */
 
#define T_PFCHAR32   0x027b /* Far pointer to 32-bit unicode char */
 
#define T_PHVOID   0x0303 /* Huge pointer to void */
 
#define T_PHCHAR   0x0310 /* Huge pointer to 8-bit signed */
 
#define T_PHSHORT   0x0311 /* Huge pointer to 16-bit signed */
 
#define T_PHLONG   0x0312 /* Huge pointer to 32-bit signed */
 
#define T_PHQUAD   0x0313 /* Huge pointer to 64-bit signed */
 
#define T_PHUCHAR   0x0320 /* Huge pointer to 8-bit unsigned */
 
#define T_PHUSHORT   0x0321 /* Huge pointer to 16-bit unsigned */
 
#define T_PHULONG   0x0322 /* Huge pointer to 32-bit unsigned */
 
#define T_PHUQUAD   0x0323 /* Huge pointer to 64-bit unsigned */
 
#define T_PHBOOL08   0x0330 /* Huge pointer to 8-bit Boolean */
 
#define T_PHBOOL16   0x0331 /* Huge pointer to 16-bit Boolean */
 
#define T_PHBOOL32   0x0332 /* Huge pointer to 32-bit Boolean */
 
#define T_PHBOOL64   0x0333 /* Huge pointer to 64-bit Boolean */
 
#define T_PHREAL32   0x0340 /* Huge pointer to 32-bit real */
 
#define T_PHREAL64   0x0341 /* Huge pointer to 64-bit real */
 
#define T_PHREAL80   0x0342 /* Huge pointer to 80-bit real */
 
#define T_PHREAL128   0x0343 /* Huge pointer to 128-bit real */
 
#define T_PHREAL48   0x0344 /* Huge pointer to 48-bit real */
 
#define T_PHCPLX32   0x0350 /* Huge pointer to 32-bit complex */
 
#define T_PHCPLX64   0x0351 /* Huge pointer to 64-bit complex */
 
#define T_PHCPLX80   0x0352 /* Huge pointer to 80-bit complex */
 
#define T_PHCPLX128   0x0353 /* Huge pointer to 128-bit real */
 
#define T_PHRCHAR   0x0370 /* Huge pointer to a real char */
 
#define T_PHWCHAR   0x0371 /* Huge pointer to a wide char */
 
#define T_PHINT2   0x0372 /* Huge pointer to 16-bit signed int */
 
#define T_PHUINT2   0x0373 /* Huge pointer to 16-bit unsigned int */
 
#define T_PHINT4   0x0374 /* Huge pointer to 32-bit signed int */
 
#define T_PHUINT4   0x0375 /* Huge pointer to 32-bit unsigned int */
 
#define T_PHINT8   0x0376 /* Huge pointer to 64-bit signed int */
 
#define T_PHUINT8   0x0377 /* Huge pointer to 64-bit unsigned int */
 
#define T_PHCHAR16   0x037a /* Huge pointer to 16-bit unicode char */
 
#define T_PHCHAR32   0x037b /* Huge pointer to 32-bit unicode char */
 
#define T_32PVOID   0x0403 /* 32-bit near pointer to void */
 
#define T_32PHRESULT   0x0408 /* 16:32 near pointer to HRESULT - or error code ??? */
 
#define T_32PCHAR   0x0410 /* 16:32 near pointer to 8-bit signed */
 
#define T_32PSHORT   0x0411 /* 16:32 near pointer to 16-bit signed */
 
#define T_32PLONG   0x0412 /* 16:32 near pointer to 32-bit signed */
 
#define T_32PQUAD   0x0413 /* 16:32 near pointer to 64-bit signed */
 
#define T_32PUCHAR   0x0420 /* 16:32 near pointer to 8-bit unsigned */
 
#define T_32PUSHORT   0x0421 /* 16:32 near pointer to 16-bit unsigned */
 
#define T_32PULONG   0x0422 /* 16:32 near pointer to 32-bit unsigned */
 
#define T_32PUQUAD   0x0423 /* 16:32 near pointer to 64-bit unsigned */
 
#define T_32PBOOL08   0x0430 /* 16:32 near pointer to 8-bit Boolean */
 
#define T_32PBOOL16   0x0431 /* 16:32 near pointer to 16-bit Boolean */
 
#define T_32PBOOL32   0x0432 /* 16:32 near pointer to 32-bit Boolean */
 
#define T_32PBOOL64   0x0433 /* 16:32 near pointer to 64-bit Boolean */
 
#define T_32PREAL32   0x0440 /* 16:32 near pointer to 32-bit real */
 
#define T_32PREAL64   0x0441 /* 16:32 near pointer to 64-bit real */
 
#define T_32PREAL80   0x0442 /* 16:32 near pointer to 80-bit real */
 
#define T_32PREAL128   0x0443 /* 16:32 near pointer to 128-bit real */
 
#define T_32PREAL48   0x0444 /* 16:32 near pointer to 48-bit real */
 
#define T_32PCPLX32   0x0450 /* 16:32 near pointer to 32-bit complex */
 
#define T_32PCPLX64   0x0451 /* 16:32 near pointer to 64-bit complex */
 
#define T_32PCPLX80   0x0452 /* 16:32 near pointer to 80-bit complex */
 
#define T_32PCPLX128   0x0453 /* 16:32 near pointer to 128-bit complex */
 
#define T_32PRCHAR   0x0470 /* 16:32 near pointer to a real char */
 
#define T_32PWCHAR   0x0471 /* 16:32 near pointer to a wide char */
 
#define T_32PINT2   0x0472 /* 16:32 near pointer to 16-bit signed int */
 
#define T_32PUINT2   0x0473 /* 16:32 near pointer to 16-bit unsigned int */
 
#define T_32PINT4   0x0474 /* 16:32 near pointer to 32-bit signed int */
 
#define T_32PUINT4   0x0475 /* 16:32 near pointer to 32-bit unsigned int */
 
#define T_32PINT8   0x0476 /* 16:32 near pointer to 64-bit signed int */
 
#define T_32PUINT8   0x0477 /* 16:32 near pointer to 64-bit unsigned int */
 
#define T_32PCHAR16   0x047a /* 16:32 near pointer to 16-bit unicode char */
 
#define T_32PCHAR32   0x047b /* 16:32 near pointer to 32-bit unicode char */
 
#define T_32PFVOID   0x0503 /* 32-bit far pointer to void */
 
#define T_32PFHRESULT   0x0508 /* 16:32 far pointer to HRESULT - or error code ??? */
 
#define T_32PFCHAR   0x0510 /* 16:32 far pointer to 8-bit signed */
 
#define T_32PFSHORT   0x0511 /* 16:32 far pointer to 16-bit signed */
 
#define T_32PFLONG   0x0512 /* 16:32 far pointer to 32-bit signed */
 
#define T_32PFQUAD   0x0513 /* 16:32 far pointer to 64-bit signed */
 
#define T_32PFUCHAR   0x0520 /* 16:32 far pointer to 8-bit unsigned */
 
#define T_32PFUSHORT   0x0521 /* 16:32 far pointer to 16-bit unsigned */
 
#define T_32PFULONG   0x0522 /* 16:32 far pointer to 32-bit unsigned */
 
#define T_32PFUQUAD   0x0523 /* 16:32 far pointer to 64-bit unsigned */
 
#define T_32PFBOOL08   0x0530 /* 16:32 far pointer to 8-bit Boolean */
 
#define T_32PFBOOL16   0x0531 /* 16:32 far pointer to 16-bit Boolean */
 
#define T_32PFBOOL32   0x0532 /* 16:32 far pointer to 32-bit Boolean */
 
#define T_32PFBOOL64   0x0533 /* 16:32 far pointer to 64-bit Boolean */
 
#define T_32PFREAL32   0x0540 /* 16:32 far pointer to 32-bit real */
 
#define T_32PFREAL64   0x0541 /* 16:32 far pointer to 64-bit real */
 
#define T_32PFREAL80   0x0542 /* 16:32 far pointer to 80-bit real */
 
#define T_32PFREAL128   0x0543 /* 16:32 far pointer to 128-bit real */
 
#define T_32PFREAL48   0x0544 /* 16:32 far pointer to 48-bit real */
 
#define T_32PFCPLX32   0x0550 /* 16:32 far pointer to 32-bit complex */
 
#define T_32PFCPLX64   0x0551 /* 16:32 far pointer to 64-bit complex */
 
#define T_32PFCPLX80   0x0552 /* 16:32 far pointer to 80-bit complex */
 
#define T_32PFCPLX128   0x0553 /* 16:32 far pointer to 128-bit complex */
 
#define T_32PFRCHAR   0x0570 /* 16:32 far pointer to a real char */
 
#define T_32PFWCHAR   0x0571 /* 16:32 far pointer to a wide char */
 
#define T_32PFINT2   0x0572 /* 16:32 far pointer to 16-bit signed int */
 
#define T_32PFUINT2   0x0573 /* 16:32 far pointer to 16-bit unsigned int */
 
#define T_32PFINT4   0x0574 /* 16:32 far pointer to 32-bit signed int */
 
#define T_32PFUINT4   0x0575 /* 16:32 far pointer to 32-bit unsigned int */
 
#define T_32PFINT8   0x0576 /* 16:32 far pointer to 64-bit signed int */
 
#define T_32PFUINT8   0x0577 /* 16:32 far pointer to 64-bit unsigned int */
 
#define T_32PFCHAR16   0x057a /* 16:32 far pointer to 16-bit unicode char */
 
#define T_32PFCHAR32   0x057b /* 16:32 far pointer to 32-bit unicode char */
 
#define T_64PVOID   0x0603 /* 64-bit near pointer to void */
 
#define T_64PHRESULT   0x0608 /* 64 near pointer to HRESULT - or error code ??? */
 
#define T_64PCHAR   0x0610 /* 64 near pointer to 8-bit signed */
 
#define T_64PSHORT   0x0611 /* 64 near pointer to 16-bit signed */
 
#define T_64PLONG   0x0612 /* 64 near pointer to 32-bit signed */
 
#define T_64PQUAD   0x0613 /* 64 near pointer to 64-bit signed */
 
#define T_64PUCHAR   0x0620 /* 64 near pointer to 8-bit unsigned */
 
#define T_64PUSHORT   0x0621 /* 64 near pointer to 16-bit unsigned */
 
#define T_64PULONG   0x0622 /* 64 near pointer to 32-bit unsigned */
 
#define T_64PUQUAD   0x0623 /* 64 near pointer to 64-bit unsigned */
 
#define T_64PBOOL08   0x0630 /* 64 near pointer to 8-bit Boolean */
 
#define T_64PBOOL16   0x0631 /* 64 near pointer to 16-bit Boolean */
 
#define T_64PBOOL32   0x0632 /* 64 near pointer to 32-bit Boolean */
 
#define T_64PBOOL64   0x0633 /* 64 near pointer to 64-bit Boolean */
 
#define T_64PREAL32   0x0640 /* 64 near pointer to 32-bit real */
 
#define T_64PREAL64   0x0641 /* 64 near pointer to 64-bit real */
 
#define T_64PREAL80   0x0642 /* 64 near pointer to 80-bit real */
 
#define T_64PREAL128   0x0643 /* 64 near pointer to 128-bit real */
 
#define T_64PREAL48   0x0644 /* 64 near pointer to 48-bit real */
 
#define T_64PCPLX32   0x0650 /* 64 near pointer to 32-bit complex */
 
#define T_64PCPLX64   0x0651 /* 64 near pointer to 64-bit complex */
 
#define T_64PCPLX80   0x0652 /* 64 near pointer to 80-bit complex */
 
#define T_64PCPLX128   0x0653 /* 64 near pointer to 128-bit complex */
 
#define T_64PRCHAR   0x0670 /* 64 near pointer to a real char */
 
#define T_64PWCHAR   0x0671 /* 64 near pointer to a wide char */
 
#define T_64PINT2   0x0672 /* 64 near pointer to 16-bit signed int */
 
#define T_64PUINT2   0x0673 /* 64 near pointer to 16-bit unsigned int */
 
#define T_64PINT4   0x0674 /* 64 near pointer to 32-bit signed int */
 
#define T_64PUINT4   0x0675 /* 64 near pointer to 32-bit unsigned int */
 
#define T_64PINT8   0x0676 /* 64 near pointer to 64-bit signed int */
 
#define T_64PUINT8   0x0677 /* 64 near pointer to 64-bit unsigned int */
 
#define T_64PCHAR16   0x067a /* 64 near pointer to 16-bit unicode char */
 
#define T_64PCHAR32   0x067b /* 64 near pointer to 32-bit unicode char */
 
#define T_MAXPREDEFINEDTYPE   0x0580 /* maximum type index for all built-in types */
 
#define T_MAXBASICTYPE   0x0080 /* maximum type index all non-pointer built-in types */
 
#define T_BASICTYPE_MASK   0x00ff /* mask of bits that can potentially identify a non-pointer basic type */
 
#define T_BASICTYPE_SHIFT   8 /* shift count to push out the basic type bits from a type number */
 
#define T_MODE_MASK   0x0700 /* type mode mask (ptr/non-ptr) */
 
#define T_SIZE_MASK   0x0007 /* type size mask (depends on 'type' value) */
 
#define T_TYPE_MASK   0x00f0 /* type type mask (data treatment mode) */
 
#define T_NEARPTR_BITS   0x0100
 
#define T_FARPTR_BITS   0x0200
 
#define T_HUGEPTR_BITS   0x0300
 
#define T_NEAR32PTR_BITS   0x0400
 
#define T_FAR32PTR_BITS   0x0500
 
#define T_NEAR64PTR_BITS   0x0600
 
#define LF_MODIFIER_V1   0x0001
 
#define LF_POINTER_V1   0x0002
 
#define LF_ARRAY_V1   0x0003
 
#define LF_CLASS_V1   0x0004
 
#define LF_STRUCTURE_V1   0x0005
 
#define LF_UNION_V1   0x0006
 
#define LF_ENUM_V1   0x0007
 
#define LF_PROCEDURE_V1   0x0008
 
#define LF_MFUNCTION_V1   0x0009
 
#define LF_VTSHAPE_V1   0x000a
 
#define LF_COBOL0_V1   0x000b
 
#define LF_COBOL1_V1   0x000c
 
#define LF_BARRAY_V1   0x000d
 
#define LF_LABEL_V1   0x000e
 
#define LF_NULL_V1   0x000f
 
#define LF_NOTTRAN_V1   0x0010
 
#define LF_DIMARRAY_V1   0x0011
 
#define LF_VFTPATH_V1   0x0012
 
#define LF_PRECOMP_V1   0x0013
 
#define LF_ENDPRECOMP_V1   0x0014
 
#define LF_OEM_V1   0x0015
 
#define LF_TYPESERVER_V1   0x0016
 
#define LF_MODIFIER_V2   0x1001 /* variants with new 32-bit type indices (V2) */
 
#define LF_POINTER_V2   0x1002
 
#define LF_ARRAY_V2   0x1003
 
#define LF_CLASS_V2   0x1004
 
#define LF_STRUCTURE_V2   0x1005
 
#define LF_UNION_V2   0x1006
 
#define LF_ENUM_V2   0x1007
 
#define LF_PROCEDURE_V2   0x1008
 
#define LF_MFUNCTION_V2   0x1009
 
#define LF_COBOL0_V2   0x100a
 
#define LF_BARRAY_V2   0x100b
 
#define LF_DIMARRAY_V2   0x100c
 
#define LF_VFTPATH_V2   0x100d
 
#define LF_PRECOMP_V2   0x100e
 
#define LF_OEM_V2   0x100f
 
#define LF_SKIP_V1   0x0200
 
#define LF_ARGLIST_V1   0x0201
 
#define LF_DEFARG_V1   0x0202
 
#define LF_LIST_V1   0x0203
 
#define LF_FIELDLIST_V1   0x0204
 
#define LF_DERIVED_V1   0x0205
 
#define LF_BITFIELD_V1   0x0206
 
#define LF_METHODLIST_V1   0x0207
 
#define LF_DIMCONU_V1   0x0208
 
#define LF_DIMCONLU_V1   0x0209
 
#define LF_DIMVARU_V1   0x020a
 
#define LF_DIMVARLU_V1   0x020b
 
#define LF_REFSYM_V1   0x020c
 
#define LF_SKIP_V2   0x1200 /* variants with new 32-bit type indices (V2) */
 
#define LF_ARGLIST_V2   0x1201
 
#define LF_DEFARG_V2   0x1202
 
#define LF_FIELDLIST_V2   0x1203
 
#define LF_DERIVED_V2   0x1204
 
#define LF_BITFIELD_V2   0x1205
 
#define LF_METHODLIST_V2   0x1206
 
#define LF_DIMCONU_V2   0x1207
 
#define LF_DIMCONLU_V2   0x1208
 
#define LF_DIMVARU_V2   0x1209
 
#define LF_DIMVARLU_V2   0x120a
 
#define LF_BCLASS_V1   0x0400
 
#define LF_VBCLASS_V1   0x0401
 
#define LF_IVBCLASS_V1   0x0402
 
#define LF_ENUMERATE_V1   0x0403
 
#define LF_FRIENDFCN_V1   0x0404
 
#define LF_INDEX_V1   0x0405
 
#define LF_MEMBER_V1   0x0406
 
#define LF_STMEMBER_V1   0x0407
 
#define LF_METHOD_V1   0x0408
 
#define LF_NESTTYPE_V1   0x0409
 
#define LF_VFUNCTAB_V1   0x040a
 
#define LF_FRIENDCLS_V1   0x040b
 
#define LF_ONEMETHOD_V1   0x040c
 
#define LF_VFUNCOFF_V1   0x040d
 
#define LF_NESTTYPEEX_V1   0x040e
 
#define LF_MEMBERMODIFY_V1   0x040f
 
#define LF_BCLASS_V2   0x1400 /* variants with new 32-bit type indices (V2) */
 
#define LF_VBCLASS_V2   0x1401
 
#define LF_IVBCLASS_V2   0x1402
 
#define LF_FRIENDFCN_V2   0x1403
 
#define LF_INDEX_V2   0x1404
 
#define LF_MEMBER_V2   0x1405
 
#define LF_STMEMBER_V2   0x1406
 
#define LF_METHOD_V2   0x1407
 
#define LF_NESTTYPE_V2   0x1408
 
#define LF_VFUNCTAB_V2   0x1409
 
#define LF_FRIENDCLS_V2   0x140a
 
#define LF_ONEMETHOD_V2   0x140b
 
#define LF_VFUNCOFF_V2   0x140c
 
#define LF_NESTTYPEEX_V2   0x140d
 
#define LF_ENUMERATE_V3   0x1502
 
#define LF_ARRAY_V3   0x1503
 
#define LF_CLASS_V3   0x1504
 
#define LF_STRUCTURE_V3   0x1505
 
#define LF_UNION_V3   0x1506
 
#define LF_ENUM_V3   0x1507
 
#define LF_MEMBER_V3   0x150d
 
#define LF_STMEMBER_V3   0x150e
 
#define LF_METHOD_V3   0x150f
 
#define LF_NESTTYPE_V3   0x1510
 
#define LF_ONEMETHOD_V3   0x1511
 
#define LF_NUMERIC   0x8000 /* numeric leaf types */
 
#define LF_CHAR   0x8000
 
#define LF_SHORT   0x8001
 
#define LF_USHORT   0x8002
 
#define LF_LONG   0x8003
 
#define LF_ULONG   0x8004
 
#define LF_REAL32   0x8005
 
#define LF_REAL64   0x8006
 
#define LF_REAL80   0x8007
 
#define LF_REAL128   0x8008
 
#define LF_QUADWORD   0x8009
 
#define LF_UQUADWORD   0x800a
 
#define LF_REAL48   0x800b
 
#define LF_COMPLEX32   0x800c
 
#define LF_COMPLEX64   0x800d
 
#define LF_COMPLEX80   0x800e
 
#define LF_COMPLEX128   0x800f
 
#define LF_VARSTRING   0x8010
 
#define SYMTYPE_NONE   0x0000
 
#define SYMTYPE_CODE   0x0001
 
#define SYMTYPE_FUNCTION   0x0002
 
#define SYMTYPE_MANAGED   0x0004
 
#define SYMTYPE_MSIL   0x0008
 
#define S_COMPILAND_V1   0x0001
 
#define S_REGISTER_V1   0x0002
 
#define S_CONSTANT_V1   0x0003
 
#define S_UDT_V1   0x0004
 
#define S_SSEARCH_V1   0x0005
 
#define S_END_V1   0x0006
 
#define S_SKIP_V1   0x0007
 
#define S_CVRESERVE_V1   0x0008
 
#define S_OBJNAME_V1   0x0009
 
#define S_ENDARG_V1   0x000a
 
#define S_COBOLUDT_V1   0x000b
 
#define S_MANYREG_V1   0x000c
 
#define S_RETURN_V1   0x000d
 
#define S_ENTRYTHIS_V1   0x000e
 
#define S_BPREL_V1   0x0200
 
#define S_LDATA_V1   0x0201
 
#define S_GDATA_V1   0x0202
 
#define S_PUB_V1   0x0203
 
#define S_LPROC_V1   0x0204
 
#define S_GPROC_V1   0x0205
 
#define S_THUNK_V1   0x0206
 
#define S_BLOCK_V1   0x0207
 
#define S_WITH_V1   0x0208
 
#define S_LABEL_V1   0x0209
 
#define S_CEXMODEL_V1   0x020a
 
#define S_VFTPATH_V1   0x020b
 
#define S_REGREL_V1   0x020c
 
#define S_LTHREAD_V1   0x020d
 
#define S_GTHREAD_V1   0x020e
 
#define S_PROCREF_V1   0x0400
 
#define S_DATAREF_V1   0x0401
 
#define S_ALIGN_V1   0x0402
 
#define S_LPROCREF_V1   0x0403
 
#define S_REGISTER_V2   0x1001 /* Variants with new 32-bit type indices */
 
#define S_CONSTANT_V2   0x1002
 
#define S_UDT_V2   0x1003
 
#define S_COBOLUDT_V2   0x1004
 
#define S_MANYREG_V2   0x1005
 
#define S_BPREL_V2   0x1006
 
#define S_LDATA_V2   0x1007
 
#define S_GDATA_V2   0x1008
 
#define S_PUB_V2   0x1009
 
#define S_LPROC_V2   0x100a
 
#define S_GPROC_V2   0x100b
 
#define S_VFTTABLE_V2   0x100c
 
#define S_REGREL_V2   0x100d
 
#define S_LTHREAD_V2   0x100e
 
#define S_GTHREAD_V2   0x100f
 
#define S_FRAMEINFO_V2   0x1012
 
#define S_COMPILAND_V2   0x1013
 
#define S_COMPILAND_V3   0x1101
 
#define S_THUNK_V3   0x1102
 
#define S_BLOCK_V3   0x1103
 
#define S_WITH_V3   0x1104
 
#define S_LABEL_V3   0x1105
 
#define S_REGISTER_V3   0x1106
 
#define S_CONSTANT_V3   0x1107
 
#define S_UDT_V3   0x1108
 
#define S_COBOLUDT_V3   0x1109
 
#define S_MANYREG_V3   0x110A
 
#define S_BPREL_V3   0x110B
 
#define S_LDATA_V3   0x110C
 
#define S_GDATA_V3   0x110D
 
#define S_PUB_V3   0x110E
 
#define S_LPROC_V3   0x110F
 
#define S_GPROC_V3   0x1110
 
#define S_REGREL_V3   0x1111
 
#define S_LTHREAD_V3   0x1112
 
#define S_GTHREAD_V3   0x1113
 
#define S_LPROCMIPS   0x1114
 
#define S_GPROCMIPS   0x1115
 
#define S_MSTOOL_V3   0x1116 /* compiler command line options and build information */
 
#define S_MANYREG2   0x1117
 
#define S_LPROCIA64   0x1118
 
#define S_GPROCIA64   0x1119
 
#define S_LOCALSLOT   0x111A
 
#define S_PARAMSLOT   0x111B
 
#define S_LMANDATA   0x111C
 
#define S_GMANDATA   0x111D
 
#define S_MANFRAMEREL   0x111E
 
#define S_MANREGISTER   0x111F
 
#define S_MANSLOT   0x1120
 
#define S_MANMANYREG   0x1121
 
#define S_MANREGREL   0x1122
 
#define S_MANMANYREG2   0x1123
 
#define S_UNAMESPACE   0x1124
 
#define S_PUB_FUNC1_V3   0x1125 /* didn't get the difference between the two */
 
#define S_DATAREF_V3   0x1126
 
#define S_PUB_FUNC2_V3   0x1127
 
#define S_ANNOTATIONREF   0x1128
 
#define S_TOKENREF   0x1129
 
#define S_GMANPROC   0x112A
 
#define S_LMANPROC   0x112B
 
#define S_TRAMPOLINE   0x112C
 
#define S_MANCONSTANT   0x112D
 
#define S_ATTR_FRAMEREL   0x112E
 
#define S_ATTR_REGISTER   0x112F
 
#define S_ATTR_REGREL   0x1130
 
#define S_ATTR_MANYREG   0x1131
 
#define S_SEPCODE   0x1132
 
#define S_LOCAL_2005   0x1133
 
#define S_DEFRANGE_2005   0x1134
 
#define S_DEFRANGE2_2005   0x1135
 
#define S_SECTINFO_V3   0x1136
 
#define S_SUBSECTINFO_V3   0x1137
 
#define S_ENTRYPOINT_V3   0x1138
 
#define S_CALLSITEINFO   0x1139
 
#define S_SECUCOOKIE_V3   0x113A
 
#define S_DISCARDED   0x113B
 
#define S_MSTOOLINFO_V3   0x113C
 
#define S_MSTOOLENV_V3   0x113D
 
#define S_LOCAL_VS2013   0x113E
 
#define S_DEFRANGE_VS2013   0x113F
 
#define S_DEFRANGE_SUBFIELD   0x1140
 
#define S_DEFRANGE_REGISTER   0x1141
 
#define S_DEFRANGE_FRAMEPOINTER_REL   0x1142
 
#define S_DEFRANGE_SUBFIELD_REGISTER   0x1143
 
#define S_FPOFF_VS2013   0x1144
 
#define S_DEFRANGE_REGISTER_REL   0x1145
 
#define S_LPROC32_VS2013   0x1146
 
#define S_GPROC32_VS2013   0x1147
 
#define S_LPROCMIPS_ID   0x1148
 
#define S_GPROCMIPS_ID   0x1149
 
#define S_LPROCIA64_ID   0x114A
 
#define S_GPROCIA64_ID   0x114B
 
#define S_BUILDINFO   0x114C
 
#define S_INLINESITE   0x114D
 
#define S_INLINESITE_END   0x114E
 
#define S_PROC_ID_END   0x114F
 
#define S_DEFRANGE_HLSL   0x1150
 
#define S_GDATA_HLSL   0x1151
 
#define S_LDATA_HLSL   0x1152
 
#define S_FILESTATIC   0x1153
 
#define S_ARMSWITCHTABLE   0x1159
 
#define S_CALLEES   0x115A
 
#define S_CALLERS   0x115B
 
#define S_POGODATA   0x115C
 
#define S_INLINESITE2   0x115D
 
#define S_HEAPALLOCSITE   0x115E
 
#define S_MOD_TYPEREF   0x115F
 
#define S_REF_MINIPDB   0x1160
 
#define S_PDBMAP   0x1161
 
#define S_GDATA_HLSL32   0x1162
 
#define S_LDATA_HLSL32   0x1163
 
#define S_GDATA_HLSL32_EX   0x1164
 
#define S_LDATA_HLSL32_EX   0x1165
 
#define LT2_LINES_BLOCK   0x000000f2
 
#define LT2_FILES_BLOCK   0x000000f4
 
#define PDB_FPO_DFL_SEH   0x00000001
 
#define PDB_FPO_DFL_EH   0x00000002
 
#define PDB_FPO_DFL_IN_BLOCK   0x00000004
 
#define sstModule   0x120
 
#define sstTypes   0x121
 
#define sstPublic   0x122
 
#define sstPublicSym   0x123
 
#define sstSymbols   0x124
 
#define sstAlignSym   0x125
 
#define sstSrcLnSeg   0x126
 
#define sstSrcModule   0x127
 
#define sstLibraries   0x128
 
#define sstGlobalSym   0x129
 
#define sstGlobalPub   0x12a
 
#define sstGlobalTypes   0x12b
 
#define sstMPC   0x12c
 
#define sstSegMap   0x12d
 
#define sstSegName   0x12e
 
#define sstPreComp   0x12f
 
#define sstFileIndex   0x133
 
#define sstStaticSym   0x134
 

Typedefs

typedef struct _PDB_TYPES_OLD PDB_TYPES_OLD
 
typedef struct _PDB_TYPES_OLDPPDB_TYPES_OLD
 
typedef struct _PDB_TYPES PDB_TYPES
 
typedef struct _PDB_TYPESPPDB_TYPES
 
typedef struct _PDB_SYMBOL_RANGE PDB_SYMBOL_RANGE
 
typedef struct _PDB_SYMBOL_RANGEPPDB_SYMBOL_RANGE
 
typedef struct _PDB_SYMBOL_RANGE_EX PDB_SYMBOL_RANGE_EX
 
typedef struct _PDB_SYMBOL_RANGE_EXPPDB_SYMBOL_RANGE_EX
 
typedef struct _PDB_SYMBOL_FILE PDB_SYMBOL_FILE
 
typedef struct _PDB_SYMBOL_FILEPPDB_SYMBOL_FILE
 
typedef struct _PDB_SYMBOL_FILE_EX PDB_SYMBOL_FILE_EX
 
typedef struct _PDB_SYMBOL_FILE_EXPPDB_SYMBOL_FILE_EX
 
typedef struct _PDB_SYMBOL_SOURCE PDB_SYMBOL_SOURCE
 
typedef struct _PDB_SYMBOL_SOURCEPPDB_SYMBOL_SOURCE
 
typedef struct _PDB_SYMBOL_IMPORT PDB_SYMBOL_IMPORT
 
typedef struct _PDB_SYMBOL_IMPORTPPDB_SYMBOL_IMPORT
 
typedef struct _PDB_SYMBOLS_OLD PDB_SYMBOLS_OLD
 
typedef struct _PDB_SYMBOLS_OLDPPDB_SYMBOLS_OLD
 
typedef struct _PDB_SYMBOLS PDB_SYMBOLS
 
typedef struct _PDB_SYMBOLSPPDB_SYMBOLS
 
typedef struct _PDB_FPO_DATA PDB_FPO_DATA
 
typedef struct OMFSignature OMFSignature
 
typedef struct OMFSignatureRSDS OMFSignatureRSDS
 
typedef struct _CODEVIEW_PDB_DATA CODEVIEW_PDB_DATA
 
typedef struct _CODEVIEW_PDB_DATAPCODEVIEW_PDB_DATA
 
typedef struct OMFDirHeader OMFDirHeader
 
typedef struct OMFDirEntry OMFDirEntry
 
typedef struct OMFSegDesc OMFSegDesc
 
typedef struct OMFModule OMFModule
 
typedef struct OMFGlobalTypes OMFGlobalTypes
 
typedef struct OMFSymHash OMFSymHash
 
typedef struct OMFSegMapDesc OMFSegMapDesc
 
typedef struct OMFSegMap OMFSegMap
 
typedef struct OMFSourceLine OMFSourceLine
 
typedef struct OMFSourceFile OMFSourceFile
 
typedef struct OMFSourceModule OMFSourceModule
 

Functions

static const struct codeview_linetab2codeview_linetab2_next_block (const struct codeview_linetab2 *lt2)
 
BOOL coff_process_info (const struct msc_debug_info *msc_dbg)
 

Macro Definition Documentation

◆ LF_ARGLIST_V1

#define LF_ARGLIST_V1   0x0201

Definition at line 1143 of file mscvpdb.h.

◆ LF_ARGLIST_V2

#define LF_ARGLIST_V2   0x1201

Definition at line 1157 of file mscvpdb.h.

◆ LF_ARRAY_V1

#define LF_ARRAY_V1   0x0003

Definition at line 1105 of file mscvpdb.h.

◆ LF_ARRAY_V2

#define LF_ARRAY_V2   0x1003

Definition at line 1128 of file mscvpdb.h.

◆ LF_ARRAY_V3

#define LF_ARRAY_V3   0x1503

Definition at line 1202 of file mscvpdb.h.

◆ LF_BARRAY_V1

#define LF_BARRAY_V1   0x000d

Definition at line 1115 of file mscvpdb.h.

◆ LF_BARRAY_V2

#define LF_BARRAY_V2   0x100b

Definition at line 1136 of file mscvpdb.h.

◆ LF_BCLASS_V1

#define LF_BCLASS_V1   0x0400

Definition at line 1169 of file mscvpdb.h.

◆ LF_BCLASS_V2

#define LF_BCLASS_V2   0x1400 /* variants with new 32-bit type indices (V2) */

Definition at line 1186 of file mscvpdb.h.

◆ LF_BITFIELD_V1

#define LF_BITFIELD_V1   0x0206

Definition at line 1148 of file mscvpdb.h.

◆ LF_BITFIELD_V2

#define LF_BITFIELD_V2   0x1205

Definition at line 1161 of file mscvpdb.h.

◆ LF_CHAR

#define LF_CHAR   0x8000

Definition at line 1214 of file mscvpdb.h.

◆ LF_CLASS_V1

#define LF_CLASS_V1   0x0004

Definition at line 1106 of file mscvpdb.h.

◆ LF_CLASS_V2

#define LF_CLASS_V2   0x1004

Definition at line 1129 of file mscvpdb.h.

◆ LF_CLASS_V3

#define LF_CLASS_V3   0x1504

Definition at line 1203 of file mscvpdb.h.

◆ LF_COBOL0_V1

#define LF_COBOL0_V1   0x000b

Definition at line 1113 of file mscvpdb.h.

◆ LF_COBOL0_V2

#define LF_COBOL0_V2   0x100a

Definition at line 1135 of file mscvpdb.h.

◆ LF_COBOL1_V1

#define LF_COBOL1_V1   0x000c

Definition at line 1114 of file mscvpdb.h.

◆ LF_COMPLEX128

#define LF_COMPLEX128   0x800f

Definition at line 1229 of file mscvpdb.h.

◆ LF_COMPLEX32

#define LF_COMPLEX32   0x800c

Definition at line 1226 of file mscvpdb.h.

◆ LF_COMPLEX64

#define LF_COMPLEX64   0x800d

Definition at line 1227 of file mscvpdb.h.

◆ LF_COMPLEX80

#define LF_COMPLEX80   0x800e

Definition at line 1228 of file mscvpdb.h.

◆ LF_DEFARG_V1

#define LF_DEFARG_V1   0x0202

Definition at line 1144 of file mscvpdb.h.

◆ LF_DEFARG_V2

#define LF_DEFARG_V2   0x1202

Definition at line 1158 of file mscvpdb.h.

◆ LF_DERIVED_V1

#define LF_DERIVED_V1   0x0205

Definition at line 1147 of file mscvpdb.h.

◆ LF_DERIVED_V2

#define LF_DERIVED_V2   0x1204

Definition at line 1160 of file mscvpdb.h.

◆ LF_DIMARRAY_V1

#define LF_DIMARRAY_V1   0x0011

Definition at line 1119 of file mscvpdb.h.

◆ LF_DIMARRAY_V2

#define LF_DIMARRAY_V2   0x100c

Definition at line 1137 of file mscvpdb.h.

◆ LF_DIMCONLU_V1

#define LF_DIMCONLU_V1   0x0209

Definition at line 1151 of file mscvpdb.h.

◆ LF_DIMCONLU_V2

#define LF_DIMCONLU_V2   0x1208

Definition at line 1164 of file mscvpdb.h.

◆ LF_DIMCONU_V1

#define LF_DIMCONU_V1   0x0208

Definition at line 1150 of file mscvpdb.h.

◆ LF_DIMCONU_V2

#define LF_DIMCONU_V2   0x1207

Definition at line 1163 of file mscvpdb.h.

◆ LF_DIMVARLU_V1

#define LF_DIMVARLU_V1   0x020b

Definition at line 1153 of file mscvpdb.h.

◆ LF_DIMVARLU_V2

#define LF_DIMVARLU_V2   0x120a

Definition at line 1166 of file mscvpdb.h.

◆ LF_DIMVARU_V1

#define LF_DIMVARU_V1   0x020a

Definition at line 1152 of file mscvpdb.h.

◆ LF_DIMVARU_V2

#define LF_DIMVARU_V2   0x1209

Definition at line 1165 of file mscvpdb.h.

◆ LF_ENDPRECOMP_V1

#define LF_ENDPRECOMP_V1   0x0014

Definition at line 1122 of file mscvpdb.h.

◆ LF_ENUM_V1

#define LF_ENUM_V1   0x0007

Definition at line 1109 of file mscvpdb.h.

◆ LF_ENUM_V2

#define LF_ENUM_V2   0x1007

Definition at line 1132 of file mscvpdb.h.

◆ LF_ENUM_V3

#define LF_ENUM_V3   0x1507

Definition at line 1206 of file mscvpdb.h.

◆ LF_ENUMERATE_V1

#define LF_ENUMERATE_V1   0x0403

Definition at line 1172 of file mscvpdb.h.

◆ LF_ENUMERATE_V3

#define LF_ENUMERATE_V3   0x1502

Definition at line 1201 of file mscvpdb.h.

◆ LF_FIELDLIST_V1

#define LF_FIELDLIST_V1   0x0204

Definition at line 1146 of file mscvpdb.h.

◆ LF_FIELDLIST_V2

#define LF_FIELDLIST_V2   0x1203

Definition at line 1159 of file mscvpdb.h.

◆ LF_FRIENDCLS_V1

#define LF_FRIENDCLS_V1   0x040b

Definition at line 1180 of file mscvpdb.h.

◆ LF_FRIENDCLS_V2

#define LF_FRIENDCLS_V2   0x140a

Definition at line 1196 of file mscvpdb.h.

◆ LF_FRIENDFCN_V1

#define LF_FRIENDFCN_V1   0x0404

Definition at line 1173 of file mscvpdb.h.

◆ LF_FRIENDFCN_V2

#define LF_FRIENDFCN_V2   0x1403

Definition at line 1189 of file mscvpdb.h.

◆ LF_INDEX_V1

#define LF_INDEX_V1   0x0405

Definition at line 1174 of file mscvpdb.h.

◆ LF_INDEX_V2

#define LF_INDEX_V2   0x1404

Definition at line 1190 of file mscvpdb.h.

◆ LF_IVBCLASS_V1

#define LF_IVBCLASS_V1   0x0402

Definition at line 1171 of file mscvpdb.h.

◆ LF_IVBCLASS_V2

#define LF_IVBCLASS_V2   0x1402

Definition at line 1188 of file mscvpdb.h.

◆ LF_LABEL_V1

#define LF_LABEL_V1   0x000e

Definition at line 1116 of file mscvpdb.h.

◆ LF_LIST_V1

#define LF_LIST_V1   0x0203

Definition at line 1145 of file mscvpdb.h.

◆ LF_LONG

#define LF_LONG   0x8003

Definition at line 1217 of file mscvpdb.h.

◆ LF_MEMBER_V1

#define LF_MEMBER_V1   0x0406

Definition at line 1175 of file mscvpdb.h.

◆ LF_MEMBER_V2

#define LF_MEMBER_V2   0x1405

Definition at line 1191 of file mscvpdb.h.

◆ LF_MEMBER_V3

#define LF_MEMBER_V3   0x150d

Definition at line 1207 of file mscvpdb.h.

◆ LF_MEMBERMODIFY_V1

#define LF_MEMBERMODIFY_V1   0x040f

Definition at line 1184 of file mscvpdb.h.

◆ LF_METHOD_V1

#define LF_METHOD_V1   0x0408

Definition at line 1177 of file mscvpdb.h.

◆ LF_METHOD_V2

#define LF_METHOD_V2   0x1407

Definition at line 1193 of file mscvpdb.h.

◆ LF_METHOD_V3

#define LF_METHOD_V3   0x150f

Definition at line 1209 of file mscvpdb.h.

◆ LF_METHODLIST_V1

#define LF_METHODLIST_V1   0x0207

Definition at line 1149 of file mscvpdb.h.

◆ LF_METHODLIST_V2

#define LF_METHODLIST_V2   0x1206

Definition at line 1162 of file mscvpdb.h.

◆ LF_MFUNCTION_V1

#define LF_MFUNCTION_V1   0x0009

Definition at line 1111 of file mscvpdb.h.

◆ LF_MFUNCTION_V2

#define LF_MFUNCTION_V2   0x1009

Definition at line 1134 of file mscvpdb.h.

◆ LF_MODIFIER_V1

#define LF_MODIFIER_V1   0x0001

Definition at line 1103 of file mscvpdb.h.

◆ LF_MODIFIER_V2

#define LF_MODIFIER_V2   0x1001 /* variants with new 32-bit type indices (V2) */

Definition at line 1126 of file mscvpdb.h.

◆ LF_NESTTYPE_V1

#define LF_NESTTYPE_V1   0x0409

Definition at line 1178 of file mscvpdb.h.

◆ LF_NESTTYPE_V2

#define LF_NESTTYPE_V2   0x1408

Definition at line 1194 of file mscvpdb.h.

◆ LF_NESTTYPE_V3

#define LF_NESTTYPE_V3   0x1510

Definition at line 1210 of file mscvpdb.h.

◆ LF_NESTTYPEEX_V1

#define LF_NESTTYPEEX_V1   0x040e

Definition at line 1183 of file mscvpdb.h.

◆ LF_NESTTYPEEX_V2

#define LF_NESTTYPEEX_V2   0x140d

Definition at line 1199 of file mscvpdb.h.

◆ LF_NOTTRAN_V1

#define LF_NOTTRAN_V1   0x0010

Definition at line 1118 of file mscvpdb.h.

◆ LF_NULL_V1

#define LF_NULL_V1   0x000f

Definition at line 1117 of file mscvpdb.h.

◆ LF_NUMERIC

#define LF_NUMERIC   0x8000 /* numeric leaf types */

Definition at line 1213 of file mscvpdb.h.

◆ LF_OEM_V1

#define LF_OEM_V1   0x0015

Definition at line 1123 of file mscvpdb.h.

◆ LF_OEM_V2

#define LF_OEM_V2   0x100f

Definition at line 1140 of file mscvpdb.h.

◆ LF_ONEMETHOD_V1

#define LF_ONEMETHOD_V1   0x040c

Definition at line 1181 of file mscvpdb.h.

◆ LF_ONEMETHOD_V2

#define LF_ONEMETHOD_V2   0x140b

Definition at line 1197 of file mscvpdb.h.

◆ LF_ONEMETHOD_V3

#define LF_ONEMETHOD_V3   0x1511

Definition at line 1211 of file mscvpdb.h.

◆ LF_POINTER_V1

#define LF_POINTER_V1   0x0002

Definition at line 1104 of file mscvpdb.h.

◆ LF_POINTER_V2

#define LF_POINTER_V2   0x1002

Definition at line 1127 of file mscvpdb.h.

◆ LF_PRECOMP_V1

#define LF_PRECOMP_V1   0x0013

Definition at line 1121 of file mscvpdb.h.

◆ LF_PRECOMP_V2

#define LF_PRECOMP_V2   0x100e

Definition at line 1139 of file mscvpdb.h.

◆ LF_PROCEDURE_V1

#define LF_PROCEDURE_V1   0x0008

Definition at line 1110 of file mscvpdb.h.

◆ LF_PROCEDURE_V2

#define LF_PROCEDURE_V2   0x1008

Definition at line 1133 of file mscvpdb.h.

◆ LF_QUADWORD

#define LF_QUADWORD   0x8009

Definition at line 1223 of file mscvpdb.h.

◆ LF_REAL128

#define LF_REAL128   0x8008

Definition at line 1222 of file mscvpdb.h.

◆ LF_REAL32

#define LF_REAL32   0x8005

Definition at line 1219 of file mscvpdb.h.

◆ LF_REAL48

#define LF_REAL48   0x800b

Definition at line 1225 of file mscvpdb.h.

◆ LF_REAL64

#define LF_REAL64   0x8006

Definition at line 1220 of file mscvpdb.h.

◆ LF_REAL80

#define LF_REAL80   0x8007

Definition at line 1221 of file mscvpdb.h.

◆ LF_REFSYM_V1

#define LF_REFSYM_V1   0x020c

Definition at line 1154 of file mscvpdb.h.

◆ LF_SHORT

#define LF_SHORT   0x8001

Definition at line 1215 of file mscvpdb.h.

◆ LF_SKIP_V1

#define LF_SKIP_V1   0x0200

Definition at line 1142 of file mscvpdb.h.

◆ LF_SKIP_V2

#define LF_SKIP_V2   0x1200 /* variants with new 32-bit type indices (V2) */

Definition at line 1156 of file mscvpdb.h.

◆ LF_STMEMBER_V1

#define LF_STMEMBER_V1   0x0407

Definition at line 1176 of file mscvpdb.h.

◆ LF_STMEMBER_V2

#define LF_STMEMBER_V2   0x1406

Definition at line 1192 of file mscvpdb.h.

◆ LF_STMEMBER_V3

#define LF_STMEMBER_V3   0x150e

Definition at line 1208 of file mscvpdb.h.

◆ LF_STRUCTURE_V1

#define LF_STRUCTURE_V1   0x0005

Definition at line 1107 of file mscvpdb.h.

◆ LF_STRUCTURE_V2

#define LF_STRUCTURE_V2   0x1005

Definition at line 1130 of file mscvpdb.h.

◆ LF_STRUCTURE_V3

#define LF_STRUCTURE_V3   0x1505

Definition at line 1204 of file mscvpdb.h.

◆ LF_TYPESERVER_V1

#define LF_TYPESERVER_V1   0x0016

Definition at line 1124 of file mscvpdb.h.

◆ LF_ULONG

#define LF_ULONG   0x8004

Definition at line 1218 of file mscvpdb.h.

◆ LF_UNION_V1

#define LF_UNION_V1   0x0006

Definition at line 1108 of file mscvpdb.h.

◆ LF_UNION_V2

#define LF_UNION_V2   0x1006

Definition at line 1131 of file mscvpdb.h.

◆ LF_UNION_V3

#define LF_UNION_V3   0x1506

Definition at line 1205 of file mscvpdb.h.

◆ LF_UQUADWORD

#define LF_UQUADWORD   0x800a

Definition at line 1224 of file mscvpdb.h.

◆ LF_USHORT

#define LF_USHORT   0x8002

Definition at line 1216 of file mscvpdb.h.

◆ LF_VARSTRING

#define LF_VARSTRING   0x8010

Definition at line 1230 of file mscvpdb.h.

◆ LF_VBCLASS_V1

#define LF_VBCLASS_V1   0x0401

Definition at line 1170 of file mscvpdb.h.

◆ LF_VBCLASS_V2

#define LF_VBCLASS_V2   0x1401

Definition at line 1187 of file mscvpdb.h.

◆ LF_VFTPATH_V1

#define LF_VFTPATH_V1   0x0012

Definition at line 1120 of file mscvpdb.h.

◆ LF_VFTPATH_V2

#define LF_VFTPATH_V2   0x100d

Definition at line 1138 of file mscvpdb.h.

◆ LF_VFUNCOFF_V1

#define LF_VFUNCOFF_V1   0x040d

Definition at line 1182 of file mscvpdb.h.

◆ LF_VFUNCOFF_V2

#define LF_VFUNCOFF_V2   0x140c

Definition at line 1198 of file mscvpdb.h.

◆ LF_VFUNCTAB_V1

#define LF_VFUNCTAB_V1   0x040a

Definition at line 1179 of file mscvpdb.h.

◆ LF_VFUNCTAB_V2

#define LF_VFUNCTAB_V2   0x1409

Definition at line 1195 of file mscvpdb.h.

◆ LF_VTSHAPE_V1

#define LF_VTSHAPE_V1   0x000a

Definition at line 1112 of file mscvpdb.h.

◆ LT2_FILES_BLOCK

#define LT2_FILES_BLOCK   0x000000f4

Definition at line 1833 of file mscvpdb.h.

◆ LT2_LINES_BLOCK

#define LT2_LINES_BLOCK   0x000000f2

Definition at line 1832 of file mscvpdb.h.

◆ PDB_FPO_DFL_EH

#define PDB_FPO_DFL_EH   0x00000002

Definition at line 2115 of file mscvpdb.h.

◆ PDB_FPO_DFL_IN_BLOCK

#define PDB_FPO_DFL_IN_BLOCK   0x00000004

Definition at line 2116 of file mscvpdb.h.

◆ PDB_FPO_DFL_SEH

#define PDB_FPO_DFL_SEH   0x00000001

Definition at line 2114 of file mscvpdb.h.

◆ S_ALIGN_V1

#define S_ALIGN_V1   0x0402

Definition at line 1694 of file mscvpdb.h.

◆ S_ANNOTATIONREF

#define S_ANNOTATIONREF   0x1128

Definition at line 1754 of file mscvpdb.h.

◆ S_ARMSWITCHTABLE

#define S_ARMSWITCHTABLE   0x1159

Definition at line 1800 of file mscvpdb.h.

◆ S_ATTR_FRAMEREL

#define S_ATTR_FRAMEREL   0x112E

Definition at line 1760 of file mscvpdb.h.

◆ S_ATTR_MANYREG

#define S_ATTR_MANYREG   0x1131

Definition at line 1763 of file mscvpdb.h.

◆ S_ATTR_REGISTER

#define S_ATTR_REGISTER   0x112F

Definition at line 1761 of file mscvpdb.h.

◆ S_ATTR_REGREL

#define S_ATTR_REGREL   0x1130

Definition at line 1762 of file mscvpdb.h.

◆ S_BLOCK_V1

#define S_BLOCK_V1   0x0207

Definition at line 1683 of file mscvpdb.h.

◆ S_BLOCK_V3

#define S_BLOCK_V3   0x1103

Definition at line 1717 of file mscvpdb.h.

◆ S_BPREL_V1

#define S_BPREL_V1   0x0200

Definition at line 1676 of file mscvpdb.h.

◆ S_BPREL_V2

#define S_BPREL_V2   0x1006

Definition at line 1702 of file mscvpdb.h.

◆ S_BPREL_V3

#define S_BPREL_V3   0x110B

Definition at line 1725 of file mscvpdb.h.

◆ S_BUILDINFO

#define S_BUILDINFO   0x114C

Definition at line 1791 of file mscvpdb.h.

◆ S_CALLEES

#define S_CALLEES   0x115A

Definition at line 1801 of file mscvpdb.h.

◆ S_CALLERS

#define S_CALLERS   0x115B

Definition at line 1802 of file mscvpdb.h.

◆ S_CALLSITEINFO

#define S_CALLSITEINFO   0x1139

Definition at line 1771 of file mscvpdb.h.

◆ S_CEXMODEL_V1

#define S_CEXMODEL_V1   0x020a

Definition at line 1686 of file mscvpdb.h.

◆ S_COBOLUDT_V1

#define S_COBOLUDT_V1   0x000b

Definition at line 1671 of file mscvpdb.h.

◆ S_COBOLUDT_V2

#define S_COBOLUDT_V2   0x1004

Definition at line 1700 of file mscvpdb.h.

◆ S_COBOLUDT_V3

#define S_COBOLUDT_V3   0x1109

Definition at line 1723 of file mscvpdb.h.

◆ S_COMPILAND_V1

#define S_COMPILAND_V1   0x0001

Definition at line 1661 of file mscvpdb.h.

◆ S_COMPILAND_V2

#define S_COMPILAND_V2   0x1013

Definition at line 1713 of file mscvpdb.h.

◆ S_COMPILAND_V3

#define S_COMPILAND_V3   0x1101

Definition at line 1715 of file mscvpdb.h.

◆ S_CONSTANT_V1

#define S_CONSTANT_V1   0x0003

Definition at line 1663 of file mscvpdb.h.

◆ S_CONSTANT_V2

#define S_CONSTANT_V2   0x1002

Definition at line 1698 of file mscvpdb.h.

◆ S_CONSTANT_V3

#define S_CONSTANT_V3   0x1107

Definition at line 1721 of file mscvpdb.h.

◆ S_CVRESERVE_V1

#define S_CVRESERVE_V1   0x0008

Definition at line 1668 of file mscvpdb.h.

◆ S_DATAREF_V1

#define S_DATAREF_V1   0x0401

Definition at line 1693 of file mscvpdb.h.

◆ S_DATAREF_V3

#define S_DATAREF_V3   0x1126

Definition at line 1752 of file mscvpdb.h.

◆ S_DEFRANGE2_2005

#define S_DEFRANGE2_2005   0x1135

Definition at line 1767 of file mscvpdb.h.

◆ S_DEFRANGE_2005

#define S_DEFRANGE_2005   0x1134

Definition at line 1766 of file mscvpdb.h.

◆ S_DEFRANGE_FRAMEPOINTER_REL

#define S_DEFRANGE_FRAMEPOINTER_REL   0x1142

Definition at line 1781 of file mscvpdb.h.

◆ S_DEFRANGE_HLSL

#define S_DEFRANGE_HLSL   0x1150

Definition at line 1795 of file mscvpdb.h.

◆ S_DEFRANGE_REGISTER

#define S_DEFRANGE_REGISTER   0x1141

Definition at line 1780 of file mscvpdb.h.

◆ S_DEFRANGE_REGISTER_REL

#define S_DEFRANGE_REGISTER_REL   0x1145

Definition at line 1784 of file mscvpdb.h.

◆ S_DEFRANGE_SUBFIELD

#define S_DEFRANGE_SUBFIELD   0x1140

Definition at line 1779 of file mscvpdb.h.

◆ S_DEFRANGE_SUBFIELD_REGISTER

#define S_DEFRANGE_SUBFIELD_REGISTER   0x1143

Definition at line 1782 of file mscvpdb.h.

◆ S_DEFRANGE_VS2013

#define S_DEFRANGE_VS2013   0x113F

Definition at line 1778 of file mscvpdb.h.

◆ S_DISCARDED

#define S_DISCARDED   0x113B

Definition at line 1773 of file mscvpdb.h.

◆ S_END_V1

#define S_END_V1   0x0006

Definition at line 1666 of file mscvpdb.h.

◆ S_ENDARG_V1

#define S_ENDARG_V1   0x000a

Definition at line 1670 of file mscvpdb.h.

◆ S_ENTRYPOINT_V3

#define S_ENTRYPOINT_V3   0x1138

Definition at line 1770 of file mscvpdb.h.

◆ S_ENTRYTHIS_V1

#define S_ENTRYTHIS_V1   0x000e

Definition at line 1674 of file mscvpdb.h.

◆ S_FILESTATIC

#define S_FILESTATIC   0x1153

Definition at line 1799 of file mscvpdb.h.

◆ S_FPOFF_VS2013

#define S_FPOFF_VS2013   0x1144

Definition at line 1783 of file mscvpdb.h.

◆ S_FRAMEINFO_V2

#define S_FRAMEINFO_V2   0x1012

Definition at line 1712 of file mscvpdb.h.

◆ S_GDATA_HLSL

#define S_GDATA_HLSL   0x1151

Definition at line 1796 of file mscvpdb.h.

◆ S_GDATA_HLSL32

#define S_GDATA_HLSL32   0x1162

Definition at line 1809 of file mscvpdb.h.

◆ S_GDATA_HLSL32_EX

#define S_GDATA_HLSL32_EX   0x1164

Definition at line 1811 of file mscvpdb.h.

◆ S_GDATA_V1

#define S_GDATA_V1   0x0202

Definition at line 1678 of file mscvpdb.h.

◆ S_GDATA_V2

#define S_GDATA_V2   0x1008

Definition at line 1704 of file mscvpdb.h.

◆ S_GDATA_V3

#define S_GDATA_V3   0x110D

Definition at line 1727 of file mscvpdb.h.

◆ S_GMANDATA

#define S_GMANDATA   0x111D

Definition at line 1743 of file mscvpdb.h.

◆ S_GMANPROC

#define S_GMANPROC   0x112A

Definition at line 1756 of file mscvpdb.h.

◆ S_GPROC32_VS2013

#define S_GPROC32_VS2013   0x1147

Definition at line 1786 of file mscvpdb.h.

◆ S_GPROC_V1

#define S_GPROC_V1   0x0205

Definition at line 1681 of file mscvpdb.h.

◆ S_GPROC_V2

#define S_GPROC_V2   0x100b

Definition at line 1707 of file mscvpdb.h.

◆ S_GPROC_V3

#define S_GPROC_V3   0x1110

Definition at line 1730 of file mscvpdb.h.

◆ S_GPROCIA64

#define S_GPROCIA64   0x1119

Definition at line 1739 of file mscvpdb.h.

◆ S_GPROCIA64_ID

#define S_GPROCIA64_ID   0x114B

Definition at line 1790 of file mscvpdb.h.

◆ S_GPROCMIPS

#define S_GPROCMIPS   0x1115

Definition at line 1735 of file mscvpdb.h.

◆ S_GPROCMIPS_ID

#define S_GPROCMIPS_ID   0x1149

Definition at line 1788 of file mscvpdb.h.

◆ S_GTHREAD_V1

#define S_GTHREAD_V1   0x020e

Definition at line 1690 of file mscvpdb.h.

◆ S_GTHREAD_V2

#define S_GTHREAD_V2   0x100f

Definition at line 1711 of file mscvpdb.h.

◆ S_GTHREAD_V3

#define S_GTHREAD_V3   0x1113

Definition at line 1733 of file mscvpdb.h.

◆ S_HEAPALLOCSITE

#define S_HEAPALLOCSITE   0x115E

Definition at line 1805 of file mscvpdb.h.

◆ S_INLINESITE

#define S_INLINESITE   0x114D

Definition at line 1792 of file mscvpdb.h.

◆ S_INLINESITE2

#define S_INLINESITE2   0x115D

Definition at line 1804 of file mscvpdb.h.

◆ S_INLINESITE_END

#define S_INLINESITE_END   0x114E

Definition at line 1793 of file mscvpdb.h.

◆ S_LABEL_V1

#define S_LABEL_V1   0x0209

Definition at line 1685 of file mscvpdb.h.

◆ S_LABEL_V3

#define S_LABEL_V3   0x1105

Definition at line 1719 of file mscvpdb.h.

◆ S_LDATA_HLSL

#define S_LDATA_HLSL   0x1152

Definition at line 1797 of file mscvpdb.h.

◆ S_LDATA_HLSL32

#define S_LDATA_HLSL32   0x1163

Definition at line 1810 of file mscvpdb.h.

◆ S_LDATA_HLSL32_EX

#define S_LDATA_HLSL32_EX   0x1165

Definition at line 1812 of file mscvpdb.h.

◆ S_LDATA_V1

#define S_LDATA_V1   0x0201

Definition at line 1677 of file mscvpdb.h.

◆ S_LDATA_V2

#define S_LDATA_V2   0x1007

Definition at line 1703 of file mscvpdb.h.

◆ S_LDATA_V3

#define S_LDATA_V3   0x110C

Definition at line 1726 of file mscvpdb.h.

◆ S_LMANDATA

#define S_LMANDATA   0x111C

Definition at line 1742 of file mscvpdb.h.

◆ S_LMANPROC

#define S_LMANPROC   0x112B

Definition at line 1757 of file mscvpdb.h.

◆ S_LOCAL_2005

#define S_LOCAL_2005   0x1133

Definition at line 1765 of file mscvpdb.h.

◆ S_LOCAL_VS2013

#define S_LOCAL_VS2013   0x113E

Definition at line 1777 of file mscvpdb.h.

◆ S_LOCALSLOT

#define S_LOCALSLOT   0x111A

Definition at line 1740 of file mscvpdb.h.

◆ S_LPROC32_VS2013

#define S_LPROC32_VS2013   0x1146

Definition at line 1785 of file mscvpdb.h.

◆ S_LPROC_V1

#define S_LPROC_V1   0x0204

Definition at line 1680 of file mscvpdb.h.

◆ S_LPROC_V2

#define S_LPROC_V2   0x100a

Definition at line 1706 of file mscvpdb.h.

◆ S_LPROC_V3

#define S_LPROC_V3   0x110F

Definition at line 1729 of file mscvpdb.h.

◆ S_LPROCIA64

#define S_LPROCIA64   0x1118

Definition at line 1738 of file mscvpdb.h.

◆ S_LPROCIA64_ID

#define S_LPROCIA64_ID   0x114A

Definition at line 1789 of file mscvpdb.h.

◆ S_LPROCMIPS

#define S_LPROCMIPS   0x1114

Definition at line 1734 of file mscvpdb.h.

◆ S_LPROCMIPS_ID

#define S_LPROCMIPS_ID   0x1148

Definition at line 1787 of file mscvpdb.h.

◆ S_LPROCREF_V1

#define S_LPROCREF_V1   0x0403

Definition at line 1695 of file mscvpdb.h.

◆ S_LTHREAD_V1

#define S_LTHREAD_V1   0x020d

Definition at line 1689 of file mscvpdb.h.

◆ S_LTHREAD_V2

#define S_LTHREAD_V2   0x100e

Definition at line 1710 of file mscvpdb.h.

◆ S_LTHREAD_V3

#define S_LTHREAD_V3   0x1112

Definition at line 1732 of file mscvpdb.h.

◆ S_MANCONSTANT

#define S_MANCONSTANT   0x112D

Definition at line 1759 of file mscvpdb.h.

◆ S_MANFRAMEREL

#define S_MANFRAMEREL   0x111E

Definition at line 1744 of file mscvpdb.h.

◆ S_MANMANYREG

#define S_MANMANYREG   0x1121

Definition at line 1747 of file mscvpdb.h.

◆ S_MANMANYREG2

#define S_MANMANYREG2   0x1123

Definition at line 1749 of file mscvpdb.h.

◆ S_MANREGISTER

#define S_MANREGISTER   0x111F

Definition at line 1745 of file mscvpdb.h.

◆ S_MANREGREL

#define S_MANREGREL   0x1122

Definition at line 1748 of file mscvpdb.h.

◆ S_MANSLOT

#define S_MANSLOT   0x1120

Definition at line 1746 of file mscvpdb.h.

◆ S_MANYREG2

#define S_MANYREG2   0x1117

Definition at line 1737 of file mscvpdb.h.

◆ S_MANYREG_V1

#define S_MANYREG_V1   0x000c

Definition at line 1672 of file mscvpdb.h.

◆ S_MANYREG_V2

#define S_MANYREG_V2   0x1005

Definition at line 1701 of file mscvpdb.h.

◆ S_MANYREG_V3

#define S_MANYREG_V3   0x110A

Definition at line 1724 of file mscvpdb.h.

◆ S_MOD_TYPEREF

#define S_MOD_TYPEREF   0x115F

Definition at line 1806 of file mscvpdb.h.

◆ S_MSTOOL_V3

#define S_MSTOOL_V3   0x1116 /* compiler command line options and build information */

Definition at line 1736 of file mscvpdb.h.

◆ S_MSTOOLENV_V3

#define S_MSTOOLENV_V3   0x113D

Definition at line 1775 of file mscvpdb.h.

◆ S_MSTOOLINFO_V3

#define S_MSTOOLINFO_V3   0x113C

Definition at line 1774 of file mscvpdb.h.

◆ S_OBJNAME_V1

#define S_OBJNAME_V1   0x0009

Definition at line 1669 of file mscvpdb.h.

◆ S_PARAMSLOT

#define S_PARAMSLOT   0x111B

Definition at line 1741 of file mscvpdb.h.

◆ S_PDBMAP

#define S_PDBMAP   0x1161

Definition at line 1808 of file mscvpdb.h.

◆ S_POGODATA

#define S_POGODATA   0x115C

Definition at line 1803 of file mscvpdb.h.

◆ S_PROC_ID_END

#define S_PROC_ID_END   0x114F

Definition at line 1794 of file mscvpdb.h.

◆ S_PROCREF_V1

#define S_PROCREF_V1   0x0400

Definition at line 1692 of file mscvpdb.h.

◆ S_PUB_FUNC1_V3

#define S_PUB_FUNC1_V3   0x1125 /* didn't get the difference between the two */

Definition at line 1751 of file mscvpdb.h.

◆ S_PUB_FUNC2_V3

#define S_PUB_FUNC2_V3   0x1127

Definition at line 1753 of file mscvpdb.h.

◆ S_PUB_V1

#define S_PUB_V1   0x0203

Definition at line 1679 of file mscvpdb.h.

◆ S_PUB_V2

#define S_PUB_V2   0x1009

Definition at line 1705 of file mscvpdb.h.

◆ S_PUB_V3

#define S_PUB_V3   0x110E

Definition at line 1728 of file mscvpdb.h.

◆ S_REF_MINIPDB

#define S_REF_MINIPDB   0x1160

Definition at line 1807 of file mscvpdb.h.

◆ S_REGISTER_V1

#define S_REGISTER_V1   0x0002

Definition at line 1662 of file mscvpdb.h.

◆ S_REGISTER_V2

#define S_REGISTER_V2   0x1001 /* Variants with new 32-bit type indices */

Definition at line 1697 of file mscvpdb.h.

◆ S_REGISTER_V3

#define S_REGISTER_V3   0x1106

Definition at line 1720 of file mscvpdb.h.

◆ S_REGREL_V1

#define S_REGREL_V1   0x020c

Definition at line 1688 of file mscvpdb.h.

◆ S_REGREL_V2

#define S_REGREL_V2   0x100d

Definition at line 1709 of file mscvpdb.h.

◆ S_REGREL_V3

#define S_REGREL_V3   0x1111

Definition at line 1731 of file mscvpdb.h.

◆ S_RETURN_V1

#define S_RETURN_V1   0x000d

Definition at line 1673 of file mscvpdb.h.

◆ S_SECTINFO_V3

#define S_SECTINFO_V3   0x1136

Definition at line 1768 of file mscvpdb.h.

◆ S_SECUCOOKIE_V3

#define S_SECUCOOKIE_V3   0x113A

Definition at line 1772 of file mscvpdb.h.

◆ S_SEPCODE

#define S_SEPCODE   0x1132

Definition at line 1764 of file mscvpdb.h.

◆ S_SKIP_V1

#define S_SKIP_V1   0x0007

Definition at line 1667 of file mscvpdb.h.

◆ S_SSEARCH_V1

#define S_SSEARCH_V1   0x0005

Definition at line 1665 of file mscvpdb.h.

◆ S_SUBSECTINFO_V3

#define S_SUBSECTINFO_V3   0x1137

Definition at line 1769 of file mscvpdb.h.

◆ S_THUNK_V1

#define S_THUNK_V1   0x0206

Definition at line 1682 of file mscvpdb.h.

◆ S_THUNK_V3

#define S_THUNK_V3   0x1102

Definition at line 1716 of file mscvpdb.h.

◆ S_TOKENREF

#define S_TOKENREF   0x1129

Definition at line 1755 of file mscvpdb.h.

◆ S_TRAMPOLINE

#define S_TRAMPOLINE   0x112C

Definition at line 1758 of file mscvpdb.h.

◆ S_UDT_V1

#define S_UDT_V1   0x0004

Definition at line 1664 of file mscvpdb.h.

◆ S_UDT_V2

#define S_UDT_V2   0x1003

Definition at line 1699 of file mscvpdb.h.

◆ S_UDT_V3

#define S_UDT_V3   0x1108

Definition at line 1722 of file mscvpdb.h.

◆ S_UNAMESPACE

#define S_UNAMESPACE   0x1124

Definition at line 1750 of file mscvpdb.h.

◆ S_VFTPATH_V1

#define S_VFTPATH_V1   0x020b

Definition at line 1687 of file mscvpdb.h.

◆ S_VFTTABLE_V2

#define S_VFTTABLE_V2   0x100c

Definition at line 1708 of file mscvpdb.h.

◆ S_WITH_V1

#define S_WITH_V1   0x0208

Definition at line 1684 of file mscvpdb.h.

◆ S_WITH_V3

#define S_WITH_V3   0x1104

Definition at line 1718 of file mscvpdb.h.

◆ sstAlignSym

#define sstAlignSym   0x125

Definition at line 2154 of file mscvpdb.h.

◆ sstFileIndex

#define sstFileIndex   0x133

Definition at line 2165 of file mscvpdb.h.

◆ sstGlobalPub

#define sstGlobalPub   0x12a

Definition at line 2159 of file mscvpdb.h.

◆ sstGlobalSym

#define sstGlobalSym   0x129

Definition at line 2158 of file mscvpdb.h.

◆ sstGlobalTypes

#define sstGlobalTypes   0x12b

Definition at line 2160 of file mscvpdb.h.

◆ sstLibraries

#define sstLibraries   0x128

Definition at line 2157 of file mscvpdb.h.

◆ sstModule

#define sstModule   0x120

Definition at line 2149 of file mscvpdb.h.

◆ sstMPC

#define sstMPC   0x12c

Definition at line 2161 of file mscvpdb.h.

◆ sstPreComp

#define sstPreComp   0x12f

Definition at line 2164 of file mscvpdb.h.

◆ sstPublic

#define sstPublic   0x122

Definition at line 2151 of file mscvpdb.h.

◆ sstPublicSym

#define sstPublicSym   0x123

Definition at line 2152 of file mscvpdb.h.

◆ sstSegMap

#define sstSegMap   0x12d

Definition at line 2162 of file mscvpdb.h.

◆ sstSegName

#define sstSegName   0x12e

Definition at line 2163 of file mscvpdb.h.

◆ sstSrcLnSeg

#define sstSrcLnSeg   0x126

Definition at line 2155 of file mscvpdb.h.

◆ sstSrcModule

#define sstSrcModule   0x127

Definition at line 2156 of file mscvpdb.h.

◆ sstStaticSym

#define sstStaticSym   0x134

Definition at line 2166 of file mscvpdb.h.

◆ sstSymbols

#define sstSymbols   0x124

Definition at line 2153 of file mscvpdb.h.

◆ sstTypes

#define sstTypes   0x121

Definition at line 2150 of file mscvpdb.h.

◆ SYMTYPE_CODE

#define SYMTYPE_CODE   0x0001

Definition at line 1234 of file mscvpdb.h.

◆ SYMTYPE_FUNCTION

#define SYMTYPE_FUNCTION   0x0002

Definition at line 1235 of file mscvpdb.h.

◆ SYMTYPE_MANAGED

#define SYMTYPE_MANAGED   0x0004

Definition at line 1236 of file mscvpdb.h.

◆ SYMTYPE_MSIL

#define SYMTYPE_MSIL   0x0008

Definition at line 1237 of file mscvpdb.h.

◆ SYMTYPE_NONE

#define SYMTYPE_NONE   0x0000

Definition at line 1233 of file mscvpdb.h.

◆ T_32PBOOL08

#define T_32PBOOL08   0x0430 /* 16:32 near pointer to 8-bit Boolean */

Definition at line 992 of file mscvpdb.h.

◆ T_32PBOOL16

#define T_32PBOOL16   0x0431 /* 16:32 near pointer to 16-bit Boolean */

Definition at line 993 of file mscvpdb.h.

◆ T_32PBOOL32

#define T_32PBOOL32   0x0432 /* 16:32 near pointer to 32-bit Boolean */

Definition at line 994 of file mscvpdb.h.

◆ T_32PBOOL64

#define T_32PBOOL64   0x0433 /* 16:32 near pointer to 64-bit Boolean */

Definition at line 995 of file mscvpdb.h.

◆ T_32PCHAR

#define T_32PCHAR   0x0410 /* 16:32 near pointer to 8-bit signed */

Definition at line 984 of file mscvpdb.h.

◆ T_32PCHAR16

#define T_32PCHAR16   0x047a /* 16:32 near pointer to 16-bit unicode char */

Definition at line 1013 of file mscvpdb.h.

◆ T_32PCHAR32

#define T_32PCHAR32   0x047b /* 16:32 near pointer to 32-bit unicode char */

Definition at line 1014 of file mscvpdb.h.

◆ T_32PCPLX128

#define T_32PCPLX128   0x0453 /* 16:32 near pointer to 128-bit complex */

Definition at line 1004 of file mscvpdb.h.

◆ T_32PCPLX32

#define T_32PCPLX32   0x0450 /* 16:32 near pointer to 32-bit complex */

Definition at line 1001 of file mscvpdb.h.

◆ T_32PCPLX64

#define T_32PCPLX64   0x0451 /* 16:32 near pointer to 64-bit complex */

Definition at line 1002 of file mscvpdb.h.

◆ T_32PCPLX80

#define T_32PCPLX80   0x0452 /* 16:32 near pointer to 80-bit complex */

Definition at line 1003 of file mscvpdb.h.

◆ T_32PFBOOL08

#define T_32PFBOOL08   0x0530 /* 16:32 far pointer to 8-bit Boolean */

Definition at line 1027 of file mscvpdb.h.

◆ T_32PFBOOL16

#define T_32PFBOOL16   0x0531 /* 16:32 far pointer to 16-bit Boolean */

Definition at line 1028 of file mscvpdb.h.

◆ T_32PFBOOL32

#define T_32PFBOOL32   0x0532 /* 16:32 far pointer to 32-bit Boolean */

Definition at line 1029 of file mscvpdb.h.

◆ T_32PFBOOL64

#define T_32PFBOOL64   0x0533 /* 16:32 far pointer to 64-bit Boolean */

Definition at line 1030 of file mscvpdb.h.

◆ T_32PFCHAR

#define T_32PFCHAR   0x0510 /* 16:32 far pointer to 8-bit signed */

Definition at line 1019 of file mscvpdb.h.

◆ T_32PFCHAR16

#define T_32PFCHAR16   0x057a /* 16:32 far pointer to 16-bit unicode char */

Definition at line 1048 of file mscvpdb.h.

◆ T_32PFCHAR32

#define T_32PFCHAR32   0x057b /* 16:32 far pointer to 32-bit unicode char */

Definition at line 1049 of file mscvpdb.h.

◆ T_32PFCPLX128

#define T_32PFCPLX128   0x0553 /* 16:32 far pointer to 128-bit complex */

Definition at line 1039 of file mscvpdb.h.

◆ T_32PFCPLX32

#define T_32PFCPLX32   0x0550 /* 16:32 far pointer to 32-bit complex */

Definition at line 1036 of file mscvpdb.h.

◆ T_32PFCPLX64

#define T_32PFCPLX64   0x0551 /* 16:32 far pointer to 64-bit complex */

Definition at line 1037 of file mscvpdb.h.

◆ T_32PFCPLX80

#define T_32PFCPLX80   0x0552 /* 16:32 far pointer to 80-bit complex */

Definition at line 1038 of file mscvpdb.h.

◆ T_32PFHRESULT

#define T_32PFHRESULT   0x0508 /* 16:32 far pointer to HRESULT - or error code ??? */

Definition at line 1018 of file mscvpdb.h.

◆ T_32PFINT2

#define T_32PFINT2   0x0572 /* 16:32 far pointer to 16-bit signed int */

Definition at line 1042 of file mscvpdb.h.

◆ T_32PFINT4

#define T_32PFINT4   0x0574 /* 16:32 far pointer to 32-bit signed int */

Definition at line 1044 of file mscvpdb.h.

◆ T_32PFINT8

#define T_32PFINT8   0x0576 /* 16:32 far pointer to 64-bit signed int */

Definition at line 1046 of file mscvpdb.h.

◆ T_32PFLONG

#define T_32PFLONG   0x0512 /* 16:32 far pointer to 32-bit signed */

Definition at line 1021 of file mscvpdb.h.

◆ T_32PFQUAD

#define T_32PFQUAD   0x0513 /* 16:32 far pointer to 64-bit signed */

Definition at line 1022 of file mscvpdb.h.

◆ T_32PFRCHAR

#define T_32PFRCHAR   0x0570 /* 16:32 far pointer to a real char */

Definition at line 1040 of file mscvpdb.h.

◆ T_32PFREAL128

#define T_32PFREAL128   0x0543 /* 16:32 far pointer to 128-bit real */

Definition at line 1034 of file mscvpdb.h.

◆ T_32PFREAL32

#define T_32PFREAL32   0x0540 /* 16:32 far pointer to 32-bit real */

Definition at line 1031 of file mscvpdb.h.

◆ T_32PFREAL48

#define T_32PFREAL48   0x0544 /* 16:32 far pointer to 48-bit real */

Definition at line 1035 of file mscvpdb.h.

◆ T_32PFREAL64

#define T_32PFREAL64   0x0541 /* 16:32 far pointer to 64-bit real */

Definition at line 1032 of file mscvpdb.h.

◆ T_32PFREAL80

#define T_32PFREAL80   0x0542 /* 16:32 far pointer to 80-bit real */

Definition at line 1033 of file mscvpdb.h.

◆ T_32PFSHORT

#define T_32PFSHORT   0x0511 /* 16:32 far pointer to 16-bit signed */

Definition at line 1020 of file mscvpdb.h.

◆ T_32PFUCHAR

#define T_32PFUCHAR   0x0520 /* 16:32 far pointer to 8-bit unsigned */

Definition at line 1023 of file mscvpdb.h.

◆ T_32PFUINT2

#define T_32PFUINT2   0x0573 /* 16:32 far pointer to 16-bit unsigned int */

Definition at line 1043 of file mscvpdb.h.

◆ T_32PFUINT4

#define T_32PFUINT4   0x0575 /* 16:32 far pointer to 32-bit unsigned int */

Definition at line 1045 of file mscvpdb.h.

◆ T_32PFUINT8

#define T_32PFUINT8   0x0577 /* 16:32 far pointer to 64-bit unsigned int */

Definition at line 1047 of file mscvpdb.h.

◆ T_32PFULONG

#define T_32PFULONG   0x0522 /* 16:32 far pointer to 32-bit unsigned */

Definition at line 1025 of file mscvpdb.h.

◆ T_32PFUQUAD

#define T_32PFUQUAD   0x0523 /* 16:32 far pointer to 64-bit unsigned */

Definition at line 1026 of file mscvpdb.h.

◆ T_32PFUSHORT

#define T_32PFUSHORT   0x0521 /* 16:32 far pointer to 16-bit unsigned */

Definition at line 1024 of file mscvpdb.h.

◆ T_32PFVOID

#define T_32PFVOID   0x0503 /* 32-bit far pointer to void */

Definition at line 1017 of file mscvpdb.h.

◆ T_32PFWCHAR

#define T_32PFWCHAR   0x0571 /* 16:32 far pointer to a wide char */

Definition at line 1041 of file mscvpdb.h.

◆ T_32PHRESULT

#define T_32PHRESULT   0x0408 /* 16:32 near pointer to HRESULT - or error code ??? */

Definition at line 983 of file mscvpdb.h.

◆ T_32PINT2

#define T_32PINT2   0x0472 /* 16:32 near pointer to 16-bit signed int */

Definition at line 1007 of file mscvpdb.h.

◆ T_32PINT4

#define T_32PINT4   0x0474 /* 16:32 near pointer to 32-bit signed int */

Definition at line 1009 of file mscvpdb.h.

◆ T_32PINT8

#define T_32PINT8   0x0476 /* 16:32 near pointer to 64-bit signed int */

Definition at line 1011 of file mscvpdb.h.

◆ T_32PLONG

#define T_32PLONG   0x0412 /* 16:32 near pointer to 32-bit signed */

Definition at line 986 of file mscvpdb.h.

◆ T_32PQUAD

#define T_32PQUAD   0x0413 /* 16:32 near pointer to 64-bit signed */

Definition at line 987 of file mscvpdb.h.

◆ T_32PRCHAR

#define T_32PRCHAR   0x0470 /* 16:32 near pointer to a real char */

Definition at line 1005 of file mscvpdb.h.

◆ T_32PREAL128

#define T_32PREAL128   0x0443 /* 16:32 near pointer to 128-bit real */

Definition at line 999 of file mscvpdb.h.

◆ T_32PREAL32

#define T_32PREAL32   0x0440 /* 16:32 near pointer to 32-bit real */

Definition at line 996 of file mscvpdb.h.

◆ T_32PREAL48

#define T_32PREAL48   0x0444 /* 16:32 near pointer to 48-bit real */

Definition at line 1000 of file mscvpdb.h.

◆ T_32PREAL64

#define T_32PREAL64   0x0441 /* 16:32 near pointer to 64-bit real */

Definition at line 997 of file mscvpdb.h.

◆ T_32PREAL80

#define T_32PREAL80   0x0442 /* 16:32 near pointer to 80-bit real */

Definition at line 998 of file mscvpdb.h.

◆ T_32PSHORT

#define T_32PSHORT   0x0411 /* 16:32 near pointer to 16-bit signed */

Definition at line 985 of file mscvpdb.h.

◆ T_32PUCHAR

#define T_32PUCHAR   0x0420 /* 16:32 near pointer to 8-bit unsigned */

Definition at line 988 of file mscvpdb.h.

◆ T_32PUINT2

#define T_32PUINT2   0x0473 /* 16:32 near pointer to 16-bit unsigned int */

Definition at line 1008 of file mscvpdb.h.

◆ T_32PUINT4

#define T_32PUINT4   0x0475 /* 16:32 near pointer to 32-bit unsigned int */

Definition at line 1010 of file mscvpdb.h.

◆ T_32PUINT8

#define T_32PUINT8   0x0477 /* 16:32 near pointer to 64-bit unsigned int */

Definition at line 1012 of file mscvpdb.h.

◆ T_32PULONG

#define T_32PULONG   0x0422 /* 16:32 near pointer to 32-bit unsigned */

Definition at line 990 of file mscvpdb.h.

◆ T_32PUQUAD

#define T_32PUQUAD   0x0423 /* 16:32 near pointer to 64-bit unsigned */

Definition at line 991 of file mscvpdb.h.

◆ T_32PUSHORT

#define T_32PUSHORT   0x0421 /* 16:32 near pointer to 16-bit unsigned */

Definition at line 989 of file mscvpdb.h.

◆ T_32PVOID

#define T_32PVOID   0x0403 /* 32-bit near pointer to void */

Definition at line 982 of file mscvpdb.h.

◆ T_32PWCHAR

#define T_32PWCHAR   0x0471 /* 16:32 near pointer to a wide char */

Definition at line 1006 of file mscvpdb.h.

◆ T_64PBOOL08

#define T_64PBOOL08   0x0630 /* 64 near pointer to 8-bit Boolean */

Definition at line 1062 of file mscvpdb.h.

◆ T_64PBOOL16

#define T_64PBOOL16   0x0631 /* 64 near pointer to 16-bit Boolean */

Definition at line 1063 of file mscvpdb.h.

◆ T_64PBOOL32

#define T_64PBOOL32   0x0632 /* 64 near pointer to 32-bit Boolean */

Definition at line 1064 of file mscvpdb.h.

◆ T_64PBOOL64

#define T_64PBOOL64   0x0633 /* 64 near pointer to 64-bit Boolean */

Definition at line 1065 of file mscvpdb.h.

◆ T_64PCHAR

#define T_64PCHAR   0x0610 /* 64 near pointer to 8-bit signed */

Definition at line 1054 of file mscvpdb.h.

◆ T_64PCHAR16

#define T_64PCHAR16   0x067a /* 64 near pointer to 16-bit unicode char */

Definition at line 1083 of file mscvpdb.h.

◆ T_64PCHAR32

#define T_64PCHAR32   0x067b /* 64 near pointer to 32-bit unicode char */

Definition at line 1084 of file mscvpdb.h.

◆ T_64PCPLX128

#define T_64PCPLX128   0x0653 /* 64 near pointer to 128-bit complex */

Definition at line 1074 of file mscvpdb.h.

◆ T_64PCPLX32

#define T_64PCPLX32   0x0650 /* 64 near pointer to 32-bit complex */

Definition at line 1071 of file mscvpdb.h.

◆ T_64PCPLX64

#define T_64PCPLX64   0x0651 /* 64 near pointer to 64-bit complex */

Definition at line 1072 of file mscvpdb.h.

◆ T_64PCPLX80

#define T_64PCPLX80   0x0652 /* 64 near pointer to 80-bit complex */

Definition at line 1073 of file mscvpdb.h.

◆ T_64PHRESULT

#define T_64PHRESULT   0x0608 /* 64 near pointer to HRESULT - or error code ??? */

Definition at line 1053 of file mscvpdb.h.

◆ T_64PINT2

#define T_64PINT2   0x0672 /* 64 near pointer to 16-bit signed int */

Definition at line 1077 of file mscvpdb.h.

◆ T_64PINT4

#define T_64PINT4   0x0674 /* 64 near pointer to 32-bit signed int */

Definition at line 1079 of file mscvpdb.h.

◆ T_64PINT8

#define T_64PINT8   0x0676 /* 64 near pointer to 64-bit signed int */

Definition at line 1081 of file mscvpdb.h.

◆ T_64PLONG

#define T_64PLONG   0x0612 /* 64 near pointer to 32-bit signed */

Definition at line 1056 of file mscvpdb.h.

◆ T_64PQUAD

#define T_64PQUAD   0x0613 /* 64 near pointer to 64-bit signed */

Definition at line 1057 of file mscvpdb.h.

◆ T_64PRCHAR

#define T_64PRCHAR   0x0670 /* 64 near pointer to a real char */

Definition at line 1075 of file mscvpdb.h.

◆ T_64PREAL128

#define T_64PREAL128   0x0643 /* 64 near pointer to 128-bit real */

Definition at line 1069 of file mscvpdb.h.

◆ T_64PREAL32

#define T_64PREAL32   0x0640 /* 64 near pointer to 32-bit real */

Definition at line 1066 of file mscvpdb.h.

◆ T_64PREAL48

#define T_64PREAL48   0x0644 /* 64 near pointer to 48-bit real */

Definition at line 1070 of file mscvpdb.h.

◆ T_64PREAL64

#define T_64PREAL64   0x0641 /* 64 near pointer to 64-bit real */

Definition at line 1067 of file mscvpdb.h.

◆ T_64PREAL80

#define T_64PREAL80   0x0642 /* 64 near pointer to 80-bit real */

Definition at line 1068 of file mscvpdb.h.

◆ T_64PSHORT

#define T_64PSHORT   0x0611 /* 64 near pointer to 16-bit signed */

Definition at line 1055 of file mscvpdb.h.

◆ T_64PUCHAR

#define T_64PUCHAR   0x0620 /* 64 near pointer to 8-bit unsigned */

Definition at line 1058 of file mscvpdb.h.

◆ T_64PUINT2

#define T_64PUINT2   0x0673 /* 64 near pointer to 16-bit unsigned int */

Definition at line 1078 of file mscvpdb.h.

◆ T_64PUINT4

#define T_64PUINT4   0x0675 /* 64 near pointer to 32-bit unsigned int */

Definition at line 1080 of file mscvpdb.h.

◆ T_64PUINT8

#define T_64PUINT8   0x0677 /* 64 near pointer to 64-bit unsigned int */

Definition at line 1082 of file mscvpdb.h.

◆ T_64PULONG

#define T_64PULONG   0x0622 /* 64 near pointer to 32-bit unsigned */

Definition at line 1060 of file mscvpdb.h.

◆ T_64PUQUAD

#define T_64PUQUAD   0x0623 /* 64 near pointer to 64-bit unsigned */

Definition at line 1061 of file mscvpdb.h.

◆ T_64PUSHORT

#define T_64PUSHORT   0x0621 /* 64 near pointer to 16-bit unsigned */

Definition at line 1059 of file mscvpdb.h.

◆ T_64PVOID

#define T_64PVOID   0x0603 /* 64-bit near pointer to void */

Definition at line 1052 of file mscvpdb.h.

◆ T_64PWCHAR

#define T_64PWCHAR   0x0671 /* 64 near pointer to a wide char */

Definition at line 1076 of file mscvpdb.h.

◆ T_ABS

#define T_ABS   0x0001 /* Abs */

Definition at line 837 of file mscvpdb.h.

◆ T_BASICTYPE_MASK

#define T_BASICTYPE_MASK   0x00ff /* mask of bits that can potentially identify a non-pointer basic type */

Definition at line 1089 of file mscvpdb.h.

◆ T_BASICTYPE_SHIFT

#define T_BASICTYPE_SHIFT   8 /* shift count to push out the basic type bits from a type number */

Definition at line 1090 of file mscvpdb.h.

◆ T_BIT

#define T_BIT   0x0060 /* bit */

Definition at line 866 of file mscvpdb.h.

◆ T_BOOL08

#define T_BOOL08   0x0030 /* 8-bit boolean */

Definition at line 853 of file mscvpdb.h.

◆ T_BOOL16

#define T_BOOL16   0x0031 /* 16-bit boolean */

Definition at line 854 of file mscvpdb.h.

◆ T_BOOL32

#define T_BOOL32   0x0032 /* 32-bit boolean */

Definition at line 855 of file mscvpdb.h.

◆ T_BOOL64

#define T_BOOL64   0x0033 /* 64-bit boolean */

Definition at line 856 of file mscvpdb.h.

◆ T_CHAR

#define T_CHAR   0x0010 /* signed char */

Definition at line 845 of file mscvpdb.h.

◆ T_CHAR16

#define T_CHAR16   0x007a /* 16-bit unicode char */

Definition at line 876 of file mscvpdb.h.

◆ T_CHAR32

#define T_CHAR32   0x007b /* 32-bit unicode char */

Definition at line 877 of file mscvpdb.h.

◆ T_CPLX128

#define T_CPLX128   0x0053 /* 128-bit complex number */

Definition at line 865 of file mscvpdb.h.

◆ T_CPLX32

#define T_CPLX32   0x0050 /* 32-bit complex number */

Definition at line 862 of file mscvpdb.h.

◆ T_CPLX64

#define T_CPLX64   0x0051 /* 64-bit complex number */

Definition at line 863 of file mscvpdb.h.

◆ T_CPLX80

#define T_CPLX80   0x0052 /* 80-bit complex number */

Definition at line 864 of file mscvpdb.h.

◆ T_CURRENCY

#define T_CURRENCY   0x0004 /* basic 8-byte currency value */

Definition at line 840 of file mscvpdb.h.

◆ T_FAR32PTR_BITS

#define T_FAR32PTR_BITS   0x0500

Definition at line 1100 of file mscvpdb.h.

◆ T_FARPTR_BITS

#define T_FARPTR_BITS   0x0200

Definition at line 1097 of file mscvpdb.h.

◆ T_FBASICSTR

#define T_FBASICSTR   0x0006 /* far basic string */

Definition at line 842 of file mscvpdb.h.

◆ T_HRESULT

#define T_HRESULT   0x0008 /* HRESULT - or error code ??? */

Definition at line 844 of file mscvpdb.h.

◆ T_HUGEPTR_BITS

#define T_HUGEPTR_BITS   0x0300

Definition at line 1098 of file mscvpdb.h.

◆ T_INT2

#define T_INT2   0x0072 /* real 16-bit signed int */

Definition at line 870 of file mscvpdb.h.

◆ T_INT4

#define T_INT4   0x0074 /* int */

Definition at line 872 of file mscvpdb.h.

◆ T_INT8

#define T_INT8   0x0076 /* 64-bit signed int */

Definition at line 874 of file mscvpdb.h.

◆ T_LONG

#define T_LONG   0x0012 /* long */

Definition at line 847 of file mscvpdb.h.

◆ T_MAXBASICTYPE

#define T_MAXBASICTYPE   0x0080 /* maximum type index all non-pointer built-in types */

Definition at line 1088 of file mscvpdb.h.

◆ T_MAXPREDEFINEDTYPE

#define T_MAXPREDEFINEDTYPE   0x0580 /* maximum type index for all built-in types */

Definition at line 1087 of file mscvpdb.h.

◆ T_MODE_MASK

#define T_MODE_MASK   0x0700 /* type mode mask (ptr/non-ptr) */

Definition at line 1091 of file mscvpdb.h.

◆ T_NBASICSTR

#define T_NBASICSTR   0x0005 /* near basic string */

Definition at line 841 of file mscvpdb.h.

◆ T_NEAR32PTR_BITS

#define T_NEAR32PTR_BITS   0x0400

Definition at line 1099 of file mscvpdb.h.

◆ T_NEAR64PTR_BITS

#define T_NEAR64PTR_BITS   0x0600

Definition at line 1101 of file mscvpdb.h.

◆ T_NEARPTR_BITS

#define T_NEARPTR_BITS   0x0100

Definition at line 1096 of file mscvpdb.h.

◆ T_NOTTRANS

#define T_NOTTRANS   0x0007 /* untranslated type record from MS symbol format */

Definition at line 843 of file mscvpdb.h.

◆ T_NOTYPE

#define T_NOTYPE   0x0000 /* Notype */

Definition at line 836 of file mscvpdb.h.

◆ T_PASCHAR

#define T_PASCHAR   0x0061 /* pascal CHAR */

Definition at line 867 of file mscvpdb.h.

◆ T_PBOOL08

#define T_PBOOL08   0x0130 /* Near pointer to 8-bit Boolean */

Definition at line 889 of file mscvpdb.h.

◆ T_PBOOL16

#define T_PBOOL16   0x0131 /* Near pointer to 16-bit Boolean */

Definition at line 890 of file mscvpdb.h.

◆ T_PBOOL32

#define T_PBOOL32   0x0132 /* Near pointer to 32-bit Boolean */

Definition at line 891 of file mscvpdb.h.

◆ T_PBOOL64

#define T_PBOOL64   0x0133 /* Near pointer to 64-bit Boolean */

Definition at line 892 of file mscvpdb.h.

◆ T_PCHAR

#define T_PCHAR   0x0110 /* Near pointer to 8-bit signed */

Definition at line 881 of file mscvpdb.h.

◆ T_PCHAR16

#define T_PCHAR16   0x017a /* Near pointer to 16-bit unicode char */

Definition at line 910 of file mscvpdb.h.

◆ T_PCHAR32

#define T_PCHAR32   0x017b /* Near pointer to 32-bit unicode char */

Definition at line 911 of file mscvpdb.h.

◆ T_PCPLX128

#define T_PCPLX128   0x0153 /* Near pointer to 128-bit complex */

Definition at line 901 of file mscvpdb.h.

◆ T_PCPLX32

#define T_PCPLX32   0x0150 /* Near pointer to 32-bit complex */

Definition at line 898 of file mscvpdb.h.

◆ T_PCPLX64

#define T_PCPLX64   0x0151 /* Near pointer to 64-bit complex */

Definition at line 899 of file mscvpdb.h.

◆ T_PCPLX80

#define T_PCPLX80   0x0152 /* Near pointer to 80-bit complex */

Definition at line 900 of file mscvpdb.h.

◆ T_PFBOOL08

#define T_PFBOOL08   0x0230 /* Far pointer to 8-bit Boolean */

Definition at line 923 of file mscvpdb.h.

◆ T_PFBOOL16

#define T_PFBOOL16   0x0231 /* Far pointer to 16-bit Boolean */

Definition at line 924 of file mscvpdb.h.

◆ T_PFBOOL32

#define T_PFBOOL32   0x0232 /* Far pointer to 32-bit Boolean */

Definition at line 925 of file mscvpdb.h.

◆ T_PFBOOL64

#define T_PFBOOL64   0x0233 /* Far pointer to 64-bit Boolean */

Definition at line 926 of file mscvpdb.h.

◆ T_PFCHAR

#define T_PFCHAR   0x0210 /* Far pointer to 8-bit signed */

Definition at line 915 of file mscvpdb.h.

◆ T_PFCHAR16

#define T_PFCHAR16   0x027a /* Far pointer to 16-bit unicode char */

Definition at line 944 of file mscvpdb.h.

◆ T_PFCHAR32

#define T_PFCHAR32   0x027b /* Far pointer to 32-bit unicode char */

Definition at line 945 of file mscvpdb.h.

◆ T_PFCPLX128

#define T_PFCPLX128   0x0253 /* Far pointer to 128-bit complex */

Definition at line 935 of file mscvpdb.h.

◆ T_PFCPLX32

#define T_PFCPLX32   0x0250 /* Far pointer to 32-bit complex */

Definition at line 932 of file mscvpdb.h.

◆ T_PFCPLX64

#define T_PFCPLX64   0x0251 /* Far pointer to 64-bit complex */

Definition at line 933 of file mscvpdb.h.

◆ T_PFCPLX80

#define T_PFCPLX80   0x0252 /* Far pointer to 80-bit complex */

Definition at line 934 of file mscvpdb.h.

◆ T_PFINT2

#define T_PFINT2   0x0272 /* Far pointer to 16-bit signed int */

Definition at line 938 of file mscvpdb.h.

◆ T_PFINT4

#define T_PFINT4   0x0274 /* Far pointer to 32-bit signed int */

Definition at line 940 of file mscvpdb.h.

◆ T_PFINT8

#define T_PFINT8   0x0276 /* Far pointer to 64-bit signed int */

Definition at line 942 of file mscvpdb.h.

◆ T_PFLONG

#define T_PFLONG   0x0212 /* Far pointer to 32-bit signed */

Definition at line 917 of file mscvpdb.h.

◆ T_PFQUAD

#define T_PFQUAD   0x0213 /* Far pointer to 64-bit signed */

Definition at line 918 of file mscvpdb.h.

◆ T_PFRCHAR

#define T_PFRCHAR   0x0270 /* Far pointer to a real char */

Definition at line 936 of file mscvpdb.h.

◆ T_PFREAL128

#define T_PFREAL128   0x0243 /* Far pointer to 128-bit real */

Definition at line 930 of file mscvpdb.h.

◆ T_PFREAL32

#define T_PFREAL32   0x0240 /* Far pointer to 32-bit real */

Definition at line 927 of file mscvpdb.h.

◆ T_PFREAL48

#define T_PFREAL48   0x0244 /* Far pointer to 48-bit real */

Definition at line 931 of file mscvpdb.h.

◆ T_PFREAL64

#define T_PFREAL64   0x0241 /* Far pointer to 64-bit real */

Definition at line 928 of file mscvpdb.h.

◆ T_PFREAL80

#define T_PFREAL80   0x0242 /* Far pointer to 80-bit real */

Definition at line 929 of file mscvpdb.h.

◆ T_PFSHORT

#define T_PFSHORT   0x0211 /* Far pointer to 16-bit signed */

Definition at line 916 of file mscvpdb.h.

◆ T_PFUCHAR

#define T_PFUCHAR   0x0220 /* Far pointer to 8-bit unsigned */

Definition at line 919 of file mscvpdb.h.

◆ T_PFUINT2

#define T_PFUINT2   0x0273 /* Far pointer to 16-bit unsigned int */

Definition at line 939 of file mscvpdb.h.

◆ T_PFUINT4

#define T_PFUINT4   0x0275 /* Far pointer to 32-bit unsigned int */

Definition at line 941 of file mscvpdb.h.

◆ T_PFUINT8

#define T_PFUINT8   0x0277 /* Far pointer to 64-bit unsigned int */

Definition at line 943 of file mscvpdb.h.

◆ T_PFULONG

#define T_PFULONG   0x0222 /* Far pointer to 32-bit unsigned */

Definition at line 921 of file mscvpdb.h.

◆ T_PFUQUAD

#define T_PFUQUAD   0x0223 /* Far pointer to 64-bit unsigned */

Definition at line 922 of file mscvpdb.h.

◆ T_PFUSHORT

#define T_PFUSHORT   0x0221 /* Far pointer to 16-bit unsigned */

Definition at line 920 of file mscvpdb.h.

◆ T_PFVOID

#define T_PFVOID   0x0203 /* Far pointer to void */

Definition at line 914 of file mscvpdb.h.

◆ T_PFWCHAR

#define T_PFWCHAR   0x0271 /* Far pointer to a wide char */

Definition at line 937 of file mscvpdb.h.

◆ T_PHBOOL08

#define T_PHBOOL08   0x0330 /* Huge pointer to 8-bit Boolean */

Definition at line 957 of file mscvpdb.h.

◆ T_PHBOOL16

#define T_PHBOOL16   0x0331 /* Huge pointer to 16-bit Boolean */

Definition at line 958 of file mscvpdb.h.

◆ T_PHBOOL32

#define T_PHBOOL32   0x0332 /* Huge pointer to 32-bit Boolean */

Definition at line 959 of file mscvpdb.h.

◆ T_PHBOOL64

#define T_PHBOOL64   0x0333 /* Huge pointer to 64-bit Boolean */

Definition at line 960 of file mscvpdb.h.

◆ T_PHCHAR

#define T_PHCHAR   0x0310 /* Huge pointer to 8-bit signed */

Definition at line 949 of file mscvpdb.h.

◆ T_PHCHAR16

#define T_PHCHAR16   0x037a /* Huge pointer to 16-bit unicode char */

Definition at line 978 of file mscvpdb.h.

◆ T_PHCHAR32

#define T_PHCHAR32   0x037b /* Huge pointer to 32-bit unicode char */

Definition at line 979 of file mscvpdb.h.

◆ T_PHCPLX128

#define T_PHCPLX128   0x0353 /* Huge pointer to 128-bit real */

Definition at line 969 of file mscvpdb.h.

◆ T_PHCPLX32

#define T_PHCPLX32   0x0350 /* Huge pointer to 32-bit complex */

Definition at line 966 of file mscvpdb.h.

◆ T_PHCPLX64

#define T_PHCPLX64   0x0351 /* Huge pointer to 64-bit complex */

Definition at line 967 of file mscvpdb.h.

◆ T_PHCPLX80

#define T_PHCPLX80   0x0352 /* Huge pointer to 80-bit complex */

Definition at line 968 of file mscvpdb.h.

◆ T_PHINT2

#define T_PHINT2   0x0372 /* Huge pointer to 16-bit signed int */

Definition at line 972 of file mscvpdb.h.

◆ T_PHINT4

#define T_PHINT4   0x0374 /* Huge pointer to 32-bit signed int */

Definition at line 974 of file mscvpdb.h.

◆ T_PHINT8

#define T_PHINT8   0x0376 /* Huge pointer to 64-bit signed int */

Definition at line 976 of file mscvpdb.h.

◆ T_PHLONG

#define T_PHLONG   0x0312 /* Huge pointer to 32-bit signed */

Definition at line 951 of file mscvpdb.h.

◆ T_PHQUAD

#define T_PHQUAD   0x0313 /* Huge pointer to 64-bit signed */

Definition at line 952 of file mscvpdb.h.

◆ T_PHRCHAR

#define T_PHRCHAR   0x0370 /* Huge pointer to a real char */

Definition at line 970 of file mscvpdb.h.

◆ T_PHREAL128

#define T_PHREAL128   0x0343 /* Huge pointer to 128-bit real */

Definition at line 964 of file mscvpdb.h.

◆ T_PHREAL32

#define T_PHREAL32   0x0340 /* Huge pointer to 32-bit real */

Definition at line 961 of file mscvpdb.h.

◆ T_PHREAL48

#define T_PHREAL48   0x0344 /* Huge pointer to 48-bit real */

Definition at line 965 of file mscvpdb.h.

◆ T_PHREAL64

#define T_PHREAL64   0x0341 /* Huge pointer to 64-bit real */

Definition at line 962 of file mscvpdb.h.

◆ T_PHREAL80

#define T_PHREAL80   0x0342 /* Huge pointer to 80-bit real */

Definition at line 963 of file mscvpdb.h.

◆ T_PHSHORT

#define T_PHSHORT   0x0311 /* Huge pointer to 16-bit signed */

Definition at line 950 of file mscvpdb.h.

◆ T_PHUCHAR

#define T_PHUCHAR   0x0320 /* Huge pointer to 8-bit unsigned */

Definition at line 953 of file mscvpdb.h.

◆ T_PHUINT2

#define T_PHUINT2   0x0373 /* Huge pointer to 16-bit unsigned int */

Definition at line 973 of file mscvpdb.h.

◆ T_PHUINT4

#define T_PHUINT4   0x0375 /* Huge pointer to 32-bit unsigned int */

Definition at line 975 of file mscvpdb.h.

◆ T_PHUINT8

#define T_PHUINT8   0x0377 /* Huge pointer to 64-bit unsigned int */

Definition at line 977 of file mscvpdb.h.

◆ T_PHULONG

#define T_PHULONG   0x0322 /* Huge pointer to 32-bit unsigned */

Definition at line 955 of file mscvpdb.h.

◆ T_PHUQUAD

#define T_PHUQUAD   0x0323 /* Huge pointer to 64-bit unsigned */

Definition at line 956 of file mscvpdb.h.

◆ T_PHUSHORT

#define T_PHUSHORT   0x0321 /* Huge pointer to 16-bit unsigned */

Definition at line 954 of file mscvpdb.h.

◆ T_PHVOID

#define T_PHVOID   0x0303 /* Huge pointer to void */

Definition at line 948 of file mscvpdb.h.

◆ T_PHWCHAR

#define T_PHWCHAR   0x0371 /* Huge pointer to a wide char */

Definition at line 971 of file mscvpdb.h.

◆ T_PINT2

#define T_PINT2   0x0172 /* Near pointer to 16-bit signed int */

Definition at line 904 of file mscvpdb.h.

◆ T_PINT4

#define T_PINT4   0x0174 /* Near pointer to 32-bit signed int */

Definition at line 906 of file mscvpdb.h.

◆ T_PINT8

#define T_PINT8   0x0176 /* Near pointer to 64-bit signed int */

Definition at line 908 of file mscvpdb.h.

◆ T_PLONG

#define T_PLONG   0x0112 /* Near pointer to 32-bit signed */

Definition at line 883 of file mscvpdb.h.

◆ T_PQUAD

#define T_PQUAD   0x0113 /* Near pointer to 64-bit signed */

Definition at line 884 of file mscvpdb.h.

◆ T_PRCHAR

#define T_PRCHAR   0x0170 /* Near pointer to a real char */

Definition at line 902 of file mscvpdb.h.

◆ T_PREAL128

#define T_PREAL128   0x0143 /* Near pointer to 128-bit real */

Definition at line 896 of file mscvpdb.h.

◆ T_PREAL32

#define T_PREAL32   0x0140 /* Near pointer to 32-bit real */

Definition at line 893 of file mscvpdb.h.

◆ T_PREAL48

#define T_PREAL48   0x0144 /* Near pointer to 48-bit real */

Definition at line 897 of file mscvpdb.h.

◆ T_PREAL64

#define T_PREAL64   0x0141 /* Near pointer to 64-bit real */

Definition at line 894 of file mscvpdb.h.

◆ T_PREAL80

#define T_PREAL80   0x0142 /* Near pointer to 80-bit real */

Definition at line 895 of file mscvpdb.h.

◆ T_PSHORT

#define T_PSHORT   0x0111 /* Near pointer to 16-bit signed */

Definition at line 882 of file mscvpdb.h.

◆ T_PUCHAR

#define T_PUCHAR   0x0120 /* Near pointer to 8-bit unsigned */

Definition at line 885 of file mscvpdb.h.

◆ T_PUINT2

#define T_PUINT2   0x0173 /* Near pointer to 16-bit unsigned int */

Definition at line 905 of file mscvpdb.h.

◆ T_PUINT4

#define T_PUINT4   0x0175 /* Near pointer to 32-bit unsigned int */

Definition at line 907 of file mscvpdb.h.

◆ T_PUINT8

#define T_PUINT8   0x0177 /* Near pointer to 64-bit unsigned int */

Definition at line 909 of file mscvpdb.h.

◆ T_PULONG

#define T_PULONG   0x0122 /* Near pointer to 32-bit unsigned */

Definition at line 887 of file mscvpdb.h.

◆ T_PUQUAD

#define T_PUQUAD   0x0123 /* Near pointer to 64-bit unsigned */

Definition at line 888 of file mscvpdb.h.

◆ T_PUSHORT

#define T_PUSHORT   0x0121 /* Near pointer to 16-bit unsigned */

Definition at line 886 of file mscvpdb.h.

◆ T_PVOID

#define T_PVOID   0x0103 /* near pointer to void */

Definition at line 880 of file mscvpdb.h.

◆ T_PWCHAR

#define T_PWCHAR   0x0171 /* Near pointer to a wide char */

Definition at line 903 of file mscvpdb.h.

◆ T_QUAD

#define T_QUAD   0x0013 /* long long */

Definition at line 848 of file mscvpdb.h.

◆ T_RCHAR

#define T_RCHAR   0x0070 /* real char */

Definition at line 868 of file mscvpdb.h.

◆ T_REAL128

#define T_REAL128   0x0043 /* 128-bit real */

Definition at line 860 of file mscvpdb.h.

◆ T_REAL32

#define T_REAL32   0x0040 /* float */

Definition at line 857 of file mscvpdb.h.

◆ T_REAL48

#define T_REAL48   0x0044 /* 48-bit real */

Definition at line 861 of file mscvpdb.h.

◆ T_REAL64

#define T_REAL64   0x0041 /* double */

Definition at line 858 of file mscvpdb.h.

◆ T_REAL80

#define T_REAL80   0x0042 /* 80-bit real */

Definition at line 859 of file mscvpdb.h.

◆ T_SEGMENT

#define T_SEGMENT   0x0002 /* segment type */

Definition at line 838 of file mscvpdb.h.

◆ T_SHORT

#define T_SHORT   0x0011 /* short */

Definition at line 846 of file mscvpdb.h.

◆ T_SIZE_MASK

#define T_SIZE_MASK   0x0007 /* type size mask (depends on 'type' value) */

Definition at line 1092 of file mscvpdb.h.

◆ T_TYPE_MASK

#define T_TYPE_MASK   0x00f0 /* type type mask (data treatment mode) */

Definition at line 1093 of file mscvpdb.h.

◆ T_UCHAR

#define T_UCHAR   0x0020 /* unsigned char */

Definition at line 849 of file mscvpdb.h.

◆ T_UINT2

#define T_UINT2   0x0073 /* real 16-bit unsigned int */

Definition at line 871 of file mscvpdb.h.

◆ T_UINT4

#define T_UINT4   0x0075 /* unsigned int */

Definition at line 873 of file mscvpdb.h.

◆ T_UINT8

#define T_UINT8   0x0077 /* 64-bit unsigned int */

Definition at line 875 of file mscvpdb.h.

◆ T_ULONG

#define T_ULONG   0x0022 /* unsigned long */

Definition at line 851 of file mscvpdb.h.

◆ T_UQUAD

#define T_UQUAD   0x0023 /* unsigned long long */

Definition at line 852 of file mscvpdb.h.

◆ T_USHORT

#define T_USHORT   0x0021 /* unsigned short */

Definition at line 850 of file mscvpdb.h.

◆ T_VOID

#define T_VOID   0x0003 /* Void */

Definition at line 839 of file mscvpdb.h.

◆ T_WCHAR

#define T_WCHAR   0x0071 /* wide char */

Definition at line 869 of file mscvpdb.h.

Typedef Documentation

◆ CODEVIEW_PDB_DATA

◆ OMFDirEntry

◆ OMFDirHeader

◆ OMFGlobalTypes

◆ OMFModule

◆ OMFSegDesc

◆ OMFSegMap

◆ OMFSegMapDesc

◆ OMFSignature

◆ OMFSignatureRSDS

◆ OMFSourceFile

◆ OMFSourceLine

◆ OMFSourceModule

◆ OMFSymHash

◆ PCODEVIEW_PDB_DATA

◆ PDB_FPO_DATA

◆ PDB_SYMBOL_FILE

◆ PDB_SYMBOL_FILE_EX

◆ PDB_SYMBOL_IMPORT

◆ PDB_SYMBOL_RANGE

◆ PDB_SYMBOL_RANGE_EX

◆ PDB_SYMBOL_SOURCE

◆ PDB_SYMBOLS

◆ PDB_SYMBOLS_OLD

◆ PDB_TYPES

◆ PDB_TYPES_OLD

◆ PPDB_SYMBOL_FILE

◆ PPDB_SYMBOL_FILE_EX

◆ PPDB_SYMBOL_IMPORT

◆ PPDB_SYMBOL_RANGE

◆ PPDB_SYMBOL_RANGE_EX

◆ PPDB_SYMBOL_SOURCE

◆ PPDB_SYMBOLS

◆ PPDB_SYMBOLS_OLD

◆ PPDB_TYPES

◆ PPDB_TYPES_OLD

Function Documentation

◆ codeview_linetab2_next_block()

static const struct codeview_linetab2* codeview_linetab2_next_block ( const struct codeview_linetab2 lt2)
inlinestatic

Definition at line 1849 of file mscvpdb.h.

1850 {
1851  return (const struct codeview_linetab2*)((const char*)(lt2 + 1) + lt2->size_of_block);
1852 }
DWORD size_of_block
Definition: mscvpdb.h:1846

Referenced by codeview_snarf_linetab2().

◆ coff_process_info()

BOOL coff_process_info ( const struct msc_debug_info msc_dbg)

Definition at line 148 of file coff.c.

149 {
150  const IMAGE_AUX_SYMBOL* aux;
151  const IMAGE_COFF_SYMBOLS_HEADER* coff;
152  const IMAGE_LINENUMBER* coff_linetab;
153  const IMAGE_LINENUMBER* linepnt;
154  const char* coff_strtab;
155  const IMAGE_SYMBOL* coff_sym;
156  const IMAGE_SYMBOL* coff_symbols;
157  struct CoffFileSet coff_files;
158  int curr_file_idx = -1;
159  unsigned int i;
160  int j;
161  int k;
162  int l;
163  int linetab_indx;
164  const char* nampnt;
165  int naux;
166  BOOL ret = FALSE;
167  ULONG64 addr;
168 
169  TRACE("Processing COFF symbols...\n");
170 
173 
174  coff_files.files = NULL;
175  coff_files.nfiles = coff_files.nfiles_alloc = 0;
176 
177  coff = (const IMAGE_COFF_SYMBOLS_HEADER*)msc_dbg->root;
178 
179  coff_symbols = (const IMAGE_SYMBOL*)((const char *)coff + coff->LvaToFirstSymbol);
180  coff_linetab = (const IMAGE_LINENUMBER*)((const char *)coff + coff->LvaToFirstLinenumber);
181  coff_strtab = (const char*)(coff_symbols + coff->NumberOfSymbols);
182 
183  linetab_indx = 0;
184 
185  for (i = 0; i < coff->NumberOfSymbols; i++)
186  {
187  coff_sym = coff_symbols + i;
188  naux = coff_sym->NumberOfAuxSymbols;
189 
190  if (coff_sym->StorageClass == IMAGE_SYM_CLASS_FILE)
191  {
192  curr_file_idx = coff_add_file(&coff_files, msc_dbg->module,
193  (const char*)(coff_sym + 1));
194  TRACE("New file %s\n", (const char*)(coff_sym + 1));
195  i += naux;
196  continue;
197  }
198 
199  if (curr_file_idx < 0)
200  {
201  assert(coff_files.nfiles == 0 && coff_files.nfiles_alloc == 0);
202  curr_file_idx = coff_add_file(&coff_files, msc_dbg->module, "<none>");
203  TRACE("New file <none>\n");
204  }
205 
206  /*
207  * This guy marks the size and location of the text section
208  * for the current file. We need to keep track of this so
209  * we can figure out what file the different global functions
210  * go with.
211  */
212  if (coff_sym->StorageClass == IMAGE_SYM_CLASS_STATIC &&
213  naux != 0 && coff_sym->Type == 0 && coff_sym->SectionNumber == 1)
214  {
215  aux = (const IMAGE_AUX_SYMBOL*) (coff_sym + 1);
216 
217  if (coff_files.files[curr_file_idx].linetab_offset != -1)
218  {
219  /*
220  * Save this so we can still get the old name.
221  */
222  const char* fn;
223 
224  fn = source_get(msc_dbg->module,
225  coff_files.files[curr_file_idx].compiland->source);
226 
227  TRACE("Duplicating sect from %s: %x %x %x %d %d\n",
228  fn, aux->Section.Length,
229  aux->Section.NumberOfRelocations,
230  aux->Section.NumberOfLinenumbers,
231  aux->Section.Number, aux->Section.Selection);
232  TRACE("More sect %d %s %08x %d %d %d\n",
233  coff_sym->SectionNumber,
234  coff_get_name(coff_sym, coff_strtab),
235  coff_sym->Value, coff_sym->Type,
236  coff_sym->StorageClass, coff_sym->NumberOfAuxSymbols);
237 
238  /*
239  * Duplicate the file entry. We have no way to describe
240  * multiple text sections in our current way of handling things.
241  */
242  coff_add_file(&coff_files, msc_dbg->module, fn);
243  }
244  else
245  {
246  TRACE("New text sect from %s: %x %x %x %d %d\n",
247  source_get(msc_dbg->module, coff_files.files[curr_file_idx].compiland->source),
248  aux->Section.Length,
249  aux->Section.NumberOfRelocations,
250  aux->Section.NumberOfLinenumbers,
251  aux->Section.Number, aux->Section.Selection);
252  }
253 
254  if (coff_files.files[curr_file_idx].startaddr > coff_sym->Value)
255  {
256  coff_files.files[curr_file_idx].startaddr = coff_sym->Value;
257  }
258 
259  if (coff_files.files[curr_file_idx].endaddr < coff_sym->Value + aux->Section.Length)
260  {
261  coff_files.files[curr_file_idx].endaddr = coff_sym->Value + aux->Section.Length;
262  }
263 
264  coff_files.files[curr_file_idx].linetab_offset = linetab_indx;
265  coff_files.files[curr_file_idx].linecnt = aux->Section.NumberOfLinenumbers;
266  linetab_indx += aux->Section.NumberOfLinenumbers;
267  i += naux;
268  continue;
269  }
270 
271  if (coff_sym->StorageClass == IMAGE_SYM_CLASS_STATIC && naux == 0 &&
272  coff_sym->SectionNumber == 1)
273  {
274  DWORD base = msc_dbg->sectp[coff_sym->SectionNumber - 1].VirtualAddress;
275  /*
276  * This is a normal static function when naux == 0.
277  * Just register it. The current file is the correct
278  * one in this instance.
279  */
280  nampnt = coff_get_name(coff_sym, coff_strtab);
281 
282  TRACE("\tAdding static symbol %s\n", nampnt);
283 
284  /* FIXME: was adding symbol to this_file ??? */
285  coff_add_symbol(&coff_files.files[curr_file_idx],
286  &symt_new_function(msc_dbg->module,
287  coff_files.files[curr_file_idx].compiland,
288  nampnt,
289  msc_dbg->module->module.BaseOfImage + base + coff_sym->Value,
290  0 /* FIXME */,
291  NULL /* FIXME */)->symt);
292  continue;
293  }
294 
295  if (coff_sym->StorageClass == IMAGE_SYM_CLASS_EXTERNAL &&
296  ISFCN(coff_sym->Type) && coff_sym->SectionNumber > 0)
297  {
298  struct symt_compiland* compiland = NULL;
299  DWORD base = msc_dbg->sectp[coff_sym->SectionNumber - 1].VirtualAddress;
300  nampnt = coff_get_name(coff_sym, coff_strtab);
301 
302  TRACE("%d: %s %s\n",
303  i, wine_dbgstr_longlong(msc_dbg->module->module.BaseOfImage + base + coff_sym->Value),
304  nampnt);
305  TRACE("\tAdding global symbol %s (sect=%s)\n",
306  nampnt, msc_dbg->sectp[coff_sym->SectionNumber - 1].Name);
307 
308  /*
309  * Now we need to figure out which file this guy belongs to.
310  */
311  for (j = 0; j < coff_files.nfiles; j++)
312  {
313  if (coff_files.files[j].startaddr <= base + coff_sym->Value
314  && coff_files.files[j].endaddr > base + coff_sym->Value)
315  {
316  compiland = coff_files.files[j].compiland;
317  break;
318  }
319  }
320  if (j < coff_files.nfiles)
321  {
322  coff_add_symbol(&coff_files.files[j],
323  &symt_new_function(msc_dbg->module, compiland, nampnt,
324  msc_dbg->module->module.BaseOfImage + base + coff_sym->Value,
325  0 /* FIXME */, NULL /* FIXME */)->symt);
326  }
327  else
328  {
329  symt_new_function(msc_dbg->module, NULL, nampnt,
330  msc_dbg->module->module.BaseOfImage + base + coff_sym->Value,
331  0 /* FIXME */, NULL /* FIXME */);
332  }
333  i += naux;
334  continue;
335  }
336 
337  if (coff_sym->StorageClass == IMAGE_SYM_CLASS_EXTERNAL &&
338  coff_sym->SectionNumber > 0)
339  {
340  DWORD base = msc_dbg->sectp[coff_sym->SectionNumber - 1].VirtualAddress;
341  struct location loc;
342 
343  /*
344  * Similar to above, but for the case of data symbols.
345  * These aren't treated as entrypoints.
346  */
347  nampnt = coff_get_name(coff_sym, coff_strtab);
348 
349  TRACE("%d: %s %s\n",
350  i, wine_dbgstr_longlong(msc_dbg->module->module.BaseOfImage + base + coff_sym->Value),
351  nampnt);
352  TRACE("\tAdding global data symbol %s\n", nampnt);
353 
354  /*
355  * Now we need to figure out which file this guy belongs to.
356  */
357  loc.kind = loc_absolute;
358  loc.reg = 0;
359  loc.offset = msc_dbg->module->module.BaseOfImage + base + coff_sym->Value;
360  symt_new_global_variable(msc_dbg->module, NULL, nampnt, TRUE /* FIXME */,
361  loc, 0 /* FIXME */, NULL /* FIXME */);
362  i += naux;
363  continue;
364  }
365 
366  if (coff_sym->StorageClass == IMAGE_SYM_CLASS_STATIC && naux == 0)
367  {
368  /*
369  * Ignore these. They don't have anything to do with
370  * reality.
371  */
372  continue;
373  }
374 
375  TRACE("Skipping unknown entry '%s' %d %d %d\n",
376  coff_get_name(coff_sym, coff_strtab),
377  coff_sym->StorageClass, coff_sym->SectionNumber, naux);
378 
379  /*
380  * For now, skip past the aux entries.
381  */
382  i += naux;
383  }
384 
385  if (coff_files.files != NULL)
386  {
387  /*
388  * OK, we now should have a list of files, and we should have a list
389  * of entrypoints. We need to sort the entrypoints so that we are
390  * able to tie the line numbers with the given functions within the
391  * file.
392  */
393  for (j = 0; j < coff_files.nfiles; j++)
394  {
395  if (coff_files.files[j].entries != NULL)
396  {
397  qsort(coff_files.files[j].entries, coff_files.files[j].neps,
398  sizeof(struct symt*), symt_cmp_addr);
399  }
400  }
401 
402  /*
403  * Now pick apart the line number tables, and attach the entries
404  * to the given functions.
405  */
406  for (j = 0; j < coff_files.nfiles; j++)
407  {
408  l = 0;
409  if (coff_files.files[j].neps != 0)
410  {
411  for (k = 0; k < coff_files.files[j].linecnt; k++)
412  {
413  linepnt = coff_linetab + coff_files.files[j].linetab_offset + k;
414  /*
415  * If we have spilled onto the next entrypoint, then
416  * bump the counter..
417  */
418  for (; l+1 < coff_files.files[j].neps; l++)
419  {
420  if (symt_get_address(coff_files.files[j].entries[l+1], &addr) &&
421  msc_dbg->module->module.BaseOfImage + linepnt->Type.VirtualAddress < addr)
422  {
423  if (coff_files.files[j].entries[l+1]->tag == SymTagFunction)
424  {
425  /*
426  * Add the line number. This is always relative to the
427  * start of the function, so we need to subtract that offset
428  * first.
429  */
430  symt_add_func_line(msc_dbg->module,
431  (struct symt_function*)coff_files.files[j].entries[l+1],
432  coff_files.files[j].compiland->source,
433  linepnt->Linenumber,
434  msc_dbg->module->module.BaseOfImage + linepnt->Type.VirtualAddress - addr);
435  }
436  break;
437  }
438  }
439  }
440  }
441  }
442 
443  for (j = 0; j < coff_files.nfiles; j++)
444  {
445  HeapFree(GetProcessHeap(), 0, coff_files.files[j].entries);
446  }
447  HeapFree(GetProcessHeap(), 0, coff_files.files);
448  msc_dbg->module->module.SymType = SymCoff;
449  /* FIXME: we could have a finer grain here */
450  msc_dbg->module->module.LineNumbers = TRUE;
451  msc_dbg->module->module.GlobalSymbols = TRUE;
452  msc_dbg->module->module.TypeInfo = FALSE;
453  msc_dbg->module->module.SourceIndexed = TRUE;
454  msc_dbg->module->module.Publics = TRUE;
455  ret = TRUE;
456  }
457 
458  return ret;
459 }
BOOL symt_get_address(const struct symt *type, ULONG64 *addr) DECLSPEC_HIDDEN
Definition: type.c:119
struct symt_function * symt_new_function(struct module *module, struct symt_compiland *parent, const char *name, ULONG_PTR addr, ULONG_PTR size, struct symt *type) DECLSPEC_HIDDEN
Definition: symbol.c:293
#define ISFCN(x)
Definition: winnt_old.h:1097
int __cdecl symt_cmp_addr(const void *p1, const void *p2) DECLSPEC_HIDDEN
Definition: symbol.c:57
static void coff_add_symbol(struct CoffFile *coff_file, struct symt *sym)
Definition: coff.c:128
static GLenum _GLUfuncptr fn
Definition: wgl_font.c:159
#define TRUE
Definition: types.h:120
BYTE StorageClass
Definition: pecoff.h:238
static const char * coff_get_name(const IMAGE_SYMBOL *coff_sym, const char *coff_strtab)
Definition: coff.c:74
static int coff_add_file(struct CoffFileSet *coff_files, struct module *module, const char *filename)
Definition: coff.c:95
#define assert(x)
Definition: debug.h:53
const char * source_get(const struct module *module, unsigned idx) DECLSPEC_HIDDEN
Definition: source.c:130
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
DWORD Value
Definition: pecoff.h:235
#define FALSE
Definition: types.h:117
unsigned int BOOL
Definition: ntddk_ex.h:94
union _IMAGE_LINENUMBER::@3924 Type
void __cdecl qsort(_Inout_updates_bytes_(_NumOfElements *_SizeOfElements) void *_Base, _In_ size_t _NumOfElements, _In_ size_t _SizeOfElements, _In_ int(__cdecl *_PtFuncCompare)(const void *, const void *))
smooth NULL
Definition: ftsmooth.c:416
#define IMAGE_SIZEOF_SYMBOL
Definition: winnt_old.h:677
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
Definition: glfuncs.h:250
r l[0]
Definition: byte_order.h:167
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:484
unsigned long DWORD
Definition: ntddk_ex.h:95
WORD Type
Definition: pecoff.h:237
unsigned __int64 ULONG64
Definition: imports.h:198
int ret
#define IMAGE_SYM_CLASS_FILE
Definition: compat.h:150
GLenum const GLvoid * addr
Definition: glext.h:9621
const BYTE * root
Definition: mscvpdb.h:2139
struct module * module
Definition: mscvpdb.h:2134
SHORT SectionNumber
Definition: pecoff.h:236
void symt_add_func_line(struct module *module, struct symt_function *func, unsigned source_idx, int line_num, ULONG_PTR offset) DECLSPEC_HIDDEN
Definition: symbol.c:326
BYTE Name[IMAGE_SIZEOF_SHORT_NAME]
Definition: pedump.c:281
static const WCHAR aux[]
struct symt_data * symt_new_global_variable(struct module *module, struct symt_compiland *parent, const char *name, unsigned is_static, struct location loc, ULONG_PTR size, struct symt *type) DECLSPEC_HIDDEN
Definition: symbol.c:256
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
Definition: compat.h:49
#define IMAGE_SIZEOF_LINENUMBER
Definition: winnt_old.h:681
int k
Definition: mpi.c:3369
#define HeapFree(x, y, z)
Definition: compat.h:483
#define IMAGE_SYM_CLASS_STATIC
Definition: winnt_old.h:783
const IMAGE_SECTION_HEADER * sectp
Definition: mscvpdb.h:2136
#define IMAGE_SYM_CLASS_EXTERNAL
Definition: compat.h:149
BYTE NumberOfAuxSymbols
Definition: pecoff.h:239

Referenced by pe_load_debug_directory().