Subversion Repositories HelenOS

Rev

Rev 2726 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2726 vana 1
#ifndef _VGA_CLASS_H
2
#define _VGA_CLASS_H
3
 
4
/*++
5
 
6
Copyright (c) 1999  Intel Corporation
7
 
8
Module Name:
9
 
10
    VgaClass.h
11
 
12
Abstract:
13
 
14
    Vga Mini port binding to Vga Class protocol
15
 
16
 
17
 
18
Revision 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
 
30
typedef
31
EFI_STATUS
32
(* INIT_VGA_CARD) (
33
    IN  UINTN   VgaMode,
34
    IN  VOID    *Context
35
    );
36
 
37
typedef 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')
43
typedef 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
 
83
typedef
84
EFI_STATUS
85
(EFIAPI *INSTALL_VGA_DRIVER) (
86
    IN  VGA_CON_OUT_DEV    *ConOutDev
87
    );
88
 
89
typedef struct {
90
    UINT32               Version;
91
    INSTALL_VGA_DRIVER   InstallGenericVgaDriver;
92
} INSTALL_VGA_DRIVER_INTERFACE;
93
 
94
#endif
95