MdePkg[all]  1.08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
UgaIo.h File Reference

Data Structures

struct  UGA_DEVICE_DATA
 
struct  _UGA_DEVICE
 
struct  UGA_IO_REQUEST
 
struct  _EFI_UGA_IO_PROTOCOL
 
struct  EFI_DRIVER_OS_HANDOFF_HEADER
 
struct  EFI_DRIVER_OS_HANDOFF
 

Macros

#define EFI_UGA_IO_PROTOCOL_GUID   { 0x61a4d49e, 0x6f68, 0x4f1b, { 0xb9, 0x22, 0xa8, 0x6e, 0xed, 0xb, 0x7, 0xa2 } }
 

Typedefs

typedef struct _EFI_UGA_IO_PROTOCOL EFI_UGA_IO_PROTOCOL
 
typedef UINT32 UGA_STATUS
 
typedef enum UGA_DEVICE_TYPEPUGA_DEVICE_TYPE
 
typedef UINT32 UGA_DEVICE_ID
 
typedef UINT32PUGA_DEVICE_ID
 
typedef struct UGA_DEVICE_DATAPUGA_DEVICE_DATA
 
typedef struct _UGA_DEVICE UGA_DEVICE
 
typedef struct _UGA_DEVICEPUGA_DEVICE
 
typedef enum UGA_IO_REQUEST_CODEPUGA_IO_REQUEST_CODE
 
typedef struct UGA_IO_REQUESTPUGA_IO_REQUEST
 
typedef EFI_STATUS(EFIAPIEFI_UGA_IO_PROTOCOL_CREATE_DEVICE )(IN EFI_UGA_IO_PROTOCOL *This, IN UGA_DEVICE *ParentDevice, IN UGA_DEVICE_DATA *DeviceData, IN VOID *RunTimeContext, OUT UGA_DEVICE **Device)
 
typedef EFI_STATUS(EFIAPIEFI_UGA_IO_PROTOCOL_DELETE_DEVICE )(IN EFI_UGA_IO_PROTOCOL *This, IN UGA_DEVICE *Device)
 
typedef UGA_STATUS(EFIAPIPUGA_FW_SERVICE_DISPATCH )(IN PUGA_DEVICE pDevice, IN OUT PUGA_IO_REQUEST pIoRequest)
 

Enumerations

enum  UGA_DEVICE_TYPE {
  UgaDtParentBus = 1, UgaDtGraphicsController, UgaDtOutputController, UgaDtOutputPort,
  UgaDtOther
}
 
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
}
 
enum  EFI_DRIVER_HANOFF_ENUM { EfiUgaDriverFromPciRom, EfiUgaDriverFromSystem, EfiDriverHandoffMax }
 

Variables

EFI_GUID gEfiUgaIoProtocolGuid
 

Detailed Description

UGA IO protocol from the EFI 1.10 specification.

Abstraction of a very simple graphics device.

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Macro Definition Documentation

#define EFI_UGA_IO_PROTOCOL_GUID   { 0x61a4d49e, 0x6f68, 0x4f1b, { 0xb9, 0x22, 0xa8, 0x6e, 0xed, 0xb, 0x7, 0xa2 } }

Typedef Documentation

typedef EFI_STATUS(EFIAPI * EFI_UGA_IO_PROTOCOL_CREATE_DEVICE)(IN EFI_UGA_IO_PROTOCOL *This, IN UGA_DEVICE *ParentDevice, IN UGA_DEVICE_DATA *DeviceData, IN VOID *RunTimeContext, OUT UGA_DEVICE **Device)

Dynamically allocate storage for a child UGA_DEVICE.

Parameters
[in]ThisThe EFI_UGA_IO_PROTOCOL instance.
[in]ParentDeviceParentDevice specifies a pointer to the parent device of Device.
[in]DeviceDataA pointer to UGA_DEVICE_DATA returned from a call to DispatchService() with a UGA_DEVICE of Parent and an IoRequest of type UgaIoGetChildDevice.
[in]RunTimeContextContext to associate with Device.
[out]DeviceThe Device returns a dynamically allocated child UGA_DEVICE object for ParentDevice. The caller is responsible for deleting Device.
Return values
EFI_SUCCESSDevice was returned.
EFI_INVALID_PARAMETEROne of the arguments was not valid.
EFI_DEVICE_ERRORThe device had an error and could not complete the request.
typedef EFI_STATUS(EFIAPI * EFI_UGA_IO_PROTOCOL_DELETE_DEVICE)(IN EFI_UGA_IO_PROTOCOL *This, IN UGA_DEVICE *Device)

Delete a dynamically allocated child UGA_DEVICE object that was allocated via CreateDevice().

Parameters
[in]ThisThe EFI_UGA_IO_PROTOCOL instance. Type EFI_UGA_IO_PROTOCOL is defined in Section 10.7.
[in]DeviceThe Device points to a UGA_DEVICE object that was dynamically allocated via a CreateDevice() call.
Return values
EFI_SUCCESSDevice was returned.
EFI_INVALID_PARAMETERThe Device was not allocated via CreateDevice().
typedef struct _UGA_DEVICE * PUGA_DEVICE
typedef UGA_STATUS(EFIAPI * PUGA_FW_SERVICE_DISPATCH)(IN PUGA_DEVICE pDevice, IN OUT PUGA_IO_REQUEST pIoRequest)

This is the main UGA service dispatch routine for all UGA_IO_REQUEST s.

Parameters
pDevicepDevice specifies a pointer to a device object associated with a device enumerated by a pIoRequest->ioRequestCode of type UgaIoGetChildDevice. The root device for the EFI_UGA_IO_PROTOCOL is represented by pDevice being set to NULL.
pIoRequestpIoRequest points to a caller allocated buffer that contains data defined by pIoRequest->ioRequestCode. See Related Definitions for a definition of UGA_IO_REQUEST_CODE s and their associated data structures.
Returns
UGA_STATUS
typedef struct UGA_IO_REQUEST * PUGA_IO_REQUEST
typedef struct _UGA_DEVICE UGA_DEVICE
typedef UINT32 UGA_STATUS

Enumeration Type Documentation

Enumerator
EfiUgaDriverFromPciRom 
EfiUgaDriverFromSystem 
EfiDriverHandoffMax 
Enumerator
UgaDtParentBus 
UgaDtGraphicsController 
UgaDtOutputController 
UgaDtOutputPort 
UgaDtOther 
Enumerator
UgaIoGetVersion 
UgaIoGetChildDevice 
UgaIoStartDevice 
UgaIoStopDevice 
UgaIoFlushDevice 
UgaIoResetDevice 
UgaIoGetDeviceState 
UgaIoSetDeviceState 
UgaIoSetPowerState 
UgaIoGetMemoryConfiguration 
UgaIoSetVideoMode 
UgaIoCopyRectangle 
UgaIoGetEdidSegment 
UgaIoDeviceChannelOpen 
UgaIoDeviceChannelClose 
UgaIoDeviceChannelRead 
UgaIoDeviceChannelWrite 
UgaIoGetPersistentDataSize 
UgaIoGetPersistentData 
UgaIoSetPersistentData 
UgaIoGetDevicePropertySize 
UgaIoGetDeviceProperty 
UgaIoBtPrivateInterface 

Variable Documentation

EFI_GUID gEfiUgaIoProtocolGuid