blob: 0db34ef7789af565ef1d8ca51d2f7b59ad88b4ca [file] [log] [blame]
Alexandre Julliard58199531994-04-21 01:20:00 +00001/*
2 * Windows hook definitions
3 *
4 * Copyright 1994 Alexandre Julliard
5 */
6
Alexandre Julliard2ace16a1996-04-28 15:09:19 +00007#ifndef __WINE_HOOK_H
8#define __WINE_HOOK_H
Alexandre Julliard58199531994-04-21 01:20:00 +00009
Jim Aston2e1cafa1999-03-14 16:35:05 +000010#include "windef.h"
Alexandre Julliard58199531994-04-21 01:20:00 +000011
Alexandre Julliardf0cbfa01997-02-15 14:29:56 +000012#define HOOK_WIN16 0x00
13#define HOOK_WIN32A 0x01
14#define HOOK_WIN32W 0x02
15#define HOOK_INUSE 0x80
16
Alexandre Julliard894077f1999-02-10 06:48:49 +000017
Alexandre Julliard349a9531997-02-02 19:01:52 +000018/* hook type mask */
Alexandre Julliardf0cbfa01997-02-15 14:29:56 +000019#define HOOK_MAPTYPE (HOOK_WIN16 | HOOK_WIN32A | HOOK_WIN32W)
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +000020
Alexandre Julliarda3960291999-02-26 11:11:13 +000021extern BOOL HOOK_IsHooked( INT16 id );
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +000022extern LRESULT HOOK_CallHooks16( INT16 id, INT16 code, WPARAM16 wParam,
23 LPARAM lParam );
Alexandre Julliarda3960291999-02-26 11:11:13 +000024extern LRESULT HOOK_CallHooksA( INT id, INT code, WPARAM wParam,
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +000025 LPARAM lParam );
Alexandre Julliarda3960291999-02-26 11:11:13 +000026extern LRESULT HOOK_CallHooksW( INT id, INT code, WPARAM wParam,
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +000027 LPARAM lParam );
Alexandre Julliard3051b641996-07-05 17:14:13 +000028extern void HOOK_FreeModuleHooks( HMODULE16 hModule );
29extern void HOOK_FreeQueueHooks( HQUEUE16 hQueue );
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +000030extern void HOOK_ResetQueueHooks( HQUEUE16 hQueue );
Alexandre Julliard58199531994-04-21 01:20:00 +000031
Alexandre Julliard2ace16a1996-04-28 15:09:19 +000032#endif /* __WINE_HOOK_H */