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

@ -61,7 +61,8 @@ 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¡¯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;
@ -96,15 +95,15 @@ typedef struct {
process is not defined by this specification and is left up to
the platform firmware or driver to implement.
@param This A pointer to the EFI_ABSOLUTE_POINTER_PROTOCOL
instance.
@param This A pointer to the EFI_ABSOLUTE_POINTER_PROTOCOL
instance.
@param ExtendedVerification Indicates that the driver may
perform a more exhaustive
verification operation of the
device during reset.
@retval EFI_SUCCESS The device was reset.
@retval EFI_SUCCESS The device was reset.
@retval EFI_DEVICE_ERROR The device is not functioning
correctly and could not be reset.
@ -159,7 +158,7 @@ EFI_STATUS
support an z-axis, and this field must be
ignored.
@param ActiveButtons Bits are set to 1 in this structure item
@param ActiveButtons Bits are set to 1 in this structure item
to indicate that device buttons are
active.
@ -184,17 +183,17 @@ typedef struct {
information, then EFI_DEVICE_ERROR is returned.
@param This A pointer to the EFI_ABSOLUTE_POINTER_PROTOCOL
instance.
@param This A pointer to the EFI_ABSOLUTE_POINTER_PROTOCOL
instance.
@param State A pointer to the state information on the
pointer device.
@retval EFI_SUCCESS The state of the pointer device was
returned in State.
@retval EFI_SUCCESS The state of the pointer device was
returned in State.
@retval EFI_NOT_READY The state of the pointer device has not
changed since the last call to GetState().
@retval EFI_NOT_READY The state of the pointer device has not
changed since the last call to GetState().
@retval EFI_DEVICE_ERROR A device error occurred while
attempting to retrieve the pointer
@ -204,12 +203,13 @@ typedef struct {
typedef
EFI_STATUS
(EFIAPI *EFI_ABSOLUTE_POINTER_GET_STATE)(
IN EFI_ABSOLUTE_POINTER_PROTOCOL *This,
IN OUT EFI_ABSOLUTE_POINTER_STATE *State
IN EFI_ABSOLUTE_POINTER_PROTOCOL *This,
IN OUT EFI_ABSOLUTE_POINTER_STATE *State
);
/**
@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
@ -219,14 +219,14 @@ EFI_STATUS
provided.
@param Reset Resets the pointer device.
@param Reset Resets the pointer device.
@param GetState Retrieves the current state of 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_ABSOLUTE_POINTER_MODE data.
@param Mode Pointer to EFI_ABSOLUTE_POINTER_MODE data.
**/
struct _EFI_ABSOLUTE_POINTER_PROTOCOL {

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
@ -39,18 +39,18 @@ typedef struct _EFI_ACPI_TABLE_PROTOCOL EFI_ACPI_TABLE_PROTOCOL;
longer considered valid.
@param This A pointer to a EFI_ACPI_TABLE_PROTOCOL.
@param This A pointer to a EFI_ACPI_TABLE_PROTOCOL.
@param AcpiTableBuffer A pointer to a buffer containing the
ACPI table to be installed.
@param AcpiTableBuffer A pointer to a buffer containing the
ACPI table to be installed.
@param AcpiTableBufferSize Specifies the size, in bytes, of
the AcpiTableBuffer buffer.
@param TableKey Returns a key to refer to the ACPI table.
@param TableKey Returns a key to refer to the ACPI table.
@retval EFI_SUCCESS The table was successfully inserted
@retval EFI_SUCCESS The table was successfully inserted
@retval EFI_INVALID_PARAMETER Either AcpiTableBuffer is NULL,
TableKey is NULL, or
@ -83,15 +83,15 @@ EFI_STATUS
EFI_CONFIGURATION_TABLE pointer to the RSDT is no longer
considered valid.
@param This A pointer to a EFI_ACPI_TABLE_PROTOCOL.
@param This A pointer to a EFI_ACPI_TABLE_PROTOCOL.
@param TableKey Specifies the table to uninstall. The key was
returned from InstallAcpiTable().
@param TableKey Specifies the table to uninstall. The key was
returned from InstallAcpiTable().
@retval EFI_SUCCESS The table was successfully inserted
@retval EFI_SUCCESS The table was successfully inserted
@retval EFI_NOT_FOUND TableKey does not refer to a valid key
for a table entry.
@retval EFI_NOT_FOUND TableKey does not refer to a valid key
for a table entry.
@retval EFI_OUT_OF_RESOURCES Insufficient resources exist to
complete the request.
@ -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
@ -59,8 +59,8 @@ typedef struct {
/**
Assigns a station address (protocol type and network address) to this instance of the ARP cache.
@param This A pointer to the EFI_ARP_PROTOCOL instance.
@param ConfigData A pointer to the EFI_ARP_CONFIG_DATA structure.Buffer
@param This A pointer to the EFI_ARP_PROTOCOL instance.
@param ConfigData A pointer to the EFI_ARP_CONFIG_DATA structure.Buffer
@retval EFI_SUCCESS The new station address was successfully registered.
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
@ -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.
@ -177,7 +183,7 @@ EFI_STATUS
/**
Removes all dynamic ARP cache entries that were added by this interface.
@param This A pointer to the EFI_ARP_PROTOCOL instance.
@param This A pointer to the EFI_ARP_PROTOCOL instance.
@retval EFI_SUCCESS The cache has been flushed.
@retval EFI_INVALID_PARAMETER This is NULL.
@ -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
@ -68,9 +68,9 @@ typedef struct {
/**
Retrieves the Authentication information associated with a particular controller handle.
@param This Pointer to the EFI_AUTHENTICATION_INFO_PROTOCOL
@param ControllerHandle Handle to the Controller
@param Buffer Pointer to the authentication information.
@param This Pointer to the EFI_AUTHENTICATION_INFO_PROTOCOL
@param ControllerHandle Handle to the Controller
@param Buffer Pointer to the authentication information.
@retval EFI_SUCCESS Successfully retrieved Authentication information for the given ControllerHandle
@retval EFI_INVALID_PARAMETER No matching Authentication information found for the given ControllerHandle
@ -90,9 +90,9 @@ EFI_STATUS
/**
Set the Authentication information for a given controller handle.
@param This Pointer to the EFI_AUTHENTICATION_INFO_PROTOCOL
@param ControllerHandle Handle to the Controller
@param Buffer Pointer to the authentication information.
@param This Pointer to the EFI_AUTHENTICATION_INFO_PROTOCOL
@param ControllerHandle Handle to the Controller
@param Buffer Pointer to the authentication information.
@retval EFI_SUCCESS Successfully set Authentication information for the given ControllerHandle
@retval EFI_UNSUPPORTED If the platform policies do not allow setting of the Authentication
@ -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
@ -132,31 +132,51 @@ EFI_STATUS
/**
Block IO read only mode data and updated only via members of BlockIO
@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.
@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.
@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.
@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.
@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; /**< 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;
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
FALSE. For media with only one partition this would be TRUE.
**/
BOOLEAN 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
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.
If the media changes, then this field is updated.
**/
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
@ -62,7 +62,18 @@ EFI_DEVICE_PATH_PROTOCOL*
IN CONST CHAR16 *TextDevicePath
)
;
/**
@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.
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, 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
@ -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
@ -33,7 +33,7 @@ typedef struct _EFI_DRIVER_CONFIGURATION_PROTOCOL EFI_DRIVER_CONFIGURATION_PROT
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_CONFIGURATION_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
@ -121,7 +121,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_CONFIGURATION_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.
@ -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.
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.
@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.
@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.
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL
instance.
undefined.
@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
@ -148,10 +143,10 @@ EFI_STATUS
modified and the firmware volume
settings are not changed.
@retval EFI_SUCCESS The requested firmware volume attributes
were set and the resulting
EFI_FV_ATTRIBUTES is returned in
FvAttributes.
@retval EFI_SUCCESS The requested firmware volume attributes
were set and the resulting
EFI_FV_ATTRIBUTES is returned in
FvAttributes.
@retval EFI_INVALID_PARAMETER FvAttributes:EFI_FV_READ_STATUS
is set to 1 on input, but the
@ -251,37 +246,35 @@ 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.
A single firmware volume must not have two
valid files with the same file name
EFI_GUID.
@param NameGuid Pointer to an EFI_GUID, which is the file
name. All firmware file names are EFI_GUIDs.
A single firmware volume must not have two
valid files with the same file name
EFI_GUID.
@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 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.
@param FileAttributes Pointer to a caller-allocated
EFI_FV_FILE_ATTRIBUTES.
@param AuthenticationStatus Pointer to a caller-allocated
UINT32 in which the
authentication status is
returned.
@retval EFI_SUCCESS The call completed successfully.
@retval EFI_SUCCESS The call completed successfully.
@retval EFI_WARN_BUFFER_TOO_SMALL The buffer is too small to
contain the requested
@ -289,17 +282,15 @@ EFI_STATUS
filled and the output is
truncated.
@retval EFI_OUT_OF_RESOURCES An allocation failure occurred.
@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.
@retval EFI_DEVICE_ERROR A hardware error occurred when
attempting to access the firmware volume.
@retval EFI_ACCESS_DENIED The firmware volume is configured to
isallow reads.
@retval EFI_ACCESS_DENIED The firmware volume is configured to
isallow reads.
**/
typedef
@ -343,36 +334,33 @@ 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
will be read.
@param NameGuid Pointer to an EFI_GUID, which indicates the
file name from which the requested section
will be read.
@param SectionType Indicates the section type to return.
SectionType in conjunction with
SectionInstance indicates which section to
return.
@param SectionType Indicates the section type to return.
SectionType in conjunction with
SectionInstance indicates which section to
return.
@param SectionInstance Indicates which instance of sections
with a type of SectionType to return.
SectionType in conjunction with
SectionInstance indicates which
section to return. SectionInstance is
zero based.
@param SectionInstance Indicates which instance of sections
with a type of SectionType to return.
SectionType in conjunction with
SectionInstance indicates which
section to return. SectionInstance is
zero based.
@param Buffer Pointer to a pointer to a buffer in which the
section contents are returned, not including
the section header.
@param Buffer Pointer to a pointer to a buffer in which the
section contents are returned, not including
the section header.
@param BufferSize Pointer to a caller-allocated UINTN. It
indicates the size of the memory
represented by Buffer.
@param BufferSize Pointer to a caller-allocated UINTN. It
indicates the size of the memory
represented by Buffer.
@param AuthenticationStatus Pointer to a caller-allocated
UINT32 in which the authentication
@ -462,39 +450,37 @@ 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
other system failure during the write
operation.
@param FileData Pointer to an array of
EFI_FV_WRITE_FILE_DATA. Each element of
FileData[] represents a file to be written.
@param WritePolicy Indicates the level of reliability for the
write in the event of a power failure or
other system failure during the write
operation.
@param FileData Pointer to an array of
EFI_FV_WRITE_FILE_DATA. Each element of
FileData[] represents a file to be written.
@retval EFI_SUCCESS The write completed successfully.
@retval EFI_SUCCESS The write completed successfully.
@retval EFI_OUT_OF_RESOURCES The firmware volume does not
have enough free space to
storefile(s).
@retval EFI_OUT_OF_RESOURCES The firmware volume does not
have enough free space to
storefile(s).
@retval EFI_DEVICE_ERROR A hardware error occurred when
attempting to access the firmware volume.
@retval EFI_DEVICE_ERROR A hardware error occurred when
attempting to access the firmware volume.
@retval EFI_WRITE_PROTECTED The firmware volume is
configured to disallow writes.
@retval EFI_WRITE_PROTECTED The firmware volume is
configured to disallow writes.
@retval EFI_NOT_FOUND A delete was requested, but the
requested file was not found in the
firmware volume.
@retval EFI_NOT_FOUND A delete was requested, but the
requested file was not found in the
firmware volume.
@retval EFI_INVALID_PARAMETER A delete was requested with a
multiple file write.
@ -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
@ -576,16 +556,16 @@ EFI_STATUS
EFI_FV_FILE_ATTRIBUTES is defined in
ReadFile().
@param Size Pointer to a caller-allocated UINTN. If a
matching file is found, the file's size is
returned in *Size. If no matching file is found,
Size is not modified.
@param Size Pointer to a caller-allocated UINTN. If a
matching file is found, the file's size is
returned in *Size. If no matching file is found,
Size is not modified.
@retval EFI_SUCCESS The output parameters are filled with data
obtained from the first matching file that
was found.
@retval EFI_SUCCESS The output parameters are filled with data
obtained from the first matching file that
was found.
@retval FI_NOT_FOUND No files of type FileType were found.
@retval FI_NOT_FOUND No files of type FileType were found.
@retval EFI_DEVICE_ERROR A hardware error occurred when
@ -619,28 +599,28 @@ EFI_STATUS
this specification are required information types that all file
systems must support.
@param This A pointer to the EFI_FIRMWARE_VOLUME2_PROTOCOL
instance that is the file handle the requested
information is for.
@param This A pointer to the EFI_FIRMWARE_VOLUME2_PROTOCOL
instance that is the file handle the requested
information is for.
@param InformationType The type identifier for the
information being requested.
@param BufferSize On input, the size of Buffer. On output,
the amount of data returned in Buffer. In
both cases, the size is measured in bytes.
@param BufferSize On input, the size of Buffer. On output,
the amount of data returned in Buffer. In
both cases, the size is measured in bytes.
@param Buffer A pointer to the data buffer to return. The
buffer's type is indicated by InformationType.
@param Buffer A pointer to the data buffer to return. The
buffer's type is indicated by InformationType.
@retval EFI_SUCCESS The information was retrieved.
@retval EFI_SUCCESS The information was retrieved.
@retval EFI_UNSUPPORTED The InformationType is not known.
@retval EFI_UNSUPPORTED The InformationType is not known.
@retval EFI_NO_MEDIA The device has no medium.
@retval EFI_NO_MEDIA The device has no medium.
@retval EFI_DEVICE_ERROR The device reported an error.
@retval EFI_DEVICE_ERROR The device reported an error.
@retval EFI_VOLUME_CORRUPTED The file system structures are
corrupted.
@ -669,37 +649,37 @@ EFI_STATUS
on the requested firmware volume.
@param This A pointer to the EFI_FIRMWARE_VOLUME2_PROTOCOL
instance that is the file handle the information
is for.
@param This A pointer to the EFI_FIRMWARE_VOLUME2_PROTOCOL
instance that is the file handle the information
is for.
@param InformationType The type identifier for the
information being set.
@param BufferSize The size, in bytes, of Buffer.
@param BufferSize The size, in bytes, of Buffer.
@param Buffer A pointer to the data buffer to write. The
buffer's type is indicated by InformationType.
@param Buffer A pointer to the data buffer to write. The
buffer's type is indicated by InformationType.
@retval EFI_SUCCESS The information was set.
@retval EFI_SUCCESS The information was set.
@retval EFI_UNSUPPORTED The InformationType is not known.
@retval EFI_UNSUPPORTED The InformationType is not known.
@retval EFI_NO_MEDIA The device has no medium.
@retval EFI_NO_MEDIA The device has no medium.
@retval EFI_DEVICE_ERROR The device reported an error.
@retval EFI_DEVICE_ERROR The device reported an error.
@retval EFI_VOLUME_CORRUPTED The file system structures are
corrupted.
@retval EFI_WRITE_PROTECTED The media is read only.
@retval EFI_WRITE_PROTECTED The media is read only.
@retval EFI_VOLUME_FULL The volume is full.
@retval EFI_VOLUME_FULL The volume is full.
@retval EFI_BAD_BUFFER_SIZE BufferSize is smaller than the
size of the type indicated by
InformationType.
@retval EFI_BAD_BUFFER_SIZE BufferSize is smaller than the
size of the type indicated by
InformationType.
**/
typedef
@ -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.
@param ReadFile Reads an entire file from the firmware
volume.
@param ReadSection Reads a single section from a file into
a buffer.
@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.
@param WriteFile Writes an entire file into the firmware
volume.
@param GetNextFile Provides service to allow searching the
firmware volume. See the GetNextFile()
function description.
@param GetNextFile Provides service to allow searching the
firmware volume.
@param KeySize Data field that indicates the size in bytes
of the Key input buffer for the
GetNextFile() API.
@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 ParentHandle Handle of the parent firmware volume.
@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.
@param GetInfo Gets the requested file or volume
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
@ -63,10 +61,8 @@ EFI_STATUS
settings of the firmware volume. Type
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_SUCCESS The firmware volume base address is returned.
@retval EFI_NOT_SUPPORTED The firmware volume is not memory
mapped.
@retval EFI_NOT_SUPPORTED The firmware volume is not memory mapped.
**/
typedef
@ -119,15 +109,12 @@ 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 Lba Indicates the block for which to return the size.
@param BlockSize Pointer to a caller-allocated UINTN in which
the size of the block is returned.
@param BlockSize Pointer to a caller-allocated UINTN in which
the size of the block is returned.
@param NumberOfBlocks Pointer to a caller-allocated UINTN in
which the number of consecutive blocks,
@ -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,13 +152,12 @@ 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.
@param Offset Offset into the block at which to begin reading.
@param NumBytes Pointer to a UINTN. At entry, *NumBytes
contains the total size of the buffer. At
@ -183,8 +167,8 @@ EFI_STATUS
@param Buffer Pointer to a caller-allocated buffer that will
be used to hold the data that is read.
@retval EFI_SUCCESS The firmware volume was read successfully
and contents are in Buffer.
@retval EFI_SUCCESS The firmware volume was read successfully
and contents are in Buffer.
@retval EFI_BAD_BUFFER_SIZE Read attempted across an LBA
boundary. On output, NumBytes
@ -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,25 +221,21 @@ 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
exit, *NumBytes contains the total number of
bytes actually written.
@param Buffer Pointer to a caller-allocated buffer that
contains the source for the write.
@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,40 +351,28 @@ 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.
@param Read Reads n bytes into a buffer from the firmware
volume hardware.
@param Write Writes n bytes from a buffer into the firmware
volume hardware. See the Write() function
description.
@param Write Writes n bytes from a buffer into the firmware
volume hardware.
@param EraseBlocks Erases specified block(s) and sets all
values as indicated by the
EFI_FVB_ERASE_POLARITY bit. See the
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.
@param EraseBlocks Erases specified block(s) and sets all
values as indicated by the
EFI_FVB_ERASE_POLARITY bit. See the
EraseBlocks() function description. Type
EFI_FVB_ERASE_POLARITY is defined in
EFI_FIRMWARE_VOLUME_HEADER. ParentHandle
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 GetAttributes Retrieves the current volume attributes.
@param SetAttributes Sets the current volume attributes.
**/
struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL {

View File

@ -1,9 +1,10 @@
/** @file
The file provides services to call for drivers to leverage the
EFI configuration driver interface.
This protocol is defined in UEFI spec.
Copyright (c) 2006 - 2007, Intel Corporation
The EFI_FORM_BROWSER2_PROTOCOL is the interface to call for drivers to
leverage the EFI configuration driver interface.
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,17 +31,18 @@ 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.
@param TopRow Value that designates the text row from the
top of the screen where the browser window
will start.
@param TopRow Value that designates the text row from the
top of the screen where the browser window
will start.
@param BottomRow Value that designates the text row from the
bottom of the screen where the browser
window will end.
@param BottomRow Value that designates the text row from the
bottom of the screen where the browser
window will end.
**/
typedef struct {
UINTN LeftColumn;
@ -58,62 +60,38 @@ typedef UINTN EFI_BROWSER_ACTION_REQUEST;
/**
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.
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.
@param This A pointer to the EFI_FORM_BROWSER2_PROTOCOL
instance.
@param This A pointer to the EFI_FORM_BROWSER2_PROTOCOL instance
@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 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 HandleCount The number of handles in the array
specified by Handle.
@param HandleCount The number of Handles specified in Handle.
@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 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 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 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 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 ScreenDimensions Points to recommended form dimensions, including any non-content area, in
characters.
@retval EFI_SUCCESS The function completed successfully
@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.
@retval EFI_NOT_FOUND The variable was not found.
@retval EFI_INVALID_PARAMETER One of the parameters has an
invalid value.
**/
typedef
EFI_STATUS
@ -134,15 +112,15 @@ 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
no routing information in them.
@param ResultsData A string returned from an IFR browser or
equivalent. The results string will have
no routing information in them.
@param RetrieveData A BOOLEAN field which allows an agent to
retrieve (if RetrieveData = TRUE) data
@ -157,9 +135,8 @@ 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.
@retval EFI_SUCCESS The results have been distributed or are
awaiting distribution.
@retval EFI_OUT_OF_RESOURCES The ResultsDataSize specified
was too small to contain the
@ -178,16 +155,11 @@ EFI_STATUS
);
/**
This protocol is the interface to call for drivers to leverage
the EFI configuration driver interface.
@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.
@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,10 +101,9 @@ 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.
@retval EFI_SUCCESS The InputSection was successfully
processed and the section contents were
returned.
@retval EFI_OUT_OF_RESOURCES The system has insufficient
resources to process the
@ -129,9 +127,15 @@ EFI_STATUS
/**
Takes the GUIDed section as input and produces the section
stream data. See the ExtractSection() function description.
@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.
@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
@ -46,14 +47,14 @@ typedef UINTN EFI_BROWSER_ACTION;
converted from Hex UNICODE to binary) is a reference to a
string in the associated string pack.
@param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
@param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
@param Request A null-terminated Unicode string in
<ConfigRequest> format. Note that this
includes the routing information as well as
the configurable name / value pairs. It is
invalid for this string to be in
<MultiConfigRequest> format.
@param Request A null-terminated Unicode string in
<ConfigRequest> format. Note that this
includes the routing information as well as
the configurable name / value pairs. It is
invalid for this string to be in
<MultiConfigRequest> format.
@param Progress On return, points to a character in the
Request string. Points to the string's null
@ -64,19 +65,19 @@ typedef UINTN EFI_BROWSER_ACTION;
name / value pair) if the request was not
successful
@param Results A null-terminated Unicode string in
<ConfigAltResp> format which has all values
filled in for the names in the Request string.
String to be allocated by the called function.
@param Results A null-terminated Unicode string in
<ConfigAltResp> format which has all values
filled in for the names in the Request string.
String to be allocated by the called function.
@retval EFI_SUCCESS The Results string is filled with the
values corresponding to all requested
names.
@retval EFI_SUCCESS The Results string is filled with the
values corresponding to all requested
names.
@retval EFI_OUT_OF_MEMORY Not enough memory to store the
parts of the results that must be
stored awaiting possible future
protocols.
@retval EFI_OUT_OF_MEMORY Not enough memory to store the
parts of the results that must be
stored awaiting possible future
protocols.
@retval EFI_INVALID_PARAMETER For example, passing in a NULL
for the Request parameter
@ -85,13 +86,13 @@ typedef UINTN EFI_BROWSER_ACTION;
Progress parameter would be
set to NULL.
@retval EFI_NOT_FOUND Routing data doesn't match any
known driver. Progress set to the
first character in the routing header.
Note: There is no requirement that the
driver validate the routing data. It
must skip the <ConfigHdr> in order to
process the names.
@retval EFI_NOT_FOUND Routing data doesn't match any
known driver. Progress set to the
first character in the routing header.
Note: There is no requirement that the
driver validate the routing data. It
must skip the <ConfigHdr> in order to
process the names.
@retval EFI_INVALID_PARAMETER Illegal syntax. Progress set
to most recent & before the
@ -124,11 +125,12 @@ EFI_STATUS
format, it may use the ConfigToBlock helper function (above) to
simplify the job.
@param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
@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
@ -136,20 +138,20 @@ EFI_STATUS
the terminating NULL if all was
successful.
@retval EFI_SUCCESS The results have been distributed or are
awaiting distribution.
@retval EFI_SUCCESS The results have been distributed or are
awaiting distribution.
@retval EFI_OUT_OF_MEMORY Not enough memory to store the
parts of the results that must be
stored awaiting possible future
protocols.
@retval EFI_OUT_OF_MEMORY Not enough memory to store the
parts of the results that must be
stored awaiting possible future
protocols.
@retval EFI_INVALID_PARAMETERS Passing in a NULL for the
Results parameter would result
in this type of error.
@retval EFI_NOT_FOUND Target for the specified routing data
was not found
@retval EFI_NOT_FOUND Target for the specified routing data
was not found
**/
typedef
@ -166,36 +168,24 @@ EFI_STATUS
This data consists of a unique key that is used to identify
which data is either being passed back or being asked for.
@param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
@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.
@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.
@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.
@ -220,14 +210,13 @@ EFI_STATUS
analogous to the similarly named
function in the HII Routing Protocol.
@param RouteConfig This function breaks apart the UNICODE
results strings and returns configuration
information as specified by the request.
@param RouteConfig This function breaks apart the UNICODE
results strings and returns configuration
information as specified by the request.
@param Callback This function is called from the
configuration browser to communicate certain
activities that were initiated by a user.
@param Callback This function is called from the
configuration browser to communicate certain
activities that were initiated by a user.
**/
struct _EFI_HII_CONFIG_ACCESS_PROTOCOL {

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
@ -54,11 +54,11 @@ typedef struct _EFI_HII_CONFIG_ROUTING_PROTOCOL EFI_HII_CONFIG_ROUTING_PROTOCOL;
GUID=...&NAME=00480050&PATH=...&Fred=16&George=16&Ron=12&Neville=11&
GUID=...&NAME=00480050&PATH=...&ALTCFG=0037&Fred=12&Neville=7
@param This Points to the EFI_HII_CONFIG_ROUTING_PROTOCOL
instance.
@param This Points to the EFI_HII_CONFIG_ROUTING_PROTOCOL
instance.
@param Request A null-terminated Unicode string in
<MultiConfigRequest> format.
@param Request A null-terminated Unicode string in
<MultiConfigRequest> format.
@param Progress On return, points to a character in the
Request string. Points to the string's null
@ -75,14 +75,14 @@ typedef struct _EFI_HII_CONFIG_ROUTING_PROTOCOL EFI_HII_CONFIG_ROUTING_PROTOCOL;
Request string. String to be allocated by
the called function.
@retval EFI_SUCCESS The Results string is filled with the
values corresponding to all requested
names.
@retval EFI_SUCCESS The Results string is filled with the
values corresponding to all requested
names.
@retval EFI_OUT_OF_MEMORY Not enough memory to store the
parts of the results that must be
stored awaiting possible future
protocols.
@retval EFI_OUT_OF_MEMORY Not enough memory to store the
parts of the results that must be
stored awaiting possible future
protocols.
@retval EFI_INVALID_PARAMETER For example, passing in a NULL
for the Request parameter
@ -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
@ -136,14 +135,14 @@ EFI_STATUS
string. String to be allocated by this
function. De-allocation is up to the caller.
@retval EFI_SUCCESS The Results string is filled with the
values corresponding to all requested
names.
@retval EFI_SUCCESS The Results string is filled with the
values corresponding to all requested
names.
@retval EFI_OUT_OF_MEMORY Not enough memory to store the
parts of the results that must be
stored awaiting possible future
protocols.
@retval EFI_OUT_OF_MEMORY Not enough memory to store the
parts of the results that must be
stored awaiting possible future
protocols.
@retval EFI_INVALID_PARAMETERS For example, passing in a NULL
for the Results parameter
@ -170,33 +169,32 @@ 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.
@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
beginning of the string if the failure is in
the first name / value pair) or the
terminating NULL if all was successful.
@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
beginning of the string if the failure is in
the first name / value pair) or the
terminating NULL if all was successful.
@retval EFI_SUCCESS The results have been distributed or are
awaiting distribution.
@retval EFI_SUCCESS The results have been distributed or are
awaiting distribution.
@retval EFI_OUT_OF_MEMORY Not enough memory to store the
parts of the results that must be
stored awaiting possible future
protocols.
@retval EFI_OUT_OF_MEMORY Not enough memory to store the
parts of the results that must be
stored awaiting possible future
protocols.
@retval EFI_INVALID_PARAMETERS Passing in a NULL for the
Results parameter would result
in this type of error.
@retval EFI_NOT_FOUND Target for the specified routing data
was not found
@retval EFI_NOT_FOUND Target for the specified routing data
was not found
**/
typedef
@ -220,20 +218,19 @@ 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.
@param Block Array of bytes defining the block's
configuration.
@param Block Array of bytes defining the block's
configuration.
@param BlockSize Length in bytes of Block.
@param Config Filled-in configuration string. String
allocated by the function. Returned only if
call is successful.
@param Config Filled-in configuration string. String
allocated by the function. Returned only if
call is successful.
@param Progress A pointer to a string filled in with the
offset of the most recent '&' before the
@ -242,12 +239,13 @@ EFI_STATUS
the first 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
ConfigRequest string.
@retval EFI_OUT_OF_MEMORY Not enough memory to allocate
Config. Progress points to the
first character of ConfigRequest.
@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.
@retval EFI_INVALID_PARAMETERS Passing in a NULL for the
ConfigRequest or Block
@ -256,11 +254,11 @@ EFI_STATUS
to the first character of
ConfigRequest.
@retval EFI_NOT_FOUND Target for the specified routing data
was not found. Progress points to the
'G' in "GUID" of the errant routing
data. EFI_DEVICE_ERROR Block not large
enough. Progress undefined.
@retval EFI_NOT_FOUND Target for the specified routing data
was not found. Progress points to the
'G' in "GUID" of the errant routing
data. EFI_DEVICE_ERROR Block not large
enough. Progress undefined.
@retval EFI_INVALID_PARAMETER Encountered non <BlockName>
formatted string. Block is
@ -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 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
@ -314,18 +310,31 @@ EFI_STATUS
parameter is updated and an appropriate
status (see below) is returned.
@param BlockSize The length of the Block in units of UINT8.
On input, this is the size of the Block. On
output, if successful, contains the index of
the last modified byte in the Block.
@param BlockSize The length of the Block in units of UINT8.
On input, this is the size of the Block. On
output, if successful, contains the index of
the last modified byte in the Block.
@param Progress On return, points to an element of the
ConfigResp string filled in with the offset
of the most recent "&" before the first
failing name / value pair (or the beginning
of the string if the failure is in the first
name / value pair) or the terminating NULL
if all was successful.
@param Progress On return, points to an element of the
ConfigResp string filled in with the offset
of the most recent "&" before the first
failing name / value pair (or the beginning
of the string if the failure is in the first
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
@ -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,51 +390,38 @@ 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 {

View File

@ -47,9 +47,10 @@ 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
list which contains the specified 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
database. See
@ -79,25 +80,22 @@ 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.
@retval EFI_SUCCESS The package list associated with the
Handle was added to the HII database.
@retval EFI_OUT_OF_RESOURCES Unable to allocate necessary
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,14 +117,13 @@ 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.
@param Handle The handle that was registered to the data
that is requested for removal.
@retval EFI_SUCCESS The data associated with the Handle was
removed from the HII database.
@retval EFI_SUCCESS The data associated with the Handle was
removed from the HII database.
@retval EFI_NOT_FOUND The specified Handle is not in database.
**/
@ -161,20 +158,18 @@ 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.
@param Handle The handle that was registered to the data
that is requested for removal.
@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.
@retval EFI_OUT_OF_RESOURCES Unable to allocate enough memory
for the updated database.
@retval EFI_INVALID_PARAMETER PackageList was NULL.
@retval EFI_NOT_FOUND The specified Handle is not in database.
@ -196,45 +191,39 @@ 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
all packages to be listed.
@param PackageType Specifies the package type of the packages
to list or EFI_HII_PACKAGE_TYPE_ALL for
all packages to be listed.
@param PackageGuid If PackageType is
EFI_HII_PACKAGE_TYPE_GUID, then this is
the pointer to the GUID which must match
the Guid field of
EFI_HII_PACKAGE_GUID_HEADER. Otherwise, it
must be NULL.
@param PackageGuid If PackageType is
EFI_HII_PACKAGE_TYPE_GUID, then this is
the pointer to the GUID which must match
the Guid field of
EFI_HII_PACKAGE_GUID_HEADER. Otherwise, it
must be NULL.
@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.
@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
@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
handles. HandleBufferLength is
updated with a value that will
enable the data to fit.
@retval EFI_NOT_FOUND No matching handle could not be found in database.
@retval EFI_INVALID_PARAMETER Handle or HandleBufferLength was NULL.
@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.
@retval EFI_NOT_FOUND No matching handle could not be found in database.
@retval EFI_INVALID_PARAMETER Handle or HandleBufferLength was NULL.
@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
@ -243,14 +232,9 @@ EFI_STATUS
IN UINT8 PackageType,
IN CONST EFI_GUID *PackageGuid,
IN OUT UINTN *HandleBufferLength,
OUT EFI_HII_HANDLE *Handle
OUT EFI_HII_HANDLE *Handle
);
/**
This function will export one or all package lists in the
@ -263,27 +247,26 @@ 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
export or NULL to indicate all package lists
should be exported.
@param Handle An EFI_HII_HANDLE that corresponds to the
desired package list in the HII database to
export or NULL to indicate all package lists
should be exported.
@param BufferSize On input, a pointer to the length of the
buffer. On output, the length of the
buffer that is required for the exported
data.
@param Buffer A pointer to a buffer that will contain the
results of the export function.
@param Buffer A pointer to a buffer that will contain the
results of the export function.
@retval EFI_SUCCESS Package exported.
@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,44 +292,42 @@ 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.
@param PackageType The package type. See
EFI_HII_PACKAGE_TYPE_x in EFI_HII_PACKAGE_HEADER.
@param PackageGuid If PackageType is
EFI_HII_PACKAGE_TYPE_GUID, then this is
the pointer to the GUID which must match
the Guid field of
EFI_HII_PACKAGE_GUID_HEADER. Otherwise, it
must be NULL.
@param PackageGuid If PackageType is
EFI_HII_PACKAGE_TYPE_GUID, then this is
the pointer to the GUID which must match
the Guid field of
EFI_HII_PACKAGE_GUID_HEADER. Otherwise, it
must be NULL.
@param PackageNotifyFn Points to the function to be called
when the event specified by
NotificationType occurs. See
EFI_HII_DATABASE_NOTIFY.
@param NotifyType Describes the types of notification which
this function will be receiving. See
EFI_HII_DATABASE_NOTIFY_TYPE for more a
list of types.
@param NotifyType Describes the types of notification which
this function will be receiving. See
EFI_HII_DATABASE_NOTIFY_TYPE for more a
list of types.
@param NotifyHandle Points to the unique handle assigned to
the registered notification. Can be used
in
EFI_HII_DATABASE_PROTOCOL.UnregisterPack
to stop notifications.
@param NotifyHandle Points to the unique handle assigned to
the registered notification. Can be used
in EFI_HII_DATABASE_PROTOCOL.UnregisterPack
to stop notifications.
@retval EFI_SUCCESS Notification registered successfully.
@retval EFI_SUCCESS Notification registered successfully.
@retval EFI_OUT_OF_RESOURCES Unable to allocate necessary
data structures.
@retval EFI_INVALID_PARAMETER PackageGuid is not NULL when
PackageType is not
EFI_HII_PACKAGE_TYPE_GUID.
@retval EFI_INVALID_PARAMETER PackageGuid is not NULL when
PackageType is not
EFI_HII_PACKAGE_TYPE_GUID.
**/
typedef
@ -365,17 +346,15 @@ 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.
in current hii database.
**/
typedef
@ -391,17 +370,18 @@ EFI_STATUS
This routine retrieves an array of GUID values for each keyboard
layout that was previously registered in the system.
@param This A pointer to the EFI_HII_PROTOCOL instance.
@param This A pointer to the EFI_HII_PROTOCOL instance.
@param KeyGuidBufferLength On input, a pointer to the length
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.
@retval EFI_SUCCESS KeyGuidBuffer was updated successfully.
@retval EFI_BUFFER_TOO_SMALL The KeyGuidBufferLength
parameter indicates that
@ -428,20 +408,23 @@ EFI_STATUS
character(s) that are associated with a particular set of key
strokes.
@param This A pointer to the EFI_HII_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. If KeyGuid is NULL then
the current layout will be retrieved.
@param KeyGuid A pointer to the unique ID associated with a
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.
@param KeyboardLayout A pointer to a buffer containing the
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,18 +445,15 @@ 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.
@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.
@retval EFI_NOT_FOUND The referenced keyboard layout was not
found, so action was taken.
**/
typedef
@ -487,22 +467,19 @@ 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
HIIdatabase.
@param DriverHandle On return, contains the EFI_HANDLE which
was registered with the package list in
NewPackageList().
@param DriverHandle On return, contains the EFI_HANDLE which
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
);
/**
@param NewPackageList Add a new package list to the HII
database.
@par Protocol Description:
Database manager for HII-related data structures.
@param NewPackageList Add a new package list to the HII database.
@param RemovePackageList Remove a package list from the HII
database.
@ -530,15 +508,17 @@ EFI_STATUS
@param ExportPackageLists Export package lists from the HII
database.
@param RegisterPackageNotify Register notification when
packages of a certain type are
installed.
@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
layouts in the system.
@param FindKeyboardLayouts
Retrieves a list of the keyboard
layouts in the system.
@param GetKeyboardLayout Allows a program to extract the
current keyboard layout. See the

View File

@ -42,18 +42,17 @@ typedef UINT32 EFI_HII_OUT_FLAGS;
Definition of EFI_HII_ROW_INFO.
@param StartIndex The index of the first character in the
string which is displayed on the line.
@param StartIndex The index of the first character in the
string which is displayed on the line.
@param EndIndex The index of the last character in the string
which is displayed on the line. If this is the
same as StartIndex, then no characters are
displayed.
@param EndIndex The index of the last character in the string
which is displayed on the line. If this is the
same as StartIndex, then no characters are
displayed.
@param LineHeight The height of the line, in pixels.
@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,20 +128,21 @@ 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.
@param BackgroundColor The color of the "off" pixels in the
glyph in the bitmap.
@param FontInfoMask The font information mask determines
which portion of the font information
will be used and what to do if the
specific font is not available.
@param FontInfoMask The font information mask determines
which portion of the font information
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,
@ -196,45 +196,44 @@ typedef struct _EFI_FONT_DISPLAY_INFO {
directly to the output device specified by Screen. Otherwise the
string will be rendered to the bitmap specified by Bitmap.
@param This A pointer to the EFI_HII_FONT_PROTOCOL instance.
@param This A pointer to the EFI_HII_FONT_PROTOCOL instance.
@param Flags Describes how the string is to be drawn.
@param Flags Describes how the string is to be drawn.
@param String Points to the null-terminated string to be
displayed.
@param String Points to the null-terminated string to be
@param StringInfo Points to the string output information,
including the color and font. If NULL, then
the string will be output in the default
system font and color.
@param StringInfo Points to the string output information,
including the color and font. If NULL, then
the string will be output in the default
system font and color.
@param Blt If this points to a non-NULL on entry, this points
to the image, which is Width pixels wide and
Height pixels high. The string will be drawn onto
this image and EFI_HII_OUT_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
responsibility to free this buffer.
@param Blt If this points to a non-NULL on entry, this points
to the image, which is Width pixels wide and
Height pixels high. The string will be drawn onto
this image and EFI_HII_OUT_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
responsibility to free this buffer.
@param BltX, BltY Specifies the offset from the left and top
edge of the image of the first character
cell in the image.
@param BltX, BltY Specifies the offset from the left and top
edge of the image of the first character
cell in the image.
@param RowInfoArray If this is non-NULL on entry, then on
exit, this will point to an allocated buffer
containing row information and
RowInfoArraySize will be updated to contain
the number of elements. This array describes
the characters which were at least partially
drawn and the heights of the rows. It is the
caller's responsibility to free this buffer.
@param RowInfoArray If this is non-NULL on entry, then on
exit, this will point to an allocated buffer
containing row information and
RowInfoArraySize will be updated to contain
the number of elements. This array describes
the characters which were at least partially
drawn and the heights of the rows. It is the
caller's responsibility to free this buffer.
@param RowInfoArraySize If this is non-NULL on entry, then on
exit it contains the number of
elements in RowInfoArray.
@param ColumnInfoArray If this is non-NULL, then on return it
@param ColumnInfoArray If this is non-NULL, then on return it
will be filled with the horizontal
offset for each character in the
string on the row where it is
@ -248,14 +247,13 @@ typedef struct _EFI_FONT_DISPLAY_INFO {
normalized that some character cells
overlap.
@retval EFI_SUCCESS The string was successfully updated.
@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
@ -320,12 +318,13 @@ EFI_STATUS
by Bitmap.
@param This A pointer to the EFI_HII_FONT_PROTOCOL instance.
@param This A pointer to the EFI_HII_FONT_PROTOCOL instance.
@param Flags Describes how the string is to be drawn.
@param Flags Describes how the string is to be drawn.
@param PackageList The package list in the HII database to
search for the specified 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.
@ -339,28 +338,28 @@ EFI_STATUS
the string will be output in the default
system font and color.
@param Blt If this points to a non-NULL on entry, this points
to the image, which is Width pixels wide and
Height pixels high. The string will be drawn onto
this image and EFI_HII_OUT_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
responsibility to free this buffer.
@param Blt If this points to a non-NULL on entry, this points
to the image, which is Width pixels wide and
Height pixels high. The string will be drawn onto
this image and EFI_HII_OUT_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
responsibility to free this buffer.
@param BltX, BltY Specifies the offset from the left and top
edge of the output image of the first
character cell in the image.
@param RowInfoArray If this is non-NULL on entry, then on
exit, this will point to an allocated
buffer containing row information and
RowInfoArraySize will be updated to
contain the number of elements. This array
describes the characters which were at
least partially drawn and the heights of
the rows. It is the caller's
responsibility to free this buffer.
@param RowInfoArray If this is non-NULL on entry, then on
exit, this will point to an allocated
buffer containing row information and
RowInfoArraySize will be updated to
contain the number of elements. This array
describes the characters which were at
least partially drawn and the heights of
the rows. It is the caller's
responsibility to free this buffer.
@param RowInfoArraySize If this is non-NULL on entry, then on
exit it contains the number of
@ -380,7 +379,7 @@ EFI_STATUS
some character cells overlap.
@retval EFI_SUCCESS The string was successfully updated.
@retval EFI_SUCCESS The string was successfully updated.
@retval EFI_OUT_OF_RESOURCES Unable to allocate an output
buffer for RowInfoArray or Blt.
@ -388,9 +387,9 @@ EFI_STATUS
@retval EFI_INVALID_PARAMETER The String or Blt or Height or
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_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.
**/
typedef
@ -415,34 +414,33 @@ EFI_STATUS
Convert the glyph for a single character into a bitmap.
@param This A pointer to the EFI_HII_FONT_PROTOCOL instance.
@param This A pointer to the EFI_HII_FONT_PROTOCOL instance.
@param Char Character to retrieve.
@param Char Character to retrieve.
@param StringInfo Points to the string font and color
information or NULL if the string should use
the default system font and color.
@param Blt Thus must point to a NULL on entry. A buffer will
be allocated to hold the output and the pointer
updated on exit. It is the caller's responsibility
to free this buffer.
@param Blt Thus must point to a NULL on entry. A buffer will
be allocated to hold the output and the pointer
updated on exit. It is the caller's responsibility
to free this buffer.
@param Baseline Number of pixels from the bottom of the bitmap
to the baseline.
@param Baseline Number of pixels from the bottom of the bitmap
to the baseline.
@retval EFI_SUCCESS Glyph bitmap created.
@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
Unicode character 0xFFFD.
@retval EFI_INVALID_PARAMETER Blt is NULL or Width is NULL or
Height is NULL
@retval EFI_INVALID_PARAMETER Blt is NULL or Width is NULL or
Height is NULL
**/
@ -463,29 +461,29 @@ EFI_STATUS
all of the characters in the string must exist in order for a
candidate font to be returned.
@param This A pointer to the EFI_HII_FONT_PROTOCOL instance.
@param This A pointer to the EFI_HII_FONT_PROTOCOL instance.
@param FontHandle On entry, points to the font handle returned
by a previous call to GetFontInfo() or NULL
to start with the first font. On return,
points to the returned font handle or points
to NULL if there are no more matching fonts.
@param FontHandle On entry, points to the font handle returned
by a previous call to GetFontInfo() or NULL
to start with the first font. On return,
points to the returned font handle or points
to NULL if there are no more matching fonts.
@param StringInfoIn Upon entry, points to the font to return
information about. If NULL, then the information about the system default
font will be returned.
@param StringInfoIn Upon entry, points to the font to return
information about. If NULL, then the information about the system default
font will be returned.
@param StringInfoOut Upon return, contains the matching
font's information. If NULL, then no
information is returned.
@param String Points to the string which will be tested to
determine if all characters are available. If
NULL, then any font is acceptable.
@param String Points to the string which will be tested to
determine if all characters are available. If
NULL, then any font is acceptable.
@retval EFI_SUCCESS Matching font returned successfully.
@retval EFI_SUCCESS Matching font returned successfully.
@retval EFI_NOT_FOUND No matching font was found.
@retval EFI_NOT_FOUND No matching font was found.
@retval EFI_INVALID_PARAMETER StringInfoIn->FontInfoMask is an invalid combination.
@ -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 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,14 +58,14 @@ 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.
@param ImageId On return, contains the new image id, which is
unique within PackageList.
@param Image Points to the image.
@param Image Points to the image.
@retval EFI_SUCCESS The new image was added
successfully
@ -98,25 +98,24 @@ 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.
@param ImageId The image's id, which is unique within
PackageList.
@param ImageId The image's id, which is unique within
PackageList.
@param Image Points to the new image.
@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.
@retval EFI_SUCCESS The image was returned successfully.
@retval EFI_NOT_FOUND The image specified by ImageId is not
available. Or The specified PackageList is not in the database.
@retval EFI_INVALID_PARAMETER The Image or Langugae was NULL.
@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
enough memory.
enough memory.
**/
@ -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.
@param Image Points to the image.
@retval EFI_SUCCESS The image was successfully updated.
@retval EFI_SUCCESS The image was successfully updated.
@retval EFI_NOT_FOUND The image specified by ImageId is not
in the database.
The specified PackageList 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,29 +214,28 @@ 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
Definitions, below.
@param Flags Describes how the image is to be drawn.
EFI_HII_DRAW_FLAGS is defined in Related
Definitions, below.
@param Image Points to the image to be displayed.
@param Image Points to the image to be displayed.
@param Blt If this points to a non-NULL on entry, this points
to the image, which is Width pixels wide and
Height pixels high. The image will be drawn onto
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
responsibility to free this buffer.
@param Blt If this points to a non-NULL on entry, this points
to the image, which is Width pixels wide and
Height pixels high. The image will be drawn onto
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
responsibility to free this buffer.
@param BltX, BltY Specifies the offset from the left and top
edge of the image of the first pixel in
the image.
@param BltX, BltY Specifies the offset from the left and top
edge of the image of the first pixel in
the image.
@retval EFI_SUCCESS The image was successfully updated.
@retval EFI_SUCCESS The image was successfully updated.
@retval EFI_OUT_OF_RESOURCES Unable to allocate an output
buffer for RowInfoArray or Blt.
@ -284,50 +278,49 @@ 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 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
Height pixels high. The image will be drawn onto
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
responsibility to free this buffer.
@param Blt If this points to a non-NULL on entry, this points
to the image, which is Width pixels wide and
Height pixels high. The image will be drawn onto
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
responsibility to free this buffer.
@param BltX, BltY Specifies the offset from the left and top
edge of the output image of the first
pixel in the image.
@retval EFI_SUCCESS The image was successfully updated.
@retval EFI_SUCCESS The image was successfully updated.
@retval EFI_OUT_OF_RESOURCES Unable to allocate an output
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.
@retval EFI_INVALID_PARAMETER The Blt was NULL.
@retval EFI_NOT_FOUND The image specified by ImageId is not in the database.
Or The specified PackageList is not in the database.
@retval EFI_INVALID_PARAMETER The Blt was NULL.
**/
typedef
@ -344,19 +337,20 @@ IN UINTN BltY
/**
@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.
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 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 Language Points to the language for the new string.
@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. 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.
@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 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.
@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,58 +68,35 @@ 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.
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.
@param This A pointer to the EFI_HII_STRING_PROTOCOL instance.
@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 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.
@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 or StringSize was NULL.
@retval EFI_OUT_OF_RESOURCES There were insufficient resources to complete the
request.
@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 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.
@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
hold the string.
@retval EFI_INVALID_PARAMETER The String or Language was NULL.
**/
typedef
EFI_STATUS
@ -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 This A pointer to the EFI_HII_STRING_PROTOCOL instance.
@param PackageList The package list containing the strings.
@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 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
PackageList.
@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.
@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_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_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_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.
@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.
@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 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_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 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 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 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
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_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_NOT_FOUND The specified PackageList is not in the Database.
**/
typedef
@ -279,15 +215,16 @@ EFI_STATUS
/**
@par Protocol Description:
Services to manipulate the string.
@param NewString Add a new string. GetString Retrieve a
string and related string information.
@param NewString Add a new string. GetString Retrieve a
string and related string information.
@param SetString Change a string.
@param SetString Change a string.
@param GetLanguages List the languages for a particular
package list.
@param GetLanguages List the languages for a particular
package list.
@param GetSecondaryLanguages List supported secondary
languages for a particular

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.
@ -200,7 +200,7 @@ EFI_STATUS
IPv4 address or subnet mask can be changed. The interface must
also be stopped when switching to/from raw packet mode.
@retval EFI_DEVICE_ERROR An unexpected system or network error occurred. The EFI IPv4
Protocol driver instance is not opened.
Protocol driver instance is not opened.
**/
typedef
@ -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
@ -43,7 +43,7 @@ extern EFI_GUID gPcdProtocolGuid;
set for that Id, the results are unpredictable.
@param[in] SkuId The SKU value that will be used when the PCD service will retrieve and
set values associated with a PCD token.
set values associated with a PCD token.
@retval VOID
@ -201,7 +201,7 @@ UINTN
specified by Guid does not exist, the results are
unpredictable.
@param[in] Guid The token space for the token number.
@param[in] Guid The token space for the token number.
@param[in] TokenNumber The PCD token number.
@return The size 8-bit value for the PCD token.
@ -224,7 +224,7 @@ UINT8
specified by Guid does not exist, the results are
unpredictable.
@param[in] Guid The token space for the token number.
@param[in] Guid The token space for the token number.
@param[in] TokenNumber The PCD token number.
@return The size 16-bit value for the PCD token.
@ -247,7 +247,7 @@ UINT16
specified by Guid does not exist, the results are
unpredictable.
@param[in] Guid The token space for the token number.
@param[in] Guid The token space for the token number.
@param[in] TokenNumber The PCD token number.
@return The size 32-bit value for the PCD token.
@ -270,7 +270,7 @@ UINT32
specified by Guid does not exist, the results are
unpredictable.
@param[in] Guid The token space for the token number.
@param[in] Guid The token space for the token number.
@param[in] TokenNumber The PCD token number.
@return The size 64-bit value for the PCD token.
@ -293,7 +293,7 @@ UINT64
is returned by this function call. If the TokenNumber is invalid,
the results are unpredictable.
@param[in] Guid The token space for the token number.
@param[in] Guid The token space for the token number.
@param[in] TokenNumber The PCD token number.
@return The pointer to the buffer to be retrived.
@ -316,7 +316,7 @@ VOID *
specified by Guid does not exist, the results are
unpredictable.
@param[in] Guid The token space for the token number.
@param[in] Guid The token space for the token number.
@param[in] TokenNumber The PCD token number.
@return The size Boolean value for the PCD token.
@ -337,7 +337,7 @@ BOOLEAN
Retrieves the current size of a particular PCD token.
If the TokenNumber is invalid, the results are unpredictable.
@param[in] Guid The token space for the token number.
@param[in] Guid The token space for the token number.
@param[in] TokenNumber The PCD token number.
@return The size of the value for the PCD token.
@ -360,7 +360,7 @@ UINTN
If it is not, an error will be returned.
@param[in] TokenNumber The PCD token number.
@param[in] Value The value to set for the PCD token.
@param[in] Value The value to set for the PCD token.
@retval EFI_SUCCESS Procedure returned successfully.
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
@ -386,7 +386,7 @@ EFI_STATUS
If it is not, an error will be returned.
@param[in] TokenNumber The PCD token number.
@param[in] Value The value to set for the PCD token.
@param[in] Value The value to set for the PCD token.
@retval EFI_SUCCESS Procedure returned successfully.
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
@ -412,7 +412,7 @@ EFI_STATUS
If it is not, an error will be returned.
@param[in] TokenNumber The PCD token number.
@param[in] Value The value to set for the PCD token.
@param[in] Value The value to set for the PCD token.
@retval EFI_SUCCESS Procedure returned successfully.
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
@ -438,7 +438,7 @@ EFI_STATUS
If it is not, an error will be returned.
@param[in] TokenNumber The PCD token number.
@param[in] Value The value to set for the PCD token.
@param[in] Value The value to set for the PCD token.
@retval EFI_SUCCESS Procedure returned successfully.
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
@ -463,12 +463,12 @@ EFI_STATUS
size of the value being set is compatible with the Token's existing definition.
If it is not, an error will be returned.
@param[in] TokenNumber The PCD token number.
@param[in] TokenNumber The PCD token number.
@param[in, out] SizeOfBuffer A pointer to the length of the value being set for the PCD token.
On input, if the SizeOfValue is greater than the maximum size supported
for this TokenNumber then the output value of SizeOfValue will reflect
the maximum size supported for this TokenNumber.
@param[in] Buffer The buffer to set for the PCD token.
On input, if the SizeOfValue is greater than the maximum size supported
for this TokenNumber then the output value of SizeOfValue will reflect
the maximum size supported for this TokenNumber.
@param[in] Buffer The buffer to set for the PCD token.
@retval EFI_SUCCESS Procedure returned successfully.
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
@ -495,7 +495,7 @@ EFI_STATUS
If it is not, an error will be returned.
@param[in] TokenNumber The PCD token number.
@param[in] Value The value to set for the PCD token.
@param[in] Value The value to set for the PCD token.
@retval EFI_SUCCESS Procedure returned successfully.
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
@ -520,9 +520,9 @@ EFI_STATUS
size of the value being set is compatible with the Token's existing definition.
If it is not, an error will be returned.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in] TokenNumber The PCD token number.
@param[in] Value The value to set for the PCD token.
@param[in] Value The value to set for the PCD token.
@retval EFI_SUCCESS Procedure returned successfully.
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
@ -548,9 +548,9 @@ EFI_STATUS
size of the value being set is compatible with the Token's existing definition.
If it is not, an error will be returned.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in] TokenNumber The PCD token number.
@param[in] Value The value to set for the PCD token.
@param[in] Value The value to set for the PCD token.
@retval EFI_SUCCESS Procedure returned successfully.
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
@ -576,9 +576,9 @@ EFI_STATUS
size of the value being set is compatible with the Token's existing definition.
If it is not, an error will be returned.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in] TokenNumber The PCD token number.
@param[in] Value The value to set for the PCD token.
@param[in] Value The value to set for the PCD token.
@retval EFI_SUCCESS Procedure returned successfully.
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
@ -604,9 +604,9 @@ EFI_STATUS
size of the value being set is compatible with the Token's existing definition.
If it is not, an error will be returned.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in] TokenNumber The PCD token number.
@param[in] Value The value to set for the PCD token.
@param[in] Value The value to set for the PCD token.
@retval EFI_SUCCESS Procedure returned successfully.
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
@ -632,13 +632,13 @@ EFI_STATUS
size of the value being set is compatible with the Token's existing definition.
If it is not, an error will be returned.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in] TokenNumber The PCD token number.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in] TokenNumber The PCD token number.
@param[in, out] SizeOfBuffer A pointer to the length of the value being set for the PCD token.
On input, if the SizeOfValue is greater than the maximum size supported
for this TokenNumber then the output value of SizeOfValue will reflect
the maximum size supported for this TokenNumber.
@param[in] Buffer The buffer to set for the PCD token.
@param[in] Buffer The buffer to set for the PCD token.
@retval EFI_SUCCESS Procedure returned successfully.
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
@ -665,9 +665,9 @@ EFI_STATUS
size of the value being set is compatible with the Token's existing definition.
If it is not, an error will be returned.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in] TokenNumber The PCD token number.
@param[in] Value The value to set for the PCD token.
@param[in] Value The value to set for the PCD token.
@retval EFI_SUCCESS Procedure returned successfully.
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
@ -697,10 +697,10 @@ EFI_STATUS
TokenData will be used by PCD service DXE driver to modify the internal data in
PCD database.
@param[in] CallBackGuid The PCD token GUID being set.
@param[in] CallBackToken The PCD token number being set.
@param[in, out] TokenData A pointer to the token data being set.
@param[in] TokenDataSize The size, in bytes, of the data being set.
@param[in] CallBackGuid The PCD token GUID being set.
@param[in] CallBackToken The PCD token number being set.
@param[in, out] TokenData A pointer to the token data being set.
@param[in] TokenDataSize The size, in bytes, of the data being set.
@retval VOID
@ -719,11 +719,11 @@ VOID
/**
Specifies a function to be called anytime the value of a designated token is changed.
@param[in] TokenNumber The PCD token number.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in] CallBackFunction The function prototype called when the value associated with the CallBackToken is set.
@param[in] TokenNumber The PCD token number.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in] CallBackFunction The function prototype called when the value associated with the CallBackToken is set.
@retval EFI_SUCCESS The PCD service has successfully established a call event
@retval EFI_SUCCESS The PCD service has successfully established a call event
for the CallBackToken requested.
@retval EFI_NOT_FOUND The PCD service could not find the referenced token number.
@ -741,11 +741,11 @@ EFI_STATUS
/**
Cancels a previously set callback function for a particular PCD token number.
@param[in] TokenNumber The PCD token number.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in] TokenNumber The PCD token number.
@param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
@param[in] CallBackFunction The function prototype called when the value associated with the CallBackToken is set.
@retval EFI_SUCCESS The PCD service has successfully established a call event
@retval EFI_SUCCESS The PCD service has successfully established a call event
for the CallBackToken requested.
@retval EFI_NOT_FOUND The PCD service could not find the referenced token number.
@ -763,16 +763,17 @@ 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.
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
there is no valid token number for this token namespace, *TokenNumber will be assigned to
0 and the function return EFI_SUCCESS. If the token number is the last valid token number,
*TokenNumber will be assigned to 0 and the function return EFI_SUCCESS.
@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.
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
there is no valid token number for this token namespace, *TokenNumber will be assigned to
0 and the function return EFI_SUCCESS. If the token number is the last valid token number,
*TokenNumber will be assigned to 0 and the function return EFI_SUCCESS.
@retval EFI_SUCCESS The PCD service retrieved the next valid token number. Or the input token number
@retval EFI_SUCCESS The PCD service retrieved the next valid token number. Or the input token number
is already the last valid token number in the PCD database.
In the later case, *TokenNumber is updated with the value of 0.
@retval EFI_NOT_FOUND If this input token number and token namespace does not exist on the platform.
@ -791,16 +792,16 @@ EFI_STATUS
Retrieves the next valid PCD token namespace for a given namespace.
@param[in, out] Guid An indirect pointer to EFI_GUID. On input it designates
a known token namespace from which the search will start. On output,
it designates the next valid token namespace on the platform. If the input
token namespace does not exist on the platform, an error is returned and
the value of *Guid is undefined. If *Guid is NULL, then the GUID of the
first token space of the current platform is assigned to *Guid the function
return EFI_SUCCESS. If *Guid is NULL and there is no namespace exist in
the platform other than the default (NULL) tokennamespace, *Guid is unchanged
and the function return EFI_SUCCESS. If this input token namespace is the last
namespace on the platform, *Guid will be assigned to NULL and the function return
EFI_SUCCESS.
a known token namespace from which the search will start. On output,
it designates the next valid token namespace on the platform. If the input
token namespace does not exist on the platform, an error is returned and
the value of *Guid is undefined. If *Guid is NULL, then the GUID of the
first token space of the current platform is assigned to *Guid the function
return EFI_SUCCESS. If *Guid is NULL and there is no namespace exist in
the platform other than the default (NULL) tokennamespace, *Guid is unchanged
and the function return EFI_SUCCESS. If this input token namespace is the last
namespace on the platform, *Guid will be assigned to NULL and the function return
EFI_SUCCESS.
@retval EFI_SUCCESS The PCD service retrieved the next valid token space Guid.
Or the input token space Guid is already the last valid token space Guid
@ -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,75 +48,73 @@ 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.
@param ControllerHandle The handle the platform will return
configuration information about.
@param ChildHandle The handle of the child controller to
return information on. This is an optional
parameter that may be NULL. It will be
NULL for device drivers, and for bus
drivers that attempt to get options for
the bus controller. It will not be NULL
for a bus driver that attempts to get
options for one of its child controllers.
@param ChildHandle The handle of the child controller to
return information on. This is an optional
parameter that may be NULL. It will be
NULL for device drivers, and for bus
drivers that attempt to get options for
the bus controller. It will not be NULL
for a bus driver that attempts to get
options for one of its child controllers.
@param Instance Pointer to the Instance value. On output the
instance associated with the parameter data
return. On input zero means return the first
query data or pass in a valid instance
number returned from a previous call to
Query.
@param Instance Pointer to the Instance value. On output the
instance associated with the parameter data
return. On input zero means return the first
query data or pass in a valid instance
number returned from a previous call to
Query.
@param ParameterTypeGuid An EFI_GUID that defines the
contents of ParameterBlock. UEFI
drivers must use the
ParameterTypeGuid to determine how
to parser the ParameterBlock.
@param ParameterTypeGuid An EFI_GUID that defines the
contents of ParameterBlock. UEFI
drivers must use the
ParameterTypeGuid to determine how
to parser the ParameterBlock.
@param ParameterBlock The platform returns a pointer to the
ParameterBlock structure which
contains details about the
configuration parameters specific to
the ParameterTypeGuid. This structure
is defined based on the protocol and
may be different for different
protocols. UEFI driver decodes this
structure and its contents based on
ProtocolGuid. ParameterBlock is
allocated by the platform and the
platform is responsible for freeing
the ParameterBlock after Result is
called.
@param ParameterBlock The platform returns a pointer to the
ParameterBlock structure which
contains details about the
configuration parameters specific to
the ParameterTypeGuid. This structure
is defined based on the protocol and
may be different for different
protocols. UEFI driver decodes this
structure and its contents based on
ProtocolGuid. ParameterBlock is
allocated by the platform and the
platform is responsible for freeing
the ParameterBlock after Result is
called.
@param ParameterBlockSize The platform returns the size of
the ParameterBlock in bytes.
@retval EFI_SUCCESS The platform return parameter
information for ControllerHandle.
@retval EFI_SUCCESS The platform return parameter
information for ControllerHandle.
@retval EFI_NOT_FOUND No more unread Instance exists.
@retval EFI_NOT_FOUND No more unread Instance exists.
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid
EFI_HANDLE.
@retval EFI_INVALID_PARAMETER Instance is NULL.
@retval EFI_DEVICE_ERROR A device error occurred while
attempting to return parameter block
information for the controller
specified by ControllerHandle and
ChildHandle.
@retval EFI_DEVICE_ERROR A device error occurred while
attempting to return parameter block
information for the controller
specified by ControllerHandle and
ChildHandle.
@retval EFI_OUT_RESOURCES There are not enough resources
available to set the configuration
options for the controller specified
by ControllerHandle and ChildHandle.
@retval EFI_OUT_RESOURCES There are not enough resources
available to set the configuration
options for the controller specified
by ControllerHandle and ChildHandle.
**/
@ -205,45 +203,40 @@ 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.
@param ControllerHandle The handle the driver is returning
configuration information about.
@param ChildHandle The handle of the child controller to
return information on. This is an optional
parameter that may be NULL. It will be
NULL for device drivers, and for bus
drivers that attempt to get options for
the bus controller. It will not be NULL
for a bus driver that attempts to get
options for one of its child controllers.
Instance Instance data returned from
Query().
@param ChildHandle The handle of the child controller to
return information on. This is an optional
parameter that may be NULL. It will be
NULL for device drivers, and for bus
drivers that attempt to get options for
the bus controller. It will not be NULL
for a bus driver that attempts to get
options for one of its child controllers.
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 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
take effect.
@param Configuration ActionThe driver tells the platform what
action is required for ParameterBlock to
take effect.
@retval EFI_SUCCESS The platform return parameter information
for ControllerHandle.
@retval EFI_SUCCESS The platform return parameter information
for ControllerHandle.
@retval EFI_NOT_FOUND Instance was not found.
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid
EFI_HANDLE.
@retval EFI_NOT_FOUND Instance was not found.
@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
@ -273,9 +267,9 @@ EFI_STATUS
understand the data returned via Query() and thus no action was
taken.
@param Query Called by the UEFI Driver Start() function to
get configuration information from the
platform.
@param Query Called by the UEFI Driver Start() function to
get configuration information from the
platform.
@param Response Called by the UEFI Driver Start() function
to let the platform know how UEFI driver
@ -305,24 +299,23 @@ struct _EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL {
parameter block definition, newer ParameterTypeGuid will be
used.
@param CLPCommand A pointer to the DMTF SM CLP command line
null-terminated string that the driver is
required to parse and process when this
EFI_SUCCESS The platform return parameter
information for ControllerHandle.
EFI_NOT_FOUND Instance was not found.
EFI_INVALID_PARAMETER ControllerHandle is
not a valid EFI_HANDLE.
EFI_INVALID_PARAMETER Instance is zero.
function is called. See the DMTF SM CLP
Specification 1.0 Final Standard for
details on the format and syntax of the
CLP command line string. CLPCommand buffer
is allocated by the producer of the
EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOOL.
@param CLPCommand A pointer to the DMTF SM CLP command line
null-terminated string that the driver is
required to parse and process when this
EFI_SUCCESS The platform return parameter
information for ControllerHandle.
EFI_NOT_FOUND Instance was not found.
EFI_INVALID_PARAMETER ControllerHandle is
not a valid EFI_HANDLE.
EFI_INVALID_PARAMETER Instance is zero.
function is called. See the DMTF SM CLP
Specification 1.0 Final Standard for
details on the format and syntax of the
CLP command line string. CLPCommand buffer
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
@ -312,7 +314,38 @@ EFI_STATUS
IN OUT UINT8 **Target
)
;
/**
@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
@ -48,7 +46,7 @@ typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL EFI_SIMPLE_TEXT_INPUT_EX_PROTO
device during reset.
@retval EFI_SUCCESS The device was reset.
@retval EFI_SUCCESS The device was reset.
@retval EFI_DEVICE_ERROR The device is not functioning
correctly and could not be reset.
@ -89,8 +87,8 @@ typedef struct _EFI_KEY_STATE {
/**
Definition of EFI_KEY_DATA.
@param Key The EFI scan code and Unicode value returned from
the input device.
@param Key The EFI scan code and Unicode value returned from
the input device.
@param KeyState The current state of various toggled
attributes as well as input modifier values.
@ -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,15 +211,13 @@ 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.
@retval EFI_SUCCESS The device state was set appropriately.
@retval EFI_SUCCESS The device state was set appropriately.
@retval EFI_DEVICE_ERROR The device is not functioning
correctly and could not have the
@ -252,21 +247,19 @@ 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
pressed.
@param KeyData A pointer to a buffer that is filled in with
the keystroke information for the key that was
pressed.
@param KeyNotificationFunction Points to the function to be
called when the key sequence
is typed specified by KeyData.
@param NotifyHandle Points to the unique handle assigned to
the registered notification.
@param NotifyHandle Points to the unique handle assigned to
the registered notification.
@retval EFI_SUCCESS The device state was set
appropriately.
@ -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
@ -162,7 +162,7 @@ typedef EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL SIMPLE_TEXT_OUTPUT_INTERFACE;
typedef
EFI_STATUS
(EFIAPI *EFI_TEXT_RESET)(
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
IN BOOLEAN ExtendedVerification
)
;
@ -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
@ -34,12 +34,12 @@ typedef struct _EFI_SMBUS_HC_PROTOCOL EFI_SMBUS_HC_PROTOCOL;
the SMBus slave devices accept this transaction or that this
function returns with error. Status Codes Returned
@param This A pointer to the EFI_SMBUS_HC_PROTOCOL instance.
SlaveAddress The SMBus slave address of the device
with which to communicate. Type
EFI_SMBUS_DEVICE_ADDRESS is defined in
EFI_PEI_SMBUS_PPI.Execute() in the Platform
Initialization SMBus PPI Specification.
@param This A pointer to the EFI_SMBUS_HC_PROTOCOL instance.
SlaveAddress The SMBus slave address of the device
with which to communicate. Type
EFI_SMBUS_DEVICE_ADDRESS is defined in
EFI_PEI_SMBUS_PPI.Execute() in the Platform
Initialization SMBus PPI Specification.
@param Command This command is transmitted by the SMBus host
controller to the SMBus slave device and the
@ -61,16 +61,16 @@ typedef struct _EFI_SMBUS_HC_PROTOCOL EFI_SMBUS_HC_PROTOCOL;
Platform Initialization SMBus PPI
Specification.
@param PecCheck Defines if Packet Error Code (PEC) checking
is required for this operation. SMBus Host
Controller Code Definitions Version 1.0
August 21, 2006 13 Length Signifies the
number of bytes that this operation will do.
The maximum number of bytes can be revision
specific and operation specific. This field
will contain the actual number of bytes that
are executed for this operation. Not all
operations require this argument.
@param PecCheck Defines if Packet Error Code (PEC) checking
is required for this operation. SMBus Host
Controller Code Definitions Version 1.0
August 21, 2006 13 Length Signifies the
number of bytes that this operation will do.
The maximum number of bytes can be revision
specific and operation specific. This field
will contain the actual number of bytes that
are executed for this operation. Not all
operations require this argument.
@param Buffer Contains the value of data to execute to the
SMBus slave device. Not all operations require
@ -78,28 +78,27 @@ typedef struct _EFI_SMBUS_HC_PROTOCOL EFI_SMBUS_HC_PROTOCOL;
identified by Length.
@retval EFI_SUCCESS The last data that was returned from the
access matched the poll exit criteria.
@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
SMBus host controller device.
@retval EFI_TIMEOUT Timeout expired before the operation was
completed. Timeout is determined by the
SMBus host controller device.
@retval EFI_OUT_OF_RESOURCES The request could not be
completed due to a lack of
resources.
@retval EFI_DEVICE_ERROR The request was not completed
because a failure that was reflected
in the Host Status Register bit.
Device errors are a result of a
transaction collision, illegal
command field, unclaimed cycle (host
initiated), or bus errors
(collisions).
@retval EFI_DEVICE_ERROR The request was not completed
because a failure that was reflected
in the Host Status Register bit.
Device errors are a result of a
transaction collision, illegal
command field, unclaimed cycle (host
initiated), or bus errors
(collisions).
@retval EFI_INVALID_PARAMETER Operation is not defined in
EFI_SMBUS_OPERATION.
@ -111,8 +110,8 @@ typedef struct _EFI_SMBUS_HC_PROTOCOL EFI_SMBUS_HC_PROTOCOL;
outside the range of valid
values.
@retval EFI_UNSUPPORTED The SMBus operation or PEC is not
supported.
@retval EFI_UNSUPPORTED The SMBus operation or PEC is not
supported.
@retval EFI_BUFFER_TOO_SMALL Buffer is not sufficient for
this operation.
@ -134,57 +133,54 @@ 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.
@param This A pointer to the EFI_SMBUS_HC_PROTOCOL instance.
@param ArpAll A Boolean expression that indicates if the
host drivers need to enumerate all the devices
or enumerate only the device that is
identified by SmbusUdid. If ArpAll is TRUE,
SmbusUdid and SlaveAddress are optional. If
ArpAll is FALSE, ArpDevice will enumerate
SmbusUdid and the address will be at
SlaveAddress.
@param ArpAll A Boolean expression that indicates if the
host drivers need to enumerate all the devices
or enumerate only the device that is
identified by SmbusUdid. If ArpAll is TRUE,
SmbusUdid and SlaveAddress are optional. If
ArpAll is FALSE, ArpDevice will enumerate
SmbusUdid and the address will be at
SlaveAddress.
@param SmbusUdid The Unique Device Identifier (UDID) that is
associated with this device. Type
EFI_SMBUS_UDID is defined in
EFI_PEI_SMBUS_PPI.ArpDevice() in the
Platform Initialization SMBus PPI
Specification.
@param SmbusUdid The Unique Device Identifier (UDID) that is
associated with this device. Type
EFI_SMBUS_UDID is defined in
EFI_PEI_SMBUS_PPI.ArpDevice() in the
Platform Initialization SMBus PPI
Specification.
@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.
@retval EFI_CRC_ERROR Checksum is not correct (PEC is
incorrect).
@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_TIMEOUT Timeout expired before the operation was
completed. Timeout is determined by the
SMBus host controller device.
@retval EFI_TIMEOUT Timeout expired before the operation was
completed. Timeout is determined by the
SMBus host controller device.
@retval EFI_OUT_OF_RESOURCES The request could not be
completed due to a lack of
resources.
@retval EFI_DEVICE_ERROR The request was not completed
because a failure was reflected in
the Host Status Register bit. Device
Errors are a result of a transaction
collision, illegal command field,
unclaimed cycle (host initiated), or
bus errors (collisions).
@retval EFI_DEVICE_ERROR The request was not completed
because a failure was reflected in
the Host Status Register bit. Device
Errors are a result of a transaction
collision, illegal command field,
unclaimed cycle (host initiated), or
bus errors (collisions).
@retval EFI_UNSUPPORTED ArpDevice, GetArpMap, and Notify are
not implemented by this driver.
@retval EFI_UNSUPPORTED ArpDevice, GetArpMap, and Notify are
not implemented by this driver.
**/
typedef
@ -198,20 +194,19 @@ 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.
@param This A pointer to the EFI_SMBUS_HC_PROTOCOL instance.
@param Length Size of the buffer that contains the SMBus
device map.
@param Length Size of the buffer that contains the SMBus
device map.
@param SmbusDeviceMap The pointer to the device map as
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)(
@ -244,20 +245,20 @@ EFI_STATUS
allow the bus driver to call these functions when the
SlaveAddress/Data pair happens.
@param This A pointer to the EFI_SMBUS_HC_PROTOCOL instance.
@param This A pointer to the EFI_SMBUS_HC_PROTOCOL instance.
@param SlaveAddress Address that the host controller detects
as sending a message and calls all the registered function.
@param SlaveAddress Address that the host controller detects
as sending a message and calls all the registered function.
@param Data Data that the host controller detects as sending
message and calls all the registered function.
@param Data Data that the host controller detects as sending
message and calls all the registered function.
@param NotifyFunction The function to call when the bus
driver detects the SlaveAddress and
Data pair.
@retval EFI_SUCCESS NotifyFunction was registered.
@retval EFI_SUCCESS NotifyFunction was registered.
@retval EFI_UNSUPPORTED ArpDevice, GetArpMap, and Notify are
not implemented by this driver.
@ -274,12 +275,13 @@ 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.
@param Execute Executes the SMBus operation to an SMBus slave
device. See the Execute() function description.
@param Execute Executes the SMBus operation to an SMBus slave
device. See the Execute() function description.
@param ArpDevice Allows an SMBus 2.0 device(s) to be Address
Resolution Protocol (ARP).

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__
@ -37,10 +34,10 @@ typedef struct _EFI_TIMER_ARCH_PROTOCOL EFI_TIMER_ARCH_PROTOCOL;
of tyis type to be called for the timer interrupt, so it can know how much
time has passed. This information is used to signal timer based events.
@param Time Time since the last timer interrupt in 100 ns units. This will
typically be TimerPeriod, but if a timer interrupt is missed, and the
EFI_TIMER_ARCH_PROTOCOL driver can detect missed interrupts, then Time
will contain the actual amount of time since the last interrupt.
@param Time Time since the last timer interrupt in 100 ns units. This will
typically be TimerPeriod, but if a timer interrupt is missed, and the
EFI_TIMER_ARCH_PROTOCOL driver can detect missed interrupts, then Time
will contain the actual amount of time since the last interrupt.
None.
@ -150,7 +147,7 @@ EFI_STATUS
registered handler should not be able to distinguish a hardware-generated timer
interrupt from a software-generated timer interrupt.
@param This The EFI_TIMER_ARCH_PROTOCOL instance.
@param This The EFI_TIMER_ARCH_PROTOCOL instance.
@retval EFI_SUCCESS The soft timer interrupt was generated.
@retval EFI_UNSUPPORTEDT The platform does not support the generation of soft timer interrupts.

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