Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
1.9 KiB

  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