1 | /** @file
|
---|
2 | Type definitions related to the VBE (VESA BIOS Extension, Int10h AH=4Fh)
|
---|
3 | services GET INFORMATION (AL=00h) and GET MODE INFORMATION (AL=01h).
|
---|
4 |
|
---|
5 | For reference, see Ralf Brown's Interrupt List:
|
---|
6 | <http://www.cs.cmu.edu/~ralf/files.html>
|
---|
7 | <http://www.ctyme.com/rbrown.htm>
|
---|
8 |
|
---|
9 | Copyright (C) 2014, Red Hat, Inc.
|
---|
10 |
|
---|
11 | This program and the accompanying materials are licensed and made available
|
---|
12 | under the terms and conditions of the BSD License which accompanies this
|
---|
13 | distribution. The full text of the license may be found at
|
---|
14 | http://opensource.org/licenses/bsd-license.php
|
---|
15 |
|
---|
16 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
|
---|
17 | WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
---|
18 | **/
|
---|
19 |
|
---|
20 | #ifndef __LEGACY_VGA_BIOS_H__
|
---|
21 | #define __LEGACY_VGA_BIOS_H__
|
---|
22 |
|
---|
23 | #include <Base.h>
|
---|
24 |
|
---|
25 | #pragma pack (1)
|
---|
26 | typedef struct {
|
---|
27 | UINT8 Signature[4];
|
---|
28 | UINT16 VesaVersion;
|
---|
29 | UINT32 OemNameAddress;
|
---|
30 | UINT32 Capabilities;
|
---|
31 | UINT32 ModeListAddress;
|
---|
32 | UINT16 VideoMem64K;
|
---|
33 | UINT16 OemSoftwareVersion;
|
---|
34 | UINT32 VendorNameAddress;
|
---|
35 | UINT32 ProductNameAddress;
|
---|
36 | UINT32 ProductRevAddress;
|
---|
37 | } VBE_INFO_BASE;
|
---|
38 |
|
---|
39 | typedef struct {
|
---|
40 | VBE_INFO_BASE Base;
|
---|
41 | UINT8 Buffer[256 - sizeof (VBE_INFO_BASE)];
|
---|
42 | } VBE_INFO;
|
---|
43 |
|
---|
44 | typedef struct {
|
---|
45 | UINT16 ModeAttr;
|
---|
46 | UINT8 WindowAAttr;
|
---|
47 | UINT8 WindowBAttr;
|
---|
48 | UINT16 WindowGranularityKB;
|
---|
49 | UINT16 WindowSizeKB;
|
---|
50 | UINT16 WindowAStartSegment;
|
---|
51 | UINT16 WindowBStartSegment;
|
---|
52 | UINT32 WindowPositioningAddress;
|
---|
53 | UINT16 BytesPerScanLine;
|
---|
54 |
|
---|
55 | UINT16 Width;
|
---|
56 | UINT16 Height;
|
---|
57 | UINT8 CharCellWidth;
|
---|
58 | UINT8 CharCellHeight;
|
---|
59 | UINT8 NumPlanes;
|
---|
60 | UINT8 BitsPerPixel;
|
---|
61 | UINT8 NumBanks;
|
---|
62 | UINT8 MemoryModel;
|
---|
63 | UINT8 BankSizeKB;
|
---|
64 | UINT8 NumImagePagesLessOne;
|
---|
65 | UINT8 Vbe3;
|
---|
66 |
|
---|
67 | UINT8 RedMaskSize;
|
---|
68 | UINT8 RedMaskPos;
|
---|
69 | UINT8 GreenMaskSize;
|
---|
70 | UINT8 GreenMaskPos;
|
---|
71 | UINT8 BlueMaskSize;
|
---|
72 | UINT8 BlueMaskPos;
|
---|
73 | UINT8 ReservedMaskSize;
|
---|
74 | UINT8 ReservedMaskPos;
|
---|
75 | UINT8 DirectColorModeInfo;
|
---|
76 |
|
---|
77 | UINT32 LfbAddress;
|
---|
78 | UINT32 OffScreenAddress;
|
---|
79 | UINT16 OffScreenSizeKB;
|
---|
80 |
|
---|
81 | UINT16 BytesPerScanLineLinear;
|
---|
82 | UINT8 NumImagesLessOneBanked;
|
---|
83 | UINT8 NumImagesLessOneLinear;
|
---|
84 | UINT8 RedMaskSizeLinear;
|
---|
85 | UINT8 RedMaskPosLinear;
|
---|
86 | UINT8 GreenMaskSizeLinear;
|
---|
87 | UINT8 GreenMaskPosLinear;
|
---|
88 | UINT8 BlueMaskSizeLinear;
|
---|
89 | UINT8 BlueMaskPosLinear;
|
---|
90 | UINT8 ReservedMaskSizeLinear;
|
---|
91 | UINT8 ReservedMaskPosLinear;
|
---|
92 | UINT32 MaxPixelClockHz;
|
---|
93 | UINT8 Reserved[190];
|
---|
94 | } VBE_MODE_INFO;
|
---|
95 | #pragma pack ()
|
---|
96 |
|
---|
97 | #endif
|
---|