Removed PROCESS_GetPtr.
[wine] / include / hook.h
1 /*
2  * Windows hook definitions
3  *
4  * Copyright 1994 Alexandre Julliard
5  */
6
7 #ifndef __WINE_HOOK_H
8 #define __WINE_HOOK_H
9
10 #include "windows.h"
11
12 #define HOOK_WIN16      0x00
13 #define HOOK_WIN32A     0x01
14 #define HOOK_WIN32W     0x02
15 #define HOOK_INUSE      0x80
16
17 typedef struct
18 {
19    LPARAM   lParam;
20    WPARAM16 wParam;
21    UINT16   message;
22    HWND16   hwnd;
23 } CWPSTRUCT16, *LPCWPSTRUCT16;
24
25 typedef struct
26 {
27   LPARAM        lParam;
28   WPARAM32      wParam;
29   UINT32        message;
30   HWND32        hwnd;
31 } CWPSTRUCT32, *LPCWPSTRUCT32;
32
33 DECL_WINELIB_TYPE(CWPSTRUCT)
34 DECL_WINELIB_TYPE(LPCWPSTRUCT)
35
36 /* hook type mask */
37 #define HOOK_MAPTYPE (HOOK_WIN16 | HOOK_WIN32A | HOOK_WIN32W)
38
39 extern HOOKPROC16 HOOK_GetProc16( HHOOK hhook );
40 extern BOOL32 HOOK_IsHooked( INT16 id );
41 extern LRESULT HOOK_CallHooks16( INT16 id, INT16 code, WPARAM16 wParam,
42                                  LPARAM lParam );
43 extern LRESULT HOOK_CallHooks32A( INT32 id, INT32 code, WPARAM32 wParam,
44                                   LPARAM lParam );
45 extern LRESULT HOOK_CallHooks32W( INT32 id, INT32 code, WPARAM32 wParam,
46                                   LPARAM lParam );
47 extern void HOOK_FreeModuleHooks( HMODULE16 hModule );
48 extern void HOOK_FreeQueueHooks( HQUEUE16 hQueue );
49 extern void HOOK_ResetQueueHooks( HQUEUE16 hQueue );
50 extern HOOKPROC32 HOOK_GetProc( HHOOK hook );
51
52 #endif  /* __WINE_HOOK_H */