ReactOS 0.4.15-dev-7924-g5949c20
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
31typedef struct _VIDEOMODE
32{
43
44typedef struct _HW_DEVICE_EXTENSION
45{
55
59 _In_ PHW_DEVICE_EXTENSION DeviceExtension);
60
61CODE_SEG("PAGE")
65 _In_ PVOID HwDeviceExtension,
66 _Inout_ PVIDEO_REQUEST_PACKET RequestPacket);
67
68CODE_SEG("PAGE")
72 _In_ PHW_DEVICE_EXTENSION DeviceExtension,
73 _In_ PVIDEO_MODE RequestedMode);
74
75CODE_SEG("PAGE")
79 _In_ PVIDEO_CLUT ColorLookUpTable);
80
81CODE_SEG("PAGE")
85 _In_ PVOID HwDeviceExtension,
86 _In_ ULONG HwId,
87 _In_ PVIDEO_POWER_MANAGEMENT VideoPowerControl);
88
89CODE_SEG("PAGE")
93 _In_ PVOID HwDeviceExtension,
94 _In_ ULONG HwId,
95 _In_ PVIDEO_POWER_MANAGEMENT VideoPowerControl);
96
97DATA_SEG("PAGECONS")
99
100#endif /* _PC98VID_PCH_ */
#define CODE_SEG(...)
unsigned char BOOLEAN
DATA_SEG("INITDATA")
Definition: cmdata.c:71
#define _Inout_
Definition: ms_sal.h:378
#define _In_
Definition: ms_sal.h:308
#define FASTCALL
Definition: nt_native.h:50
VP_STATUS FASTCALL Pc98VidSetColorRegisters(_In_ PVIDEO_CLUT ColorLookUpTable)
Definition: hardware.c:261
VP_STATUS FASTCALL Pc98VidSetCurrentMode(_In_ PHW_DEVICE_EXTENSION DeviceExtension, _In_ PVIDEO_MODE RequestedMode)
Definition: hardware.c:83
BOOLEAN NTAPI HasPegcController(_In_ PHW_DEVICE_EXTENSION DeviceExtension)
Definition: hardware.c:63
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
struct _VIDEOMODE * PVIDEOMODE
BOOLEAN NTAPI Pc98VidStartIO(_In_ PVOID HwDeviceExtension, _Inout_ PVIDEO_REQUEST_PACKET RequestPacket)
Definition: ioctl.c:212
struct _HW_DEVICE_EXTENSION * PHW_DEVICE_EXTENSION
struct _HW_DEVICE_EXTENSION HW_DEVICE_EXTENSION
struct _VIDEOMODE VIDEOMODE
const VIDEOMODE VideoModes[]
Definition: pc98vid.c:15
unsigned short USHORT
Definition: pedump.c:61
LONG VP_STATUS
Definition: video.h:153
Definition: vga.h:250
PHYSICAL_ADDRESS FrameBuffer
Definition: pc98vid.h:52
ULONG FrameBufferLength
Definition: pc98vid.h:53
PHYSICAL_ADDRESS PegcControl
Definition: pc98vid.h:49
ULONG_PTR PegcControlVa
Definition: pc98vid.h:51
ULONG PegcControlLength
Definition: pc98vid.h:50
SYNCPARAM VideoSyncParameters
Definition: pc98vid.h:41
SYNCPARAM TextSyncParameters
Definition: pc98vid.h:40
UCHAR RefreshRate
Definition: pc98vid.h:39
UCHAR HorizontalScanRate
Definition: pc98vid.h:35
USHORT HResolution
Definition: pc98vid.h:33
UCHAR Clock1
Definition: pc98vid.h:36
UCHAR Clock2
Definition: pc98vid.h:37
USHORT VResolution
Definition: pc98vid.h:34
UCHAR Mem
Definition: pc98vid.h:38
#define NTAPI
Definition: typedefs.h:36
uint32_t ULONG_PTR
Definition: typedefs.h:65
uint32_t ULONG
Definition: typedefs.h:59
unsigned char UCHAR
Definition: xmlstorage.h:181
#define const
Definition: zconf.h:233