| /* $Id: dlls.h,v 1.2 1993/07/04 04:04:21 root Exp root $ | |
| */ | |
| /* | |
| * Copyright Robert J. Amstadt, 1993 | |
| */ | |
| #ifndef DLLS_H | |
| #define DLLS_H | |
| typedef struct dll_arg_relocation_s | |
| { | |
| unsigned short dst_arg; /* Offset to argument on stack */ | |
| unsigned char src_type; /* Argument type */ | |
| } DLL_ARG; | |
| #define DLL_ARGTYPE_SIGNEDWORD 0 | |
| #define DLL_ARGTYPE_WORD 1 | |
| #define DLL_ARGTYPE_LONG 2 | |
| #define DLL_ARGTYPE_FARPTR 3 | |
| #define DLL_MAX_ARGS 16 | |
| #define DLL_HANDLERTYPE_PASCAL 16 | |
| #define DLL_HANDLERTYPE_C 17 | |
| struct dll_table_entry_s | |
| { | |
| /* | |
| * Relocation data | |
| */ | |
| unsigned int selector; /* Selector to access this entry point */ | |
| void *address; /* Offset in segment of entry point */ | |
| /* | |
| * 16->32 bit interface data | |
| */ | |
| char *export_name; | |
| void *handler; /* Address of function to process request */ | |
| int handler_type; /* C or PASCAL calling convention */ | |
| #ifdef WINESTAT | |
| int used; /* Number of times this function referenced */ | |
| #endif | |
| int n_args; /* Number of arguments passed to function */ | |
| DLL_ARG args[DLL_MAX_ARGS]; /* Argument conversion data */ | |
| }; | |
| struct dll_name_table_entry_s | |
| { | |
| char *dll_name; | |
| struct dll_table_entry_s *dll_table; | |
| int dll_table_length; | |
| int dll_number; | |
| }; | |
| extern struct dll_table_entry_s KERNEL_table[]; | |
| extern struct dll_table_entry_s USER_table[]; | |
| extern struct dll_table_entry_s GDI_table[]; | |
| extern struct dll_table_entry_s UNIXLIB_table[]; | |
| extern struct dll_table_entry_s WIN87EM_table[]; | |
| extern struct dll_table_entry_s SHELL_table[]; | |
| extern struct dll_table_entry_s SOUND_table[]; | |
| extern struct dll_table_entry_s KEYBOARD_table[]; | |
| #endif /* DLLS_H */ |