quartz: Define the QuartzTypeLib library in control.idl.
[wine] / include / evntprov.h
1 /*
2  * Copyright 2010 Hans Leidekker for CodeWeavers
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18
19 #ifndef _EVNTPROV_H_
20 #define _EVNTPROV_H_
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 #define EVENT_LEVEL_MIN 0x00
27 #define EVENT_LEVEL_MAX 0xff
28
29 typedef ULONGLONG REGHANDLE, *PREGHANDLE;
30
31 typedef struct _EVENT_DESCRIPTOR
32 {
33     USHORT    Id;
34     UCHAR     Version;
35     UCHAR     Channel;
36     UCHAR     Level;
37     UCHAR     Opcode;
38     USHORT    Task;
39     ULONGLONG Keyword;
40 } EVENT_DESCRIPTOR;
41
42 typedef       EVENT_DESCRIPTOR *PEVENT_DESCRIPTOR;
43 typedef const EVENT_DESCRIPTOR *PCEVENT_DESCRIPTOR;
44
45 typedef struct _EVENT_FILTER_DESCRIPTOR
46 {
47     ULONGLONG   Ptr;
48     ULONG       Size;
49     ULONG       Type;
50
51 } EVENT_FILTER_DESCRIPTOR, *PEVENT_FILTER_DESCRIPTOR;
52
53 typedef VOID (NTAPI *PENABLECALLBACK)(LPCGUID,ULONG,UCHAR,ULONGLONG,ULONGLONG,PEVENT_FILTER_DESCRIPTOR,PVOID);
54
55 BOOLEAN WINAPI EventEnabled(REGHANDLE, PCEVENT_DESCRIPTOR);
56 ULONG WINAPI EventRegister(LPCGUID,PENABLECALLBACK,PVOID,PREGHANDLE);
57 ULONG WINAPI EventUnregister(REGHANDLE);
58
59 #ifdef __cplusplus
60 }
61 #endif
62
63 #endif /* _EVNTPROV_H_ */