Release 950918
[wine/hacks.git] / include / pe_image.h
blobcdadb66924f6dd1debca663a6658a348447255f4
1 #ifndef __WINE_PE_IMAGE_H
2 #define __WINE_PE_IMAGE_H
4 #include "windows.h"
6 struct pe_data {
7 struct pe_header_s *pe_header;
8 struct pe_segment_table *pe_seg;
9 struct PE_Import_Directory *pe_import;
10 struct PE_Export_Directory *pe_export;
11 struct PE_Resource_Directory *pe_resource;
12 int resource_offset; /* offset to resource typedirectory in file */
15 struct w_files
17 struct w_files * next;
18 char * name; /* Name, as it appears in the windows binaries */
19 char * filename; /* Actual name of the unix file that satisfies this */
20 int type; /* DLL or EXE */
21 int fd;
22 unsigned short hinstance;
23 HANDLE hModule;
24 int initialised;
25 struct mz_header_s *mz_header;
26 struct pe_data *pe;
27 OFSTRUCT ofs;
31 extern int PE_unloadImage(struct w_files *wpnt);
32 extern int PE_StartProgram(struct w_files *wpnt);
33 extern void PE_InitDLL(struct w_files *wpnt);
34 extern HINSTANCE PE_LoadImage(struct w_files *wpnt);
35 extern void my_wcstombs(char * result, u_short * source, int len);
37 typedef struct _WIN32_function{
38 char *name;
39 void *definition;
40 } WIN32_function;
42 typedef struct _WIN32_builtin{
43 char *name;
44 WIN32_function *functions;
45 int size;
46 struct _WIN32_builtin *next;
47 } WIN32_builtin;
49 extern WIN32_builtin *WIN32_builtin_list;
51 #endif /* __WINE_PE_IMAGE_H */