[VGA/VGA_NEW]
[reactos.git] / reactos / win32ss / drivers / miniport / vga / vgamp.h
1 /*
2 * ReactOS VGA miniport video driver
3 *
4 * Copyright (C) 2004 Filip Navara, Herve Poussineau
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 */
20
21 #ifndef VGAMP_H
22 #define VGAMP_H
23
24 /* INCLUDES *******************************************************************/
25
26 #include "ntdef.h"
27 #include "dderror.h"
28 #include "devioctl.h"
29 #include "miniport.h"
30 #include "ntddvdeo.h"
31 #include "video.h"
32 #include "vgavideo.h"
33
34 #define UNIMPLEMENTED \
35 VideoPortDebugPrint(Error, "WARNING: %s at %s:%d is UNIMPLEMENTED!\n",__FUNCTION__,__FILE__,__LINE__);
36
37 VOID
38 InitVGAMode(VOID);
39
40 VP_STATUS NTAPI
41 VGAFindAdapter(
42 PVOID DeviceExtension,
43 PVOID Context,
44 PWSTR ArgumentString,
45 PVIDEO_PORT_CONFIG_INFO ConfigInfo,
46 PUCHAR Again);
47
48 BOOLEAN NTAPI
49 VGAInitialize(
50 PVOID DeviceExtension);
51
52 BOOLEAN NTAPI
53 VGAStartIO(
54 PVOID DeviceExtension,
55 PVIDEO_REQUEST_PACKET RequestPacket);
56
57 /*static BOOLEAN NTAPI
58 VGAInterrupt(PVOID DeviceExtension);*/
59
60 BOOLEAN NTAPI
61 VGAResetHw(
62 PVOID DeviceExtension,
63 ULONG Columns,
64 ULONG Rows);
65
66 /*static VOID NTAPI
67 VGATimer(PVOID DeviceExtension);*/
68
69 /* Mandatory IoControl routines */
70 BOOLEAN
71 VGAMapVideoMemory(
72 IN PVOID DeviceExtension,
73 IN PVIDEO_MEMORY RequestedAddress,
74 OUT PVIDEO_MEMORY_INFORMATION MapInformation,
75 OUT PSTATUS_BLOCK StatusBlock);
76
77 BOOLEAN
78 VGAQueryAvailModes(
79 OUT PVIDEO_MODE_INFORMATION ReturnedModes,
80 OUT PSTATUS_BLOCK StatusBlock);
81
82 BOOLEAN
83 VGAQueryCurrentMode(
84 OUT PVIDEO_MODE_INFORMATION CurrentMode,
85 OUT PSTATUS_BLOCK StatusBlock);
86
87 BOOLEAN
88 VGAQueryNumAvailModes(
89 OUT PVIDEO_NUM_MODES NumberOfModes,
90 OUT PSTATUS_BLOCK StatusBlock);
91
92 VOID
93 VGAResetDevice(OUT PSTATUS_BLOCK StatusBlock);
94
95 BOOLEAN
96 VGASetColorRegisters(
97 IN PVIDEO_CLUT ColorLookUpTable,
98 OUT PSTATUS_BLOCK StatusBlock);
99
100 BOOLEAN
101 VGASetPaletteRegisters(
102 IN PUSHORT PaletteRegisters,
103 OUT PSTATUS_BLOCK StatusBlock);
104
105 BOOLEAN
106 VGASetCurrentMode(
107 IN PVIDEO_MODE RequestedMode,
108 OUT PSTATUS_BLOCK StatusBlock);
109
110 BOOLEAN
111 VGAShareVideoMemory(
112 IN PVIDEO_SHARE_MEMORY RequestedMemory,
113 OUT PVIDEO_MEMORY_INFORMATION ReturnedMemory,
114 OUT PSTATUS_BLOCK StatusBlock);
115
116 BOOLEAN
117 VGAUnmapVideoMemory(
118 IN PVOID DeviceExtension,
119 IN PVIDEO_MEMORY MemoryToUnmap,
120 OUT PSTATUS_BLOCK StatusBlock);
121
122 BOOLEAN
123 VGAUnshareVideoMemory(
124 IN PVIDEO_MEMORY MemoryToUnshare,
125 OUT PSTATUS_BLOCK StatusBlock);
126
127 /* Optional IoControl routines */
128 /* None actually */
129
130 #endif /* VGAMP_H */