Annotation of sys/dev/vesa/vesabiosreg.h, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: vesabiosreg.h,v 1.1 2006/11/27 18:04:28 gwk Exp $ */
2:
3: /*
4: * Written by M. Drochner
5: * Public domain.
6: */
7:
8:
9: #ifndef _VESABIOSREG_H
10: #define _VESABIOSREG_H
11:
12: struct modeinfoblock {
13: /* Mandatory information for all VBE revisions */
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: /* Mandatory information for VBE 1.2 and above */
20: uint16_t XResolution, YResolution;
21: uint8_t XCharSize, YCharSize, NumberOfPlanes, BitsPerPixel;
22: uint8_t NumberOfBanks, MemoryModel, BankSize, NumberOfImagePages;
23: uint8_t Reserved1;
24: /* Direct Color fields
25: (required for direct/6 and YUV/7 memory models) */
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: /* Mandatory information for VBE 2.0 and above */
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: /* Mandatory information for VBE 3.0 and above */
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 /* !_VESABIOSREG_H */
CVSweb