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