ReactOS  0.4.15-dev-2993-g14fbe80
pc98vid.h
Go to the documentation of this file.
1 /*
2  * PROJECT: ReactOS framebuffer driver for NEC PC-98 series
3  * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4  * PURPOSE: Miniport driver header file
5  * COPYRIGHT: Copyright 2020 Dmitry Borisov (di.sean@protonmail.com)
6  */
7 
8 #ifndef _PC98VID_PCH_
9 #define _PC98VID_PCH_
10 
11 #include <ntdef.h>
12 #include <section_attribs.h>
13 #include <dderror.h>
14 #include <devioctl.h>
15 #include <miniport.h>
16 #include <video.h>
17 #include <debug.h>
18 
19 #undef WRITE_PORT_UCHAR
20 #undef READ_PORT_UCHAR
21 #define WRITE_PORT_UCHAR(p, d) VideoPortWritePortUchar(p, d)
22 #define READ_PORT_UCHAR(p) VideoPortReadPortUchar(p)
23 #include <drivers/pc98/video.h>
24 
25 #if defined(_MSC_VER)
26 #pragma section("PAGECONS", read)
27 #endif
28 
29 #define MONITOR_HW_ID 0x1033FACE /* Dummy */
30 
31 typedef struct _VIDEOMODE
32 {
43 
44 typedef struct _HW_DEVICE_EXTENSION
45 {
55 
56 BOOLEAN
57 NTAPI
59  _In_ PHW_DEVICE_EXTENSION DeviceExtension);
60 
61 CODE_SEG("PAGE")
62 BOOLEAN
63 NTAPI
65  _In_ PVOID HwDeviceExtension,
66  _Inout_ PVIDEO_REQUEST_PACKET RequestPacket);
67 
68 CODE_SEG("PAGE")
72  _In_ PHW_DEVICE_EXTENSION DeviceExtension,
73  _In_ PVIDEO_MODE RequestedMode);
74 
75 CODE_SEG("PAGE")
79  _In_ PVIDEO_CLUT ColorLookUpTable);
80 
81 CODE_SEG("PAGE")
83 NTAPI
85  _In_ PVOID HwDeviceExtension,
86  _In_ ULONG HwId,
87  _In_ PVIDEO_POWER_MANAGEMENT VideoPowerControl);
88 
89 CODE_SEG("PAGE")
91 NTAPI
93  _In_ PVOID HwDeviceExtension,
94  _In_ ULONG HwId,
95  _In_ PVIDEO_POWER_MANAGEMENT VideoPowerControl);
96 
97 DATA_SEG("PAGECONS")
98 extern const VIDEOMODE VideoModes[];
99 
100 #endif /* _PC98VID_PCH_ */
UCHAR Clock2
Definition: pc98vid.h:37
SYNCPARAM VideoSyncParameters
Definition: pc98vid.h:41
BOOLEAN NTAPI HasPegcController(_In_ PHW_DEVICE_EXTENSION DeviceExtension)
Definition: hardware.c:63
#define _Inout_
Definition: ms_sal.h:378
struct _VIDEOMODE * PVIDEOMODE
UCHAR HorizontalScanRate
Definition: pc98vid.h:35
const VIDEOMODE VideoModes[]
Definition: pc98vid.c:15
struct _HW_DEVICE_EXTENSION * PHW_DEVICE_EXTENSION
#define FASTCALL
Definition: nt_native.h:50
Definition: vga.h:250
uint32_t ULONG_PTR
Definition: typedefs.h:65
UCHAR Mem
Definition: pc98vid.h:38
ULONG_PTR PegcControlVa
Definition: pc98vid.h:51
VP_STATUS FASTCALL Pc98VidSetCurrentMode(_In_ PHW_DEVICE_EXTENSION DeviceExtension, _In_ PVIDEO_MODE RequestedMode)
Definition: hardware.c:83
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
BOOLEAN NTAPI Pc98VidStartIO(_In_ PVOID HwDeviceExtension, _Inout_ PVIDEO_REQUEST_PACKET RequestPacket)
Definition: ioctl.c:212
PHYSICAL_ADDRESS PegcControl
Definition: pc98vid.h:49
unsigned char BOOLEAN
#define _In_
Definition: ms_sal.h:308
USHORT HResolution
Definition: pc98vid.h:33
PHYSICAL_ADDRESS FrameBuffer
Definition: pc98vid.h:52
DATA_SEG("INITDATA")
Definition: cmdata.c:68
ULONG PegcControlLength
Definition: pc98vid.h:50
unsigned char UCHAR
Definition: xmlstorage.h:181
VP_STATUS NTAPI Pc98VidGetPowerState(_In_ PVOID HwDeviceExtension, _In_ ULONG HwId, _In_ PVIDEO_POWER_MANAGEMENT VideoPowerControl)
Definition: hardware.c:292
VP_STATUS NTAPI Pc98VidSetPowerState(_In_ PVOID HwDeviceExtension, _In_ ULONG HwId, _In_ PVIDEO_POWER_MANAGEMENT VideoPowerControl)
Definition: hardware.c:321
unsigned short USHORT
Definition: pedump.c:61
struct _HW_DEVICE_EXTENSION HW_DEVICE_EXTENSION
VP_STATUS FASTCALL Pc98VidSetColorRegisters(_In_ PVIDEO_CLUT ColorLookUpTable)
Definition: hardware.c:261
SYNCPARAM TextSyncParameters
Definition: pc98vid.h:40
unsigned int ULONG
Definition: retypes.h:1
#define const
Definition: zconf.h:230
UCHAR Clock1
Definition: pc98vid.h:36
struct _VIDEOMODE VIDEOMODE
LONG VP_STATUS
Definition: video.h:153
UCHAR RefreshRate
Definition: pc98vid.h:39
static CODE_SEG("PAGE")
Definition: isapnp.c:1482
ULONG FrameBufferLength
Definition: pc98vid.h:53
USHORT VResolution
Definition: pc98vid.h:34