/**************************************************************************** * * The SuperVGA Test Kit * * Copyright (C) 1993 SciTech Software. * All rights reserved. * * Filename: $RCSfile: vesavbe.h $ * Version: $Revision: 1.1 $ * * Language: ANSI C * Environment: IBM PC (MS DOS) * * Description: Header file declaring the structures used to comminucate * with a VESA VBE compliant BIOS. * * MUST be compiled in the large model. * * $Id: vesavbe.h 1.1 1993/10/22 08:59:44 kjb release $ * ****************************************************************************/ #ifndef __VESAVBE_H #define __VESAVBE_H #ifndef __DEBUG_H #include "debug.h" #endif /*---------------------- Macros and type definitions ----------------------*/ /* SuperVGA information block */ typedef struct { char VESASignature[4]; /* 'VESA' 4 byte signature */ short VESAVersion; /* VBE version number */ char *OEMStringPtr; /* Pointer to OEM string */ long Capabilities; /* Capabilities of video card */ short *VideoModePtr; /* Pointer to supported modes */ short TotalMemory; /* Number of 64kb memory blocks */ char reserved[236]; /* Pad to 256 byte block size */ } VgaInfoBlock; /* SuperVGA mode information block */ typedef struct { short ModeAttributes; /* Mode attributes */ char WinAAttributes; /* Window A attributes */ char WinBAttributes; /* Window B attributes */ short WinGranularity; /* Window granularity in k */ short WinSize; /* Window size in k */ short WinASegment; /* Window A segment */ short WinBSegment; /* Window B segment */ void *WinFuncPtr; /* Pointer to window function */ short BytesPerScanLine; /* Bytes per scanline */ short XResolution; /* Horizontal resolution */ short YResolution; /* Vertical resolution */ char XCharSize; /* Character cell width */ char YCharSize; /* Character cell height */ char NumberOfPlanes; /* Number of memory planes */ char BitsPerPixel; /* Bits per pixel */ char NumberOfBanks; /* Number of CGA style banks */ char MemoryModel; /* Memory model type */ char BankSize; /* Size of CGA style banks */ char NumberOfImagePages; /* Number of images pages */ char res1; /* Reserved */ char RedMaskSize; /* Size of direct color red mask */ char RedFieldPosition; /* Bit posn of lsb of red mask */ char GreenMaskSize; /* Size of direct color green mask */ char GreenFieldPosition; /* Bit posn of lsb of green mask */ char BlueMaskSize; /* Size of direct color blue mask */ char BlueFieldPosition; /* Bit posn of lsb of blue mask */ char RsvdMaskSize; /* Size of direct color res mask */ char RsvdFieldPosition; /* Bit posn of lsb of res mask */ char DirectColorModeInfo; /* Direct color mode attributes */ char res2[216]; /* Pad to 256 byte block size */ } ModeInfoBlock; #endif /* __VESAVBE_H */