|
|
1.1 ! root 1: /*++ ! 2: ! 3: ! 4: Copyright (c) 1992 Microsoft Corporation ! 5: ! 6: Module Name: ! 7: ! 8: symcvt.h ! 9: ! 10: Abstract: ! 11: ! 12: This file contains all of the type definitions and prototypes ! 13: necessary to access the symcvt library. ! 14: ! 15: Author: ! 16: ! 17: Wesley A. Witt (wesw) 19-April-1993 ! 18: ! 19: Environment: ! 20: ! 21: Win32, User Mode ! 22: ! 23: --*/ ! 24: ! 25: ! 26: typedef struct tagPTRINFO { ! 27: DWORD size; ! 28: DWORD count; ! 29: PUCHAR ptr; ! 30: } PTRINFO, *PPTRINFO; ! 31: ! 32: typedef struct tagIMAGEPOINTERS { ! 33: char szName[MAX_PATH]; ! 34: HANDLE hFile; ! 35: HANDLE hMap; ! 36: DWORD fsize; ! 37: PUCHAR fptr; ! 38: PIMAGE_DOS_HEADER dosHdr; ! 39: PIMAGE_NT_HEADERS ntHdr; ! 40: PIMAGE_FILE_HEADER fileHdr; ! 41: PIMAGE_OPTIONAL_HEADER optHdr; ! 42: PIMAGE_SEPARATE_DEBUG_HEADER sepHdr; ! 43: int cDebugDir; ! 44: PIMAGE_DEBUG_DIRECTORY * rgDebugDir; ! 45: PIMAGE_SECTION_HEADER sectionHdrs; ! 46: PIMAGE_SECTION_HEADER debugSection; ! 47: PIMAGE_SYMBOL AllSymbols; ! 48: PUCHAR stringTable; ! 49: int numberOfSymbols; ! 50: int numberOfSections; ! 51: PCHAR * rgpbDebugSave; ! 52: } IMAGEPOINTERS, *PIMAGEPOINTERS; ! 53: ! 54: #define COFF_DIR(x) ((x)->rgDebugDir[IMAGE_DEBUG_TYPE_COFF]) ! 55: #define CV_DIR(x) ((x)->rgDebugDir[IMAGE_DEBUG_TYPE_CODEVIEW]) ! 56: ! 57: typedef struct tagPOINTERS { ! 58: IMAGEPOINTERS iptrs; // input file pointers ! 59: IMAGEPOINTERS optrs; // output file pointers ! 60: PTRINFO pCvStart; // start of cv info ! 61: PUCHAR pCvCurr; // current cv pointer ! 62: PTRINFO pCvModules; // module information ! 63: PTRINFO pCvPublics; // publics information ! 64: PTRINFO pCvSegName; // segment names ! 65: PTRINFO pCvSegMap; // segment map ! 66: PTRINFO pCvSymHash; // symbol hash table ! 67: PTRINFO pCvAddrSort; // address sort table ! 68: } POINTERS, *PPOINTERS; ! 69: ! 70: typedef char * (* CONVERTPROC) (HANDLE, char *); ! 71: ! 72: BOOL MapInputFile ( PPOINTERS p, HANDLE hFile, char *fname); ! 73: BOOL UnMapInputFile ( PPOINTERS p ); ! 74: BOOL CalculateNtImagePointers( PIMAGEPOINTERS p ); ! 75:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.