#ifndef _VGA_CLASS_H #define _VGA_CLASS_H /*++ Copyright (c) 1999 Intel Corporation Module Name: VgaClass.h Abstract: Vga Mini port binding to Vga Class protocol Revision History --*/ // // VGA Device Structure // // {0E3D6310-6FE4-11d3-BB81-0080C73C8881} #define VGA_CLASS_DRIVER_PROTOCOL \ { 0xe3d6310, 0x6fe4, 0x11d3, {0xbb, 0x81, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} } typedef EFI_STATUS (* INIT_VGA_CARD) ( IN UINTN VgaMode, IN VOID *Context ); typedef struct { UINTN MaxColumns; UINTN MaxRows; } MAX_CONSOLE_GEOMETRY; #define VGA_CON_OUT_DEV_SIGNATURE EFI_SIGNATURE_32('c','v','g','a') typedef struct { UINTN Signature; EFI_HANDLE Handle; SIMPLE_TEXT_OUTPUT_INTERFACE ConOut; SIMPLE_TEXT_OUTPUT_MODE ConOutMode; EFI_DEVICE_PATH *DevicePath; UINT8 *Buffer; EFI_DEVICE_IO_INTERFACE *DeviceIo; // // Video Card Context // INIT_VGA_CARD InitVgaCard; VOID *VgaCardContext; MAX_CONSOLE_GEOMETRY *Geometry; // // Video buffer normally 0xb8000 // UINT64 VideoBuffer; // // Clear Screen & Default Attribute // UINT32 Attribute; // // -1 means search for active VGA device // EFI_PCI_ADDRESS_UNION Pci; } VGA_CON_OUT_DEV; #define VGA_CON_OUT_DEV_FROM_THIS(a) CR(a, VGA_CON_OUT_DEV, ConOut, VGA_CON_OUT_DEV_SIGNATURE) // // Vga Class Driver Protocol. // GUID defined in EFI Lib // typedef EFI_STATUS (EFIAPI *INSTALL_VGA_DRIVER) ( IN VGA_CON_OUT_DEV *ConOutDev ); typedef struct { UINT32 Version; INSTALL_VGA_DRIVER InstallGenericVgaDriver; } INSTALL_VGA_DRIVER_INTERFACE; #endif