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"
22 WORD pushw_bp; /* pushw %bp */
23 BYTE pushl; /* pushl $target */
25 WORD call; /* call CALLFROM16 */
31 BYTE pushl; /* pushl $relay */
33 BYTE lcall; /* lcall __FLATCS__:glue */
36 WORD lret; /* lret $nArgs */
38 DWORD arg_types[2]; /* type of each argument */
46 WORD call; /* call CALLFROM16 */
52 WORD lret; /* lret $nArgs */
54 DWORD arg_types[2]; /* type of each argument */
61 /* argument type flags for relay debugging */
64 ARG_NONE = 0, /* indicates end of arg list */
65 ARG_WORD, /* unsigned word */
66 ARG_SWORD, /* signed word */
67 ARG_LONG, /* long or segmented pointer */
68 ARG_PTR, /* linear pointer */
69 ARG_STR, /* linear pointer to null-terminated string */
70 ARG_SEGSTR /* segmented pointer to null-terminated string */
73 /* flags added to arg_types[0] */
74 #define ARG_RET16 0x80000000 /* function returns 16-bit value */
75 #define ARG_REGISTER 0x40000000 /* function is register */
77 extern HMODULE16 BUILTIN_LoadModule( LPCSTR name );
79 extern WORD __wine_call_from_16_word();
80 extern LONG __wine_call_from_16_long();
81 extern void __wine_call_from_16_regs();
83 #endif /* __WINE_BUILTIN16_H */