xref: /reactos/win32ss/drivers/miniport/vga/vgamp.h (revision 8a978a17)
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 */
127