|
|
Microsoft Windows NT Build 511 (SDK Final Release) 07-24-1993
/*++
Copyright (c) 1992 Microsoft Corporation
Module Name:
symcvt.h
Abstract:
This file contains all of the type definitions and prototypes
necessary to access the symcvt library.
Author:
Wesley A. Witt (wesw) 19-April-1993
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;
PIMAGE_DOS_HEADER dosHdr;
PIMAGE_NT_HEADERS ntHdr;
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 tagPOINTERS {
IMAGEPOINTERS iptrs; // input file pointers
IMAGEPOINTERS optrs; // output file pointers
PTRINFO pCvStart; // start of cv info
PUCHAR pCvCurr; // current cv pointer
PTRINFO pCvModules; // module information
PTRINFO pCvPublics; // publics information
PTRINFO pCvSegName; // segment names
PTRINFO pCvSegMap; // segment map
PTRINFO pCvSymHash; // symbol hash table
PTRINFO pCvAddrSort; // address sort table
} POINTERS, *PPOINTERS;
typedef char * (* CONVERTPROC) (HANDLE, char *);
BOOL MapInputFile ( PPOINTERS p, HANDLE hFile, char *fname);
BOOL UnMapInputFile ( PPOINTERS p );
BOOL CalculateNtImagePointers( PIMAGEPOINTERS p );
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.