Code Scrub for Protocol and Ppi Definition

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5564 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lgao4
2008-07-25 10:37:15 +00:00
parent bb80e3b213
commit 4ca9b6c4e7
105 changed files with 3354 additions and 1680 deletions

View File

@ -62,6 +62,7 @@ EFI_STATUS
/**
@par Ppi Description:
This PPI's single member function decompresses a compression
encapsulated section. It is used by the PEI Foundation to
process sectioned files. Prior to the installation of this PPI,

View File

@ -225,6 +225,7 @@ EFI_STATUS
/*
@par Ppi Description:
This PPI provides functions for accessing a memory-mapped firmware volume of a specific format.
@param ProcessVolume Process a firmware volume and create a volume handle.

View File

@ -27,6 +27,7 @@
typedef struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI EFI_PEI_FIRMWARE_VOLUME_INFO_PPI;
/**
@par Ppi Description:
This PPI describes the location and format of a firmware volume.
The FvFormat can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for
a user-defined format. The EFI_FIRMWARE_FILE_SYSTEM2_GUID is

View File

@ -105,6 +105,7 @@ EFI_STATUS
/**
@par Ppi Description:
If a GUID-defined section is encountered when doing section extraction,
the PEI Foundation or the EFI_PEI_FILE_LOADER_PPI instance
calls the appropriate instance of the GUIDed Section

View File

@ -1,7 +1,7 @@
/** @file
Load image file from fv to memory.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -79,6 +79,7 @@ EFI_STATUS
/**
@par Ppi Description:
This PPI is a pointer to the Load File service.
This service will be published by a PEIM. The PEI Foundation
will use this service to launch the known PEI module images.

View File

@ -2,7 +2,7 @@
The file descript the PPI which notifies other drivers
of the PEIM being initialized by the PEI Dispatcher.
Copyright (c) 2006 - 2007, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -27,6 +27,7 @@
typedef struct _EFI_PEI_LOADED_IMAGE_PPI EFI_PEI_LOADED_IMAGE_PPI;
/*
@par Ppi Description:
This interface is installed by the PEI Dispatcher after the image has been
loaded and after all security checks have been performed,
to notify other PEIMs of the files which are being loaded.

View File

@ -193,7 +193,7 @@ UINTN
/**
Retrieves an 8-bit value for a given PCD token.
Retrieves an 8-bit value for a given PCD token and token space.
Retrieves the 8-bit value of a particular PCD token.
If the TokenNumber is invalid or the token space
@ -216,7 +216,7 @@ UINT8
/**
Retrieves an 16-bit value for a given PCD token.
Retrieves an 16-bit value for a given PCD token and token space.
Retrieves the 16-bit value of a particular PCD token.
If the TokenNumber is invalid or the token space
@ -239,7 +239,7 @@ UINT16
/**
Retrieves an 32-bit value for a given PCD token.
Retrieves an 32-bit value for a given PCD token and token space.
Retrieves the 32-bit value of a particular PCD token.
If the TokenNumber is invalid or the token space
@ -262,7 +262,7 @@ UINT32
/**
Retrieves an 64-bit value for a given PCD token.
Retrieves an 64-bit value for a given PCD token and token space.
Retrieves the 64-bit value of a particular PCD token.
If the TokenNumber is invalid or the token space
@ -285,7 +285,7 @@ UINT64
/**
Retrieves a pointer to a value for a given PCD token.
Retrieves a pointer to a value for a given PCD token and token space.
Retrieves the current pointer to the buffer for a PCD token number.
Do not make any assumptions about the alignment of the pointer that
@ -308,7 +308,7 @@ VOID *
/**
Retrieves an Boolean value for a given PCD token.
Retrieves an Boolean value for a given PCD token and token space.
Retrieves the Boolean value of a particular PCD token.
If the TokenNumber is invalid or the token space
@ -331,7 +331,7 @@ BOOLEAN
/**
Retrieves the size of the value for a given PCD token.
Retrieves the size of the value for a given PCD token and token space.
Retrieves the current size of a particular PCD token.
If the TokenNumber is invalid, the results are unpredictable.
@ -819,6 +819,104 @@ EFI_STATUS
//
// Interface structure for the PCD PPI
//
/**
@par Ppi Description:
This service abstracts the ability to set/get Platform Configuration Database (PCD).
@param SetSku
Sets the SKU value for subsequent calls to set or get PCD token values.
@param Get8
Retrieves an 8-bit value for a given PCD token.
@param Get16
Retrieves an 16-bit value for a given PCD token.
@param Get32
Retrieves an 32-bit value for a given PCD token.
@param Get64
Retrieves an 64-bit value for a given PCD token.
@param GetPtr
Retrieves a pointer to a value for a given PCD token.
@param GetBool
Retrieves an Boolean value for a given PCD token.
@param GetSize
Retrieves the size of the value for a given PCD token.
@param Get8Ex
Retrieves an 8-bit value for a given PCD token and token space.
@param Get16Ex
Retrieves an 16-bit value for a given PCD token and token space.
@param Get32Ex
Retrieves an 32-bit value for a given PCD token and token space.
@param Get64Ex
Retrieves an 64-bit value for a given PCD token and token space.
@param GetPtrEx
Retrieves a pointer to a value for a given PCD token and token space.
@param GetBoolEx
Retrieves an Boolean value for a given PCD token and token space.
@param GetSizeEx
Retrieves the size of the value for a given PCD token and token space.
@param Set8
Sets an 8-bit value for a given PCD token.
@param Set16
Sets an 16-bit value for a given PCD token.
@param Set32
Sets an 32-bit value for a given PCD token.
@param Set64
Sets an 64-bit value for a given PCD token.
@param SetPtr
Sets the buffer of a specified size for a given PCD token.
@param SetBool
Sets an Boolean value for a given PCD token.
@param Set8Ex
Sets an 8-bit value for a given PCD token and token space.
@param Set16Ex
Sets an 16-bit value for a given PCD token and token space.
@param Set32Ex
Sets an 32-bit value for a given PCD token and token space.
@param Set64Ex
Sets an 64-bit value for a given PCD token and token space.
@param SetPtrEx
Sets the buffer of a specified size for a given PCD token and token space.
@param SetBoolEx
Sets an Boolean value for a given PCD token and token space.
@param CallbackOnSet
Specifies a function to be called anytime the value of a designated token is changed.
@param CancelCallback
Cancels a previously set callback function for a particular PCD token number.
@param GetNextToken
Retrieves the next valid PCD token for a given namespace.
@param GetNextTokenSpace
Retrieves the next valid PCD token namespace for a given namespace.
**/
typedef struct {
PCD_PPI_SET_SKU SetSku;

View File

@ -120,6 +120,7 @@ EFI_STATUS
);
/**
@par Ppi Description:
This PPI provides a lightweight, read-only variant of the full EFI
variable services.

View File

@ -30,6 +30,7 @@
}
/**
@par Ppi Description:
This PPI provides provide a simple reset service.
@param ResetSystem

View File

@ -102,6 +102,7 @@ EFI_STATUS
/**
@par Ppi Description:
This service abstracts platform-specific information. It is necessary
to convey this information to the PEI Foundation so that it can
discover where to begin dispatching PEIMs.

View File

@ -2,7 +2,7 @@
This file declares Pei Security2 PPI.
This PPI is installed by some platform PEIM that abstracts the security
policy to the PEI Foundation, namely the case of a PEIM<EFBFBD><EFBFBD>s authentication
policy to the PEI Foundation, namely the case of a PEIM's authentication
state being returned during the PEI section extraction process.
Copyright (c) 2006 - 2008, Intel Corporation
@ -105,7 +105,7 @@ EFI_STATUS
);
/**
@par Ppi Description:
This PPI is a means by which the platform builder can indicate
a response to a PEIM's authentication state. This can be in
the form of a requirement for the PEI Foundation to skip a

View File

@ -57,6 +57,7 @@ EFI_STATUS
);
/**
@par Ppi Description:
This service abstracts the ability to migrate contents of the platform early memory store.
@param ResetSystem

View File

@ -2,7 +2,7 @@
The file provides services that allow information about a
absolute pointer device to be retrieved.
Copyright (c) 2006 - 2007, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -32,12 +32,7 @@ typedef struct _EFI_ABSOLUTE_POINTER_PROTOCOL EFI_ABSOLUTE_POINTER_PROTOCOL;
/**
The following data values in the EFI_ABSOLUTE_POINTER_MODE
interface are read-only and are changed by using the appropriate
interface functions:
Attributes The following bits are set as needed (or'd
together) to indicate the capabilities of the device
supported. The remaining bits are undefined and should be
returned as 0.
interface functions.
@param AbsoluteMinX The Absolute Minimum of the device on the
x-axis.
@ -63,6 +58,10 @@ typedef struct _EFI_ABSOLUTE_POINTER_PROTOCOL EFI_ABSOLUTE_POINTER_PROTOCOL;
then the pointer device does not support a
zaxis.
@param Attributes The following bits are set as needed (or'd
together) to indicate the capabilities of the device
supported. The remaining bits are undefined and should be 0.
**/
typedef struct {
UINT64 AbsoluteMinX;
@ -210,6 +209,7 @@ EFI_STATUS
/**
@par Protocol Description:
The EFI_ABSOLUTE_POINTER_PROTOCOL provides a set of services
for a pointer device that can be used as an input device from an
application written to this specification. The services include

View File

@ -2,7 +2,7 @@
The file provides the protocol to install or remove an ACPI
table from a platform.
Copyright (c) 2006 - 2007, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -105,12 +105,12 @@ EFI_STATUS
);
/**
@par Protocol Description:
The EFI_ACPI_TABLE_PROTOCOL provides the ability for a component
to install and uninstall ACPI tables from a platform.
@param InstallAcpiTable Installs an ACPI table into the
system.
@param InstallAcpiTable Installs an ACPI table into the system.
@param UninstallAcpiTable Removes a previously installed ACPI
table from the system.

View File

@ -10,7 +10,7 @@
address to hardware address used by a data link protocol.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -93,10 +93,14 @@ EFI_STATUS
nonzero value will override the one given by Configure() if
the entry to be added is dynamic entry.
@param Overwrite If TRUE, the matching cache entry will be overwritten with the
supplied parameters. If FALSE, EFI_ACCESS_DENIED
supplied parameters. If FALSE, EFI_ACCESS_DENIED is returned
if the corresponding cache entry already exists.
@retval EFI_SUCCESS The entry has been added or updated.
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
This is NULL. DenyFlag is FALSE and TargetHwAddress is NULL.
DenyFlag is FALSE and TargetSwAddress is NULL. TargetHwAddress is NULL and TargetSwAddress is NULL.
Both TargetSwAddress and TargetHwAddress are not NULL when DenyFlag is TRUE.
@retval EFI_OUT_OF_RESOURCES The new ARP cache entry could not be allocated.
@retval EFI_ACCESS_DENIED The ARP cache entry already exists and Overwrite is not true.
@retval EFI_NOT_STARTED The ARP driver instance has not been configured.
@ -132,6 +136,8 @@ EFI_STATUS
@retval EFI_SUCCESS The requested ARP cache entries were copied into the buffer.
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
This is NULL. Both EntryCount and EntryLength are NULL,
when Refresh is FALSE.
@retval EFI_NOT_FOUND No matching entries were found.
@retval EFI_NOT_STARTED The ARP driver instance has not been configured.
@ -251,6 +257,33 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
ARP is used to resolve local network protocol addresses into
network hardware addresses.
@param Configure
Adds a new station address (protocol type and network address) to the ARP cache.
@param Add
Manually inserts an entry to the ARP cache for administrative purpose.
@param Find
Locates one or more entries in the ARP cache.
@param Delete
Removes an entry from the ARP cache.
@param Flush
Removes all dynamic ARP cache entries of a specified protocol type.
@param Request
Starts an ARP request session.
@param Cancel
Abort previous ARP request session.
**/
struct _EFI_ARP_PROTOCOL {
EFI_ARP_CONFIGURE Configure;
EFI_ARP_ADD Add;

View File

@ -3,7 +3,7 @@
This protocol is used on any device handle to obtain authentication information
associated with the physical or logical device.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -111,6 +111,18 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
This protocol is used on any device handle to obtain authentication
information associated with the physical or logical device.
@param Get
Used to retrieve the Authentication Information associated with the controller handle
@param Set
Used to set the Authentication information associated with the controller handle
**/
struct _EFI_AUTHENTICATION_INFO_PROTOCOL {
EFI_AUTHENTICATION_PROTOCOL_INFO_GET Get;
EFI_AUTHENTICATION_PROTOCOL_INFO_SET Set;

View File

@ -1,9 +1,9 @@
/** @file
Boot Device Selection Architectural Protocol as defined in DXE CIS
Boot Device Selection Architectural Protocol as defined in PI spec Volume 2 DXE
When the DXE core is done it calls the BDS via this protocol.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -12,9 +12,6 @@
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@par Revision Reference:
Version 0.91B.
**/
#ifndef __ARCH_PROTOCOL_BDS_H__

View File

@ -1,7 +1,9 @@
/** @file
This file defines the BIS protocol.
BIS protocol are defined in the UEFI specification.
The EFI_BIS_PROTOCOL is used to check a digital signature of a data block
against a digital certificate for the purpose of an integrity and authorization check.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -397,6 +399,60 @@ EFI_STATUS
OUT EFI_BIS_DATA **SignatureInfo
);
/**
@par Protocol Description:
The EFI_BIS_PROTOCOL is used to check a digital signature of a data block against a digital
certificate for the purpose of an integrity and authorization check.
@param initialize
Initializes an application instance of the EFI_BIS protocol,
returning a handle for the application instance. Other functions in
the EFI_BIS protocol require a valid application instance
handle obtained from this function.
@param Shutdown
Ends the lifetime of an application instance of the EFI_BIS
protocol, invalidating its application instance handle. The
application instance handle may no longer be used in other
functions in the EFI_BIS protocol.
@param Free
Frees memory structures allocated and returned by other
functions in the EFI_BIS protocol.
@param GetBootObjectAuthorizationCertificate
Retrieves the current digital certificate (if any) used by the
EFI_BIS protocol as the source of authorization for verifying
boot objects and altering configuration parameters.
@param GetBootObjectAuthorizationCheckFlag
Retrieves the current setting of the authorization check flag that
indicates whether or not authorization checks are required for
boot objects.
@param GetBootObjectAuthorizationUpdateToken
Retrieves an uninterpreted token whose value gets included and
signed in a subsequent request to alter the configuration
parameters, to protect against attempts to replay such a request.
@param GetSignatureInfo
Retrieves information about the digital signature algorithms
supported and the identity of the installed authorization
certificate, if any.
@param UpdateBootObjectAuthorization
Requests that the configuration parameters be altered by
installing or removing an authorization certificate or changing the
setting of the check flag.
@param VerifyBootObject
Verifies a boot object according to the supplied digital signature
and the current authorization certificate and check flag setting.
@param VerifyObjectWithCredential
Verifies a data object according to a supplied digital signature
and a supplied digital certificate.
**/
struct _EFI_BIS_PROTOCOL {
EFI_BIS_INITIALIZE Initialize;
EFI_BIS_SHUTDOWN Shutdown;

View File

@ -4,7 +4,7 @@
The Block IO protocol is used to abstract block devices like hard drives,
DVD-ROMs and floppy drives.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -133,30 +133,50 @@ EFI_STATUS
/**
Block IO read only mode data and updated only via members of BlockIO
**/
typedef struct {
UINT32 MediaId; /**< The curent media Id. If the media changes, this value is changed.**/
BOOLEAN RemovableMedia; /**< TRUE if the media is removable; otherwise, FALSE.**/
BOOLEAN MediaPresent; /**< TRUE if there is a media currently present in the device;
@param MediaId
The curent media Id. If the media changes, this value is changed.
@param RemovableMedia
TRUE if the media is removable; otherwise, FALSE.
@param MediaPresent
TRUE if there is a media currently present in the device;
othersise, FALSE. THis field shows the media present status
as of the most recent ReadBlocks() or WriteBlocks() call.
**/
BOOLEAN LogicalPartition; /**< TRUE if LBA 0 is the first block of a partition; otherwise
@param LogicalPartition
TRUE if LBA 0 is the first block of a partition; otherwise
FALSE. For media with only one partition this would be TRUE.
**/
BOOLEAN ReadOnly; /**< TRUE if the media is marked read-only otherwise, FALSE.
@param ReadOnly
TRUE if the media is marked read-only otherwise, FALSE.
This field shows the read-only status as of the most recent WriteBlocks () call.
**/
BOOLEAN WriteCaching; /**< TRUE if the WriteBlock () function caches write data.**/
UINT32 BlockSize; /**< The intrinsic block size of the device. If the media changes, then
@param WriteCaching
TRUE if the WriteBlock () function caches write data.
@param BlockSize
The intrinsic block size of the device. If the media changes, then
this field is updated.
**/
UINT32 IoAlign; /**< Supplies the alignment requirement for any buffer to read or write block(s).**/
EFI_LBA LastBlock; /**< The last logical block address on the device.
@param IoAlign
Supplies the alignment requirement for any buffer to read or write block(s).
@param LastBlock
The last logical block address on the device.
If the media changes, then this field is updated.
**/
typedef struct {
UINT32 MediaId;
BOOLEAN RemovableMedia;
BOOLEAN MediaPresent;
BOOLEAN LogicalPartition;
BOOLEAN ReadOnly;
BOOLEAN WriteCaching;
UINT32 BlockSize;
UINT32 IoAlign;
EFI_LBA LastBlock;
} EFI_BLOCK_IO_MEDIA;
#define EFI_BLOCK_IO_PROTOCOL_REVISION 0x00010000
@ -165,6 +185,31 @@ typedef struct {
//
#define EFI_BLOCK_IO_INTERFACE_REVISION EFI_BLOCK_IO_PROTOCOL_REVISION
/**
@par Protocol Description:
This protocol provides control over block devices.
@param Revision
The revision to which the block IO interface adheres. All future
revisions must be backwards compatible. If a future version is not
back wards compatible, it is not the same GUID.
@param Media
A pointer to the EFI_BLOCK_IO_MEDIA data for this device.
@param Reset
Resets the block device hardware.
@param ReadBlocks
Reads the requested number of blocks from the device.
@param WriteBlocks
Writes the requested number of blocks to the device.
@param FlushBlocks
Flushes and cache blocks. This function is optional and only
needs to be supported on block devices that cache writes.
**/
struct _EFI_BLOCK_IO_PROTOCOL {
UINT64 Revision;

View File

@ -1,7 +1,12 @@
/** @file
Bus Specific Driver Override protocol as defined in the UEFI 2.0 specification.
Copyright (c) 2006, Intel Corporation
Bus drivers that have a bus specific algorithm for matching drivers to controllers are
required to produce this protocol for each controller. For example, a PCI Bus Driver will produce an
instance of this protocol for every PCI controller that has a PCI option ROM that contains one or
more UEFI drivers. The protocol instance is attached to the handle of the PCI controller.
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -55,6 +60,16 @@ EFI_STATUS
//
// Interface structure for the Bus Specific Driver Override Protocol
//
/**
@par Protocol Description:
This protocol matches one or more drivers to a controller. This protocol is produced by a bus driver,
and it is installed on the child handles of buses that require a bus specific algorithm for matching
drivers to controllers.
@param GetDriver
Uses a bus specific algorithm to retrieve a driver image handle for a controller.
**/
struct _EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL {
EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_GET_DRIVER GetDriver;
};

View File

@ -1,7 +1,9 @@
/** @file
EFI Component Name Protocol
EFI Component Name Protocol as defined in the EFI 1.1 specification.
This protocol is used to retrieve user readable names of EFI Drivers
and controllers managed by EFI Drivers.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -112,6 +114,24 @@ EFI_STATUS
//
// Interface structure for the Component Name Protocol
//
/**
@par Protocol Description:
This protocol is used to retrieve user readable names of drivers
and controllers managed by UEFI Drivers.
@param GetDriverName
Retrieves a Unicode string that is the user readable name of the driver.
@param GetControllerName
Retrieves a Unicode string that is the user readable name of a
controller that is being managed by a driver.
@param SupportedLanguages
A Null-terminated ASCII string that contains one or more
ISO 639-2 language codes. This is the list of language codes
that this protocol supports.
**/
struct _EFI_COMPONENT_NAME_PROTOCOL {
EFI_COMPONENT_NAME_GET_DRIVER_NAME GetDriverName;
EFI_COMPONENT_NAME_GET_CONTROLLER_NAME GetControllerName;

View File

@ -1,7 +1,9 @@
/** @file
EFI Component Name 2 Protocol
UEFI Component Name 2 Protocol as defined in the UEFI 2.1 specification.
This protocol is used to retrieve user readable names of drivers
and controllers managed by UEFI Drivers.
Copyright (c) 2006 - 2007, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -31,7 +33,7 @@ typedef struct _EFI_COMPONENT_NAME2_PROTOCOL EFI_COMPONENT_NAME2_PROTOCOL;
the EFI Driver.
@param This A pointer to the
EFI_COMPONENT_NAME_PROTOCOL instance.
EFI_COMPONENT_NAME2_PROTOCOL instance.
@param Language A pointer to a Null-terminated ASCII string
array indicating the language. This is the
@ -76,7 +78,7 @@ EFI_STATUS
the controller that is being managed by an EFI Driver.
@param This A pointer to the
EFI_COMPONENT_NAME_PROTOCOL instance.
EFI_COMPONENT_NAME2_PROTOCOL instance.
@param ControllerHandle The handle of a controller that the
driver specified by This is managing.
@ -152,8 +154,28 @@ EFI_STATUS
);
//
// Interface structure for the Component Name Protocol
// Interface structure for the Component Name2 Protocol
//
/**
@par Protocol Description:
This protocol is used to retrieve user readable names of drivers
and controllers managed by UEFI Drivers.
@param GetDriverName
Retrieves a Unicode string that is the user readable name of the driver.
@param GetControllerName
Retrieves a Unicode string that is the user readable name of a
controller that is being managed by a driver.
@param SupportedLanguages
A Null-terminated ASCII string array that contains one or more
supported language codes. This is the list of language codes that
this protocol supports. The number of languages supported by a
driver is up to the driver writer. SupportedLanguages is
specified in RFC 3066 format.
**/
struct _EFI_COMPONENT_NAME2_PROTOCOL {
EFI_COMPONENT_NAME2_GET_DRIVER_NAME GetDriverName;
EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME GetControllerName;

View File

@ -1,9 +1,9 @@
/** @file
CPU Architectural Protocol as defined in DXE CIS
CPU Architectural Protocol as defined in PI spec Volume 2 DXE
This code abstracts the DXE core from processor implementation details.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -12,9 +12,6 @@
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@par Revision Reference:
Version 0.91B.
**/
#ifndef __ARCH_PROTOCOL_CPU_H__

View File

@ -4,7 +4,7 @@
This protocol is used by debug agent to communicate with the
remote debug host.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -116,6 +116,22 @@ EFI_STATUS
//
// DebugPort protocol definition
//
/**
@par Protocol Description:
This protocol provides the communication link between the debug agent and the remote host.
@param Reset
Resets the debugport hardware.
@param Write
Send a buffer of characters to the debugport device.
@param Read
Receive a buffer of characters from the debugport device.
@param Poll
Determine if there is any data available to be read from the debugport device.
**/
struct _EFI_DEBUGPORT_PROTOCOL {
EFI_DEBUGPORT_RESET Reset;
EFI_DEBUGPORT_WRITE Write;

View File

@ -5,7 +5,7 @@
The DebugSupport protocol is used by source level debuggers to abstract the
processor and handle context save and restore operations.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -616,6 +616,33 @@ EFI_STATUS
//
// DebugSupport protocol definition
//
/**
@par Protocol Description:
This protocol provides the services to allow the debug agent to register
callback functions that are called either periodically or when specific
processor exceptions occur.
@param Isa
Declares the processor architecture for this instance of the EFI
Debug Support protocol.
@param GetMaximumProcessorIndex
Returns the maximum processor index value that may be used.
@param RegisterPeriodicCallback
Registers a callback function that will be invoked periodically
and asynchronously to the execution of EFI.
@param RegisterExceptionCallback
Registers a callback function that will be called each time the
specified processor exception occurs.
@param InvalidateInstructionCache
Invalidate the instruction cache of the processor. This is required
by processor architectures where instruction and data caches are
not coherent when instructions in the code under debug has been
modified by the debug agent.
**/
struct _EFI_DEBUG_SUPPORT_PROTOCOL {
EFI_INSTRUCTION_SET_ARCHITECTURE Isa;
EFI_GET_MAXIMUM_PROCESSOR_INDEX GetMaximumProcessorIndex;

View File

@ -1,7 +1,7 @@
/** @file
The Decompress Protocol Interface
The Decompress Protocol Interface as defined in UEFI spec
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -109,6 +109,22 @@ EFI_STATUS
IN UINT32 ScratchSize
);
/**
@par Protocol Description:
Provides a decompression service.
@param GetInfo
Given the compressed source buffer, this function retrieves the
size of the uncompressed destination buffer and the size of the
scratch buffer required to perform the decompression. It is the
caller's responsibility to allocate the destination buffer and the
scratch buffer prior to calling EFI_DECOMPRESS_PROTOCOL.Decompress().
@param Decompresss
Decompresses a compressed source buffer into an uncompressed
destination buffer. It is the caller's responsibility to allocate the
destination buffer and a scratch buffer prior to making this call.
**/
struct _EFI_DECOMPRESS_PROTOCOL {
EFI_DECOMPRESS_GET_INFO GetInfo;
EFI_DECOMPRESS_DECOMPRESS Decompress;

View File

@ -4,7 +4,7 @@
Device IO is used to abstract hardware access to devices. It includes
memory mapped IO, IO, PCI Config space, and DMA.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -213,6 +213,40 @@ EFI_STATUS
IN EFI_PHYSICAL_ADDRESS HostAddress
);
/**
@par Protocol Description:
This protocol provides the basic Memory, I/O, and PCI interfaces that
are used to abstract accesses to devices.
@param Mem
Allows reads and writes to memory mapped I/O space.
@param Io
Allows reads and writes to I/O space.
@param Pci
Allows reads and writes to PCI configuration space.
@param Map
Provides the device specific addresses needed to access system memory for DMA.
@param PciDevicePath
Provides an EFI Device Path for a PCI device with the given PCI
configuration space address.
@param Unmap
Releases any resources allocated by Map().
@param AllocateBuffer
Allocates pages that are suitable for a common buffer mapping.
@param Flush
Flushes any posted write data to the device.
@param FreeBuffer
Free pages that were allocated with AllocateBuffer().
**/
struct _EFI_DEVICE_IO_PROTOCOL {
EFI_IO_ACCESS Mem;
EFI_IO_ACCESS Io;

View File

@ -5,7 +5,7 @@
from a software point of view. It also must persist from boot to boot, so
it can not contain things like PCI bus numbers that change from boot to boot.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at

View File

@ -2,7 +2,7 @@
EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL as defined in UEFI 2.0.
This protocol provides service to convert text to device paths and device nodes.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -63,6 +63,17 @@ EFI_DEVICE_PATH_PROTOCOL*
)
;
/**
@par Protocol Description:
This protocol converts text to device paths and device nodes.
@param ConvertTextToDeviceNode
Convert text to a device node.
@param ConvertTextToDevicePath
Convert text to a device path
**/
typedef struct {
EFI_DEVICE_PATH_FROM_TEXT_NODE ConvertTextToDeviceNode;
EFI_DEVICE_PATH_FROM_TEXT_PATH ConvertTextToDevicePath;

View File

@ -2,7 +2,7 @@
EFI_DEVICE_PATH_TO_TEXT_PROTOCOL as defined in UEFI 2.0.
This protocol provides service to convert device nodes and paths to text.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -74,6 +74,17 @@ CHAR16*
)
;
/**
@par Protocol Description:
This protocol converts device paths and device nodes to text.
@param ConvertTextToDeviceNode
Convert the device node to text.
@param ConvertTextToDevicePath
Convert the device path to text.
**/
typedef struct {
EFI_DEVICE_PATH_TO_TEXT_NODE ConvertDeviceNodeToText;
EFI_DEVICE_PATH_TO_TEXT_PATH ConvertDevicePathToText;

View File

@ -2,7 +2,7 @@
EFI_DEVICE_PATH_UTILITIES_PROTOCOL as defined in UEFI 2.0.
Use to create and manipulate device paths and device nodes.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -178,7 +178,34 @@ BOOLEAN
)
;
/**
@par Protocol Description:
This protocol is used to creates and manipulates device paths and device nodes.
@param GetDevicePathSize
Returns the size of the specified device path, in bytes.
@param DuplicateDevicePath
Duplicates a device path structure.
@param AppendDeviceNode
Appends the device node to the specified device path.
@param AppendDevicePath
Appends the device path to the specified device path.
@param AppendDevicePathInstance
Appends a device path instance to another device path.
@param GetNextDevicePathInstance
Retrieves the next device path instance from a device path data structure.
@param IsDevicePathMultiInstance
Returns TRUE if this is a multi-instance device path.
@param CreateDeviceNode
Allocates memory for a device node with the specified type and sub-type.
**/
typedef struct {
EFI_DEVICE_PATH_UTILS_GET_DEVICE_PATH_SIZE GetDevicePathSize;
EFI_DEVICE_PATH_UTILS_DUP_DEVICE_PATH DuplicateDevicePath;

View File

@ -4,7 +4,7 @@
These protocols are used to collect configuration information for the EFI IPv4 Protocol
drivers and to provide DHCPv4 server and PXE boot server discovery services.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -420,7 +420,42 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
This protocol is used to collect configuration information for the EFI IPv4 Protocol drivers
and to provide DHCPv4 server and PXE boot server discovery services.
@param GetModeData
Gets the EFI DHCPv4 Protocol driver status and operational data.
@param Configure
Initializes, changes, or resets operational settings for the EFI
DHCPv4 Protocol driver.
@param Start
Starts the DHCP configuration process.
@param RenewRebind
Tries to manually extend the lease time by sending a request packet.
@param Release
Releases the current configuration and returns the EFI DHCPv4
Protocol driver to the initial state.
@param Stop
Stops the DHCP configuration process no matter what state the
driver is in. After being stopped, this driver will not automatically
communicate with the DHCP server.
@param Build
Puts together a DHCP or PXE packet.
@param TransmitReceive
Transmits a DHCP or PXE packet and waits for response packets.
@param Parse
Parses the packed DHCP or PXE option data.
**/
struct _EFI_DHCP4_PROTOCOL {
EFI_DHCP4_GET_MODE_DATA GetModeData;
EFI_DHCP4_CONFIGURE Configure;

View File

@ -5,7 +5,7 @@
oriented devices. The Disk IO protocol is intended to layer on top of the
Block IO protocol.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -100,6 +100,22 @@ EFI_STATUS
//
#define EFI_DISK_IO_INTERFACE_REVISION EFI_DISK_IO_PROTOCOL_REVISION
/**
@par Protocol Description:
This protocol is used to abstract Block I/O interfaces.
@param Revision
The revision to which the disk I/O interface adheres. All future
revisions must be backwards compatible. If a future version is not
backwards compatible, it is not the same GUID.
@param ReadDisk
Reads data from the disk.
@param WriteDisk
Writes data to the disk.
**/
struct _EFI_DISK_IO_PROTOCOL {
UINT64 Revision;
EFI_DISK_READ ReadDisk;

View File

@ -1,7 +1,10 @@
/** @file
EFI ControllerHandle Driver Protocol
UEFI DriverBinding Protocol is defined in UEFI specification.
Copyright (c) 2006, Intel Corporation
This protocol is produced by every driver that follows the UEFI Driver Model,
and it is the central component that allows drivers and controllers to be managed.
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -97,6 +100,61 @@ EFI_STATUS
//
// Interface structure for the ControllerHandle Driver Protocol
//
/**
@par Protocol Description:
This protocol provides the services required to determine if a driver supports a given controller.
If a controller is supported, then it also provides routines to start and stop the controller.
@param Supported
Tests to see if this driver supports a given controller. This service
is called by the EFI boot service ConnectController(). In
order to make drivers as small as possible, there are a few calling
restrictions for this service. ConnectController() must
follow these calling restrictions. If any other agent wishes to call
Supported() it must also follow these calling restrictions.
@param Start
Starts a controller using this driver. This service is called by the
EFI boot service ConnectController(). In order to make
drivers as small as possible, there are a few calling restrictions for
this service. ConnectController() must follow these
calling restrictions. If any other agent wishes to call Start() it
must also follow these calling restrictions.
@param Stop
Stops a controller using this driver. This service is called by the
EFI boot service DisconnectController(). In order to
make drivers as small as possible, there are a few calling
restrictions for this service. DisconnectController()
must follow these calling restrictions. If any other agent wishes
to call Stop() it must also follow these calling restrictions.
@param Version
The version number of the UEFI driver that produced the
EFI_DRIVER_BINDING_PROTOCOL. This field is used by
the EFI boot service ConnectController() to determine
the order that driver's Supported() service will be used when
a controller needs to be started. EFI Driver Binding Protocol
instances with higher Version values will be used before ones
with lower Version values. The Version values of 0x0-
0x0f and 0xfffffff0-0xffffffff are reserved for
platform/OEM specific drivers. The Version values of 0x10-
0xffffffef are reserved for IHV-developed drivers.
@param ImageHandle
The image handle of the UEFI driver that produced this instance
of the EFI_DRIVER_BINDING_PROTOCOL.
@param DriverBindingHandle
The handle on which this instance of the
EFI_DRIVER_BINDING_PROTOCOL is installed. In most
cases, this is the same handle as ImageHandle. However, for
UEFI drivers that produce more than one instance of the
EFI_DRIVER_BINDING_PROTOCOL, this value may not be
the same as ImageHandle.
**/
struct _EFI_DRIVER_BINDING_PROTOCOL {
EFI_DRIVER_BINDING_SUPPORTED Supported;
EFI_DRIVER_BINDING_START Start;

View File

@ -1,7 +1,7 @@
/** @file
EFI Driver Configuration Protocol
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -148,15 +148,6 @@ EFI_STATUS
);
//
//
struct _EFI_DRIVER_CONFIGURATION_PROTOCOL {
EFI_DRIVER_CONFIGURATION_SET_OPTIONS SetOptions;
EFI_DRIVER_CONFIGURATION_OPTIONS_VALID OptionsValid;
EFI_DRIVER_CONFIGURATION_FORCE_DEFAULTS ForceDefaults;
CHAR8 *SupportedLanguages;
};
/**
Interface structure for the Driver Configuration Protocol.
@ -177,6 +168,13 @@ struct _EFI_DRIVER_CONFIGURATION_PROTOCOL {
codes that this protocol supports.
**/
struct _EFI_DRIVER_CONFIGURATION_PROTOCOL {
EFI_DRIVER_CONFIGURATION_SET_OPTIONS SetOptions;
EFI_DRIVER_CONFIGURATION_OPTIONS_VALID OptionsValid;
EFI_DRIVER_CONFIGURATION_FORCE_DEFAULTS ForceDefaults;
CHAR8 *SupportedLanguages;
};
extern EFI_GUID gEfiDriverConfigurationProtocolGuid;

View File

@ -1,7 +1,7 @@
/** @file
EFI Driver Configuration Protocol
UEFI Driver Configuration2 Protocol
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -44,7 +44,7 @@ typedef enum {
Allows the user to set controller specific options for a controller that a
driver is currently managing.
@param This A pointer to the EFI_DRIVER_CONFIGURATION_ PROTOCOL instance.
@param This A pointer to the EFI_DRIVER_CONFIGURATION2_PROTOCOL instance.
@param ControllerHandle The handle of the controller to set options on.
@param ChildHandle The handle of the child controller to set options on. This
is an optional parameter that may be NULL. It will be NULL
@ -52,10 +52,9 @@ typedef enum {
options for the bus controller. It will not be NULL for a
bus driver that wishes to set options for one of its child
controllers.
@param Language A pointer to a three character ISO 639-2 language identifier.
This is the language of the user interface that should be
presented to the user, and it must match one of the languages
specified in SupportedLanguages. The number of languages
@param Language A Null-terminated ASCII string that contains one or more RFC 3066
language codes. This is the list of language codes that this
protocol supports. The number of languages
supported by a driver is up to the driver writer.
@param ActionRequired A pointer to the action that the calling agent is required
to perform when this function returns. See "Related
@ -95,7 +94,7 @@ EFI_STATUS
/**
Tests to see if a controller's current configuration options are valid.
@param This A pointer to the EFI_DRIVER_CONFIGURATION_PROTOCOL instance.
@param This A pointer to the EFI_DRIVER_CONFIGURATION2_PROTOCOL instance.
@param ControllerHandle The handle of the controller to test if it's current
configuration options are valid.
@param ChildHandle The handle of the child controller to test if it's current
@ -132,7 +131,7 @@ EFI_STATUS
/**
Forces a driver to set the default configuration options for a controller.
@param This A pointer to the EFI_DRIVER_CONFIGURATION_ PROTOCOL instance.
@param This A pointer to the EFI_DRIVER_CONFIGURATION2_PROTOCOL instance.
@param ControllerHandle The handle of the controller to force default configuration options on.
@param ChildHandle The handle of the child controller to force default configuration options on This is an optional parameter that may be NULL. It will be NULL for device drivers. It will also be NULL for a bus drivers that wish to force default configuration options for the bus controller. It will not be NULL for a bus driver that wishes to force default configuration options for one of its child controllers.
@param DefaultType The type of default configuration options to force on the controller specified by ControllerHandle and ChildHandle. See Table 9-1 for legal values. A DefaultType of 0x00000000 must be supported by this protocol.
@ -158,16 +157,6 @@ EFI_STATUS
OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED *ActionRequired
);
//
//
struct _EFI_DRIVER_CONFIGURATION2_PROTOCOL {
EFI_DRIVER_CONFIGURATION2_SET_OPTIONS SetOptions;
EFI_DRIVER_CONFIGURATION2_OPTIONS_VALID OptionsValid;
EFI_DRIVER_CONFIGURATION2_FORCE_DEFAULTS ForceDefaults;
CHAR8 *SupportedLanguages;
};
/**
Interface structure for the Driver Configuration Protocol.
@ -183,11 +172,21 @@ struct _EFI_DRIVER_CONFIGURATION2_PROTOCOL {
@param ForceDefaults Forces a driver to set the default configuration options
for a controller.
@param SupportedLanguages A Null-terminated ASCII string that contains one or more
ISO 639-2 language codes. This is the list of language
codes that this protocol supports.
@param SupportedLanguages A Null-terminated ASCII string that
contains one or more RFC 3066
language codes. This is the list
of language codes that this
protocol supports.
**/
struct _EFI_DRIVER_CONFIGURATION2_PROTOCOL {
EFI_DRIVER_CONFIGURATION2_SET_OPTIONS SetOptions;
EFI_DRIVER_CONFIGURATION2_OPTIONS_VALID OptionsValid;
EFI_DRIVER_CONFIGURATION2_FORCE_DEFAULTS ForceDefaults;
CHAR8 *SupportedLanguages;
};
extern EFI_GUID gEfiDriverConfiguration2ProtocolGuid;

View File

@ -1,7 +1,7 @@
/** @file
EFI Driver Diagnostics Protocol
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at

View File

@ -1,7 +1,7 @@
/** @file
EFI Driver Diagnostics Protocol
UEFI Driver Diagnostics2 Protocol
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -27,7 +27,7 @@ typedef struct _EFI_DRIVER_DIAGNOSTICS2_PROTOCOL EFI_DRIVER_DIAGNOSTICS2_PROTOC
/**
Runs diagnostics on a controller.
@param This A pointer to the EFI_DRIVER_DIAGNOSTICS_PROTOCOL instance.
@param This A pointer to the EFI_DRIVER_DIAGNOSTICS2_PROTOCOL instance.
@param ControllerHandle The handle of the controller to run diagnostics on.
@param ChildHandle The handle of the child controller to run diagnostics on
This is an optional parameter that may be NULL. It will
@ -38,12 +38,14 @@ typedef struct _EFI_DRIVER_DIAGNOSTICS2_PROTOCOL EFI_DRIVER_DIAGNOSTICS2_PROTOC
@param DiagnosticType Indicates type of diagnostics to perform on the controller
specified by ControllerHandle and ChildHandle. See
"Related Definitions" for the list of supported types.
@param Language A pointer to a three character ISO 639-2 language
identifier. This is the language in which the optional
error message should be returned in Buffer, and it must
match one of the languages specified in SupportedLanguages.
The number of languages supported by a driver is up to
the driver writer.
@param Language A pointer to a Null-terminated ASCII string
array indicating the language. This is the
language of the driver name that the caller
is requesting, and it must match one of the
languages specified in SupportedLanguages.
The number of languages supported by a
driver is up to the driver writer. Language
is specified in RFC 3066 language code format.
@param ErrorType A GUID that defines the format of the data returned in Buffer.
@param BufferSize The size, in bytes, of the data returned in Buffer.
@param Buffer A buffer that contains a Null-terminated Unicode string
@ -94,7 +96,7 @@ EFI_STATUS
//
/**
Interface structure for the Driver Diagnostics Protocol.
Interface structure for the Driver Diagnostics2 Protocol.
@par Protocol Description:
Used to perform diagnostics on a controller that an EFI Driver is managing.

View File

@ -1,7 +1,7 @@
/** @file
EFI Driver Family Protocol
UEFI Driver Family Protocol
Copyright (c) 2007, Intel Corporation
Copyright (c) 2007 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -47,6 +47,7 @@ UINT32
);
/**
@par Protocol Description:
When installed, the Driver Family Override Protocol produces a GUID that represets
a family of drivers. Drivers with the same GUID are members of the same family
When drivers are connected to controllers, drivers with a higher revision value
@ -55,10 +56,10 @@ UINT32
Connect Controller uses five rules to build a prioritied list of drivers when
a request is made to connect a driver to a controller. The Driver Family Protocol
rule is between the Platform Specific Driver Override Protocol and above the
Bus Specific Driver Override Protocol
Bus Specific Driver Override Protocol.
@param FamilyGuid A pointer to the GUID that represnets the family of drivers
that the driver producing this protocol is a member.
@param GetVersion
This function returns the version value associated with the driver specified by This.
**/
struct _EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL {

View File

@ -1,7 +1,7 @@
/** @file
EFI Driver Health Protocol
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -183,7 +183,8 @@ EFI_STATUS
drivers when an attempt is made to repair a bus controller.
If will not be NULL when an attempt is made to repair a
child controller produced by the driver.
@param RepairNotify A notification function that may be used by a driver to
@param ProgressNotification
A notification function that may be used by a driver to
report the progress of the repair operation. This is
an optional parameter that may be NULL.

View File

@ -1,10 +1,10 @@
/** @file
The file provides information about the version of the EFI
The protocol provides information about the version of the EFI
specification that a driver is following. This protocol is
required for EFI drivers that are on PCI and other plug in
cards.
Copyright (c) 2006 - 2007, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -23,7 +23,7 @@
/**
@par Protocol Description:
The EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL provides a
mechanism for an EFI driver to publish the version of the EFI
specification it conforms to. This protocol must be placed on
@ -34,7 +34,7 @@
Future versions of this specification may grow
the size of the structure.
@param firmwareVersion The version of the EFI specification
@param FirmwareVersion The version of the EFI specification
that this driver conforms to.
EFI_2_10_SYSTEM_TABLE_REVISION for this
version of this specification.

View File

@ -1,7 +1,7 @@
/** @file
Describes the protocol interface to the EBC interpreter.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -31,22 +31,22 @@
typedef struct _EFI_EBC_PROTOCOL EFI_EBC_PROTOCOL;
/**
Create a thunk for an image entry point. In short, given the physical address
of the entry point for a loaded image, create a thunk that does some
fixup of arguments (and perform any other necessary overhead) and then
calls the original entry point. The caller can then use the returned pointer
to the created thunk as the new entry point to image.
Creates a thunk for an EBC entry point, returning the address of the thunk.
@param This protocol instance pointer
@param ImageHandle handle to the image. The EBC interpreter may use this to keep
track of any resource allocations performed in loading and
executing the image.
@param EbcEntryPoint the entry point for the image (as defined in the file header)
@param Thunk pointer to thunk pointer where the address of the created
thunk is returned.
A PE32+ EBC image, like any other PE32+ image, contains an optional header that specifies the
entry point for image execution. However for EBC images this is the entry point of EBC
instructions, so is not directly executable by the native processor. Therefore when an EBC image is
loaded, the loader must call this service to get a pointer to native code (thunk) that can be executed
which will invoke the interpreter to begin execution at the original EBC entry point.
@return Standard EFI_STATUS
@param This A pointer to the EFI_EBC_PROTOCOL instance.
@param ImageHandle Handle of image for which the thunk is being created.
@param EbcEntryPoint Address of the actual EBC entry point or protocol service the thunk should call.
@param Thunk Returned pointer to a thunk created.
@retval EFI_SUCCESS The function completed successfully.
@retval EFI_INVALID_PARAMETER Image entry point is not 2-byte aligned.
@retval EFI_OUT_OF_RESOURCES Memory could not be allocated for the thunk.
**/
typedef
EFI_STATUS
@ -58,15 +58,18 @@ EFI_STATUS
);
/**
Perform any cleanup necessary when an image is unloaded. Basically it gives
the EBC interpreter the chance to free up any resources allocated during
load and execution of an EBC image.
Called prior to unloading an EBC image from memory.
@param This protocol instance pointer
@param ImageHandle the handle of the image being unloaded.
This function is called after an EBC image has exited, but before the image is actually unloaded. It
is intended to provide the interpreter with the opportunity to perform any cleanup that may be
necessary as a result of loading and executing the image.
@return Standard EFI_STATUS.
@param This A pointer to the EFI_EBC_PROTOCOL instance.
@param ImageHandle Image handle of the EBC image that is being unloaded from memory.
@retval EFI_SUCCESS The function completed successfully.
@retval EFI_INVALID_PARAMETER Image handle is not recognized as belonging
to an EBC image that has been executed.
**/
typedef
EFI_STATUS
@ -76,13 +79,13 @@ EFI_STATUS
);
/**
The I-Cache-flush registration service takes a pointer to a function to
call to flush the I-Cache. Here's the prototype for that function pointer.
This is the prototype for the Flush callback routine. A pointer to a routine
of this type is passed to the EBC EFI_EBC_REGISTER_ICACHE_FLUSH protocol service.
@param Start physical start address of CPU instruction cache to flush.
@param Length how many bytes to flush of the instruction cache.
@param Start The beginning physical address to flush from the processor's instruction cache.
@param Length The number of bytes to flush from the processor's instruction cache.
@return Standard EFI_STATUS.
@retval EFI_SUCCESS The function completed successfully.
**/
typedef
@ -97,11 +100,10 @@ EFI_STATUS
a function to call to flush the CPU's instruction cache following creation
of a thunk. It is not required.
@param This protocol instance pointer
@param Flush pointer to the function to call to flush the CPU instruction
cache.
@param This A pointer to the EFI_EBC_PROTOCOL instance.
@param Flush Pointer to a function of type EBC_ICACH_FLUSH.
@return Standard EFI_STATUS.
@retval EFI_SUCCESS The function completed successfully.
**/
typedef
@ -112,13 +114,16 @@ EFI_STATUS
);
/**
This routine can be called to get the VM revision. It returns the same
value as the EBC BREAK 1 instruction returns.
Called to get the version of the interpreter.
@param This protocol instance pointer
@param Version pointer to where to return the VM version
This function is called to get the version of the loaded EBC interpreter. The value and format of the
returned version is identical to that returned by the EBC BREAK 1 instruction.
@return Standard EFI_STATUS.
@param This A pointer to the EFI_EBC_PROTOCOL instance.
@param Version Pointer to where to store the returned version of the interpreter.
@retval EFI_SUCCESS The function completed successfully.
@retval EFI_INVALID_PARAMETER Version pointer is NULL.
**/
typedef
@ -131,6 +136,31 @@ EFI_STATUS
//
// Prototype for the actual EBC protocol interface
//
/**
This protocol provides the services that allow execution of EBC images.
@par Protocol Description:
The EFI EBC protocol provides services to load and execute EBC images, which will typically be
loaded into option ROMs. The image loader will load the EBC image, perform standard relocations,
and invoke the CreateThunk() service to create a thunk for the EBC image's entry point. The
image can then be run using the standard EFI start image services.
@param CreateThunk
Creates a thunk for an EBC image entry point or protocol service,
and returns a pointer to the thunk.
@param UnloadImage
Called when an EBC image is unloaded to allow the interpreter to
perform any cleanup associated with the image execution.
@param RegisterICacheFlush
Called to register a callback function that the EBC interpreter can
call to flush the processor instruction cache after creating thunks.
@param GetVersion
Called to get the version of the associated EBC interpreter.
**/
struct _EFI_EBC_PROTOCOL {
EFI_EBC_CREATE_THUNK CreateThunk;
EFI_EBC_UNLOAD_IMAGE UnloadImage;

View File

@ -3,7 +3,7 @@
Placed on the video output device child handle that are actively displaying output.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -22,6 +22,26 @@
0xbd8c1056, 0x9f36, 0x44ec, {0x92, 0xa8, 0xa6, 0x33, 0x7f, 0x81, 0x79, 0x86 } \
}
/**
@par Protocol Description:
This protocol contains the EDID information for an active video output device. This is either the
EDID information retrieved from the EFI_EDID_OVERRIDE_PROTOCOL if an override is
available, or an identical copy of the EDID information from the
EFI_EDID_DISCOVERED_PROTOCOL if no overrides are available.
@param SizeOfEdid
The size, in bytes, of the Edid buffer. 0 if no EDID information
is available from the video output device. Otherwise, it must be a
minimum of 128 bytes.
@param Edid
A pointer to a read-only array of bytes that contains the EDID
information for an active video output device. This pointer is
NULL if no EDID information is available for the video output
device. The minimum size of a valid Edid buffer is 128 bytes.
EDID information is defined in the E-DID EEPROM
specification published by VESA (www.vesa.org).
**/
typedef struct {
UINT32 SizeOfEdid;
UINT8 *Edid;

View File

@ -4,7 +4,7 @@
This protocol is placed on the video output device child handle and it represents
the EDID information being used for output device represented by the child handle.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -23,6 +23,23 @@
0x1c0c34f6, 0xd380, 0x41fa, {0xa0, 0x49, 0x8a, 0xd0, 0x6c, 0x1a, 0x66, 0xaa } \
}
/**
@par Protocol Description:
This protocol contains the EDID information retrieved from a video output device.
@param SizeOfEdid
The size, in bytes, of the Edid buffer. 0 if no EDID information
is available from the video output device. Otherwise, it must be a
minimum of 128 bytes.
@param Edid
A pointer to a read-only array of bytes that contains the EDID
information for an active video output device. This pointer is
NULL if no EDID information is available for the video output
device. The minimum size of a valid Edid buffer is 128 bytes.
EDID information is defined in the E-DID EEPROM
specification published by VESA (www.vesa.org).
**/
typedef struct {
UINT32 SizeOfEdid;
UINT8 *Edid;

View File

@ -4,7 +4,7 @@
Allow platform to provide EDID information to producer of the Graphics Output
protocol.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -57,6 +57,15 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
This protocol is produced by the platform to allow the platform to provide
EDID information to the producer of the Graphics Output protocol.
@param GetEdid
Returns EDID values and attributes that the Video BIOS must use.
**/
struct _EFI_EDID_OVERRIDE_PROTOCOL {
EFI_EDID_OVERRIDE_PROTOCOL_GET_EDID GetEdid;
};

View File

@ -5,7 +5,7 @@
the system during the DXE phase. The Firmware Volume Protocol also provides
mechanisms for determining and modifying some attributes of the firmware volume.
Copyright (c) 2006 - 2007, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -94,11 +94,9 @@ typedef UINT64 EFI_FV_ATTRIBUTES;
GetVolumeAttributes() function. GetVolumeAttributes() is
callable only from TPL_NOTIFY and below. Behavior of
GetVolumeAttributes() at any EFI_TPL above TPL_NOTIFY is
undefined. Type EFI_TPL is defined in RaiseTPL() in the UEFI
2.0 specification.
undefined.
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL
instance.
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.
@param FvAttributes Pointer to an EFI_FV_ATTRIBUTES in which
the attributes and current settings are
@ -132,12 +130,9 @@ EFI_STATUS
prevents further modification to all the attribute bits.
SetVolumeAttributes() is callable only from TPL_NOTIFY and
below. Behavior of SetVolumeAttributes() at any EFI_TPL above
TPL_NOTIFY is undefined. Type EFI_TPL is defined in
RaiseTPL() in the UEFI 2.0 specification.
TPL_NOTIFY is undefined.
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL
instance.
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.
@param FvAttributes On input, FvAttributes is a pointer to
an EFI_FV_ATTRIBUTES containing the
@ -251,11 +246,9 @@ EFI_STATUS
other output parameters are returned with valid values.
ReadFile() is callable only from TPL_NOTIFY and below.
Behavior of ReadFile() at any EFI_TPL above TPL_NOTIFY is
undefined. Type EFI_TPL is defined in RaiseTPL() in the UEFI
2.0 specification.
undefined.
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL
instance.
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.
@param NameGuid Pointer to an EFI_GUID, which is the file
name. All firmware file names are EFI_GUIDs.
@ -266,12 +259,12 @@ EFI_STATUS
@param Buffer Pointer to a pointer to a buffer in which the
file contents are returned, not including the
file header.
@param BufferSize Pointer to a caller-allocated UINTN. It
indicates the size of the memory
represented by Buffer.
@param FoundType Pointer to a caller-allocated
EFI_FV_FILETYPE.
@param FoundType Pointer to a caller-allocated EFI_FV_FILETYPE.
@param FileAttributes Pointer to a caller-allocated
EFI_FV_FILE_ATTRIBUTES.
@ -291,12 +284,10 @@ EFI_STATUS
@retval EFI_OUT_OF_RESOURCES An allocation failure occurred.
@retval EFI_NOT_FOUND Name was not found in the firmware
volume.
@retval EFI_NOT_FOUND Name was not found in the firmware volume.
@retval EFI_DEVICE_ERROR A hardware error occurred when
attempting to access the firmware
volume.
attempting to access the firmware volume.
@retval EFI_ACCESS_DENIED The firmware volume is configured to
isallow reads.
@ -343,12 +334,9 @@ EFI_STATUS
parameters are returned with valid values. ReadSection() is
callable only from TPL_NOTIFY and below. Behavior of
ReadSection() at any EFI_TPL above TPL_NOTIFY is
undefined. Type EFI_TPL is defined in RaiseTPL() in the UEFI
2.0 specification.
undefined.
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL
instance.
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.
@param NameGuid Pointer to an EFI_GUID, which indicates the
file name from which the requested section
@ -462,13 +450,11 @@ typedef struct {
Architectural Elements 84 August 21, 2006 Version 1.0
WriteFile() is callable only from TPL_NOTIFY and below.
Behavior of WriteFile() at any EFI_TPL above TPL_NOTIFY is
undefined. Type EFI_TPL is defined in RaiseTPL() in the UEFI 2.0
specification.
undefined.
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL
instance. NumberOfFiles Indicates the number of
elements in the array pointed to by FileData.
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.
@param NumberOfFiles Indicates the number of elements in the array pointed to by FileData
@param WritePolicy Indicates the level of reliability for the
write in the event of a power failure or
@ -536,22 +522,16 @@ EFI_STATUS
implementation specific and no semantic content is implied.
GetNextFile() is callable only from TPL_NOTIFY and below.
Behavior of GetNextFile() at any EFI_TPL above TPL_NOTIFY is
undefined. Type EFI_TPL is defined in RaiseTPL() in the UEFI 2.0
specification. Status Codes Returned
undefined.
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL
instance. Key Pointer to a caller-allocated buffer
that contains implementation-specific data that is
used to track where to begin the search for the
next file. The size of the buffer must be at least
This->KeySize bytes long. To re-initialize the
search and begin from the beginning of the
firmware volume, the entire buffer must be cleared
to zero. Other than clearing the buffer to
initiate a new search, the caller must not modify
the data in the buffer between calls to
GetNextFile().
@param Key Pointer to a caller-allocated buffer that contains implementation-specific data that is
used to track where to begin the search for the next file. The size of the buffer must be
at least This->KeySize bytes long. To re-initialize the search and begin from the
beginning of the firmware volume, the entire buffer must be cleared to zero. Other
than clearing the buffer to initiate a new search, the caller must not modify the data in
the buffer between calls to GetNextFile().
@param FileType Pointer to a caller-allocated
EFI_FV_FILETYPE. The GetNextFile() API can
@ -713,6 +693,7 @@ EFI_STATUS
/**
@par Protocol Description:
The Firmware Volume Protocol contains the file-level
abstraction to the firmware volume as well as some firmware
volume attribute reporting and configuration services. The
@ -726,45 +707,33 @@ EFI_STATUS
Protocol.
@param GetVolumeAttributes Retrieves volume capabilities
and current settings. See the
GetVolumeAttributes() function
description.
and current settings.
@param SetVolumeAttributes Modifies the current settings of
the firmware volume. See the
SetVolumeAttributes() function
description.
the firmware volume.
@param ReadFile Reads an entire file from the firmware
volume. See the ReadFile() function
description.
volume.
@param ReadSection Reads a single section from a file into
a buffer.
@param WriteFile Writes an entire file into the firmware
volume. See the WriteFile() function
description.
volume.
@param GetNextFile Provides service to allow searching the
firmware volume. See the GetNextFile()
function description.
firmware volume.
@param KeySize Data field that indicates the size in bytes
of the Key input buffer for the
GetNextFile() API.
@param ParentHandle Handle of the parent firmware volume.
Type EFI_HANDLE is defined in
InstallProtocolInterface() in the UEFI
2.0 specification.
@param GetInfo Gets the requested file or volume
information. See the GetInfo() function
description.
@param SetInfo Sets the requested file information. See the
SetInfo() function description.
information.
@param SetInfo Sets the requested file information.
**/
struct _EFI_FIRMWARE_VOLUME2_PROTOCOL {
EFI_FV_GET_ATTRIBUTES GetVolumeAttributes;

View File

@ -1,7 +1,7 @@
/** @file
This file provides control over block-oriented firmware devices.
Copyright (c) 2006 - 2007, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -29,8 +29,7 @@ typedef struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK_PRO
The GetAttributes() function retrieves the attributes and
current settings of the block. Status Codes Returned
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL
instance.
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
@param Attributes Pointer to EFI_FVB_ATTRIBUTES in which the
attributes and current settings are
@ -53,8 +52,7 @@ EFI_STATUS
The SetAttributes() function sets configurable firmware volume
attributes and returns the new settings of the firmware volume.
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL
instance.
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
@param Attributes On input, Attributes is a pointer to
EFI_FVB_ATTRIBUTES that contains the
@ -64,9 +62,7 @@ EFI_STATUS
EFI_FVB_ATTRIBUTES is defined in
EFI_FIRMWARE_VOLUME_HEADER.
@retval EFI_SUCCESS The firmware volume attributes were
returned.
@retval EFI_SUCCESS The firmware volume attributes were returned.
@retval EFI_INVALID_PARAMETER The attributes requested are in
conflict with the capabilities
@ -87,22 +83,16 @@ EFI_STATUS
a memory-mapped firmware volume. This function should be called
only for memory-mapped firmware volumes.
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL
nstance.
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
@param Address Pointer to a caller-allocated
EFI_PHYSICAL_ADDRESS that, on successful
return from GetPhysicalAddress(), contains the
base address of the firmware volume. Type
EFI_PHYSICAL_ADDRESS is defined in
AllocatePages() in the UEFI 2.0 specification.
base address of the firmware volume.
@retval EFI_SUCCESS The firmware volume base address is
returned.
@retval EFI_NOT_SUPPORTED The firmware volume is not memory
mapped.
@retval EFI_SUCCESS The firmware volume base address is returned.
@retval EFI_NOT_SUPPORTED The firmware volume is not memory mapped.
**/
typedef
@ -119,12 +109,9 @@ EFI_STATUS
retrieve the block map (see EFI_FIRMWARE_VOLUME_HEADER).
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL
instance.
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
@param Lba Indicates the block for which to return the size.
Type EFI_LBA is defined in the BLOCK_IO Protocol
(section 11.6) in the UEFI 2.0 specification.
@param BlockSize Pointer to a caller-allocated UINTN in which
the size of the block is returned.
@ -136,11 +123,9 @@ EFI_STATUS
BlockSize.
@retval EFI_SUCCESS The firmware volume base address is
returned.
@retval EFI_SUCCESS The firmware volume base address is returned.
@retval EFI_INVALID_PARAMETER The requested LBA is out of
range.
@retval EFI_INVALID_PARAMETER The requested LBA is out of range.
**/
typedef
@ -167,11 +152,10 @@ EFI_STATUS
indicate the number of bytes actually read. The caller must be
aware that a read may be partially completed.
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL
instance. Lba The starting logical block index
from which to read. Type EFI_LBA is defined in the
BLOCK_IO Protocol (section 11.6) in the UEFI 2.0
specification.
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
@param Lba The starting logical block index
from which to read.
@param Offset Offset into the block at which to begin reading.
@ -209,8 +193,6 @@ EFI_STATUS
IN OUT UINT8 *Buffer
);
/**
The Write() function writes the specified number of bytes from
the provided buffer to the specified block and offset. If the
@ -239,14 +221,11 @@ EFI_STATUS
fully flushed to the hardware before the Write() service
returns.
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL
instance.
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
@param Lba The starting logical block index to write to. Type
EFI_LBA is defined in the BLOCK_IO Protocol
(section 11.6) in the UEFI 2.0 specification.
Offset Offset into the block at which to begin
writing.
@param Lba The starting logical block index to write to.
@param Offset Offset into the block at which to begin writing.
@param NumBytes Pointer to a UINTN. At entry, *NumBytes
contains the total size of the buffer. At
@ -256,8 +235,7 @@ EFI_STATUS
@param Buffer Pointer to a caller-allocated buffer that
contains the source for the write.
@retval EFI_SUCCESS The firmware volume was written
successfully.
@retval EFI_SUCCESS The firmware volume was written successfully.
@retval EFI_BAD_BUFFER_SIZE The write was attempted across an
LBA boundary. On output, NumBytes
@ -347,6 +325,7 @@ EFI_STATUS
/**
@par Protocol Description:
The Firmware Volume Block Protocol is the low-level interface
to a firmware volume. File-level access to a firmware volume
should not be done using the Firmware Volume Block Protocol.
@ -372,21 +351,16 @@ EFI_STATUS
@param GetPhysicalAddress Retrieves the memory-mapped
address of the firmware volume.
See the GetPhysicalAddress()
function description.
@param GetBlockSize Retrieves the size for a specific block.
Also returns the number of consecutive
similarly sized blocks. See the
GetBlockSize() function description.
similarly sized blocks.
@param Read Reads n bytes into a buffer from the firmware
volume hardware. See the Read() function
description.
volume hardware.
@param Write Writes n bytes from a buffer into the firmware
volume hardware. See the Write() function
description.
volume hardware.
@param EraseBlocks Erases specified block(s) and sets all
values as indicated by the
@ -394,18 +368,11 @@ EFI_STATUS
EraseBlocks() function description. Type
EFI_FVB_ERASE_POLARITY is defined in
EFI_FIRMWARE_VOLUME_HEADER. ParentHandle
Handle of the parent firmware volume. Type
EFI_HANDLE is defined in
InstallProtocolInterface() in the UEFI 2.0
specification.
Handle of the parent firmware volume.
@param GetAttributes Retrieves the current volume attributes.
See the GetAttributes() function
description.
@param SetAttributes Sets the current volume attributes. See
the SetAttributes() function description.
@param SetAttributes Sets the current volume attributes.
**/
struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL {

View File

@ -1,9 +1,10 @@
/** @file
This protocol is defined in UEFI spec.
The file provides services to call for drivers to leverage the
EFI configuration driver interface.
The EFI_FORM_BROWSER2_PROTOCOL is the interface to call for drivers to
leverage the EFI configuration driver interface.
Copyright (c) 2006 - 2007, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -14,8 +15,8 @@
**/
#ifndef __EFI_FORM_BROWSER_H__
#define __EFI_FORM_BROWSER_H__
#ifndef __EFI_FORM_BROWSER2_H__
#define __EFI_FORM_BROWSER2_H__
#define EFI_FORM_BROWSER2_PROTOCOL_GUID \
{0xb9d4c360, 0xbcfb, 0x4f9b, {0x92, 0x98, 0x53, 0xc1, 0x36, 0x98, 0x22, 0x58 }}
@ -30,7 +31,8 @@ typedef struct _EFI_FORM_BROWSER2_PROTOCOL EFI_FORM_BROWSER2_PROTOCOL;
@param LeftColumn Value that designates the text column
where the browser window will begin from
the left-hand side of the screen
RightColumn Value that designates the text
@param RightColumn Value that designates the text
column where the browser window will end
on the right-hand side of the screen.
@ -58,62 +60,38 @@ typedef UINTN EFI_BROWSER_ACTION_REQUEST;
/**
This function is the primary interface to the internal forms-based browser.
The forms browser will display forms associated with the specified Handles.
The browser will select all forms in packages which have the specified Type
and (for EFI_HII_PACKAGE_TYPE_GUID) the specified PackageGuid.
This function is the primary interface to the internal
forms-based browser. By calling this routine, one is directing
the browser to use a variety of passed-in information or
primarily use the HII database as the source of information.
@param This A pointer to the EFI_FORM_BROWSER2_PROTOCOL instance
@param This A pointer to the EFI_FORM_BROWSER2_PROTOCOL
instance.
@param Handles A pointer to an array of Handles. This value should correspond
to the value of the HII form package that is required to be displayed. Type
@param Handle A pointer to an array of HII handles to
display. This value should correspond to the
value of the HII form package that is required
to be displayed.
@param HandleCount The number of Handles specified in Handle.
@param HandleCount The number of handles in the array
specified by Handle.
@param FormSetGuid This field points to the EFI_GUID which must match the Guid
field in the EFI_IFR_FORM_SET op-code for the specified
forms-based package. If FormSetGuid is NULL, then this
function will display the first found forms package.
@param SingleUse If FALSE, the browser operates as a standard
forms processor and exits only when
explicitly requested by the user. If TRUE,
the browser will return immediately after
processing the first user-generated
selection.
@param FormId This field specifies which EFI_IFR_FORM to render as the first
displayable page. If this field has a value of 0x0000, then
the forms browser will render the specified forms in their encoded order.
@param ScreenDimensions Allows the browser to be called so
that it occupies a portion of the
physical screen instead of
dynamically determining the screen
dimensions. If the input values
violate the platform policy then the
dimensions will be dynamically
adjusted to comply.
@param ScreenDimensions Points to recommended form dimensions, including any non-content area, in
characters.
@param ResetRequired This BOOLEAN value will tell the caller
if a reset is required based on the data
that might have been changed. The
ResetRequired parameter is primarily
applicable for configuration
applications, and is an optional
parameter.
@param ActionRequest Points to the action recommended by the form.
@retval EFI_SUCCESS The function completed successfully
@retval EFI_NOT_FOUND The variable was not found.
@retval EFI_BUFFER_TOO_SMALL The DataSize is too small for
the result. DataSize has been
updated with the size needed to
complete the request.
@retval EFI_INVALID_PARAMETER One of the parameters has an
invalid value.
@retval EFI_DEVICE_ERROR The variable could not be saved due
to a hardware failure.
**/
typedef
EFI_STATUS
@ -134,11 +112,11 @@ EFI_STATUS
browser. This routine called this service in the browser to
retrieve or set certain uncommitted state information.
@param This A pointer to the EFI_FORM_BROWSER2_PROTOCOL
instance.
@param This A pointer to the EFI_FORM_BROWSER2_PROTOCOL instance.
@param ResultsDataSize A pointer to the size of the buffer
associated with ResultsData.
associated with ResultsData. On input, the size in
bytes of ResultsData. On output, the size of data returned in ResultsData.
@param ResultsData A string returned from an IFR browser or
equivalent. The results string will have
@ -157,7 +135,6 @@ EFI_STATUS
@param VariableName An optional field to indicate the target
human-readable variable name.
@retval EFI_SUCCESS The results have been distributed or are
awaiting distribution.
@ -178,16 +155,11 @@ EFI_STATUS
);
/**
@par Protocol Description:
This interface will allow the caller to direct the configuration
driver to use either the HII database or use the passed-in packet of data.
This protocol is the interface to call for drivers to leverage
the EFI configuration driver interface.
@param SendForm Provides direction to the configuration
driver whether to use the HII database or to
use a passed-in set of data. This functions
also establishes a pointer to the calling
driver's callback interface. See the
SendForm() function description.
@param SendForm Browse the specified configuration forms.
@param BrowserCallback Routine used to expose internal
configuration state of the browser.
@ -195,9 +167,7 @@ EFI_STATUS
handler routines which were called by
the browser and in-turn need to get
additional information from the
browser itself. See the
BrowserCallback() function
description.
browser itself.
**/
struct _EFI_FORM_BROWSER2_PROTOCOL {

View File

@ -3,7 +3,7 @@
Abstraction of a very simple graphics device.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -182,6 +182,27 @@ typedef struct {
UINTN FrameBufferSize;
} EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE;
/**
@par Protocol Description:
Provides a basic abstraction to set video modes and copy pixels to and from
the graphics controller's frame buffer. The linear address of the hardware
frame buffer is also exposed so software can write directly to the video hardware.
@param QueryMode
Returns information for an available graphics mode that the graphics device
and the set of active video output devices supports.
@param SetMode
Set the video device into the specified mode and clears the visible portions
of the output display to black.
@param Blt
Software abstraction to draw on the video device's frame buffer.
@param Mode
Pointer to EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE data.
**/
struct _EFI_GRAPHICS_OUTPUT_PROTOCOL {
EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE QueryMode;
EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE SetMode;

View File

@ -4,7 +4,7 @@
instance of the GUIDed Section Extraction Protocol to extract
the section stream contained therein.
Copyright (c) 2006 - 2007, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -62,8 +62,7 @@ typedef struct _EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL EFI_GUIDED_SECTION_EXTRAC
defined in RaiseTPL() in the UEFI 2.0 specification.
@param This Indicates the
EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL instance.
@param This Indicates the EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL instance.
@param InputSection Buffer containing the input GUIDed section
to be processed. OutputBuffer OutputBuffer
@ -102,7 +101,6 @@ typedef struct _EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL EFI_GUIDED_SECTION_EXTRAC
the value of AuthenticationStatus
is undefined.
@retval EFI_SUCCESS The InputSection was successfully
processed and the section contents were
returned.
@ -129,9 +127,15 @@ EFI_STATUS
/**
@par Protocol Description:
Typically, protocol interface structures are identified by associating them with a GUID. Each
instance of a protocol with a given GUID must have the same interface structure. While all instances
of the GUIDed Section Extraction Protocol must have the same interface structure, they do not all
have the same GUID. The GUID that is associated with an instance of the GUIDed Section
Extraction Protocol is used to correlate it with the GUIDed section type that it is intended to process.
Takes the GUIDed section as input and produces the section
stream data. See the ExtractSection() function description.
@param ExtractSection
Takes the GUIDed section as input and produces the section stream data.
**/
struct _EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL {

View File

@ -6,7 +6,7 @@
so that a multiple drivers can use the underlying hashing services.
The EFI Service Binding Protocol defines the generic Service Binding Protocol functions.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -130,6 +130,18 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
This protocol allows creating a hash of an arbitrary message digest
using one or more hash algorithms.
@param GetHashSize
Return the size of a specific type of resulting hash.
@param Hash
Create a hash for the specified message.
**/
struct _EFI_HASH_PROTOCOL {
EFI_HASH_GET_HASH_SIZE GetHashSize;
EFI_HASH_HASH Hash;

View File

@ -1,10 +1,11 @@
/** @file
The file provides services to forward results to PCOL-based
handler if EFI HII results processing protocol invokes this
protocol.
The EFI HII results processing protocol invokes this type of protocol
when it needs to forward results to a driver's configuration handler.
This protocol is published by drivers providing and requesting
configuration data from HII. It may only be invoked by HII.
Copyright (c) 2006 - 2007, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -127,8 +128,9 @@ EFI_STATUS
@param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
@param Configuration A null-terminated Unicode string in
<ConfigString> format. Progress a
pointer to a string filled in with the
<ConfigString> format.
@param Progress A pointer to a string filled in with the
offset of the most recent '&' before the
first failing name / value pair (or the
beginn ing of the string if the failure
@ -167,35 +169,23 @@ EFI_STATUS
which data is either being passed back or being asked for.
@param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
@param Action Specifies the type of action taken by the browser.
@param QuestionId A unique value which is sent to the original
exporting driver so that it can identify the type
of data to expect. The format of the data tends to
vary based on the opcode that enerated the callback.
@param Type The type of value for the question.
@param Value A pointer to the data being sent to the original
exporting driver.
@param ActionRequest On return, points to the action requested by the
callback function.
@param KeyValue A unique value which is sent to the original
exporting driver so that it can identify the
type of data to expect. The format of the
data tends to vary based on the opcode that
generated the callback.
@param Data A pointer to the data being sent to the original
exporting driver. The format of the data should
be the same as that of the question invoking the
callback and will be known to the recipient.
@retval EFI_SUCCESS The firmware has successfully stored the
variable and its data as defined by the
Attributes.
@retval EFI_INVALID_PARAMETER An invalid combination of
Attributes bits was supplied,
or the DataSize exceeds the
maximum allowed.
@retval EFI_OUT_OF_RESOURCES Not enough storage is available
to hold the variable and its
data.
@retval EFI_DEVICE_ERROR The variable could not be saved due
to a hardware failure.
@retval EFI_SUCCESS The callback successfully handled the action.
@retval EFI_OUT_OF_RESOURCES Not enough storage is available to hold the
variable and its data.
@retval EFI_DEVICE_ERROR The variable could not be saved.
@retval EFI_UNSUPPORTED The specified Action is not supported by the
callback.
**/
typedef
EFI_STATUS
@ -209,7 +199,7 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
This protocol provides a callable interface between the HII and
drivers. Only drivers which provide IFR data to HII are required
to publish this protocol.
@ -228,7 +218,6 @@ EFI_STATUS
configuration browser to communicate certain
activities that were initiated by a user.
**/
struct _EFI_HII_CONFIG_ACCESS_PROTOCOL {
EFI_HII_ACCESS_EXTRACT_CONFIG ExtractConfig;

View File

@ -5,7 +5,7 @@
information from configuration applications, routing the
results to the appropriate drivers.
Copyright (c) 2006 - 2007, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -127,8 +127,7 @@ EFI_STATUS
the configuration using the corresponding drivers??
EFI_HII_CONFIG_ACCESS_PROTOCOL.ExtractConfig() interfaces below.
@param This Points to the EFI_HII_CONFIG_ROUTING_PROTOCOL
instance.
@param This Points to the EFI_HII_CONFIG_ROUTING_PROTOCOL instance.
@param Results A null-terminated Unicode string in
<MultiConfigAltResp> format which has all
@ -170,8 +169,7 @@ EFI_STATUS
to the driver whose routing information is defined by the
<ConfigHdr> in turn.
@param This Points to the EFI_HII_CONFIG_ROUTING_PROTOCOL
instance.
@param This Points to the EFI_HII_CONFIG_ROUTING_PROTOCOL instance.
@param Configuration A null-terminated Unicode string in
<MulltiConfigResp> format.
@ -220,8 +218,7 @@ EFI_STATUS
spaces). The call fails if, for any (offset, width) pair in
ConfigRequest, offset+value >= BlockSize.
@param This Points to the EFI_HII_CONFIG_ROUTING_PROTOCOL
instance.
@param This Points to the EFI_HII_CONFIG_ROUTING_PROTOCOL instance.
@param ConfigRequest A null-terminated Unicode string in
<ConfigRequest> format.
@ -245,6 +242,7 @@ EFI_STATUS
@retval EFI_SUCCESS The request succeeded. Progress points
to the null terminator at the end of the
ConfigRequest string.
@retval EFI_OUT_OF_MEMORY Not enough memory to allocate
Config. Progress points to the
first character of ConfigRequest.
@ -283,7 +281,6 @@ EFI_STATUS
/**
This function maps a configuration containing a series of
<BlockConfig> formatted name value pairs in ConfigResp into a
Block so it may be stored in a linear mapped storage such as a
@ -297,13 +294,12 @@ EFI_STATUS
The results are
55 AA 02 07 04 05
@param This Points to the EFI_HII_CONFIG_ROUTING_PROTOCOL
instance.
@param This Points to the EFI_HII_CONFIG_ROUTING_PROTOCOL instance.
@param ConfigResp A null-terminated Unicode string in
<ConfigResp> format.
@param CurrentBlock A possibly null array of bytes
@param Block A possibly null array of bytes
representing the current block. Only
bytes referenced in the ConfigResp
string in the block are modified. If
@ -327,6 +323,19 @@ EFI_STATUS
name / value pair) or the terminating NULL
if all was successful.
@retval EFI_SUCCESS The request succeeded. Progress points to the null
terminator at the end of the ConfigResp string.
@retval EFI_OUT_OF_RESOURCES Not enough memory to allocate Config. Progress
points to the first character of ConfigResp.
@retval EFI_INVALID_PARAMETER Passing in a NULL for the ConfigResp or
Block parameter would result in this type of
error. Progress points to the first character of
ConfigResp.
@retval EFI_INVALID_PARAMETER Encountered non <BlockName> formatted name /
value pair. Block is left updated and
Progress points at the '&' preceding the first
non-<BlockName>.
**/
typedef
EFI_STATUS
@ -338,6 +347,38 @@ EFI_STATUS
OUT EFI_STRING *Progress
);
/**
This helper function is to be called by drivers to extract portions of
a larger configuration string.
@param This A pointer to the EFI_HII_CONFIG_ROUTING_PROTOCOL instance.
@param Configuration A null-terminated Unicode string in <MultiConfigAltResp> format.
@param Guid A pointer to the GUID value to search for in the
routing portion of the ConfigResp string when retrieving
the requested data. If Guid is NULL, then all GUID
values will be searched for.
@param Name A pointer to the NAME value to search for in the
routing portion of the ConfigResp string when retrieving
the requested data. If Name is NULL, then all Name
values will be searched for.
@param DevicePath A pointer to the PATH value to search for in the
routing portion of the ConfigResp string when retrieving
the requested data. If DevicePath is NULL, then all
DevicePath values will be searched for.
@param AltCfgId A pointer to the ALTCFG value to search for in the
routing portion of the ConfigResp string when retrieving
the requested data. If this parameter is NULL,
then the current setting will be retrieved.
@param AltCfgResp A pointer to a buffer which will be allocated by the
function which contains the retrieved string as requested.
This buffer is only allocated if the call was successful.
@retval EFI_SUCCESS The request succeeded. The requested data was extracted
and placed in the newly allocated AltCfgResp buffer.
@retval EFI_OUT_OF_RESOURCES Not enough memory to allocate AltCfgResp.
@retval EFI_INVALID_PARAMETER Any parameter is invalid.
@retval EFI_NOT_FOUND Target for the specified routing data was not found.
**/
typedef
EFI_STATUS
(EFIAPI * EFI_HII_GET_ALT_CFG)(
@ -349,52 +390,39 @@ EFI_STATUS
IN CONST UINT16 *AltCfgId,
OUT EFI_STRING *AltCfgResp
)
/*++
Routine Description:
This helper function is to be called by drivers to extract portions of
a larger configuration string.
Arguments:
This - A pointer to the EFI_HII_CONFIG_ROUTING_PROTOCOL instance.
Configuration - A null-terminated Unicode string in <MultiConfigAltResp> format.
Guid - A pointer to the GUID value to search for in the
routing portion of the ConfigResp string when retrieving
the requested data. If Guid is NULL, then all GUID
values will be searched for.
Name - A pointer to the NAME value to search for in the
routing portion of the ConfigResp string when retrieving
the requested data. If Name is NULL, then all Name
values will be searched for.
DevicePath - A pointer to the PATH value to search for in the
routing portion of the ConfigResp string when retrieving
the requested data. If DevicePath is NULL, then all
DevicePath values will be searched for.
AltCfgId - A pointer to the ALTCFG value to search for in the
routing portion of the ConfigResp string when retrieving
the requested data. If this parameter is NULL,
then the current setting will be retrieved.
AltCfgResp - A pointer to a buffer which will be allocated by the
function which contains the retrieved string as requested.
This buffer is only allocated if the call was successful.
Returns:
EFI_SUCCESS - The request succeeded. The requested data was extracted
and placed in the newly allocated AltCfgResp buffer.
EFI_OUT_OF_RESOURCES - Not enough memory to allocate AltCfgResp.
EFI_INVALID_PARAMETER - Any parameter is invalid.
EFI_NOT_FOUND - Target for the specified routing data was not found.
--*/
;
/**
@par Protocol Description:
This protocol defines the configuration routing interfaces
between external applications and the HII. There may only be one
instance of this protocol in the system.
@param ExtractConfig
This function allows a caller to extract the current configuration for
one or more named elements from one or more drivers.
@param ExportConfig
This function allows the caller to request the current configuration for
the entirety of the current HII database and returns the data
in a null-terminated Unicode string.
@param RouteConfig
This function processes the results of processing forms and routes it
to the appropriate handlers or storage.
@param BlockToConfig
This helper function is to be called by drivers to map configuration data
stored in byte array ("block") formats such as UEFI Variables into current
configuration strings.
@param ConfigToBlock
This helper function is to be called by drivers to map configuration strings
to configurations stored in byte array ("block") formats such as UEFI Variables.
@param GetAltConfig
This helper function is to be called by drivers to extract portions of a larger configuration string.
**/
struct _EFI_HII_CONFIG_ROUTING_PROTOCOL {
EFI_HII_ROUTING_EXTRACT_CONFIG ExtractConfig;

View File

@ -47,8 +47,9 @@ typedef UINTN EFI_HII_DATABASE_NOTIFY_TYPE;
field of EFI_HII_PACKAGE_GUID_HEADER.
Otherwise, it must be NULL.
@param Package Points to the package referred to by the
notification Handle The handle of the package
@param Package Points to the package referred to by the notification.
@param Handle The handle of the package
list which contains the specified package.
@param NotifyType The type of change concerning the
@ -79,15 +80,13 @@ EFI_STATUS
corresponding call to
EFI_HII_DATABASE_PROTOCOL.RemovePackageList().
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL
instance.
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL instance.
@param PackageList A pointer to an
EFI_HII_PACKAGE_LIST_HEADER structure.
@param PackageList A pointer to an EFI_HII_PACKAGE_LIST_HEADER structure.
@param DriverHandle Associate the package list with this EFI
handle Handle A pointer to the
EFI_HII_HANDLE instance.
@param DriverHandle Associate the package list with this EFI handle.
@param Handle A pointer to the EFI_HII_HANDLE instance.
@retval EFI_SUCCESS The package list associated with the
Handle was added to the HII database.
@ -96,8 +95,7 @@ EFI_STATUS
resources for the new database
contents.
@retval EFI_INVALID_PARAMETER PackageList is NULL or Handle
is NULL.
@retval EFI_INVALID_PARAMETER PackageList is NULL or Handle is NULL.
**/
typedef
@ -119,8 +117,7 @@ EFI_STATUS
call to EFI_HII_DATABASE_PROTOCOL.NewPackageList(), there should
be a corresponding call to RemovePackageList.
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL
instance.
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL instance.
@param Handle The handle that was registered to the data
that is requested for removal.
@ -161,8 +158,7 @@ EFI_STATUS
- Call any functions registered with the notification type
ADD_PACK.
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL
instance.
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL instance.
@param Handle The handle that was registered to the data
that is requested for removal.
@ -170,8 +166,7 @@ EFI_STATUS
@param PackageList A pointer to an EFI_HII_PACKAGE_LIST
package.
@retval EFI_SUCCESS The HII database was successfully
updated.
@retval EFI_SUCCESS The HII database was successfully updated.
@retval EFI_OUT_OF_RESOURCES Unable to allocate enough memory
for the updated database.
@ -196,8 +191,7 @@ EFI_STATUS
pseudo-type EFI_HII_PACKAGE_TYPE_ALL will cause all package
handles to be listed.
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL
instance.
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL instance.
@param PackageType Specifies the package type of the packages
to list or EFI_HII_PACKAGE_TYPE_ALL for
@ -213,15 +207,12 @@ EFI_STATUS
@param HandleBufferLength On input, a pointer to the length
of the handle buffer. On output,
the length of the handle buffer
that is required for the handles
found.
that is required for the handles found.
@param Handle An array of EFI_HII_HANDLE instances returned.
@retval EFI_SUCCESS The matching handles are outputed successfully.
HandleBufferLength is updated with the actual length.
@retval EFI_BUFFER_TOO_SMALL The HandleBufferLength parameter
indicates that Handle is too
small to support the number of
@ -233,8 +224,6 @@ EFI_STATUS
@retval EFI_INVALID_PARAMETER PackageType is not a EFI_HII_PACKAGE_TYPE_GUID but
PackageGuid is not NULL, PackageType is a EFI_HII_
PACKAGE_TYPE_GUID but PackageGuid is NULL.
**/
typedef
EFI_STATUS
@ -246,11 +235,6 @@ EFI_STATUS
OUT EFI_HII_HANDLE *Handle
);
/**
This function will export one or all package lists in the
@ -263,8 +247,8 @@ EFI_STATUS
EFI_OUT_OF_RESOURCES will be returned and the actual package
size will be returned in BufferSize.
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL
instance.
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL instance.
@param Handle An EFI_HII_HANDLE that corresponds to the
desired package list in the HII database to
@ -282,8 +266,7 @@ EFI_STATUS
@retval EFI_SUCCESS Package exported.
@retval EFI_OUT_OF_RESOURCES BufferSize is too small to hold
the package.
@retval EFI_OUT_OF_RESOURCES BufferSize is too small to hold the package.
**/
typedef
@ -309,8 +292,7 @@ EFI_STATUS
exiting.
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL
instance.
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL instance.
@param PackageType The package type. See
EFI_HII_PACKAGE_TYPE_x in EFI_HII_PACKAGE_HEADER.
@ -334,8 +316,7 @@ EFI_STATUS
@param NotifyHandle Points to the unique handle assigned to
the registered notification. Can be used
in
EFI_HII_DATABASE_PROTOCOL.UnregisterPack
in EFI_HII_DATABASE_PROTOCOL.UnregisterPack
to stop notifications.
@ -365,14 +346,12 @@ EFI_STATUS
Removes the specified HII database package-related notification.
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL
instance.
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL instance.
@param NotificationHandle The handle of the notification
function being unregistered.
@retval EFI_SUCCESS Unregister the notification
Successsfully
@retval EFI_SUCCESS Unregister the notification Successsfully
@retval EFI_NOT_FOUND The incoming notification handle does not exist
in current hii database.
@ -397,8 +376,9 @@ EFI_STATUS
of the keyboard GUID buffer. On
output, the length of the handle
buffer that is required for the
handles found. KeyGuidBuffer An
array of keyboard layout GUID
handles found.
@param KeyGuidBuffer An array of keyboard layout GUID
instances returned.
@retval EFI_SUCCESS KeyGuidBuffer was updated successfully.
@ -434,14 +414,17 @@ EFI_STATUS
given keyboard layout. If KeyGuid is NULL then
the current layout will be retrieved.
@param KeyboardLayoutLength On input, a pointer to the length of the
KeyboardLayout buffer. On output, the length of
the data placed into KeyboardLayout.
@param KeyboardLayout A pointer to a buffer containing the
retrieved keyboard layout. below.
retrieved keyboard layout.
@retval EFI_SUCCESS The keyboard layout was retrieved
successfully.
@retval EFI_NOT_FOUND The requested keyboard layout was not
found.
@retval EFI_NOT_FOUND The requested keyboard layout was not found.
**/
typedef
@ -462,15 +445,12 @@ EFI_STATUS
current keyboard layout being changed can be notified of this
change.
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL
instance.
@param This A pointer to the EFI_HII_PROTOCOL instance.
@param KeyGuid A pointer to the unique ID associated with a
given keyboard layout.
@retval EFI_SUCCESS The current keyboard layout was
successfully set.
@retval EFI_SUCCESS The current keyboard layout was successfully set.
@retval EFI_NOT_FOUND The referenced keyboard layout was not
found, so action was taken.
@ -487,8 +467,7 @@ EFI_STATUS
Return the EFI handle associated with a package list.
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL
instance.
@param This A pointer to the EFI_HII_PROTOCOL instance.
@param PackageListHandle An EFI_HII_HANDLE that corresponds
to the desired package list in the
@ -498,11 +477,9 @@ EFI_STATUS
was registered with the package list in
NewPackageList().
@retval EFI_SUCCESS The DriverHandle was returned
successfully.
@retval EFI_SUCCESS The DriverHandle was returned successfully.
@retval EFI_INVALID_PARAMETER The PackageListHandle was not
valid.
@retval EFI_INVALID_PARAMETER The PackageListHandle was not valid.
**/
typedef
@ -514,9 +491,10 @@ EFI_STATUS
);
/**
@par Protocol Description:
Database manager for HII-related data structures.
@param NewPackageList Add a new package list to the HII
database.
@param NewPackageList Add a new package list to the HII database.
@param RemovePackageList Remove a package list from the HII
database.
@ -530,14 +508,16 @@ EFI_STATUS
@param ExportPackageLists Export package lists from the HII
database.
@param RegisterPackageNotify Register notification when
@param RegisterPackageNotify
Register notification when
packages of a certain type are
installed.
@param UnregisterPackageNotify Unregister notification of
packages.
@param UnregisterPackageNotify
Unregister notification of packages.
@param FindKeyboardLayouts Retrieves a list of the keyboard
@param FindKeyboardLayouts
Retrieves a list of the keyboard
layouts in the system.
@param GetKeyboardLayout Allows a program to extract the

View File

@ -52,8 +52,7 @@ typedef UINT32 EFI_HII_OUT_FLAGS;
@param LineHeight The height of the line, in pixels.
@param LineWidth The width of the text on the line, in
pixels.
@param LineWidth The width of the text on the line, in pixels.
@param BaselineOffset The number of pixels above the bottom of
the row of the font baseline or 0 if
@ -129,8 +128,6 @@ typedef struct {
attempt to match with any font style. This flag cannot be used
with EFI_FONT_INFO_SYS_STYLE or EFI_FONT_INFO_RESTYLE.
@param FontInfo Points to the font information or NULL if the
string should use the default system font.
@param ForegroundColor The color of the "on" pixels in the
glyph in the bitmap.
@ -143,6 +140,9 @@ typedef struct {
will be used and what to do if the
specific font is not available.
@param FontInfo Points to the font information or NULL if the
string should use the default system font.
**/
typedef struct _EFI_FONT_DISPLAY_INFO {
EFI_GRAPHICS_OUTPUT_BLT_PIXEL ForegroundColor;
@ -172,11 +172,11 @@ typedef struct _EFI_FONT_DISPLAY_INFO {
EFI_HII_OUT_FLAG_CLIP_CLEAN_X is specified) even though those
pixels were not drawn. If EFI_HII_OUT_FLAG_CLIP_CLEAN_X is set,
then it modifies the behavior of EFI_HII_OUT_FLAG_CLIP so that
if a character????s right-most on pixel cannot fit, then it will
if a character's right-most on pixel cannot fit, then it will
not be drawn at all. This flag requires that
EFI_HII_OUT_FLAG_CLIP be set. If EFI_HII_OUT_FLAG_CLIP_CLEAN_Y
is set, then it modifies the behavior of EFI_HII_OUT_FLAG_CLIP
so that if a row????s bottom-most pixel cannot fit, then it will
so that if a row's bottom-most pixel cannot fit, then it will
not be drawn at all. This flag requires that
EFI_HII_OUT_FLAG_CLIP be set. If EFI_HII_OUT_FLAG_WRAP is set,
then text will be wrapped at the right-most line-break
@ -185,7 +185,7 @@ typedef struct _EFI_FONT_DISPLAY_INFO {
the text will behave as if EFI_HII_OUT_FLAG_CLIP_CLEAN_X is set.
This flag cannot be used with EFI_HII_OUT_FLAG_CLIP_CLEAN_X. If
EFI_HII_OUT_FLAG_TRANSPARENT is set, then BackgroundColor is
ignored and all ????off???? pixels in the character????s drawn
ignored and all 'off' pixels in the character's drawn
will use the pixel value from Blt. This flag cannot be used if
Blt is NULL upon entry. If EFI_HII_IGNORE_IF_NO_GLYPH is set,
then characters which have no glyphs are not drawn. Otherwise,
@ -201,7 +201,6 @@ typedef struct _EFI_FONT_DISPLAY_INFO {
@param Flags Describes how the string is to be drawn.
@param String Points to the null-terminated string to be
displayed.
@param StringInfo Points to the string output information,
including the color and font. If NULL, then
@ -250,12 +249,11 @@ typedef struct _EFI_FONT_DISPLAY_INFO {
@retval EFI_SUCCESS The string was successfully updated.
@retval EFI_OUT_OF_RESOURCES Unable to allocate an output
buffer for RowInfoArray or Blt.
@retval EFI_OUT_OF_RESOURCES Unable to allocate an output buffer for RowInfoArray or Blt.
@retval EFI_INVALID_PARAMETER The String or Blt.
@retval EFI_INVALID_PARAMETER Flags were invalid combination..
@retval EFI_INVALID_PARAMETER The String or Blt was NULL.
@retval EFI_INVALID_PARAMETER Flags were invalid combination.
**/
typedef
EFI_STATUS
@ -292,11 +290,11 @@ EFI_STATUS
specified by Height (unless EFI_HII_OUT_FLAG_CLIP_CLEAN_Y is
specified) even though those pixels were not drawn. If
EFI_HII_OUT_FLAG_CLIP_CLEAN_X is set, then it modifies the
behavior of EFI_HII_OUT_FLAG_CLIP so that if a character????s
behavior of EFI_HII_OUT_FLAG_CLIP so that if a character's
right-most on pixel cannot fit, then it will not be drawn at
all. This flag requires that EFI_HII_OUT_FLAG_CLIP be set. If
EFI_HII_OUT_FLAG_CLIP_CLEAN_Y is set, then it modifies the
behavior of EFI_HII_OUT_FLAG_CLIP so that if a row????s bottom
behavior of EFI_HII_OUT_FLAG_CLIP so that if a row's bottom
most pixel cannot fit, then it will not be drawn at all. This
flag requires that EFI_HII_OUT_FLAG_CLIP be set. Draft for
Review HII Protocols Version 2.1 November 3, 2006 1285 If
@ -324,7 +322,8 @@ EFI_STATUS
@param Flags Describes how the string is to be drawn.
@param PackageList The package list in the HII database to
@param PackageList
The package list in the HII database to
search for the specified string.
@param StringId The string's id, which is unique within
@ -389,8 +388,8 @@ EFI_STATUS
Width was NULL.
@retval EFI_INVALID_PARAMETER The Blt or PackageList was NULL.
@retval EFI_INVALID_PARAMETER Flags were invalid combination.
@retval EFI_NOT_FOUND The specified PackageList is not in the Database or the stringid is not
in the specified PackageList.
@retval EFI_NOT_FOUND The specified PackageList is not in the Database
or the stringid is not in the specified PackageList.
**/
typedef
@ -434,8 +433,7 @@ EFI_STATUS
@retval EFI_SUCCESS Glyph bitmap created.
@retval EFI_OUT_OF_RESOURCES Unable to allocate the output
buffer Blt.
@retval EFI_OUT_OF_RESOURCES Unable to allocate the output buffer Blt.
@retval EFI_WARN_UNKNOWN_GLYPH The glyph was unknown and was
replaced with the glyph for
@ -503,19 +501,16 @@ EFI_STATUS
);
/**
@par Protocol Description:
The protocol provides the service to retrieve the font informations.
The protocol provides the service to retrieve the font
informations;
@param StringToImage Render a string to a bitmap or to the display.
@param StringToImage Render a string to a bitmap or to the
display.
@param StringIdToImage Render a string to a bitmap or to the display.
@param StringIdToImage Render a string to a bitmap or to the
display.
@param GetGlyph Return a specific glyph in a specific font.
@param GetFontInfo Return font information for a specific
font.
@param GetFontInfo Return font information for a specific font.
**/
struct _EFI_HII_FONT_PROTOCOL {

View File

@ -58,9 +58,9 @@ typedef struct _EFI_IMAGE_INPUT {
owned by PackageList, and returns a new image identifier
(ImageId).
@param This A pointer to the EFI_HII_IMAGE_PROTOCOL
instance. PackageList Handle of the package list
where this image will be added.
@param This A pointer to the EFI_HII_IMAGE_PROTOCOL instance.
@param PackageList Handle of the package list where this image will be added.
@param ImageId On return, contains the new image id, which is
unique within PackageList.
@ -98,8 +98,7 @@ EFI_STATUS
updated to the size of buffer actually required to hold the
image.
@param This A pointer to the EFI_HII_IMAGE_PROTOCOL
instance.
@param This A pointer to the EFI_HII_IMAGE_PROTOCOL instance.
@param PackageList The package list in the HII database to
search for the specified image.
@ -110,9 +109,9 @@ EFI_STATUS
@param Image Points to the new image.
@retval EFI_SUCCESS The image was returned successfully.
The specified PackageList is not in the database.
@retval EFI_NOT_FOUND The image specified by ImageId is not
available.
available. Or The specified PackageList is not in the database.
@retval EFI_INVALID_PARAMETER The Image or Langugae was NULL.
@retval EFI_OUT_OF_RESOURCES The bitmap could not be retrieved because there was not
@ -135,24 +134,20 @@ EFI_STATUS
specified PackageListHandle to the image specified by Image.
@param This A pointer to the EFI_HII_IMAGE_PROTOCOL
instance.
@param This A pointer to the EFI_HII_IMAGE_PROTOCOL instance.
@param PackageList The package list containing the images.
@param ImageId The image id, which is unique within
PackageList.
@param ImageId The image id, which is unique within PackageList.
@param Image Points to the image.
@retval EFI_SUCCESS The image was successfully updated.
@retval EFI_NOT_FOUND The image specified by ImageId is not
in the database.
@retval EFI_NOT_FOUND The image specified by ImageId is not in the database.
The specified PackageList is not in the database.
@retval EFI_INVALID_PARAMETER The Image or Language was
NULL.
@retval EFI_INVALID_PARAMETER The Image or Language was NULL.
**/
typedef
@ -211,7 +206,7 @@ typedef struct _EFI_IMAGE_OUTPUT {
images can be clipped. If EFI_HII_DRAW_FLAG_CLIP is set, then
all pixels drawn outside the bounding box specified by Width and
Height are ignored. If EFI_HII_DRAW_FLAG_TRANSPARENT is set,
then all ????off???? pixels in the images drawn will use the
then all 'off' pixels in the images drawn will use the
pixel value from Blt. This flag cannot be used if Blt is NULL
upon entry. If EFI_HII_DIRECT_TO_SCREEN is set, then the image
will be written directly to the output device specified by
@ -219,8 +214,7 @@ typedef struct _EFI_IMAGE_OUTPUT {
specified by Bitmap.
@param This A pointer to the EFI_HII_IMAGE_PROTOCOL
instance.
@param This A pointer to the EFI_HII_IMAGE_PROTOCOL instance.
@param Flags Describes how the image is to be drawn.
EFI_HII_DRAW_FLAGS is defined in Related
@ -234,7 +228,7 @@ typedef struct _EFI_IMAGE_OUTPUT {
this image and EFI_HII_DRAW_FLAG_CLIP is implied.
If this points to a NULL on entry, then a buffer
will be allocated to hold the generated image and
the pointer updated on exit. It is the caller????s
the pointer updated on exit. It is the caller's
responsibility to free this buffer.
@param BltX, BltY Specifies the offset from the left and top
@ -284,28 +278,26 @@ EFI_STATUS
Height are ignored. The EFI_HII_DRAW_FLAG_TRANSPARENT flag
determines whether the image will be drawn transparent or
opaque. If EFI_HII_DRAW_FLAG_FORCE_TRANS is set, then the image
will be drawn so that all ????off???? pixels in the image will
will be drawn so that all 'off' pixels in the image will
be drawn using the pixel value from Blt and all other pixels
will be copied. If EFI_HII_DRAW_FLAG_FORCE_OPAQUE is set, then
the image????s pixels will be copied directly to the
the image's pixels will be copied directly to the
destination. If EFI_HII_DRAW_FLAG_DEFAULT is set, then the image
will be drawn transparently or opaque, depending on the
image????s transparency setting (see EFI_IMAGE_TRANSPARENT).
image's transparency setting (see EFI_IMAGE_TRANSPARENT).
Images cannot be drawn transparently if Blt is NULL. If
EFI_HII_DIRECT_TO_SCREEN is set, then the image will be written
directly to the output device specified by Screen. Otherwise the
image will be rendered to the bitmap specified by Bitmap.
@param This A pointer to the EFI_HII_IMAGE_PROTOCOL
instance.
@param This A pointer to the EFI_HII_IMAGE_PROTOCOL instance.
@param Flags Describes how the image is to be drawn.
@param PackageList The package list in the HII database to
search for the specified image.
@param ImageId The image's id, which is unique within
PackageList.
@param ImageId The image's id, which is unique within PackageList.
@param Blt If this points to a non-NULL on entry, this points
to the image, which is Width pixels wide and
@ -326,7 +318,8 @@ EFI_STATUS
buffer for RowInfoArray or Blt.
@retval EFI_NOT_FOUND The image specified by ImageId is not in the database.
The specified PackageList is not in the database.
Or The specified PackageList is not in the database.
@retval EFI_INVALID_PARAMETER The Blt was NULL.
**/
@ -344,19 +337,20 @@ IN UINTN BltY
/**
services to access to images in the images database.
@par Protocol Description:
Services to access to images in the images database.
@param NewImage Add a new image.
@param GetImage Retrieve an image and related font
information.
@param SetImage Change an image. EFI_INVALID_LANGUAGE The
language specified by FirstLanguage is not
present in the specified package list.
EFI_INVALID_PARAMETER FirstLanguage is NULL
or SecondLanguage is NULL.
@param SetImage Change an image.
@param DrawImage Renders an image to a bitmap or to the display.
@param DrawImageId Render an image to a bitmap or the screen containing
the contents of the specified image.
**/
struct _EFI_HII_IMAGE_PROTOCOL {

View File

@ -24,36 +24,34 @@
typedef struct _EFI_HII_STRING_PROTOCOL EFI_HII_STRING_PROTOCOL;
/**
This function adds the string String to the group of strings
owned by PackageList, with the specified font information
StringFontInfo and returns a new string id.
This function adds the string String to the group of strings owned by PackageList, with the
specified font information StringFontInfo and returns a new string id.
@param This A pointer to the EFI_HII_STRING_PROTOCOL instance.
@param PackageList Handle of the package list where this
string will be added.
@param PackageList Handle of the package list where this string will
be added.
@param StringId On return, contains the new strings id, which is
unique within PackageList.
@param Language Points to the language for the new string.
@param LanguageName Points to the printable language name to associate
with the passed in Language field.If LanguageName
is not NULL and the string package header's
LanguageName associated with a given Language is
not zero, the LanguageName being passed in will
be ignored.
@param String Points to the new null-terminated string.
@param StringFontInfo Points to the new string's font information or
NULL if the string should have the default system
font, size and style.
@param StringFontInfo Points to the new string's font
information or NULL if the string should
have the default system font, size and
style. StringId On return, contains the
new strings id, which is unique within
PackageList.
@retval EFI_SUCCESS The new string was added successfully
@retval EFI_OUT_OF_RESOURCES Could not add the string.
@retval EFI_INVALID_PARAMETER String is NULL or StringId is
NULL or Language is NULL.
@retval EFI_SUCCESS The new string was added successfully.
@retval EFI_NOT_FOUND The specified PackageList could not be found in
database.
@retval EFI_OUT_OF_RESOURCES Could not add the string due to lack of resources.
@retval EFI_INVALID_PARAMETER String is NULL or StringId is NULL or Language is NULL.
@retval EFI_INVALID_PARAMETER The specified StringFontInfo does not exist in
current database.
**/
typedef
@ -70,57 +68,34 @@ EFI_STATUS
/**
This function retrieves the string specified by StringId which
is associated with the specified PackageList in the language
Language and copies it into the buffer specified by String. If
the string specified by StringId is not present in the
specified PackageList, then EFI_NOT_FOUND is returned. If the
string specified by StringId is present, but not in the
specified language then EFI_INVALID_LANGUAGE is returned. If
the buffer specified by StringSize is too small to hold the
string, then EFI_BUFFER_TOO_SMALL will be returned. StringSize
will be updated to the size of buffer actually required to
hold the string.
This function retrieves the string specified by StringId which is associated
with the specified PackageList in the language Language and copies it into
the buffer specified by String.
@param This A pointer to the EFI_HII_STRING_PROTOCOL instance.
@param PackageList The package list in the HII database to
search for the specified string.
@param Language Points to the language for the retrieved
string.
@param Language Points to the language for the retrieved string.
@param PackageList The package list in the HII database to search for
the specified string.
@param StringId The string's id, which is unique within
PackageList.
@param String Points to the new null-terminated string.
@param StringSize On entry, points to the size of the buffer
pointed to by String, in bytes. On return,
points to the length of the string, in
bytes.
@param StringFontInfo Points to a buffer that will be callee allocated and will
have the string's font information into this buffer.
The caller is responsible for freeing this buffer.
If the parameter is NULL a buffer will not be allocated
and the string font information will not be returned.
@param StringSize On entry, points to the size of the buffer pointed
to by String, in bytes. On return, points to the
length of the string, in bytes.
@param StringFontInfo If not NULL, points to the string's font
information. It's caller's responsibility to free
this buffer.
@retval EFI_SUCCESS The string was returned successfully.
@retval EFI_NOT_FOUND The string specified by StringId is not
available. The specified PackageList is not in the database.
@retval EFI_INVALID_LANGUAGE The string specified by StringId
is available but not in the
specified language.
@retval EFI_BUFFER_TOO_SMALL The buffer specified by
StringLength is too small to
@retval EFI_NOT_FOUND The string specified by StringId is not available.
@retval EFI_NOT_FOUND The string specified by StringId is available but
not in the specified language.
The specified PackageList is not in the database.
@retval EFI_BUFFER_TOO_SMALL The buffer specified by StringSize is too small to
hold the string.
@retval EFI_INVALID_PARAMETER The String or Language was NULL.
@retval EFI_INVALID_PARAMETER The String or Language or StringSize was NULL.
@retval EFI_OUT_OF_RESOURCES There were insufficient resources to complete the
request.
**/
typedef
@ -136,36 +111,26 @@ EFI_STATUS
);
/**
This function updates the string specified by StringId in the
specified PackageList to the text specified by String and,
optionally, the font information specified by StringFontInfo.
There is no way to change the font information without changing
the string text.
This function updates the string specified by StringId in the specified PackageList to the text
specified by String and, optionally, the font information specified by StringFontInfo.
@param This A pointer to the EFI_HII_STRING_PROTOCOL instance.
@param PackageList The package list containing the strings.
@param Language Points to the language for the updated string.
@param StringId The string id, which is unique within
@param StringId The string's id, which is unique within
PackageList.
@param Language Points to the language for the updated string.
@param String Points to the new null-terminated string.
@param StringFontInfo Points to the string's font information or NULL if
the string font information is not changed.
@param StringFontInfo Points to the string's font information
or NULL if the string font information
is not changed.
@retval EFI_SUCCESS The string was successfully updated.
@retval EFI_NOT_FOUND The string specified by StringId is not
in the database. The specified PackageList is not in the database.
@retval EFI_SUCCESS The string was updated successfully.
@retval EFI_NOT_FOUND The string specified by StringId is not in the
database.
@retval EFI_INVALID_PARAMETER The String or Language was NULL.
@retval EFI_OUT_OF_RESOURCES The system is out of resources
to accomplish the task.
@retval EFI_INVALID_PARAMETER The specified StringFontInfo does not exist in
current database.
@retval EFI_OUT_OF_RESOURCES The system is out of resources to accomplish the
task.
**/
typedef
@ -181,33 +146,22 @@ EFI_STATUS
/**
This function returns the list of supported languages.
@param This A pointer to the EFI_HII_STRING_PROTOCOL instance.
@param PackageList The package list to examine.
@param Languages Points to the buffer to hold the returned
string.
@param LanguageSize On entry, points to the size of the
buffer pointed to by Languages, in
bytes. On return, points to the length
of Languages, in bytes.
@param Languages Points to the buffer to hold the returned string.
@param LanguagesSize On entry, points to the size of the buffer pointed
to by Languages, in bytes. On return, points to
the length of Languages, in bytes.
@retval EFI_SUCCESS The languages were returned successfully.
@retval EFI_BUFFER_TOO_SMALL The LanguagesSize is too small
to hold the list of supported
languages. LanguageSize is
updated to contain the required
size.
@retval EFI_INVALID_PARAMETER Languages or LanguagesSize is NULL.
@retval EFI_NOT_FOUND The specified PackageList is not in the database.
@retval EFI_INVALID_PARAMETER The Languages or LanguagesSize was NULL.
@retval EFI_BUFFER_TOO_SMALL The LanguagesSize is too small to hold the list of
supported languages. LanguageSize is updated to
contain the required size.
@retval EFI_NOT_FOUND Could not find string package in specified
packagelist.
**/
typedef
@ -221,50 +175,32 @@ EFI_STATUS
/**
Each string package has associated with it a single primary language and zero
or more secondary languages. This routine returns the secondary languages
associated with a package list.
Each string package has associated with it a single primary
language and zero or more secondary languages. This routine
returns the secondary languages associated with a package list.
@param This A pointer to the EFI_HII_STRING_PROTOCOL
instance.
@param This A pointer to the EFI_HII_STRING_PROTOCOL instance.
@param PackageList The package list to examine.
@param FirstLanguage Points to the primary language.
@param SecondaryLanguages Points to the buffer to hold the returned list of
secondary languages for the specified
FirstLanguage. If there are no secondary
languages, the function returns successfully, but
this is set to NULL.
@param SecondaryLanguagesSize On entry, points to the size of the buffer pointed
to by SecondaryLanguages, in bytes. On return,
points to the length of SecondaryLanguages in bytes.
@param Languages are specified in the format specified in
Appendix M of the UEFI 2.0 specification.
@param SecondaryLanguages Points to the buffer to hold the
returned list of secondary languages
for the specified FirstLanguage. If
there are no secondary languages,
the function returns successfully,
but this is set to NULL.
@param SecondaryLanguageSize On entry, points to the size of
the buffer pointed to by
Languages, in bytes. On return,
points to the length of
Languages in bytes.
@retval EFI_SUCCESS Secondary languages correctly returned
@retval EFI_BUFFER_TOO_SMALL The buffer specified by
SecondLanguagesSize is too small
to hold the returned
information. SecondLanguageSize
is updated to hold the size of
@retval EFI_SUCCESS Secondary languages were correctly returned.
@retval EFI_INVALID_PARAMETER FirstLanguage or SecondaryLanguages or
SecondaryLanguagesSize was NULL.
@retval EFI_BUFFER_TOO_SMALL The buffer specified by SecondaryLanguagesSize is
too small to hold the returned information.
SecondLanguageSize is updated to hold the size of
the buffer required.
@retval EFI_INVALID_LANGUAGE The language specified by
FirstLanguage is not present in
the specified package list.
@retval EFI_INVALID_PARAMETER FirstLanguage is NULL or
SecondLanguage is NULL.
@retval EFI_NOT_FOUND The specified PackageList is not in the database.
@retval EFI_INVALID_LANGUAGE The language specified by FirstLanguage is not
present in the specified package list.
@retval EFI_NOT_FOUND The specified PackageList is not in the Database.
**/
typedef
@ -279,6 +215,7 @@ EFI_STATUS
/**
@par Protocol Description:
Services to manipulate the string.
@param NewString Add a new string. GetString Retrieve a

View File

@ -2,7 +2,7 @@
EFI_ISCSI_INITIATOR_NAME_PROTOCOL as defined in UEFI 2.0.
It rovides the ability to get and set the iSCSI Initiator Name.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -73,6 +73,15 @@ typedef EFI_STATUS
)
;
/**
@par Protocol Description:
iSCSI Initiator Name Protocol for setting and obtaining the iSCSI Initiator Name.
@param Get Used to retrieve the iSCSI Initiator Name.
@param Set Used to set the iSCSI Initiator Name.
**/
struct _EFI_ISCSI_INITIATOR_NAME_PROTOCOL {
EFI_ISCSI_INITIATOR_NAME_GET Get;
EFI_ISCSI_INITIATOR_NAME_SET Set;

View File

@ -11,7 +11,7 @@
may include support for the Internet Group Management
Protocol (IGMP).
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -163,7 +163,7 @@ typedef struct {
@param This Pointer to the EFI_IP4_PROTOCOL instance.
@param Ip4ModeData Pointer to the EFI IPv4 Protocol mode data structure.
@param MnpConfigData Pointer to the managed network configuration data structure.
@param SnpData Pointer to the simple network mode data structure.
@param SnpModeData Pointer to the simple network mode data structure.
@retval EFI_SUCCESS The operation completed successfully.
@retval EFI_INVALID_PARAMETER This is NULL.
@ -402,6 +402,35 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
The EFI IPv4 Protocol implements a simple packet-oriented interface that can be
used by drivers, daemons, and applications to transmit and receive network packets.
@param GetModeData
Gets the current operational settings for this instance of the EFI IPv4 Protocol driver.
@param Configure
Changes or resets the operational settings for the EFI IPv4 Protocol.
@param Groups
Joins and leaves multicast groups.
@param Routes
Adds and deletes routing table entries.
@param Transmit
Places outgoing data packets into the transmit queue.
@param Receive
Places a receiving request into the receiving queue.
@param Cancel
Aborts a pending transmit or receive request.
@param Poll
Polls for incoming data packets and processes outgoing data packets.
**/
struct _EFI_IP4_PROTOCOL {
EFI_IP4_GET_MODE_DATA GetModeData;
EFI_IP4_CONFIGURE Configure;

View File

@ -3,7 +3,7 @@
This file provides a definition of the EFI IPv4 Configuration
Protocol.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -113,6 +113,21 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
The EFI_IP4_CONFIG_PROTOCOL driver performs platform- and policy-dependent
configuration for the EFI IPv4 Protocol driver.
@param Start
Starts running the configuration policy for the EFI IPv4 Protocol driver.
@param Stop
Stops running the configuration policy for the EFI IPv4 Protocol driver.
@param GetData
Returns the default configuration data (if any) for the EFI IPv4 Protocol driver.
**/
struct _EFI_IP4_CONFIG_PROTOCOL {
EFI_IP4_CONFIG_START Start;
EFI_IP4_CONFIG_STOP Stop;

View File

@ -7,7 +7,7 @@
UEFI 2.0 can boot from any device that produces a LoadFile protocol.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -77,6 +77,14 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
The EFI_LOAD_FILE_PROTOCOL is a simple protocol used to obtain files from arbitrary devices.
@param LoadFile
Causes the driver to load the requested file.
**/
struct _EFI_LOAD_FILE_PROTOCOL {
EFI_LOAD_FILE LoadFile;
};

View File

@ -4,7 +4,7 @@
Every EFI driver and application is passed an image handle when it is loaded.
This image handle will contain a Loaded Image Protocol.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -45,7 +45,53 @@
//
#define EFI_LOADED_IMAGE_INFORMATION_REVISION EFI_LOADED_IMAGE_PROTOCOL_REVISION
/**
@par Protocol Description:
Can be used on any image handle to obtain information about the loaded image.
@param Revision
Defines the revision of the EFI_LOADED_IMAGE_PROTOCOL structure.
All future revisions will be backward compatible to the current revision.
@param ParentHandle
Parent image's image handle. NULL if the image is loaded directly from
the firmware's boot manager.
@param SystemTable
The image's EFI system table pointer.
@param DeviceHandle
The device handle that the EFI Image was loaded from.
@param FilePath
A pointer to the file path portion specific to DeviceHandle
that the EFI Image was loaded from.
@param Reserved
Reserved. DO NOT USE.
@param LoadOptionsSize
The size in bytes of LoadOptions.
@param LoadOptions
A pointer to the image's binary load options.
@param ImageBase
The base address at which the image was loaded.
@param ImageSize
The size in bytes of the loaded image.
@param ImageCodeType
The memory
@param ImageDataType
The memory
@param Unload
Function that unloads the image.
**/
typedef struct {
UINT32 Revision;
EFI_HANDLE ParentHandle;

View File

@ -297,6 +297,39 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
The MNP is used by network applications (and drivers) to
perform raw (unformatted) asynchronous network packet I/O.
@param GetModeData
Returns the current MNP child driver operational parameters.
May also support returning underlying Simple Network Protocol (SNP) driver mode data.
@param Configure
Sets and clears operational parameters for an MNP child driver.
@param McastIpToMac
Translates a software (IP) multicast address to a hardware (MAC) multicast address.
This function may be unsupported in some MNP implementations.
@param Groups
Enables and disables receive filters for multicast addresses.
This function may be unsupported in some MNP implementations.
@param Transmit
Places asynchronous outgoing data packets into the transmit queue.
@param Receive
Places an asynchronous receiving request into the receiving queue.
@param Cancel
Aborts a pending transmit or receive request.
@param Poll
Polls for incoming data packets and processes outgoing data packets.
**/
struct _EFI_MANAGED_NETWORK_PROTOCOL {
EFI_MANAGED_NETWORK_GET_MODE_DATA GetModeData;
EFI_MANAGED_NETWORK_CONFIGURE Configure;

View File

@ -1,9 +1,9 @@
/** @file
Metronome Architectural Protocol as defined in DXE CIS
Metronome Architectural Protocol as defined in PI SPEC VOLUME 2 DXE
This code abstracts the DXE core to provide delay services.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -12,9 +12,6 @@
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@par Revision Reference:
Version 0.91B.
**/
#ifndef __ARCH_PROTOCOL_METRONOME_H__

View File

@ -1,9 +1,9 @@
/** @file
Monotonic Counter Architectural Protocol as defined in DXE CIS
Monotonic Counter Architectural Protocol as defined in PI SPEC VOLUME 2 DXE
This code provides the services required to access the systems monotonic counter
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -12,9 +12,6 @@
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@par Revision Reference:
Version 0.91B.
**/
#ifndef __ARCH_PROTOCOL_MONTONIC_COUNTER_H__

View File

@ -1,7 +1,7 @@
/** @file
EFI Multicast Trivial File Tranfer Protocol Definition
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -471,7 +471,43 @@ EFI_STATUS
)
;
/**
The EFI MTFTPv4 Protocol provides basic services for client-side unicast
and/or multicast TFTP operations.
@par Protocol Description:
The EFI_MTFTP4_PROTOCOL is designed to be used by UEFI drivers and applications
to transmit and receive data files. The EFI MTFTPv4 Protocol driver uses
the underlying EFI UDPv4 Protocol driver and EFI IPv4 Protocol driver.
@param GetModeData
Reads the current operational settings.
@param Configure
Initializes, changes, or resets the operational settings for
this instance of the EFI MTFTPv4 Protocol driver.
@param GetInfo
Retrieves information about a file from an MTFTPv4 server.
@param ParseOptions
Parses the options in an MTFTPv4 OACK (options acknowledgement) packet.
@param ReadFile
Downloads a file from an MTFTPv4 server.
@param WriteFile
Uploads a file to an MTFTPv4 server. This function may be unsupported
in some EFI implementations.
@param ReadDirectory
Downloads a related file directory from an MTFTPv4 server. This function
may be unsupported in some EFI implementations.
@param Poll
Polls for incoming data packets and processes outgoing data packets.
**/
struct _EFI_MTFTP4_PROTOCOL {
EFI_MTFTP4_GET_MODE_DATA GetModeData;
EFI_MTFTP4_CONFIGURE Configure;

View File

@ -1,7 +1,7 @@
/** @file
EFI Network Interface Identifier Protocol
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -43,6 +43,48 @@ typedef enum {
EfiNetworkInterfaceUndi = 1
} EFI_NETWORK_PROTOCOL_TYPE;
/**
@par Protocol Description:
An optional protocol that is used to describe details about the software
layer that is used to produce the Simple Network Protocol.
@param Revision
The revision of the EFI_NETWORK_INTERFACE_IDENTIFIER protocol.
@param Id
Address of the first byte of the identifying structure for this network
interface. This is only valid when the network interface is started
(see Start()). When the network interface is not started, this field is set to zero.
@param ImageAddr
Address of the unrelocated network interface image.
@param ImageSize
Size of unrelocated network interface image.
@param StringId
A four-character ASCII string that is sent in the class identifier field of
option 60 in DHCP. For a Type of EfiNetworkInterfaceUndi, this field is UNDI.
@param Type
Network interface type. This will be set to one of the values
in EFI_NETWORK_INTERFACE_TYPE.
@param MajorVer
Major version number.
@param MinorVer
Minor version number.
@param Ipv6Supported
TRUE if the network interface supports IPv6; otherwise FALSE.
@param IfNum
The network interface number that is being identified by this Network
Interface Identifier Protocol. This field must be less than or equal
to the IFcnt field in the !PXE structure.
**/
struct _EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL {
UINT64 Revision;

View File

@ -1,7 +1,7 @@
/** @file
Platform Configuration Database (PCD) Protocol
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -764,7 +764,8 @@ EFI_STATUS
Retrieves the next valid PCD token for a given namespace.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in,out] TokenNumber A pointer to the PCD token number to use to find the subsequent token number.
@param[in,out] TokenNumber
A pointer to the PCD token number to use to find the subsequent token number.
If the input token namespace or token number does not exist on the platform,
an error is returned and the value of *TokenNumber is undefined. To retrieve the "first" token,
have the pointer reference a TokenNumber value of 0. If the input token number is 0 and
@ -814,11 +815,107 @@ EFI_STATUS
IN OUT CONST EFI_GUID **Guid
);
//
// Interface structure for the PCD Protocol
//
/**
@par Protocol Description:
This service abstracts the ability to set/get Platform Configuration Database (PCD).
@param SetSku
Sets the SKU value for subsequent calls to set or get PCD token values.
@param Get8
Retrieves an 8-bit value for a given PCD token.
@param Get16
Retrieves an 16-bit value for a given PCD token.
@param Get32
Retrieves an 32-bit value for a given PCD token.
@param Get64
Retrieves an 64-bit value for a given PCD token.
@param GetPtr
Retrieves a pointer to a value for a given PCD token.
@param GetBool
Retrieves an Boolean value for a given PCD token.
@param GetSize
Retrieves the size of the value for a given PCD token.
@param Get8Ex
Retrieves an 8-bit value for a given PCD token and token space.
@param Get16Ex
Retrieves an 16-bit value for a given PCD token and token space.
@param Get32Ex
Retrieves an 32-bit value for a given PCD token and token space.
@param Get64Ex
Retrieves an 64-bit value for a given PCD token and token space.
@param GetPtrEx
Retrieves a pointer to a value for a given PCD token and token space.
@param GetBoolEx
Retrieves an Boolean value for a given PCD token and token space.
@param GetSizeEx
Retrieves the size of the value for a given PCD token and token space.
@param Set8
Sets an 8-bit value for a given PCD token.
@param Set16
Sets an 16-bit value for a given PCD token.
@param Set32
Sets an 32-bit value for a given PCD token.
@param Set64
Sets an 64-bit value for a given PCD token.
@param SetPtr
Sets the buffer of a specified size for a given PCD token.
@param SetBool
Sets an Boolean value for a given PCD token.
@param Set8Ex
Sets an 8-bit value for a given PCD token and token space.
@param Set16Ex
Sets an 16-bit value for a given PCD token and token space.
@param Set32Ex
Sets an 32-bit value for a given PCD token and token space.
@param Set64Ex
Sets an 64-bit value for a given PCD token and token space.
@param SetPtrEx
Sets the buffer of a specified size for a given PCD token and token space.
@param SetBoolEx
Sets an Boolean value for a given PCD token and token space.
@param CallbackOnSet
Specifies a function to be called anytime the value of a designated token is changed.
@param CancelCallback
Cancels a previously set callback function for a particular PCD token number.
@param GetNextToken
Retrieves the next valid PCD token for a given namespace.
@param GetNextTokenSpace
Retrieves the next valid PCD token namespace for a given namespace.
**/
typedef struct {
PCD_PROTOCOL_SET_SKU SetSku;

View File

@ -1,7 +1,8 @@
/** @file
EFI PCI I/O Protocol
EFI PCI I/O Protocol provides the basic Memory, I/O, PCI configuration,
and DMA interfaces that a driver uses to access its PCI controller.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -473,9 +474,84 @@ EFI_STATUS
IN OUT UINT64 *Length
);
//
// Interface structure for the PCI I/O Protocol
//
/**
@par Protocol Description:
The EFI_PCI_IO_PROTOCOL provides the basic Memory, I/O, PCI configuration,
and DMA interfaces that are used to abstract accesses to PCI controllers.
There is one EFI_PCI_IO_PROTOCOL instance for each PCI controller on a PCI bus.
A device driver that wishes to manage a PCI controller in a system will have to
retrieve the EFI_PCI_IO_PROTOCOL instance that is associated with the PCI controller.
@param PollMem
Polls an address in PCI memory space until an exit condition is met, or a timeout occurs.
@param PollIo
Polls an address in PCI I/O space until an exit condition is met, or a timeout occurs.
@param Mem.Read
Allows BAR relative reads to PCI memory space.
@param Mem.Write
Allows BAR relative writes to PCI memory space.
@param Io.Read
Allows BAR relative reads to PCI I/O space.
@param Io.Write
Allows BAR relative writes to PCI I/O space.
@param Pci.Read
Allows PCI controller relative reads to PCI configuration space.
@param Pci.Write
Allows PCI controller relative writes to PCI configuration space.
@param CopyMem
Allows one region of PCI memory space to be copied to another region of PCI memory space.
@param Map
Provides the PCI controller's specific address needed to access system memory for DMA.
@param Unmap
Releases any resources allocated by Map().
@param AllocateBuffer
Allocates pages that are suitable for a common buffer mapping.
@param FreeBuffer
Frees pages that were allocated with AllocateBuffer().
@param Flush
Flushes all PCI posted write transactions to system memory.
@param GetLocation
Retrieves this PCI controller's current PCI bus number, device number, and function number.
@param Attributes
Performs an operation on the attributes that this PCI controller supports.
The operations include getting the set of supported attributes, retrieving
the current attributes, setting the current
attributes, enabling attributes, and disabling attributes.
@param GetBarAttributes
Gets the attributes that this PCI controller supports setting on a BAR using
SetBarAttributes(), and retrieves the list of resource descriptors for a BAR.
@param SetBarAttributes
Sets the attributes for a range of a BAR on a PCI controller.
@param RomSize
The size, in bytes, of the ROM image.
@param RomImage
A pointer to the in memory copy of the ROM image. The PCI Bus Driver is responsible
for allocating memory for the ROM image, and copying the contents of the ROM to memory.
The contents of this buffer are either from the PCI option ROM that can be accessed
through the ROM BAR of the PCI controller, or it is from a platform-specific location.
The Attributes() function can be used to determine from which of these two sources
the RomImage buffer was initialized.
**/
struct _EFI_PCI_IO_PROTOCOL {
EFI_PCI_IO_PROTOCOL_POLL_IO_MEM PollMem;
EFI_PCI_IO_PROTOCOL_POLL_IO_MEM PollIo;

View File

@ -5,7 +5,7 @@
and PCI Configuration cycles on a PCI Root Bridge. It also provides services to perform
defferent types of bus mastering DMA
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -360,6 +360,72 @@ EFI_STATUS
OUT VOID **Resources
);
/**
@par Protocol Description:
Provides the basic Memory, I/O, PCI configuration, and DMA interfaces that are
used to abstract accesses to PCI controllers behind a PCI Root Bridge Controller.
@param ParentHandle
The EFI_HANDLE of the PCI Host Bridge of which this PCI Root Bridge is a member.
@param PollMem
Polls an address in memory mapped I/O space until an exit condition is met,
or a timeout occurs.
@param PollIo
Polls an address in I/O space until an exit condition is met, or a timeout occurs.
@param Mem.Read
Allows reads from memory mapped I/O space.
@param Mem.Write
Allows writes to memory mapped I/O space.
@param Io.Read
Allows reads from I/O space.
@param Io.Write
Allows writes to I/O space.
@param Pci.Read
Allows reads from PCI configuration space.
@param Pci.Write
Allows writes to PCI configuration space.
@param CopyMem
Allows one region of PCI root bridge memory space to be copied to another
region of PCI root bridge memory space.
@param Map
Provides the PCI controller's specific addresses needed to access system memory for DMA.
@param Unmap
Releases any resources allocated by Map().
@param AllocateBuffer
Allocates pages that are suitable for a common buffer mapping.
@param FreeBuffer
Free pages that were allocated with AllocateBuffer().
@param Flush
Flushes all PCI posted write transactions to system memory.
@param GetAttributes
Gets the attributes that a PCI root bridge supports setting with SetAttributes(),
and the attributes that a PCI root bridge is currently using.
@param SetAttributes
Sets attributes for a resource range on a PCI root bridge.
@param Configuration
Gets the current resource settings for this PCI root bridge.
@param SegmentNumber
The segment number that this PCI root bridge resides.
**/
struct _EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL {
EFI_HANDLE ParentHandle;
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_POLL_IO_MEM PollMem;

View File

@ -1,7 +1,7 @@
/** @file
Platform Driver Override protocol as defined in the UEFI 2.1 specification.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -122,6 +122,30 @@ EFI_STATUS
//
// Interface structure for the Platform Driver Override Protocol
//
/**
@par Protocol Description:
This protocol matches one or more drivers to a controller. A platform driver
produces this protocol, and it is installed on a separate handle. This protocol
is used by the ConnectController() boot service to select the best driver
for a controller. All of the drivers returned by this protocol have a higher
precedence than drivers found from an EFI Bus Specific Driver Override Protocol
or drivers found from the general UEFI driver Binding search algorithm. If more
than one driver is returned by this protocol, then the drivers are returned in
order from highest precedence to lowest precedence.
@param GetDriver
Retrieves the image handle of a platform override driver for a controller in the system.
@param GetDriverPath
Retrieves the device path of a platform override driver for a controller in the system.
@param DriverLoaded
This function is used after a driver has been loaded using a device path returned
by GetDriverPath(). This function associates a device path to an image handle,
so the image handle can be returned the next time that GetDriver() is called for
the same controller.
**/
struct _EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL {
EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER GetDriver;
EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER_PATH GetDriverPath;

View File

@ -2,7 +2,7 @@
The file provides the protocol to retrieve configuration
information for a device that a UEFI driver is about to start.
Copyright (c) 2006 - 2007, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -48,9 +48,7 @@ typedef struct _EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL EFI_PLATFORM_TO_DR
ParameterBlock has been processed via a Query and corresponding
Response call it must not be returned again via a Query call.
@param This A pointer to the
EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOC OL
instance.
@param This A pointer to the EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL instance.
@param ControllerHandle The handle the platform will return
configuration information about.
@ -205,9 +203,7 @@ typedef enum {
ParameterTypeGuid. The platform is responsible for freeing
ParameterBlock and the UEFI driver must not try to free it
@param This A pointer to the
EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOC OL
instance.
@param This A pointer to the EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL instance.
@param ControllerHandle The handle the driver is returning
configuration information about.
@ -223,13 +219,11 @@ typedef enum {
Instance Instance data returned from
Query().
@param ParameterTypeGuid ParameterTypeGuid returned from
Query.
@param ParameterTypeGuid ParameterTypeGuid returned from Query.
@param ParameterBlock ParameterBlock returned from Query.
@param ParameterBlockSize The ParameterBlock size returned
from Query.
@param ParameterBlockSize The ParameterBlock size returned from Query.
@param Configuration ActionThe driver tells the platform what
action is required for ParameterBlock to
@ -241,8 +235,7 @@ typedef enum {
@retval EFI_NOT_FOUND Instance was not found.
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid
EFI_HANDLE.
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
@retval EFI_INVALID_PARAMETER Instance is zero.
@ -262,6 +255,7 @@ EFI_STATUS
/**
@par Protocol Description:
The EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL is used by the
UEFI driver to query the platform for configuration information.
The UEFI driver calls Query() multiple times to get
@ -321,8 +315,7 @@ struct _EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL {
is allocated by the producer of the
EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOOL.
@param CLPCommandLength The length of the CLP Command in
bytes.
@param CLPCommandLength The length of the CLP Command in bytes.
@param CLPReturnString A pointer to the CLP return status
string that the driver is required to

View File

@ -1,7 +1,8 @@
/** @file
EFI PXE Base Code Protocol definitions.
EFI PXE Base Code Protocol definitions, which is used to access PXE-compatible
devices for network access and network booting.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -607,6 +608,63 @@ EFI_STATUS
//
#define EFI_PXE_BASE_CODE_INTERFACE_REVISION EFI_PXE_BASE_CODE_PROTOCOL_REVISION
/**
@par Protocol Description:
The EFI_PXE_BASE_CODE_PROTOCOL is used to control PXE-compatible devices.
An EFI_PXE_BASE_CODE_PROTOCOL will be layered on top of an
EFI_MANAGED_NETWORK_PROTOCOL protocol in order to perform packet level transactions.
The EFI_PXE_BASE_CODE_PROTOCOL handle also supports the
EFI_LOAD_FILE_PROTOCOL protocol. This provides a clean way to obtain control from the
boot manager if the boot path is from the remote device.
@param Revision
The revision of the EFI_PXE_BASE_CODE_PROTOCOL. All future revisions must
be backwards compatible. If a future version is not backwards compatible
it is not the same GUID.
@param Start
Starts the PXE Base Code Protocol. Mode structure information is not valid and
no other Base Code Protocol functions will operate until the Base Code is started.
@param Stop
Stops the PXE Base Code Protocol. Mode structure information is unchanged by this function.
No Base Code Protocol functions will operate until the Base Code is restarted.
@param Dhcp
Attempts to complete a DHCPv4 D.O.R.A. (discover / offer / request / acknowledge)
or DHCPv6 S.A.R.R (solicit / advertise / request / reply) sequence.
@param Discover
Attempts to complete the PXE Boot Server and/or boot image discovery sequence.
@param Mtftp
Performs TFTP and MTFTP services.
@param UdpWrite
Writes a UDP packet to the network interface.
@param UdpRead
Reads a UDP packet from the network interface.
@param SetIpFilter
Updates the IP receive filters of the network device.
@param Arp
Uses the ARP protocol to resolve a MAC address.
@param SetParameters
Updates the parameters that affect the operation of the PXE Base Code Protocol.
@param SetStationIp
Updates the station IP address and subnet mask values.
@param SetPackets
Updates the contents of the cached DHCP and Discover packets.
@param Mode
Pointer to the EFI_PXE_BASE_CODE_MODE data for this device.
**/
struct _EFI_PXE_BASE_CODE_PROTOCOL {
UINT64 Revision;
EFI_PXE_BASE_CODE_START Start;

View File

@ -1,7 +1,9 @@
/** @file
EFI PXE Base Code CallBack Protocol
EFI PXE Base Code CallBack Protocol is as defined in UEFI specification.
It is invoked when the PXE Base Code Protocol is about to transmit, has received,
or is waiting to receive a packet.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -86,6 +88,21 @@ EFI_PXE_BASE_CODE_CALLBACK_STATUS
IN EFI_PXE_BASE_CODE_PACKET *Packet OPTIONAL
);
/**
@par Protocol Description:
Protocol that is invoked when the PXE Base Code Protocol is about
to transmit, has received, or is waiting to receive a packet.
@param Revision
The revision of the EFI_PXE_BASE_CODE_PROTOCOL. All future revisions must
be backwards compatible. If a future version is not backwards compatible
it is not the same GUID.
@param Callback
Callback routine used by the PXE Base Code Dhcp(), Discover(), Mtftp(),
UdpWrite(), and Arp() functions.
**/
struct _EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL {
UINT64 Revision;
EFI_PXE_CALLBACK Callback;

View File

@ -1,5 +1,5 @@
/** @file
Real Time clock Architectural Protocol as defined in DXE CIS
Real Time clock Architectural Protocol as defined in PI Specification VOLUME 2 DXE
This code abstracts time and data functions. Used to provide
Time and date related EFI runtime services.
@ -11,7 +11,7 @@
No CRC of the EFI system table is required, as it is done in the DXE core.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -20,9 +20,6 @@
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@par Revision Reference:
Version 0.91B.
**/
#ifndef __ARCH_PROTOCOL_REAL_TIME_CLOCK_H__

View File

@ -1,5 +1,5 @@
/** @file
Reset Architectural Protocol as defined in the DXE CIS
Reset Architectural Protocol as defined in PI Specification VOLUME 2 DXE
Used to provide ResetSystem runtime services
@ -8,7 +8,7 @@
No CRC of the EFI system table is required, as it is done in the DXE core.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -17,9 +17,6 @@
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@par Revision Reference:
Version 0.91B.
**/
#ifndef __ARCH_PROTOCOL_RESET_H__

View File

@ -1,5 +1,5 @@
/** @file
Runtime Architectural Protocol as defined in DXE CIS
Runtime Architectural Protocol as defined in PI Specification VOLUME 2 DXE
This code is used to produce the UEFI 2.0 runtime virtual switch over
@ -13,7 +13,7 @@
by this driver to produce the runtime transition to virtual mode
calling.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -22,9 +22,6 @@
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@par Revision Reference:
Version 0.91.
**/
#ifndef __ARCH_PROTOCOL_RUNTIME_H__

View File

@ -1,7 +1,10 @@
/** @file
EFI_SCSI_IO_PROTOCOL as defined in UEFI 2.0.
This protocol is used by code, typically drivers, running in the EFI boot
services environment to access SCSI devices. In particular, functions for
managing devices on SCSI buses are defined here.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -217,6 +220,34 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
Provides services to manage and communicate with SCSI devices.
@param GetDeviceType
Retrieves the information of the device type which the SCSI device belongs to.
@param GetDeviceLocation
Retrieves the device location information in the SCSI bus.
@param ResetBus
Resets the entire SCSI bus the SCSI device attaches to.
@param ResetDevice
Resets the SCSI Device that is specified by the device handle the SCSI I/O
protocol attaches.
@param ExecuteScsiCommand
Sends a SCSI command to the SCSI device and waits for the execution completion
until an exit condition is met, or a timeout occurs.
@param IoAlign
Supplies the alignment requirement for any buffer used in a data transfer.
IoAlign values of 0 and 1 mean that the buffer can be placed anywhere in memory.
Otherwise, IoAlign must be a power of 2, and the requirement is that the
start address of a buffer must be evenly divisible by IoAlign with no remainder.
**/
struct _EFI_SCSI_IO_PROTOCOL {
EFI_SCSI_IO_PROTOCOL_GET_DEVICE_TYPE GetDeviceType;
EFI_SCSI_IO_PROTOCOL_GET_DEVICE_LOCATION GetDeviceLocation;

View File

@ -1,7 +1,14 @@
/** @file
SCSI Pass Through protocol.
SCSI Pass Through protocol as defined in EFI 1.1.
This protocol allows information about a SCSI channel to be collected,
and allows SCSI Request Packets to be sent to any SCSI devices on a SCSI
channel even if those devices are not boot devices. This protocol is attached
to the device handle of each SCSI channel in a system that the protocol
supports, and can be used for diagnostics. It may also be used to build
a Block I/O driver for SCSI hard drives and SCSI CD-ROM or DVD drives to
allow those devices to become boot devices.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -295,6 +302,37 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
The EFI_SCSI_PASS_THRU_PROTOCOL provides information about a SCSI channel and
the ability to send SCI Request Packets to any SCSI device attached to that SCSI channel. The
information includes the Target ID of the host controller on the SCSI channel, the attributes of
the SCSI channel, the printable name for the SCSI controller, and the printable name of the
SCSI channel.
@param Mode
A pointer to the EFI_SCSI_PASS_THRU_MODE data for this SCSI channel.
@param PassThru
Sends a SCSI Request Packet to a SCSI device that is connected to the SCSI channel.
@param GetNextDevice
Used to retrieve the list of legal Target IDs and LUNs for the
SCSI devices on a SCSI channel.
@param BuildDevicePath
Used to allocate and build a device path node for a SCSI device on a SCSI channel.
@param GetTargetLun
Used to translate a device path node to a Target ID and LUN.
@param ResetChannel
Resets the SCSI channel. This operation resets all the SCSI
devices connected to the SCSI channel.
@param ResetTarget
Resets a SCSI device that is connected to the SCSI channel.
**/
struct _EFI_SCSI_PASS_THRU_PROTOCOL {
EFI_SCSI_PASS_THRU_MODE *Mode;
EFI_SCSI_PASS_THRU_PASSTHRU PassThru;

View File

@ -1,7 +1,9 @@
/** @file
EFI_EXT_SCSI_PASS_THRU_PROTOCOL as defined in UEFI 2.0.
This protocol provides services that allow SCSI Pass Thru commands
to be sent to SCSI devices attached to a SCSI channel.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -313,6 +315,37 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
The EFI_EXT_SCSI_PASS_THRU_PROTOCOL provides information about a SCSI channel
and the ability to send SCI Request Packets to any SCSI device attached to
that SCSI channel. The information includes the Target ID of the host controller
on the SCSI channel and the attributes of the SCSI channel.
@param Mode
A pointer to the EFI_EXT_SCSI_PASS_THRU_MODE data for this SCSI channel.
@param PassThru
Sends a SCSI Request Packet to a SCSI device that is Connected to the SCSI channel.
@param GetNextTargetLun
Retrieves the list of legal Target IDs and LUNs for the SCSI devices on a SCSI channel.
@param BuildDevicePath
Allocates and builds a device path node for a SCSI Device on a SCSI channel.
@param GetTargetLun
Translates a device path node to a Target ID and LUN.
@param ResetChannel
Resets the SCSI channel. This operation resets all the SCSI devices connected to the SCSI channel.
@param ResetTargetLun
Resets a SCSI device that is connected to the SCSI channel.
@param GetNextTartget
Retrieves the list of legal Target IDs for the SCSI devices on a SCSI channel.
**/
struct _EFI_EXT_SCSI_PASS_THRU_PROTOCOL {
EFI_EXT_SCSI_PASS_THRU_MODE *Mode;
EFI_EXT_SCSI_PASS_THRU_PASSTHRU PassThru;

View File

@ -1,5 +1,5 @@
/** @file
Security Architectural Protocol as defined in the DXE CIS
Security Architectural Protocol as defined in PI Specification VOLUME 2 DXE
Used to provide Security services. Specifically, dependening upon the
authentication state of a discovered driver in a Firmware Volume, the
@ -14,7 +14,7 @@
in the Schedule-On-Request (SOR) state. This will allow for later disposition
of the driver by platform agent, such as Platform BDS.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -23,9 +23,6 @@
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@par Revision Reference:
Version 0.91B.
**/
#ifndef __ARCH_PROTOCOL_SECURITY_H__
@ -117,9 +114,8 @@ EFI_STATUS
Specification for details on the GUIDed Section Extraction Protocol and
Authentication Sections.
@par Protocol Parameters:
FileAuthenticationState - This service is called upon fault with respect to
@param FileAuthenticationState
This service is called upon fault with respect to
the authentication of a section of a file.
**/

View File

@ -1,7 +1,7 @@
/** @file
Security Policy protocol as defined in the DXE CIS
Security Policy protocol as defined in PI Specification VOLUME 2 DXE
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -10,9 +10,6 @@
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@par Revision Reference:
Version 0.91B.
**/
#ifndef _SECURITY_POLICY_H_

View File

@ -4,7 +4,7 @@
Abstraction of a basic serial device. Targeted at 16550 UART, but
could be much more generic.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -221,22 +221,36 @@ EFI_STATUS
;
/**
@par Data Structure Description:
The data values in SERIAL_IO_MODE are read-only and are updated by the code
that produces the SERIAL_IO_PROTOCOL member functions.
ControlMask - A mask fo the Control bits that the device supports. The device
@param ControlMask
A mask fo the Control bits that the device supports. The device
must always support the Input Buffer Empty control bit.
TimeOut - If applicable, the number of microseconds to wait before timing out
@param TimeOut
If applicable, the number of microseconds to wait before timing out
a Read or Write operation.
BaudRate - If applicable, the current baud rate setting of the device; otherwise,
@param BaudRate
If applicable, the current baud rate setting of the device; otherwise,
baud rate has the value of zero to indicate that device runs at the
device's designed speed.
ReceiveFifoDepth - The number of characters the device will buffer on input
DataBits - The number of characters the device will buffer on input
Parity - If applicable, this is the EFI_PARITY_TYPE that is computed or
@param ReceiveFifoDepth
The number of characters the device will buffer on input
@param DataBits
The number of characters the device will buffer on input
@param Parity
If applicable, this is the EFI_PARITY_TYPE that is computed or
checked as each character is transmitted or reveived. If the device
does not support parity the value is the default parity value.
StopBits - If applicable, the EFI_STOP_BITS_TYPE number of stop bits per
@param StopBits
If applicable, the EFI_STOP_BITS_TYPE number of stop bits per
character. If the device does not support stop bits the value is
the default stop bit values.
@ -258,6 +272,43 @@ typedef struct {
#define EFI_SERIAL_IO_PROTOCOL_REVISION 0x00010000
#define SERIAL_IO_INTERFACE_REVISION EFI_SERIAL_IO_PROTOCOL_REVISION
/**
@par Protocol Description:
The Serial I/O protocol is used to communicate with UART-style serial devices.
These can be standard UART serial ports in PC-AT systems, serial ports attached
to a USB interface, or potentially any character-based I/O device.
@param Revision
The revision to which the EFI_SERIAL_IO_PROTOCOL adheres. All future revisions
must be backwards compatible. If a future version is not back wards compatible,
it is not the same GUID.
@param Reset
Resets the hardware device.
@param SetAttributes
Sets communication parameters for a serial device. These include
the baud rate, receive FIFO depth, transmit/receive time out, parity, data bits,
and stop bit attributes.
@param SetControl
Sets the control bits on a serial device. These include Request to
Send and Data Terminal Ready.
@param GetControl
Reads the status of the control bits on a serial device. These include
Clear to Send, Data Set Ready, Ring Indicator, and Carrier Detect.
@param Write
Sends a buffer of characters to a serial device.
@param Read
Receives a buffer of characters from a serial device.
@param Mode
Pointer to SERIAL_IO_MODE data.
**/
struct _EFI_SERIAL_IO_PROTOCOL {
UINT32 Revision;
EFI_SERIAL_RESET Reset;

View File

@ -1,10 +1,10 @@
/** @file
The file defines the generic Service Binding Protocol
functions.
The file defines the generic Service Binding Protocol functions.
It provides services that are required to create and destroy child
handles that support a given set of protocols.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -69,6 +69,24 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
The EFI_SERVICE_BINDING_PROTOCOL provides member functions to create and destroy
child handles. A driver is responsible for adding protocols to the child handle
in CreateChild() and removing protocols in DestroyChild(). It is also required
that the CreateChild() function opens the parent protocol BY_CHILD_CONTROLLER
to establish the parent-child relationship, and closes the protocol in DestroyChild().
The pseudo code for CreateChild() and DestroyChild() is provided to specify the
required behavior, not to specify the required implementation. Each consumer of
a software protocol is responsible for calling CreateChild() when it requires the
protocol and calling DestroyChild() when it is finished with that protocol.
@param CreateChild
Creates a child handle and installs a protocol.
@param DestroyChild
Destroys a child handle with a protocol installed on it.
**/
struct _EFI_SERVICE_BINDING_PROTOCOL {
EFI_SERVICE_BINDING_CREATE_CHILD CreateChild;
EFI_SERVICE_BINDING_DESTROY_CHILD DestroyChild;

View File

@ -7,7 +7,7 @@
UEFI 2.0 can boot from any valid EFI image contained in a SimpleFileSystem
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -325,6 +325,49 @@ EFI_STATUS
//
#define EFI_FILE_REVISION EFI_FILE_PROTOCOL_REVISION
/**
@par Protocol Description:
The EFI_FILE_PROTOCOL provides file IO access to supported file systems.
An EFI_FILE_PROTOCOL provides access to a file's or directory's contents,
and is also a reference to a location in the directory tree of the file system
in which the file resides. With any given file handle, other files may be opened
relative to this file's location, yielding new file handles.
@param Revision
The version of the EFI_FILE_PROTOCOL interface. The version specified
by this specification is 0x00010000. Future versions are required
to be backward compatible to version 1.0.
@param Open
Opens or creates a new file.
@param Close
Closes the current file handle.
@param Delete
Deletes a file.
@param Read
Reads bytes from a file.
@param Write
Writes bytes to a file.
@param GetPosition
Returns the current file position.
@param SetPosition
Sets the current file position.
@param GetInfo
Gets the requested file or volume information.
@param SetInfo
Sets the requested file information.
@param Flush
Flushes all modified data associated with the file to the device.
**/
struct _EFI_FILE_PROTOCOL {
UINT64 Revision;
EFI_FILE_OPEN Open;

View File

@ -8,7 +8,7 @@
MCast - MultiCast
...
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -565,6 +565,75 @@ EFI_STATUS
//
#define EFI_SIMPLE_NETWORK_INTERFACE_REVISION EFI_SIMPLE_NETWORK_PROTOCOL_REVISION
/**
@par Protocol Description:
The EFI_SIMPLE_NETWORK_PROTOCOL protocol is used to initialize access
to a network adapter. Once the network adapter initializes,
the EFI_SIMPLE_NETWORK_PROTOCOL protocol provides services that
allow packets to be transmitted and received.
@param Revision
Revision of the EFI_SIMPLE_NETWORK_PROTOCOL. All future revisions must
be backwards compatible. If a future version is not backwards compatible
it is not the same GUID.
@param Start
Prepares the network interface for further command operations.
No other EFI_SIMPLE_NETWORK_PROTOCOL interface functions will operate
until this call is made.
@param Stop
Stops further network interface command processing.
No other EFI_SIMPLE_NETWORK_PROTOCOL interface functions will operate
after this call is made until another Start() call is made.
@param Initialize
Resets the network adapter and allocates the transmit and receive buffers.
@param Reset
Resets the network adapter and reinitializes it with the parameters
provided in the previous call to Initialize().
@param Shutdown
Resets the network adapter and leaves it in a state safe for another driver
to initialize. The memory buffers assigned in the Initialize() call are released.
After this call, only the Initialize() or Stop() calls may be used.
@param ReceiveFilters
Enables and disables the receive filters for the network interface and,
if supported, manages the filtered multicast
HW MAC (Hardware Media Access Control) address list.
@param StationAddress
Modifies or resets the current station address, if supported.
@param Statistics
Collects statistics from the network interface and allows the statistics to be reset.
@param MCastIpToMac
Maps a multicast IP address to a multicast HW MAC address.
@param NvData
Reads and writes the contents of the NVRAM devices attached to the network interface.
@param GetStatus
Reads the current interrupt status and the list of recycled transmit
buffers from the network interface.
@param Transmit
Places a packet in the transmit queue.
@param Receive
Retrieves a packet from the receive queue, along with the status
flags that describe the packet type.
@param WaitForPacket
Event used with WaitForEvent() to wait for a packet to be received.
@param Mode
Pointer to the EFI_SIMPLE_NETWORK_MODE data for the device.
**/
struct _EFI_SIMPLE_NETWORK_PROTOCOL {
UINT64 Revision;
EFI_SIMPLE_NETWORK_START Start;

View File

@ -3,7 +3,7 @@
Abstraction of a very simple pointer device like a mice or tracekballs.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -83,6 +83,26 @@ EFI_STATUS
IN OUT EFI_SIMPLE_POINTER_STATE *State
);
/**
@par Protocol Description:
The EFI_SIMPLE_POINTER_PROTOCOL provides a set of services for a pointer
device that can use used as an input device from an application written
to this specification. The services include the ability to reset the
pointer device, retrieve get the state of the pointer device, and
retrieve the capabilities of the pointer device.
@param Reset
Resets the pointer device.
@param GetState
Retrieves the current state of the pointer device.
@param WaitForInput
Event to use with WaitForEvent() to wait for input from the pointer device.
@param Mode
Pointer to EFI_SIMPLE_POINTER_MODE data.
**/
struct _EFI_SIMPLE_POINTER_PROTOCOL {
EFI_SIMPLE_POINTER_RESET Reset;
EFI_SIMPLE_POINTER_GET_STATE GetState;

View File

@ -4,7 +4,7 @@
Abstraction of a very simple input device like a keyboard or serial
terminal.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -120,6 +120,22 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
The EFI_SIMPLE_TEXT_INPUT_PROTOCOL is used on the ConsoleIn device.
It is the minimum required protocol for ConsoleIn.
@param Reset
Reset the ConsoleIn device.
@param ReadKeyStroke
Returns the next input character.
@param WaitForKey
Event to use with WaitForEvent() to wait for a key to be available.
**/
struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL {
EFI_INPUT_RESET Reset;
EFI_INPUT_READ_KEY ReadKeyStroke;

View File

@ -4,7 +4,7 @@
EFI_SIMPLE_TEXT_INPUT_PROTOCOL supports the same languages as
the corresponding
Copyright (c) 2006 - 2007, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -38,9 +38,7 @@ typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL EFI_SIMPLE_TEXT_INPUT_EX_PROTO
this specification and is left up to the platform firmware or
driver to implement.
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_PROTOCOL_EX
instance. Type EFI_SIMPLE_TEXT_INPUT_PROTOCOL_EX
is defined in this section.
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.
@param ExtendedVerification Indicates that the driver may
perform a more exhaustive
@ -185,8 +183,7 @@ typedef struct {
respective Toggle and Shift state fields should not be active.
@param This A pointer to the
EFI_SIMPLE_TEXT_INPUT_PROTOCOL_EX instance.
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.
@param KeyData A pointer to a buffer that is filled in with
the keystroke state data for the key that was
@ -214,9 +211,7 @@ EFI_STATUS
The SetState() function allows the input device hardware to
have state settings adjusted.
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_PROTOCOL_EX
instance. Type EFI_SIMPLE_TEXT_INPUT_PROTOCOL_EX
is defined in this section.
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.
@param KeyToggleState Pointer to the EFI_KEY_TOGGLE_STATE to
set the state for the input device.
@ -252,9 +247,7 @@ EFI_STATUS
The RegisterKeystrokeNotify() function registers a function
which will be called when a specified keystroke will occur.
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_PROTOCOL_EX
instance. Type EFI_SIMPLE_TEXT_INPUT_PROTOCOL_EX
is defined in this section.
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.
@param KeyData A pointer to a buffer that is filled in with
the keystroke information for the key that was
@ -288,8 +281,7 @@ EFI_STATUS
The UnregisterKeystrokeNotify() function removes the
notification which was previously registered.
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_PROTOCOL_EX
instance.
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.
@param NotificationHandle The handle of the notification
function being unregistered.
@ -314,23 +306,23 @@ EFI_STATUS
which allows a variety of extended shift state information to be
returned.
@param Reset Reset the ConsoleIn device. See Reset().
@param Reset
Reset the ConsoleIn device. See Reset().
@param ReadKeyStrokeEx Returns the next input character. See
ReadKeyStrokeEx().
@param ReadKeyStrokeEx
Returns the next input character.
@param WaitForKeyEx Event to use with WaitForEvent() to wait
for a key to be available.
@param WaitForKeyEx
Event to use with WaitForEvent() to wait for a key to be available.
@param SetState Set the EFI_KEY_TOGGLE_STATE state settings
for the input device.
@param SetState
Set the EFI_KEY_TOGGLE_STATE state settings for the input device.
@param RegisterKeyNotify Register a notification function to
be called when a given key sequence
is hit.
@param RegisterKeyNotify
Register a notification function to be called when a given key sequence is hit.
@param UnregisterKeyNotifyRemoves A specific notification
function.
@param UnregisterKeyNotifyRemoves
A specific notification function.
**/
struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL{

View File

@ -6,7 +6,7 @@
a single hardware device or a virtual device that is an agregation
of multiple physical devices.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -349,14 +349,26 @@ EFI_STATUS
;
/**
@par Data Structure Description:
Mode Structure pointed to by Simple Text Out protocol.
MaxMode - The number of modes supported by QueryMode () and SetMode ().
Mode - The text mode of the output device(s).
Attribute - The current character output attribute
CursorColumn - The cursor's column.
CursorRow - The cursor's row.
CursorVisible - The cursor is currently visbile or not.
@param MaxMode
The number of modes supported by QueryMode () and SetMode ().
@param Mode
The text mode of the output device(s).
@param Attribute
The current character output attribute
@param CursorColumn
The cursor's column.
@param CursorRow
The cursor's row.
@param CursorVisible
The cursor is currently visbile or not.
**/
typedef struct {
@ -372,6 +384,43 @@ typedef struct {
BOOLEAN CursorVisible;
} EFI_SIMPLE_TEXT_OUTPUT_MODE;
/**
@par Protocol Description:
The SIMPLE_TEXT_OUTPUT protocol is used to control text-based output devices.
It is the minimum required protocol for any handle supplied as the ConsoleOut
or StandardError device. In addition, the minimum supported text mode of such
devices is at least 80 x 25 characters.
@param Reset
Reset the ConsoleOut device.
@param OutputString
Displays the Unicode string on the device at the current cursor location.
@param TestString
Tests to see if the ConsoleOut device supports this Unicode string.
@param QueryMode
Queries information concerning the output device's supported text mode.
@param SetMode
Sets the current mode of the output device.
@param SetAttribute
Sets the foreground and background color of the text that is output.
@param ClearScreen
Clears the screen with the currently set background color.
@param SetCursorPosition
Sets the current cursor position.
@param EnableCursor
Turns the visibility of the cursor on/off.
@param Mode
Pointer to SIMPLE_TEXT_OUTPUT_MODE data.
**/
struct _EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL {
EFI_TEXT_RESET Reset;

View File

@ -2,7 +2,7 @@
The file provides basic SMBus host controller management
and basic data transactions over the SMBus.
Copyright (c) 2006 - 2007, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -81,8 +81,7 @@ typedef struct _EFI_SMBUS_HC_PROTOCOL EFI_SMBUS_HC_PROTOCOL;
@retval EFI_SUCCESS The last data that was returned from the
access matched the poll exit criteria.
@retval EFI_CRC_ERROR Checksum is not correct (PEC is
incorrect).
@retval EFI_CRC_ERROR Checksum is not correct (PEC is incorrect).
@retval EFI_TIMEOUT Timeout expired before the operation was
completed. Timeout is determined by the
@ -134,9 +133,8 @@ EFI_STATUS
/**
The ArpDevice() function provides a standard way for a device driver to enumerate the entire
SMBus or specific devices on the bus.
The ArpDevice() function provides a standard way for a device driver to
enumerate the entire SMBus or specific devices on the bus.
@param This A pointer to the EFI_SMBUS_HC_PROTOCOL instance.
@ -159,8 +157,6 @@ EFI_STATUS
@param SlaveAddress The SMBus slave address that is
associated with an SMBus UDID.
@retval EFI_SUCCESS The last data that was returned from the
access matched the poll exit criteria.
@ -198,8 +194,8 @@ EFI_STATUS
/**
The GetArpMap() function returns the mapping of all the SMBus devices that were enumerated
by the SMBus host driver.
The GetArpMap() function returns the mapping of all the SMBus devices
that were enumerated by the SMBus host driver.
@param This A pointer to the EFI_SMBUS_HC_PROTOCOL instance.
@ -210,8 +206,7 @@ EFI_STATUS
enumerated by the SMBus controller
driver.
@retval EFI_SUCCESS The SMBus returned the current device
map.
@retval EFI_SUCCESS The SMBus returned the current device map.
@retval EFI_UNSUPPORTED ArpDevice, GetArpMap, and Notify are
not implemented by this driver.
@ -225,11 +220,17 @@ EFI_STATUS
IN OUT EFI_SMBUS_DEVICE_MAP **SmbusDeviceMap
);
/**
The notify function does some actions.
@param SlaveAddress
The SMBUS hardware address to which the SMBUS device is preassigned or allocated.
//
// EFI_SMBUS_NOTIFY_FUNCTION
//
@param Data
Data of the SMBus host notify command that the caller wants to be called.
@return EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_SMBUS_NOTIFY_FUNCTION)(
@ -274,6 +275,7 @@ EFI_STATUS
/**
@par Protocol Description:
The EFI_SMBUS_HC_PROTOCOL provides SMBus host controller management and basic data
transactions over SMBus. There is one EFI_SMBUS_HC_PROTOCOL instance for each SMBus
host controller.

View File

@ -1,5 +1,5 @@
/** @file
Status code Runtime Protocol as defined in the DXE CIS
Status code Runtime Protocol as defined in PI Specification VOLUME 2 DXE
The StatusCode () Tiano service is added to the EFI system table and the
EFI_STATUS_CODE_ARCH_PROTOCOL_GUID protocol is registered with a NULL
@ -9,7 +9,7 @@
This code abstracts Status Code reporting.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -18,9 +18,6 @@
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@par Revision Reference:
Version 0.91B.
**/
#ifndef __STATUS_CODE_RUNTIME_PROTOCOL_H__
@ -61,6 +58,7 @@ EFI_STATUS
);
/**
@par Protocol Description:
Provides the service required to report a status code to the platform firmware.
This protocol must be produced by a runtime DXE driver and may be consumed
only by the DXE Foundation.

View File

@ -2,7 +2,7 @@
EFI_TAPE_IO_PROTOCOL as defined in the UEFI 2.0.
Provide services to control and access a tape device.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -220,6 +220,31 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
The EFI_TAPE_IO_PROTOCOL provides basic sequential operations for tape devices.
These include read, write, rewind, space, write filemarks and reset functions.
Per this specification, a boot application uses the services of this protocol
to load the bootloader image from tape.
@param TapeRead
Read a block of data from the tape.
@param TapeWrite
Write a block of data to the tape.
@param TapeRewind
Rewind the tape.
@param TapeSpace
Position the tape.
@param TapeWriteFM
Write filemarks to the tape.
@param TapeReset
Reset the tape device or its parent bus.
**/
struct _EFI_TAPE_IO_PROTOCOL {
EFI_TAPE_READ TapeRead;
EFI_TAPE_WRITE TapeWrite;

View File

@ -2,7 +2,7 @@
TCG Service Protocol as defined in TCG_EFI_Protocol_1_20_Final
See http://trustedcomputinggroup.org for the latest specification
Copyright (c) 2007, Intel Corporation
Copyright (c) 2007 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -205,6 +205,7 @@ EFI_STATUS
);
/**
@par Protocol Description:
The EFI_TCG Protocol abstracts TCG activity.
@param StatusCheck This service provides information on the TPM.

View File

@ -485,6 +485,48 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
The EFI_TCP4_PROTOCOL defines the EFI TCPv4 Protocol child to be used by
any network drivers or applications to send or receive data stream.
It can either listen on a specified port as a service or actively connected
to remote peer as a client. Each instance has its own independent settings,
such as the routing table.
@param GetModeData
Get the current operational status.
@param Configure
Initialize, change, or brutally reset operational settings of the EFI TCPv4 Protocol.
@param Routes
Add or delete routing entries for this TCP4 instance.
@param Connect
Initiate the TCP three-way handshake to connect to the remote peer
configured in this TCP instance. The function is a nonblocking operation.
@param Accept
Listen for incoming TCP connection request. This function is a nonblocking operation.
@param Transmit
Queue outgoing data to the transmit queue. This function is a nonblocking operation.
@param Receive
Queue a receiving request token to the receive queue. This function is
a nonblocking operation.
@param Close
Gracefully disconnecting a TCP connection follow RFC 793 or reset a TCP
connection. This function is a nonblocking operation.
@param Cancel
Abort a pending connect, listen, transmit or receive request.
@param Poll
Poll to receive incoming data and transmit outgoing TCP segments.
**/
struct _EFI_TCP4_PROTOCOL {
EFI_TCP4_GET_MODE_DATA GetModeData;
EFI_TCP4_CONFIGURE Configure;

View File

@ -1,9 +1,9 @@
/** @file
Timer Architectural Protocol as defined in the DXE CIS
Timer Architectural Protocol as defined in PI Specification VOLUME 2 DXE
This code is used to provide the timer tick for the DXE core.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -12,9 +12,6 @@
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@par Revision Reference:
Version 0.91B.
**/
#ifndef __ARCH_PROTOCOL_TIMER_H__

View File

@ -1,7 +1,10 @@
/** @file
UDP4 Service Binding Protocol
UDP4 Service Binding Protocol as defined in UEFI specification.
Copyright (c) 2006, Intel Corporation
The EFI UDPv4 Protocol provides simple packet-oriented services
to transmit and receive UDP packets.
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -347,6 +350,38 @@ EFI_STATUS
)
;
/**
@par Protocol Description:
The EFI_UDP4_PROTOCOL defines an EFI UDPv4 Protocol session that can be used
by any network drivers, applications, or daemons to transmit or receive UDP packets.
This protocol instance can either be bound to a specified port as a service or
connected to some remote peer as an active client. Each instance has its own settings,
such as the routing table and group table, which are independent from each other.
@param GetModeData
Reads the current operational settings.
@param Configure
Initializes, changes, or resets operational settings for the EFI UDPv4 Protocol.
@param Groups
Joins and leaves multicast groups.
@param Routes
Add and deletes routing table entries.
@param Transmit
Queues outgoing data packets into the transmit queue. This function is a nonblocked operation.
@param Receive
Places a receiving request token into the receiving queue. This function is a nonblocked operation.
@param Cancel
Aborts a pending transmit or receive request.
@param Poll
Polls for incoming data packets and processes outgoing data packets.
**/
struct _EFI_UDP4_PROTOCOL {
EFI_UDP4_GET_MODE_DATA GetModeData;
EFI_UDP4_CONFIGURE Configure;

View File

@ -158,6 +158,25 @@ EFI_STATUS
IN UINTN Delta OPTIONAL
);
/**
This protocol provides a basic abstraction to set video modes and
copy pixels to and from the graphics controller's frame buffer.
@par Protocol Description:
The EFI_UGA_DRAW_PROTOCOL provides a software abstraction to allow pixels to be drawn
directly to the frame buffer. The EFI_UGA_DRAW_PROTOCOL is designed to be lightweight and
to support the basic needs of graphics output prior to Operating System boot.
@param GetMode
Returns information about the geometry and configuration of the
graphics controller's current frame buffer configuration.
@param SetMode
Set the graphics device into a given mode and clears the frame buffer to black.
@param Blt
Software abstraction to draw on the video device's frame buffer.
**/
struct _EFI_UGA_DRAW_PROTOCOL {
EFI_UGA_DRAW_PROTOCOL_GET_MODE GetMode;
EFI_UGA_DRAW_PROTOCOL_SET_MODE SetMode;

View File

@ -3,7 +3,7 @@
Abstraction of a very simple graphics device.
Copyright (c) 2006 - 2007, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -163,7 +163,19 @@ typedef UGA_STATUS
IN OUT PUGA_IO_REQUEST pIoRequest
);
/**
@par Protocol Description:
Provides a basic abstraction to send I/O requests to the graphics device and any of its children.
@param CreateDevice
Create a UGA_DEVICE object for a child device of a given parent UGA_DEVICE.
@param DeleteDevice
Delete the UGA_DEVICE returned from CreateDevice().
@param DispatchService
Dispatches I/O requests to the display device and its associate child devices.
**/
struct _EFI_UGA_IO_PROTOCOL {
EFI_UGA_IO_PROTOCOL_CREATE_DEVICE CreateDevice;
EFI_UGA_IO_PROTOCOL_DELETE_DEVICE DeleteDevice;

View File

@ -1,7 +1,9 @@
/** @file
Unicode Collation protocol that follows the UEFI 2.0 specification.
This protocol is used to allow code running in the boot services environment
to perform lexical comparison functions on Unicode strings for given languages.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -96,8 +98,6 @@ BOOLEAN
@param This Protocol instance pointer.
@param String A pointer to a Null-terminated Unicode string.
NONE
**/
typedef
VOID
@ -114,8 +114,6 @@ VOID
@param This Protocol instance pointer.
@param String A pointer to a Null-terminated Unicode string.
NONE
**/
typedef
VOID
@ -136,8 +134,6 @@ VOID
@param String A pointer to a Null-terminated Unicode string. The string must
be preallocated to hold FatSize Unicode characters.
NONE
**/
typedef
VOID
@ -174,6 +170,40 @@ BOOLEAN
)
;
/**
@par Protocol Description:
The EFI_UNICODE_COLLATION_PROTOCOL is used to perform case-insensitive
comparisons of Unicode strings.
@param StriColl
Performs a case-insensitive comparison of two Null-terminated Unicode strings.
@param MetaiMatch
Performs a case-insensitive comparison between a Null-terminated Unicode
pattern string and a Null-terminated Unicode string. The pattern string
can use the '?' wildcard to match any character, and the '*' wildcard to
match any substring.
@param StrLwr
Converts all the Unicode characters in a Null-terminated Unicode string to
lowercase Unicode characters.
@param StrUpr
Converts all the Unicode characters in a Null-terminated Unicode string to
uppercase Unicode characters.
@param FatToStr
Converts an 8.3 FAT file name using an OEM character set to a Null-terminated
Unicode string.
@param StrToFat
Converts a Null-terminated Unicode string to legal characters in a FAT
filename using an OEM character set.
@param Supported
LanguagesA Null-terminated ASCII string array that contains one or more
language codes. This array is specified in RFC 4646 format.
**/
struct _EFI_UNICODE_COLLATION_PROTOCOL {
//
// general

Some files were not shown because too many files have changed in this diff Show More