windows-nt/Source/XPSP1/NT/base/efiutil/sdk/inc/protocol/vgaclass.h
2020-09-26 16:20:57 +08:00

95 lines
1.9 KiB
C

#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