ReactOS 0.4.15-dev-7958-gcd0bb1a
xboxvmp.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Xbox miniport video driver
3 * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4 * PURPOSE: Simple framebuffer driver for NVIDIA NV2A XGPU
5 * COPYRIGHT: Copyright 2004 Ge van Geldorp
6 * Copyright 2004 Filip Navara
7 * Copyright 2019-2020 Stanislav Motylkov (x86corez@gmail.com)
8 */
9
10#pragma once
11
12/* INCLUDES *******************************************************************/
13
14/*
15 * FIXME: specify headers properly in the triangle brackets and rearrange them
16 * in a way so it would be simpler to add NDK and other headers for debugging.
17 */
18#include "ntdef.h"
19#define PAGE_SIZE 4096
20#include "dderror.h"
21#include "devioctl.h"
22#include "miniport.h"
23#include "ioaccess.h"
24#include "video.h"
25
26typedef struct
27{
33
37 IN PVOID HwDeviceExtension,
39 IN PWSTR ArgumentString,
41 OUT PUCHAR Again);
42
46 PVOID HwDeviceExtension);
47
51 PVOID HwDeviceExtension,
52 PVIDEO_REQUEST_PACKET RequestPacket);
53
57 PVOID DeviceExtension,
59 ULONG Rows);
60
64 PVOID HwDeviceExtension,
65 ULONG HwId,
66 PVIDEO_POWER_MANAGEMENT VideoPowerControl);
67
71 PVOID HwDeviceExtension,
72 ULONG HwId,
73 PVIDEO_POWER_MANAGEMENT VideoPowerControl);
74
78 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
79 PVIDEO_MODE RequestedMode,
80 PSTATUS_BLOCK StatusBlock);
81
85 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
86 PSTATUS_BLOCK StatusBlock);
87
91 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
92 PVIDEO_MEMORY RequestedAddress,
93 PVIDEO_MEMORY_INFORMATION MapInformation,
94 PSTATUS_BLOCK StatusBlock);
95
99 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
100 PVIDEO_MEMORY VideoMemory,
101 PSTATUS_BLOCK StatusBlock);
102
106 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
108 PSTATUS_BLOCK StatusBlock);
109
113 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
114 PVIDEO_MODE_INFORMATION ReturnedModes,
115 PSTATUS_BLOCK StatusBlock);
116
120 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
121 PVIDEO_MODE_INFORMATION VideoModeInfo,
122 PSTATUS_BLOCK StatusBlock);
123
127 PXBOXVMP_DEVICE_EXTENSION DeviceExtension,
128 PVIDEO_CLUT ColorLookUpTable,
129 PSTATUS_BLOCK StatusBlock);
130
131/* EOF */
unsigned char BOOLEAN
static const COLUMN_LIST Columns[]
Definition: listview.c:19
#define FASTCALL
Definition: nt_native.h:50
_Must_inspect_result_ _In_ PVOID _In_ struct _HW_INITIALIZATION_DATA _In_ PVOID HwContext
Definition: srb.h:907
LONG VP_STATUS
Definition: video.h:153
PHYSICAL_ADDRESS PhysFrameBufferStart
Definition: xboxvmp.h:31
PHYSICAL_ADDRESS PhysControlStart
Definition: xboxvmp.h:28
static const VBE_MODE Modes[VBE_MODE_COUNT]
Definition: vbe.c:189
uint16_t * PWSTR
Definition: typedefs.h:56
#define NTAPI
Definition: typedefs.h:36
#define IN
Definition: typedefs.h:39
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
VP_STATUS NTAPI XboxVmpGetPowerState(PVOID HwDeviceExtension, ULONG HwId, PVIDEO_POWER_MANAGEMENT VideoPowerControl)
Definition: xboxvmp.c:310
BOOLEAN FASTCALL XboxVmpResetDevice(PXBOXVMP_DEVICE_EXTENSION DeviceExtension, PSTATUS_BLOCK StatusBlock)
Definition: xboxvmp.c:371
VP_STATUS NTAPI XboxVmpSetPowerState(PVOID HwDeviceExtension, ULONG HwId, PVIDEO_POWER_MANAGEMENT VideoPowerControl)
Definition: xboxvmp.c:328
BOOLEAN NTAPI XboxVmpResetHw(PVOID DeviceExtension, ULONG Columns, ULONG Rows)
Definition: xboxvmp.c:287
BOOLEAN NTAPI XboxVmpInitialize(PVOID HwDeviceExtension)
Definition: xboxvmp.c:98
BOOLEAN FASTCALL XboxVmpMapVideoMemory(PXBOXVMP_DEVICE_EXTENSION DeviceExtension, PVIDEO_MEMORY RequestedAddress, PVIDEO_MEMORY_INFORMATION MapInformation, PSTATUS_BLOCK StatusBlock)
Definition: xboxvmp.c:389
BOOLEAN NTAPI XboxVmpStartIO(PVOID HwDeviceExtension, PVIDEO_REQUEST_PACKET RequestPacket)
Definition: xboxvmp.c:138
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:56
struct XBOXVMP_DEVICE_EXTENSION * PXBOXVMP_DEVICE_EXTENSION
BOOLEAN FASTCALL XboxVmpUnmapVideoMemory(PXBOXVMP_DEVICE_EXTENSION DeviceExtension, PVIDEO_MEMORY VideoMemory, PSTATUS_BLOCK StatusBlock)
Definition: xboxvmp.c:448
BOOLEAN FASTCALL XboxVmpSetColorRegisters(PXBOXVMP_DEVICE_EXTENSION DeviceExtension, PVIDEO_CLUT ColorLookUpTable, PSTATUS_BLOCK StatusBlock)
BOOLEAN FASTCALL XboxVmpQueryCurrentMode(PXBOXVMP_DEVICE_EXTENSION DeviceExtension, PVIDEO_MODE_INFORMATION VideoModeInfo, PSTATUS_BLOCK StatusBlock)
Definition: xboxvmp.c:537
BOOLEAN FASTCALL XboxVmpSetCurrentMode(PXBOXVMP_DEVICE_EXTENSION DeviceExtension, PVIDEO_MODE RequestedMode, PSTATUS_BLOCK StatusBlock)
Definition: xboxvmp.c:346
BOOLEAN FASTCALL XboxVmpQueryNumAvailModes(PXBOXVMP_DEVICE_EXTENSION DeviceExtension, PVIDEO_NUM_MODES Modes, PSTATUS_BLOCK StatusBlock)
Definition: xboxvmp.c:471
BOOLEAN FASTCALL XboxVmpQueryAvailModes(PXBOXVMP_DEVICE_EXTENSION DeviceExtension, PVIDEO_MODE_INFORMATION ReturnedModes, PSTATUS_BLOCK StatusBlock)
Definition: xboxvmp.c:490
_In_ ULONG Rows
Definition: haltypes.h:7