Release 960225
[wine.git] / include / pe_image.h
blob944d2ff818489b1f4cb798cc2bcb0eaaa9bca409
1 #ifndef __WINE_PE_IMAGE_H
2 #define __WINE_PE_IMAGE_H
4 #include <sys/types.h>
5 #include "windows.h"
7 struct pe_data {
8 struct pe_header_s *pe_header;
9 struct pe_segment_table *pe_seg;
10 struct PE_Import_Directory *pe_import;
11 struct PE_Export_Directory *pe_export;
12 struct PE_Resource_Directory *pe_resource;
13 struct PE_Reloc_Block *pe_reloc;
14 int base_addr;
15 int load_addr;
16 int vma_size;
17 int resource_offset; /* offset to resource typedirectory in file */
20 typedef struct _WIN32_function{
21 char *name;
22 void *definition;
23 } WIN32_function;
25 typedef struct _WIN32_builtin{
26 char *name;
27 WIN32_function *functions;
28 int size;
29 int base;
30 struct _WIN32_builtin *next;
31 } WIN32_builtin;
33 extern WIN32_builtin *WIN32_builtin_list;
35 struct w_files
37 struct w_files * next;
38 char * name; /* Name, as it appears in the windows binaries */
39 char * filename; /* Actual name of the unix file that satisfies this */
40 int type; /* DLL or EXE */
41 HINSTANCE hinstance;
42 HMODULE hModule;
43 int initialised;
44 struct mz_header_s *mz_header;
45 struct pe_data *pe;
46 OFSTRUCT ofs;
47 unsigned int load_addr;
48 WIN32_builtin* builtin;
52 extern int PE_unloadImage(struct w_files *wpnt);
53 extern int PE_StartProgram(struct w_files *wpnt);
54 extern void PE_InitDLL(HMODULE hModule);
55 extern void my_wcstombs(char * result, u_short * source, int len);
56 extern struct w_files *wine_files;
58 #endif /* __WINE_PE_IMAGE_H */