2 * Win16 built-in DLLs definitions
4 * Copyright 1999 Ulrich Weigand
7 #ifndef __WINE_BUILTIN16_H
8 #define __WINE_BUILTIN16_H
11 #include "wine/windef16.h"
17 extern WORD CALLBACK
CallTo16Word( FARPROC16 target
, INT nArgs
);
18 extern LONG CALLBACK
CallTo16Long( FARPROC16 target
, INT nArgs
);
19 extern void CALLBACK
CallTo16RegisterShort( struct _CONTEXT86
*context
, INT nArgs
);
20 extern void CALLBACK
CallTo16RegisterLong ( struct _CONTEXT86
*context
, INT nArgs
);
26 WORD pushw_bp
; /* pushw %bp */
27 BYTE pushl
; /* pushl $target */
29 WORD call
; /* call CALLFROM16 */
35 BYTE pushl
; /* pushl $relay */
37 BYTE lcall
; /* lcall __FLATCS__:glue */
40 BYTE prefix
; /* lret $nArgs */
43 LPCSTR profile
; /* profile string */
50 const char *name
; /* DLL name */
51 void *module_start
; /* 32-bit address of the module data */
52 int module_size
; /* Size of the module data */
53 void *code_start
; /* 32-bit address of DLL code */
54 void *data_start
; /* 32-bit address of DLL data */
55 const char *owner
; /* 32-bit dll that contains this dll */
56 const void *rsrc
; /* resources data */
57 } BUILTIN16_DESCRIPTOR
;
59 extern HMODULE16
BUILTIN_LoadModule( LPCSTR name
);
60 extern LPCSTR
BUILTIN_GetEntryPoint16( struct _STACK16FRAME
*frame
, LPSTR name
, WORD
*pOrd
);
62 extern void __wine_register_dll_16( const BUILTIN16_DESCRIPTOR
*descr
);
63 extern WORD
__wine_call_from_16_word();
64 extern LONG
__wine_call_from_16_long();
65 extern void __wine_call_from_16_regs();
66 extern void __wine_call_from_16_thunk();
68 #endif /* __WINE_BUILTIN16_H */