ReactOS  0.4.12-dev-90-g2e2e63e
xboxvmp.h
Go to the documentation of this file.
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 along
19  * with this program; if not, write to the Free Software Foundation, Inc.,
20  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21  */
22 
23 #pragma once
24 
25 /* INCLUDES *******************************************************************/
26 
27 #include "ntdef.h"
28 #define PAGE_SIZE 4096
29 #include "dderror.h"
30 #include "devioctl.h"
31 #include "miniport.h"
32 #include "video.h"
33 
34 /* FIXME: NDK not compatible with miniport drivers */
35 #define SystemBasicInformation 0
36 typedef struct _SYSTEM_BASIC_INFORMATION
37 {
50 
51 LONG
54  IN ULONG SystemInformationClass,
55  OUT PVOID SystemInformation,
56  IN ULONG Length,
58 );
59 
60 typedef struct
61 {
67 
70  IN PVOID HwDeviceExtension,
72  IN PWSTR ArgumentString,
73  IN OUT PVIDEO_PORT_CONFIG_INFO ConfigInfo,
74  OUT PUCHAR Again);
75 
77 XboxVmpInitialize(PVOID HwDeviceExtension);
78 
81  PVOID HwDeviceExtension,
82  PVIDEO_REQUEST_PACKET RequestPacket);
83 
86  PVOID DeviceExtension,
87  ULONG Columns,
88  ULONG Rows);
89 
92  PVOID HwDeviceExtension,
93  ULONG HwId,
94  PVIDEO_POWER_MANAGEMENT VideoPowerControl);
95 
98  PVOID HwDeviceExtension,
99  ULONG HwId,
100  PVIDEO_POWER_MANAGEMENT VideoPowerControl);
101 
104  PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
105  PVIDEO_MODE RequestedMode,
106  PSTATUS_BLOCK StatusBlock);
107 
110  PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
111  PSTATUS_BLOCK StatusBlock);
112 
115  PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
116  PVIDEO_MEMORY RequestedAddress,
117  PVIDEO_MEMORY_INFORMATION MapInformation,
118  PSTATUS_BLOCK StatusBlock);
119 
122  PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
123  PVIDEO_MEMORY VideoMemory,
124  PSTATUS_BLOCK StatusBlock);
125 
128  PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
130  PSTATUS_BLOCK StatusBlock);
131 
134  PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
135  PVIDEO_MODE_INFORMATION ReturnedModes,
136  PSTATUS_BLOCK StatusBlock);
137 
140  PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
141  PVIDEO_MODE_INFORMATION VideoModeInfo,
142  PSTATUS_BLOCK StatusBlock);
143 
146  PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
147  PVIDEO_CLUT ColorLookUpTable,
148  PSTATUS_BLOCK StatusBlock);
149 
150 /* EOF */
IN CINT OUT PVOID IN ULONG OUT PULONG ResultLength
Definition: conport.c:47
#define IN
Definition: typedefs.h:38
VP_STATUS NTAPI XboxVmpFindAdapter(IN PVOID HwDeviceExtension, IN PVOID HwContext, IN PWSTR ArgumentString, IN OUT PVIDEO_PORT_CONFIG_INFO ConfigInfo, OUT PUCHAR Again)
Definition: xboxvmp.c:64
BOOLEAN FASTCALL XboxVmpSetCurrentMode(PXBOXVMP_DEVICE_EXTENSION DeviceExtension, PVIDEO_MODE RequestedMode, PSTATUS_BLOCK StatusBlock)
Definition: xboxvmp.c:308
uint16_t * PWSTR
Definition: typedefs.h:54
unsigned char * PUCHAR
Definition: retypes.h:3
static const VBE_MODE Modes[VBE_MODE_COUNT]
Definition: vbe.c:189
_Must_inspect_result_ _In_ PVOID _In_ struct _HW_INITIALIZATION_DATA _In_ PVOID HwContext
Definition: srb.h:664
BOOLEAN FASTCALL XboxVmpQueryNumAvailModes(PXBOXVMP_DEVICE_EXTENSION DeviceExtension, PVIDEO_NUM_MODES Modes, PSTATUS_BLOCK StatusBlock)
Definition: xboxvmp.c:423
PHYSICAL_ADDRESS PhysControlStart
Definition: xboxvmp.h:62
BOOLEAN NTAPI XboxVmpInitialize(PVOID HwDeviceExtension)
Definition: xboxvmp.c:99
BOOLEAN FASTCALL XboxVmpResetDevice(PXBOXVMP_DEVICE_EXTENSION DeviceExtension, PSTATUS_BLOCK StatusBlock)
Definition: xboxvmp.c:331
struct _SYSTEM_BASIC_INFORMATION SYSTEM_BASIC_INFORMATION
#define FASTCALL
Definition: nt_native.h:50
BOOLEAN NTAPI XboxVmpResetHw(PVOID DeviceExtension, ULONG Columns, ULONG Rows)
Definition: xboxvmp.c:252
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
long LONG
Definition: pedump.c:60
VP_STATUS NTAPI XboxVmpSetPowerState(PVOID HwDeviceExtension, ULONG HwId, PVIDEO_POWER_MANAGEMENT VideoPowerControl)
Definition: xboxvmp.c:291
unsigned char BOOLEAN
_In_ ULONG Rows
Definition: haltypes.h:7
BOOLEAN FASTCALL XboxVmpUnmapVideoMemory(PXBOXVMP_DEVICE_EXTENSION DeviceExtension, PVIDEO_MEMORY VideoMemory, PSTATUS_BLOCK StatusBlock)
Definition: xboxvmp.c:403
BOOLEAN FASTCALL XboxVmpQueryAvailModes(PXBOXVMP_DEVICE_EXTENSION DeviceExtension, PVIDEO_MODE_INFORMATION ReturnedModes, PSTATUS_BLOCK StatusBlock)
Definition: xboxvmp.c:525
PHYSICAL_ADDRESS PhysFrameBufferStart
Definition: xboxvmp.h:65
BOOLEAN FASTCALL XboxVmpSetColorRegisters(PXBOXVMP_DEVICE_EXTENSION DeviceExtension, PVIDEO_CLUT ColorLookUpTable, PSTATUS_BLOCK StatusBlock)
VP_STATUS NTAPI XboxVmpGetPowerState(PVOID HwDeviceExtension, ULONG HwId, PVIDEO_POWER_MANAGEMENT VideoPowerControl)
Definition: xboxvmp.c:274
char CCHAR
Definition: typedefs.h:50
#define __stdcall
Definition: typedefs.h:25
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
BOOLEAN FASTCALL XboxVmpQueryCurrentMode(PXBOXVMP_DEVICE_EXTENSION DeviceExtension, PVIDEO_MODE_INFORMATION VideoModeInfo, PSTATUS_BLOCK StatusBlock)
Definition: xboxvmp.c:540
struct _SYSTEM_BASIC_INFORMATION * PSYSTEM_BASIC_INFORMATION
LONG __stdcall ZwQuerySystemInformation(IN ULONG SystemInformationClass, OUT PVOID SystemInformation, IN ULONG Length, OUT PULONG ResultLength)
BOOLEAN FASTCALL XboxVmpMapVideoMemory(PXBOXVMP_DEVICE_EXTENSION DeviceExtension, PVIDEO_MEMORY RequestedAddress, PVIDEO_MEMORY_INFORMATION MapInformation, PSTATUS_BLOCK StatusBlock)
Definition: xboxvmp.c:348
static const COLUMN_LIST Columns[]
Definition: listview.c:19
KAFFINITY ActiveProcessorsAffinityMask
Definition: ntddk_ex.h:171
ULONG_PTR KAFFINITY
Definition: compat.h:75
unsigned int * PULONG
Definition: retypes.h:1
struct XBOXVMP_DEVICE_EXTENSION * PXBOXVMP_DEVICE_EXTENSION
#define OUT
Definition: typedefs.h:39
unsigned int ULONG
Definition: retypes.h:1
LONG VP_STATUS
Definition: video.h:153
BOOLEAN NTAPI XboxVmpStartIO(PVOID HwDeviceExtension, PVIDEO_REQUEST_PACKET RequestPacket)
Definition: xboxvmp.c:134