--- /dev/null
+/** @file\r
+ Type definitions related to the VBE (VESA BIOS Extension, Int10h AH=4Fh)\r
+ services GET INFORMATION (AL=00h) and GET MODE INFORMATION (AL=01h).\r
+\r
+ For reference, see Ralf Brown's Interrupt List:\r
+ <http://www.cs.cmu.edu/~ralf/files.html>\r
+ <http://www.ctyme.com/rbrown.htm>\r
+\r
+ Copyright (C) 2014, Red Hat, Inc.\r
+\r
+ This program and the accompanying materials are licensed and made available\r
+ under the terms and conditions of the BSD License which accompanies this\r
+ distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT\r
+ WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+**/\r
+\r
+#ifndef __LEGACY_VGA_BIOS_H__\r
+#define __LEGACY_VGA_BIOS_H__\r
+\r
+#include <Base.h>\r
+\r
+#pragma pack (1)\r
+typedef struct {\r
+ UINT8 Signature[4];\r
+ UINT16 VesaVersion;\r
+ UINT32 OemNameAddress;\r
+ UINT32 Capabilities;\r
+ UINT32 ModeListAddress;\r
+ UINT16 VideoMem64K;\r
+ UINT16 OemSoftwareVersion;\r
+ UINT32 VendorNameAddress;\r
+ UINT32 ProductNameAddress;\r
+ UINT32 ProductRevAddress;\r
+} VBE_INFO_BASE;\r
+\r
+typedef struct {\r
+ VBE_INFO_BASE Base;\r
+ UINT8 Buffer[256 - sizeof (VBE_INFO_BASE)];\r
+} VBE_INFO;\r
+\r
+typedef struct {\r
+ UINT16 ModeAttr;\r
+ UINT8 WindowAAttr;\r
+ UINT8 WindowBAttr;\r
+ UINT16 WindowGranularityKB;\r
+ UINT16 WindowSizeKB;\r
+ UINT16 WindowAStartSegment;\r
+ UINT16 WindowBStartSegment;\r
+ UINT32 WindowPositioningAddress;\r
+ UINT16 BytesPerScanLine;\r
+\r
+ UINT16 Width;\r
+ UINT16 Height;\r
+ UINT8 CharCellWidth;\r
+ UINT8 CharCellHeight;\r
+ UINT8 NumPlanes;\r
+ UINT8 BitsPerPixel;\r
+ UINT8 NumBanks;\r
+ UINT8 MemoryModel;\r
+ UINT8 BankSizeKB;\r
+ UINT8 NumImagePagesLessOne;\r
+ UINT8 Vbe3;\r
+\r
+ UINT8 RedMaskSize;\r
+ UINT8 RedMaskPos;\r
+ UINT8 GreenMaskSize;\r
+ UINT8 GreenMaskPos;\r
+ UINT8 BlueMaskSize;\r
+ UINT8 BlueMaskPos;\r
+ UINT8 ReservedMaskSize;\r
+ UINT8 ReservedMaskPos;\r
+ UINT8 DirectColorModeInfo;\r
+\r
+ UINT32 LfbAddress;\r
+ UINT32 OffScreenAddress;\r
+ UINT16 OffScreenSizeKB;\r
+\r
+ UINT16 BytesPerScanLineLinear;\r
+ UINT8 NumImagesLessOneBanked;\r
+ UINT8 NumImagesLessOneLinear;\r
+ UINT8 RedMaskSizeLinear;\r
+ UINT8 RedMaskPosLinear;\r
+ UINT8 GreenMaskSizeLinear;\r
+ UINT8 GreenMaskPosLinear;\r
+ UINT8 BlueMaskSizeLinear;\r
+ UINT8 BlueMaskPosLinear;\r
+ UINT8 ReservedMaskSizeLinear;\r
+ UINT8 ReservedMaskPosLinear;\r
+ UINT32 MaxPixelClockHz;\r
+ UINT8 Reserved[190];\r
+} VBE_MODE_INFO;\r
+#pragma pack ()\r
+\r
+#endif\r