Release 950403
[wine/multimedia.git] / include / dlls.h
blob10f2f08855f55352bec5dc54bebff87fb3b2e230
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 */
7 #ifndef DLLS_H
8 #define DLLS_H
10 #include "wintypes.h"
12 #define MAX_NAME_LENGTH 64
14 typedef struct resource_name_table
16 struct resource_name_table *next;
17 unsigned short type_ord;
18 unsigned short id_ord;
19 char id[MAX_NAME_LENGTH];
20 } RESNAMTAB;
22 struct ne_data {
23 struct ne_header_s *ne_header;
24 struct ne_segment_table_entry_s *seg_table;
25 unsigned short *selector_table;
26 char *lookup_table;
27 char *nrname_table;
28 char *rname_table;
29 RESNAMTAB *resnamtab;
32 struct pe_data {
33 struct pe_header_s *pe_header;
34 struct pe_segment_table *pe_seg;
35 struct PE_Import_Directory *pe_import;
36 struct PE_Export_Directory *pe_export;
37 struct PE_Resource_Directory *pe_resource;
38 int resource_offset; /* offset to resource typedirectory in file */
41 struct w_files
43 struct w_files * next;
44 char * name; /* Name, as it appears in the windows binaries */
45 char * filename; /* Actual name of the unix file that satisfies this */
46 int fd;
47 unsigned short hinstance;
48 int initialised;
49 struct mz_header_s *mz_header;
50 struct ne_data *ne;
51 struct pe_data *pe;
54 extern struct w_files *wine_files;
56 #define DLL 0
57 #define EXE 1
59 struct dll_table_entry_s
62 * Relocation data
64 WORD selector; /* Selector of entry point */
65 WORD offset; /* Offset in segment of entry point */
68 * 16->32 bit interface data
70 char *export_name;
71 #ifdef WINESTAT
72 int used; /* Number of times this function referenced */
73 #endif
76 struct dll_table_s
78 struct dll_table_entry_s *dll_table;
79 int dll_table_length;
80 int dll_number;
81 void *code_start; /* 32-bit address of DLL code */
82 void *code_end;
83 void *data_start; /* 32-bit address of DLL data */
84 void *data_end;
87 struct dll_name_table_entry_s
89 char *dll_name;
90 struct dll_table_s *table;
91 int dll_is_used; /* use MS provided if set to zero */
94 extern struct dll_table_s KERNEL_table;
95 extern struct dll_table_s USER_table;
96 extern struct dll_table_s GDI_table;
97 extern struct dll_table_s WIN87EM_table;
98 extern struct dll_table_s MMSYSTEM_table;
99 extern struct dll_table_s SHELL_table;
100 extern struct dll_table_s SOUND_table;
101 extern struct dll_table_s KEYBOARD_table;
102 extern struct dll_table_s WINSOCK_table;
103 extern struct dll_table_s STRESS_table;
104 extern struct dll_table_s SYSTEM_table;
105 extern struct dll_table_s TOOLHELP_table;
106 extern struct dll_table_s MOUSE_table;
107 extern struct dll_table_s COMMDLG_table;
108 extern struct dll_table_s OLE2_table;
109 extern struct dll_table_s OLE2CONV_table;
110 extern struct dll_table_s OLE2DISP_table;
111 extern struct dll_table_s OLE2NLS_table;
112 extern struct dll_table_s OLE2PROX_table;
113 extern struct dll_table_s OLECLI_table;
114 extern struct dll_table_s OLESVR_table;
115 extern struct dll_table_s COMPOBJ_table;
116 extern struct dll_table_s STORAGE_table;
117 extern struct dll_table_s WINPROCS_table;
119 #define N_BUILTINS 24
121 #endif /* DLLS_H */