Extensible Firmware Interface Specification
10-40 12/01/02 Version 1.10
typedef struct _UGA_DEVICE {
PVOID pvDeviceContext;
PVOID pvSharedContext;
PVOID pvRunTimeContext;
struct _PUGA_DEVICE pParentDevice;
PVOID pvBusIoServices;
PVOID pvStdIoServices;
UGA_DEVICE_DATA deviceData;
} UGA_DEVICE, *PUGA_DEVICE;
A UGA_DEVICE is the basic device abstraction for enumerating child devices behind an
EFI_UGA_IO_PROTOCOL. A UGA_DEVICE object is allocated dynamically via a call to
CreateDevice(). A programmatic abstraction is required to allocate a UGA_DEVICE, since
some of the data structures pointed to by a UGA_DEVICE are implementation specific.
typedef enum _UGA_IO_REQUEST_CODE {
UgaIoGetVersion = 1,
UgaIoGetChildDevice,
UgaIoStartDevice,
UgaIoStopDevice,
UgaIoFlushDevice,
UgaIoResetDevice,
UgaIoGetDeviceState,
UgaIoSetDeviceState,
UgaIoSetPowerState,
UgaIoGetMemoryConfiguration,
UgaIoSetVideoMode,
UgaIoCopyRectangle,
UgaIoGetEdidSegment,
UgaIoDeviceChannelOpen,
UgaIoDeviceChannelClose,
UgaIoDeviceChannelRead,
UgaIoDeviceChannelWrite,
UgaIoGetPersistentDataSize,
UgaIoGetPersistentData,
UgaIoSetPersistentData,
UgaIoGetDevicePropertySize,
UgaIoGetDeviceProperty,
UgaIoBtPrivateInterface
} UGA_IO_REQUEST_CODE, *PUGA_IO_REQUEST_CODE;