vgaclass.h 1.9 KB

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