Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright 1996 - 1997 Microsoft Corporation
Module Name:
symcvt.h
Abstract:
This file contains all of the type definitions and prototypes necessary to access the symcvt library.
Environment:
Win32, User Mode
--*/
typedef struct tagPTRINFO { DWORD size; DWORD count; PUCHAR ptr; } PTRINFO, *PPTRINFO;
typedef struct tagIMAGEPOINTERS { char szName[MAX_PATH]; HANDLE hFile; HANDLE hMap; DWORD fsize; PUCHAR fptr; BOOLEAN fRomImage; PIMAGE_DOS_HEADER dosHdr; PIMAGE_NT_HEADERS ntHdr; PIMAGE_ROM_HEADERS romHdr; PIMAGE_FILE_HEADER fileHdr; PIMAGE_OPTIONAL_HEADER optHdr; PIMAGE_SEPARATE_DEBUG_HEADER sepHdr; int cDebugDir; PIMAGE_DEBUG_DIRECTORY * rgDebugDir; PIMAGE_SECTION_HEADER sectionHdrs; PIMAGE_SECTION_HEADER debugSection; PIMAGE_SYMBOL AllSymbols; PUCHAR stringTable; int numberOfSymbols; int numberOfSections; PCHAR * rgpbDebugSave; } IMAGEPOINTERS, *PIMAGEPOINTERS;
#define COFF_DIR(x) ((x)->rgDebugDir[IMAGE_DEBUG_TYPE_COFF])
#define CV_DIR(x) ((x)->rgDebugDir[IMAGE_DEBUG_TYPE_CODEVIEW])
typedef struct _MODULEINFO { DWORD iMod; DWORD cb; DWORD SrcModule; LPSTR name; } MODULEINFO, *LPMODULEINFO;
typedef struct tagPOINTERS { IMAGEPOINTERS iptrs; // input file pointers
IMAGEPOINTERS optrs; // output file pointers
PTRINFO pCvStart; // start of cv info
PUCHAR pCvCurr; // current cv pointer
size_t cbCvData; // size of CV data
PTRINFO pCvModules; // module information
PTRINFO pCvSrcModules; // source module information
PTRINFO pCvPublics; // publics information
PTRINFO pCvSegName; // segment names
PTRINFO pCvSegMap; // segment map
PTRINFO pCvSymHash; // symbol hash table
PTRINFO pCvAddrSort; // address sort table
LPMODULEINFO pMi; DWORD modcnt; } POINTERS, *PPOINTERS;
typedef char * (* CONVERTPROC) (HANDLE, char *);
#define align(_n) ((4 - (( (DWORD)_n ) % 4 )) & 3)
#ifdef _SYMCVT_SOURCE_
#define SYMCVTAPI
#else
#define SYMCVTAPI DECLSPEC_IMPORT
#endif
PUCHAR SYMCVTAPI ConvertSymbolsForImage( HANDLE, char * ); BOOL SYMCVTAPI ConvertCoffToCv( PPOINTERS p ); BOOL SYMCVTAPI ConvertSymToCv( PPOINTERS p ); BOOL SYMCVTAPI MapInputFile ( PPOINTERS p, HANDLE hFile, char *fname); BOOL SYMCVTAPI UnMapInputFile ( PPOINTERS p ); BOOL SYMCVTAPI CalculateNtImagePointers( PIMAGEPOINTERS p );
|