4 * Copyright 1995 Alexandre Julliard
7 #ifndef __WINE_CALLBACK_H
8 #define __WINE_CALLBACK_H
13 extern int (*IF1632_CallLargeStack
)( int (*func
)(void), void *arg
);
15 #define CALL_LARGE_STACK(func,arg) \
16 (IF1632_CallLargeStack ? \
17 IF1632_CallLargeStack( (int(*)())(func), (void *)(arg) ) : \
18 ((int(*)())(func))((void *)arg))
22 LONG (CALLBACK
*CallRegisterShortProc
)( CONTEXT
*, INT32
);
23 LONG (CALLBACK
*CallRegisterLongProc
)( CONTEXT
*, INT32
);
24 BOOL32 (CALLBACK
*CallTaskRescheduleProc
)(void);
25 VOID (CALLBACK
*CallFrom16WndProc
)(void);
26 LRESULT (CALLBACK
*CallWndProc
)( WNDPROC16
, HWND16
, UINT16
,
28 LRESULT (CALLBACK
*CallDriverProc
)( DRIVERPROC16
, DWORD
, HDRVR16
,
29 UINT16
, LPARAM
, LPARAM
);
30 LRESULT (CALLBACK
*CallDriverCallback
)( FARPROC16
, HANDLE16
, UINT16
,
31 DWORD
, LPARAM
, LPARAM
);
32 LRESULT (CALLBACK
*CallTimeFuncProc
)( FARPROC16
, WORD
, UINT16
,
33 DWORD
, LPARAM
, LPARAM
);
34 INT16 (CALLBACK
*CallWindowsExitProc
)( FARPROC16
, INT16
);
35 INT16 (CALLBACK
*CallWordBreakProc
)( EDITWORDBREAKPROC16
, SEGPTR
, INT16
,
37 VOID (CALLBACK
*CallBootAppProc
)( FARPROC16
, HANDLE16
, HFILE16
);
38 WORD (CALLBACK
*CallLoadAppSegProc
)( FARPROC16
, HANDLE16
, HFILE16
, WORD
);
39 WORD (CALLBACK
*CallLocalNotifyFunc
)( FARPROC16
, WORD
, HLOCAL16
, WORD
);
40 HGLOBAL16 (CALLBACK
*CallResourceHandlerProc
)( FARPROC16
, HGLOBAL16
, HMODULE16
, HRSRC16
);
41 DWORD (CALLBACK
*CallWOWCallbackProc
)( FARPROC16
, DWORD
);
42 BOOL32 (CALLBACK
*CallWOWCallback16Ex
)( FARPROC16
, DWORD
, DWORD
, LPVOID
,
44 LRESULT (CALLBACK
*CallASPIPostProc
)( FARPROC16
, SEGPTR
);
45 /* Following are the graphics driver callbacks */
46 WORD (CALLBACK
*CallDrvControlProc
)( FARPROC16
, SEGPTR
, WORD
,
48 WORD (CALLBACK
*CallDrvEnableProc
)( FARPROC16
, SEGPTR
, WORD
, SEGPTR
,
50 WORD (CALLBACK
*CallDrvEnumDFontsProc
)( FARPROC16
, SEGPTR
, SEGPTR
,
52 WORD (CALLBACK
*CallDrvEnumObjProc
)( FARPROC16
, SEGPTR
, WORD
, FARPROC16
,
54 WORD (CALLBACK
*CallDrvOutputProc
)( FARPROC16
, SEGPTR
, WORD
, WORD
, SEGPTR
,
55 SEGPTR
, SEGPTR
, SEGPTR
, SEGPTR
);
56 DWORD (CALLBACK
*CallDrvRealizeProc
)( FARPROC16
, SEGPTR
, WORD
, SEGPTR
,
58 WORD (CALLBACK
*CallDrvStretchBltProc
)( FARPROC16
, SEGPTR
, WORD
, WORD
,
59 WORD
, WORD
, SEGPTR
, WORD
, WORD
,
60 WORD
, WORD
, DWORD
, SEGPTR
, SEGPTR
,
62 DWORD (CALLBACK
*CallDrvExtTextOutProc
)( FARPROC16
, SEGPTR
, WORD
, WORD
,
63 SEGPTR
, SEGPTR
, INT16
, SEGPTR
,
64 SEGPTR
, SEGPTR
, SEGPTR
, SEGPTR
,
66 WORD (CALLBACK
*CallDrvGetCharWidthProc
)( FARPROC16
, SEGPTR
, SEGPTR
, WORD
,
67 WORD
, SEGPTR
, SEGPTR
, SEGPTR
);
68 BOOL16 (CALLBACK
*CallDrvAbortProc
)( FARPROC16
, HDC16
, INT16
);
71 extern const CALLBACKS_TABLE
*Callbacks
;
75 BOOL16
WINAPI (*PeekMessage16
)( LPMSG16 msg
, HWND16 hwnd
,
76 UINT16 first
, UINT16 last
, UINT16 flags
);
77 BOOL32
WINAPI (*PeekMessage32A
)( LPMSG32 lpmsg
, HWND32 hwnd
,
78 UINT32 min
, UINT32 max
, UINT32 wRemoveMsg
);
79 BOOL32
WINAPI (*PeekMessage32W
)( LPMSG32 lpmsg
, HWND32 hwnd
,
80 UINT32 min
, UINT32 max
, UINT32 wRemoveMsg
);
82 BOOL16
WINAPI (*GetMessage16
)( SEGPTR msg
, HWND16 hwnd
,
83 UINT16 first
, UINT16 last
);
84 BOOL32
WINAPI (*GetMessage32A
)( MSG32
* lpmsg
, HWND32 hwnd
,
85 UINT32 min
, UINT32 max
);
86 BOOL32
WINAPI (*GetMessage32W
)( MSG32
* lpmsg
, HWND32 hwnd
,
87 UINT32 min
, UINT32 max
);
89 LRESULT
WINAPI (*SendMessage16
)( HWND16 hwnd
, UINT16 msg
,
90 WPARAM16 wParam
, LPARAM lParam
);
91 LRESULT
WINAPI (*SendMessage32A
)( HWND32 hwnd
, UINT32 msg
,
92 WPARAM32 wParam
, LPARAM lParam
);
93 LRESULT
WINAPI (*SendMessage32W
)( HWND32 hwnd
, UINT32 msg
,
94 WPARAM32 wParam
, LPARAM lParam
);
96 BOOL16
WINAPI (*PostMessage16
)( HWND16 hwnd
, UINT16 message
,
97 WPARAM16 wParam
, LPARAM lParam
);
98 BOOL32
WINAPI (*PostMessage32A
)( HWND32 hwnd
, UINT32 message
,
99 WPARAM32 wParam
, LPARAM lParam
);
100 BOOL32
WINAPI (*PostMessage32W
)( HWND32 hwnd
, UINT32 message
,
101 WPARAM32 wParam
, LPARAM lParam
);
103 BOOL16
WINAPI (*PostAppMessage16
)( HTASK16 hTask
, UINT16 message
,
104 WPARAM16 wParam
, LPARAM lParam
);
105 BOOL32
WINAPI (*PostThreadMessage32A
)( DWORD idThread
, UINT32 message
,
106 WPARAM32 wParam
, LPARAM lParam
);
107 BOOL32
WINAPI (*PostThreadMessage32W
)( DWORD idThread
, UINT32 message
,
108 WPARAM32 wParam
, LPARAM lParam
);
110 BOOL16
WINAPI (*TranslateMessage16
)( const MSG16
*msg
);
111 BOOL32
WINAPI (*TranslateMessage32
)( const MSG32
*msg
);
113 LONG
WINAPI (*DispatchMessage16
)( const MSG16
* msg
);
114 LONG
WINAPI (*DispatchMessage32A
)( const MSG32
* msg
);
115 LONG
WINAPI (*DispatchMessage32W
)( const MSG32
* msg
);
117 BOOL16
WINAPI (*RedrawWindow16
)( HWND16 hwnd
, const RECT16
*rectUpdate
,
118 HRGN16 hrgnUpdate
, UINT16 flags
);
120 BOOL32
WINAPI (*RedrawWindow32
)( HWND32 hwnd
, const RECT32
*rectUpdate
,
121 HRGN32 hrgnUpdate
, UINT32 flags
);
123 HQUEUE16
WINAPI (*InitThreadInput
)( WORD unknown
, WORD flags
);
124 void WINAPI (*UserYield
)( void );
128 extern CALLOUT_TABLE Callout
;
131 #endif /* __WINE_CALLBACK_H */