Release 940405
[wine.git] / include / dlls.h
blob19a2dfbd000c0be8a0e3493b3a4f1089a30132a9
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 typedef struct dll_arg_relocation_s
12 unsigned short dst_arg; /* Offset to argument on stack */
13 unsigned char src_type; /* Argument type */
14 } DLL_ARG;
16 #define DLL 0
17 #define EXE 1
19 #define DLL_ARGTYPE_SIGNEDWORD 0
20 #define DLL_ARGTYPE_WORD 1
21 #define DLL_ARGTYPE_LONG 2
22 #define DLL_ARGTYPE_FARPTR 3
23 #define DLL_MAX_ARGS 16
25 #define DLL_HANDLERTYPE_PASCAL 16
26 #define DLL_HANDLERTYPE_C 17
28 struct dll_table_entry_s
31 * Relocation data
33 unsigned int selector; /* Selector to access this entry point */
34 void *address; /* Offset in segment of entry point */
37 * 16->32 bit interface data
39 char *export_name;
40 void *handler; /* Address of function to process request */
41 int handler_type; /* C or PASCAL calling convention */
42 #ifdef WINESTAT
43 int used; /* Number of times this function referenced */
44 #endif
45 int n_args; /* Number of arguments passed to function */
46 DLL_ARG args[DLL_MAX_ARGS]; /* Argument conversion data */
49 struct dll_name_table_entry_s
51 char *dll_name;
52 struct dll_table_entry_s *dll_table;
53 int dll_table_length;
54 int dll_number;
57 extern struct dll_table_entry_s KERNEL_table[];
58 extern struct dll_table_entry_s USER_table[];
59 extern struct dll_table_entry_s GDI_table[];
60 extern struct dll_table_entry_s UNIXLIB_table[];
61 extern struct dll_table_entry_s WIN87EM_table[];
62 extern struct dll_table_entry_s SHELL_table[];
63 extern struct dll_table_entry_s SOUND_table[];
64 extern struct dll_table_entry_s KEYBOARD_table[];
65 extern struct dll_table_entry_s WINSOCK_table[];
66 extern struct dll_table_entry_s STRESS_table[];
68 #endif /* DLLS_H */