2 * Win16 built-in DLLs definitions
4 * Copyright 1999 Ulrich Weigand
7 #ifndef __WINE_BUILTIN16_H
8 #define __WINE_BUILTIN16_H
16 WORD pushw_bp
; /* pushw %bp */
17 BYTE pushl
; /* pushl $target */
19 BYTE lcall
; /* lcall __FLATCS__:relay */
26 WORD movw_ax
; /* movw $<ax>, %ax */
28 WORD movw_dx
; /* movw $<dx>, %dx */
30 WORD lret
; /* lret $<args> */
32 WORD nopnop
; /* nop; nop */
41 #define EP_STD( target, relay ) \
42 { std: { 0x5566, 0x68, (DWORD)(target), 0x9a, (DWORD)(relay), __FLATCS__ } }
44 #define EP_RET( retval, nargs ) \
45 { ret: { 0xb866, LOWORD(retval), 0xba66, HIWORD(retval), \
46 (nargs)? 0xca66 : 0xcb66, (nargs)? (nargs) : 0x9090, 0x9090 } }
52 const char *name
; /* DLL name */
53 void *module_start
; /* 32-bit address of the module data */
54 int module_size
; /* Size of the module data */
55 const BYTE
*code_start
; /* 32-bit address of DLL code */
56 const BYTE
*data_start
; /* 32-bit address of DLL data */
60 extern void RELAY_Unimplemented16(void);
63 #endif /* __WINE_BUILTIN16_H */