[BACK]Return to vesabiosreg.h CVS log [TXT][DIR] Up to [local] / sys / dev / vesa

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