Release 950727
[wine] / include / dlls.h
1 /* $Id: dlls.h,v 1.2 1993/07/04 04:04:21 root Exp root $
2  */
3 /*
4  * Copyright  Robert J. Amstadt, 1993
5  */
6
7 #ifndef DLLS_H
8 #define DLLS_H
9
10 #include "wintypes.h"
11
12 #define MAX_NAME_LENGTH         64
13
14
15
16 struct pe_data {
17         struct pe_header_s *pe_header;
18         struct pe_segment_table *pe_seg;
19         struct PE_Import_Directory *pe_import;
20         struct PE_Export_Directory *pe_export;
21         struct PE_Resource_Directory *pe_resource;
22         int resource_offset; /* offset to resource typedirectory in file */
23 };
24
25 struct w_files
26 {
27     struct w_files  * next;
28     char * name;   /* Name, as it appears in the windows binaries */
29     char * filename; /* Actual name of the unix file that satisfies this */
30     int type;        /* DLL or EXE */
31     int fd;
32     unsigned short hinstance;
33     HANDLE hModule;
34     int initialised;
35     struct mz_header_s *mz_header;
36     struct pe_data *pe;
37 };
38
39 extern struct  w_files *wine_files;
40
41 #define DLL     0
42 #define EXE     1
43
44
45 struct dll_table_s
46 {
47     char *  name;          /* DLL name */
48     BYTE *  code_start;    /* 32-bit address of DLL code */
49     BYTE *  data_start;    /* 32-bit address of DLL data */
50     BYTE *  module_start;  /* 32-bit address of the module data */
51     BYTE *  module_end;
52     BOOL    used;          /* use MS provided if FALSE */
53     HMODULE hModule;       /* module created for this DLL */
54 };
55
56 #define DECLARE_DLL(name) \
57 extern BYTE name##_Code_Start[]; \
58 extern BYTE name##_Data_Start[]; \
59 extern BYTE name##_Module_Start[]; \
60 extern BYTE name##_Module_End[];
61
62 DECLARE_DLL(KERNEL)
63 DECLARE_DLL(USER)
64 DECLARE_DLL(GDI)
65 DECLARE_DLL(WIN87EM)
66 DECLARE_DLL(MMSYSTEM)
67 DECLARE_DLL(SHELL)
68 DECLARE_DLL(SOUND)
69 DECLARE_DLL(KEYBOARD)
70 DECLARE_DLL(WINSOCK)
71 DECLARE_DLL(STRESS)
72 DECLARE_DLL(SYSTEM)
73 DECLARE_DLL(TOOLHELP)
74 DECLARE_DLL(MOUSE)
75 DECLARE_DLL(COMMDLG)
76 DECLARE_DLL(OLE2)
77 DECLARE_DLL(OLE2CONV)
78 DECLARE_DLL(OLE2DISP)
79 DECLARE_DLL(OLE2NLS)
80 DECLARE_DLL(OLE2PROX)
81 DECLARE_DLL(OLECLI)
82 DECLARE_DLL(OLESVR)
83 DECLARE_DLL(COMPOBJ)
84 DECLARE_DLL(STORAGE)
85 DECLARE_DLL(WINPROCS)
86 DECLARE_DLL(DDEML)
87
88 #define N_BUILTINS      25
89
90 extern struct dll_table_s dll_builtin_table[];
91
92 #endif /* DLLS_H */