a0929a4dc58d06e6ddd835c487147352fffeda44
[reactos.git] / reactos / drivers / video / miniport / xboxvmp / xboxvmp.h
1 /*
2 * ReactOS Xbox miniport video driver
3 * Copyright (C) 2004 Gé van Geldorp
4 *
5 * Based on VBE miniport video driver
6 * Copyright (C) 2004 Filip Navara
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version 2
11 * of the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 */
22
23 #ifndef XBOXVMP_H
24 #define XBOXVMP_H
25
26 /* INCLUDES *******************************************************************/
27
28 #include <ddk/ntddk.h>
29 #include <ddk/miniport.h>
30 #include <ddk/video.h>
31 #include <ddk/ntddvdeo.h>
32 #include <ndk/ntndk.h>
33
34 #define NDEBUG
35 #include <debug.h>
36
37 typedef struct
38 {
39 PHYSICAL_ADDRESS PhysControlStart;
40 ULONG ControlLength;
41 PVOID VirtControlStart;
42 PHYSICAL_ADDRESS PhysFrameBufferStart;
43 } XBOXVMP_DEVICE_EXTENSION, *PXBOXVMP_DEVICE_EXTENSION;
44
45 VP_STATUS STDCALL
46 XboxVmpFindAdapter(
47 IN PVOID HwDeviceExtension,
48 IN PVOID HwContext,
49 IN PWSTR ArgumentString,
50 IN OUT PVIDEO_PORT_CONFIG_INFO ConfigInfo,
51 OUT PUCHAR Again);
52
53 BOOLEAN STDCALL
54 XboxVmpInitialize(PVOID HwDeviceExtension);
55
56 BOOLEAN STDCALL
57 XboxVmpStartIO(
58 PVOID HwDeviceExtension,
59 PVIDEO_REQUEST_PACKET RequestPacket);
60
61 BOOLEAN STDCALL
62 XboxVmpResetHw(
63 PVOID DeviceExtension,
64 ULONG Columns,
65 ULONG Rows);
66
67 VP_STATUS STDCALL
68 XboxVmpGetPowerState(
69 PVOID HwDeviceExtension,
70 ULONG HwId,
71 PVIDEO_POWER_MANAGEMENT VideoPowerControl);
72
73 VP_STATUS STDCALL
74 XboxVmpSetPowerState(
75 PVOID HwDeviceExtension,
76 ULONG HwId,
77 PVIDEO_POWER_MANAGEMENT VideoPowerControl);
78
79 BOOL FASTCALL
80 XboxVmpSetCurrentMode(
81 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
82 PVIDEO_MODE RequestedMode,
83 PSTATUS_BLOCK StatusBlock);
84
85 BOOL FASTCALL
86 XboxVmpResetDevice(
87 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
88 PSTATUS_BLOCK StatusBlock);
89
90 BOOL FASTCALL
91 XboxVmpMapVideoMemory(
92 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
93 PVIDEO_MEMORY RequestedAddress,
94 PVIDEO_MEMORY_INFORMATION MapInformation,
95 PSTATUS_BLOCK StatusBlock);
96
97 BOOL FASTCALL
98 XboxVmpUnmapVideoMemory(
99 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
100 PVIDEO_MEMORY VideoMemory,
101 PSTATUS_BLOCK StatusBlock);
102
103 BOOL FASTCALL
104 XboxVmpQueryNumAvailModes(
105 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
106 PVIDEO_NUM_MODES Modes,
107 PSTATUS_BLOCK StatusBlock);
108
109 BOOL FASTCALL
110 XboxVmpQueryAvailModes(
111 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
112 PVIDEO_MODE_INFORMATION ReturnedModes,
113 PSTATUS_BLOCK StatusBlock);
114
115 BOOL FASTCALL
116 XboxVmpQueryCurrentMode(
117 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
118 PVIDEO_MODE_INFORMATION VideoModeInfo,
119 PSTATUS_BLOCK StatusBlock);
120
121 BOOL FASTCALL
122 XboxVmpSetColorRegisters(
123 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
124 PVIDEO_CLUT ColorLookUpTable,
125 PSTATUS_BLOCK StatusBlock);
126
127 #endif /* XBOXVMP_H */
128
129 /* EOF */