source: trunk/include/pefile.h@ 1566

Last change on this file since 1566 was 1007, checked in by sandervl, 26 years ago

Yuri Dario's VAC 3.6.5 changes

File size: 2.9 KB
Line 
1/* $Id: pefile.h,v 1.3 1999-09-22 09:46:18 sandervl Exp $ */
2
3/*
4 *
5 * Project Odin Software License can be found in LICENSE.TXT
6 *
7 */
8#ifndef __PEFILE_H__
9#define __PEFILE_H__
10
11#ifndef _OS2WIN_H
12#include <os2.h>
13#include <win32type.h>
14#include <peexe.h>
15#include <stdlib.h> //min & max
16
17#define LOWORD(a) (a & 0xFFFF)
18
19#define IDS_ERRBADFILENAME 1000
20#define IDR_CURSOR 1
21#define IDR_BITMAP 2
22#define IDR_ICON 3
23#define IDR_MENU 4
24#define IDR_DIALOG 5
25#define IDR_STRING 6
26#define IDR_FONTDIR 7
27#define IDR_FONT 8
28#define IDR_ACCELERATOR 9
29#define IDR_RCDATA 10
30#define IDR_MESSAGETABLE 11
31
32#endif
33
34 #define NTRT_NEWRESOURCE 0x2000
35 #define NTRT_ERROR 0x7fff
36 #define NTRT_CURSOR 1
37 #define NTRT_BITMAP 2
38 #define NTRT_ICON 3
39 #define NTRT_MENU 4
40 #define NTRT_DIALOG 5
41 #define NTRT_STRING 6
42 #define NTRT_FONTDIR 7
43 #define NTRT_FONT 8
44 #define NTRT_ACCELERATORS 9
45 #define NTRT_RCDATA 10
46 #define NTRT_MESSAGETABLE 11
47 #define NTRT_GROUP_CURSOR 12
48 #define NTRT_GROUP_ICON 14
49 #define NTRT_VERSION 16
50 #define NTRT_NEWBITMAP (NTRT_BITMAP|NTRT_NEWRESOURCE)
51 #define NTRT_NEWMENU (NTRT_MENU|NTRT_NEWRESOURCE)
52 #define NTRT_NEWDIALOG (NTRT_DIALOG|NTRT_NEWRESOURCE)
53
54#define SIZE_OF_NT_SIGNATURE sizeof (DWORD)
55#define MAXRESOURCENAME 13
56
57#define PEHEADEROFF(a) ((LPVOID)((BYTE *)a + \
58 ((IMAGE_DOS_HEADER*)a)->e_lfanew + \
59 SIZE_OF_NT_SIGNATURE))
60
61#define OPTHEADEROFF(a) ((LPVOID)((BYTE *)a + \
62 ((IMAGE_DOS_HEADER*)a)->e_lfanew + \
63 SIZE_OF_NT_SIGNATURE + \
64 sizeof (IMAGE_FILE_HEADER)))
65
66#define SECTIONHDROFF(a) ((LPVOID)((BYTE *)a + \
67 ((IMAGE_DOS_HEADER*)a)->e_lfanew + \
68 SIZE_OF_NT_SIGNATURE + \
69 sizeof (IMAGE_FILE_HEADER) + \
70 sizeof (IMAGE_OPTIONAL_HEADER)))
71
72#define NR_SECTIONS(a) ((int)((PIMAGE_FILE_HEADER)PEHEADEROFF (a))->NumberOfSections)
73
74BOOL GetPEFileHeader (LPVOID, PIMAGE_FILE_HEADER);
75BOOL GetPEOptionalHeader (LPVOID, PIMAGE_OPTIONAL_HEADER);
76LPVOID ImageDirectoryOffset (LPVOID, DWORD);
77BOOL IsImportSection(LPVOID lpFile, PIMAGE_SECTION_HEADER psh);
78BOOL GetSectionHdrByName (LPVOID, PIMAGE_SECTION_HEADER, char *);
79BOOL GetSectionHdrByType (LPVOID, PIMAGE_SECTION_HEADER, int);
80BOOL GetSectionHdrByImageDir (LPVOID, DWORD, PIMAGE_SECTION_HEADER);
81BOOL GetSectionHdrByRVA (LPVOID lpFile, IMAGE_SECTION_HEADER *sh, ULONG rva);
82
83int GetNumberOfResources (LPVOID);
84int GetListOfResourceTypes (LPVOID, char **);
85
86PIMAGE_IMPORT_MODULE_DIRECTORY GetImportFunctions (LPVOID lpFile, char *pszModule, char **szBase);
87
88#endif
Note: See TracBrowser for help on using the repository browser.