Protocols — Console Support
Version 1.10 12/01/02 10-35
10.7 UGA I/O Protocol
The interface structure for the UGA I/O Protocol is defined in this section. Each device abstracted
by a UGA ROM must produce a unique EFI_UGA_IO_PROTOCOL.
EFI_UGA_IO_PROTOCOL
Summary
Provides a basic abstraction to send I/O requests to the graphics device and any of its children.
GUID
#define EFI_UGA_IO_PROTOCOL_GUID \
{ 0x61a4d49e, 0x6f68, 0x4f1b, 0xb9,0x22,0xa8,0x6e,0xed,0xb,0x7,0xa2}
Protocol Interface Structure
typedef struct {
EFI_UGA_IO_PROTOCOL_CREATE_DEVICE CreateDevice;
EFI_UGA_IO_PROTOCOL_DELETE_DEVICE DeleteDevice;
PUGA_FW_SERVICE_DISPATCH DispatchService;
} EFI_UGA_IO_PROTOCOL;
Parameters
CreateDevice Create a UGA_DEVICE object for a child device of a given parent
UGA_DEVICE.
DeleteDevice Delete the
UGA_DEVICE returned from CreateDevice().
DispatchService Dispatches I/O requests to the display device and its associate child
devices.
Description
The EFI_UGA_IO_PROTOCOL is the primary interface exported by a UGA ROM in the OS
present environment. The EFI_UGA_IO_PROTOCOL.DispatchService()
allows
communication with the video frame buffer and all its associated child devices. Child devices of
the EFI_UGA_IO_PROTOCOL include output controllers such as a TV tuner, and display devices
such as a HDTV.