windows-nt/Source/XPSP1/NT/sdktools/debuggers/imagehlp/pdbp.h
2020-09-26 16:20:57 +08:00

108 lines
1.8 KiB
C

/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
pdb.h
Abstract:
This header file contains typedefs and prototypes
necessary for accessing pdb files thru the msvc pdb dll.
Revision History:
--*/
#ifdef __cplusplus
extern "C" {
#endif
__inline
char *
DataSymNameStart(
DATASYM32 *dataSym
)
{
switch (dataSym->rectyp) {
case S_LDATA32_16t:
case S_GDATA32_16t:
case S_PUB32_16t:
return (char *)&((DATASYM32_16t *)dataSym)->name[1];
case S_LDATA32:
case S_GDATA32:
case S_PUB32:
default:
return (char *)&((DATASYM32 *)dataSym)->name[1];
}
}
__inline
unsigned char
DataSymNameLength(
DATASYM32 *dataSym
)
{
switch (dataSym->rectyp) {
case S_LDATA32_16t:
case S_GDATA32_16t:
case S_PUB32_16t:
return(((DATASYM32_16t *)dataSym)->name[0]);
case S_LDATA32:
case S_GDATA32:
case S_PUB32:
default:
return(((DATASYM32 *)dataSym)->name[0]);
}
}
__inline
unsigned short
DataSymSeg(
DATASYM32 *dataSym
)
{
switch (dataSym->rectyp) {
case S_LDATA32_16t:
case S_GDATA32_16t:
case S_PUB32_16t:
return(((DATASYM32_16t *)dataSym)->seg);
case S_LDATA32:
case S_GDATA32:
case S_PUB32:
default:
return(((DATASYM32 *)dataSym)->seg);
}
}
__inline
unsigned long
DataSymOffset(
DATASYM32 *dataSym
)
{
switch (dataSym->rectyp) {
case S_LDATA32_16t:
case S_GDATA32_16t:
case S_PUB32_16t:
return(((DATASYM32_16t *)dataSym)->off);
case S_LDATA32:
case S_GDATA32:
case S_PUB32:
default:
return(((DATASYM32 *)dataSym)->off);
}
}
#ifdef __cplusplus
}
#endif