Implementation of a simple linked list (static) that stores and counts
[wine/testsucceed.git] / include / hook.h
blobfcf3fc7bd00e0faf51e9547e29ee692bb925acb8
1 /*
2 * Windows hook definitions
4 * Copyright 1994 Alexandre Julliard
5 */
7 #ifndef __WINE_HOOK_H
8 #define __WINE_HOOK_H
10 #include "windows.h"
12 #define HOOK_WIN16 0x00
13 #define HOOK_WIN32A 0x01
14 #define HOOK_WIN32W 0x02
15 #define HOOK_INUSE 0x80
17 typedef struct
19 LPARAM lParam;
20 WPARAM16 wParam;
21 UINT16 message;
22 HWND16 hwnd;
23 } CWPSTRUCT16, *LPCWPSTRUCT16;
25 typedef struct
27 LPARAM lParam;
28 WPARAM32 wParam;
29 UINT32 message;
30 HWND32 hwnd;
31 } CWPSTRUCT32, *LPCWPSTRUCT32;
33 DECL_WINELIB_TYPE(CWPSTRUCT)
34 DECL_WINELIB_TYPE(LPCWPSTRUCT)
36 /* hook type mask */
37 #define HOOK_MAPTYPE (HOOK_WIN16 | HOOK_WIN32A | HOOK_WIN32W)
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 );
52 #endif /* __WINE_HOOK_H */