1#ifndef _VGA_CLASS_H
2#define _VGA_CLASS_H
3
4/*++
5
6Copyright (c) 1999  Intel Corporation
7
8Module Name:
9
10    VgaClass.h
11
12Abstract:
13
14    Vga Mini port binding to Vga Class protocol
15
16
17
18Revision History
19
20--*/
21
22//
23// VGA Device Structure
24//
25
26// {0E3D6310-6FE4-11d3-BB81-0080C73C8881}
27#define VGA_CLASS_DRIVER_PROTOCOL \
28    { 0xe3d6310, 0x6fe4, 0x11d3, {0xbb, 0x81, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} }
29
30typedef
31EFI_STATUS
32(* INIT_VGA_CARD) (
33    IN  UINTN   VgaMode,
34    IN  VOID    *Context
35    );
36
37typedef struct {
38    UINTN   MaxColumns;
39    UINTN   MaxRows;
40} MAX_CONSOLE_GEOMETRY;
41
42#define VGA_CON_OUT_DEV_SIGNATURE   EFI_SIGNATURE_32('c','v','g','a')
43typedef struct {
44    UINTN                           Signature;
45
46    EFI_HANDLE                      Handle;
47    SIMPLE_TEXT_OUTPUT_INTERFACE    ConOut;
48    SIMPLE_TEXT_OUTPUT_MODE         ConOutMode;
49    EFI_DEVICE_PATH                 *DevicePath;
50
51    UINT8                           *Buffer;
52    EFI_DEVICE_IO_INTERFACE         *DeviceIo;
53
54    //
55    // Video Card Context
56    //
57    INIT_VGA_CARD                   InitVgaCard;
58    VOID                            *VgaCardContext;
59    MAX_CONSOLE_GEOMETRY            *Geometry;
60    //
61    // Video buffer normally 0xb8000
62    //
63    UINT64                          VideoBuffer;
64
65    //
66    // Clear Screen & Default Attribute
67    //
68    UINT32                          Attribute;
69
70    //
71    // -1 means search for active VGA device
72    //
73    EFI_PCI_ADDRESS_UNION           Pci;
74} VGA_CON_OUT_DEV;
75
76#define VGA_CON_OUT_DEV_FROM_THIS(a) CR(a, VGA_CON_OUT_DEV, ConOut, VGA_CON_OUT_DEV_SIGNATURE)
77
78//
79// Vga Class Driver Protocol.
80// GUID defined in EFI Lib
81//
82
83typedef
84EFI_STATUS
85(EFIAPI *INSTALL_VGA_DRIVER) (
86    IN  VGA_CON_OUT_DEV    *ConOutDev
87    );
88
89typedef struct {
90    UINT32               Version;
91    INSTALL_VGA_DRIVER   InstallGenericVgaDriver;
92} INSTALL_VGA_DRIVER_INTERFACE;
93
94#endif
95
96