Intel Extensible Firmware Interface User Manual

Page 334

Advertising
background image

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;

Advertising