Export the CallFrom16xxx functions from kernel32. Renamed them
[wine/multimedia.git] / include / builtin16.h
blob4e0c02a02a3cc55442562d4c9e201d8b2070d4c0
1 /*
2 * Win16 built-in DLLs definitions
4 * Copyright 1999 Ulrich Weigand
5 */
7 #ifndef __WINE_BUILTIN16_H
8 #define __WINE_BUILTIN16_H
10 #include "windef.h"
11 #include "wine/windef16.h"
12 #include "ldt.h"
14 struct _CONTEXT86;
15 struct _STACK16FRAME;
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 );
22 #include "pshpack1.h"
24 typedef struct
26 WORD pushw_bp; /* pushw %bp */
27 BYTE pushl; /* pushl $target */
28 void (*target)();
29 WORD call; /* call CALLFROM16 */
30 short callfrom16;
31 } ENTRYPOINT16;
33 typedef struct
35 BYTE pushl; /* pushl $relay */
36 void *relay;
37 BYTE lcall; /* lcall __FLATCS__:glue */
38 void *glue;
39 WORD flatcs;
40 BYTE prefix; /* lret $nArgs */
41 BYTE lret;
42 WORD nArgs;
43 LPCSTR profile; /* profile string */
44 } CALLFROM16;
46 #include "poppack.h"
48 typedef struct
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 */