4 * Copyright 1995 Alexandre Julliard
7 #ifndef __WINE_CALLBACK_H
8 #define __WINE_CALLBACK_H
12 #include "wine/winuser16.h"
14 extern int (*IF1632_CallLargeStack
)( int (*func
)(void), void *arg
);
16 #define CALL_LARGE_STACK(func,arg) \
17 (IF1632_CallLargeStack ? \
18 IF1632_CallLargeStack( (int(*)())(func), (void *)(arg) ) : \
19 ((int(*)())(func))((void *)arg))
23 LONG (CALLBACK
*CallRegisterShortProc
)( CONTEXT86
*, INT
);
24 LONG (CALLBACK
*CallRegisterLongProc
)( CONTEXT86
*, INT
);
25 LRESULT (CALLBACK
*CallDriverProc
)( DRIVERPROC16
, DWORD
, HDRVR16
,
26 UINT16
, LPARAM
, LPARAM
);
27 LRESULT (CALLBACK
*CallDriverCallback
)( FARPROC16
, HANDLE16
, UINT16
,
28 DWORD
, LPARAM
, LPARAM
);
29 LRESULT (CALLBACK
*CallTimeFuncProc
)( FARPROC16
, WORD
, UINT16
,
30 DWORD
, LPARAM
, LPARAM
);
31 INT16 (CALLBACK
*CallWindowsExitProc
)( FARPROC16
, INT16
);
32 INT16 (CALLBACK
*CallWordBreakProc
)( EDITWORDBREAKPROC16
, SEGPTR
, INT16
,
34 VOID (CALLBACK
*CallBootAppProc
)( FARPROC16
, HANDLE16
, HFILE16
);
35 WORD (CALLBACK
*CallLoadAppSegProc
)( FARPROC16
, HANDLE16
, HFILE16
, WORD
);
36 WORD (CALLBACK
*CallLocalNotifyFunc
)( FARPROC16
, WORD
, HLOCAL16
, WORD
);
37 HGLOBAL16 (CALLBACK
*CallResourceHandlerProc
)( FARPROC16
, HGLOBAL16
, HMODULE16
, HRSRC16
);
38 DWORD (CALLBACK
*CallWOWCallbackProc
)( FARPROC16
, DWORD
);
39 BOOL (CALLBACK
*CallWOWCallback16Ex
)( FARPROC16
, DWORD
, DWORD
, LPVOID
,
41 DWORD (CALLBACK
*CallUTProc
)( FARPROC16
, DWORD
, DWORD
);
42 LRESULT (CALLBACK
*CallASPIPostProc
)( FARPROC16
, SEGPTR
);
43 /* Following are the graphics driver callbacks */
44 WORD (CALLBACK
*CallDrvControlProc
)( FARPROC16
, SEGPTR
, WORD
,
46 WORD (CALLBACK
*CallDrvEnableProc
)( FARPROC16
, SEGPTR
, WORD
, SEGPTR
,
48 WORD (CALLBACK
*CallDrvEnumDFontsProc
)( FARPROC16
, SEGPTR
, SEGPTR
,
50 WORD (CALLBACK
*CallDrvEnumObjProc
)( FARPROC16
, SEGPTR
, WORD
, FARPROC16
,
52 WORD (CALLBACK
*CallDrvOutputProc
)( FARPROC16
, SEGPTR
, WORD
, WORD
, SEGPTR
,
53 SEGPTR
, SEGPTR
, SEGPTR
, SEGPTR
);
54 DWORD (CALLBACK
*CallDrvRealizeProc
)( FARPROC16
, SEGPTR
, WORD
, SEGPTR
,
56 WORD (CALLBACK
*CallDrvStretchBltProc
)( FARPROC16
, SEGPTR
, WORD
, WORD
,
57 WORD
, WORD
, SEGPTR
, WORD
, WORD
,
58 WORD
, WORD
, DWORD
, SEGPTR
, SEGPTR
,
60 DWORD (CALLBACK
*CallDrvExtTextOutProc
)( FARPROC16
, SEGPTR
, WORD
, WORD
,
61 SEGPTR
, SEGPTR
, INT16
, SEGPTR
,
62 SEGPTR
, SEGPTR
, SEGPTR
, SEGPTR
,
64 WORD (CALLBACK
*CallDrvGetCharWidthProc
)( FARPROC16
, SEGPTR
, SEGPTR
, WORD
,
65 WORD
, SEGPTR
, SEGPTR
, SEGPTR
);
66 BOOL16 (CALLBACK
*CallDrvAbortProc
)( FARPROC16
, HDC16
, INT16
);
69 extern const CALLBACKS_TABLE
*Callbacks
;
73 BOOL16
WINAPI (*PeekMessage16
)( LPMSG16 msg
, HWND16 hwnd
,
74 UINT16 first
, UINT16 last
, UINT16 flags
);
75 BOOL
WINAPI (*PeekMessageA
)( LPMSG lpmsg
, HWND hwnd
,
76 UINT min
, UINT max
, UINT wRemoveMsg
);
77 BOOL
WINAPI (*PeekMessageW
)( LPMSG lpmsg
, HWND hwnd
,
78 UINT min
, UINT max
, UINT wRemoveMsg
);
80 BOOL16
WINAPI (*GetMessage16
)( SEGPTR msg
, HWND16 hwnd
,
81 UINT16 first
, UINT16 last
);
82 BOOL
WINAPI (*GetMessageA
)( MSG
* lpmsg
, HWND hwnd
,
84 BOOL
WINAPI (*GetMessageW
)( MSG
* lpmsg
, HWND hwnd
,
87 LRESULT
WINAPI (*SendMessage16
)( HWND16 hwnd
, UINT16 msg
,
88 WPARAM16 wParam
, LPARAM lParam
);
89 LRESULT
WINAPI (*SendMessageA
)( HWND hwnd
, UINT msg
,
90 WPARAM wParam
, LPARAM lParam
);
91 LRESULT
WINAPI (*SendMessageW
)( HWND hwnd
, UINT msg
,
92 WPARAM wParam
, LPARAM lParam
);
94 BOOL16
WINAPI (*PostMessage16
)( HWND16 hwnd
, UINT16 message
,
95 WPARAM16 wParam
, LPARAM lParam
);
96 BOOL
WINAPI (*PostMessageA
)( HWND hwnd
, UINT message
,
97 WPARAM wParam
, LPARAM lParam
);
98 BOOL
WINAPI (*PostMessageW
)( HWND hwnd
, UINT message
,
99 WPARAM wParam
, LPARAM lParam
);
101 BOOL16
WINAPI (*PostAppMessage16
)( HTASK16 hTask
, UINT16 message
,
102 WPARAM16 wParam
, LPARAM lParam
);
103 BOOL
WINAPI (*PostThreadMessageA
)( DWORD idThread
, UINT message
,
104 WPARAM wParam
, LPARAM lParam
);
105 BOOL
WINAPI (*PostThreadMessageW
)( DWORD idThread
, UINT message
,
106 WPARAM wParam
, LPARAM lParam
);
108 BOOL16
WINAPI (*TranslateMessage16
)( const MSG16
*msg
);
109 BOOL
WINAPI (*TranslateMessage
)( const MSG
*msg
);
111 LONG
WINAPI (*DispatchMessage16
)( const MSG16
* msg
);
112 LONG
WINAPI (*DispatchMessageA
)( const MSG
* msg
);
113 LONG
WINAPI (*DispatchMessageW
)( const MSG
* msg
);
115 BOOL16
WINAPI (*RedrawWindow16
)( HWND16 hwnd
, const RECT16
*rectUpdate
,
116 HRGN16 hrgnUpdate
, UINT16 flags
);
118 BOOL
WINAPI (*RedrawWindow
)( HWND hwnd
, const RECT
*rectUpdate
,
119 HRGN hrgnUpdate
, UINT flags
);
121 WORD
WINAPI (*UserSignalProc
)( UINT uCode
, DWORD dwThreadOrProcessID
,
122 DWORD dwFlags
, HMODULE16 hModule
);
123 void WINAPI (*FinalUserInit16
)( void );
125 INT16
WINAPI (*InitApp16
)( HINSTANCE16 hInst
);
126 HQUEUE16
WINAPI (*InitThreadInput16
)( WORD unknown
, WORD flags
);
127 void WINAPI (*UserYield16
)( void );
128 WORD
WINAPI (*DestroyIcon32
)( HGLOBAL16 handle
, UINT16 flags
);
132 extern CALLOUT_TABLE Callout
;
135 #endif /* __WINE_CALLBACK_H */