[DDK/NDIS]
[reactos.git] / reactos / include / ddk / ddkernel.h
1 /* $Id$
2 *
3 * COPYRIGHT: This file is in the public domain.
4 * PROJECT: ReactOS kernel
5 * FILE:
6 * PURPOSE: Directx headers
7 * PROGRAMMER: Magnus Olsen (greatlrd)
8 *
9 */
10
11 #ifndef __DDKM_INCLUDED__
12 #define __DDKM_INCLUDED__
13
14 #if defined (_WIN32) && !defined (_NO_COM)
15 DEFINE_GUID (IID_IDirectDrawKernel, 0x8D56C120,0x6A08,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
16 DEFINE_GUID (IID_IDirectDrawSurfaceKernel, 0x60755DA0,0x6A40,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
17 #endif
18
19 typedef struct _DDKERNELCAPS
20 {
21 DWORD dwSize;
22 DWORD dwCaps;
23 DWORD dwIRQCaps;
24 } DDKERNELCAPS, *LPDDKERNELCAPS;
25
26 #define DDKERNELCAPS_SKIPFIELDS 0x00000001
27 #define DDKERNELCAPS_AUTOFLIP 0x00000002
28 #define DDKERNELCAPS_SETSTATE 0x00000004
29 #define DDKERNELCAPS_LOCK 0x00000008
30 #define DDKERNELCAPS_FLIPVIDEOPORT 0x00000010
31 #define DDKERNELCAPS_FLIPOVERLAY 0x00000020
32 #define DDKERNELCAPS_CAPTURE_SYSMEM 0x00000040
33 #define DDKERNELCAPS_CAPTURE_NONLOCALVIDMEM 0x00000080
34 #define DDKERNELCAPS_FIELDPOLARITY 0x00000100
35 #define DDKERNELCAPS_CAPTURE_INVERTED 0x00000200
36 #define DDIRQ_DISPLAY_VSYNC 0x00000001
37 #define DDIRQ_RESERVED1 0x00000002
38 #define DDIRQ_VPORT0_VSYNC 0x00000004
39 #define DDIRQ_VPORT0_LINE 0x00000008
40 #define DDIRQ_VPORT1_VSYNC 0x00000010
41 #define DDIRQ_VPORT1_LINE 0x00000020
42 #define DDIRQ_VPORT2_VSYNC 0x00000040
43 #define DDIRQ_VPORT2_LINE 0x00000080
44 #define DDIRQ_VPORT3_VSYNC 0x00000100
45 #define DDIRQ_VPORT3_LINE 0x00000200
46 #define DDIRQ_VPORT4_VSYNC 0x00000400
47 #define DDIRQ_VPORT4_LINE 0x00000800
48 #define DDIRQ_VPORT5_VSYNC 0x00001000
49 #define DDIRQ_VPORT5_LINE 0x00002000
50 #define DDIRQ_VPORT6_VSYNC 0x00004000
51 #define DDIRQ_VPORT6_LINE 0x00008000
52 #define DDIRQ_VPORT7_VSYNC 0x00010000
53 #define DDIRQ_VPORT7_LINE 0x00020000
54 #define DDIRQ_VPORT8_VSYNC 0x00040000
55 #define DDIRQ_VPORT8_LINE 0x00080000
56 #define DDIRQ_VPORT9_VSYNC 0x00010000
57 #define DDIRQ_VPORT9_LINE 0x00020000
58
59 typedef struct IDirectDrawKernel* LPDIRECTDRAWKERNEL;
60 typedef struct IDirectDrawSurfaceKernel* LPDIRECTDRAWSURFACEKERNEL;
61
62 #if defined(_WIN32) && !defined(_NO_COM)
63
64 #undef INTERFACE
65 #define INTERFACE IDirectDrawKernel
66 DECLARE_INTERFACE_ (IDirectDrawKernel, IUnknown)
67 {
68 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
69 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
70 STDMETHOD_(ULONG,Release) (THIS) PURE;
71 STDMETHOD(GetKernelHandle) (THIS_ ULONG*) PURE;
72 STDMETHOD(ReleaseKernelHandle) (THIS) PURE;
73 };
74
75 #undef INTERFACE
76 #define INTERFACE IDirectDrawSurfaceKernel
77 DECLARE_INTERFACE_ (IDirectDrawSurfaceKernel, IUnknown)
78 {
79 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
80 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
81 STDMETHOD_(ULONG,Release) (THIS) PURE;
82 STDMETHOD(GetKernelHandle) (THIS_ ULONG*) PURE;
83 STDMETHOD(ReleaseKernelHandle) (THIS) PURE;
84 };
85
86 #undef INTERFACE
87 #endif // defined(_WIN32) && !defined(_NO_COM)
88
89 #ifdef __cplusplus
90 };
91 #endif
92
93 #endif
94
95
96
97