source: trunk/tools/common/kFilePE.h@ 824

Last change on this file since 824 was 824, checked in by bird, 26 years ago

Initial checkin.

File size: 1.7 KB
Line 
1/*
2 * kFilePE - PE files.
3 *
4 * Copyright (c) 1999 knut st. osmundsen
5 *
6 */
7
8#ifndef _kFilePE_h_
9#define _kFilePE_h_
10
11/*******************************************************************************
12* Defined Constants *
13*******************************************************************************/
14#if !defined(__WINE_PEEXE_H) && !defined(_WINNT_)
15 #define PIMAGE_DOS_HEADER void*
16 #define PIMAGE_FILE_HEADER void*
17 #define PIMAGE_OPTIONAL_HEADER void*
18 #define PIMAGE_DATA_DIRECTORY void*
19 #define PIMAGE_SECTION_HEADER void*
20 #define PIMAGE_EXPORT_DIRECTORY void*
21#endif
22
23
24/*******************************************************************************
25* Structures and Typedefs *
26*******************************************************************************/
27
28/**
29 * PE (portable executable) files.
30 * TODO: error handling.
31 * @author knut st. osmundsen
32 */
33class kFilePE : public kFileFormatBase
34{
35 private:
36 void *pvBase;
37
38 /* headers */
39 PIMAGE_DOS_HEADER pDosHdr;
40 PIMAGE_FILE_HEADER pFileHdr;
41 PIMAGE_OPTIONAL_HEADER pOptHdr;
42 PIMAGE_DATA_DIRECTORY paDataDir;
43 PIMAGE_SECTION_HEADER paSectionHdr;
44
45 /* directories */
46 PIMAGE_EXPORT_DIRECTORY pExportDir;
47
48 public:
49 kFilePE(FILE *phFile) throw(int);
50 virtual ~kFilePE();
51
52 /* operations */
53 BOOL queryModuleName(char *pszBuffer);
54 BOOL findFirstExport(PEXPORTENTRY pExport);
55 BOOL findNextExport(PEXPORTENTRY pExport);
56 BOOL isPe() const { return TRUE;}
57};
58
59#endif
Note: See TracBrowser for help on using the repository browser.