55d99d370fb90cf65acf5b949c98debcff04bda4
[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 <ntddk.h>
29 #include <miniport.h>
30 #include <video.h>
31 #include <ndk/exfuncs.h>
32
33 typedef struct
34 {
35 PHYSICAL_ADDRESS PhysControlStart;
36 ULONG ControlLength;
37 PVOID VirtControlStart;
38 PHYSICAL_ADDRESS PhysFrameBufferStart;
39 } XBOXVMP_DEVICE_EXTENSION, *PXBOXVMP_DEVICE_EXTENSION;
40
41 VP_STATUS STDCALL
42 XboxVmpFindAdapter(
43 IN PVOID HwDeviceExtension,
44 IN PVOID HwContext,
45 IN PWSTR ArgumentString,
46 IN OUT PVIDEO_PORT_CONFIG_INFO ConfigInfo,
47 OUT PUCHAR Again);
48
49 BOOLEAN STDCALL
50 XboxVmpInitialize(PVOID HwDeviceExtension);
51
52 BOOLEAN STDCALL
53 XboxVmpStartIO(
54 PVOID HwDeviceExtension,
55 PVIDEO_REQUEST_PACKET RequestPacket);
56
57 BOOLEAN STDCALL
58 XboxVmpResetHw(
59 PVOID DeviceExtension,
60 ULONG Columns,
61 ULONG Rows);
62
63 VP_STATUS STDCALL
64 XboxVmpGetPowerState(
65 PVOID HwDeviceExtension,
66 ULONG HwId,
67 PVIDEO_POWER_MANAGEMENT VideoPowerControl);
68
69 VP_STATUS STDCALL
70 XboxVmpSetPowerState(
71 PVOID HwDeviceExtension,
72 ULONG HwId,
73 PVIDEO_POWER_MANAGEMENT VideoPowerControl);
74
75 BOOL FASTCALL
76 XboxVmpSetCurrentMode(
77 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
78 PVIDEO_MODE RequestedMode,
79 PSTATUS_BLOCK StatusBlock);
80
81 BOOL FASTCALL
82 XboxVmpResetDevice(
83 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
84 PSTATUS_BLOCK StatusBlock);
85
86 BOOL FASTCALL
87 XboxVmpMapVideoMemory(
88 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
89 PVIDEO_MEMORY RequestedAddress,
90 PVIDEO_MEMORY_INFORMATION MapInformation,
91 PSTATUS_BLOCK StatusBlock);
92
93 BOOL FASTCALL
94 XboxVmpUnmapVideoMemory(
95 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
96 PVIDEO_MEMORY VideoMemory,
97 PSTATUS_BLOCK StatusBlock);
98
99 BOOL FASTCALL
100 XboxVmpQueryNumAvailModes(
101 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
102 PVIDEO_NUM_MODES Modes,
103 PSTATUS_BLOCK StatusBlock);
104
105 BOOL FASTCALL
106 XboxVmpQueryAvailModes(
107 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
108 PVIDEO_MODE_INFORMATION ReturnedModes,
109 PSTATUS_BLOCK StatusBlock);
110
111 BOOL FASTCALL
112 XboxVmpQueryCurrentMode(
113 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
114 PVIDEO_MODE_INFORMATION VideoModeInfo,
115 PSTATUS_BLOCK StatusBlock);
116
117 BOOL FASTCALL
118 XboxVmpSetColorRegisters(
119 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
120 PVIDEO_CLUT ColorLookUpTable,
121 PSTATUS_BLOCK StatusBlock);
122
123 #endif /* XBOXVMP_H */
124
125 /* EOF */