1 /* $Id: dlls.h,v 1.2 1993/07/04 04:04:21 root Exp root $
4 * Copyright Robert J. Amstadt, 1993
10 #define MAX_NAME_LENGTH 64
12 typedef struct resource_name_table
14 struct resource_name_table *next;
15 unsigned short type_ord;
16 unsigned short id_ord;
17 char id[MAX_NAME_LENGTH];
21 struct ne_header_s *ne_header;
22 struct ne_segment_table_entry_s *seg_table;
23 struct segment_descriptor_s *selector_table;
31 struct pe_header_s *pe_header;
32 struct pe_segment_table *pe_seg;
33 struct PE_Import_Directory *pe_import;
34 struct PE_Export_Directory *pe_export;
35 struct PE_Resource_Directory *pe_resource;
36 int resource_offset; /* offset to resource typedirectory in file */
41 struct w_files * next;
42 char * name; /* Name, as it appears in the windows binaries */
43 char * filename; /* Actual name of the unix file that satisfies this */
45 unsigned short hinstance;
47 struct mz_header_s *mz_header;
52 extern struct w_files *wine_files;
54 typedef struct dll_arg_relocation_s
56 unsigned short dst_arg; /* Offset to argument on stack */
57 unsigned char src_type; /* Argument type */
63 #define DLL_ARGTYPE_SIGNEDWORD 0
64 #define DLL_ARGTYPE_WORD 1
65 #define DLL_ARGTYPE_LONG 2
66 #define DLL_ARGTYPE_FARPTR 3
67 #define DLL_MAX_ARGS 16
69 #define DLL_HANDLERTYPE_PASCAL 16
70 #define DLL_HANDLERTYPE_C 17
72 struct dll_table_entry_s
77 unsigned int selector; /* Selector to access this entry point */
78 void *address; /* Offset in segment of entry point */
81 * 16->32 bit interface data
84 void *handler; /* Address of function to process request */
85 int handler_type; /* C or PASCAL calling convention */
87 int used; /* Number of times this function referenced */
89 int n_args; /* Number of arguments passed to function */
90 DLL_ARG args[DLL_MAX_ARGS]; /* Argument conversion data */
93 struct dll_name_table_entry_s
96 struct dll_table_entry_s *dll_table;
101 extern struct dll_table_entry_s KERNEL_table[];
102 extern struct dll_table_entry_s USER_table[];
103 extern struct dll_table_entry_s GDI_table[];
104 extern struct dll_table_entry_s UNIXLIB_table[];
105 extern struct dll_table_entry_s WIN87EM_table[];
106 extern struct dll_table_entry_s MMSYSTEM_table[];
107 extern struct dll_table_entry_s SHELL_table[];
108 extern struct dll_table_entry_s SOUND_table[];
109 extern struct dll_table_entry_s KEYBOARD_table[];
110 extern struct dll_table_entry_s WINSOCK_table[];
111 extern struct dll_table_entry_s STRESS_table[];
112 extern struct dll_table_entry_s SYSTEM_table[];
113 extern struct dll_table_entry_s TOOLHELP_table[];
114 extern struct dll_table_entry_s MOUSE_table[];
115 extern struct dll_table_entry_s COMMDLG_table[];
117 #define N_BUILTINS 15