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