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