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