[INTRIN]
[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 <miniport.h>
28 #include <video.h>
29
30 #define UNIMPLEMENTED \
31 VideoPortDebugPrint(Error, "WARNING: %s at %s:%d is UNIMPLEMENTED!\n",__FUNCTION__,__FILE__,__LINE__);
32
33 VOID
34 InitVGAMode(VOID);
35
36 VP_STATUS NTAPI
37 VGAFindAdapter(
38 PVOID DeviceExtension,
39 PVOID Context,
40 PWSTR ArgumentString,
41 PVIDEO_PORT_CONFIG_INFO ConfigInfo,
42 PUCHAR Again);
43
44 BOOLEAN NTAPI
45 VGAInitialize(
46 PVOID DeviceExtension);
47
48 BOOLEAN NTAPI
49 VGAStartIO(
50 PVOID DeviceExtension,
51 PVIDEO_REQUEST_PACKET RequestPacket);
52
53 /*static BOOLEAN NTAPI
54 VGAInterrupt(PVOID DeviceExtension);*/
55
56 BOOLEAN NTAPI
57 VGAResetHw(
58 PVOID DeviceExtension,
59 ULONG Columns,
60 ULONG Rows);
61
62 /*static VOID NTAPI
63 VGATimer(PVOID DeviceExtension);*/
64
65 /* Mandatory IoControl routines */
66 BOOLEAN
67 VGAMapVideoMemory(
68 IN PVOID DeviceExtension,
69 IN PVIDEO_MEMORY RequestedAddress,
70 OUT PVIDEO_MEMORY_INFORMATION MapInformation,
71 OUT PSTATUS_BLOCK StatusBlock);
72
73 BOOLEAN
74 VGAQueryAvailModes(
75 OUT PVIDEO_MODE_INFORMATION ReturnedModes,
76 OUT PSTATUS_BLOCK StatusBlock);
77
78 BOOLEAN
79 VGAQueryCurrentMode(
80 OUT PVIDEO_MODE_INFORMATION CurrentMode,
81 OUT PSTATUS_BLOCK StatusBlock);
82
83 BOOLEAN
84 VGAQueryNumAvailModes(
85 OUT PVIDEO_NUM_MODES NumberOfModes,
86 OUT PSTATUS_BLOCK StatusBlock);
87
88 VOID
89 VGAResetDevice(OUT PSTATUS_BLOCK StatusBlock);
90
91 BOOLEAN
92 VGASetColorRegisters(
93 IN PVIDEO_CLUT ColorLookUpTable,
94 OUT PSTATUS_BLOCK StatusBlock);
95
96 BOOLEAN
97 VGASetPaletteRegisters(
98 IN PUSHORT PaletteRegisters,
99 OUT PSTATUS_BLOCK StatusBlock);
100
101 BOOLEAN
102 VGASetCurrentMode(
103 IN PVIDEO_MODE RequestedMode,
104 OUT PSTATUS_BLOCK StatusBlock);
105
106 BOOLEAN
107 VGAShareVideoMemory(
108 IN PVIDEO_SHARE_MEMORY RequestedMemory,
109 OUT PVIDEO_MEMORY_INFORMATION ReturnedMemory,
110 OUT PSTATUS_BLOCK StatusBlock);
111
112 BOOLEAN
113 VGAUnmapVideoMemory(
114 IN PVOID DeviceExtension,
115 IN PVIDEO_MEMORY MemoryToUnmap,
116 OUT PSTATUS_BLOCK StatusBlock);
117
118 BOOLEAN
119 VGAUnshareVideoMemory(
120 IN PVIDEO_MEMORY MemoryToUnshare,
121 OUT PSTATUS_BLOCK StatusBlock);
122
123 /* Optional IoControl routines */
124 /* None actually */
125
126 #endif /* VGAMP_H */