| #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 |
| |