1
2
3
4
5
6
7
8
9 #ifndef _VESABIOSREG_H
10 #define _VESABIOSREG_H
11
12 struct modeinfoblock {
13
14 uint16_t ModeAttributes;
15 uint8_t WinAAttributes, WinBAttributes;
16 uint16_t WinGranularity, WinSize, WinASegment, WinBSegment;
17 uint32_t WinFuncPtr;
18 uint16_t BytesPerScanLine;
19
20 uint16_t XResolution, YResolution;
21 uint8_t XCharSize, YCharSize, NumberOfPlanes, BitsPerPixel;
22 uint8_t NumberOfBanks, MemoryModel, BankSize, NumberOfImagePages;
23 uint8_t Reserved1;
24
25
26 uint8_t RedMaskSize, RedFieldPosition;
27 uint8_t GreenMaskSize, GreenFieldPosition;
28 uint8_t BlueMaskSize, BlueFieldPosition;
29 uint8_t RsvdMaskSize, RsvdFieldPosition;
30 uint8_t DirectColorModeInfo;
31
32 uint32_t PhysBasePtr;
33 #ifdef VBE_2_0
34 uint32_t OffScreenMemOffset;
35 uint16_t OffScreenMemSize;
36 uint8_t Reserved2[206];
37 #else
38 uint32_t Reserved2;
39 uint16_t Reserved3;
40
41
42 uint16_t LinBytesPerScanLine;
43 uint8_t BnkNumberOfImagePages;
44 uint8_t LinNumberOfImagePages;
45 uint8_t LinRedMaskSize, LinRedFieldPosition;
46 uint8_t LinGreenMaskSize, LinGreenFieldPosition;
47 uint8_t LinBlueMaskSize, LinBlueFieldPosition;
48 uint8_t LinRsvdMaskSize, LinRsvdFieldPosition;
49 uint32_t MaxPixelClock;
50 uint8_t Reserved4[189];
51 #endif
52 } __attribute__ ((packed));
53
54 struct paletteentry {
55 uint8_t Blue;
56 uint8_t Green;
57 uint8_t Red;
58 uint8_t Alignment;
59 } __attribute__ ((packed));
60
61 #endif