MdePkg: Clean up source files
1. Do not use tab characters 2. No trailing white space in one line 3. All files must end with CRLF Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
@@ -1,15 +1,15 @@
|
||||
/** @file
|
||||
The file provides services that allow information about an
|
||||
absolute pointer device to be retrieved.
|
||||
|
||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -38,25 +38,25 @@ typedef struct {
|
||||
UINT64 AbsoluteMinX; ///< The Absolute Minimum of the device on the x-axis
|
||||
UINT64 AbsoluteMinY; ///< The Absolute Minimum of the device on the y axis.
|
||||
UINT64 AbsoluteMinZ; ///< The Absolute Minimum of the device on the z-axis
|
||||
UINT64 AbsoluteMaxX; ///< The Absolute Maximum of the device on the x-axis. If 0, and the
|
||||
UINT64 AbsoluteMaxX; ///< The Absolute Maximum of the device on the x-axis. If 0, and the
|
||||
///< AbsoluteMinX is 0, then the pointer device does not support a xaxis
|
||||
UINT64 AbsoluteMaxY; ///< The Absolute Maximum of the device on the y -axis. If 0, and the
|
||||
UINT64 AbsoluteMaxY; ///< The Absolute Maximum of the device on the y -axis. If 0, and the
|
||||
///< AbsoluteMinX is 0, then the pointer device does not support a yaxis.
|
||||
UINT64 AbsoluteMaxZ; ///< The Absolute Maximum of the device on the z-axis. If 0 , and the
|
||||
UINT64 AbsoluteMaxZ; ///< The Absolute Maximum of the device on the z-axis. If 0 , and the
|
||||
///< AbsoluteMinX is 0, then the pointer device does not support a zaxis
|
||||
UINT32 Attributes; ///< The following bits are set as needed (or'd together) to indicate the
|
||||
///< capabilities of the device supported. The remaining bits are undefined
|
||||
UINT32 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
|
||||
} EFI_ABSOLUTE_POINTER_MODE;
|
||||
|
||||
///
|
||||
/// If set, indicates this device supports an alternate button input.
|
||||
///
|
||||
/// If set, indicates this device supports an alternate button input.
|
||||
///
|
||||
#define EFI_ABSP_SupportsAltActive 0x00000001
|
||||
|
||||
///
|
||||
/// If set, indicates this device returns pressure data in parameter CurrentZ.
|
||||
///
|
||||
///
|
||||
#define EFI_ABSP_SupportsPressureAsZ 0x00000002
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ typedef struct {
|
||||
device during reset.
|
||||
|
||||
@retval EFI_SUCCESS The device was reset.
|
||||
|
||||
|
||||
@retval EFI_DEVICE_ERROR The device is not functioning
|
||||
correctly and could not be reset.
|
||||
|
||||
@@ -95,11 +95,11 @@ EFI_STATUS
|
||||
///
|
||||
/// This bit is set if the touch sensor is active.
|
||||
///
|
||||
#define EFI_ABSP_TouchActive 0x00000001
|
||||
#define EFI_ABSP_TouchActive 0x00000001
|
||||
|
||||
///
|
||||
/// This bit is set if the alt sensor, such as pen-side button, is active
|
||||
///
|
||||
///
|
||||
#define EFI_ABS_AltActive 0x00000002
|
||||
|
||||
|
||||
@@ -108,29 +108,29 @@ EFI_STATUS
|
||||
**/
|
||||
typedef struct {
|
||||
///
|
||||
/// The unsigned position of the activation on the x axis. If the AboluteMinX
|
||||
/// and the AboluteMaxX fields of the EFI_ABSOLUTE_POINTER_MODE structure are
|
||||
/// The unsigned position of the activation on the x axis. If the AboluteMinX
|
||||
/// and the AboluteMaxX fields of the EFI_ABSOLUTE_POINTER_MODE structure are
|
||||
/// both 0, then this pointer device does not support an x-axis, and this field
|
||||
/// must be ignored.
|
||||
///
|
||||
UINT64 CurrentX;
|
||||
|
||||
|
||||
///
|
||||
/// The unsigned position of the activation on the y axis. If the AboluteMinY
|
||||
/// and the AboluteMaxY fields of the EFI_ABSOLUTE_POINTER_MODE structure are
|
||||
/// The unsigned position of the activation on the y axis. If the AboluteMinY
|
||||
/// and the AboluteMaxY fields of the EFI_ABSOLUTE_POINTER_MODE structure are
|
||||
/// both 0, then this pointer device does not support an y-axis, and this field
|
||||
/// must be ignored.
|
||||
/// must be ignored.
|
||||
///
|
||||
UINT64 CurrentY;
|
||||
|
||||
|
||||
///
|
||||
/// The unsigned position of the activation on the z axis, or the pressure
|
||||
/// measurement. If the AboluteMinZ and the AboluteMaxZ fields of the
|
||||
/// EFI_ABSOLUTE_POINTER_MODE structure are both 0, then this pointer device
|
||||
/// does not support an z-axis, and this field must be ignored.
|
||||
/// The unsigned position of the activation on the z axis, or the pressure
|
||||
/// measurement. If the AboluteMinZ and the AboluteMaxZ fields of the
|
||||
/// EFI_ABSOLUTE_POINTER_MODE structure are both 0, then this pointer device
|
||||
/// does not support an z-axis, and this field must be ignored.
|
||||
///
|
||||
UINT64 CurrentZ;
|
||||
|
||||
|
||||
///
|
||||
/// Bits are set to 1 in this structure item to indicate that device buttons are
|
||||
/// active.
|
||||
@@ -188,7 +188,7 @@ struct _EFI_ABSOLUTE_POINTER_PROTOCOL {
|
||||
EFI_ABSOLUTE_POINTER_RESET Reset;
|
||||
EFI_ABSOLUTE_POINTER_GET_STATE GetState;
|
||||
///
|
||||
/// Event to use with WaitForEvent() to wait for input from the pointer device.
|
||||
/// Event to use with WaitForEvent() to wait for input from the pointer device.
|
||||
///
|
||||
EFI_EVENT WaitForInput;
|
||||
///
|
||||
|
@@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
This protocol provides services for creating ACPI system description tables.
|
||||
|
||||
Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
#define EFI_ACPI_SDT_PROTOCOL_GUID \
|
||||
{ 0xeb97088e, 0xcfdf, 0x49c6, { 0xbe, 0x4b, 0xd9, 0x6, 0xa5, 0xb2, 0xe, 0x86 }}
|
||||
|
||||
|
||||
typedef UINT32 EFI_ACPI_TABLE_VERSION;
|
||||
typedef VOID *EFI_ACPI_HANDLE;
|
||||
|
||||
@@ -27,7 +27,7 @@ typedef VOID *EFI_ACPI_HANDLE;
|
||||
#define EFI_ACPI_TABLE_VERSION_3_0 (1 << 3)
|
||||
#define EFI_ACPI_TABLE_VERSION_4_0 (1 << 4)
|
||||
#define EFI_ACPI_TABLE_VERSION_5_0 (1 << 5)
|
||||
|
||||
|
||||
typedef UINT32 EFI_ACPI_DATA_TYPE;
|
||||
#define EFI_ACPI_DATA_TYPE_NONE 0
|
||||
#define EFI_ACPI_DATA_TYPE_OPCODE 1
|
||||
@@ -36,7 +36,7 @@ typedef UINT32 EFI_ACPI_DATA_TYPE;
|
||||
#define EFI_ACPI_DATA_TYPE_UINT 4
|
||||
#define EFI_ACPI_DATA_TYPE_STRING 5
|
||||
#define EFI_ACPI_DATA_TYPE_CHILD 6
|
||||
|
||||
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
UINT32 Length;
|
||||
@@ -48,7 +48,7 @@ typedef struct {
|
||||
UINT32 CreatorId;
|
||||
UINT32 CreatorRevision;
|
||||
} EFI_ACPI_SDT_HEADER;
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ACPI_NOTIFICATION_FN)(
|
||||
@@ -56,10 +56,10 @@ EFI_STATUS
|
||||
IN EFI_ACPI_TABLE_VERSION Version, ///< The ACPI table's version.
|
||||
IN UINTN TableKey ///< The table key for this ACPI table.
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Returns a requested ACPI table.
|
||||
|
||||
|
||||
The GetAcpiTable() function returns a pointer to a buffer containing the ACPI table associated
|
||||
with the Index that was input. The following structures are not considered elements in the list of
|
||||
ACPI tables:
|
||||
@@ -69,20 +69,20 @@ EFI_STATUS
|
||||
Version is updated with a bit map containing all the versions of ACPI of which the table is a
|
||||
member. For tables installed via the EFI_ACPI_TABLE_PROTOCOL.InstallAcpiTable() interface,
|
||||
the function returns the value of EFI_ACPI_STD_PROTOCOL.AcpiVersion.
|
||||
|
||||
|
||||
@param[in] Index The zero-based index of the table to retrieve.
|
||||
@param[out] Table Pointer for returning the table buffer.
|
||||
@param[out] Version On return, updated with the ACPI versions to which this table belongs. Type
|
||||
EFI_ACPI_TABLE_VERSION is defined in "Related Definitions" in the
|
||||
EFI_ACPI_SDT_PROTOCOL.
|
||||
EFI_ACPI_SDT_PROTOCOL.
|
||||
@param[out] TableKey On return, points to the table key for the specified ACPI system definition table.
|
||||
This is identical to the table key used in the EFI_ACPI_TABLE_PROTOCOL.
|
||||
The TableKey can be passed to EFI_ACPI_TABLE_PROTOCOL.UninstallAcpiTable()
|
||||
to uninstall the table.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NOT_FOUND The requested index is too large and a table was not found.
|
||||
**/
|
||||
@retval EFI_NOT_FOUND The requested index is too large and a table was not found.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ACPI_GET_ACPI_TABLE2)(
|
||||
@@ -94,17 +94,17 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Register or unregister a callback when an ACPI table is installed.
|
||||
|
||||
|
||||
This function registers or unregisters a function which will be called whenever a new ACPI table is
|
||||
installed.
|
||||
|
||||
|
||||
@param[in] Register If TRUE, then the specified function will be registered. If FALSE, then the specified
|
||||
function will be unregistered.
|
||||
@param[in] Notification Points to the callback function to be registered or unregistered.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Callback successfully registered or unregistered.
|
||||
@retval EFI_INVALID_PARAMETER Notification is NULL
|
||||
@retval EFI_INVALID_PARAMETER Register is FALSE and Notification does not match a known registration function.
|
||||
@retval EFI_INVALID_PARAMETER Register is FALSE and Notification does not match a known registration function.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -115,30 +115,30 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Create a handle from an ACPI opcode
|
||||
|
||||
|
||||
@param[in] Buffer Points to the ACPI opcode.
|
||||
@param[out] Handle Upon return, holds the handle.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER Buffer is NULL or Handle is NULL or Buffer points to an
|
||||
invalid opcode.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ACPI_OPEN)(
|
||||
IN VOID *Buffer,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
);
|
||||
|
||||
/**
|
||||
Create a handle for the first ACPI opcode in an ACPI system description table.
|
||||
|
||||
|
||||
@param[in] TableKey The table key for the ACPI table, as returned by GetTable().
|
||||
@param[out] Handle On return, points to the newly created ACPI handle.
|
||||
|
||||
@retval EFI_SUCCESS Handle created successfully.
|
||||
@retval EFI_NOT_FOUND TableKey does not refer to a valid ACPI table.
|
||||
@retval EFI_NOT_FOUND TableKey does not refer to a valid ACPI table.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -149,11 +149,11 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Close an ACPI handle.
|
||||
|
||||
|
||||
@param[in] Handle Returns the handle.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER Handle is NULL or does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER Handle is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -163,14 +163,14 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Return the child ACPI objects.
|
||||
|
||||
|
||||
@param[in] ParentHandle Parent handle.
|
||||
@param[in, out] Handle On entry, points to the previously returned handle or NULL to start with the first
|
||||
handle. On return, points to the next returned ACPI handle or NULL if there are no
|
||||
child objects.
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER ParentHandle is NULL or does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER ParentHandle is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -181,7 +181,7 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Retrieve information about an ACPI object.
|
||||
|
||||
|
||||
@param[in] Handle ACPI object handle.
|
||||
@param[in] Index Index of the data to retrieve from the object. In general, indexes read from left-to-right
|
||||
in the ACPI encoding, with index 0 always being the ACPI opcode.
|
||||
@@ -189,8 +189,8 @@ EFI_STATUS
|
||||
for the specified index.
|
||||
@param[out] Data Upon return, points to the pointer to the data.
|
||||
@param[out] DataSize Upon return, points to the size of Data.
|
||||
|
||||
@retval
|
||||
|
||||
@retval
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -204,7 +204,7 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Change information about an ACPI object.
|
||||
|
||||
|
||||
@param[in] Handle ACPI object handle.
|
||||
@param[in] Index Index of the data to retrieve from the object. In general, indexes read from left-to-right
|
||||
in the ACPI encoding, with index 0 always being the ACPI opcode.
|
||||
@@ -228,14 +228,14 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Returns the handle of the ACPI object representing the specified ACPI path
|
||||
|
||||
|
||||
@param[in] HandleIn Points to the handle of the object representing the starting point for the path search.
|
||||
@param[in] AcpiPath Points to the ACPI path, which conforms to the ACPI encoded path format.
|
||||
@param[out] HandleOut On return, points to the ACPI object which represents AcpiPath, relative to
|
||||
HandleIn.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER HandleIn is NULL or does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER HandleIn is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
|
@@ -1,15 +1,15 @@
|
||||
/** @file
|
||||
The file provides the protocol to install or remove an ACPI
|
||||
table from a platform.
|
||||
|
||||
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
table from a platform.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -24,24 +24,24 @@ typedef struct _EFI_ACPI_TABLE_PROTOCOL EFI_ACPI_TABLE_PROTOCOL;
|
||||
|
||||
/**
|
||||
|
||||
The InstallAcpiTable() function allows a caller to install an
|
||||
ACPI table. When successful, the table will be linked by the
|
||||
RSDT/XSDT. AcpiTableBuffer specifies the table to be installed.
|
||||
InstallAcpiTable() will make a copy of the table and insert the
|
||||
copy into the RSDT/XSDT. InstallAcpiTable() must insert the new
|
||||
table at the end of the RSDT/XSDT. To prevent namespace
|
||||
collision, ACPI tables may be created using UEFI ACPI table
|
||||
The InstallAcpiTable() function allows a caller to install an
|
||||
ACPI table. When successful, the table will be linked by the
|
||||
RSDT/XSDT. AcpiTableBuffer specifies the table to be installed.
|
||||
InstallAcpiTable() will make a copy of the table and insert the
|
||||
copy into the RSDT/XSDT. InstallAcpiTable() must insert the new
|
||||
table at the end of the RSDT/XSDT. To prevent namespace
|
||||
collision, ACPI tables may be created using UEFI ACPI table
|
||||
format. If this protocol is used to install a table with a
|
||||
signature already present in the system, the new table will not
|
||||
replace the existing table. It is a platform implementation
|
||||
decision to add a new table with a signature matching an
|
||||
existing table or disallow duplicate table signatures and
|
||||
return EFI_ACCESS_DENIED. On successful output, TableKey is
|
||||
initialized with a unique key. Its value may be used in a
|
||||
subsequent call to UninstallAcpiTable to remove an ACPI table.
|
||||
If an EFI application is running at the time of this call, the
|
||||
relevant EFI_CONFIGURATION_TABLE pointer to the RSDT is no
|
||||
longer considered valid.
|
||||
return EFI_ACCESS_DENIED. On successful output, TableKey is
|
||||
initialized with a unique key. Its value may be used in a
|
||||
subsequent call to UninstallAcpiTable to remove an ACPI table.
|
||||
If an EFI application is running at the time of this call, the
|
||||
relevant EFI_CONFIGURATION_TABLE pointer to the RSDT is no
|
||||
longer considered valid.
|
||||
|
||||
|
||||
@param This A pointer to a EFI_ACPI_TABLE_PROTOCOL.
|
||||
@@ -54,16 +54,16 @@ typedef struct _EFI_ACPI_TABLE_PROTOCOL EFI_ACPI_TABLE_PROTOCOL;
|
||||
|
||||
|
||||
@param TableKey Returns a key to refer to the ACPI table.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The table was successfully inserted
|
||||
|
||||
|
||||
@retval EFI_INVALID_PARAMETER Either AcpiTableBuffer is NULL,
|
||||
TableKey is NULL, or
|
||||
AcpiTableBufferSize and the size
|
||||
field embedded in the ACPI table
|
||||
pointed to by AcpiTableBuffer
|
||||
are not in sync.
|
||||
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Insufficient resources exist to
|
||||
complete the request.
|
||||
@retval EFI_ACCESS_DENIED The table signature matches a table already
|
||||
@@ -82,7 +82,7 @@ EFI_STATUS
|
||||
|
||||
|
||||
/**
|
||||
|
||||
|
||||
The UninstallAcpiTable() function allows a caller to remove an
|
||||
ACPI table. The routine will remove its reference from the
|
||||
RSDT/XSDT. A table is referenced by the TableKey parameter
|
||||
@@ -103,7 +103,7 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Insufficient resources exist to
|
||||
complete the request.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
|
@@ -3,7 +3,7 @@
|
||||
The EFI Adapter Information Protocol is used to dynamically and quickly discover
|
||||
or set device information for an adapter.
|
||||
|
||||
Copyright (c) 2014 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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,9 +59,9 @@ typedef struct _EFI_ADAPTER_INFORMATION_PROTOCOL EFI_ADAPTER_INFORMATION_PROTOCO
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// Returns the current media state status. MediaState can have any of the following values:
|
||||
/// EFI_SUCCESS: There is media attached to the network adapter. EFI_NOT_READY: This detects a bounced state.
|
||||
/// There was media attached to the network adapter, but it was removed and reattached. EFI_NO_MEDIA: There is
|
||||
/// Returns the current media state status. MediaState can have any of the following values:
|
||||
/// EFI_SUCCESS: There is media attached to the network adapter. EFI_NOT_READY: This detects a bounced state.
|
||||
/// There was media attached to the network adapter, but it was removed and reattached. EFI_NO_MEDIA: There is
|
||||
/// not any media attached to the network.
|
||||
///
|
||||
EFI_STATUS MediaState;
|
||||
@@ -140,7 +140,7 @@ typedef struct {
|
||||
///
|
||||
/// Returns capability of UNDI to support IPv6 traffic.
|
||||
///
|
||||
BOOLEAN Ipv6Support;
|
||||
BOOLEAN Ipv6Support;
|
||||
} EFI_ADAPTER_INFO_UNDI_IPV6_SUPPORT;
|
||||
|
||||
/**
|
||||
@@ -148,7 +148,7 @@ typedef struct {
|
||||
|
||||
This function returns information of type InformationType from the adapter.
|
||||
If an adapter does not support the requested informational type, then
|
||||
EFI_UNSUPPORTED is returned.
|
||||
EFI_UNSUPPORTED is returned.
|
||||
|
||||
@param[in] This A pointer to the EFI_ADAPTER_INFORMATION_PROTOCOL instance.
|
||||
@param[in] InformationType A pointer to an EFI_GUID that defines the contents of InformationBlock.
|
||||
@@ -160,8 +160,8 @@ typedef struct {
|
||||
@retval EFI_UNSUPPORTED The InformationType is not known.
|
||||
@retval EFI_DEVICE_ERROR The device reported an error.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_INVALID_PARAMETER This is NULL.
|
||||
@retval EFI_INVALID_PARAMETER InformationBlock is NULL.
|
||||
@retval EFI_INVALID_PARAMETER This is NULL.
|
||||
@retval EFI_INVALID_PARAMETER InformationBlock is NULL.
|
||||
@retval EFI_INVALID_PARAMETER InformationBlockSize is NULL.
|
||||
|
||||
**/
|
||||
|
@@ -1,22 +1,22 @@
|
||||
/** @file
|
||||
/** @file
|
||||
EFI ARP Protocol Definition
|
||||
|
||||
|
||||
The EFI ARP Service Binding Protocol is used to locate EFI
|
||||
ARP Protocol drivers to create and destroy child of the
|
||||
driver to communicate with other host using ARP protocol.
|
||||
The EFI ARP Protocol provides services to map IP network
|
||||
address to hardware address used by a data link protocol.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
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:
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
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:
|
||||
This Protocol was introduced in UEFI Specification 2.0.
|
||||
|
||||
**/
|
||||
@@ -119,13 +119,13 @@ typedef struct {
|
||||
/**
|
||||
This function is used to assign a station address to the ARP cache for this instance
|
||||
of the ARP driver.
|
||||
|
||||
Each ARP instance has one station address. The EFI_ARP_PROTOCOL driver will
|
||||
respond to ARP requests that match this registered station address. A call to
|
||||
|
||||
Each ARP instance has one station address. The EFI_ARP_PROTOCOL driver will
|
||||
respond to ARP requests that match this registered station address. A call to
|
||||
this function with the ConfigData field set to NULL will reset this ARP instance.
|
||||
|
||||
Once a protocol type and station address have been assigned to this ARP instance,
|
||||
all the following ARP functions will use this information. Attempting to change
|
||||
|
||||
Once a protocol type and station address have been assigned to this ARP instance,
|
||||
all the following ARP functions will use this information. Attempting to change
|
||||
the protocol type or station address to a configured ARP instance will result in errors.
|
||||
|
||||
@param This The pointer to the EFI_ARP_PROTOCOL instance.
|
||||
@@ -134,8 +134,8 @@ typedef struct {
|
||||
@retval EFI_SUCCESS The new station address was successfully
|
||||
registered.
|
||||
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
|
||||
* This is NULL.
|
||||
* SwAddressLength is zero when ConfigData is not NULL.
|
||||
* This is NULL.
|
||||
* SwAddressLength is zero when ConfigData is not NULL.
|
||||
* StationAddress is NULL when ConfigData is not NULL.
|
||||
@retval EFI_ACCESS_DENIED The SwAddressType, SwAddressLength, or
|
||||
StationAddress is different from the one that is
|
||||
@@ -144,27 +144,27 @@ typedef struct {
|
||||
allocated.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ARP_CONFIGURE)(
|
||||
IN EFI_ARP_PROTOCOL *This,
|
||||
IN EFI_ARP_CONFIG_DATA *ConfigData OPTIONAL
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
This function is used to insert entries into the ARP cache.
|
||||
|
||||
ARP cache entries are typically inserted and updated by network protocol drivers
|
||||
as network traffic is processed. Most ARP cache entries will time out and be
|
||||
deleted if the network traffic stops. ARP cache entries that were inserted
|
||||
ARP cache entries are typically inserted and updated by network protocol drivers
|
||||
as network traffic is processed. Most ARP cache entries will time out and be
|
||||
deleted if the network traffic stops. ARP cache entries that were inserted
|
||||
by the Add() function may be static (will not time out) or dynamic (will time out).
|
||||
Default ARP cache timeout values are not covered in most network protocol
|
||||
specifications (although RFC 1122 comes pretty close) and will only be
|
||||
discussed in general terms in this specification. The timeout values that are
|
||||
used in the EFI Sample Implementation should be used only as a guideline.
|
||||
Final product implementations of the EFI network stack should be tuned for
|
||||
Default ARP cache timeout values are not covered in most network protocol
|
||||
specifications (although RFC 1122 comes pretty close) and will only be
|
||||
discussed in general terms in this specification. The timeout values that are
|
||||
used in the EFI Sample Implementation should be used only as a guideline.
|
||||
Final product implementations of the EFI network stack should be tuned for
|
||||
their expected network environments.
|
||||
|
||||
|
||||
@param This Pointer to the EFI_ARP_PROTOCOL instance.
|
||||
@param DenyFlag Set to TRUE if this entry is a deny entry. Set to
|
||||
FALSE if this entry is a normal entry.
|
||||
@@ -184,10 +184,10 @@ EFI_STATUS
|
||||
|
||||
@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.
|
||||
* This is NULL.
|
||||
* DenyFlag is FALSE and TargetHwAddress is NULL.
|
||||
* DenyFlag is FALSE and TargetSwAddress is NULL.
|
||||
* TargetHwAddress is NULL and TargetSwAddress is NULL.
|
||||
* Neither TargetSwAddress nor TargetHwAddress are NULL when DenyFlag is
|
||||
TRUE.
|
||||
@retval EFI_OUT_OF_RESOURCES The new ARP cache entry could not be allocated.
|
||||
@@ -205,24 +205,24 @@ EFI_STATUS
|
||||
IN VOID *TargetHwAddress OPTIONAL,
|
||||
IN UINT32 TimeoutValue,
|
||||
IN BOOLEAN Overwrite
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
This function searches the ARP cache for matching entries and allocates a buffer into
|
||||
which those entries are copied.
|
||||
|
||||
The first part of the allocated buffer is EFI_ARP_FIND_DATA, following which
|
||||
|
||||
The first part of the allocated buffer is EFI_ARP_FIND_DATA, following which
|
||||
are protocol address pairs and hardware address pairs.
|
||||
When finding a specific protocol address (BySwAddress is TRUE and AddressBuffer
|
||||
is not NULL), the ARP cache timeout for the found entry is reset if Refresh is
|
||||
set to TRUE. If the found ARP cache entry is a permanent entry, it is not
|
||||
When finding a specific protocol address (BySwAddress is TRUE and AddressBuffer
|
||||
is not NULL), the ARP cache timeout for the found entry is reset if Refresh is
|
||||
set to TRUE. If the found ARP cache entry is a permanent entry, it is not
|
||||
affected by Refresh.
|
||||
|
||||
|
||||
@param This The pointer to the EFI_ARP_PROTOCOL instance.
|
||||
@param BySwAddress Set to TRUE to look for matching software protocol
|
||||
addresses. Set to FALSE to look for matching
|
||||
hardware protocol addresses.
|
||||
@param AddressBuffer The pointer to the address buffer. Set to NULL
|
||||
@param AddressBuffer The pointer to the address buffer. Set to NULL
|
||||
to match all addresses.
|
||||
@param EntryLength The size of an entry in the entries buffer.
|
||||
@param EntryCount The number of ARP cache entries that are found by
|
||||
@@ -241,7 +241,7 @@ EFI_STATUS
|
||||
@retval EFI_NOT_STARTED The ARP driver instance has not been configured.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ARP_FIND)(
|
||||
IN EFI_ARP_PROTOCOL *This,
|
||||
@@ -251,7 +251,7 @@ EFI_STATUS
|
||||
OUT UINT32 *EntryCount OPTIONAL,
|
||||
OUT EFI_ARP_FIND_DATA **Entries OPTIONAL,
|
||||
IN BOOLEAN Refresh
|
||||
);
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
@@ -277,7 +277,7 @@ EFI_STATUS
|
||||
IN EFI_ARP_PROTOCOL *This,
|
||||
IN BOOLEAN BySwAddress,
|
||||
IN VOID *AddressBuffer OPTIONAL
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
This function delete all dynamic entries from the ARP cache that match the specified
|
||||
@@ -295,7 +295,7 @@ typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ARP_FLUSH)(
|
||||
IN EFI_ARP_PROTOCOL *This
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
This function tries to resolve the TargetSwAddress and optionally returns a
|
||||
@@ -322,22 +322,22 @@ EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ARP_REQUEST)(
|
||||
IN EFI_ARP_PROTOCOL *This,
|
||||
IN EFI_ARP_PROTOCOL *This,
|
||||
IN VOID *TargetSwAddress OPTIONAL,
|
||||
IN EFI_EVENT ResolvedEvent OPTIONAL,
|
||||
OUT VOID *TargetHwAddress
|
||||
);
|
||||
OUT VOID *TargetHwAddress
|
||||
);
|
||||
|
||||
/**
|
||||
This function aborts the previous ARP request (identified by This, TargetSwAddress
|
||||
and ResolvedEvent) that is issued by EFI_ARP_PROTOCOL.Request().
|
||||
|
||||
If the request is in the internal ARP request queue, the request is aborted
|
||||
immediately and its ResolvedEvent is signaled. Only an asynchronous address
|
||||
request needs to be canceled. If TargeSwAddress and ResolveEvent are both
|
||||
NULL, all the pending asynchronous requests that have been issued by This
|
||||
|
||||
If the request is in the internal ARP request queue, the request is aborted
|
||||
immediately and its ResolvedEvent is signaled. Only an asynchronous address
|
||||
request needs to be canceled. If TargeSwAddress and ResolveEvent are both
|
||||
NULL, all the pending asynchronous requests that have been issued by This
|
||||
instance will be cancelled and their corresponding events will be signaled.
|
||||
|
||||
|
||||
@param This The pointer to the EFI_ARP_PROTOCOL instance.
|
||||
@param TargetSwAddress The pointer to the protocol address in previous
|
||||
request session.
|
||||
@@ -359,13 +359,13 @@ EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ARP_CANCEL)(
|
||||
IN EFI_ARP_PROTOCOL *This,
|
||||
IN EFI_ARP_PROTOCOL *This,
|
||||
IN VOID *TargetSwAddress OPTIONAL,
|
||||
IN EFI_EVENT ResolvedEvent OPTIONAL
|
||||
);
|
||||
);
|
||||
|
||||
///
|
||||
/// ARP is used to resolve local network protocol addresses into
|
||||
/// ARP is used to resolve local network protocol addresses into
|
||||
/// network hardware addresses.
|
||||
///
|
||||
struct _EFI_ARP_PROTOCOL {
|
||||
|
@@ -3,14 +3,14 @@
|
||||
to send ATA Command Blocks to any ATA device attached to that ATA controller. The information
|
||||
includes the attributes of the ATA controller.
|
||||
|
||||
Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -56,7 +56,7 @@ typedef struct _EFI_ATA_COMMAND_BLOCK {
|
||||
UINT8 AtaDeviceHead;
|
||||
UINT8 AtaSectorNumberExp;
|
||||
UINT8 AtaCylinderLowExp;
|
||||
UINT8 AtaCylinderHighExp;
|
||||
UINT8 AtaCylinderHighExp;
|
||||
UINT8 AtaFeaturesExp;
|
||||
UINT8 AtaSectorCount;
|
||||
UINT8 AtaSectorCountExp;
|
||||
@@ -73,7 +73,7 @@ typedef struct _EFI_ATA_STATUS_BLOCK {
|
||||
UINT8 AtaDeviceHead;
|
||||
UINT8 AtaSectorNumberExp;
|
||||
UINT8 AtaCylinderLowExp;
|
||||
UINT8 AtaCylinderHighExp;
|
||||
UINT8 AtaCylinderHighExp;
|
||||
UINT8 Reserved2;
|
||||
UINT8 AtaSectorCount;
|
||||
UINT8 AtaSectorCountExp;
|
||||
@@ -156,7 +156,7 @@ typedef struct {
|
||||
///
|
||||
/// On Input, the size, in bytes of OutDataBuffer. On Output, the Number of bytes
|
||||
/// transferred between ATA Controller and the ATA device. If OutTransferLength is
|
||||
/// larger than the ATA controller can handle, no data will be transferred,
|
||||
/// larger than the ATA controller can handle, no data will be transferred,
|
||||
/// OutTransferLength will be updated to contain the number of bytes that the ATA
|
||||
/// controller is able to transfer, and EFI_BAD_BUFFER_SIZE will be returned.
|
||||
///
|
||||
@@ -177,8 +177,8 @@ typedef struct {
|
||||
supports both blocking I/O and non-blocking I/O. The blocking I/O functionality is required,
|
||||
and the non-blocking I/O functionality is optional.
|
||||
|
||||
@param[in] This A pointer to the EFI_ATA_PASS_THRU_PROTOCOL instance.
|
||||
@param[in] Port The port number of the ATA device to send the command.
|
||||
@param[in] This A pointer to the EFI_ATA_PASS_THRU_PROTOCOL instance.
|
||||
@param[in] Port The port number of the ATA device to send the command.
|
||||
@param[in] PortMultiplierPort The port multiplier port number of the ATA device to send the command.
|
||||
If there is no port multiplier, then specify 0xFFFF.
|
||||
@param[in,out] Packet A pointer to the ATA command to send to the ATA device specified by Port
|
||||
@@ -188,11 +188,11 @@ typedef struct {
|
||||
Event is not NULL and non blocking I/O is supported, then non-blocking
|
||||
I/O is performed, and Event will be signaled when the ATA command completes.
|
||||
|
||||
@retval EFI_SUCCESS The ATA command was sent by the host. For bi-directional commands,
|
||||
@retval EFI_SUCCESS The ATA command was sent by the host. For bi-directional commands,
|
||||
InTransferLength bytes were transferred from InDataBuffer. For write and
|
||||
bi-directional commands, OutTransferLength bytes were transferred by OutDataBuffer.
|
||||
@retval EFI_BAD_BUFFER_SIZE The ATA command was not executed. The number of bytes that could be transferred
|
||||
is returned in InTransferLength. For write and bi-directional commands,
|
||||
is returned in InTransferLength. For write and bi-directional commands,
|
||||
OutTransferLength bytes were transferred by OutDataBuffer.
|
||||
@retval EFI_NOT_READY The ATA command could not be sent because there are too many ATA commands
|
||||
already queued. The caller may retry again later.
|
||||
@@ -230,7 +230,7 @@ EFI_STATUS
|
||||
If Port is the port number of the last port on the ATA controller, then EFI_NOT_FOUND is
|
||||
returned.
|
||||
|
||||
@param[in] This A pointer to the EFI_ATA_PASS_THRU_PROTOCOL instance.
|
||||
@param[in] This A pointer to the EFI_ATA_PASS_THRU_PROTOCOL instance.
|
||||
@param[in,out] Port On input, a pointer to the port number on the ATA controller.
|
||||
On output, a pointer to the next port number on the ATA
|
||||
controller. An input value of 0xFFFF retrieves the first port
|
||||
@@ -250,36 +250,36 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Used to retrieve the list of legal port multiplier port numbers for ATA devices on a port of an ATA
|
||||
controller. These can either be the list of port multiplier ports where ATA devices are actually
|
||||
present on port or the list of legal port multiplier ports on that port. Regardless, the caller of this
|
||||
function must probe the port number and port multiplier port number returned to see if an ATA
|
||||
Used to retrieve the list of legal port multiplier port numbers for ATA devices on a port of an ATA
|
||||
controller. These can either be the list of port multiplier ports where ATA devices are actually
|
||||
present on port or the list of legal port multiplier ports on that port. Regardless, the caller of this
|
||||
function must probe the port number and port multiplier port number returned to see if an ATA
|
||||
device is actually present.
|
||||
|
||||
The GetNextDevice() function retrieves the port multiplier port number of an ATA device
|
||||
The GetNextDevice() function retrieves the port multiplier port number of an ATA device
|
||||
present on a port of an ATA controller.
|
||||
|
||||
If PortMultiplierPort points to a port multiplier port number value that was returned on a
|
||||
|
||||
If PortMultiplierPort points to a port multiplier port number value that was returned on a
|
||||
previous call to GetNextDevice(), then the port multiplier port number of the next ATA device
|
||||
on the port of the ATA controller is returned in PortMultiplierPort, and EFI_SUCCESS is
|
||||
returned.
|
||||
|
||||
If PortMultiplierPort points to 0xFFFF, then the port multiplier port number of the first
|
||||
ATA device on port of the ATA controller is returned in PortMultiplierPort and
|
||||
|
||||
If PortMultiplierPort points to 0xFFFF, then the port multiplier port number of the first
|
||||
ATA device on port of the ATA controller is returned in PortMultiplierPort and
|
||||
EFI_SUCCESS is returned.
|
||||
|
||||
|
||||
If PortMultiplierPort is not 0xFFFF and the value pointed to by PortMultiplierPort
|
||||
was not returned on a previous call to GetNextDevice(), then EFI_INVALID_PARAMETER
|
||||
is returned.
|
||||
|
||||
If PortMultiplierPort is the port multiplier port number of the last ATA device on the port of
|
||||
|
||||
If PortMultiplierPort is the port multiplier port number of the last ATA device on the port of
|
||||
the ATA controller, then EFI_NOT_FOUND is returned.
|
||||
|
||||
@param[in] This A pointer to the EFI_ATA_PASS_THRU_PROTOCOL instance.
|
||||
@param[in] Port The port number present on the ATA controller.
|
||||
@param[in,out] PortMultiplierPort On input, a pointer to the port multiplier port number of an
|
||||
ATA device present on the ATA controller.
|
||||
If on input a PortMultiplierPort of 0xFFFF is specified,
|
||||
ATA device present on the ATA controller.
|
||||
If on input a PortMultiplierPort of 0xFFFF is specified,
|
||||
then the port multiplier port number of the first ATA device
|
||||
is returned. On output, a pointer to the port multiplier port
|
||||
number of the next ATA device present on an ATA controller.
|
||||
@@ -345,7 +345,7 @@ EFI_STATUS
|
||||
|
||||
The GetDevice() function determines the port and port multiplier port number associated with
|
||||
the ATA device described by DevicePath. If DevicePath is a device path node type that the
|
||||
ATA Pass Thru driver supports, then the ATA Pass Thru driver will attempt to translate the contents
|
||||
ATA Pass Thru driver supports, then the ATA Pass Thru driver will attempt to translate the contents
|
||||
DevicePath into a port number and port multiplier port number.
|
||||
|
||||
If this translation is successful, then that port number and port multiplier port number are returned
|
||||
@@ -353,11 +353,11 @@ EFI_STATUS
|
||||
|
||||
If DevicePath, Port, or PortMultiplierPort are NULL, then EFI_INVALID_PARAMETER is returned.
|
||||
|
||||
If DevicePath is not a device path node type that the ATA Pass Thru driver supports, then
|
||||
If DevicePath is not a device path node type that the ATA Pass Thru driver supports, then
|
||||
EFI_UNSUPPORTED is returned.
|
||||
|
||||
If DevicePath is a device path node type that the ATA Pass Thru driver supports, but there is not
|
||||
a valid translation from DevicePath to a port number and port multiplier port number, then
|
||||
If DevicePath is a device path node type that the ATA Pass Thru driver supports, but there is not
|
||||
a valid translation from DevicePath to a port number and port multiplier port number, then
|
||||
EFI_NOT_FOUND is returned.
|
||||
|
||||
@param[in] This A pointer to the EFI_ATA_PASS_THRU_PROTOCOL instance.
|
||||
@@ -423,7 +423,7 @@ EFI_STATUS
|
||||
If this ATA controller does not support a device reset operation, then EFI_UNSUPPORTED is
|
||||
returned.
|
||||
|
||||
If Port or PortMultiplierPort are not in a valid range for this ATA controller, then
|
||||
If Port or PortMultiplierPort are not in a valid range for this ATA controller, then
|
||||
EFI_INVALID_PARAMETER is returned.
|
||||
|
||||
If a device error occurs while executing that device reset operation, then EFI_DEVICE_ERROR
|
||||
|
@@ -1,16 +1,16 @@
|
||||
/** @file
|
||||
EFI_AUTHENTICATION_INFO_PROTOCOL as defined in UEFI 2.0.
|
||||
This protocol is used on any device handle to obtain authentication information
|
||||
This protocol is used on any device handle to obtain authentication information
|
||||
associated with the physical or logical device.
|
||||
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -21,7 +21,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
{ \
|
||||
0x7671d9d0, 0x53db, 0x4173, {0xaa, 0x69, 0x23, 0x27, 0xf2, 0x1f, 0x0b, 0xc7 } \
|
||||
}
|
||||
|
||||
|
||||
#define EFI_AUTHENTICATION_CHAP_RADIUS_GUID \
|
||||
{ \
|
||||
0xd6062b50, 0x15ca, 0x11da, {0x92, 0x19, 0x00, 0x10, 0x83, 0xff, 0xca, 0x4d } \
|
||||
@@ -75,7 +75,7 @@ typedef struct {
|
||||
///
|
||||
UINT8 NasSecret[1];
|
||||
|
||||
///
|
||||
///
|
||||
/// CHAP Initiator Secret Length in bytes on offset NasSecret + NasSecretLength.
|
||||
///
|
||||
/// UINT16 ChapSecretLength;
|
||||
@@ -181,11 +181,11 @@ typedef struct {
|
||||
responsible for allocating the buffer and it is the caller's
|
||||
responsibility to free buffer when the caller is finished with buffer.
|
||||
|
||||
@retval EFI_SUCCESS Successfully retrieved authentication information
|
||||
@retval EFI_SUCCESS Successfully retrieved authentication information
|
||||
for the given ControllerHandle.
|
||||
@retval EFI_INVALID_PARAMETER No matching authentication information found for
|
||||
@retval EFI_INVALID_PARAMETER No matching authentication information found for
|
||||
the given ControllerHandle.
|
||||
@retval EFI_DEVICE_ERROR The authentication information could not be retrieved
|
||||
@retval EFI_DEVICE_ERROR The authentication information could not be retrieved
|
||||
due to a hardware error.
|
||||
|
||||
**/
|
||||
@@ -203,12 +203,12 @@ EFI_STATUS
|
||||
@param[in] This The pointer to the EFI_AUTHENTICATION_INFO_PROTOCOL.
|
||||
@param[in] ControllerHandle The handle to the Controller.
|
||||
@param[in] Buffer The pointer to the authentication information.
|
||||
|
||||
@retval EFI_SUCCESS Successfully set authentication information for the
|
||||
|
||||
@retval EFI_SUCCESS Successfully set authentication information for the
|
||||
given ControllerHandle.
|
||||
@retval EFI_UNSUPPORTED If the platform policies do not allow setting of
|
||||
@retval EFI_UNSUPPORTED If the platform policies do not allow setting of
|
||||
the authentication information.
|
||||
@retval EFI_DEVICE_ERROR The authentication information could not be configured
|
||||
@retval EFI_DEVICE_ERROR The authentication information could not be configured
|
||||
due to a hardware error.
|
||||
@retval EFI_OUT_OF_RESOURCES Not enough storage is available to hold the data.
|
||||
|
||||
@@ -219,10 +219,10 @@ EFI_STATUS
|
||||
IN EFI_AUTHENTICATION_INFO_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN VOID *Buffer
|
||||
);
|
||||
);
|
||||
|
||||
///
|
||||
/// This protocol is used on any device handle to obtain authentication
|
||||
/// This protocol is used on any device handle to obtain authentication
|
||||
/// information associated with the physical or logical device.
|
||||
///
|
||||
struct _EFI_AUTHENTICATION_INFO_PROTOCOL {
|
||||
|
@@ -3,14 +3,14 @@
|
||||
|
||||
When the DXE core is done it calls the BDS via this protocol.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -29,19 +29,19 @@
|
||||
typedef struct _EFI_BDS_ARCH_PROTOCOL EFI_BDS_ARCH_PROTOCOL;
|
||||
|
||||
/**
|
||||
This function uses policy data from the platform to determine what operating
|
||||
system or system utility should be loaded and invoked. This function call
|
||||
also optionally make the use of user input to determine the operating system
|
||||
or system utility to be loaded and invoked. When the DXE Core has dispatched
|
||||
all the drivers on the dispatch queue, this function is called. This
|
||||
function will attempt to connect the boot devices required to load and invoke
|
||||
the selected operating system or system utility. During this process,
|
||||
additional firmware volumes may be discovered that may contain addition DXE
|
||||
drivers that can be dispatched by the DXE Core. If a boot device cannot be
|
||||
fully connected, this function calls the DXE Service Dispatch() to allow the
|
||||
DXE drivers from any newly discovered firmware volumes to be dispatched.
|
||||
Then the boot device connection can be attempted again. If the same boot
|
||||
device connection operation fails twice in a row, then that boot device has
|
||||
This function uses policy data from the platform to determine what operating
|
||||
system or system utility should be loaded and invoked. This function call
|
||||
also optionally make the use of user input to determine the operating system
|
||||
or system utility to be loaded and invoked. When the DXE Core has dispatched
|
||||
all the drivers on the dispatch queue, this function is called. This
|
||||
function will attempt to connect the boot devices required to load and invoke
|
||||
the selected operating system or system utility. During this process,
|
||||
additional firmware volumes may be discovered that may contain addition DXE
|
||||
drivers that can be dispatched by the DXE Core. If a boot device cannot be
|
||||
fully connected, this function calls the DXE Service Dispatch() to allow the
|
||||
DXE drivers from any newly discovered firmware volumes to be dispatched.
|
||||
Then the boot device connection can be attempted again. If the same boot
|
||||
device connection operation fails twice in a row, then that boot device has
|
||||
failed, and should be skipped. This function should never return.
|
||||
|
||||
@param This The EFI_BDS_ARCH_PROTOCOL instance.
|
||||
@@ -56,11 +56,11 @@ VOID
|
||||
);
|
||||
|
||||
///
|
||||
/// The EFI_BDS_ARCH_PROTOCOL transfers control from DXE to an operating
|
||||
/// system or a system utility. If there are not enough drivers initialized
|
||||
/// when this protocol is used to access the required boot device(s), then
|
||||
/// this protocol should add drivers to the dispatch queue and return control
|
||||
/// back to the dispatcher. Once the required boot devices are available, then
|
||||
/// The EFI_BDS_ARCH_PROTOCOL transfers control from DXE to an operating
|
||||
/// system or a system utility. If there are not enough drivers initialized
|
||||
/// when this protocol is used to access the required boot device(s), then
|
||||
/// this protocol should add drivers to the dispatch queue and return control
|
||||
/// back to the dispatcher. Once the required boot devices are available, then
|
||||
/// the boot device can be used to load and invoke an OS or a system utility.
|
||||
///
|
||||
struct _EFI_BDS_ARCH_PROTOCOL {
|
||||
|
@@ -1,18 +1,18 @@
|
||||
/** @file
|
||||
The EFI_BIS_PROTOCOL is used to check a digital signature of a data block
|
||||
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 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in EFI Specification 1.10.
|
||||
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:
|
||||
This Protocol is introduced in EFI Specification 1.10.
|
||||
|
||||
**/
|
||||
|
||||
@@ -122,32 +122,32 @@ typedef struct {
|
||||
#define BOOT_OBJECT_AUTHORIZATION_PARMSET_GUIDVALUE \
|
||||
BOOT_OBJECT_AUTHORIZATION_PARMSET_GUID
|
||||
|
||||
/**
|
||||
/**
|
||||
Initializes the BIS service, checking that it is compatible with the version requested by the caller.
|
||||
After this call, other BIS functions may be invoked.
|
||||
|
||||
After this call, other BIS functions may be invoked.
|
||||
|
||||
@param This A pointer to the EFI_BIS_PROTOCOL object.
|
||||
@param AppHandle The function writes the new BIS_APPLICATION_HANDLE if
|
||||
@param AppHandle The function writes the new BIS_APPLICATION_HANDLE if
|
||||
successful, otherwise it writes NULL. The caller must eventually
|
||||
destroy this handle by calling Shutdown().
|
||||
destroy this handle by calling Shutdown().
|
||||
@param InterfaceVersion On input, the caller supplies the major version number of the
|
||||
interface version desired.
|
||||
On output, both the major and minor
|
||||
interface version desired.
|
||||
On output, both the major and minor
|
||||
version numbers are updated with the major and minor version
|
||||
numbers of the interface. This update is done whether or not the
|
||||
initialization was successful.
|
||||
@param TargetAddress Indicates a network or device address of the BIS platform to connect to.
|
||||
initialization was successful.
|
||||
@param TargetAddress Indicates a network or device address of the BIS platform to connect to.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_INCOMPATIBLE_VERSION The InterfaceVersion.Major requested by the
|
||||
@retval EFI_INCOMPATIBLE_VERSION The InterfaceVersion.Major requested by the
|
||||
caller was not compatible with the interface version of the
|
||||
implementation. The InterfaceVersion.Major has
|
||||
been updated with the current interface version.
|
||||
@retval EFI_UNSUPPORTED This is a local-platform implementation and
|
||||
TargetAddress.Data was not NULL, or
|
||||
@retval EFI_UNSUPPORTED This is a local-platform implementation and
|
||||
TargetAddress.Data was not NULL, or
|
||||
TargetAddress.Data was any other value that was not
|
||||
supported by the implementation.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
supported by the implementation.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
@retval EFI_DEVICE_ERROR One of the following device errors:
|
||||
* The function encountered an unexpected internal failure while initializing a cryptographic software module
|
||||
* No cryptographic software module with compatible version was found
|
||||
@@ -161,51 +161,51 @@ typedef struct {
|
||||
is NULL or an invalid memory reference. Or,
|
||||
the TargetAddress parameter supplied by the caller is
|
||||
NULL or an invalid memory reference.
|
||||
|
||||
**/
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BIS_INITIALIZE)(
|
||||
IN EFI_BIS_PROTOCOL *This,
|
||||
OUT BIS_APPLICATION_HANDLE *AppHandle,
|
||||
IN OUT EFI_BIS_VERSION *InterfaceVersion,
|
||||
IN EFI_BIS_DATA *TargetAddress
|
||||
IN EFI_BIS_PROTOCOL *This,
|
||||
OUT BIS_APPLICATION_HANDLE *AppHandle,
|
||||
IN OUT EFI_BIS_VERSION *InterfaceVersion,
|
||||
IN EFI_BIS_DATA *TargetAddress
|
||||
);
|
||||
|
||||
/**
|
||||
Frees memory structures allocated and returned by other functions in the EFI_BIS protocol.
|
||||
|
||||
/**
|
||||
Frees memory structures allocated and returned by other functions in the EFI_BIS protocol.
|
||||
|
||||
@param AppHandle An opaque handle that identifies the caller's instance of initialization
|
||||
of the BIS service.
|
||||
@param ToFree An EFI_BIS_DATA* and associated memory block to be freed.
|
||||
of the BIS service.
|
||||
@param ToFree An EFI_BIS_DATA* and associated memory block to be freed.
|
||||
This EFI_BIS_DATA* must have been allocated by one of the other BIS functions.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NO_MAPPING The AppHandle parameter is not or is no longer a valid
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
@retval EFI_INVALID_PARAMETER The ToFree parameter is not or is no longer a memory resource
|
||||
associated with this AppHandle.
|
||||
|
||||
**/
|
||||
associated with this AppHandle.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BIS_FREE)(
|
||||
IN BIS_APPLICATION_HANDLE AppHandle,
|
||||
IN EFI_BIS_DATA *ToFree
|
||||
IN BIS_APPLICATION_HANDLE AppHandle,
|
||||
IN EFI_BIS_DATA *ToFree
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Shuts down an application's instance of the BIS service, invalidating the application handle. After
|
||||
this call, other BIS functions may no longer be invoked using the application handle value.
|
||||
|
||||
this call, other BIS functions may no longer be invoked using the application handle value.
|
||||
|
||||
@param AppHandle An opaque handle that identifies the caller's instance of initialization
|
||||
of the BIS service.
|
||||
of the BIS service.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NO_MAPPING The AppHandle parameter is not, or is no longer, a valid
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
@retval EFI_DEVICE_ERROR The function encountered an unexpected internal failure while
|
||||
returning resources associated with a cryptographic software module, or
|
||||
while trying to shut down a cryptographic software module.
|
||||
@@ -213,206 +213,206 @@ EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BIS_SHUTDOWN)(
|
||||
IN BIS_APPLICATION_HANDLE AppHandle
|
||||
IN BIS_APPLICATION_HANDLE AppHandle
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Retrieves the certificate that has been configured as the identity of the organization designated as
|
||||
the source of authorization for signatures of boot objects.
|
||||
|
||||
|
||||
@param AppHandle An opaque handle that identifies the caller's instance of initialization
|
||||
of the BIS service.
|
||||
of the BIS service.
|
||||
@param Certificate The function writes an allocated EFI_BIS_DATA* containing the Boot
|
||||
Object Authorization Certificate object. The caller must
|
||||
eventually free the memory allocated by this function using the function Free().
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NO_MAPPING The AppHandle parameter is not or is no longer a valid
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_NOT_FOUND There is no Boot Object Authorization Certificate currently installed.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_NOT_FOUND There is no Boot Object Authorization Certificate currently installed.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
@retval EFI_INVALID_PARAMETER The Certificate parameter supplied by the caller is NULL or
|
||||
an invalid memory reference.
|
||||
|
||||
**/
|
||||
an invalid memory reference.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_CERTIFICATE)(
|
||||
IN BIS_APPLICATION_HANDLE AppHandle,
|
||||
OUT EFI_BIS_DATA **Certificate
|
||||
IN BIS_APPLICATION_HANDLE AppHandle,
|
||||
OUT EFI_BIS_DATA **Certificate
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Verifies the integrity and authorization of the indicated data object according to the
|
||||
indicated credentials.
|
||||
|
||||
indicated credentials.
|
||||
|
||||
@param AppHandle An opaque handle that identifies the caller's instance of initialization
|
||||
of the BIS service.
|
||||
of the BIS service.
|
||||
@param Credentials A Signed Manifest containing verification information for the indicated
|
||||
data object.
|
||||
data object.
|
||||
@param DataObject An in-memory copy of the raw data object to be verified.
|
||||
@param IsVerified The function writes TRUE if the verification succeeded, otherwise
|
||||
FALSE.
|
||||
|
||||
FALSE.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NO_MAPPING The AppHandle parameter is not or is no longer a valid
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_SECURITY_VIOLATION The signed manifest supplied as the Credentials parameter
|
||||
was invalid (could not be parsed) or Platform-specific authorization failed, etc.
|
||||
@retval EFI_DEVICE_ERROR An unexpected internal error occurred.
|
||||
|
||||
**/
|
||||
@retval EFI_DEVICE_ERROR An unexpected internal error occurred.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BIS_VERIFY_BOOT_OBJECT)(
|
||||
IN BIS_APPLICATION_HANDLE AppHandle,
|
||||
IN EFI_BIS_DATA *Credentials,
|
||||
IN EFI_BIS_DATA *DataObject,
|
||||
OUT BOOLEAN *IsVerified
|
||||
IN BIS_APPLICATION_HANDLE AppHandle,
|
||||
IN EFI_BIS_DATA *Credentials,
|
||||
IN EFI_BIS_DATA *DataObject,
|
||||
OUT BOOLEAN *IsVerified
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Retrieves the current status of the Boot Authorization Check Flag.
|
||||
|
||||
|
||||
@param AppHandle An opaque handle that identifies the caller's instance of initialization
|
||||
of the BIS service.
|
||||
of the BIS service.
|
||||
@param CheckIsRequired The function writes the value TRUE if a Boot Authorization Check is
|
||||
currently required on this platform, otherwise the function writes
|
||||
FALSE.
|
||||
|
||||
currently required on this platform, otherwise the function writes
|
||||
FALSE.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NO_MAPPING The AppHandle parameter is not or is no longer a valid
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
@retval EFI_INVALID_PARAMETER The CheckIsRequired parameter supplied by the caller is
|
||||
NULL or an invalid memory reference.
|
||||
|
||||
**/
|
||||
NULL or an invalid memory reference.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_CHECKFLAG)(
|
||||
IN BIS_APPLICATION_HANDLE AppHandle,
|
||||
OUT BOOLEAN *CheckIsRequired
|
||||
IN BIS_APPLICATION_HANDLE AppHandle,
|
||||
OUT BOOLEAN *CheckIsRequired
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Retrieves a unique token value to be included in the request credential for the next update of any
|
||||
parameter in the Boot Object Authorization set
|
||||
|
||||
@param AppHandle An opaque handle that identifies the caller's
|
||||
instance of initialization of the BIS service.
|
||||
@param UpdateToken The function writes an allocated EFI_BIS_DATA*
|
||||
containing the newunique update token value.
|
||||
The caller musteventually free the memory allocated
|
||||
parameter in the Boot Object Authorization set
|
||||
|
||||
@param AppHandle An opaque handle that identifies the caller's
|
||||
instance of initialization of the BIS service.
|
||||
@param UpdateToken The function writes an allocated EFI_BIS_DATA*
|
||||
containing the newunique update token value.
|
||||
The caller musteventually free the memory allocated
|
||||
by this function using the function Free().
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NO_MAPPING The AppHandle parameter is not or is no longer a valid
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
@retval EFI_INVALID_PARAMETER The UpdateToken parameter supplied by the caller is NULL or
|
||||
an invalid memory reference.
|
||||
@retval EFI_DEVICE_ERROR An unexpected internal error occurred.
|
||||
|
||||
**/
|
||||
an invalid memory reference.
|
||||
@retval EFI_DEVICE_ERROR An unexpected internal error occurred.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_UPDATE_TOKEN)(
|
||||
IN BIS_APPLICATION_HANDLE AppHandle,
|
||||
OUT EFI_BIS_DATA **UpdateToken
|
||||
IN BIS_APPLICATION_HANDLE AppHandle,
|
||||
OUT EFI_BIS_DATA **UpdateToken
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Updates one of the configurable parameters of the Boot Object Authorization set.
|
||||
|
||||
@param AppHandle An opaque handle that identifies the caller's
|
||||
instance of initialization of the BIS service.
|
||||
@param RequestCredential This is a Signed Manifest with embedded attributes
|
||||
that carry the details of the requested update.
|
||||
@param NewUpdateToken The function writes an allocated EFI_BIS_DATA*
|
||||
containing the new unique update token value.
|
||||
The caller must eventually free the memory allocated
|
||||
|
||||
@param AppHandle An opaque handle that identifies the caller's
|
||||
instance of initialization of the BIS service.
|
||||
@param RequestCredential This is a Signed Manifest with embedded attributes
|
||||
that carry the details of the requested update.
|
||||
@param NewUpdateToken The function writes an allocated EFI_BIS_DATA*
|
||||
containing the new unique update token value.
|
||||
The caller must eventually free the memory allocated
|
||||
by this function using the function Free().
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NO_MAPPING The AppHandle parameter is not or is no longer a valid
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_SECURITY_VIOLATION The signed manifest supplied as the RequestCredential parameter
|
||||
was invalid (could not be parsed) or Platform-specific authorization failed, etc.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NO_MAPPING The AppHandle parameter is not or is no longer a valid
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_SECURITY_VIOLATION The signed manifest supplied as the RequestCredential parameter
|
||||
was invalid (could not be parsed) or Platform-specific authorization failed, etc.
|
||||
@retval EFI_DEVICE_ERROR An unexpected internal error occurred while analyzing the new
|
||||
certificate's key algorithm, or while attempting to retrieve
|
||||
the public key algorithm of the manifest's signer's certificate,
|
||||
or An unexpected internal error occurred in a cryptographic software module.
|
||||
|
||||
**/
|
||||
or An unexpected internal error occurred in a cryptographic software module.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BIS_UPDATE_BOOT_OBJECT_AUTHORIZATION)(
|
||||
IN BIS_APPLICATION_HANDLE AppHandle,
|
||||
IN EFI_BIS_DATA *RequestCredential,
|
||||
OUT EFI_BIS_DATA **NewUpdateToken
|
||||
IN BIS_APPLICATION_HANDLE AppHandle,
|
||||
IN EFI_BIS_DATA *RequestCredential,
|
||||
OUT EFI_BIS_DATA **NewUpdateToken
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Verifies the integrity and authorization of the indicated data object according to the indicated
|
||||
credentials and authority certificate.
|
||||
|
||||
credentials and authority certificate.
|
||||
|
||||
@param AppHandle An opaque handle that identifies the caller's instance of initialization
|
||||
of the BIS service.
|
||||
of the BIS service.
|
||||
@param Credentials A Signed Manifest containing verification information for the
|
||||
indicated data object.
|
||||
indicated data object.
|
||||
@param DataObject An in-memory copy of the raw data object to be verified.
|
||||
@param SectionName An ASCII string giving the section name in the
|
||||
@param SectionName An ASCII string giving the section name in the
|
||||
manifest holding the verification information (in other words,
|
||||
hash value) that corresponds to DataObject.
|
||||
@param AuthorityCertificate A digital certificate whose public key must match the signer's
|
||||
public key which is found in the credentials.
|
||||
hash value) that corresponds to DataObject.
|
||||
@param AuthorityCertificate A digital certificate whose public key must match the signer's
|
||||
public key which is found in the credentials.
|
||||
@param IsVerified The function writes TRUE if the verification was successful.
|
||||
Otherwise, the function writes FALSE.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NO_MAPPING The AppHandle parameter is not or is no longer a valid
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
Otherwise, the function writes FALSE.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NO_MAPPING The AppHandle parameter is not or is no longer a valid
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_SECURITY_VIOLATION The Credentials.Data supplied by the caller is NULL,
|
||||
or the AuthorityCertificate supplied by the caller was
|
||||
invalid (could not be parsed),
|
||||
or Platform-specific authorization failed, etc.
|
||||
or the AuthorityCertificate supplied by the caller was
|
||||
invalid (could not be parsed),
|
||||
or Platform-specific authorization failed, etc.
|
||||
@retval EFI_DEVICE_ERROR An unexpected internal error occurred while attempting to retrieve
|
||||
the public key algorithm of the manifest's signer's certificate,
|
||||
or An unexpected internal error occurred in a cryptographic software module.
|
||||
**/
|
||||
or An unexpected internal error occurred in a cryptographic software module.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BIS_VERIFY_OBJECT_WITH_CREDENTIAL)(
|
||||
IN BIS_APPLICATION_HANDLE AppHandle,
|
||||
IN EFI_BIS_DATA *Credentials,
|
||||
IN EFI_BIS_DATA *DataObject,
|
||||
IN EFI_BIS_DATA *SectionName,
|
||||
IN EFI_BIS_DATA *AuthorityCertificate,
|
||||
OUT BOOLEAN *IsVerified
|
||||
IN BIS_APPLICATION_HANDLE AppHandle,
|
||||
IN EFI_BIS_DATA *Credentials,
|
||||
IN EFI_BIS_DATA *DataObject,
|
||||
IN EFI_BIS_DATA *SectionName,
|
||||
IN EFI_BIS_DATA *AuthorityCertificate,
|
||||
OUT BOOLEAN *IsVerified
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Retrieves a list of digital certificate identifier, digital signature algorithm, hash algorithm, and keylength
|
||||
combinations that the platform supports.
|
||||
combinations that the platform supports.
|
||||
|
||||
@param AppHandle An opaque handle that identifies the caller's instance of initialization
|
||||
of the BIS service.
|
||||
of the BIS service.
|
||||
@param SignatureInfo The function writes an allocated EFI_BIS_DATA* containing the array
|
||||
of EFI_BIS_SIGNATURE_INFO structures representing the supported
|
||||
of EFI_BIS_SIGNATURE_INFO structures representing the supported
|
||||
digital certificate identifier, algorithm, and key length combinations.
|
||||
The caller must eventually free the memory allocated by this function using the function Free().
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NO_MAPPING The AppHandle parameter is not or is no longer a valid
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NO_MAPPING The AppHandle parameter is not or is no longer a valid
|
||||
application instance handle associated with the EFI_BIS protocol.
|
||||
@retval EFI_OUT_OF_RESOURCES The function failed due to lack of memory or other resources.
|
||||
@retval EFI_INVALID_PARAMETER The SignatureInfo parameter supplied by the caller is NULL
|
||||
or an invalid memory reference.
|
||||
@retval EFI_DEVICE_ERROR An unexpected internal error occurred in a
|
||||
@@ -424,8 +424,8 @@ EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BIS_GET_SIGNATURE_INFO)(
|
||||
IN BIS_APPLICATION_HANDLE AppHandle,
|
||||
OUT EFI_BIS_DATA **SignatureInfo
|
||||
IN BIS_APPLICATION_HANDLE AppHandle,
|
||||
OUT EFI_BIS_DATA **SignatureInfo
|
||||
);
|
||||
|
||||
///
|
||||
|
@@ -4,14 +4,14 @@
|
||||
The Block IO protocol is used to abstract block devices like hard drives,
|
||||
DVD-ROMs and floppy drives.
|
||||
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -27,12 +27,12 @@ typedef struct _EFI_BLOCK_IO_PROTOCOL EFI_BLOCK_IO_PROTOCOL;
|
||||
|
||||
///
|
||||
/// Protocol GUID name defined in EFI1.1.
|
||||
///
|
||||
///
|
||||
#define BLOCK_IO_PROTOCOL EFI_BLOCK_IO_PROTOCOL_GUID
|
||||
|
||||
///
|
||||
/// Protocol defined in EFI1.1.
|
||||
///
|
||||
///
|
||||
typedef EFI_BLOCK_IO_PROTOCOL EFI_BLOCK_IO;
|
||||
|
||||
/**
|
||||
@@ -68,7 +68,7 @@ EFI_STATUS
|
||||
@retval EFI_NO_MEDIA There is no media in the device.
|
||||
@retval EFI_MEDIA_CHANGED The MediaId does not matched the current device.
|
||||
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
|
||||
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid,
|
||||
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid,
|
||||
or the buffer is not on proper alignment.
|
||||
|
||||
**/
|
||||
@@ -98,7 +98,7 @@ EFI_STATUS
|
||||
@retval EFI_NO_MEDIA There is no media in the device.
|
||||
@retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device.
|
||||
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
|
||||
@retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid,
|
||||
@retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid,
|
||||
or the buffer is not on proper alignment.
|
||||
|
||||
**/
|
||||
@@ -135,17 +135,17 @@ typedef struct {
|
||||
///
|
||||
/// The curent media Id. If the media changes, this value is changed.
|
||||
///
|
||||
UINT32 MediaId;
|
||||
|
||||
UINT32 MediaId;
|
||||
|
||||
///
|
||||
/// TRUE if the media is removable; otherwise, FALSE.
|
||||
///
|
||||
///
|
||||
BOOLEAN RemovableMedia;
|
||||
|
||||
|
||||
///
|
||||
/// 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.
|
||||
/// as of the most recent ReadBlocks() or WriteBlocks() call.
|
||||
///
|
||||
BOOLEAN MediaPresent;
|
||||
|
||||
@@ -154,45 +154,45 @@ typedef struct {
|
||||
/// FALSE. For media with only one partition this would be TRUE.
|
||||
///
|
||||
BOOLEAN LogicalPartition;
|
||||
|
||||
|
||||
///
|
||||
/// 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 ReadOnly;
|
||||
|
||||
|
||||
///
|
||||
/// TRUE if the WriteBlock () function caches write data.
|
||||
///
|
||||
BOOLEAN WriteCaching;
|
||||
|
||||
BOOLEAN WriteCaching;
|
||||
|
||||
///
|
||||
/// The intrinsic block size of the device. If the media changes, then
|
||||
/// this field is updated.
|
||||
/// this field is updated.
|
||||
///
|
||||
UINT32 BlockSize;
|
||||
|
||||
UINT32 BlockSize;
|
||||
|
||||
///
|
||||
/// Supplies the alignment requirement for any buffer to read or write block(s).
|
||||
///
|
||||
UINT32 IoAlign;
|
||||
|
||||
UINT32 IoAlign;
|
||||
|
||||
///
|
||||
/// The last logical block address on the device.
|
||||
/// If the media changes, then this field is updated.
|
||||
/// If the media changes, then this field is updated.
|
||||
///
|
||||
EFI_LBA LastBlock;
|
||||
EFI_LBA LastBlock;
|
||||
|
||||
///
|
||||
/// Only present if EFI_BLOCK_IO_PROTOCOL.Revision is greater than or equal to
|
||||
/// EFI_BLOCK_IO_PROTOCOL_REVISION2. Returns the first LBA is aligned to
|
||||
/// a physical block boundary.
|
||||
/// EFI_BLOCK_IO_PROTOCOL_REVISION2. Returns the first LBA is aligned to
|
||||
/// a physical block boundary.
|
||||
///
|
||||
EFI_LBA LowestAlignedLba;
|
||||
|
||||
///
|
||||
/// Only present if EFI_BLOCK_IO_PROTOCOL.Revision is greater than or equal to
|
||||
/// EFI_BLOCK_IO_PROTOCOL_REVISION2. Returns the number of logical blocks
|
||||
/// EFI_BLOCK_IO_PROTOCOL_REVISION2. Returns the number of logical blocks
|
||||
/// per physical block.
|
||||
///
|
||||
UINT32 LogicalBlocksPerPhysicalBlock;
|
||||
@@ -211,7 +211,7 @@ typedef struct {
|
||||
|
||||
///
|
||||
/// Revision defined in EFI1.1.
|
||||
///
|
||||
///
|
||||
#define EFI_BLOCK_IO_INTERFACE_REVISION EFI_BLOCK_IO_PROTOCOL_REVISION
|
||||
|
||||
///
|
||||
|
@@ -5,14 +5,14 @@
|
||||
enables the ability to read and write data at a block level in a non-blocking
|
||||
manner.
|
||||
|
||||
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -69,7 +69,7 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Read BufferSize bytes from Lba into Buffer.
|
||||
|
||||
|
||||
This function reads the requested number of blocks from the device. All the
|
||||
blocks are read, or an error is returned.
|
||||
If EFI_DEVICE_ERROR, EFI_NO_MEDIA,_or EFI_MEDIA_CHANGED is returned and
|
||||
@@ -77,13 +77,13 @@ EFI_STATUS
|
||||
not be signaled.
|
||||
|
||||
@param[in] This Indicates a pointer to the calling context.
|
||||
@param[in] MediaId Id of the media, changes every time the media is
|
||||
@param[in] MediaId Id of the media, changes every time the media is
|
||||
replaced.
|
||||
@param[in] Lba The starting Logical Block Address to read from.
|
||||
@param[in, out] Token A pointer to the token associated with the transaction.
|
||||
@param[in] BufferSize Size of Buffer, must be a multiple of device block size.
|
||||
@param[out] Buffer A pointer to the destination buffer for the data. The
|
||||
caller is responsible for either having implicit or
|
||||
@param[in, out] Token A pointer to the token associated with the transaction.
|
||||
@param[in] BufferSize Size of Buffer, must be a multiple of device block size.
|
||||
@param[out] Buffer A pointer to the destination buffer for the data. The
|
||||
caller is responsible for either having implicit or
|
||||
explicit ownership of the buffer.
|
||||
|
||||
@retval EFI_SUCCESS The read request was queued if Token->Event is
|
||||
@@ -95,7 +95,7 @@ EFI_STATUS
|
||||
@retval EFI_MEDIA_CHANGED The MediaId is not for the current media.
|
||||
@retval EFI_BAD_BUFFER_SIZE The BufferSize parameter is not a multiple of the
|
||||
intrinsic block size of the device.
|
||||
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid,
|
||||
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid,
|
||||
or the buffer is not on proper alignment.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack
|
||||
of resources.
|
||||
@@ -136,7 +136,7 @@ EFI_STATUS
|
||||
@retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device.
|
||||
@retval EFI_DEVICE_ERROR The device reported an error while performing the write.
|
||||
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
|
||||
@retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid,
|
||||
@retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid,
|
||||
or the buffer is not on proper alignment.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack
|
||||
of resources.
|
||||
@@ -155,10 +155,10 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Flush the Block Device.
|
||||
|
||||
|
||||
If EFI_DEVICE_ERROR, EFI_NO_MEDIA,_EFI_WRITE_PROTECTED or EFI_MEDIA_CHANGED
|
||||
is returned and non-blocking I/O is being used, the Event associated with
|
||||
this request will not be signaled.
|
||||
this request will not be signaled.
|
||||
|
||||
@param[in] This Indicates a pointer to the calling context.
|
||||
@param[in,out] Token A pointer to the token associated with the transaction
|
||||
@@ -189,9 +189,9 @@ EFI_STATUS
|
||||
///
|
||||
struct _EFI_BLOCK_IO2_PROTOCOL {
|
||||
///
|
||||
/// A pointer to the EFI_BLOCK_IO_MEDIA data for this device.
|
||||
/// A pointer to the EFI_BLOCK_IO_MEDIA data for this device.
|
||||
/// Type EFI_BLOCK_IO_MEDIA is defined in BlockIo.h.
|
||||
///
|
||||
///
|
||||
EFI_BLOCK_IO_MEDIA *Media;
|
||||
|
||||
EFI_BLOCK_RESET_EX Reset;
|
||||
|
@@ -2,16 +2,16 @@
|
||||
EFI Bluetooth Configuration Protocol as defined in UEFI 2.7.
|
||||
This protocol abstracts user interface configuration for Bluetooth device.
|
||||
|
||||
Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
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:
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in UEFI Specification 2.7
|
||||
|
||||
**/
|
||||
@@ -25,7 +25,7 @@
|
||||
{ \
|
||||
0x62960cf3, 0x40ff, 0x4263, { 0xa7, 0x7c, 0xdf, 0xde, 0xbd, 0x19, 0x1b, 0x4b } \
|
||||
}
|
||||
|
||||
|
||||
typedef struct _EFI_BLUETOOTH_CONFIG_PROTOCOL EFI_BLUETOOTH_CONFIG_PROTOCOL;
|
||||
|
||||
typedef UINT32 EFI_BLUETOOTH_CONFIG_REMOTE_DEVICE_STATE_TYPE;
|
||||
@@ -41,7 +41,7 @@ typedef struct {
|
||||
///
|
||||
BLUETOOTH_ADDRESS BDAddr;
|
||||
///
|
||||
/// State of the remote deive
|
||||
/// State of the remote deive
|
||||
///
|
||||
UINT8 RemoteDeviceState;
|
||||
///
|
||||
@@ -113,12 +113,12 @@ typedef enum {
|
||||
///
|
||||
typedef enum {
|
||||
///
|
||||
/// For SSP - passkey entry. Input buffer is Passkey (4 bytes). No output buffer.
|
||||
/// For SSP - passkey entry. Input buffer is Passkey (4 bytes). No output buffer.
|
||||
/// See Bluetooth HCI command for detail.
|
||||
///
|
||||
EfiBluetoothCallbackTypeUserPasskeyNotification,
|
||||
///
|
||||
/// For SSP - just work and numeric comparison. Input buffer is numeric value (4 bytes).
|
||||
/// For SSP - just work and numeric comparison. Input buffer is numeric value (4 bytes).
|
||||
/// Output buffer is BOOLEAN (1 byte). See Bluetooth HCI command for detail.
|
||||
///
|
||||
EfiBluetoothCallbackTypeUserConfirmationRequest,
|
||||
@@ -127,7 +127,7 @@ typedef enum {
|
||||
///
|
||||
EfiBluetoothCallbackTypeOOBDataRequest,
|
||||
///
|
||||
/// For legacy paring. No input buffer. Output buffer is PIN code( <= 16 bytes).
|
||||
/// For legacy paring. No input buffer. Output buffer is PIN code( <= 16 bytes).
|
||||
/// See Bluetooth HCI command for detail.
|
||||
///
|
||||
EfiBluetoothCallbackTypePinCodeRequest,
|
||||
@@ -139,44 +139,44 @@ typedef enum {
|
||||
///
|
||||
typedef enum {
|
||||
///
|
||||
/// This callback is called when Bluetooth receive Disconnection_Complete event. Input buffer is Event
|
||||
/// This callback is called when Bluetooth receive Disconnection_Complete event. Input buffer is Event
|
||||
/// Parameters of Disconnection_Complete Event defined in Bluetooth specification.
|
||||
///
|
||||
EfiBluetoothConnCallbackTypeDisconnected,
|
||||
///
|
||||
/// This callback is called when Bluetooth receive Connection_Complete event. Input buffer is Event
|
||||
/// This callback is called when Bluetooth receive Connection_Complete event. Input buffer is Event
|
||||
/// Parameters of Connection_Complete Event defined in Bluetooth specification.
|
||||
///
|
||||
EfiBluetoothConnCallbackTypeConnected,
|
||||
///
|
||||
/// This callback is called when Bluetooth receive Authentication_Complete event. Input buffer is Event
|
||||
/// This callback is called when Bluetooth receive Authentication_Complete event. Input buffer is Event
|
||||
/// Parameters of Authentication_Complete Event defined in Bluetooth specification.
|
||||
///
|
||||
EfiBluetoothConnCallbackTypeAuthenticated,
|
||||
///
|
||||
/// This callback is called when Bluetooth receive Encryption_Change event. Input buffer is Event
|
||||
/// This callback is called when Bluetooth receive Encryption_Change event. Input buffer is Event
|
||||
/// Parameters of Encryption_Change Event defined in Bluetooth specification.
|
||||
///
|
||||
EfiBluetoothConnCallbackTypeEncrypted
|
||||
} EFI_BLUETOOTH_CONNECT_COMPLETE_CALLBACK_TYPE;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Initialize Bluetooth host controller and local device.
|
||||
|
||||
@param This Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance.
|
||||
|
||||
@retval EFI_SUCCESS The Bluetooth host controller and local device is initialized successfully.
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred trying to initialize the Bluetooth host controller
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred trying to initialize the Bluetooth host controller
|
||||
and local device.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BLUETOOTH_CONFIG_INIT)(
|
||||
IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Callback function, it is called if a Bluetooth device is found during scan process.
|
||||
|
||||
@@ -194,16 +194,16 @@ EFI_STATUS
|
||||
IN VOID *Context,
|
||||
IN EFI_BLUETOOTH_SCAN_CALLBACK_INFORMATION *CallbackInfo
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Scan Bluetooth device.
|
||||
|
||||
@param This Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance.
|
||||
@param ReScan If TRUE, a new scan request is submitted no matter there is scan result before.
|
||||
If FALSE and there is scan result, the previous scan result is returned and no scan request
|
||||
@param ReScan If TRUE, a new scan request is submitted no matter there is scan result before.
|
||||
If FALSE and there is scan result, the previous scan result is returned and no scan request
|
||||
is submitted.
|
||||
@param ScanType Bluetooth scan type, Inquiry and/or Page. See Bluetooth specification for detail.
|
||||
@param Callback The callback function. This function is called if a Bluetooth device is found during scan
|
||||
@param Callback The callback function. This function is called if a Bluetooth device is found during scan
|
||||
process.
|
||||
@param Context Data passed into Callback function. This is optional parameter and may be NULL.
|
||||
|
||||
@@ -211,7 +211,7 @@ EFI_STATUS
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred trying to scan the Bluetooth device.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BLUETOOTH_CONFIG_SCAN)(
|
||||
IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This,
|
||||
@@ -220,7 +220,7 @@ EFI_STATUS
|
||||
IN EFI_BLUETOOTH_CONFIG_SCAN_CALLBACK_FUNCTION Callback,
|
||||
IN VOID *Context
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Connect a Bluetooth device.
|
||||
|
||||
@@ -233,7 +233,7 @@ EFI_STATUS
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred trying to connect the Bluetooth device.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BLUETOOTH_CONFIG_CONNECT)(
|
||||
IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This,
|
||||
@@ -253,14 +253,14 @@ EFI_STATUS
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred trying to disconnect the Bluetooth device.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BLUETOOTH_CONFIG_DISCONNECT)(
|
||||
IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This,
|
||||
IN BLUETOOTH_ADDRESS *BD_ADDR,
|
||||
IN UINT8 Reason
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Get Bluetooth configuration data.
|
||||
|
||||
@@ -280,7 +280,7 @@ EFI_STATUS
|
||||
*DataSize has been updated with the size needed to complete the request.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BLUETOOTH_CONFIG_GET_DATA)(
|
||||
IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This,
|
||||
@@ -288,7 +288,7 @@ EFI_STATUS
|
||||
IN OUT UINTN *DataSize,
|
||||
IN OUT VOID *Data
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Set Bluetooth configuration data.
|
||||
|
||||
@@ -305,7 +305,7 @@ EFI_STATUS
|
||||
@retval EFI_BUFFER_TOO_SMALL Cannot set configuration data.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BLUETOOTH_CONFIG_SET_DATA)(
|
||||
IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This,
|
||||
@@ -313,7 +313,7 @@ EFI_STATUS
|
||||
IN UINTN DataSize,
|
||||
IN VOID *Data
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Get remove Bluetooth device configuration data.
|
||||
|
||||
@@ -334,7 +334,7 @@ EFI_STATUS
|
||||
*DataSize has been updated with the size needed to complete the request.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BLUETOOTH_CONFIG_GET_REMOTE_DATA)(
|
||||
IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This,
|
||||
@@ -343,7 +343,7 @@ EFI_STATUS
|
||||
IN OUT UINTN *DataSize,
|
||||
IN OUT VOID *Data
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
The callback function for PIN code.
|
||||
|
||||
@@ -352,14 +352,14 @@ EFI_STATUS
|
||||
@param CallbackType Callback type in EFI_BLUETOOTH_PIN_CALLBACK_TYPE.
|
||||
@param InputBuffer A pointer to the buffer of data that is input from callback caller.
|
||||
@param InputBufferSize Indicates the size, in bytes, of the data buffer specified by InputBuffer.
|
||||
@param OutputBuffer A pointer to the buffer of data that will be output from callback callee.
|
||||
@param OutputBuffer A pointer to the buffer of data that will be output from callback callee.
|
||||
Callee allocates this buffer by using EFI Boot Service AllocatePool().
|
||||
@param OutputBufferSize Indicates the size, in bytes, of the data buffer specified by OutputBuffer.
|
||||
|
||||
@retval EFI_SUCCESS The callback function complete successfully.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BLUETOOTH_CONFIG_REGISTER_PIN_CALLBACK_FUNCTION)(
|
||||
IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This,
|
||||
@@ -370,7 +370,7 @@ EFI_STATUS
|
||||
OUT VOID **OutputBuffer,
|
||||
OUT UINTN *OutputBufferSize
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Register PIN callback function.
|
||||
|
||||
@@ -381,7 +381,7 @@ EFI_STATUS
|
||||
@retval EFI_SUCCESS The PIN callback function is registered successfully.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BLUETOOTH_CONFIG_REGISTER_PIN_CALLBACK)(
|
||||
IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This,
|
||||
@@ -400,7 +400,7 @@ EFI_STATUS
|
||||
@retval EFI_SUCCESS The callback function complete successfully.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BLUETOOTH_CONFIG_REGISTER_GET_LINK_KEY_CALLBACK_FUNCTION)(
|
||||
IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This,
|
||||
@@ -408,7 +408,7 @@ EFI_STATUS
|
||||
IN BLUETOOTH_ADDRESS *BDAddr,
|
||||
OUT UINT8 LinkKey[BLUETOOTH_HCI_LINK_KEY_SIZE]
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Register get link key callback function.
|
||||
|
||||
@@ -419,14 +419,14 @@ EFI_STATUS
|
||||
@retval EFI_SUCCESS The link key callback function is registered successfully.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BLUETOOTH_CONFIG_REGISTER_GET_LINK_KEY_CALLBACK)(
|
||||
IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This,
|
||||
IN EFI_BLUETOOTH_CONFIG_REGISTER_GET_LINK_KEY_CALLBACK_FUNCTION Callback,
|
||||
IN VOID *Context
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
The callback function to set link key.
|
||||
|
||||
@@ -438,7 +438,7 @@ EFI_STATUS
|
||||
@retval EFI_SUCCESS The callback function complete successfully.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BLUETOOTH_CONFIG_REGISTER_SET_LINK_KEY_CALLBACK_FUNCTION)(
|
||||
IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This,
|
||||
@@ -446,7 +446,7 @@ EFI_STATUS
|
||||
IN BLUETOOTH_ADDRESS *BDAddr,
|
||||
IN UINT8 LinkKey[BLUETOOTH_HCI_LINK_KEY_SIZE]
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Register set link key callback function.
|
||||
|
||||
@@ -457,14 +457,14 @@ EFI_STATUS
|
||||
@retval EFI_SUCCESS The link key callback function is registered successfully.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BLUETOOTH_CONFIG_REGISTER_SET_LINK_KEY_CALLBACK)(
|
||||
IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This,
|
||||
IN EFI_BLUETOOTH_CONFIG_REGISTER_SET_LINK_KEY_CALLBACK_FUNCTION Callback,
|
||||
IN VOID *Context
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
The callback function. It is called after connect completed.
|
||||
|
||||
@@ -478,7 +478,7 @@ EFI_STATUS
|
||||
@retval EFI_SUCCESS The callback function complete successfully.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BLUETOOTH_CONFIG_REGISTER_CONNECT_COMPLETE_CALLBACK_FUNCTION)(
|
||||
IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This,
|
||||
@@ -488,7 +488,7 @@ EFI_STATUS
|
||||
IN VOID *InputBuffer,
|
||||
IN UINTN InputBufferSize
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Register link connect complete callback function.
|
||||
|
||||
@@ -499,14 +499,14 @@ EFI_STATUS
|
||||
@retval EFI_SUCCESS The link connect complete callback function is registered successfully.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BLUETOOTH_CONFIG_REGISTER_CONNECT_COMPLETE_CALLBACK)(
|
||||
IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This,
|
||||
IN EFI_BLUETOOTH_CONFIG_REGISTER_CONNECT_COMPLETE_CALLBACK_FUNCTION Callback,
|
||||
IN VOID *Context
|
||||
);
|
||||
|
||||
|
||||
///
|
||||
/// This protocol abstracts user interface configuration for Bluetooth device.
|
||||
///
|
||||
|
@@ -2,7 +2,7 @@
|
||||
EFI Bluetooth Host Controller Protocol as defined in UEFI 2.5.
|
||||
This protocol abstracts the Bluetooth host controller layer message transmit and receive.
|
||||
|
||||
Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
@@ -23,7 +23,7 @@
|
||||
{ \
|
||||
0xb3930571, 0xbeba, 0x4fc5, { 0x92, 0x3, 0x94, 0x27, 0x24, 0x2e, 0x6a, 0x43 } \
|
||||
}
|
||||
|
||||
|
||||
typedef struct _EFI_BLUETOOTH_HC_PROTOCOL EFI_BLUETOOTH_HC_PROTOCOL;
|
||||
|
||||
/**
|
||||
|
@@ -4,14 +4,14 @@
|
||||
This protocol is used by EFI Applications to request the UEFI Boot Manager
|
||||
to connect devices using platform policy.
|
||||
|
||||
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
|
||||
#ifndef __BOOT_MANAGER_POLICY_H__
|
||||
@@ -53,7 +53,7 @@ typedef struct _EFI_BOOT_MANAGER_POLICY_PROTOCOL EFI_BOOT_MANAGER_POLICY_PROTOCO
|
||||
system will be connected using the platforms EFI Boot
|
||||
Manager policy.
|
||||
@param[in] Recursive If TRUE, then ConnectController() is called recursively
|
||||
until the entire tree of controllers below the
|
||||
until the entire tree of controllers below the
|
||||
controller specified by DevicePath have been created.
|
||||
If FALSE, then the tree of controllers is only expanded
|
||||
one level. If DevicePath is NULL then Recursive is ignored.
|
||||
@@ -61,7 +61,7 @@ typedef struct _EFI_BOOT_MANAGER_POLICY_PROTOCOL EFI_BOOT_MANAGER_POLICY_PROTOCO
|
||||
@retval EFI_SUCCESS The DevicePath was connected.
|
||||
@retval EFI_NOT_FOUND The DevicePath was not found.
|
||||
@retval EFI_NOT_FOUND No driver was connected to DevicePath.
|
||||
@retval EFI_SECURITY_VIOLATION The user has no permission to start UEFI device
|
||||
@retval EFI_SECURITY_VIOLATION The user has no permission to start UEFI device
|
||||
drivers on the DevicePath.
|
||||
@retval EFI_UNSUPPORTED The current TPL is not TPL_APPLICATION.
|
||||
**/
|
||||
@@ -80,7 +80,7 @@ EFI_STATUS
|
||||
Manager connect a class of devices.
|
||||
|
||||
If Class is EFI_BOOT_MANAGER_POLICY_CONSOLE_GUID then the Boot Manager will
|
||||
use platform policy to connect consoles. Some platforms may restrict the
|
||||
use platform policy to connect consoles. Some platforms may restrict the
|
||||
number of consoles connected as they attempt to fast boot, and calling
|
||||
ConnectDeviceClass() with a Class value of EFI_BOOT_MANAGER_POLICY_CONSOLE_GUID
|
||||
must connect the set of consoles that follow the Boot Manager platform policy,
|
||||
@@ -98,7 +98,7 @@ EFI_STATUS
|
||||
application that called ConnectDeviceClass() may need to use the published
|
||||
protocols to establish the network connection. The Boot Manager can optionally
|
||||
have a policy to establish a network connection.
|
||||
|
||||
|
||||
If Class is EFI_BOOT_MANAGER_POLICY_CONNECT_ALL_GUID then the Boot Manager
|
||||
will connect all UEFI drivers using the UEFI Boot Service
|
||||
EFI_BOOT_SERVICES.ConnectController(). If the Boot Manager has policy
|
||||
@@ -115,7 +115,7 @@ EFI_STATUS
|
||||
@retval EFI_DEVICE_ERROR Devices were not connected due to an error.
|
||||
@retval EFI_NOT_FOUND The Class is not supported by the platform.
|
||||
@retval EFI_UNSUPPORTED The current TPL is not TPL_APPLICATION.
|
||||
**/
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BOOT_MANAGER_POLICY_CONNECT_DEVICE_CLASS)(
|
||||
|
@@ -6,14 +6,14 @@
|
||||
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.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -34,14 +34,14 @@ typedef struct _EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL EFI_BUS_SPECIFIC_DRIV
|
||||
// Prototypes for the Bus Specific Driver Override Protocol
|
||||
//
|
||||
|
||||
/**
|
||||
/**
|
||||
Uses a bus specific algorithm to retrieve a driver image handle for a controller.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_BUS_SPECIFIC_DRIVER_
|
||||
OVERRIDE_PROTOCOL instance.
|
||||
OVERRIDE_PROTOCOL instance.
|
||||
@param DriverImageHandle On input, a pointer to the previous driver image handle returned
|
||||
by GetDriver(). On output, a pointer to the next driver
|
||||
image handle. Passing in a NULL, will return the first driver
|
||||
by GetDriver(). On output, a pointer to the next driver
|
||||
image handle. Passing in a NULL, will return the first driver
|
||||
image handle.
|
||||
|
||||
@retval EFI_SUCCESS A bus specific override driver is returned in DriverImageHandle.
|
||||
|
@@ -1,16 +1,16 @@
|
||||
/** @file
|
||||
Capsule Architectural Protocol as defined in PI1.0a Specification VOLUME 2 DXE
|
||||
|
||||
The DXE Driver that produces this protocol must be a runtime driver.
|
||||
The driver is responsible for initializing the CapsuleUpdate() and
|
||||
QueryCapsuleCapabilities() fields of the UEFI Runtime Services Table.
|
||||
After the two fields of the UEFI Runtime Services Table have been initialized,
|
||||
the driver must install the EFI_CAPSULE_ARCH_PROTOCOL_GUID on a new handle
|
||||
with a NULL interface pointer. The installation of this protocol informs
|
||||
the DXE Foundation that the Capsule related services are now available and
|
||||
The DXE Driver that produces this protocol must be a runtime driver.
|
||||
The driver is responsible for initializing the CapsuleUpdate() and
|
||||
QueryCapsuleCapabilities() fields of the UEFI Runtime Services Table.
|
||||
After the two fields of the UEFI Runtime Services Table have been initialized,
|
||||
the driver must install the EFI_CAPSULE_ARCH_PROTOCOL_GUID on a new handle
|
||||
with a NULL interface pointer. The installation of this protocol informs
|
||||
the DXE Foundation that the Capsule related services are now available and
|
||||
that the DXE Foundation must update the 32-bit CRC of the UEFI Runtime Services Table.
|
||||
|
||||
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
|
@@ -1,15 +1,15 @@
|
||||
/** @file
|
||||
EFI Component Name Protocol as defined in the EFI 1.1 specification.
|
||||
This protocol is used to retrieve user readable names of EFI Drivers
|
||||
This protocol is used to retrieve user readable names of EFI Drivers
|
||||
and controllers managed by EFI Drivers.
|
||||
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
@@ -110,7 +110,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
///
|
||||
/// This protocol is used to retrieve user readable names of drivers
|
||||
/// This protocol is used to retrieve user readable names of drivers
|
||||
/// and controllers managed by UEFI Drivers.
|
||||
///
|
||||
struct _EFI_COMPONENT_NAME_PROTOCOL {
|
||||
@@ -119,7 +119,7 @@ struct _EFI_COMPONENT_NAME_PROTOCOL {
|
||||
///
|
||||
/// 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.
|
||||
/// that this protocol supports.
|
||||
///
|
||||
CHAR8 *SupportedLanguages;
|
||||
};
|
||||
|
@@ -1,16 +1,16 @@
|
||||
/** @file
|
||||
UEFI Component Name 2 Protocol as defined in the UEFI 2.1 specification.
|
||||
This protocol is used to retrieve user readable names of drivers
|
||||
This protocol is used to retrieve user readable names of drivers
|
||||
and controllers managed by UEFI Drivers.
|
||||
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -32,7 +32,7 @@ typedef struct _EFI_COMPONENT_NAME2_PROTOCOL EFI_COMPONENT_NAME2_PROTOCOL;
|
||||
|
||||
@param This A pointer to the
|
||||
EFI_COMPONENT_NAME2_PROTOCOL instance.
|
||||
|
||||
|
||||
@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
|
||||
@@ -42,7 +42,7 @@ typedef struct _EFI_COMPONENT_NAME2_PROTOCOL EFI_COMPONENT_NAME2_PROTOCOL;
|
||||
driver is up to the driver writer. Language
|
||||
is specified in RFC 4646 language code
|
||||
format.
|
||||
|
||||
|
||||
@param DriverName A pointer to the string to return.
|
||||
This string is the name of the
|
||||
driver specified by This in the language
|
||||
@@ -52,11 +52,11 @@ typedef struct _EFI_COMPONENT_NAME2_PROTOCOL EFI_COMPONENT_NAME2_PROTOCOL;
|
||||
Driver specified by This and the
|
||||
language specified by Language
|
||||
was returned in DriverName.
|
||||
|
||||
|
||||
@retval EFI_INVALID_PARAMETER Language is NULL.
|
||||
|
||||
|
||||
@retval EFI_INVALID_PARAMETER DriverName is NULL.
|
||||
|
||||
|
||||
@retval EFI_UNSUPPORTED The driver specified by This
|
||||
does not support the language
|
||||
specified by Language.
|
||||
@@ -150,7 +150,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
///
|
||||
/// This protocol is used to retrieve user readable names of drivers
|
||||
/// This protocol is used to retrieve user readable names of drivers
|
||||
/// and controllers managed by UEFI Drivers.
|
||||
///
|
||||
struct _EFI_COMPONENT_NAME2_PROTOCOL {
|
||||
@@ -162,7 +162,7 @@ struct _EFI_COMPONENT_NAME2_PROTOCOL {
|
||||
/// 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 4646 format.
|
||||
/// specified in RFC 4646 format.
|
||||
///
|
||||
CHAR8 *SupportedLanguages;
|
||||
};
|
||||
|
@@ -3,14 +3,14 @@
|
||||
|
||||
This code abstracts the DXE core from processor implementation details.
|
||||
|
||||
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -61,14 +61,14 @@ VOID
|
||||
);
|
||||
|
||||
/**
|
||||
This function flushes the range of addresses from Start to Start+Length
|
||||
from the processor's data cache. If Start is not aligned to a cache line
|
||||
boundary, then the bytes before Start to the preceding cache line boundary
|
||||
are also flushed. If Start+Length is not aligned to a cache line boundary,
|
||||
then the bytes past Start+Length to the end of the next cache line boundary
|
||||
are also flushed. The FlushType of EfiCpuFlushTypeWriteBackInvalidate must be
|
||||
supported. If the data cache is fully coherent with all DMA operations, then
|
||||
this function can just return EFI_SUCCESS. If the processor does not support
|
||||
This function flushes the range of addresses from Start to Start+Length
|
||||
from the processor's data cache. If Start is not aligned to a cache line
|
||||
boundary, then the bytes before Start to the preceding cache line boundary
|
||||
are also flushed. If Start+Length is not aligned to a cache line boundary,
|
||||
then the bytes past Start+Length to the end of the next cache line boundary
|
||||
are also flushed. The FlushType of EfiCpuFlushTypeWriteBackInvalidate must be
|
||||
supported. If the data cache is fully coherent with all DMA operations, then
|
||||
this function can just return EFI_SUCCESS. If the processor does not support
|
||||
flushing a range of the data cache, then the entire data cache can be flushed.
|
||||
|
||||
@param This The EFI_CPU_ARCH_PROTOCOL instance.
|
||||
@@ -98,7 +98,7 @@ EFI_STATUS
|
||||
|
||||
|
||||
/**
|
||||
This function enables interrupt processing by the processor.
|
||||
This function enables interrupt processing by the processor.
|
||||
|
||||
@param This The EFI_CPU_ARCH_PROTOCOL instance.
|
||||
|
||||
@@ -130,8 +130,8 @@ EFI_STATUS
|
||||
|
||||
|
||||
/**
|
||||
This function retrieves the processor's current interrupt state a returns it in
|
||||
State. If interrupts are currently enabled, then TRUE is returned. If interrupts
|
||||
This function retrieves the processor's current interrupt state a returns it in
|
||||
State. If interrupts are currently enabled, then TRUE is returned. If interrupts
|
||||
are currently disabled, then FALSE is returned.
|
||||
|
||||
@param This The EFI_CPU_ARCH_PROTOCOL instance.
|
||||
@@ -152,9 +152,9 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
This function generates an INIT on the processor. If this function succeeds, then the
|
||||
processor will be reset, and control will not be returned to the caller. If InitType is
|
||||
not supported by this processor, or the processor cannot programmatically generate an
|
||||
INIT without help from external hardware, then EFI_UNSUPPORTED is returned. If an error
|
||||
processor will be reset, and control will not be returned to the caller. If InitType is
|
||||
not supported by this processor, or the processor cannot programmatically generate an
|
||||
INIT without help from external hardware, then EFI_UNSUPPORTED is returned. If an error
|
||||
occurs attempting to generate an INIT, then EFI_DEVICE_ERROR is returned.
|
||||
|
||||
@param This The EFI_CPU_ARCH_PROTOCOL instance.
|
||||
@@ -175,9 +175,9 @@ EFI_STATUS
|
||||
|
||||
|
||||
/**
|
||||
This function registers and enables the handler specified by InterruptHandler for a processor
|
||||
interrupt or exception type specified by InterruptType. If InterruptHandler is NULL, then the
|
||||
handler for the processor interrupt or exception type specified by InterruptType is uninstalled.
|
||||
This function registers and enables the handler specified by InterruptHandler for a processor
|
||||
interrupt or exception type specified by InterruptType. If InterruptHandler is NULL, then the
|
||||
handler for the processor interrupt or exception type specified by InterruptType is uninstalled.
|
||||
The installed handler is called once for each processor interrupt or exception.
|
||||
|
||||
@param This The EFI_CPU_ARCH_PROTOCOL instance.
|
||||
@@ -280,17 +280,17 @@ struct _EFI_CPU_ARCH_PROTOCOL {
|
||||
EFI_CPU_GET_TIMER_VALUE GetTimerValue;
|
||||
EFI_CPU_SET_MEMORY_ATTRIBUTES SetMemoryAttributes;
|
||||
///
|
||||
/// The number of timers that are available in a processor. The value in this
|
||||
/// field is a constant that must not be modified after the CPU Architectural
|
||||
/// The number of timers that are available in a processor. The value in this
|
||||
/// field is a constant that must not be modified after the CPU Architectural
|
||||
/// Protocol is installed. All consumers must treat this as a read-only field.
|
||||
///
|
||||
UINT32 NumberOfTimers;
|
||||
///
|
||||
/// The size, in bytes, of the alignment required for DMA buffer allocations.
|
||||
/// This is typically the size of the largest data cache line in the platform.
|
||||
/// The value in this field is a constant that must not be modified after the
|
||||
/// CPU Architectural Protocol is installed. All consumers must treat this as
|
||||
/// a read-only field.
|
||||
/// The size, in bytes, of the alignment required for DMA buffer allocations.
|
||||
/// This is typically the size of the largest data cache line in the platform.
|
||||
/// The value in this field is a constant that must not be modified after the
|
||||
/// CPU Architectural Protocol is installed. All consumers must treat this as
|
||||
/// a read-only field.
|
||||
///
|
||||
UINT32 DmaBufferAlignment;
|
||||
};
|
||||
|
@@ -1,18 +1,18 @@
|
||||
/** @file
|
||||
This files describes the CPU I/O 2 Protocol.
|
||||
|
||||
|
||||
This protocol provides an I/O abstraction for a system processor. This protocol
|
||||
is used by a PCI root bridge I/O driver to perform memory-mapped I/O and I/O transactions.
|
||||
The I/O or memory primitives can be used by the consumer of the protocol to materialize
|
||||
bus-specific configuration cycles, such as the transitional configuration address and data
|
||||
ports for PCI. Only drivers that require direct access to the entire system should use this
|
||||
protocol.
|
||||
|
||||
ports for PCI. Only drivers that require direct access to the entire system should use this
|
||||
protocol.
|
||||
|
||||
Note: This is a boot-services only protocol and it may not be used by runtime drivers after
|
||||
ExitBootServices(). It is different from the Framework CPU I/O Protocol, which is a runtime
|
||||
protocol and can be used by runtime drivers after ExitBootServices().
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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,7 +22,7 @@
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is defined in UEFI Platform Initialization Specification 1.2
|
||||
This Protocol is defined in UEFI Platform Initialization Specification 1.2
|
||||
Volume 5: Standards
|
||||
|
||||
**/
|
||||
@@ -57,35 +57,35 @@ typedef enum {
|
||||
} EFI_CPU_IO_PROTOCOL_WIDTH;
|
||||
|
||||
/**
|
||||
Enables a driver to access registers in the PI CPU I/O space.
|
||||
Enables a driver to access registers in the PI CPU I/O space.
|
||||
|
||||
The Io.Read() and Io.Write() functions enable a driver to access PCI controller
|
||||
registers in the PI CPU I/O space.
|
||||
The Io.Read() and Io.Write() functions enable a driver to access PCI controller
|
||||
registers in the PI CPU I/O space.
|
||||
|
||||
The I/O operations are carried out exactly as requested. The caller is responsible
|
||||
for satisfying any alignment and I/O width restrictions that a PI System on a
|
||||
platform might require. For example on some platforms, width requests of
|
||||
EfiCpuIoWidthUint64 do not work. Misaligned buffers, on the other hand, will
|
||||
The I/O operations are carried out exactly as requested. The caller is responsible
|
||||
for satisfying any alignment and I/O width restrictions that a PI System on a
|
||||
platform might require. For example on some platforms, width requests of
|
||||
EfiCpuIoWidthUint64 do not work. Misaligned buffers, on the other hand, will
|
||||
be handled by the driver.
|
||||
|
||||
If Width is EfiCpuIoWidthUint8, EfiCpuIoWidthUint16, EfiCpuIoWidthUint32,
|
||||
or EfiCpuIoWidthUint64, then both Address and Buffer are incremented for
|
||||
|
||||
If Width is EfiCpuIoWidthUint8, EfiCpuIoWidthUint16, EfiCpuIoWidthUint32,
|
||||
or EfiCpuIoWidthUint64, then both Address and Buffer are incremented for
|
||||
each of the Count operations that is performed.
|
||||
|
||||
If Width is EfiCpuIoWidthFifoUint8, EfiCpuIoWidthFifoUint16,
|
||||
EfiCpuIoWidthFifoUint32, or EfiCpuIoWidthFifoUint64, then only Buffer is
|
||||
incremented for each of the Count operations that is performed. The read or
|
||||
|
||||
If Width is EfiCpuIoWidthFifoUint8, EfiCpuIoWidthFifoUint16,
|
||||
EfiCpuIoWidthFifoUint32, or EfiCpuIoWidthFifoUint64, then only Buffer is
|
||||
incremented for each of the Count operations that is performed. The read or
|
||||
write operation is performed Count times on the same Address.
|
||||
|
||||
If Width is EfiCpuIoWidthFillUint8, EfiCpuIoWidthFillUint16,
|
||||
EfiCpuIoWidthFillUint32, or EfiCpuIoWidthFillUint64, then only Address is
|
||||
incremented for each of the Count operations that is performed. The read or
|
||||
|
||||
If Width is EfiCpuIoWidthFillUint8, EfiCpuIoWidthFillUint16,
|
||||
EfiCpuIoWidthFillUint32, or EfiCpuIoWidthFillUint64, then only Address is
|
||||
incremented for each of the Count operations that is performed. The read or
|
||||
write operation is performed Count times from the first element of Buffer.
|
||||
|
||||
@param[in] This A pointer to the EFI_CPU_IO2_PROTOCOL instance.
|
||||
@param[in] Width Signifies the width of the I/O or Memory operation.
|
||||
@param[in] Address The base address of the I/O operation.
|
||||
@param[in] Count The number of I/O operations to perform. The number
|
||||
@param[in] Address The base address of the I/O operation.
|
||||
@param[in] Count The number of I/O operations to perform. The number
|
||||
of bytes moved is Width size * Count, starting at Address.
|
||||
@param[in, out] Buffer For read operations, the destination buffer to store the results.
|
||||
For write operations, the source buffer from which to write data.
|
||||
@@ -94,7 +94,7 @@ typedef enum {
|
||||
@retval EFI_INVALID_PARAMETER Width is invalid for this PI system.
|
||||
@retval EFI_INVALID_PARAMETER Buffer is NULL.
|
||||
@retval EFI_UNSUPPORTED The Buffer is not aligned for the given Width.
|
||||
@retval EFI_UNSUPPORTED The address range specified by Address, Width,
|
||||
@retval EFI_UNSUPPORTED The address range specified by Address, Width,
|
||||
and Count is not valid for this PI system.
|
||||
|
||||
**/
|
||||
|
@@ -1,17 +1,17 @@
|
||||
/** @file
|
||||
|
||||
|
||||
The file defines the EFI Debugport protocol.
|
||||
This protocol is used by debug agent to communicate with the
|
||||
remote debug host.
|
||||
|
||||
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -35,14 +35,14 @@ typedef struct _EFI_DEBUGPORT_PROTOCOL EFI_DEBUGPORT_PROTOCOL;
|
||||
// DebugPort member functions
|
||||
//
|
||||
|
||||
/**
|
||||
/**
|
||||
Resets the debugport.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_DEBUGPORT_PROTOCOL instance.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The debugport device was reset and is in usable state.
|
||||
@retval EFI_DEVICE_ERROR The debugport device could not be reset and is unusable.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -50,19 +50,19 @@ EFI_STATUS
|
||||
IN EFI_DEBUGPORT_PROTOCOL *This
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Writes data to the debugport.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_DEBUGPORT_PROTOCOL instance.
|
||||
@param Timeout The number of microseconds to wait before timing out a write operation.
|
||||
@param BufferSize On input, the requested number of bytes of data to write. On output, the
|
||||
number of bytes of data actually written.
|
||||
@param Buffer A pointer to a buffer containing the data to write.
|
||||
|
||||
@param Buffer A pointer to a buffer containing the data to write.
|
||||
|
||||
@retval EFI_SUCCESS The data was written.
|
||||
@retval EFI_DEVICE_ERROR The device reported an error.
|
||||
@retval EFI_TIMEOUT The data write was stopped due to a timeout.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -73,20 +73,20 @@ EFI_STATUS
|
||||
IN VOID *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Reads data from the debugport.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_DEBUGPORT_PROTOCOL instance.
|
||||
@param Timeout The number of microseconds to wait before timing out a read operation.
|
||||
@param BufferSize On input, the requested number of bytes of data to read. On output, the
|
||||
number of bytes of data actually number of bytes
|
||||
of data read and returned in Buffer.
|
||||
@param Buffer A pointer to a buffer into which the data read will be saved.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The data was read.
|
||||
@retval EFI_DEVICE_ERROR The device reported an error.
|
||||
@retval EFI_TIMEOUT The operation was stopped due to a timeout or overrun.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -97,15 +97,15 @@ EFI_STATUS
|
||||
OUT VOID *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Checks to see if any data is available to be read from the debugport device.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_DEBUGPORT_PROTOCOL instance.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS At least one byte of data is available to be read.
|
||||
@retval EFI_DEVICE_ERROR The debugport device is not functioning correctly.
|
||||
@retval EFI_NOT_READY No data is available to be read.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
|
@@ -5,16 +5,16 @@
|
||||
The DebugSupport protocol is used by source level debuggers to abstract the
|
||||
processor and handle context save and restore operations.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -183,7 +183,7 @@ typedef struct {
|
||||
UINT8 Xmm6[16];
|
||||
UINT8 Xmm7[16];
|
||||
//
|
||||
// NOTE: UEFI 2.0 spec definition as follows.
|
||||
// NOTE: UEFI 2.0 spec definition as follows.
|
||||
//
|
||||
UINT8 Reserved11[14 * 16];
|
||||
} EFI_FX_SAVE_STATE_X64;
|
||||
@@ -626,12 +626,12 @@ typedef union {
|
||||
// DebugSupport callback function prototypes
|
||||
//
|
||||
|
||||
/**
|
||||
/**
|
||||
Registers and enables an exception callback function for the specified exception.
|
||||
|
||||
|
||||
@param ExceptionType Exception types in EBC, IA-32, x64, or IPF.
|
||||
@param SystemContext Exception content.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
@@ -640,11 +640,11 @@ VOID
|
||||
IN OUT EFI_SYSTEM_CONTEXT SystemContext
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Registers and enables the on-target debug agent's periodic entry point.
|
||||
|
||||
|
||||
@param SystemContext Exception content.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
@@ -669,16 +669,16 @@ typedef enum {
|
||||
// DebugSupport member function definitions
|
||||
//
|
||||
|
||||
/**
|
||||
/**
|
||||
Returns the maximum value that may be used for the ProcessorIndex parameter in
|
||||
RegisterPeriodicCallback() and RegisterExceptionCallback().
|
||||
|
||||
RegisterPeriodicCallback() and RegisterExceptionCallback().
|
||||
|
||||
@param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCOL instance.
|
||||
@param MaxProcessorIndex Pointer to a caller-allocated UINTN in which the maximum supported
|
||||
processor index is returned.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
|
||||
processor index is returned.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -687,20 +687,20 @@ EFI_STATUS
|
||||
OUT UINTN *MaxProcessorIndex
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Registers a function to be called back periodically in interrupt context.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCOL instance.
|
||||
@param ProcessorIndex Specifies which processor the callback function applies to.
|
||||
@param PeriodicCallback A pointer to a function of type PERIODIC_CALLBACK that is the main
|
||||
periodic entry point of the debug agent.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_ALREADY_STARTED Non-NULL PeriodicCallback parameter when a callback
|
||||
function was previously registered.
|
||||
@retval EFI_OUT_OF_RESOURCES System has insufficient memory resources to register new callback
|
||||
function.
|
||||
|
||||
function was previously registered.
|
||||
@retval EFI_OUT_OF_RESOURCES System has insufficient memory resources to register new callback
|
||||
function.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -710,21 +710,21 @@ EFI_STATUS
|
||||
IN EFI_PERIODIC_CALLBACK PeriodicCallback
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Registers a function to be called when a given processor exception occurs.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCOL instance.
|
||||
@param ProcessorIndex Specifies which processor the callback function applies to.
|
||||
@param ExceptionCallback A pointer to a function of type EXCEPTION_CALLBACK that is called
|
||||
when the processor exception specified by ExceptionType occurs.
|
||||
@param ExceptionType Specifies which processor exception to hook.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
when the processor exception specified by ExceptionType occurs.
|
||||
@param ExceptionType Specifies which processor exception to hook.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_ALREADY_STARTED Non-NULL PeriodicCallback parameter when a callback
|
||||
function was previously registered.
|
||||
@retval EFI_OUT_OF_RESOURCES System has insufficient memory resources to register new callback
|
||||
function.
|
||||
|
||||
function was previously registered.
|
||||
@retval EFI_OUT_OF_RESOURCES System has insufficient memory resources to register new callback
|
||||
function.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -735,18 +735,18 @@ EFI_STATUS
|
||||
IN EFI_EXCEPTION_TYPE ExceptionType
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Invalidates processor instruction cache for a memory range. Subsequent execution in this range
|
||||
causes a fresh memory fetch to retrieve code to be executed.
|
||||
|
||||
causes a fresh memory fetch to retrieve code to be executed.
|
||||
|
||||
@param This A pointer to the EFI_DEBUG_SUPPORT_PROTOCOL instance.
|
||||
@param ProcessorIndex Specifies which processor's instruction cache is to be invalidated.
|
||||
@param Start Specifies the physical base of the memory range to be invalidated.
|
||||
@param Start Specifies the physical base of the memory range to be invalidated.
|
||||
@param Length Specifies the minimum number of bytes in the processor's instruction
|
||||
cache to invalidate.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
|
||||
cache to invalidate.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -758,8 +758,8 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
///
|
||||
/// This protocol provides the services to allow the debug agent to register
|
||||
/// callback functions that are called either periodically or when specific
|
||||
/// 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.
|
||||
///
|
||||
struct _EFI_DEBUG_SUPPORT_PROTOCOL {
|
||||
@@ -775,4 +775,4 @@ struct _EFI_DEBUG_SUPPORT_PROTOCOL {
|
||||
|
||||
extern EFI_GUID gEfiDebugSupportProtocolGuid;
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
@@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
The Decompress Protocol Interface as defined in UEFI spec
|
||||
|
||||
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -23,16 +23,16 @@
|
||||
typedef struct _EFI_DECOMPRESS_PROTOCOL EFI_DECOMPRESS_PROTOCOL;
|
||||
|
||||
/**
|
||||
The GetInfo() function retrieves the size of the uncompressed buffer
|
||||
and the temporary scratch buffer required to decompress the buffer
|
||||
The GetInfo() function retrieves the size of the uncompressed buffer
|
||||
and the temporary scratch buffer required to decompress the buffer
|
||||
specified by Source and SourceSize. If the size of the uncompressed
|
||||
buffer or the size of the scratch buffer cannot be determined from
|
||||
the compressed data specified by Source and SourceData, then
|
||||
buffer or the size of the scratch buffer cannot be determined from
|
||||
the compressed data specified by Source and SourceData, then
|
||||
EFI_INVALID_PARAMETER is returned. Otherwise, the size of the uncompressed
|
||||
buffer is returned in DestinationSize, the size of the scratch buffer is
|
||||
buffer is returned in DestinationSize, the size of the scratch buffer is
|
||||
returned in ScratchSize, and EFI_SUCCESS is returned.
|
||||
|
||||
The GetInfo() function does not have a scratch buffer available to perform
|
||||
The GetInfo() function does not have a scratch buffer available to perform
|
||||
a thorough checking of the validity of the source data. It just retrieves
|
||||
the 'Original Size' field from the beginning bytes of the source data and
|
||||
output it as DestinationSize. And ScratchSize is specific to the decompression
|
||||
@@ -68,15 +68,15 @@ EFI_STATUS
|
||||
/**
|
||||
The Decompress() function extracts decompressed data to its original form.
|
||||
|
||||
This protocol is designed so that the decompression algorithm can be
|
||||
implemented without using any memory services. As a result, the
|
||||
Decompress() function is not allowed to call AllocatePool() or
|
||||
AllocatePages() in its implementation. It is the caller's responsibility
|
||||
This protocol is designed so that the decompression algorithm can be
|
||||
implemented without using any memory services. As a result, the
|
||||
Decompress() function is not allowed to call AllocatePool() or
|
||||
AllocatePages() in its implementation. It is the caller's responsibility
|
||||
to allocate and free the Destination and Scratch buffers.
|
||||
|
||||
If the compressed source data specified by Source and SourceSize is
|
||||
successfully decompressed into Destination, then EFI_SUCCESS is returned.
|
||||
If the compressed source data specified by Source and SourceSize is not in
|
||||
If the compressed source data specified by Source and SourceSize is
|
||||
successfully decompressed into Destination, then EFI_SUCCESS is returned.
|
||||
If the compressed source data specified by Source and SourceSize is not in
|
||||
a valid compressed data format, then EFI_INVALID_PARAMETER is returned.
|
||||
|
||||
@param This A pointer to the EFI_DECOMPRESS_PROTOCOL instance.
|
||||
@@ -87,7 +87,7 @@ EFI_STATUS
|
||||
@param DestinationSize The size of destination buffer. The size of destination
|
||||
buffer needed is obtained from GetInfo().
|
||||
@param Scratch A temporary scratch buffer that is used to perform the
|
||||
decompression.
|
||||
decompression.
|
||||
@param ScratchSize The size of scratch buffer. The size of scratch buffer needed
|
||||
is obtained from GetInfo().
|
||||
|
||||
|
@@ -1,19 +1,19 @@
|
||||
/** @file
|
||||
UEFI 2.2 Deferred Image Load Protocol definition.
|
||||
|
||||
This protocol returns information about images whose load was denied because of security
|
||||
considerations. This information can be used by the Boot Manager or another agent to reevaluate the
|
||||
images when the current security profile has been changed, such as when the current user profile
|
||||
This protocol returns information about images whose load was denied because of security
|
||||
considerations. This information can be used by the Boot Manager or another agent to reevaluate the
|
||||
images when the current security profile has been changed, such as when the current user profile
|
||||
changes. There can be more than one instance of this protocol installed.
|
||||
|
||||
Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -33,28 +33,28 @@ typedef struct _EFI_DEFERRED_IMAGE_LOAD_PROTOCOL EFI_DEFERRED_IMAGE_LOAD_PROTOC
|
||||
/**
|
||||
Returns information about a deferred image.
|
||||
|
||||
This function returns information about a single deferred image. The deferred images are numbered
|
||||
consecutively, starting with 0. If there is no image which corresponds to ImageIndex, then
|
||||
EFI_NOT_FOUND is returned. All deferred images may be returned by iteratively calling this
|
||||
This function returns information about a single deferred image. The deferred images are numbered
|
||||
consecutively, starting with 0. If there is no image which corresponds to ImageIndex, then
|
||||
EFI_NOT_FOUND is returned. All deferred images may be returned by iteratively calling this
|
||||
function until EFI_NOT_FOUND is returned.
|
||||
Image may be NULL and ImageSize set to 0 if the decision to defer execution was made because
|
||||
Image may be NULL and ImageSize set to 0 if the decision to defer execution was made because
|
||||
of the location of the executable image rather than its actual contents. record handle until
|
||||
there are no more, at which point UserInfo will point to NULL.
|
||||
there are no more, at which point UserInfo will point to NULL.
|
||||
|
||||
@param[in] This Points to this instance of the EFI_DEFERRED_IMAGE_LOAD_PROTOCOL.
|
||||
@param[in] ImageIndex Zero-based index of the deferred index.
|
||||
@param[out] ImageDevicePath On return, points to a pointer to the device path of the image.
|
||||
The device path should not be freed by the caller.
|
||||
@param[out] Image On return, points to the first byte of the image or NULL if the
|
||||
image is not available. The image should not be freed by the caller
|
||||
unless LoadImage() has been called successfully.
|
||||
@param[out] ImageDevicePath On return, points to a pointer to the device path of the image.
|
||||
The device path should not be freed by the caller.
|
||||
@param[out] Image On return, points to the first byte of the image or NULL if the
|
||||
image is not available. The image should not be freed by the caller
|
||||
unless LoadImage() has been called successfully.
|
||||
@param[out] ImageSize On return, the size of the image, or 0 if the image is not available.
|
||||
@param[out] BootOption On return, points to TRUE if the image was intended as a boot option
|
||||
or FALSE if it was not intended as a boot option.
|
||||
|
||||
@param[out] BootOption On return, points to TRUE if the image was intended as a boot option
|
||||
or FALSE if it was not intended as a boot option.
|
||||
|
||||
@retval EFI_SUCCESS Image information returned successfully.
|
||||
@retval EFI_NOT_FOUND ImageIndex does not refer to a valid image.
|
||||
@retval EFI_INVALID_PARAMETER ImageDevicePath is NULL or Image is NULL or ImageSize is NULL or
|
||||
@retval EFI_INVALID_PARAMETER ImageDevicePath is NULL or Image is NULL or ImageSize is NULL or
|
||||
BootOption is NULL.
|
||||
**/
|
||||
typedef
|
||||
|
@@ -4,14 +4,14 @@
|
||||
Device IO is used to abstract hardware access to devices. It includes
|
||||
memory mapped IO, IO, PCI Config space, and DMA.
|
||||
|
||||
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -27,16 +27,16 @@ typedef struct _EFI_DEVICE_IO_PROTOCOL EFI_DEVICE_IO_PROTOCOL;
|
||||
|
||||
///
|
||||
/// Protocol GUID name defined in EFI1.1.
|
||||
///
|
||||
///
|
||||
#define DEVICE_IO_PROTOCOL EFI_DEVICE_IO_PROTOCOL_GUID
|
||||
|
||||
///
|
||||
/// Protocol defined in EFI1.1.
|
||||
///
|
||||
///
|
||||
typedef EFI_DEVICE_IO_PROTOCOL EFI_DEVICE_IO_INTERFACE;
|
||||
|
||||
///
|
||||
/// Device IO Access Width
|
||||
/// Device IO Access Width
|
||||
///
|
||||
typedef enum {
|
||||
IO_UINT8 = 0,
|
||||
@@ -44,7 +44,7 @@ typedef enum {
|
||||
IO_UINT32 = 2,
|
||||
IO_UINT64 = 3,
|
||||
//
|
||||
// Below enumerations are added in "Extensible Firmware Interface Specification,
|
||||
// Below enumerations are added in "Extensible Firmware Interface Specification,
|
||||
// Version 1.10, Specification Update, Version 001".
|
||||
//
|
||||
MMIO_COPY_UINT8 = 4,
|
||||
@@ -53,23 +53,23 @@ typedef enum {
|
||||
MMIO_COPY_UINT64 = 7
|
||||
} EFI_IO_WIDTH;
|
||||
|
||||
/**
|
||||
/**
|
||||
Enables a driver to access device registers in the appropriate memory or I/O space.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_DEVICE_IO_INTERFACE instance.
|
||||
@param Width Signifies the width of the I/O operations.
|
||||
@param Address The base address of the I/O operations.
|
||||
@param Width Signifies the width of the I/O operations.
|
||||
@param Address The base address of the I/O operations.
|
||||
@param Count The number of I/O operations to perform.
|
||||
@param Buffer For read operations, the destination buffer to store the results. For write
|
||||
operations, the source buffer to write data from. If
|
||||
Width is MMIO_COPY_UINT8, MMIO_COPY_UINT16,
|
||||
MMIO_COPY_UINT32, or MMIO_COPY_UINT64, then
|
||||
Buffer is interpreted as a base address of an I/O operation such as Address.
|
||||
Buffer is interpreted as a base address of an I/O operation such as Address.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the device.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_INVALID_PARAMETER Width is invalid.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -86,19 +86,19 @@ typedef struct {
|
||||
EFI_DEVICE_IO Write;
|
||||
} EFI_IO_ACCESS;
|
||||
|
||||
/**
|
||||
/**
|
||||
Provides an EFI Device Path for a PCI device with the given PCI configuration space address.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_DEVICE_IO_INTERFACE instance.
|
||||
@param PciAddress The PCI configuration space address of the device whose Device Path
|
||||
is going to be returned.
|
||||
is going to be returned.
|
||||
@param PciDevicePath A pointer to the pointer for the EFI Device Path for PciAddress.
|
||||
Memory for the Device Path is allocated from the pool.
|
||||
Memory for the Device Path is allocated from the pool.
|
||||
|
||||
@retval EFI_SUCCESS The PciDevicePath returns a pointer to a valid EFI Device Path.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_UNSUPPORTED The PciAddress does not map to a valid EFI Device Path.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -118,7 +118,7 @@ typedef enum {
|
||||
/// A write operation to system memory by a bus master.
|
||||
///
|
||||
EfiBusMasterWrite,
|
||||
|
||||
|
||||
///
|
||||
/// Provides both read and write access to system memory
|
||||
/// by both the processor and a bus master. The buffer is
|
||||
@@ -128,9 +128,9 @@ typedef enum {
|
||||
EfiBusMasterCommonBuffer
|
||||
} EFI_IO_OPERATION_TYPE;
|
||||
|
||||
/**
|
||||
/**
|
||||
Provides the device-specific addresses needed to access system memory.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_DEVICE_IO_INTERFACE instance.
|
||||
@param Operation Indicates if the bus master is going to read or write to system memory.
|
||||
@param HostAddress The system memory address to map to the device.
|
||||
@@ -141,11 +141,11 @@ typedef enum {
|
||||
@param Mapping A resulting value to pass to Unmap().
|
||||
|
||||
@retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer.
|
||||
@retval EFI_INVALID_PARAMETER The Operation or HostAddress is undefined.
|
||||
@retval EFI_DEVICE_ERROR The system hardware could not map the requested address.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -158,15 +158,15 @@ EFI_STATUS
|
||||
OUT VOID **Mapping
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Completes the Map() operation and releases any corresponding resources.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_DEVICE_IO_INTERFACE instance.
|
||||
@param Mapping A resulting value to pass to Unmap().
|
||||
|
||||
@retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes.
|
||||
@retval EFI_DEVICE_ERROR The system hardware could not map the requested address.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -175,22 +175,22 @@ EFI_STATUS
|
||||
IN VOID *Mapping
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Allocates pages that are suitable for an EFIBusMasterCommonBuffer mapping.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_DEVICE_IO_INTERFACE instance.
|
||||
@param Type The type allocation to perform.
|
||||
@param MemoryType The type of memory to allocate, EfiBootServicesData or
|
||||
EfiRuntimeServicesData.
|
||||
@param Pages The number of pages to allocate.
|
||||
@param HostAddress A pointer to store the base address of the allocated range.
|
||||
@param HostAddress A pointer to store the base address of the allocated range.
|
||||
|
||||
@retval EFI_SUCCESS The requested memory pages were allocated.
|
||||
@retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated.
|
||||
@retval EFI_INVALID_PARAMETER The requested memory type is invalid.
|
||||
@retval EFI_UNSUPPORTED The requested HostAddress is not supported on
|
||||
this platform.
|
||||
|
||||
this platform.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -202,14 +202,14 @@ EFI_STATUS
|
||||
IN OUT EFI_PHYSICAL_ADDRESS *HostAddress
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Flushes any posted write data to the device.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_DEVICE_IO_INTERFACE instance.
|
||||
|
||||
@retval EFI_SUCCESS The buffers were flushed.
|
||||
@retval EFI_DEVICE_ERROR The buffers were not flushed due to a hardware error.
|
||||
|
||||
@retval EFI_DEVICE_ERROR The buffers were not flushed due to a hardware error.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -217,18 +217,18 @@ EFI_STATUS
|
||||
IN EFI_DEVICE_IO_PROTOCOL *This
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Frees pages that were allocated with AllocateBuffer().
|
||||
|
||||
@param This A pointer to the EFI_DEVICE_IO_INTERFACE instance.
|
||||
|
||||
@param This A pointer to the EFI_DEVICE_IO_INTERFACE instance.
|
||||
@param Pages The number of pages to free.
|
||||
@param HostAddress The base address of the range to free.
|
||||
|
||||
@retval EFI_SUCCESS The requested memory pages were allocated.
|
||||
@retval EFI_NOT_FOUND The requested memory pages were not allocated with
|
||||
AllocateBuffer().
|
||||
AllocateBuffer().
|
||||
@retval EFI_INVALID_PARAMETER HostAddress is not page aligned or Pages is invalid.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -239,7 +239,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
///
|
||||
/// This protocol provides the basic Memory, I/O, and PCI interfaces that
|
||||
/// This protocol provides the basic Memory, I/O, and PCI interfaces that
|
||||
/// are used to abstract accesses to devices.
|
||||
///
|
||||
struct _EFI_DEVICE_IO_PROTOCOL {
|
||||
|
@@ -2,17 +2,17 @@
|
||||
The device path protocol as defined in UEFI 2.0.
|
||||
|
||||
The device path represents a programmatic path to a device,
|
||||
from a software point of view. The path must persist from boot to boot, so
|
||||
from a software point of view. The path 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 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -39,11 +39,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#pragma pack(1)
|
||||
|
||||
/**
|
||||
This protocol can be used on any device handle to obtain generic path/location
|
||||
information concerning the physical device or logical device. If the handle does
|
||||
not logically map to a physical device, the handle may not necessarily support
|
||||
the device path protocol. The device path describes the location of the device
|
||||
the handle is for. The size of the Device Path can be determined from the structures
|
||||
This protocol can be used on any device handle to obtain generic path/location
|
||||
information concerning the physical device or logical device. If the handle does
|
||||
not logically map to a physical device, the handle may not necessarily support
|
||||
the device path protocol. The device path describes the location of the device
|
||||
the handle is for. The size of the Device Path can be determined from the structures
|
||||
that make up the Device Path.
|
||||
**/
|
||||
typedef struct {
|
||||
@@ -53,20 +53,20 @@ typedef struct {
|
||||
///< 0x04 Media Device Path.
|
||||
///< 0x05 BIOS Boot Specification Device Path.
|
||||
///< 0x7F End of Hardware Device Path.
|
||||
|
||||
|
||||
UINT8 SubType; ///< Varies by Type
|
||||
///< 0xFF End Entire Device Path, or
|
||||
///< 0x01 End This Instance of a Device Path and start a new
|
||||
///< Device Path.
|
||||
|
||||
|
||||
UINT8 Length[2]; ///< Specific Device Path data. Type and Sub-Type define
|
||||
///< type of data. Size of data is included in Length.
|
||||
|
||||
|
||||
} EFI_DEVICE_PATH_PROTOCOL;
|
||||
|
||||
///
|
||||
/// Device Path protocol definition for backward-compatible with EFI1.1.
|
||||
///
|
||||
///
|
||||
typedef EFI_DEVICE_PATH_PROTOCOL EFI_DEVICE_PATH;
|
||||
|
||||
///
|
||||
@@ -1072,8 +1072,8 @@ typedef struct {
|
||||
#define MEDIA_PROTOCOL_DP 0x05
|
||||
|
||||
///
|
||||
/// The Media Protocol Device Path is used to denote the protocol that is being
|
||||
/// used in a device path at the location of the path specified.
|
||||
/// The Media Protocol Device Path is used to denote the protocol that is being
|
||||
/// used in a device path at the location of the path specified.
|
||||
/// Many protocols are inherent to the style of device path.
|
||||
///
|
||||
typedef struct {
|
||||
@@ -1268,7 +1268,7 @@ typedef union {
|
||||
SAS_DEVICE_PATH Sas;
|
||||
SASEX_DEVICE_PATH SasEx;
|
||||
NVME_NAMESPACE_DEVICE_PATH NvmeNamespace;
|
||||
DNS_DEVICE_PATH Dns;
|
||||
DNS_DEVICE_PATH Dns;
|
||||
URI_DEVICE_PATH Uri;
|
||||
BLUETOOTH_DEVICE_PATH Bluetooth;
|
||||
WIFI_DEVICE_PATH WiFi;
|
||||
@@ -1348,7 +1348,7 @@ typedef union {
|
||||
} EFI_DEV_PATH_PTR;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
|
||||
#define END_DEVICE_PATH_TYPE 0x7f
|
||||
#define END_ENTIRE_DEVICE_PATH_SUBTYPE 0xFF
|
||||
#define END_INSTANCE_DEVICE_PATH_SUBTYPE 0x01
|
||||
|
@@ -1,15 +1,15 @@
|
||||
/** @file
|
||||
EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL as defined in UEFI 2.0.
|
||||
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 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -39,8 +39,8 @@ typedef
|
||||
EFI_DEVICE_PATH_PROTOCOL*
|
||||
(EFIAPI *EFI_DEVICE_PATH_FROM_TEXT_NODE)(
|
||||
IN CONST CHAR16 *TextDeviceNode
|
||||
);
|
||||
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Convert text to the binary representation of a device node.
|
||||
@@ -57,7 +57,7 @@ typedef
|
||||
EFI_DEVICE_PATH_PROTOCOL*
|
||||
(EFIAPI *EFI_DEVICE_PATH_FROM_TEXT_PATH)(
|
||||
IN CONST CHAR16 *TextDevicePath
|
||||
);
|
||||
);
|
||||
|
||||
///
|
||||
/// This protocol converts text to device paths and device nodes.
|
||||
|
@@ -1,15 +1,15 @@
|
||||
/** @file
|
||||
EFI_DEVICE_PATH_TO_TEXT_PROTOCOL as defined in UEFI 2.0.
|
||||
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 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -45,7 +45,7 @@ CHAR16*
|
||||
IN CONST EFI_DEVICE_PATH_PROTOCOL *DeviceNode,
|
||||
IN BOOLEAN DisplayOnly,
|
||||
IN BOOLEAN AllowShortcuts
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
Convert a device path to its text representation.
|
||||
@@ -54,7 +54,7 @@ CHAR16*
|
||||
@param DisplayOnly If DisplayOnly is TRUE, then the shorter text representation
|
||||
of the display node is used, where applicable. If DisplayOnly
|
||||
is FALSE, then the longer text representation of the display node
|
||||
is used.
|
||||
is used.
|
||||
@param AllowShortcuts The AllowShortcuts is FALSE, then the shortcut forms of
|
||||
text representation for a device node cannot be used.
|
||||
|
||||
@@ -68,7 +68,7 @@ CHAR16*
|
||||
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
|
||||
IN BOOLEAN DisplayOnly,
|
||||
IN BOOLEAN AllowShortcuts
|
||||
);
|
||||
);
|
||||
|
||||
///
|
||||
/// This protocol converts device paths and device nodes to text.
|
||||
|
@@ -1,15 +1,15 @@
|
||||
/** @file
|
||||
EFI_DEVICE_PATH_UTILITIES_PROTOCOL as defined in UEFI 2.0.
|
||||
EFI_DEVICE_PATH_UTILITIES_PROTOCOL as defined in UEFI 2.0.
|
||||
Use to create and manipulate device paths and device nodes.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -30,15 +30,15 @@
|
||||
@param DevicePath Points to the start of the EFI device path.
|
||||
|
||||
@return Size Size of the specified device path, in bytes, including the end-of-path tag.
|
||||
@retval 0 DevicePath is NULL
|
||||
@retval 0 DevicePath is NULL
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINTN
|
||||
(EFIAPI *EFI_DEVICE_PATH_UTILS_GET_DEVICE_PATH_SIZE)(
|
||||
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
);
|
||||
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Create a duplicate of the specified path.
|
||||
@@ -53,11 +53,11 @@ typedef
|
||||
EFI_DEVICE_PATH_PROTOCOL*
|
||||
(EFIAPI *EFI_DEVICE_PATH_UTILS_DUP_DEVICE_PATH)(
|
||||
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
Create a new path by appending the second device path to the first.
|
||||
If Src1 is NULL and Src2 is non-NULL, then a duplicate of Src2 is returned.
|
||||
If Src1 is NULL and Src2 is non-NULL, then a duplicate of Src2 is returned.
|
||||
If Src1 is non-NULL and Src2 is NULL, then a duplicate of Src1 is returned.
|
||||
If Src1 and Src2 are both NULL, then a copy of an end-of-device-path is returned.
|
||||
|
||||
@@ -73,11 +73,11 @@ EFI_DEVICE_PATH_PROTOCOL*
|
||||
(EFIAPI *EFI_DEVICE_PATH_UTILS_APPEND_PATH)(
|
||||
IN CONST EFI_DEVICE_PATH_PROTOCOL *Src1,
|
||||
IN CONST EFI_DEVICE_PATH_PROTOCOL *Src2
|
||||
);
|
||||
|
||||
);
|
||||
|
||||
/**
|
||||
Creates a new path by appending the device node to the device path.
|
||||
If DeviceNode is NULL then a copy of DevicePath is returned.
|
||||
If DeviceNode is NULL then a copy of DevicePath is returned.
|
||||
If DevicePath is NULL then a copy of DeviceNode, followed by an end-of-device path device node is returned.
|
||||
If both DeviceNode and DevicePath are NULL then a copy of an end-of-device-path device node is returned.
|
||||
|
||||
@@ -110,7 +110,7 @@ EFI_DEVICE_PATH_PROTOCOL*
|
||||
(EFIAPI *EFI_DEVICE_PATH_UTILS_APPEND_INSTANCE)(
|
||||
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
|
||||
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePathInstance
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
Creates a copy of the current device path instance and returns a pointer to the next device path
|
||||
@@ -119,7 +119,7 @@ EFI_DEVICE_PATH_PROTOCOL*
|
||||
@param DevicePathInstance On input, this holds the pointer to the current device path
|
||||
instance. On output, this holds the pointer to the next
|
||||
device path instance or NULL if there are no more device
|
||||
path instances in the device path.
|
||||
path instances in the device path.
|
||||
@param DevicePathInstanceSize On output, this holds the size of the device path instance,
|
||||
in bytes or zero, if DevicePathInstance is NULL.
|
||||
If NULL, then the instance size is not output.
|
||||
@@ -133,7 +133,7 @@ EFI_DEVICE_PATH_PROTOCOL*
|
||||
(EFIAPI *EFI_DEVICE_PATH_UTILS_GET_NEXT_INSTANCE)(
|
||||
IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePathInstance,
|
||||
OUT UINTN *DevicePathInstanceSize
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
Creates a device node
|
||||
@@ -156,7 +156,7 @@ EFI_DEVICE_PATH_PROTOCOL*
|
||||
IN UINT8 NodeType,
|
||||
IN UINT8 NodeSubType,
|
||||
IN UINT16 NodeLength
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
Returns whether a device path is multi-instance.
|
||||
@@ -171,11 +171,11 @@ typedef
|
||||
BOOLEAN
|
||||
(EFIAPI *EFI_DEVICE_PATH_UTILS_IS_MULTI_INSTANCE)(
|
||||
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
);
|
||||
|
||||
);
|
||||
|
||||
///
|
||||
/// This protocol is used to creates and manipulates device paths and device nodes.
|
||||
///
|
||||
///
|
||||
typedef struct {
|
||||
EFI_DEVICE_PATH_UTILS_GET_DEVICE_PATH_SIZE GetDevicePathSize;
|
||||
EFI_DEVICE_PATH_UTILS_DUP_DEVICE_PATH DuplicateDevicePath;
|
||||
@@ -187,6 +187,6 @@ typedef struct {
|
||||
EFI_DEVICE_PATH_UTILS_CREATE_NODE CreateDeviceNode;
|
||||
} EFI_DEVICE_PATH_UTILITIES_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiDevicePathUtilitiesProtocolGuid;
|
||||
extern EFI_GUID gEfiDevicePathUtilitiesProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
@@ -4,16 +4,16 @@
|
||||
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 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
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:
|
||||
@par Revision Reference:
|
||||
This Protocol was introduced in UEFI Specification 2.0.
|
||||
|
||||
**/
|
||||
@@ -82,7 +82,7 @@ typedef struct {
|
||||
///
|
||||
UINT32 Size;
|
||||
///
|
||||
/// Length of the EFI_DHCP4_PACKET from the first byte of the Header field
|
||||
/// Length of the EFI_DHCP4_PACKET from the first byte of the Header field
|
||||
/// to the last byte of the Option[] field.
|
||||
///
|
||||
UINT32 Length;
|
||||
@@ -183,24 +183,24 @@ typedef enum{
|
||||
///
|
||||
Dhcp4BoundCompleted = 0x08,
|
||||
///
|
||||
/// It is time to enter the Dhcp4Renewing state and to contact the server
|
||||
/// It is time to enter the Dhcp4Renewing state and to contact the server
|
||||
/// that originally issued the network address. No packet is associated with this event.
|
||||
///
|
||||
Dhcp4EnterRenewing = 0x09,
|
||||
///
|
||||
/// It is time to enter the Dhcp4Rebinding state and to contact any server.
|
||||
/// It is time to enter the Dhcp4Rebinding state and to contact any server.
|
||||
/// No packet is associated with this event.
|
||||
///
|
||||
Dhcp4EnterRebinding = 0x0a,
|
||||
///
|
||||
/// The configured IP address was lost either because the lease has expired,
|
||||
/// the user released the configuration, or a DHCPNAK packet was received in
|
||||
/// The configured IP address was lost either because the lease has expired,
|
||||
/// the user released the configuration, or a DHCPNAK packet was received in
|
||||
/// the Dhcp4Renewing or Dhcp4Rebinding state. No packet is associated with this event.
|
||||
///
|
||||
Dhcp4AddressLost = 0x0b,
|
||||
///
|
||||
/// The DHCP process failed because a DHCPNAK packet was received or the user
|
||||
/// aborted the DHCP process at a time when the configuration was not available yet.
|
||||
/// The DHCP process failed because a DHCPNAK packet was received or the user
|
||||
/// aborted the DHCP process at a time when the configuration was not available yet.
|
||||
/// No packet is associated with this event.
|
||||
///
|
||||
Dhcp4Fail = 0x0c
|
||||
@@ -208,7 +208,7 @@ typedef enum{
|
||||
|
||||
/**
|
||||
Callback routine.
|
||||
|
||||
|
||||
EFI_DHCP4_CALLBACK is provided by the consumer of the EFI DHCPv4 Protocol driver
|
||||
to intercept events that occurred in the configuration process. This structure
|
||||
provides advanced control of each state transition of the DHCP process. The
|
||||
@@ -257,8 +257,8 @@ typedef struct {
|
||||
///
|
||||
UINT32 DiscoverTryCount;
|
||||
///
|
||||
/// The maximum amount of time (in seconds) to wait for returned packets in each
|
||||
/// of the retries. Timeout values of zero will default to a timeout value
|
||||
/// The maximum amount of time (in seconds) to wait for returned packets in each
|
||||
/// of the retries. Timeout values of zero will default to a timeout value
|
||||
/// of one second. Set to NULL to use default timeout values.
|
||||
///
|
||||
UINT32 *DiscoverTimeout;
|
||||
@@ -269,21 +269,21 @@ typedef struct {
|
||||
///
|
||||
UINT32 RequestTryCount;
|
||||
///
|
||||
/// The maximum amount of time (in seconds) to wait for return packets in each of the retries.
|
||||
/// Timeout values of zero will default to a timeout value of one second.
|
||||
/// The maximum amount of time (in seconds) to wait for return packets in each of the retries.
|
||||
/// Timeout values of zero will default to a timeout value of one second.
|
||||
/// Set to NULL to use default timeout values.
|
||||
///
|
||||
UINT32 *RequestTimeout;
|
||||
///
|
||||
/// For a DHCPDISCOVER, setting this parameter to the previously allocated IP
|
||||
/// address will cause the EFI DHCPv4 Protocol driver to enter the Dhcp4InitReboot state.
|
||||
/// address will cause the EFI DHCPv4 Protocol driver to enter the Dhcp4InitReboot state.
|
||||
/// And set this field to 0.0.0.0 to enter the Dhcp4Init state.
|
||||
/// For a DHCPINFORM this parameter should be set to the client network address
|
||||
/// which was assigned to the client during a DHCPDISCOVER.
|
||||
///
|
||||
EFI_IPv4_ADDRESS ClientAddress;
|
||||
///
|
||||
/// The callback function to intercept various events that occurred in
|
||||
/// The callback function to intercept various events that occurred in
|
||||
/// the DHCP configuration process. Set to NULL to ignore all those events.
|
||||
///
|
||||
EFI_DHCP4_CALLBACK Dhcp4Callback;
|
||||
@@ -308,7 +308,7 @@ typedef struct {
|
||||
|
||||
typedef struct {
|
||||
///
|
||||
/// The EFI DHCPv4 Protocol driver operating state.
|
||||
/// The EFI DHCPv4 Protocol driver operating state.
|
||||
///
|
||||
EFI_DHCP4_STATE State;
|
||||
///
|
||||
@@ -329,7 +329,7 @@ typedef struct {
|
||||
///
|
||||
EFI_IPv4_ADDRESS ServerAddress;
|
||||
///
|
||||
/// The router IP address that was acquired from the DHCP server.
|
||||
/// The router IP address that was acquired from the DHCP server.
|
||||
/// May be zero if the server does not offer this address.
|
||||
///
|
||||
EFI_IPv4_ADDRESS RouterAddress;
|
||||
@@ -338,8 +338,8 @@ typedef struct {
|
||||
///
|
||||
EFI_IPv4_ADDRESS SubnetMask;
|
||||
///
|
||||
/// The lease time (in 1-second units) of the configured IP address.
|
||||
/// The value 0xFFFFFFFF means that the lease time is infinite.
|
||||
/// The lease time (in 1-second units) of the configured IP address.
|
||||
/// The value 0xFFFFFFFF means that the lease time is infinite.
|
||||
/// A default lease of 7 days is used if the DHCP server does not provide a value.
|
||||
///
|
||||
UINT32 LeaseTime;
|
||||
@@ -356,12 +356,12 @@ typedef struct {
|
||||
///
|
||||
EFI_IPv4_ADDRESS ListenAddress;
|
||||
///
|
||||
/// The subnet mask of above listening unicast/broadcast IP address.
|
||||
/// The subnet mask of above listening unicast/broadcast IP address.
|
||||
/// Ignored if ListenAddress is a multicast address.
|
||||
///
|
||||
EFI_IPv4_ADDRESS SubnetMask;
|
||||
///
|
||||
/// Alternate station source (or listening) port number.
|
||||
/// Alternate station source (or listening) port number.
|
||||
/// If zero, then the default station port number (68) will be used.
|
||||
///
|
||||
UINT16 ListenPort;
|
||||
@@ -374,7 +374,7 @@ typedef struct {
|
||||
///
|
||||
EFI_STATUS Status;
|
||||
///
|
||||
/// If not NULL, the event that will be signaled when the collection process
|
||||
/// If not NULL, the event that will be signaled when the collection process
|
||||
/// completes. If NULL, this function will busy-wait until the collection process competes.
|
||||
///
|
||||
EFI_EVENT CompletionEvent;
|
||||
@@ -395,7 +395,7 @@ typedef struct {
|
||||
///
|
||||
UINT32 ListenPointCount;
|
||||
///
|
||||
/// An array of station address and port number pairs that are used as receiving filters.
|
||||
/// An array of station address and port number pairs that are used as receiving filters.
|
||||
/// The first entry is also used as the source address and source port of the outgoing packet.
|
||||
///
|
||||
EFI_DHCP4_LISTEN_POINT *ListenPoints;
|
||||
@@ -420,7 +420,7 @@ typedef struct {
|
||||
|
||||
/**
|
||||
Returns the current operating mode and cached data packet for the EFI DHCPv4 Protocol driver.
|
||||
|
||||
|
||||
The GetModeData() function returns the current operating mode and cached data
|
||||
packet for the EFI DHCPv4 Protocol driver.
|
||||
|
||||
@@ -510,7 +510,7 @@ EFI_STATUS
|
||||
time when each event occurs in this process, the callback function that was set
|
||||
by EFI_DHCP4_PROTOCOL.Configure() will be called and the user can take this
|
||||
opportunity to control the process.
|
||||
|
||||
|
||||
@param This The pointer to the EFI_DHCP4_PROTOCOL instance.
|
||||
@param CompletionEvent If not NULL, it indicates the event that will be signaled when the
|
||||
EFI DHCPv4 Protocol driver is transferred into the
|
||||
@@ -544,7 +544,7 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Extends the lease time by sending a request packet.
|
||||
|
||||
|
||||
The RenewRebind() function is used to manually extend the lease time when the
|
||||
EFI DHCPv4 Protocol driver is in the Dhcp4Bound state, and the lease time has
|
||||
not expired yet. This function will send a request packet to the previously
|
||||
@@ -617,7 +617,7 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Stops the current address configuration.
|
||||
|
||||
|
||||
The Stop() function is used to stop the DHCP configuration process. After this
|
||||
function is called successfully, the EFI DHCPv4 Protocol driver is transferred
|
||||
into the Dhcp4Stopped state. EFI_DHCP4_PROTOCOL.Configure() needs to be called
|
||||
@@ -686,7 +686,7 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Transmits a DHCP formatted packet and optionally waits for responses.
|
||||
|
||||
|
||||
The TransmitReceive() function is used to transmit a DHCP packet and optionally
|
||||
wait for the response from servers. This function does not change the state of
|
||||
the EFI DHCPv4 Protocol driver. It can be used at any time because of this.
|
||||
@@ -719,7 +719,7 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Parses the packed DHCP option data.
|
||||
|
||||
|
||||
The Parse() function is used to retrieve the option list from a DHCP packet.
|
||||
If *OptionCount isn't zero, and there is enough space for all the DHCP options
|
||||
in the Packet, each element of PacketOptionList is set to point to somewhere in
|
||||
|
@@ -2,16 +2,16 @@
|
||||
UEFI Dynamic Host Configuration Protocol 6 Definition, which is used to get IPv6
|
||||
addresses and other configuration parameters from DHCPv6 servers.
|
||||
|
||||
Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
@par Revision Reference:
|
||||
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:
|
||||
This Protocol is introduced in UEFI Specification 2.2
|
||||
|
||||
**/
|
||||
@@ -31,9 +31,9 @@
|
||||
|
||||
typedef struct _EFI_DHCP6_PROTOCOL EFI_DHCP6_PROTOCOL;
|
||||
|
||||
typedef enum {
|
||||
typedef enum {
|
||||
///
|
||||
/// The EFI DHCPv6 Protocol instance is configured, and start() needs
|
||||
/// The EFI DHCPv6 Protocol instance is configured, and start() needs
|
||||
/// to be called
|
||||
///
|
||||
Dhcp6Init = 0x0,
|
||||
@@ -43,7 +43,7 @@ typedef enum {
|
||||
///
|
||||
Dhcp6Selecting = 0x1,
|
||||
///
|
||||
/// A Request is sent out to the DHCPv6 server, and the EFI DHCPv6
|
||||
/// A Request is sent out to the DHCPv6 server, and the EFI DHCPv6
|
||||
/// Protocol instance is waiting for Reply packet.
|
||||
///
|
||||
Dhcp6Requesting = 0x2,
|
||||
@@ -54,7 +54,7 @@ typedef enum {
|
||||
///
|
||||
Dhcp6Declining = 0x3,
|
||||
///
|
||||
/// A Confirm packet is sent out to confirm the IPv6 addresses of the
|
||||
/// A Confirm packet is sent out to confirm the IPv6 addresses of the
|
||||
/// configured IA, and the EFI DHCPv6 Protocol instance is waiting for Reply packet.
|
||||
///
|
||||
Dhcp6Confirming = 0x4,
|
||||
@@ -80,55 +80,55 @@ typedef enum {
|
||||
} EFI_DHCP6_STATE;
|
||||
|
||||
typedef enum {
|
||||
///
|
||||
///
|
||||
/// A Solicit packet is about to be sent. The packet is passed to Dhcp6Callback and
|
||||
/// can be modified or replaced in Dhcp6Callback.
|
||||
///
|
||||
Dhcp6SendSolicit = 0x0,
|
||||
///
|
||||
///
|
||||
/// An Advertise packet is received and will be passed to Dhcp6Callback.
|
||||
///
|
||||
Dhcp6RcvdAdvertise = 0x1,
|
||||
///
|
||||
///
|
||||
/// It is time for Dhcp6Callback to determine whether select the default Advertise
|
||||
/// packet by RFC 3315 policy, or overwrite it by specific user policy.
|
||||
///
|
||||
Dhcp6SelectAdvertise = 0x2,
|
||||
///
|
||||
///
|
||||
/// A Request packet is about to be sent. The packet is passed to Dhcp6Callback and
|
||||
/// can be modified or replaced in Dhcp6Callback.
|
||||
///
|
||||
Dhcp6SendRequest = 0x3,
|
||||
///
|
||||
///
|
||||
/// A Reply packet is received and will be passed to Dhcp6Callback.
|
||||
///
|
||||
Dhcp6RcvdReply = 0x4,
|
||||
///
|
||||
///
|
||||
/// A Reconfigure packet is received and will be passed to Dhcp6Callback.
|
||||
///
|
||||
Dhcp6RcvdReconfigure = 0x5,
|
||||
///
|
||||
///
|
||||
/// A Decline packet is about to be sent. The packet is passed to Dhcp6Callback and
|
||||
/// can be modified or replaced in Dhcp6Callback.
|
||||
///
|
||||
Dhcp6SendDecline = 0x6,
|
||||
///
|
||||
///
|
||||
/// A Confirm packet is about to be sent. The packet is passed to Dhcp6Callback and
|
||||
/// can be modified or replaced in Dhcp6Callback.
|
||||
///
|
||||
Dhcp6SendConfirm = 0x7,
|
||||
///
|
||||
///
|
||||
/// A Release packet is about to be sent. The packet is passed to Dhcp6Callback and
|
||||
/// can be modified or replaced in Dhcp6Callback.
|
||||
///
|
||||
Dhcp6SendRelease = 0x8,
|
||||
///
|
||||
///
|
||||
/// A Renew packet is about to be sent. The packet is passed to Dhcp6Callback and
|
||||
/// can be modified or replaced in Dhcp6Callback.
|
||||
/// can be modified or replaced in Dhcp6Callback.
|
||||
///
|
||||
Dhcp6EnterRenewing = 0x9,
|
||||
///
|
||||
/// A Rebind packet is about to be sent. The packet is passed to Dhcp6Callback and
|
||||
///
|
||||
/// A Rebind packet is about to be sent. The packet is passed to Dhcp6Callback and
|
||||
/// can be modified or replaced in Dhcp6Callback.
|
||||
///
|
||||
Dhcp6EnterRebinding = 0xa
|
||||
@@ -147,7 +147,7 @@ typedef enum {
|
||||
///
|
||||
/// EFI_DHCP6_PACKET_OPTION
|
||||
/// defines the format of the DHCPv6 option, See RFC 3315 for more information.
|
||||
/// This data structure is used to reference option data that is packed in the DHCPv6 packet.
|
||||
/// This data structure is used to reference option data that is packed in the DHCPv6 packet.
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
@@ -167,7 +167,7 @@ typedef struct {
|
||||
|
||||
///
|
||||
/// EFI_DHCP6_HEADER
|
||||
/// defines the format of the DHCPv6 header. See RFC 3315 for more information.
|
||||
/// defines the format of the DHCPv6 header. See RFC 3315 for more information.
|
||||
///
|
||||
typedef struct{
|
||||
///
|
||||
@@ -181,7 +181,7 @@ typedef struct{
|
||||
} EFI_DHCP6_HEADER;
|
||||
|
||||
///
|
||||
/// EFI_DHCP6_PACKET
|
||||
/// EFI_DHCP6_PACKET
|
||||
/// defines the format of the DHCPv6 packet. See RFC 3315 for more information.
|
||||
///
|
||||
typedef struct {
|
||||
@@ -225,19 +225,19 @@ typedef struct {
|
||||
///
|
||||
UINT32 Irt;
|
||||
///
|
||||
/// Maximum retransmission count for one packet. If Mrc is zero, there's no upper limit
|
||||
/// Maximum retransmission count for one packet. If Mrc is zero, there's no upper limit
|
||||
/// for retransmission count.
|
||||
///
|
||||
UINT32 Mrc;
|
||||
///
|
||||
/// Maximum retransmission timeout for each retry. It's the upper bound of the number of
|
||||
/// retransmission timeout. If Mrt is zero, there is no upper limit for retransmission
|
||||
/// Maximum retransmission timeout for each retry. It's the upper bound of the number of
|
||||
/// retransmission timeout. If Mrt is zero, there is no upper limit for retransmission
|
||||
/// timeout.
|
||||
///
|
||||
UINT32 Mrt;
|
||||
///
|
||||
/// Maximum retransmission duration for one packet. It's the upper bound of the numbers
|
||||
/// the client may retransmit a message. If Mrd is zero, there's no upper limit for
|
||||
/// Maximum retransmission duration for one packet. It's the upper bound of the numbers
|
||||
/// the client may retransmit a message. If Mrd is zero, there's no upper limit for
|
||||
/// retransmission duration.
|
||||
///
|
||||
UINT32 Mrd;
|
||||
@@ -281,7 +281,7 @@ typedef struct {
|
||||
///
|
||||
UINT32 IaAddressCount;
|
||||
///
|
||||
/// List of the IPv6 addresses of the configured IA. When the state of the configured IA is
|
||||
/// List of the IPv6 addresses of the configured IA. When the state of the configured IA is
|
||||
/// in Dhcp6Bound, Dhcp6Renewing and Dhcp6Rebinding, the IPv6 addresses are usable.
|
||||
///
|
||||
EFI_DHCP6_IA_ADDRESS IaAddress[1];
|
||||
@@ -300,39 +300,39 @@ typedef struct {
|
||||
} EFI_DHCP6_MODE_DATA;
|
||||
|
||||
/**
|
||||
EFI_DHCP6_CALLBACK is provided by the consumer of the EFI DHCPv6 Protocol instance to
|
||||
EFI_DHCP6_CALLBACK is provided by the consumer of the EFI DHCPv6 Protocol instance to
|
||||
intercept events that occurs in the DHCPv6 S.A.R.R process.
|
||||
|
||||
@param[in] This Pointer to the EFI_DHCP6_PROTOCOL instance that is used to configure this
|
||||
@param[in] This Pointer to the EFI_DHCP6_PROTOCOL instance that is used to configure this
|
||||
callback function.
|
||||
@param[in] Context Pointer to the context that is initialized by EFI_DHCP6_PROTOCOL.Configure().
|
||||
@param[in] CurrentState The current state of the configured IA.
|
||||
@param[in] Dhcp6Event The event that occurs in the current state, which usually means a state transition.
|
||||
@param[in] Packet Pointer to the DHCPv6 packet that is about to be sent or has been received.
|
||||
The EFI DHCPv6 Protocol instance is responsible for freeing the buffer.
|
||||
@param[out] NewPacket Pointer to the new DHCPv6 packet to overwrite the Packet. NewPacket can not
|
||||
share the buffer with Packet. If *NewPacket is not NULL, the EFI DHCPv6
|
||||
The EFI DHCPv6 Protocol instance is responsible for freeing the buffer.
|
||||
@param[out] NewPacket Pointer to the new DHCPv6 packet to overwrite the Packet. NewPacket can not
|
||||
share the buffer with Packet. If *NewPacket is not NULL, the EFI DHCPv6
|
||||
Protocol instance is responsible for freeing the buffer.
|
||||
|
||||
@retval EFI_SUCCESS Tell the EFI DHCPv6 Protocol instance to continue the DHCPv6 S.A.R.R process.
|
||||
@retval EFI_ABORTED Tell the EFI DHCPv6 Protocol instance to abort the DHCPv6 S.A.R.R process,
|
||||
@retval EFI_ABORTED Tell the EFI DHCPv6 Protocol instance to abort the DHCPv6 S.A.R.R process,
|
||||
and the state of the configured IA will be transferred to Dhcp6Init.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DHCP6_CALLBACK)(
|
||||
IN EFI_DHCP6_PROTOCOL *This,
|
||||
IN VOID *Context,
|
||||
IN EFI_DHCP6_STATE CurrentState,
|
||||
IN EFI_DHCP6_EVENT Dhcp6Event,
|
||||
IN EFI_DHCP6_PACKET *Packet,
|
||||
IN EFI_DHCP6_PACKET *Packet,
|
||||
OUT EFI_DHCP6_PACKET **NewPacket OPTIONAL
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
///
|
||||
/// The callback function is to intercept various events that occur in the DHCPv6 S.A.R.R
|
||||
/// The callback function is to intercept various events that occur in the DHCPv6 S.A.R.R
|
||||
/// process. Set to NULL to ignore all those events.
|
||||
///
|
||||
EFI_DHCP6_CALLBACK Dhcp6Callback;
|
||||
@@ -345,11 +345,11 @@ typedef struct {
|
||||
///
|
||||
UINT32 OptionCount;
|
||||
///
|
||||
/// List of the DHCPv6 options to be included in Solicit and Request packet. The buffer
|
||||
/// can be freed after EFI_DHCP6_PROTOCOL.Configure() returns. Ignored if
|
||||
/// OptionCount is zero. OptionList should not contain Client Identifier option
|
||||
/// and any IA option, which will be appended by EFI DHCPv6 Protocol instance
|
||||
/// automatically.
|
||||
/// List of the DHCPv6 options to be included in Solicit and Request packet. The buffer
|
||||
/// can be freed after EFI_DHCP6_PROTOCOL.Configure() returns. Ignored if
|
||||
/// OptionCount is zero. OptionList should not contain Client Identifier option
|
||||
/// and any IA option, which will be appended by EFI DHCPv6 Protocol instance
|
||||
/// automatically.
|
||||
///
|
||||
EFI_DHCP6_PACKET_OPTION **OptionList;
|
||||
///
|
||||
@@ -357,40 +357,40 @@ typedef struct {
|
||||
///
|
||||
EFI_DHCP6_IA_DESCRIPTOR IaDescriptor;
|
||||
///
|
||||
/// If not NULL, the event will be signaled when any IPv6 address information of the
|
||||
/// configured IA is updated, including IPv6 address, preferred lifetime and valid
|
||||
/// lifetime, or the DHCPv6 S.A.R.R process fails. Otherwise, Start(),
|
||||
/// renewrebind(), decline(), release() and stop() will be blocking
|
||||
/// If not NULL, the event will be signaled when any IPv6 address information of the
|
||||
/// configured IA is updated, including IPv6 address, preferred lifetime and valid
|
||||
/// lifetime, or the DHCPv6 S.A.R.R process fails. Otherwise, Start(),
|
||||
/// renewrebind(), decline(), release() and stop() will be blocking
|
||||
/// operations, and they will wait for the exchange process completion or failure.
|
||||
///
|
||||
EFI_EVENT IaInfoEvent;
|
||||
///
|
||||
/// If TRUE, the EFI DHCPv6 Protocol instance is willing to accept Reconfigure packet.
|
||||
/// Otherwise, it will ignore it. Reconfigure Accept option can not be specified through
|
||||
/// If TRUE, the EFI DHCPv6 Protocol instance is willing to accept Reconfigure packet.
|
||||
/// Otherwise, it will ignore it. Reconfigure Accept option can not be specified through
|
||||
/// OptionList parameter.
|
||||
///
|
||||
BOOLEAN ReconfigureAccept;
|
||||
///
|
||||
/// If TRUE, the EFI DHCPv6 Protocol instance will send Solicit packet with Rapid
|
||||
/// Commit option. Otherwise, Rapid Commit option will not be included in Solicit
|
||||
/// If TRUE, the EFI DHCPv6 Protocol instance will send Solicit packet with Rapid
|
||||
/// Commit option. Otherwise, Rapid Commit option will not be included in Solicit
|
||||
/// packet. Rapid Commit option can not be specified through OptionList parameter.
|
||||
///
|
||||
BOOLEAN RapidCommit;
|
||||
///
|
||||
/// Parameter to control Solicit packet retransmission behavior. The
|
||||
/// Parameter to control Solicit packet retransmission behavior. The
|
||||
/// buffer can be freed after EFI_DHCP6_PROTOCOL.Configure() returns.
|
||||
///
|
||||
EFI_DHCP6_RETRANSMISSION *SolicitRetransmission;
|
||||
} EFI_DHCP6_CONFIG_DATA;
|
||||
|
||||
/**
|
||||
EFI_DHCP6_INFO_CALLBACK is provided by the consumer of the EFI DHCPv6 Protocol
|
||||
EFI_DHCP6_INFO_CALLBACK is provided by the consumer of the EFI DHCPv6 Protocol
|
||||
instance to intercept events that occurs in the DHCPv6 Information Request exchange process.
|
||||
|
||||
@param[in] This Pointer to the EFI_DHCP6_PROTOCOL instance that is used to configure this
|
||||
@param[in] This Pointer to the EFI_DHCP6_PROTOCOL instance that is used to configure this
|
||||
callback function.
|
||||
@param[in] Context Pointer to the context that is initialized in the EFI_DHCP6_PROTOCOL.InfoRequest().
|
||||
@param[in] Packet Pointer to Reply packet that has been received. The EFI DHCPv6 Protocol instance is
|
||||
@param[in] Packet Pointer to Reply packet that has been received. The EFI DHCPv6 Protocol instance is
|
||||
responsible for freeing the buffer.
|
||||
|
||||
@retval EFI_SUCCESS Tell the EFI DHCPv6 Protocol instance to finish Information Request exchange process.
|
||||
@@ -410,20 +410,20 @@ EFI_STATUS
|
||||
Retrieve the current operating mode data and configuration data for the EFI DHCPv6 Protocol instance.
|
||||
|
||||
@param[in] This Pointer to the EFI_DHCP6_PROTOCOL instance.
|
||||
@param[out] Dhcp6ModeData Pointer to the DHCPv6 mode data structure. The caller is responsible for freeing this
|
||||
@param[out] Dhcp6ModeData Pointer to the DHCPv6 mode data structure. The caller is responsible for freeing this
|
||||
structure and each reference buffer.
|
||||
@param[out] Dhcp6ConfigData Pointer to the DHCPv6 configuration data structure. The caller is responsible for
|
||||
@param[out] Dhcp6ConfigData Pointer to the DHCPv6 configuration data structure. The caller is responsible for
|
||||
freeing this structure and each reference buffer.
|
||||
|
||||
@retval EFI_SUCCESS The mode data was returned.
|
||||
@retval EFI_ACCESS_DENIED The EFI DHCPv6 Protocol instance has not been configured when Dhcp6ConfigData is not NULL.
|
||||
@retval EFI_INVALID_PARAMETER One or more following conditions are TRUE:
|
||||
- This is NULL.
|
||||
- This is NULL.
|
||||
- Both Dhcp6ConfigData and Dhcp6ModeData are NULL.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DHCP6_GET_MODE_DATA)(
|
||||
IN EFI_DHCP6_PROTOCOL *This,
|
||||
OUT EFI_DHCP6_MODE_DATA *Dhcp6ModeData OPTIONAL,
|
||||
@@ -433,15 +433,15 @@ EFI_STATUS
|
||||
/**
|
||||
Initialize or clean up the configuration data for the EFI DHCPv6 Protocol instance.
|
||||
|
||||
The Configure() function is used to initialize or clean up the configuration data of the EFI
|
||||
The Configure() function is used to initialize or clean up the configuration data of the EFI
|
||||
DHCPv6 Protocol instance.
|
||||
- When Dhcp6CfgData is not NULL and Configure() is called successfully, the
|
||||
configuration data will be initialized in the EFI DHCPv6 Protocol instance and the state of the
|
||||
- When Dhcp6CfgData is not NULL and Configure() is called successfully, the
|
||||
configuration data will be initialized in the EFI DHCPv6 Protocol instance and the state of the
|
||||
configured IA will be transferred into Dhcp6Init.
|
||||
- When Dhcp6CfgData is NULL and Configure() is called successfully, the configuration
|
||||
- When Dhcp6CfgData is NULL and Configure() is called successfully, the configuration
|
||||
data will be cleaned up and no IA will be associated with the EFI DHCPv6 Protocol instance.
|
||||
|
||||
To update the configuration data for an EFI DCHPv6 Protocol instance, the original data must be
|
||||
To update the configuration data for an EFI DCHPv6 Protocol instance, the original data must be
|
||||
cleaned up before setting the new configuration data.
|
||||
|
||||
@param[in] This Pointer to the EFI_DHCP6_PROTOCOL instance.
|
||||
@@ -449,24 +449,24 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS The mode data was returned.
|
||||
@retval EFI_INVALID_PARAMETER One or more following conditions are TRUE
|
||||
- This is NULL.
|
||||
- This is NULL.
|
||||
- OptionCount > 0 and OptionList is NULL.
|
||||
- OptionList is not NULL, and Client Id option, Reconfigure Accept option,
|
||||
Rapid Commit option or any IA option is specified in the OptionList.
|
||||
- IaDescriptor.Type is neither EFI_DHCP6_IA_TYPE_NA nor EFI_DHCP6_IA_TYPE_NA.
|
||||
- IaDescriptor is not unique.
|
||||
- Both IaInfoEvent and SolicitRetransimssion are NULL.
|
||||
- SolicitRetransmission is not NULL, and both SolicitRetransimssion->Mrc and
|
||||
- SolicitRetransmission is not NULL, and both SolicitRetransimssion->Mrc and
|
||||
SolicitRetransmission->Mrd are zero.
|
||||
@retval EFI_ACCESS_DENIED The EFI DHCPv6 Protocol instance has been already configured
|
||||
@retval EFI_ACCESS_DENIED The EFI DHCPv6 Protocol instance has been already configured
|
||||
when Dhcp6CfgData is not NULL.
|
||||
The EFI DHCPv6 Protocol instance has already started the
|
||||
The EFI DHCPv6 Protocol instance has already started the
|
||||
DHCPv6 S.A.R.R when Dhcp6CfgData is NULL.
|
||||
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
|
||||
@retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DHCP6_CONFIGURE)(
|
||||
IN EFI_DHCP6_PROTOCOL *This,
|
||||
@@ -476,13 +476,13 @@ EFI_STATUS
|
||||
/**
|
||||
Start the DHCPv6 S.A.R.R process.
|
||||
|
||||
The Start() function starts the DHCPv6 S.A.R.R process. This function can be called only when
|
||||
The Start() function starts the DHCPv6 S.A.R.R process. This function can be called only when
|
||||
the state of the configured IA is in the Dhcp6Init state. If the DHCPv6 S.A.R.R process completes
|
||||
successfully, the state of the configured IA will be transferred through Dhcp6Selecting and
|
||||
Dhcp6Requesting to Dhcp6Bound state. The update of the IPv6 addresses will be notified through
|
||||
EFI_DHCP6_CONFIG_DATA.IaInfoEvent. At the time when each event occurs in this process, the
|
||||
callback function set by EFI_DHCP6_PROTOCOL.Configure() will be called and the user can take
|
||||
this opportunity to control the process. If EFI_DHCP6_CONFIG_DATA.IaInfoEvent is NULL, the
|
||||
successfully, the state of the configured IA will be transferred through Dhcp6Selecting and
|
||||
Dhcp6Requesting to Dhcp6Bound state. The update of the IPv6 addresses will be notified through
|
||||
EFI_DHCP6_CONFIG_DATA.IaInfoEvent. At the time when each event occurs in this process, the
|
||||
callback function set by EFI_DHCP6_PROTOCOL.Configure() will be called and the user can take
|
||||
this opportunity to control the process. If EFI_DHCP6_CONFIG_DATA.IaInfoEvent is NULL, the
|
||||
Start() function call is a blocking operation. It will return after the DHCPv6 S.A.R.R process
|
||||
completes or aborted by users. If the process is aborted by system or network error, the state of
|
||||
the configured IA will be transferred to Dhcp6Init. The Start() function can be called again to
|
||||
@@ -490,10 +490,10 @@ EFI_STATUS
|
||||
|
||||
@param[in] This Pointer to the EFI_DHCP6_PROTOCOL instance.
|
||||
|
||||
@retval EFI_SUCCESS The DHCPv6 S.A.R.R process is completed and at least one IPv6
|
||||
address has been bound to the configured IA when
|
||||
EFI_DHCP6_CONFIG_DATA.IaInfoEvent is NULL.
|
||||
The DHCPv6 S.A.R.R process is started when
|
||||
@retval EFI_SUCCESS The DHCPv6 S.A.R.R process is completed and at least one IPv6
|
||||
address has been bound to the configured IA when
|
||||
EFI_DHCP6_CONFIG_DATA.IaInfoEvent is NULL.
|
||||
The DHCPv6 S.A.R.R process is started when
|
||||
EFI_DHCP6_CONFIG_DATA.IaInfoEvent is not NULL.
|
||||
@retval EFI_ACCESS_DENIED The EFI DHCPv6 Child instance hasn't been configured.
|
||||
@retval EFI_INVALID_PARAMETER This is NULL.
|
||||
@@ -501,13 +501,13 @@ EFI_STATUS
|
||||
@retval EFI_ALREADY_STARTED The DHCPv6 S.A.R.R process has already started.
|
||||
@retval EFI_DEVICE_ERROR An unexpected network or system error occurred.
|
||||
@retval EFI_NO_RESPONSE The DHCPv6 S.A.R.R process failed because of no response.
|
||||
@retval EFI_NO_MAPPING No IPv6 address has been bound to the configured IA after the
|
||||
@retval EFI_NO_MAPPING No IPv6 address has been bound to the configured IA after the
|
||||
DHCPv6 S.A.R.R process.
|
||||
@retval EFI_ABORTED The DHCPv6 S.A.R.R process aborted by user.
|
||||
@retval EFI_NO_MEDIA There was a media error.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DHCP6_START)(
|
||||
IN EFI_DHCP6_PROTOCOL *This
|
||||
@@ -517,19 +517,19 @@ EFI_STATUS
|
||||
Request configuration information without the assignment of any IA addresses of the client.
|
||||
|
||||
The InfoRequest() function is used to request configuration information without the assignment
|
||||
of any IPv6 address of the client. Client sends out Information Request packet to obtain
|
||||
the required configuration information, and DHCPv6 server responds with Reply packet containing
|
||||
the information for the client. The received Reply packet will be passed to the user by
|
||||
of any IPv6 address of the client. Client sends out Information Request packet to obtain
|
||||
the required configuration information, and DHCPv6 server responds with Reply packet containing
|
||||
the information for the client. The received Reply packet will be passed to the user by
|
||||
ReplyCallback function. If user returns EFI_NOT_READY from ReplyCallback, the EFI DHCPv6
|
||||
Protocol instance will continue to receive other Reply packets unless timeout according to
|
||||
the Retransmission parameter. Otherwise, the Information Request exchange process will be
|
||||
Protocol instance will continue to receive other Reply packets unless timeout according to
|
||||
the Retransmission parameter. Otherwise, the Information Request exchange process will be
|
||||
finished successfully if user returns EFI_SUCCESS from ReplyCallback.
|
||||
|
||||
@param[in] This Pointer to the EFI_DHCP6_PROTOCOL instance.
|
||||
@param[in] SendClientId If TRUE, the EFI DHCPv6 Protocol instance will build Client
|
||||
Identifier option and include it into Information Request
|
||||
packet. If FALSE, Client Identifier option will not be included.
|
||||
Client Identifier option can not be specified through OptionList
|
||||
Client Identifier option can not be specified through OptionList
|
||||
parameter.
|
||||
@param[in] OptionRequest Pointer to the Option Request option in the Information Request
|
||||
packet. Option Request option can not be specified through
|
||||
@@ -543,29 +543,29 @@ EFI_STATUS
|
||||
returns.
|
||||
@param[in] TimeoutEvent If not NULL, this event is signaled when the information request
|
||||
exchange aborted because of no response. If NULL, the function
|
||||
call is a blocking operation; and it will return after the
|
||||
call is a blocking operation; and it will return after the
|
||||
information-request exchange process finish or aborted by users.
|
||||
@param[in] ReplyCallback The callback function is to intercept various events that occur
|
||||
in the Information Request exchange process. It should not be
|
||||
set to NULL.
|
||||
@param[in] CallbackContext Pointer to the context that will be passed to ReplyCallback.
|
||||
|
||||
@retval EFI_SUCCESS The DHCPv6 S.A.R.R process is completed and at least one IPv6
|
||||
@retval EFI_SUCCESS The DHCPv6 information request exchange process completed
|
||||
@retval EFI_SUCCESS The DHCPv6 S.A.R.R process is completed and at least one IPv6
|
||||
@retval EFI_SUCCESS The DHCPv6 information request exchange process completed
|
||||
when TimeoutEvent is NULL. Information Request packet has been
|
||||
sent to DHCPv6 server when TimeoutEvent is not NULL.
|
||||
@retval EFI_INVALID_PARAMETER One or more following conditions are TRUE:
|
||||
- This is NULL.
|
||||
- This is NULL.
|
||||
- OptionRequest is NULL or OptionRequest->OpCode is invalid.
|
||||
- OptionCount > 0 and OptionList is NULL.
|
||||
- OptionList is not NULL, and Client Identify option or
|
||||
- OptionList is not NULL, and Client Identify option or
|
||||
Option Request option is specified in the OptionList.
|
||||
- Retransimssion is NULL.
|
||||
- Both Retransimssion->Mrc and Retransmission->Mrd are zero.
|
||||
- ReplyCallback is NULL.
|
||||
@retval EFI_DEVICE_ERROR An unexpected network or system error occurred.
|
||||
@retval EFI_NO_RESPONSE The DHCPv6 information request exchange process failed
|
||||
because of no response, or not all requested-options are
|
||||
@retval EFI_NO_RESPONSE The DHCPv6 information request exchange process failed
|
||||
because of no response, or not all requested-options are
|
||||
responded by DHCPv6 servers when Timeout happened.
|
||||
@retval EFI_ABORTED The DHCPv6 information request exchange process aborted by user.
|
||||
|
||||
@@ -578,7 +578,7 @@ EFI_STATUS
|
||||
IN EFI_DHCP6_PACKET_OPTION *OptionRequest,
|
||||
IN UINT32 OptionCount,
|
||||
IN EFI_DHCP6_PACKET_OPTION *OptionList[] OPTIONAL,
|
||||
IN EFI_DHCP6_RETRANSMISSION *Retransmission,
|
||||
IN EFI_DHCP6_RETRANSMISSION *Retransmission,
|
||||
IN EFI_EVENT TimeoutEvent OPTIONAL,
|
||||
IN EFI_DHCP6_INFO_CALLBACK ReplyCallback,
|
||||
IN VOID *CallbackContext OPTIONAL
|
||||
@@ -588,38 +588,38 @@ EFI_STATUS
|
||||
Manually extend the valid and preferred lifetimes for the IPv6 addresses of the configured
|
||||
IA and update other configuration parameters by sending Renew or Rebind packet.
|
||||
|
||||
The RenewRebind() function is used to manually extend the valid and preferred lifetimes for the
|
||||
IPv6 addresses of the configured IA and update other configuration parameters by sending Renew or
|
||||
Rebind packet.
|
||||
- When RebindRequest is FALSE and the state of the configured IA is Dhcp6Bound, it
|
||||
will send Renew packet to the previously DHCPv6 server and transfer the state of the configured
|
||||
IA to Dhcp6Renewing. If valid Reply packet received, the state transfers to Dhcp6Bound
|
||||
and the valid and preferred timer restarts. If fails, the state transfers to Dhcp6Bound but the
|
||||
timer continues.
|
||||
- When RebindRequest is TRUE and the state of the configured IA is Dhcp6Bound, it will
|
||||
send Rebind packet. If valid Reply packet received, the state transfers to Dhcp6Bound and the
|
||||
The RenewRebind() function is used to manually extend the valid and preferred lifetimes for the
|
||||
IPv6 addresses of the configured IA and update other configuration parameters by sending Renew or
|
||||
Rebind packet.
|
||||
- When RebindRequest is FALSE and the state of the configured IA is Dhcp6Bound, it
|
||||
will send Renew packet to the previously DHCPv6 server and transfer the state of the configured
|
||||
IA to Dhcp6Renewing. If valid Reply packet received, the state transfers to Dhcp6Bound
|
||||
and the valid and preferred timer restarts. If fails, the state transfers to Dhcp6Bound but the
|
||||
timer continues.
|
||||
- When RebindRequest is TRUE and the state of the configured IA is Dhcp6Bound, it will
|
||||
send Rebind packet. If valid Reply packet received, the state transfers to Dhcp6Bound and the
|
||||
valid and preferred timer restarts. If fails, the state transfers to Dhcp6Init and the IA can't
|
||||
be used.
|
||||
|
||||
@param[in] This Pointer to the EFI_DHCP4_PROTOCOL instance.
|
||||
@param[in] RebindRequest If TRUE, it will send Rebind packet and enter the Dhcp6Rebinding state.
|
||||
@param[in] RebindRequest If TRUE, it will send Rebind packet and enter the Dhcp6Rebinding state.
|
||||
Otherwise, it will send Renew packet and enter the Dhcp6Renewing state.
|
||||
|
||||
@retval EFI_SUCCESS The DHCPv6 renew/rebind exchange process has completed and at
|
||||
@retval EFI_SUCCESS The DHCPv6 renew/rebind exchange process has completed and at
|
||||
least one IPv6 address of the configured IA has been bound again
|
||||
when EFI_DHCP6_CONFIG_DATA.IaInfoEvent is NULL.
|
||||
The EFI DHCPv6 Protocol instance has sent Renew or Rebind packet
|
||||
when EFI_DHCP6_CONFIG_DATA.IaInfoEvent is NULL.
|
||||
The EFI DHCPv6 Protocol instance has sent Renew or Rebind packet
|
||||
when EFI_DHCP6_CONFIG_DATA.IaInfoEvent is not NULL.
|
||||
@retval EFI_ACCESS_DENIED The EFI DHCPv6 Child instance hasn't been configured, or the state
|
||||
of the configured IA is not in Dhcp6Bound.
|
||||
@retval EFI_ALREADY_STARTED The state of the configured IA has already entered Dhcp6Renewing
|
||||
when RebindRequest is FALSE.
|
||||
The state of the configured IA has already entered Dhcp6Rebinding
|
||||
@retval EFI_ALREADY_STARTED The state of the configured IA has already entered Dhcp6Renewing
|
||||
when RebindRequest is FALSE.
|
||||
The state of the configured IA has already entered Dhcp6Rebinding
|
||||
when RebindRequest is TRUE.
|
||||
@retval EFI_INVALID_PARAMETER This is NULL.
|
||||
@retval EFI_DEVICE_ERROR An unexpected system or system error occurred.
|
||||
@retval EFI_NO_RESPONSE The DHCPv6 renew/rebind exchange process failed because of no response.
|
||||
@retval EFI_NO_MAPPING No IPv6 address has been bound to the configured IA after the DHCPv6
|
||||
@retval EFI_NO_MAPPING No IPv6 address has been bound to the configured IA after the DHCPv6
|
||||
renew/rebind exchange process.
|
||||
@retval EFI_ABORTED The DHCPv6 renew/rebind exchange process aborted by user.
|
||||
|
||||
@@ -635,34 +635,34 @@ EFI_STATUS
|
||||
Inform that one or more IPv6 addresses assigned by a server are already in use by
|
||||
another node.
|
||||
|
||||
The Decline() function is used to manually decline the assignment of IPv6 addresses, which
|
||||
have been already used by another node. If all IPv6 addresses of the configured IA are declined
|
||||
through this function, the state of the IA will switch through Dhcp6Declining to Dhcp6Init,
|
||||
otherwise, the state of the IA will restore to Dhcp6Bound after the declining process. The
|
||||
Decline() can only be called when the IA is in Dhcp6Bound state. If the
|
||||
EFI_DHCP6_CONFIG_DATA.IaInfoEvent is NULL, this function is a blocking operation. It
|
||||
The Decline() function is used to manually decline the assignment of IPv6 addresses, which
|
||||
have been already used by another node. If all IPv6 addresses of the configured IA are declined
|
||||
through this function, the state of the IA will switch through Dhcp6Declining to Dhcp6Init,
|
||||
otherwise, the state of the IA will restore to Dhcp6Bound after the declining process. The
|
||||
Decline() can only be called when the IA is in Dhcp6Bound state. If the
|
||||
EFI_DHCP6_CONFIG_DATA.IaInfoEvent is NULL, this function is a blocking operation. It
|
||||
will return after the declining process finishes, or aborted by user.
|
||||
|
||||
@param[in] This Pointer to the EFI_DHCP4_PROTOCOL instance.
|
||||
@param[in] AddressCount Number of declining IPv6 addresses.
|
||||
@param[in] AddressCount Number of declining IPv6 addresses.
|
||||
@param[in] Addresses Pointer to the buffer stored all the declining IPv6 addresses.
|
||||
|
||||
@retval EFI_SUCCESS The DHCPv6 decline exchange process has completed when
|
||||
@retval EFI_SUCCESS The DHCPv6 decline exchange process has completed when
|
||||
EFI_DHCP6_CONFIG_DATA.IaInfoEvent is NULL.
|
||||
The EFI DHCPv6 Protocol instance has sent Decline packet when
|
||||
The EFI DHCPv6 Protocol instance has sent Decline packet when
|
||||
EFI_DHCP6_CONFIG_DATA.IaInfoEvent is not NULL.
|
||||
@retval EFI_INVALID_PARAMETER One or more following conditions are TRUE
|
||||
- This is NULL.
|
||||
- This is NULL.
|
||||
- AddressCount is zero or Addresses is NULL.
|
||||
@retval EFI_NOT_FOUND Any specified IPv6 address is not correlated with the configured IA
|
||||
@retval EFI_NOT_FOUND Any specified IPv6 address is not correlated with the configured IA
|
||||
for this instance.
|
||||
@retval EFI_ACCESS_DENIED The EFI DHCPv6 Child instance hasn't been configured, or the
|
||||
@retval EFI_ACCESS_DENIED The EFI DHCPv6 Child instance hasn't been configured, or the
|
||||
state of the configured IA is not in Dhcp6Bound.
|
||||
@retval EFI_DEVICE_ERROR An unexpected network or system error occurred.
|
||||
@retval EFI_ABORTED The DHCPv6 decline exchange process aborted by user.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DHCP6_DECLINE)(
|
||||
IN EFI_DHCP6_PROTOCOL *This,
|
||||
@@ -675,32 +675,32 @@ EFI_STATUS
|
||||
|
||||
The Release() function is used to manually release the one or more IPv6 address. If AddressCount
|
||||
is zero, it will release all IPv6 addresses of the configured IA. If all IPv6 addresses of the IA
|
||||
are released through this function, the state of the IA will switch through Dhcp6Releasing to
|
||||
are released through this function, the state of the IA will switch through Dhcp6Releasing to
|
||||
Dhcp6Init, otherwise, the state of the IA will restore to Dhcp6Bound after the releasing process.
|
||||
The Release() can only be called when the IA is in Dhcp6Bound state. If the
|
||||
EFI_DHCP6_CONFIG_DATA.IaInfoEvent is NULL, the function is a blocking operation. It will return
|
||||
after the releasing process finishes, or aborted by user.
|
||||
after the releasing process finishes, or aborted by user.
|
||||
|
||||
@param[in] This Pointer to the EFI_DHCP6_PROTOCOL instance.
|
||||
@param[in] AddressCount Number of releasing IPv6 addresses.
|
||||
@param[in] AddressCount Number of releasing IPv6 addresses.
|
||||
@param[in] Addresses Pointer to the buffer stored all the releasing IPv6 addresses.
|
||||
Ignored if AddressCount is zero.
|
||||
@retval EFI_SUCCESS The DHCPv6 release exchange process has completed when
|
||||
@retval EFI_SUCCESS The DHCPv6 release exchange process has completed when
|
||||
EFI_DHCP6_CONFIG_DATA.IaInfoEvent is NULL.
|
||||
The EFI DHCPv6 Protocol instance has sent Release packet when
|
||||
The EFI DHCPv6 Protocol instance has sent Release packet when
|
||||
EFI_DHCP6_CONFIG_DATA.IaInfoEvent is not NULL.
|
||||
@retval EFI_INVALID_PARAMETER One or more following conditions are TRUE
|
||||
- This is NULL.
|
||||
- This is NULL.
|
||||
- AddressCount is not zero or Addresses is NULL.
|
||||
@retval EFI_NOT_FOUND Any specified IPv6 address is not correlated with the configured
|
||||
IA for this instance.
|
||||
@retval EFI_ACCESS_DENIED The EFI DHCPv6 Child instance hasn't been configured, or the
|
||||
@retval EFI_ACCESS_DENIED The EFI DHCPv6 Child instance hasn't been configured, or the
|
||||
state of the configured IA is not in Dhcp6Bound.
|
||||
@retval EFI_DEVICE_ERROR An unexpected network or system error occurred.
|
||||
@retval EFI_ABORTED The DHCPv6 release exchange process aborted by user.
|
||||
@retval EFI_ABORTED The DHCPv6 release exchange process aborted by user.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DHCP6_RELEASE)(
|
||||
IN EFI_DHCP6_PROTOCOL *This,
|
||||
@@ -713,7 +713,7 @@ EFI_STATUS
|
||||
|
||||
The Stop() function is used to stop the DHCPv6 S.A.R.R process. If this function is called
|
||||
successfully, all the IPv6 addresses of the configured IA will be released and the state of
|
||||
the configured IA will be transferred to Dhcp6Init.
|
||||
the configured IA will be transferred to Dhcp6Init.
|
||||
|
||||
@param[in] This Pointer to the EFI_DHCP6_PROTOCOL instance.
|
||||
|
||||
@@ -725,7 +725,7 @@ EFI_STATUS
|
||||
@retval EFI_INVALID_PARAMETER This is NULL.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DHCP6_STOP)(
|
||||
IN EFI_DHCP6_PROTOCOL *This
|
||||
@@ -734,7 +734,7 @@ EFI_STATUS
|
||||
/**
|
||||
Parse the option data in the DHCPv6 packet.
|
||||
|
||||
The Parse() function is used to retrieve the option list in the DHCPv6 packet.
|
||||
The Parse() function is used to retrieve the option list in the DHCPv6 packet.
|
||||
|
||||
@param[in] This Pointer to the EFI_DHCP6_PROTOCOL instance.
|
||||
|
||||
@@ -751,7 +751,7 @@ EFI_STATUS
|
||||
- Packet is not a well-formed DHCPv6 packet.
|
||||
- OptionCount is NULL.
|
||||
- *OptionCount is not zero and PacketOptionList is NULL.
|
||||
@retval EFI_BUFFER_TOO_SMALL *OptionCount is smaller than the number of options that were
|
||||
@retval EFI_BUFFER_TOO_SMALL *OptionCount is smaller than the number of options that were
|
||||
found in the Packet.
|
||||
|
||||
**/
|
||||
|
@@ -1,8 +1,8 @@
|
||||
/** @file
|
||||
Provides the basic interfaces to abstract platform information regarding an
|
||||
IDE controller.
|
||||
Provides the basic interfaces to abstract platform information regarding an
|
||||
IDE controller.
|
||||
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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,7 +14,7 @@
|
||||
@par Revision Reference:
|
||||
This Protocol is defined in UEFI Platform Initialization Specification 1.6
|
||||
Volume 5: Standards
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __DISK_INFO_H__
|
||||
@@ -91,7 +91,7 @@ typedef struct _EFI_DISK_INFO_PROTOCOL EFI_DISK_INFO_PROTOCOL;
|
||||
|
||||
/**
|
||||
Provides inquiry information for the controller type.
|
||||
|
||||
|
||||
This function is used by the IDE bus driver to get inquiry data. Data format
|
||||
of Identify data is defined by the Interface GUID.
|
||||
|
||||
@@ -100,9 +100,9 @@ typedef struct _EFI_DISK_INFO_PROTOCOL EFI_DISK_INFO_PROTOCOL;
|
||||
@param[in,out] InquiryDataSize Pointer to the value for the inquiry data size.
|
||||
|
||||
@retval EFI_SUCCESS The command was accepted without any errors.
|
||||
@retval EFI_NOT_FOUND Device does not support this data class
|
||||
@retval EFI_DEVICE_ERROR Error reading InquiryData from device
|
||||
@retval EFI_BUFFER_TOO_SMALL InquiryDataSize not big enough
|
||||
@retval EFI_NOT_FOUND Device does not support this data class
|
||||
@retval EFI_DEVICE_ERROR Error reading InquiryData from device
|
||||
@retval EFI_BUFFER_TOO_SMALL InquiryDataSize not big enough
|
||||
|
||||
**/
|
||||
typedef
|
||||
@@ -119,16 +119,16 @@ EFI_STATUS
|
||||
This function is used by the IDE bus driver to get identify data. Data format
|
||||
of Identify data is defined by the Interface GUID.
|
||||
|
||||
@param[in] This Pointer to the EFI_DISK_INFO_PROTOCOL
|
||||
@param[in] This Pointer to the EFI_DISK_INFO_PROTOCOL
|
||||
instance.
|
||||
@param[in,out] IdentifyData Pointer to a buffer for the identify data.
|
||||
@param[in,out] IdentifyDataSize Pointer to the value for the identify data
|
||||
size.
|
||||
|
||||
@retval EFI_SUCCESS The command was accepted without any errors.
|
||||
@retval EFI_NOT_FOUND Device does not support this data class
|
||||
@retval EFI_DEVICE_ERROR Error reading IdentifyData from device
|
||||
@retval EFI_BUFFER_TOO_SMALL IdentifyDataSize not big enough
|
||||
@retval EFI_NOT_FOUND Device does not support this data class
|
||||
@retval EFI_DEVICE_ERROR Error reading IdentifyData from device
|
||||
@retval EFI_BUFFER_TOO_SMALL IdentifyDataSize not big enough
|
||||
|
||||
**/
|
||||
typedef
|
||||
@@ -141,8 +141,8 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Provides sense data information for the controller type.
|
||||
|
||||
This function is used by the IDE bus driver to get sense data.
|
||||
|
||||
This function is used by the IDE bus driver to get sense data.
|
||||
Data format of Sense data is defined by the Interface GUID.
|
||||
|
||||
@param[in] This Pointer to the EFI_DISK_INFO_PROTOCOL instance.
|
||||
@@ -168,7 +168,7 @@ EFI_STATUS
|
||||
/**
|
||||
This function is used by the IDE bus driver to get controller information.
|
||||
|
||||
@param[in] This Pointer to the EFI_DISK_INFO_PROTOCOL instance.
|
||||
@param[in] This Pointer to the EFI_DISK_INFO_PROTOCOL instance.
|
||||
@param[out] IdeChannel Pointer to the Ide Channel number. Primary or secondary.
|
||||
@param[out] IdeDevice Pointer to the Ide Device number. Master or slave.
|
||||
|
||||
@@ -189,7 +189,7 @@ EFI_STATUS
|
||||
///
|
||||
struct _EFI_DISK_INFO_PROTOCOL {
|
||||
///
|
||||
/// A GUID that defines the format of buffers for the other member functions
|
||||
/// A GUID that defines the format of buffers for the other member functions
|
||||
/// of this protocol.
|
||||
///
|
||||
EFI_GUID Interface;
|
||||
@@ -209,7 +209,7 @@ struct _EFI_DISK_INFO_PROTOCOL {
|
||||
///
|
||||
EFI_DISK_INFO_SENSE_DATA SenseData;
|
||||
///
|
||||
/// Specific controller.
|
||||
/// Specific controller.
|
||||
///
|
||||
EFI_DISK_INFO_WHICH_IDE WhichIde;
|
||||
};
|
||||
|
@@ -5,14 +5,14 @@
|
||||
oriented devices. The Disk IO protocol is intended to layer on top of the
|
||||
Block IO protocol.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -26,14 +26,14 @@
|
||||
|
||||
///
|
||||
/// Protocol GUID name defined in EFI1.1.
|
||||
///
|
||||
///
|
||||
#define DISK_IO_PROTOCOL EFI_DISK_IO_PROTOCOL_GUID
|
||||
|
||||
typedef struct _EFI_DISK_IO_PROTOCOL EFI_DISK_IO_PROTOCOL;
|
||||
|
||||
///
|
||||
/// Protocol defined in EFI1.1.
|
||||
///
|
||||
///
|
||||
typedef EFI_DISK_IO_PROTOCOL EFI_DISK_IO;
|
||||
|
||||
/**
|
||||
@@ -95,7 +95,7 @@ EFI_STATUS
|
||||
|
||||
///
|
||||
/// Revision defined in EFI1.1
|
||||
///
|
||||
///
|
||||
#define EFI_DISK_IO_INTERFACE_REVISION EFI_DISK_IO_PROTOCOL_REVISION
|
||||
|
||||
///
|
||||
|
@@ -4,14 +4,14 @@
|
||||
The Disk I/O 2 protocol defines an extension to the Disk I/O protocol to enable
|
||||
non-blocking / asynchronous byte-oriented disk operation.
|
||||
|
||||
Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
|
@@ -4,7 +4,7 @@
|
||||
DNSv4 Service Binding Protocol (DNSv4SB)
|
||||
DNSv4 Protocol (DNSv4)
|
||||
|
||||
Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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,23 +38,23 @@ typedef struct _EFI_DNS4_PROTOCOL EFI_DNS4_PROTOCOL;
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// Count of the DNS servers. When used with GetModeData(),
|
||||
/// this field is the count of originally configured servers when
|
||||
/// Configure() was called for this instance. When used with
|
||||
/// Configure() this is the count of caller-supplied servers. If the
|
||||
/// DnsServerListCount is zero, the DNS server configuration
|
||||
/// Count of the DNS servers. When used with GetModeData(),
|
||||
/// this field is the count of originally configured servers when
|
||||
/// Configure() was called for this instance. When used with
|
||||
/// Configure() this is the count of caller-supplied servers. If the
|
||||
/// DnsServerListCount is zero, the DNS server configuration
|
||||
/// will be retrieved from DHCP server automatically.
|
||||
///
|
||||
UINTN DnsServerListCount;
|
||||
///
|
||||
/// Pointer to DNS server list containing DnsServerListCount entries or NULL
|
||||
/// if DnsServerListCountis 0. For Configure(), this will be NULL when there are
|
||||
/// no caller supplied server addresses, and, the DNS instance will retrieve
|
||||
/// DNS server from DHCP Server. The provided DNS server list is
|
||||
/// recommended to be filled up in the sequence of preference. When
|
||||
/// used with GetModeData(), the buffer containing the list will
|
||||
/// be allocated by the driver implementing this protocol and must be
|
||||
/// freed by the caller. When used with Configure(), the buffer
|
||||
/// Pointer to DNS server list containing DnsServerListCount entries or NULL
|
||||
/// if DnsServerListCountis 0. For Configure(), this will be NULL when there are
|
||||
/// no caller supplied server addresses, and, the DNS instance will retrieve
|
||||
/// DNS server from DHCP Server. The provided DNS server list is
|
||||
/// recommended to be filled up in the sequence of preference. When
|
||||
/// used with GetModeData(), the buffer containing the list will
|
||||
/// be allocated by the driver implementing this protocol and must be
|
||||
/// freed by the caller. When used with Configure(), the buffer
|
||||
/// containing the list will be allocated and released by the caller.
|
||||
///
|
||||
EFI_IPv4_ADDRESS *DnsServerList;
|
||||
@@ -68,10 +68,10 @@ typedef struct {
|
||||
///
|
||||
BOOLEAN EnableDnsCache;
|
||||
///
|
||||
/// Use the protocol number defined in "Links to UEFI-Related
|
||||
/// Documents"(http://uefi.org/uefi) under the heading "IANA
|
||||
/// Protocol Numbers". Only TCP or UDP are supported, and other
|
||||
/// protocol values are invalid. An implementation can choose to
|
||||
/// Use the protocol number defined in "Links to UEFI-Related
|
||||
/// Documents"(http://uefi.org/uefi) under the heading "IANA
|
||||
/// Protocol Numbers". Only TCP or UDP are supported, and other
|
||||
/// protocol values are invalid. An implementation can choose to
|
||||
/// support only UDP, or both TCP and UDP.
|
||||
///
|
||||
UINT8 Protocol;
|
||||
@@ -135,10 +135,10 @@ typedef struct {
|
||||
///
|
||||
UINT32 DnsServerCount;
|
||||
///
|
||||
/// Pointer to common list of addresses of all configured DNS server
|
||||
/// used by EFI_DNS4_PROTOCOL instances. List will include
|
||||
/// DNS servers configured by this or any other EFI_DNS4_PROTOCOL instance.
|
||||
/// The storage for this list is allocated by the driver publishing this
|
||||
/// Pointer to common list of addresses of all configured DNS server
|
||||
/// used by EFI_DNS4_PROTOCOL instances. List will include
|
||||
/// DNS servers configured by this or any other EFI_DNS4_PROTOCOL instance.
|
||||
/// The storage for this list is allocated by the driver publishing this
|
||||
/// protocol, and must be freed by the caller.
|
||||
///
|
||||
EFI_IPv4_ADDRESS *DnsServerList;
|
||||
@@ -147,8 +147,8 @@ typedef struct {
|
||||
///
|
||||
UINT32 DnsCacheCount;
|
||||
///
|
||||
/// Pointer to a buffer containing DnsCacheCount DNS Cache
|
||||
/// entry structures. The storage for this list is allocated by the driver
|
||||
/// Pointer to a buffer containing DnsCacheCount DNS Cache
|
||||
/// entry structures. The storage for this list is allocated by the driver
|
||||
/// publishing this protocol and must be freed by caller.
|
||||
///
|
||||
EFI_DNS4_CACHE_ENTRY *DnsCacheList;
|
||||
@@ -311,7 +311,7 @@ EFI_STATUS
|
||||
@retval EFI_SUCCESS The operation completed successfully.
|
||||
@retval EFI_UNSUPPORTED The designated protocol is not supported.
|
||||
@retval EFI_INVALID_PARAMETER This is NULL.
|
||||
The StationIp address provided in DnsConfigData is not a
|
||||
The StationIp address provided in DnsConfigData is not a
|
||||
valid unicast.
|
||||
DnsServerList is NULL while DnsServerListCount
|
||||
is not ZERO.
|
||||
@@ -321,8 +321,8 @@ EFI_STATUS
|
||||
allocated.
|
||||
@retval EFI_DEVICE_ERROR An unexpected system or network error occurred. The
|
||||
EFI DNSv4 Protocol instance is not configured.
|
||||
@retval EFI_ALREADY_STARTED Second call to Configure() with DnsConfigData. To
|
||||
reconfigure the instance the caller must call Configure()
|
||||
@retval EFI_ALREADY_STARTED Second call to Configure() with DnsConfigData. To
|
||||
reconfigure the instance the caller must call Configure()
|
||||
with NULL first to return driver to unconfigured state.
|
||||
**/
|
||||
typedef
|
||||
@@ -363,7 +363,7 @@ EFI_STATUS
|
||||
/**
|
||||
IPv4 address to host name translation also known as Reverse DNS lookup.
|
||||
|
||||
The IpToHostName() function is used to translate the host address to host name. A type PTR
|
||||
The IpToHostName() function is used to translate the host address to host name. A type PTR
|
||||
query is used to get the primary name of the host. Support of this function is optional.
|
||||
|
||||
@param[in] This Pointer to EFI_DNS4_PROTOCOL instance.
|
||||
@@ -391,7 +391,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Retrieve arbitrary information from the DNS server.
|
||||
Retrieve arbitrary information from the DNS server.
|
||||
|
||||
This GeneralLookup() function retrieves arbitrary information from the DNS. The caller
|
||||
supplies a QNAME, QTYPE, and QCLASS, and all of the matching RRs are returned. All
|
||||
|
@@ -4,7 +4,7 @@
|
||||
DNSv6 Service Binding Protocol (DNSv6SB)
|
||||
DNSv6 Protocol (DNSv6)
|
||||
|
||||
Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
@@ -49,8 +49,8 @@ typedef struct {
|
||||
///
|
||||
UINT8 Protocol;
|
||||
///
|
||||
/// The local IP address to use. Set to zero to let the underlying IPv6
|
||||
/// driver choose a source address. If not zero it must be one of the
|
||||
/// The local IP address to use. Set to zero to let the underlying IPv6
|
||||
/// driver choose a source address. If not zero it must be one of the
|
||||
/// configured IP addresses in the underlying IPv6 driver.
|
||||
///
|
||||
EFI_IPv6_ADDRESS StationIp;
|
||||
@@ -59,23 +59,23 @@ typedef struct {
|
||||
///
|
||||
UINT16 LocalPort;
|
||||
///
|
||||
/// Count of the DNS servers. When used with GetModeData(),
|
||||
/// this field is the count of originally configured servers when
|
||||
/// Configure() was called for this instance. When used with
|
||||
/// Configure() this is the count of caller-supplied servers. If the
|
||||
/// DnsServerListCount is zero, the DNS server configuration
|
||||
/// Count of the DNS servers. When used with GetModeData(),
|
||||
/// this field is the count of originally configured servers when
|
||||
/// Configure() was called for this instance. When used with
|
||||
/// Configure() this is the count of caller-supplied servers. If the
|
||||
/// DnsServerListCount is zero, the DNS server configuration
|
||||
/// will be retrieved from DHCP server automatically.
|
||||
///
|
||||
UINT32 DnsServerCount;
|
||||
///
|
||||
/// Pointer to DNS server list containing DnsServerListCount
|
||||
/// entries or NULL if DnsServerListCount is 0. For Configure(),
|
||||
/// this will be NULL when there are no caller supplied server addresses
|
||||
/// and the DNS instance will retrieve DNS server from DHCP Server.
|
||||
/// The provided DNS server list is recommended to be filled up in the sequence
|
||||
/// of preference. When used with GetModeData(), the buffer containing the list
|
||||
/// will be allocated by the driver implementing this protocol and must be
|
||||
/// freed by the caller. When used with Configure(), the buffer
|
||||
/// entries or NULL if DnsServerListCount is 0. For Configure(),
|
||||
/// this will be NULL when there are no caller supplied server addresses
|
||||
/// and the DNS instance will retrieve DNS server from DHCP Server.
|
||||
/// The provided DNS server list is recommended to be filled up in the sequence
|
||||
/// of preference. When used with GetModeData(), the buffer containing the list
|
||||
/// will be allocated by the driver implementing this protocol and must be
|
||||
/// freed by the caller. When used with Configure(), the buffer
|
||||
/// containing the list will be allocated and released by the caller.
|
||||
///
|
||||
EFI_IPv6_ADDRESS *DnsServerList;
|
||||
@@ -121,21 +121,21 @@ typedef struct {
|
||||
///
|
||||
/// Number of configured DNS6 servers.
|
||||
///
|
||||
UINT32 DnsServerCount;
|
||||
UINT32 DnsServerCount;
|
||||
///
|
||||
/// Pointer to common list of addresses of all configured DNS server used by EFI_DNS6_PROTOCOL
|
||||
/// instances. List will include DNS servers configured by this or any other EFI_DNS6_PROTOCOL
|
||||
/// instance. The storage for this list is allocated by the driver publishing this protocol,
|
||||
/// Pointer to common list of addresses of all configured DNS server used by EFI_DNS6_PROTOCOL
|
||||
/// instances. List will include DNS servers configured by this or any other EFI_DNS6_PROTOCOL
|
||||
/// instance. The storage for this list is allocated by the driver publishing this protocol,
|
||||
/// and must be freed by the caller.
|
||||
///
|
||||
EFI_IPv6_ADDRESS *DnsServerList;
|
||||
EFI_IPv6_ADDRESS *DnsServerList;
|
||||
///
|
||||
/// Number of DNS Cache entries. The DNS Cache is shared among all DNS instances.
|
||||
///
|
||||
UINT32 DnsCacheCount;
|
||||
///
|
||||
/// Pointer to a buffer containing DnsCacheCount DNS Cache
|
||||
/// entry structures. The storage for thislist is allocated by the driver
|
||||
/// Pointer to a buffer containing DnsCacheCount DNS Cache
|
||||
/// entry structures. The storage for thislist is allocated by the driver
|
||||
/// publishing this protocol and must be freed by caller.
|
||||
///
|
||||
EFI_DNS6_CACHE_ENTRY *DnsCacheList;
|
||||
@@ -272,7 +272,7 @@ typedef struct {
|
||||
This function is used to retrieve DNS mode data for this DNS instance.
|
||||
|
||||
@param[in] This Pointer to EFI_DNS6_PROTOCOL instance.
|
||||
@param[out] DnsModeData Pointer to the caller-allocated storage for the
|
||||
@param[out] DnsModeData Pointer to the caller-allocated storage for the
|
||||
EFI_DNS6_MODE_DATA data.
|
||||
|
||||
@retval EFI_SUCCESS The operation completed successfully.
|
||||
@@ -296,7 +296,7 @@ EFI_STATUS
|
||||
EFI DNSv6 Protocol driver instance. Reset the DNS instance if DnsConfigData is NULL.
|
||||
|
||||
@param[in] This Pointer to EFI_DNS6_PROTOCOL instance.
|
||||
@param[in] DnsConfigData Pointer to the configuration data structure. All associated
|
||||
@param[in] DnsConfigData Pointer to the configuration data structure. All associated
|
||||
storage to be allocated and released by caller.
|
||||
|
||||
@retval EFI_SUCCESS The operation completed successfully.
|
||||
@@ -308,8 +308,8 @@ EFI_STATUS
|
||||
@retval EFI_DEVICE_ERROR An unexpected system or network error occurred. The
|
||||
EFI DNSv6 Protocol instance is not configured.
|
||||
@retval EFI_UNSUPPORTED The designated protocol is not supported.
|
||||
@retval EFI_ALREADY_STARTED Second call to Configure() with DnsConfigData. To
|
||||
reconfigure the instance the caller must call Configure() with
|
||||
@retval EFI_ALREADY_STARTED Second call to Configure() with DnsConfigData. To
|
||||
reconfigure the instance the caller must call Configure() with
|
||||
NULL first to return driver to unconfigured state.
|
||||
**/
|
||||
typedef
|
||||
|
@@ -1,17 +1,17 @@
|
||||
/** @file
|
||||
UEFI DriverBinding Protocol is defined in UEFI specification.
|
||||
|
||||
This protocol is produced by every driver that follows the UEFI Driver Model,
|
||||
|
||||
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 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -29,33 +29,33 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
typedef struct _EFI_DRIVER_BINDING_PROTOCOL EFI_DRIVER_BINDING_PROTOCOL;
|
||||
|
||||
/**
|
||||
Tests to see if this driver supports a given controller. If a child device is provided,
|
||||
Tests to see if this driver supports a given controller. If a child device is provided,
|
||||
it further tests to see if this driver supports creating a handle for the specified child device.
|
||||
|
||||
This function checks to see if the driver specified by This supports the device specified by
|
||||
ControllerHandle. Drivers will typically use the device path attached to
|
||||
ControllerHandle and/or the services from the bus I/O abstraction attached to
|
||||
ControllerHandle to determine if the driver supports ControllerHandle. This function
|
||||
may be called many times during platform initialization. In order to reduce boot times, the tests
|
||||
performed by this function must be very small, and take as little time as possible to execute. This
|
||||
function must not change the state of any hardware devices, and this function must be aware that the
|
||||
device specified by ControllerHandle may already be managed by the same driver or a
|
||||
different driver. This function must match its calls to AllocatePages() with FreePages(),
|
||||
AllocatePool() with FreePool(), and OpenProtocol() with CloseProtocol().
|
||||
Because ControllerHandle may have been previously started by the same driver, if a protocol is
|
||||
already in the opened state, then it must not be closed with CloseProtocol(). This is required
|
||||
This function checks to see if the driver specified by This supports the device specified by
|
||||
ControllerHandle. Drivers will typically use the device path attached to
|
||||
ControllerHandle and/or the services from the bus I/O abstraction attached to
|
||||
ControllerHandle to determine if the driver supports ControllerHandle. This function
|
||||
may be called many times during platform initialization. In order to reduce boot times, the tests
|
||||
performed by this function must be very small, and take as little time as possible to execute. This
|
||||
function must not change the state of any hardware devices, and this function must be aware that the
|
||||
device specified by ControllerHandle may already be managed by the same driver or a
|
||||
different driver. This function must match its calls to AllocatePages() with FreePages(),
|
||||
AllocatePool() with FreePool(), and OpenProtocol() with CloseProtocol().
|
||||
Because ControllerHandle may have been previously started by the same driver, if a protocol is
|
||||
already in the opened state, then it must not be closed with CloseProtocol(). This is required
|
||||
to guarantee the state of ControllerHandle is not modified by this function.
|
||||
|
||||
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
|
||||
@param[in] ControllerHandle The handle of the controller to test. This handle
|
||||
must support a protocol interface that supplies
|
||||
@param[in] ControllerHandle The handle of the controller to test. This handle
|
||||
must support a protocol interface that supplies
|
||||
an I/O abstraction to the driver.
|
||||
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. This
|
||||
parameter is ignored by device drivers, and is optional for bus
|
||||
drivers. For bus drivers, if this parameter is not NULL, then
|
||||
the bus driver must determine if the bus controller specified
|
||||
by ControllerHandle and the child controller specified
|
||||
by RemainingDevicePath are both supported by this
|
||||
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. This
|
||||
parameter is ignored by device drivers, and is optional for bus
|
||||
drivers. For bus drivers, if this parameter is not NULL, then
|
||||
the bus driver must determine if the bus controller specified
|
||||
by ControllerHandle and the child controller specified
|
||||
by RemainingDevicePath are both supported by this
|
||||
bus driver.
|
||||
|
||||
@retval EFI_SUCCESS The device specified by ControllerHandle and
|
||||
@@ -82,28 +82,28 @@ EFI_STATUS
|
||||
Starts a device controller or a bus controller.
|
||||
|
||||
The Start() function is designed to be invoked from the EFI boot service ConnectController().
|
||||
As a result, much of the error checking on the parameters to Start() has been moved into this
|
||||
common boot service. It is legal to call Start() from other locations,
|
||||
As a result, much of the error checking on the parameters to Start() has been moved into this
|
||||
common boot service. It is legal to call Start() from other locations,
|
||||
but the following calling restrictions must be followed, or the system behavior will not be deterministic.
|
||||
1. ControllerHandle must be a valid EFI_HANDLE.
|
||||
2. If RemainingDevicePath is not NULL, then it must be a pointer to a naturally aligned
|
||||
EFI_DEVICE_PATH_PROTOCOL.
|
||||
3. Prior to calling Start(), the Supported() function for the driver specified by This must
|
||||
have been called with the same calling parameters, and Supported() must have returned EFI_SUCCESS.
|
||||
have been called with the same calling parameters, and Supported() must have returned EFI_SUCCESS.
|
||||
|
||||
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
|
||||
@param[in] ControllerHandle The handle of the controller to start. This handle
|
||||
must support a protocol interface that supplies
|
||||
@param[in] ControllerHandle The handle of the controller to start. This handle
|
||||
must support a protocol interface that supplies
|
||||
an I/O abstraction to the driver.
|
||||
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. This
|
||||
parameter is ignored by device drivers, and is optional for bus
|
||||
drivers. For a bus driver, if this parameter is NULL, then handles
|
||||
for all the children of Controller are created by this driver.
|
||||
If this parameter is not NULL and the first Device Path Node is
|
||||
not the End of Device Path Node, then only the handle for the
|
||||
child device specified by the first Device Path Node of
|
||||
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. This
|
||||
parameter is ignored by device drivers, and is optional for bus
|
||||
drivers. For a bus driver, if this parameter is NULL, then handles
|
||||
for all the children of Controller are created by this driver.
|
||||
If this parameter is not NULL and the first Device Path Node is
|
||||
not the End of Device Path Node, then only the handle for the
|
||||
child device specified by the first Device Path Node of
|
||||
RemainingDevicePath is created by this driver.
|
||||
If the first Device Path Node of RemainingDevicePath is
|
||||
If the first Device Path Node of RemainingDevicePath is
|
||||
the End of Device Path Node, no child handle is created by this
|
||||
driver.
|
||||
|
||||
@@ -123,10 +123,10 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Stops a device controller or a bus controller.
|
||||
|
||||
The Stop() function is designed to be invoked from the EFI boot service DisconnectController().
|
||||
As a result, much of the error checking on the parameters to Stop() has been moved
|
||||
into this common boot service. It is legal to call Stop() from other locations,
|
||||
|
||||
The Stop() function is designed to be invoked from the EFI boot service DisconnectController().
|
||||
As a result, much of the error checking on the parameters to Stop() has been moved
|
||||
into this common boot service. It is legal to call Stop() from other locations,
|
||||
but the following calling restrictions must be followed, or the system behavior will not be deterministic.
|
||||
1. ControllerHandle must be a valid EFI_HANDLE that was used on a previous call to this
|
||||
same driver's Start() function.
|
||||
@@ -134,13 +134,13 @@ EFI_STATUS
|
||||
EFI_HANDLE. In addition, all of these handles must have been created in this driver's
|
||||
Start() function, and the Start() function must have called OpenProtocol() on
|
||||
ControllerHandle with an Attribute of EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER.
|
||||
|
||||
|
||||
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
|
||||
@param[in] ControllerHandle A handle to the device being stopped. The handle must
|
||||
support a bus specific I/O protocol for the driver
|
||||
@param[in] ControllerHandle A handle to the device being stopped. The handle must
|
||||
support a bus specific I/O protocol for the driver
|
||||
to use to stop the device.
|
||||
@param[in] NumberOfChildren The number of child device handles in ChildHandleBuffer.
|
||||
@param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL
|
||||
@param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL
|
||||
if NumberOfChildren is 0.
|
||||
|
||||
@retval EFI_SUCCESS The device was stopped.
|
||||
@@ -157,14 +157,14 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
///
|
||||
/// This protocol provides the services required to determine if a driver supports a given controller.
|
||||
/// 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.
|
||||
///
|
||||
struct _EFI_DRIVER_BINDING_PROTOCOL {
|
||||
EFI_DRIVER_BINDING_SUPPORTED Supported;
|
||||
EFI_DRIVER_BINDING_START Start;
|
||||
EFI_DRIVER_BINDING_STOP Stop;
|
||||
|
||||
|
||||
///
|
||||
/// The version number of the UEFI driver that produced the
|
||||
/// EFI_DRIVER_BINDING_PROTOCOL. This field is used by
|
||||
@@ -178,20 +178,20 @@ struct _EFI_DRIVER_BINDING_PROTOCOL {
|
||||
/// 0xffffffef are reserved for IHV-developed drivers.
|
||||
///
|
||||
UINT32 Version;
|
||||
|
||||
|
||||
///
|
||||
/// The image handle of the UEFI driver that produced this instance
|
||||
/// of the EFI_DRIVER_BINDING_PROTOCOL.
|
||||
///
|
||||
EFI_HANDLE ImageHandle;
|
||||
|
||||
|
||||
///
|
||||
/// 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.
|
||||
/// the same as ImageHandle.
|
||||
///
|
||||
EFI_HANDLE DriverBindingHandle;
|
||||
};
|
||||
|
@@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
EFI Driver Configuration Protocol
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -24,11 +24,11 @@
|
||||
{ \
|
||||
0x107a772b, 0xd5e1, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
|
||||
}
|
||||
|
||||
|
||||
typedef struct _EFI_DRIVER_CONFIGURATION_PROTOCOL EFI_DRIVER_CONFIGURATION_PROTOCOL;
|
||||
|
||||
/**
|
||||
Allows the user to set controller specific options for a controller that a
|
||||
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.
|
||||
@@ -154,9 +154,9 @@ struct _EFI_DRIVER_CONFIGURATION_PROTOCOL {
|
||||
EFI_DRIVER_CONFIGURATION_OPTIONS_VALID OptionsValid;
|
||||
EFI_DRIVER_CONFIGURATION_FORCE_DEFAULTS ForceDefaults;
|
||||
///
|
||||
/// 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.
|
||||
/// 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.
|
||||
///
|
||||
CHAR8 *SupportedLanguages;
|
||||
};
|
||||
|
@@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
UEFI Driver Configuration2 Protocol
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
{ \
|
||||
0xbfd7dc1d, 0x24f1, 0x40d9, {0x82, 0xe7, 0x2e, 0x09, 0xbb, 0x6b, 0x4e, 0xbe } \
|
||||
}
|
||||
|
||||
|
||||
typedef struct _EFI_DRIVER_CONFIGURATION2_PROTOCOL EFI_DRIVER_CONFIGURATION2_PROTOCOL;
|
||||
|
||||
typedef enum {
|
||||
@@ -55,7 +55,7 @@ typedef enum {
|
||||
#define EFI_DRIVER_CONFIGURATION_PERORMANCE_DEFAULTS 0x00000003
|
||||
|
||||
/**
|
||||
Allows the user to set controller specific options for a controller that a
|
||||
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_CONFIGURATION2_PROTOCOL instance.
|
||||
@@ -180,7 +180,7 @@ struct _EFI_DRIVER_CONFIGURATION2_PROTOCOL {
|
||||
EFI_DRIVER_CONFIGURATION2_FORCE_DEFAULTS ForceDefaults;
|
||||
///
|
||||
/// A Null-terminated ASCII string that contains one or more RFC 4646
|
||||
/// language codes. This is the list of language codes that this protocol supports.
|
||||
/// language codes. This is the list of language codes that this protocol supports.
|
||||
///
|
||||
CHAR8 *SupportedLanguages;
|
||||
};
|
||||
|
@@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
EFI Driver Diagnostics Protocol
|
||||
|
||||
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -41,7 +41,7 @@ typedef enum {
|
||||
///
|
||||
EfiDriverDiagnosticTypeManufacturing= 2,
|
||||
///
|
||||
/// This is an optional diagnostic type that would only be used in the situation where an
|
||||
/// This is an optional diagnostic type that would only be used in the situation where an
|
||||
/// EFI_NOT_READY had been returned by a previous call to RunDiagnostics()
|
||||
/// and there is a desire to cancel the current running diagnostics operation.
|
||||
///
|
||||
@@ -121,8 +121,8 @@ struct _EFI_DRIVER_DIAGNOSTICS_PROTOCOL {
|
||||
EFI_DRIVER_DIAGNOSTICS_RUN_DIAGNOSTICS RunDiagnostics;
|
||||
///
|
||||
/// 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.
|
||||
///
|
||||
/// language codes. This is the list of language codes that this protocol supports.
|
||||
///
|
||||
CHAR8 *SupportedLanguages;
|
||||
};
|
||||
|
||||
|
@@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
UEFI Driver Diagnostics2 Protocol
|
||||
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
{ \
|
||||
0x4d330321, 0x025f, 0x4aac, {0x90, 0xd8, 0x5e, 0xd9, 0x00, 0x17, 0x3b, 0x63 } \
|
||||
}
|
||||
|
||||
|
||||
typedef struct _EFI_DRIVER_DIAGNOSTICS2_PROTOCOL EFI_DRIVER_DIAGNOSTICS2_PROTOCOL;
|
||||
|
||||
/**
|
||||
@@ -31,7 +31,7 @@ typedef struct _EFI_DRIVER_DIAGNOSTICS2_PROTOCOL EFI_DRIVER_DIAGNOSTICS2_PROTOC
|
||||
@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
|
||||
be NULL for device drivers. It will also be NULL for
|
||||
be NULL for device drivers. It will also be NULL for
|
||||
bus drivers that wish to run diagnostics on the bus
|
||||
controller. It will not be NULL for a bus driver that
|
||||
wishes to run diagnostics on one of its child controllers.
|
||||
@@ -101,8 +101,8 @@ struct _EFI_DRIVER_DIAGNOSTICS2_PROTOCOL {
|
||||
EFI_DRIVER_DIAGNOSTICS2_RUN_DIAGNOSTICS RunDiagnostics;
|
||||
///
|
||||
/// A Null-terminated ASCII string that contains one or more RFC 4646
|
||||
/// language codes. This is the list of language codes that this protocol supports.
|
||||
///
|
||||
/// language codes. This is the list of language codes that this protocol supports.
|
||||
///
|
||||
CHAR8 *SupportedLanguages;
|
||||
};
|
||||
|
||||
|
@@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
UEFI Driver Family Protocol
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -19,14 +19,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
{ \
|
||||
0xb1ee129e, 0xda36, 0x4181, { 0x91, 0xf8, 0x4, 0xa4, 0x92, 0x37, 0x66, 0xa7 } \
|
||||
}
|
||||
|
||||
|
||||
typedef struct _EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL;
|
||||
|
||||
//
|
||||
// Prototypes for the Driver Family Override Protocol
|
||||
//
|
||||
//
|
||||
/**
|
||||
//
|
||||
/**
|
||||
This function returns the version value associated with the driver specified by This.
|
||||
|
||||
Retrieves the version of the driver that is used by the EFI Boot Service ConnectController()
|
||||
@@ -35,10 +35,10 @@ typedef struct _EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL EFI_DRIVER_FAMILY_OVERRIDE_
|
||||
the drivers with higher values returned by GetVersion() are higher priority than drivers that
|
||||
return lower values from GetVersion().
|
||||
|
||||
@param This A pointer to the EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL instance.
|
||||
|
||||
@return The version value associated with the driver specified by This.
|
||||
|
||||
@param This A pointer to the EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL instance.
|
||||
|
||||
@return The version value associated with the driver specified by This.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT32
|
||||
@@ -47,15 +47,15 @@ UINT32
|
||||
);
|
||||
|
||||
///
|
||||
/// When installed, the Driver Family Override Protocol produces a GUID that represents
|
||||
/// 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
|
||||
/// in the same driver family are connected with a higher priority than drivers
|
||||
/// When installed, the Driver Family Override Protocol produces a GUID that represents
|
||||
/// 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
|
||||
/// in the same driver family are connected with a higher priority than drivers
|
||||
/// with a lower revision value in the same driver family. The EFI Boot Service
|
||||
/// Connect Controller uses five rules to build a prioritized list of drivers when
|
||||
/// Connect Controller uses five rules to build a prioritized 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.
|
||||
/// rule is between the Platform Specific Driver Override Protocol and above the
|
||||
/// Bus Specific Driver Override Protocol.
|
||||
///
|
||||
struct _EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL {
|
||||
EFI_DRIVER_FAMILY_OVERRIDE_GET_VERSION GetVersion;
|
||||
|
@@ -5,33 +5,33 @@
|
||||
the health status for a controller to be retrieved. If a controller is not in a usable
|
||||
state, status messages may be reported to the user, repair operations can be invoked,
|
||||
and the user may be asked to make software and/or hardware configuration changes.
|
||||
|
||||
The Driver Health Protocol is optionally produced by a driver that follows the
|
||||
EFI Driver Model. If an EFI Driver needs to report health status to the platform,
|
||||
provide warning or error messages to the user, perform length repair operations,
|
||||
or request the user to make hardware or software configuration changes, then the
|
||||
|
||||
The Driver Health Protocol is optionally produced by a driver that follows the
|
||||
EFI Driver Model. If an EFI Driver needs to report health status to the platform,
|
||||
provide warning or error messages to the user, perform length repair operations,
|
||||
or request the user to make hardware or software configuration changes, then the
|
||||
Driver Health Protocol must be produced.
|
||||
|
||||
A controller that is managed by driver that follows the EFI Driver Model and
|
||||
produces the Driver Health Protocol must report the current health of the
|
||||
controllers that the driver is currently managing. The controller can initially
|
||||
be healthy, failed, require repair, or require configuration. If a controller
|
||||
requires configuration, and the user make configuration changes, the controller
|
||||
may then need to be reconnected or the system may need to be rebooted for the
|
||||
configuration changes to take affect.
|
||||
|
||||
Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2014, Hewlett-Packard Development Company, L.P.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
A controller that is managed by driver that follows the EFI Driver Model and
|
||||
produces the Driver Health Protocol must report the current health of the
|
||||
controllers that the driver is currently managing. The controller can initially
|
||||
be healthy, failed, require repair, or require configuration. If a controller
|
||||
requires configuration, and the user make configuration changes, the controller
|
||||
may then need to be reconnected or the system may need to be rebooted for the
|
||||
configuration changes to take affect.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2014, Hewlett-Packard Development Company, L.P.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
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:
|
||||
This Protocol is defined in UEFI Specification 2.3d
|
||||
This Protocol is defined in UEFI Specification 2.3d
|
||||
|
||||
**/
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
{ \
|
||||
0x2a534210, 0x9280, 0x41d8, { 0xae, 0x79, 0xca, 0xda, 0x1, 0xa2, 0xb1, 0x27 } \
|
||||
}
|
||||
|
||||
|
||||
typedef struct _EFI_DRIVER_HEALTH_PROTOCOL EFI_DRIVER_HEALTH_PROTOCOL;
|
||||
|
||||
///
|
||||
@@ -63,12 +63,12 @@ typedef enum {
|
||||
typedef struct {
|
||||
EFI_HII_HANDLE HiiHandle;
|
||||
EFI_STRING_ID StringId;
|
||||
|
||||
|
||||
///
|
||||
/// 64-bit numeric value of the warning/error specified by this message.
|
||||
/// A value of 0x0000000000000000 is used to indicate that MessageCode is not specified.
|
||||
/// 64-bit numeric value of the warning/error specified by this message.
|
||||
/// A value of 0x0000000000000000 is used to indicate that MessageCode is not specified.
|
||||
/// The values 0x0000000000000001 to 0x0fffffffffffffff are reserved for allocation by the UEFI Specification.
|
||||
/// The values 0x1000000000000000 to 0x1fffffffffffffff are reserved for IHV-developed drivers.
|
||||
/// The values 0x1000000000000000 to 0x1fffffffffffffff are reserved for IHV-developed drivers.
|
||||
/// The values 0x8000000000000000 to 0x8fffffffffffffff is reserved for platform/OEM drivers.
|
||||
/// All other values are reserved and should not be used.
|
||||
///
|
||||
@@ -78,11 +78,11 @@ typedef struct {
|
||||
/**
|
||||
Reports the progress of a repair operation
|
||||
|
||||
@param[in] Value A value between 0 and Limit that identifies the current
|
||||
@param[in] Value A value between 0 and Limit that identifies the current
|
||||
progress of the repair operation.
|
||||
|
||||
|
||||
@param[in] Limit The maximum value of Value for the current repair operation.
|
||||
For example, a driver that wants to specify progress in
|
||||
For example, a driver that wants to specify progress in
|
||||
percent would use a Limit value of 100.
|
||||
**/
|
||||
typedef
|
||||
@@ -93,88 +93,88 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Retrieves the health status of a controller in the platform. This function can also
|
||||
optionally return warning messages, error messages, and a set of HII Forms that may
|
||||
be repair a controller that is not proper configured.
|
||||
|
||||
Retrieves the health status of a controller in the platform. This function can also
|
||||
optionally return warning messages, error messages, and a set of HII Forms that may
|
||||
be repair a controller that is not proper configured.
|
||||
|
||||
@param[in] This A pointer to the EFI_DRIVER_HEALTH_PROTOCOL instance.
|
||||
|
||||
@param[in] ControllerHandle The handle of the controller to retrieve the health status
|
||||
on. This is an optional parameter that may be NULL. If
|
||||
this parameter is NULL, then the value of ChildHandle is
|
||||
ignored, and the combined health status of all the devices
|
||||
@param[in] ControllerHandle The handle of the controller to retrieve the health status
|
||||
on. This is an optional parameter that may be NULL. If
|
||||
this parameter is NULL, then the value of ChildHandle is
|
||||
ignored, and the combined health status of all the devices
|
||||
that the driver is managing is returned.
|
||||
|
||||
@param[in] ChildHandle The handle of the child controller to retrieve the health
|
||||
status on. This is an optional parameter that may be NULL.
|
||||
This parameter is ignored of ControllerHandle is NULL. It
|
||||
will be NULL for device drivers. It will also be NULL for
|
||||
bus drivers when an attempt is made to collect the health
|
||||
status of the bus controller. If will not be NULL when an
|
||||
attempt is made to collect the health status for a child
|
||||
@param[in] ChildHandle The handle of the child controller to retrieve the health
|
||||
status on. This is an optional parameter that may be NULL.
|
||||
This parameter is ignored of ControllerHandle is NULL. It
|
||||
will be NULL for device drivers. It will also be NULL for
|
||||
bus drivers when an attempt is made to collect the health
|
||||
status of the bus controller. If will not be NULL when an
|
||||
attempt is made to collect the health status for a child
|
||||
controller produced by the driver.
|
||||
|
||||
@param[out] HealthStatus A pointer to the health status that is returned by this
|
||||
function. This is an optional parameter that may be NULL.
|
||||
This parameter is ignored of ControllerHandle is NULL.
|
||||
The health status for the controller specified by
|
||||
ControllerHandle and ChildHandle is returned.
|
||||
@param[out] HealthStatus A pointer to the health status that is returned by this
|
||||
function. This is an optional parameter that may be NULL.
|
||||
This parameter is ignored of ControllerHandle is NULL.
|
||||
The health status for the controller specified by
|
||||
ControllerHandle and ChildHandle is returned.
|
||||
|
||||
@param[out] MessageList A pointer to an array of warning or error messages associated
|
||||
with the controller specified by ControllerHandle and
|
||||
ChildHandle. This is an optional parameter that may be NULL.
|
||||
MessageList is allocated by this function with the EFI Boot
|
||||
Service AllocatePool(), and it is the caller's responsibility
|
||||
to free MessageList with the EFI Boot Service FreePool().
|
||||
Each message is specified by tuple of an EFI_HII_HANDLE and
|
||||
an EFI_STRING_ID. The array of messages is terminated by tuple
|
||||
containing a EFI_HII_HANDLE with a value of NULL. The
|
||||
EFI_HII_STRING_PROTOCOL.GetString() function can be used to
|
||||
retrieve the warning or error message as a Null-terminated
|
||||
string in a specific language. Messages may be
|
||||
returned for any of the HealthStatus values except
|
||||
EfiDriverHealthStatusReconnectRequired and
|
||||
@param[out] MessageList A pointer to an array of warning or error messages associated
|
||||
with the controller specified by ControllerHandle and
|
||||
ChildHandle. This is an optional parameter that may be NULL.
|
||||
MessageList is allocated by this function with the EFI Boot
|
||||
Service AllocatePool(), and it is the caller's responsibility
|
||||
to free MessageList with the EFI Boot Service FreePool().
|
||||
Each message is specified by tuple of an EFI_HII_HANDLE and
|
||||
an EFI_STRING_ID. The array of messages is terminated by tuple
|
||||
containing a EFI_HII_HANDLE with a value of NULL. The
|
||||
EFI_HII_STRING_PROTOCOL.GetString() function can be used to
|
||||
retrieve the warning or error message as a Null-terminated
|
||||
string in a specific language. Messages may be
|
||||
returned for any of the HealthStatus values except
|
||||
EfiDriverHealthStatusReconnectRequired and
|
||||
EfiDriverHealthStatusRebootRequired.
|
||||
|
||||
@param[out] FormHiiHandle A pointer to the HII handle containing the HII form used when
|
||||
configuration is required. The HII handle is associated with
|
||||
@param[out] FormHiiHandle A pointer to the HII handle containing the HII form used when
|
||||
configuration is required. The HII handle is associated with
|
||||
the controller specified by ControllerHandle and ChildHandle.
|
||||
If this is NULL, then no HII form is available. An HII handle
|
||||
will only be returned with a HealthStatus value of
|
||||
will only be returned with a HealthStatus value of
|
||||
EfiDriverHealthStatusConfigurationRequired.
|
||||
|
||||
@retval EFI_SUCCESS ControllerHandle is NULL, and all the controllers
|
||||
managed by this driver specified by This have a health
|
||||
status of EfiDriverHealthStatusHealthy with no warning
|
||||
messages to be returned. The ChildHandle, HealthStatus,
|
||||
@retval EFI_SUCCESS ControllerHandle is NULL, and all the controllers
|
||||
managed by this driver specified by This have a health
|
||||
status of EfiDriverHealthStatusHealthy with no warning
|
||||
messages to be returned. The ChildHandle, HealthStatus,
|
||||
MessageList, and FormList parameters are ignored.
|
||||
|
||||
@retval EFI_DEVICE_ERROR ControllerHandle is NULL, and one or more of the
|
||||
controllers managed by this driver specified by This
|
||||
do not have a health status of EfiDriverHealthStatusHealthy.
|
||||
The ChildHandle, HealthStatus, MessageList, and
|
||||
@retval EFI_DEVICE_ERROR ControllerHandle is NULL, and one or more of the
|
||||
controllers managed by this driver specified by This
|
||||
do not have a health status of EfiDriverHealthStatusHealthy.
|
||||
The ChildHandle, HealthStatus, MessageList, and
|
||||
FormList parameters are ignored.
|
||||
|
||||
@retval EFI_DEVICE_ERROR ControllerHandle is NULL, and one or more of the
|
||||
controllers managed by this driver specified by This
|
||||
have one or more warning and/or error messages.
|
||||
The ChildHandle, HealthStatus, MessageList, and
|
||||
@retval EFI_DEVICE_ERROR ControllerHandle is NULL, and one or more of the
|
||||
controllers managed by this driver specified by This
|
||||
have one or more warning and/or error messages.
|
||||
The ChildHandle, HealthStatus, MessageList, and
|
||||
FormList parameters are ignored.
|
||||
|
||||
@retval EFI_SUCCESS ControllerHandle is not NULL and the health status
|
||||
of the controller specified by ControllerHandle and
|
||||
ChildHandle was returned in HealthStatus. A list
|
||||
of warning and error messages may be optionally
|
||||
returned in MessageList, and a list of HII Forms
|
||||
@retval EFI_SUCCESS ControllerHandle is not NULL and the health status
|
||||
of the controller specified by ControllerHandle and
|
||||
ChildHandle was returned in HealthStatus. A list
|
||||
of warning and error messages may be optionally
|
||||
returned in MessageList, and a list of HII Forms
|
||||
may be optionally returned in FormList.
|
||||
|
||||
@retval EFI_UNSUPPORTED ControllerHandle is not NULL, and the controller
|
||||
specified by ControllerHandle and ChildHandle is not
|
||||
@retval EFI_UNSUPPORTED ControllerHandle is not NULL, and the controller
|
||||
specified by ControllerHandle and ChildHandle is not
|
||||
currently being managed by the driver specified by This.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER HealthStatus is NULL.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES MessageList is not NULL, and there are not enough
|
||||
@retval EFI_OUT_OF_RESOURCES MessageList is not NULL, and there are not enough
|
||||
resource available to allocate memory for MessageList.
|
||||
|
||||
**/
|
||||
@@ -190,30 +190,30 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Performs a repair operation on a controller in the platform. This function can
|
||||
optionally report repair progress information back to the platform.
|
||||
|
||||
Performs a repair operation on a controller in the platform. This function can
|
||||
optionally report repair progress information back to the platform.
|
||||
|
||||
@param[in] This A pointer to the EFI_DRIVER_HEALTH_PROTOCOL instance.
|
||||
@param[in] ControllerHandle The handle of the controller to repair.
|
||||
@param[in] ChildHandle The handle of the child controller to repair. This is
|
||||
an optional parameter that may be NULL. It will be NULL
|
||||
for device drivers. It will also be NULL for bus
|
||||
@param[in] ChildHandle The handle of the child controller to repair. This is
|
||||
an optional parameter that may be NULL. It will be NULL
|
||||
for device drivers. It will also be NULL for bus
|
||||
drivers when an attempt is made to repair a bus controller.
|
||||
If will not be NULL when an attempt is made to repair a
|
||||
If will not be NULL when an attempt is made to repair a
|
||||
child controller produced by the driver.
|
||||
@param[in] RepairNotify 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.
|
||||
@param[in] RepairNotify 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.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS An attempt to repair the controller specified by
|
||||
ControllerHandle and ChildHandle was performed.
|
||||
The result of the repair operation can bet
|
||||
@retval EFI_SUCCESS An attempt to repair the controller specified by
|
||||
ControllerHandle and ChildHandle was performed.
|
||||
The result of the repair operation can bet
|
||||
determined by calling GetHealthStatus().
|
||||
@retval EFI_UNSUPPORTED The driver specified by This is not currently
|
||||
managing the controller specified by ControllerHandle
|
||||
@retval EFI_UNSUPPORTED The driver specified by This is not currently
|
||||
managing the controller specified by ControllerHandle
|
||||
and ChildHandle.
|
||||
@retval EFI_OUT_OF_RESOURCES There are not enough resources to perform the
|
||||
@retval EFI_OUT_OF_RESOURCES There are not enough resources to perform the
|
||||
repair operation.
|
||||
|
||||
*/
|
||||
@@ -228,10 +228,10 @@ EFI_STATUS
|
||||
|
||||
///
|
||||
/// When installed, the Driver Health Protocol produces a collection of services
|
||||
/// that allow the health status for a controller to be retrieved. If a controller
|
||||
/// is not in a usable state, status messages may be reported to the user, repair
|
||||
/// operations can be invoked, and the user may be asked to make software and/or
|
||||
/// hardware configuration changes.
|
||||
/// that allow the health status for a controller to be retrieved. If a controller
|
||||
/// is not in a usable state, status messages may be reported to the user, repair
|
||||
/// operations can be invoked, and the user may be asked to make software and/or
|
||||
/// hardware configuration changes.
|
||||
///
|
||||
struct _EFI_DRIVER_HEALTH_PROTOCOL {
|
||||
EFI_DRIVER_HEALTH_GET_HEALTH_STATUS GetHealthStatus;
|
||||
|
@@ -4,14 +4,14 @@
|
||||
required for EFI drivers that are on PCI and other plug-in
|
||||
cards.
|
||||
|
||||
Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -24,16 +24,16 @@
|
||||
|
||||
///
|
||||
/// 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
|
||||
/// the driver's image handle when the driver's entry point is
|
||||
/// mechanism for an EFI driver to publish the version of the EFI
|
||||
/// specification it conforms to. This protocol must be placed on
|
||||
/// the driver's image handle when the driver's entry point is
|
||||
/// called.
|
||||
///
|
||||
typedef struct _EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL {
|
||||
///
|
||||
/// The size, in bytes, of the entire structure. Future versions of this
|
||||
/// The size, in bytes, of the entire structure. Future versions of this
|
||||
/// specification may grow the size of the structure.
|
||||
///
|
||||
///
|
||||
UINT32 Length;
|
||||
///
|
||||
/// The latest version of the UEFI specification that this driver conforms to.
|
||||
|
@@ -1,11 +1,11 @@
|
||||
/** @file
|
||||
EFI EAP(Extended Authenticaton Protocol) Protocol Definition
|
||||
The EFI EAP Protocol is used to abstract the ability to configure and extend the
|
||||
EAP framework.
|
||||
EAP framework.
|
||||
The definitions in this file are defined in UEFI Specification 2.3.1B, which have
|
||||
not been verified by one implementation yet.
|
||||
|
||||
Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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,7 +14,7 @@
|
||||
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:
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in UEFI Specification 2.2
|
||||
|
||||
**/
|
||||
@@ -31,7 +31,7 @@
|
||||
typedef struct _EFI_EAP_PROTOCOL EFI_EAP_PROTOCOL;
|
||||
|
||||
///
|
||||
/// Type for the identification number assigned to the Port by the
|
||||
/// Type for the identification number assigned to the Port by the
|
||||
/// System in which the Port resides.
|
||||
///
|
||||
typedef VOID * EFI_PORT_HANDLE;
|
||||
@@ -61,7 +61,7 @@ typedef VOID * EFI_PORT_HANDLE;
|
||||
@param[in] RequestSize Packet size in bytes for the most recently received
|
||||
EAP-Request packet.
|
||||
@param[in] Buffer Pointer to the buffer to hold the built packet.
|
||||
@param[in, out] BufferSize Pointer to the buffer size in bytes.
|
||||
@param[in, out] BufferSize Pointer to the buffer size in bytes.
|
||||
On input, it is the buffer size provided by the caller.
|
||||
On output, it is the buffer size in fact needed to contain
|
||||
the packet.
|
||||
@@ -74,32 +74,32 @@ typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_EAP_BUILD_RESPONSE_PACKET)(
|
||||
IN EFI_PORT_HANDLE PortNumber,
|
||||
IN UINT8 *RequestBuffer,
|
||||
IN UINTN RequestSize,
|
||||
IN UINT8 *Buffer,
|
||||
IN UINT8 *RequestBuffer,
|
||||
IN UINTN RequestSize,
|
||||
IN UINT8 *Buffer,
|
||||
IN OUT UINTN *BufferSize
|
||||
);
|
||||
|
||||
/**
|
||||
Set the desired EAP authentication method for the Port.
|
||||
|
||||
The SetDesiredAuthMethod() function sets the desired EAP authentication method indicated
|
||||
The SetDesiredAuthMethod() function sets the desired EAP authentication method indicated
|
||||
by EapAuthType for the Port.
|
||||
|
||||
If EapAuthType is an invalid EAP authentication type, then EFI_INVALID_PARAMETER is
|
||||
|
||||
If EapAuthType is an invalid EAP authentication type, then EFI_INVALID_PARAMETER is
|
||||
returned.
|
||||
If the EAP authentication method of EapAuthType is unsupported by the Ports, then it will
|
||||
return EFI_UNSUPPORTED.
|
||||
The cryptographic strength of EFI_EAP_TYPE_TLS shall be at least of hash strength
|
||||
The cryptographic strength of EFI_EAP_TYPE_TLS shall be at least of hash strength
|
||||
SHA-256 and RSA key length of at least 2048 bits.
|
||||
|
||||
@param[in] This A pointer to the EFI_EAP_PROTOCOL instance that indicates
|
||||
|
||||
@param[in] This A pointer to the EFI_EAP_PROTOCOL instance that indicates
|
||||
the calling context.
|
||||
@param[in] EapAuthType The type of the EAP authentication method to register. It should
|
||||
@param[in] EapAuthType The type of the EAP authentication method to register. It should
|
||||
be the type value defined by RFC. See RFC 2284 for details.
|
||||
@param[in] Handler The handler of the EAP authentication method to register.
|
||||
|
||||
@retval EFI_SUCCESS The EAP authentication method of EapAuthType is
|
||||
@retval EFI_SUCCESS The EAP authentication method of EapAuthType is
|
||||
registered successfully.
|
||||
@retval EFI_INVALID_PARAMETER EapAuthType is an invalid EAP authentication type.
|
||||
@retval EFI_UNSUPPORTED The EAP authentication method of EapAuthType is
|
||||
@@ -109,28 +109,28 @@ EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_EAP_SET_DESIRED_AUTHENTICATION_METHOD)(
|
||||
IN EFI_EAP_PROTOCOL *This,
|
||||
IN EFI_EAP_PROTOCOL *This,
|
||||
IN UINT8 EapAuthType
|
||||
);
|
||||
|
||||
/**
|
||||
Register an EAP authentication method.
|
||||
Register an EAP authentication method.
|
||||
|
||||
The RegisterAuthMethod() function registers the user provided EAP authentication method,
|
||||
the type of which is EapAuthType and the handler of which is Handler.
|
||||
|
||||
If EapAuthType is an invalid EAP authentication type, then EFI_INVALID_PARAMETER is
|
||||
The RegisterAuthMethod() function registers the user provided EAP authentication method,
|
||||
the type of which is EapAuthType and the handler of which is Handler.
|
||||
|
||||
If EapAuthType is an invalid EAP authentication type, then EFI_INVALID_PARAMETER is
|
||||
returned.
|
||||
If there is not enough system memory to perform the registration, then
|
||||
If there is not enough system memory to perform the registration, then
|
||||
EFI_OUT_OF_RESOURCES is returned.
|
||||
|
||||
@param[in] This A pointer to the EFI_EAP_PROTOCOL instance that indicates
|
||||
@param[in] This A pointer to the EFI_EAP_PROTOCOL instance that indicates
|
||||
the calling context.
|
||||
@param[in] EapAuthType The type of the EAP authentication method to register. It should
|
||||
@param[in] EapAuthType The type of the EAP authentication method to register. It should
|
||||
be the type value defined by RFC. See RFC 2284 for details.
|
||||
@param[in] Handler The handler of the EAP authentication method to register.
|
||||
|
||||
@retval EFI_SUCCESS The EAP authentication method of EapAuthType is
|
||||
@retval EFI_SUCCESS The EAP authentication method of EapAuthType is
|
||||
registered successfully.
|
||||
@retval EFI_INVALID_PARAMETER EapAuthType is an invalid EAP authentication type.
|
||||
@retval EFI_OUT_OF_RESOURCES There is not enough system memory to perform the registration.
|
||||
@@ -139,17 +139,17 @@ EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_EAP_REGISTER_AUTHENTICATION_METHOD)(
|
||||
IN EFI_EAP_PROTOCOL *This,
|
||||
IN UINT8 EapAuthType,
|
||||
IN EFI_EAP_PROTOCOL *This,
|
||||
IN UINT8 EapAuthType,
|
||||
IN EFI_EAP_BUILD_RESPONSE_PACKET Handler
|
||||
);
|
||||
|
||||
///
|
||||
/// EFI_EAP_PROTOCOL
|
||||
/// is used to configure the desired EAP authentication method for the EAP
|
||||
/// EFI_EAP_PROTOCOL
|
||||
/// is used to configure the desired EAP authentication method for the EAP
|
||||
/// framework and extend the EAP framework by registering new EAP authentication
|
||||
/// method on a Port. The EAP framework is built on a per-Port basis. Herein, a
|
||||
/// Port means a NIC. For the details of EAP protocol, please refer to RFC 2284.
|
||||
/// Port means a NIC. For the details of EAP protocol, please refer to RFC 2284.
|
||||
///
|
||||
struct _EFI_EAP_PROTOCOL {
|
||||
EFI_EAP_SET_DESIRED_AUTHENTICATION_METHOD SetDesiredAuthMethod;
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
This file defines the EFI EAP Configuration protocol.
|
||||
|
||||
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
@@ -156,4 +156,4 @@ struct _EFI_EAP_CONFIGURATION_PROTOCOL {
|
||||
|
||||
extern EFI_GUID gEfiEapConfigurationProtocolGuid;
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
@@ -1,12 +1,12 @@
|
||||
/** @file
|
||||
EFI EAP Management Protocol Definition
|
||||
The EFI EAP Management Protocol is designed to provide ease of management and
|
||||
ease of test for EAPOL state machine. It is intended for the supplicant side.
|
||||
It conforms to IEEE 802.1x specification.
|
||||
ease of test for EAPOL state machine. It is intended for the supplicant side.
|
||||
It conforms to IEEE 802.1x specification.
|
||||
The definitions in this file are defined in UEFI Specification 2.2, which have
|
||||
not been verified by one implementation yet.
|
||||
|
||||
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
@@ -15,7 +15,7 @@
|
||||
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:
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in UEFI Specification 2.2
|
||||
|
||||
**/
|
||||
@@ -43,22 +43,22 @@ typedef struct _EFI_EAP_MANAGEMENT_PROTOCOL EFI_EAP_MANAGEMENT_PROTOCOL;
|
||||
///
|
||||
/// EFI_EAPOL_PORT_INFO
|
||||
///
|
||||
typedef struct _EFI_EAPOL_PORT_INFO {
|
||||
///
|
||||
/// The identification number assigned to the Port by the System in
|
||||
typedef struct _EFI_EAPOL_PORT_INFO {
|
||||
///
|
||||
/// The identification number assigned to the Port by the System in
|
||||
/// which the Port resides.
|
||||
///
|
||||
///
|
||||
EFI_PORT_HANDLE PortNumber;
|
||||
///
|
||||
/// The protocol version number of the EAPOL implementation
|
||||
/// supported by the Port.
|
||||
///
|
||||
///
|
||||
/// The protocol version number of the EAPOL implementation
|
||||
/// supported by the Port.
|
||||
///
|
||||
UINT8 ProtocolVersion;
|
||||
///
|
||||
/// The capabilities of the PAE associated with the Port. This field
|
||||
/// indicates whether Authenticator functionality, Supplicant
|
||||
///
|
||||
/// The capabilities of the PAE associated with the Port. This field
|
||||
/// indicates whether Authenticator functionality, Supplicant
|
||||
/// functionality, both, or neither, is supported by the Port's PAE.
|
||||
///
|
||||
///
|
||||
UINT8 PaeCapabilities;
|
||||
} EFI_EAPOL_PORT_INFO;
|
||||
|
||||
@@ -77,7 +77,7 @@ typedef enum _EFI_EAPOL_SUPPLICANT_PAE_STATE {
|
||||
} EFI_EAPOL_SUPPLICANT_PAE_STATE;
|
||||
|
||||
///
|
||||
/// Definitions for ValidFieldMask
|
||||
/// Definitions for ValidFieldMask
|
||||
///
|
||||
///@{
|
||||
#define AUTH_PERIOD_FIELD_VALID 0x01
|
||||
@@ -90,27 +90,27 @@ typedef enum _EFI_EAPOL_SUPPLICANT_PAE_STATE {
|
||||
/// EFI_EAPOL_SUPPLICANT_PAE_CONFIGURATION
|
||||
///
|
||||
typedef struct _EFI_EAPOL_SUPPLICANT_PAE_CONFIGURATION {
|
||||
///
|
||||
///
|
||||
/// Indicates which of the following fields are valid.
|
||||
///
|
||||
UINT8 ValidFieldMask;
|
||||
///
|
||||
UINT8 ValidFieldMask;
|
||||
///
|
||||
/// The initial value for the authWhile timer. Its default value is 30s.
|
||||
///
|
||||
UINTN AuthPeriod;
|
||||
UINTN AuthPeriod;
|
||||
///
|
||||
/// The initial value for the heldWhile timer. Its default value is 60s.
|
||||
/// The initial value for the heldWhile timer. Its default value is 60s.
|
||||
///
|
||||
UINTN HeldPeriod;
|
||||
UINTN HeldPeriod;
|
||||
///
|
||||
/// The initial value for the startWhen timer. Its default value is 30s.
|
||||
/// The initial value for the startWhen timer. Its default value is 30s.
|
||||
///
|
||||
UINTN StartPeriod;
|
||||
///
|
||||
/// The maximum number of successive EAPOL-Start messages will
|
||||
/// be sent before the Supplicant assumes that there is no
|
||||
UINTN StartPeriod;
|
||||
///
|
||||
/// The maximum number of successive EAPOL-Start messages will
|
||||
/// be sent before the Supplicant assumes that there is no
|
||||
/// Authenticator present. Its default value is 3.
|
||||
///
|
||||
///
|
||||
UINTN MaxStart;
|
||||
} EFI_EAPOL_SUPPLICANT_PAE_CONFIGURATION;
|
||||
|
||||
@@ -120,17 +120,17 @@ typedef struct _EFI_EAPOL_SUPPLICANT_PAE_CONFIGURATION {
|
||||
typedef struct _EFI_EAPOL_SUPPLICANT_PAE_STATISTICS {
|
||||
///
|
||||
/// The number of EAPOL frames of any type that have been received by this Supplican.
|
||||
///
|
||||
///
|
||||
UINTN EapolFramesReceived;
|
||||
///
|
||||
/// The number of EAPOL frames of any type that have been transmitted by this Supplicant.
|
||||
/// The number of EAPOL frames of any type that have been transmitted by this Supplicant.
|
||||
///
|
||||
UINTN EapolFramesTransmitted;
|
||||
///
|
||||
/// The number of EAPOL Start frames that have been transmitted by this Supplicant.
|
||||
///
|
||||
///
|
||||
/// The number of EAPOL Start frames that have been transmitted by this Supplicant.
|
||||
///
|
||||
UINTN EapolStartFramesTransmitted;
|
||||
///
|
||||
///
|
||||
/// The number of EAPOL Logoff frames that have been transmitted by this Supplicant.
|
||||
///
|
||||
UINTN EapolLogoffFramesTransmitted;
|
||||
@@ -138,48 +138,48 @@ typedef struct _EFI_EAPOL_SUPPLICANT_PAE_STATISTICS {
|
||||
/// The number of EAP Resp/Id frames that have been transmitted by this Supplicant.
|
||||
///
|
||||
UINTN EapRespIdFramesTransmitted;
|
||||
///
|
||||
/// The number of valid EAP Response frames (other than Resp/Id frames) that have been
|
||||
///
|
||||
/// The number of valid EAP Response frames (other than Resp/Id frames) that have been
|
||||
/// transmitted by this Supplicant.
|
||||
///
|
||||
UINTN EapResponseFramesTransmitted;
|
||||
///
|
||||
///
|
||||
/// The number of EAP Req/Id frames that have been received by this Supplicant.
|
||||
///
|
||||
///
|
||||
UINTN EapReqIdFramesReceived;
|
||||
///
|
||||
/// The number of EAP Request frames (other than Rq/Id frames) that have been received
|
||||
/// The number of EAP Request frames (other than Rq/Id frames) that have been received
|
||||
/// by this Supplicant.
|
||||
///
|
||||
UINTN EapRequestFramesReceived;
|
||||
///
|
||||
/// The number of EAPOL frames that have been received by this Supplicant in which the
|
||||
/// The number of EAPOL frames that have been received by this Supplicant in which the
|
||||
/// frame type is not recognized.
|
||||
///
|
||||
UINTN InvalidEapolFramesReceived;
|
||||
///
|
||||
/// The number of EAPOL frames that have been received by this Supplicant in which the
|
||||
///
|
||||
/// The number of EAPOL frames that have been received by this Supplicant in which the
|
||||
/// Packet Body Length field (7.5.5) is invalid.
|
||||
///
|
||||
///
|
||||
UINTN EapLengthErrorFramesReceived;
|
||||
///
|
||||
///
|
||||
/// The protocol version number carried in the most recently received EAPOL frame.
|
||||
///
|
||||
///
|
||||
UINTN LastEapolFrameVersion;
|
||||
///
|
||||
///
|
||||
/// The source MAC address carried in the most recently received EAPOL frame.
|
||||
///
|
||||
///
|
||||
UINTN LastEapolFrameSource;
|
||||
} EFI_EAPOL_SUPPLICANT_PAE_STATISTICS;
|
||||
|
||||
/**
|
||||
Read the system configuration information associated with the Port.
|
||||
Read the system configuration information associated with the Port.
|
||||
|
||||
The GetSystemConfiguration() function reads the system configuration
|
||||
information associated with the Port, including the value of the
|
||||
information associated with the Port, including the value of the
|
||||
SystemAuthControl parameter of the System is returned in SystemAuthControl
|
||||
and the Port's information is returned in the buffer pointed to by PortInfo.
|
||||
The Port's information is optional.
|
||||
The Port's information is optional.
|
||||
If PortInfo is NULL, then reading the Port's information is ignored.
|
||||
|
||||
If SystemAuthControl is NULL, then EFI_INVALID_PARAMETER is returned.
|
||||
@@ -187,7 +187,7 @@ typedef struct _EFI_EAPOL_SUPPLICANT_PAE_STATISTICS {
|
||||
@param[in] This A pointer to the EFI_EAP_MANAGEMENT_PROTOCOL
|
||||
instance that indicates the calling context.
|
||||
@param[out] SystemAuthControl Returns the value of the SystemAuthControl
|
||||
parameter of the System.
|
||||
parameter of the System.
|
||||
TRUE means Enabled. FALSE means Disabled.
|
||||
@param[out] PortInfo Returns EFI_EAPOL_PORT_INFO structure to describe
|
||||
the Port's information. This parameter can be NULL
|
||||
@@ -202,21 +202,21 @@ typedef struct _EFI_EAPOL_SUPPLICANT_PAE_STATISTICS {
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_EAP_GET_SYSTEM_CONFIGURATION)(
|
||||
IN EFI_EAP_MANAGEMENT_PROTOCOL *This,
|
||||
OUT BOOLEAN *SystemAuthControl,
|
||||
IN EFI_EAP_MANAGEMENT_PROTOCOL *This,
|
||||
OUT BOOLEAN *SystemAuthControl,
|
||||
OUT EFI_EAPOL_PORT_INFO *PortInfo OPTIONAL
|
||||
);
|
||||
|
||||
/**
|
||||
Set the system configuration information associated with the Port.
|
||||
Set the system configuration information associated with the Port.
|
||||
|
||||
The SetSystemConfiguration() function sets the value of the SystemAuthControl
|
||||
The SetSystemConfiguration() function sets the value of the SystemAuthControl
|
||||
parameter of the System to SystemAuthControl.
|
||||
|
||||
@param[in] This A pointer to the EFI_EAP_MANAGEMENT_PROTOCOL
|
||||
instance that indicates the calling context.
|
||||
@param[in] SystemAuthControl The desired value of the SystemAuthControl
|
||||
parameter of the System.
|
||||
@param[in] SystemAuthControl The desired value of the SystemAuthControl
|
||||
parameter of the System.
|
||||
TRUE means Enabled. FALSE means Disabled.
|
||||
|
||||
@retval EFI_SUCCESS The system configuration information of the
|
||||
@@ -226,7 +226,7 @@ EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_EAP_SET_SYSTEM_CONFIGURATION)(
|
||||
IN EFI_EAP_MANAGEMENT_PROTOCOL *This,
|
||||
IN EFI_EAP_MANAGEMENT_PROTOCOL *This,
|
||||
IN BOOLEAN SystemAuthControl
|
||||
);
|
||||
|
||||
@@ -266,7 +266,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Notify the EAPOL state machines for the Port that the user of the System has
|
||||
Notify the EAPOL state machines for the Port that the user of the System has
|
||||
logged off.
|
||||
|
||||
The UserLogoff() function notifies the EAPOL state machines for the Port.
|
||||
@@ -290,8 +290,8 @@ EFI_STATUS
|
||||
The GetSupplicantStatus() function reads the status of the Supplicant PAE state
|
||||
machine for the Port, including the current state CurrentState and the configuration
|
||||
of the operational parameters Configuration. The configuration of the operational
|
||||
parameters is optional. If Configuration is NULL, then reading the configuration
|
||||
is ignored. The operational parameters in Configuration to be read can also be
|
||||
parameters is optional. If Configuration is NULL, then reading the configuration
|
||||
is ignored. The operational parameters in Configuration to be read can also be
|
||||
specified by Configuration.ValidFieldMask.
|
||||
|
||||
If CurrentState is NULL, then EFI_INVALID_PARAMETER is returned.
|
||||
@@ -303,11 +303,11 @@ EFI_STATUS
|
||||
@param[in, out] Configuration Returns the configuration of the operational
|
||||
parameters of the Supplicant PAE state machine
|
||||
for the Port as required. This parameter can be
|
||||
NULL to ignore reading the configuration.
|
||||
On input, Configuration.ValidFieldMask specifies the
|
||||
NULL to ignore reading the configuration.
|
||||
On input, Configuration.ValidFieldMask specifies the
|
||||
operational parameters to be read.
|
||||
On output, Configuration returns the configuration
|
||||
of the required operational parameters.
|
||||
of the required operational parameters.
|
||||
|
||||
@retval EFI_SUCCESS The configuration of the operational parameter
|
||||
of the Supplicant PAE state machine for the Port
|
||||
@@ -318,16 +318,16 @@ EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_EAP_GET_SUPPLICANT_STATUS)(
|
||||
IN EFI_EAP_MANAGEMENT_PROTOCOL *This,
|
||||
OUT EFI_EAPOL_SUPPLICANT_PAE_STATE *CurrentState,
|
||||
IN EFI_EAP_MANAGEMENT_PROTOCOL *This,
|
||||
OUT EFI_EAPOL_SUPPLICANT_PAE_STATE *CurrentState,
|
||||
IN OUT EFI_EAPOL_SUPPLICANT_PAE_CONFIGURATION *Configuration OPTIONAL
|
||||
);
|
||||
|
||||
/**
|
||||
Set the configuration of the operational parameter of the Supplicant PAE
|
||||
Set the configuration of the operational parameter of the Supplicant PAE
|
||||
state machine for the Port.
|
||||
|
||||
The SetSupplicantConfiguration() function sets the configuration of the
|
||||
The SetSupplicantConfiguration() function sets the configuration of the
|
||||
operational Parameter of the Supplicant PAE state machine for the Port to
|
||||
Configuration. The operational parameters in Configuration to be set can be
|
||||
specified by Configuration.ValidFieldMask.
|
||||
@@ -336,7 +336,7 @@ EFI_STATUS
|
||||
|
||||
@param[in] This A pointer to the EFI_EAP_MANAGEMENT_PROTOCOL
|
||||
instance that indicates the calling context.
|
||||
@param[in] Configuration The desired configuration of the operational
|
||||
@param[in] Configuration The desired configuration of the operational
|
||||
parameters of the Supplicant PAE state machine
|
||||
for the Port as required.
|
||||
|
||||
@@ -349,23 +349,23 @@ EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_EAP_SET_SUPPLICANT_CONFIGURATION)(
|
||||
IN EFI_EAP_MANAGEMENT_PROTOCOL *This,
|
||||
IN EFI_EAP_MANAGEMENT_PROTOCOL *This,
|
||||
IN EFI_EAPOL_SUPPLICANT_PAE_CONFIGURATION *Configuration
|
||||
);
|
||||
|
||||
/**
|
||||
Read the statistical information regarding the operation of the Supplicant
|
||||
associated with the Port.
|
||||
associated with the Port.
|
||||
|
||||
The GetSupplicantStatistics() function reads the statistical information
|
||||
The GetSupplicantStatistics() function reads the statistical information
|
||||
Statistics regarding the operation of the Supplicant associated with the Port.
|
||||
|
||||
|
||||
If Statistics is NULL, then EFI_INVALID_PARAMETER is returned.
|
||||
|
||||
@param[in] This A pointer to the EFI_EAP_MANAGEMENT_PROTOCOL
|
||||
instance that indicates the calling context.
|
||||
@param[out] Statistics Returns the statistical information regarding the
|
||||
operation of the Supplicant for the Port.
|
||||
@param[out] Statistics Returns the statistical information regarding the
|
||||
operation of the Supplicant for the Port.
|
||||
|
||||
@retval EFI_SUCCESS The statistical information regarding the operation
|
||||
of the Supplicant for the Port is read successfully.
|
||||
@@ -375,15 +375,15 @@ EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_EAP_GET_SUPPLICANT_STATISTICS)(
|
||||
IN EFI_EAP_MANAGEMENT_PROTOCOL *This,
|
||||
IN EFI_EAP_MANAGEMENT_PROTOCOL *This,
|
||||
OUT EFI_EAPOL_SUPPLICANT_PAE_STATISTICS *Statistics
|
||||
);
|
||||
|
||||
///
|
||||
/// EFI_EAP_MANAGEMENT_PROTOCOL
|
||||
/// EFI_EAP_MANAGEMENT_PROTOCOL
|
||||
/// is used to control, configure and monitor EAPOL state machine on
|
||||
/// a Port. EAPOL state machine is built on a per-Port basis. Herein,
|
||||
/// a Port means a NIC. For the details of EAPOL, please refer to
|
||||
/// a Port means a NIC. For the details of EAPOL, please refer to
|
||||
/// IEEE 802.1x specification.
|
||||
///
|
||||
struct _EFI_EAP_MANAGEMENT_PROTOCOL {
|
||||
|
@@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
Describes the protocol interface to the EBC interpreter.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -193,7 +193,7 @@ typedef struct _EFI_EBC_PROTOCOL EFI_EBC_PROTOCOL;
|
||||
|
||||
/**
|
||||
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
|
||||
@@ -229,7 +229,7 @@ EFI_STATUS
|
||||
@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
|
||||
@retval EFI_INVALID_PARAMETER Image handle is not recognized as belonging
|
||||
to an EBC image that has been executed.
|
||||
**/
|
||||
typedef
|
||||
@@ -240,7 +240,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
This is the prototype for the Flush callback routine. A pointer to a routine
|
||||
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 The beginning physical address to flush from the processor's instruction cache.
|
||||
@@ -257,7 +257,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Registers a callback function that the EBC interpreter calls to flush
|
||||
Registers a callback function that the EBC interpreter calls to flush
|
||||
the processor instruction cache following creation of thunks.
|
||||
|
||||
@param This A pointer to the EFI_EBC_PROTOCOL instance.
|
||||
@@ -279,7 +279,7 @@ EFI_STATUS
|
||||
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.
|
||||
|
||||
@param This A pointer to the EFI_EBC_PROTOCOL instance.
|
||||
@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.
|
||||
|
@@ -3,14 +3,14 @@
|
||||
|
||||
Placed on the video output device child handle that is actively displaying output.
|
||||
|
||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
|
@@ -4,14 +4,14 @@
|
||||
This protocol is placed on the video output device child handle. It represents
|
||||
the EDID information being used for the output device represented by the child handle.
|
||||
|
||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -33,7 +33,7 @@ typedef struct {
|
||||
/// minimum of 128 bytes.
|
||||
///
|
||||
UINT32 SizeOfEdid;
|
||||
|
||||
|
||||
///
|
||||
/// A pointer to a read-only array of bytes that contains the EDID
|
||||
/// information for an active video output device. This pointer is
|
||||
@@ -41,7 +41,7 @@ typedef struct {
|
||||
/// device. The minimum size of a valid Edid buffer is 128 bytes.
|
||||
/// EDID information is defined in the E-EDID EEPROM
|
||||
/// specification published by VESA (www.vesa.org).
|
||||
///
|
||||
///
|
||||
UINT8 *Edid;
|
||||
} EFI_EDID_DISCOVERED_PROTOCOL;
|
||||
|
||||
|
@@ -4,14 +4,14 @@
|
||||
Allow platform to provide EDID information to the producer of the Graphics Output
|
||||
protocol.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -55,13 +55,13 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
///
|
||||
/// This protocol is produced by the platform to allow the platform to provide
|
||||
/// This protocol is produced by the platform to allow the platform to provide
|
||||
/// EDID information to the producer of the Graphics Output protocol.
|
||||
///
|
||||
struct _EFI_EDID_OVERRIDE_PROTOCOL {
|
||||
EFI_EDID_OVERRIDE_PROTOCOL_GET_EDID GetEdid;
|
||||
};
|
||||
|
||||
|
||||
extern EFI_GUID gEfiEdidOverrideProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
@@ -1,18 +1,18 @@
|
||||
/** @file
|
||||
Definition of Extended SAL Boot Service Protocol
|
||||
|
||||
The Extended SAL Boot Service Protocol provides a mechanisms for platform specific
|
||||
The Extended SAL Boot Service Protocol provides a mechanisms for platform specific
|
||||
drivers to update the SAL System Table and register Extended SAL Procedures that are
|
||||
callable in physical or virtual mode using the SAL calling convention.
|
||||
|
||||
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -36,7 +36,7 @@ typedef struct _EXTENDED_SAL_BOOT_SERVICE_PROTOCOL EXTENDED_SAL_BOOT_SERVICE_PRO
|
||||
the major revision and the lower byte contains the minor revision.
|
||||
@param OemId A pointer to a Null-terminated ASCII string that contains OEM unique string.
|
||||
The string cannot be longer than 32 bytes in total length
|
||||
@param ProductId A pointer to a Null-terminated ASCII string that uniquely identifies a family of
|
||||
@param ProductId A pointer to a Null-terminated ASCII string that uniquely identifies a family of
|
||||
compatible products. The string cannot be longer than 32 bytes in total length.
|
||||
|
||||
@retval EFI_SUCCESS The SAL System Table header was updated successfully.
|
||||
@@ -63,7 +63,7 @@ EFI_STATUS
|
||||
to the SAL System Table.
|
||||
|
||||
@param This A pointer to the EXTENDED_SAL_BOOT_SERVICE_PROTOCOL instance.
|
||||
@param TableEntry Pointer to a buffer containing a SAL System Table entry that is EntrySize bytes
|
||||
@param TableEntry Pointer to a buffer containing a SAL System Table entry that is EntrySize bytes
|
||||
in length. The first byte of the TableEntry describes the type of entry.
|
||||
@param EntrySize The size, in bytes, of TableEntry.
|
||||
|
||||
@@ -97,7 +97,7 @@ EFI_STATUS
|
||||
@param Arg8 Eighth argument to the Extended SAL procedure.
|
||||
@param VirtualMode TRUE if the Extended SAL Procedure is being invoked in virtual mode.
|
||||
FALSE if the Extended SAL Procedure is being invoked in physical mode.
|
||||
@param ModuleGlobal A pointer to the global context associated with this Extended SAL Procedure.
|
||||
@param ModuleGlobal A pointer to the global context associated with this Extended SAL Procedure.
|
||||
|
||||
@return The result returned from the specified Extended SAL Procedure
|
||||
|
||||
@@ -115,7 +115,7 @@ SAL_RETURN_REGS
|
||||
IN UINT64 Arg8,
|
||||
IN BOOLEAN VirtualMode,
|
||||
IN VOID *ModuleGlobal OPTIONAL
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
Registers an Extended SAL Procedure.
|
||||
@@ -124,16 +124,16 @@ SAL_RETURN_REGS
|
||||
ClassGuidHi, and FunctionId is added to the set of available Extended SAL Procedures.
|
||||
|
||||
@param This A pointer to the EXTENDED_SAL_BOOT_SERVICE_PROTOCOL instance.
|
||||
@param ClassGuidLo The lower 64-bits of the class GUID for the Extended SAL Procedure being added.
|
||||
@param ClassGuidLo The lower 64-bits of the class GUID for the Extended SAL Procedure being added.
|
||||
Each class GUID contains one or more functions specified by a Function ID.
|
||||
@param ClassGuidHi The upper 64-bits of the class GUID for the Extended SAL Procedure being added.
|
||||
@param ClassGuidHi The upper 64-bits of the class GUID for the Extended SAL Procedure being added.
|
||||
Each class GUID contains one or more functions specified by a Function ID.
|
||||
@param FunctionId The Function ID for the Extended SAL Procedure that is being added. This Function
|
||||
ID is a member of the Extended SAL Procedure class specified by ClassGuidLo
|
||||
@param FunctionId The Function ID for the Extended SAL Procedure that is being added. This Function
|
||||
ID is a member of the Extended SAL Procedure class specified by ClassGuidLo
|
||||
and ClassGuidHi.
|
||||
@param InternalSalProc A pointer to the Extended SAL Procedure being added.
|
||||
@param PhysicalModuleGlobal Pointer to a module global structure. This is a physical mode pointer.
|
||||
This pointer is passed to the Extended SAL Procedure specified by ClassGuidLo,
|
||||
This pointer is passed to the Extended SAL Procedure specified by ClassGuidLo,
|
||||
ClassGuidHi, FunctionId, and InternalSalProc. If the system is in physical mode,
|
||||
then this pointer is passed unmodified to InternalSalProc. If the system is in
|
||||
virtual mode, then the virtual address associated with this pointer is passed to
|
||||
@@ -157,9 +157,9 @@ EFI_STATUS
|
||||
/**
|
||||
Calls a previously registered Extended SAL Procedure.
|
||||
|
||||
This function calls the Extended SAL Procedure specified by ClassGuidLo, ClassGuidHi,
|
||||
and FunctionId. The set of previously registered Extended SAL Procedures is searched for a
|
||||
matching ClassGuidLo, ClassGuidHi, and FunctionId. If a match is not found, then
|
||||
This function calls the Extended SAL Procedure specified by ClassGuidLo, ClassGuidHi,
|
||||
and FunctionId. The set of previously registered Extended SAL Procedures is searched for a
|
||||
matching ClassGuidLo, ClassGuidHi, and FunctionId. If a match is not found, then
|
||||
EFI_SAL_NOT_IMPLEMENTED is returned.
|
||||
|
||||
@param ClassGuidLo The lower 64-bits of the class GUID for the Extended SAL Procedure
|
||||
@@ -175,9 +175,9 @@ EFI_STATUS
|
||||
@param Arg7 Seventh argument to the Extended SAL procedure.
|
||||
@param Arg8 Eighth argument to the Extended SAL procedure.
|
||||
|
||||
@retval EFI_SAL_NOT_IMPLEMENTED The Extended SAL Procedure specified by ClassGuidLo,
|
||||
@retval EFI_SAL_NOT_IMPLEMENTED The Extended SAL Procedure specified by ClassGuidLo,
|
||||
ClassGuidHi, and FunctionId has not been registered.
|
||||
@retval EFI_SAL_VIRTUAL_ADDRESS_ERROR This function was called in virtual mode before virtual mappings
|
||||
@retval EFI_SAL_VIRTUAL_ADDRESS_ERROR This function was called in virtual mode before virtual mappings
|
||||
for the specified Extended SAL Procedure are available.
|
||||
@retval Other The result returned from the specified Extended SAL Procedure
|
||||
|
||||
@@ -198,14 +198,14 @@ SAL_RETURN_REGS
|
||||
);
|
||||
|
||||
///
|
||||
/// The EXTENDED_SAL_BOOT_SERVICE_PROTOCOL provides a mechanisms for platform specific
|
||||
/// The EXTENDED_SAL_BOOT_SERVICE_PROTOCOL provides a mechanisms for platform specific
|
||||
/// drivers to update the SAL System Table and register Extended SAL Procedures that are
|
||||
/// callable in physical or virtual mode using the SAL calling convention.
|
||||
///
|
||||
struct _EXTENDED_SAL_BOOT_SERVICE_PROTOCOL {
|
||||
EXTENDED_SAL_ADD_SST_INFO AddSalSystemTableInfo;
|
||||
EXTENDED_SAL_ADD_SST_ENTRY AddSalSystemTableEntry;
|
||||
EXTENDED_SAL_REGISTER_INTERNAL_PROC RegisterExtendedSalProc;
|
||||
EXTENDED_SAL_REGISTER_INTERNAL_PROC RegisterExtendedSalProc;
|
||||
EXTENDED_SAL_PROC ExtendedSalProc;
|
||||
};
|
||||
|
||||
|
@@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
The standard set of Extended SAL service classes.
|
||||
|
||||
Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -51,7 +51,7 @@ typedef enum {
|
||||
///
|
||||
///@{
|
||||
#define EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID_LO 0x4d02efdb7e97a470
|
||||
#define EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID_HI 0x96a27bd29061ce8f
|
||||
#define EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID_HI 0x96a27bd29061ce8f
|
||||
#define EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID \
|
||||
{ 0x7e97a470, 0xefdb, 0x4d02, {0x8f, 0xce, 0x61, 0x90, 0xd2, 0x7b, 0xa2, 0x96 } }
|
||||
|
||||
@@ -71,7 +71,7 @@ typedef enum {
|
||||
/// Extended SAL Variable Services Class
|
||||
///
|
||||
///@{
|
||||
#define EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID_LO 0x4370c6414ecb6c53
|
||||
#define EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID_LO 0x4370c6414ecb6c53
|
||||
#define EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID_HI 0x78836e490e3bb28c
|
||||
#define EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID \
|
||||
{ 0x4ecb6c53, 0xc641, 0x4370, {0x8c, 0xb2, 0x3b, 0x0e, 0x49, 0x6e, 0x83, 0x78 } }
|
||||
@@ -165,7 +165,7 @@ typedef enum {
|
||||
CurrentProcInfoFunctionId,
|
||||
NumProcessorsFunctionId,
|
||||
SetMinStateFunctionId,
|
||||
GetMinStateFunctionId
|
||||
GetMinStateFunctionId
|
||||
} EFI_EXTENDED_SAL_MP_SERVICES_FUNC_ID;
|
||||
///@}
|
||||
|
||||
@@ -204,7 +204,7 @@ typedef enum {
|
||||
EsalMcGetMcParamsFunctionId,
|
||||
EsalGetMcCheckinFlagsFunctionId,
|
||||
EsalGetPlatformBaseFreqFunctionId,
|
||||
EsalPhysicalIdInfoFunctionId,
|
||||
EsalPhysicalIdInfoFunctionId,
|
||||
EsalRegisterPhysicalAddrFunctionId
|
||||
} EFI_EXTENDED_SAL_BASE_SERVICES_FUNC_ID;
|
||||
///@}
|
||||
|
@@ -1,18 +1,18 @@
|
||||
/** @file
|
||||
The Firmware Volume Protocol provides file-level access to the firmware volume.
|
||||
Each firmware volume driver must produce an instance of the
|
||||
The Firmware Volume Protocol provides file-level access to the firmware volume.
|
||||
Each firmware volume driver must produce an instance of the
|
||||
Firmware Volume Protocol if the firmware volume is to be visible to
|
||||
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 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
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: PI
|
||||
Version 1.00.
|
||||
@@ -98,7 +98,7 @@ typedef UINT64 EFI_FV_ATTRIBUTES;
|
||||
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
|
||||
returned.
|
||||
@@ -118,7 +118,7 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Modifies the current settings of the firmware volume according to the input parameter.
|
||||
|
||||
|
||||
The SetVolumeAttributes() function is used to set configurable
|
||||
firmware volume attributes. Only EFI_FV_READ_STATUS,
|
||||
EFI_FV_WRITE_STATUS, and EFI_FV_LOCK_STATUS may be modified, and
|
||||
@@ -136,7 +136,7 @@ EFI_STATUS
|
||||
TPL_NOTIFY is undefined.
|
||||
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.
|
||||
|
||||
|
||||
@param FvAttributes On input, FvAttributes is a pointer to
|
||||
an EFI_FV_ATTRIBUTES containing the
|
||||
desired firmware volume settings. On
|
||||
@@ -145,7 +145,7 @@ EFI_STATUS
|
||||
unsuccessful return, FvAttributes is not
|
||||
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
|
||||
@@ -254,13 +254,13 @@ EFI_STATUS
|
||||
undefined.
|
||||
|
||||
@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 Buffer Pointer to a pointer to a buffer in which the
|
||||
file contents are returned, not including the
|
||||
file header.
|
||||
@@ -268,19 +268,19 @@ EFI_STATUS
|
||||
@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 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_WARN_BUFFER_TOO_SMALL The buffer is too small to
|
||||
contain the requested
|
||||
output. The buffer is
|
||||
@@ -342,56 +342,56 @@ EFI_STATUS
|
||||
undefined.
|
||||
|
||||
@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 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 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 AuthenticationStatus Pointer to a caller-allocated
|
||||
UINT32 in which the authentication
|
||||
status is returned.
|
||||
|
||||
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The call completed successfully.
|
||||
|
||||
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL The caller-allocated
|
||||
buffer is too small to
|
||||
contain the requested
|
||||
output. The buffer is
|
||||
filled and the output is
|
||||
truncated.
|
||||
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES An allocation failure occurred.
|
||||
|
||||
|
||||
@retval EFI_NOT_FOUND The requested file was not found in
|
||||
the firmware volume. EFI_NOT_FOUND The
|
||||
requested section was not found in the
|
||||
specified file.
|
||||
|
||||
|
||||
@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
|
||||
disallow reads. EFI_PROTOCOL_ERROR
|
||||
The requested section was not found,
|
||||
@@ -472,7 +472,7 @@ 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.
|
||||
undefined.
|
||||
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.
|
||||
|
||||
@@ -482,31 +482,31 @@ typedef struct {
|
||||
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_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_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_INVALID_PARAMETER A delete was requested with a
|
||||
multiple file write.
|
||||
|
||||
|
||||
@retval EFI_INVALID_PARAMETER An unsupported WritePolicy was
|
||||
requested.
|
||||
|
||||
@@ -515,10 +515,10 @@ typedef struct {
|
||||
|
||||
@retval EFI_INVALID_PARAMETER A file system specific error
|
||||
has occurred.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
EFI_STATUS
|
||||
(EFIAPI * EFI_FV_WRITE_FILE)(
|
||||
IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,
|
||||
IN UINT32 NumberOfFiles,
|
||||
@@ -528,7 +528,7 @@ EFI_STATUS
|
||||
|
||||
|
||||
/**
|
||||
Retrieves information about the next file in the firmware volume store
|
||||
Retrieves information about the next file in the firmware volume store
|
||||
that matches the search criteria.
|
||||
|
||||
GetNextFile() is the interface that is used to search a firmware
|
||||
@@ -547,7 +547,7 @@ 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.
|
||||
undefined.
|
||||
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.
|
||||
|
||||
@@ -600,7 +600,7 @@ EFI_STATUS
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is configured to
|
||||
disallow reads.
|
||||
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -629,29 +629,29 @@ EFI_STATUS
|
||||
@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 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_UNSUPPORTED The InformationType is not known.
|
||||
|
||||
|
||||
@retval EFI_NO_MEDIA The device has no medium.
|
||||
|
||||
|
||||
@retval EFI_DEVICE_ERROR The device reported an error.
|
||||
|
||||
|
||||
@retval EFI_VOLUME_CORRUPTED The file system structures are
|
||||
corrupted.
|
||||
|
||||
|
||||
@retval EFI_BUFFER_TOO_SMALL The BufferSize is too small to
|
||||
read the current directory
|
||||
entry. BufferSize has been
|
||||
@@ -740,14 +740,14 @@ struct _EFI_FIRMWARE_VOLUME2_PROTOCOL {
|
||||
EFI_FV_READ_SECTION ReadSection;
|
||||
EFI_FV_WRITE_FILE WriteFile;
|
||||
EFI_FV_GET_NEXT_FILE GetNextFile;
|
||||
|
||||
|
||||
///
|
||||
/// Data field that indicates the size in bytes
|
||||
/// of the Key input buffer for the
|
||||
/// GetNextFile() API.
|
||||
/// GetNextFile() API.
|
||||
///
|
||||
UINT32 KeySize;
|
||||
|
||||
|
||||
///
|
||||
/// Handle of the parent firmware volume.
|
||||
///
|
||||
|
@@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
This file provides control over block-oriented firmware devices.
|
||||
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
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: PI
|
||||
Version 1.0 and 1.2.
|
||||
@@ -21,7 +21,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
// EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL is defined in PI 1.0 spec and its GUID value
|
||||
// is later updated to be the same as that of EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL
|
||||
// defined in PI 1.2 spec.
|
||||
// defined in PI 1.2 spec.
|
||||
//
|
||||
#define EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL_GUID \
|
||||
{ 0x8f644fa9, 0xe850, 0x4db1, {0x9c, 0xe2, 0xb, 0x44, 0x69, 0x8e, 0x8d, 0xa4 } }
|
||||
@@ -31,7 +31,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
typedef struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL;
|
||||
|
||||
typedef EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL;
|
||||
typedef EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL;
|
||||
|
||||
/**
|
||||
The GetAttributes() function retrieves the attributes and
|
||||
@@ -69,7 +69,7 @@ EFI_STATUS
|
||||
settings of the firmware volume. Type
|
||||
EFI_FVB_ATTRIBUTES_2 is defined in
|
||||
EFI_FIRMWARE_VOLUME_HEADER.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The firmware volume attributes were returned.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The attributes requested are in
|
||||
@@ -92,14 +92,14 @@ EFI_STATUS
|
||||
only for memory-mapped firmware volumes.
|
||||
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_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.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The firmware volume base address was returned.
|
||||
|
||||
|
||||
@retval EFI_UNSUPPORTED The firmware volume is not memory mapped.
|
||||
|
||||
**/
|
||||
@@ -130,9 +130,9 @@ EFI_STATUS
|
||||
blocks in this range have a size of
|
||||
BlockSize.
|
||||
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The firmware volume base address was returned.
|
||||
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The requested LBA is out of range.
|
||||
|
||||
**/
|
||||
@@ -163,7 +163,7 @@ EFI_STATUS
|
||||
aware that a read may be partially completed.
|
||||
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.
|
||||
|
||||
|
||||
@param Lba The starting logical block index
|
||||
from which to read.
|
||||
|
||||
@@ -179,15 +179,15 @@ EFI_STATUS
|
||||
|
||||
@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
|
||||
contains the total number of bytes
|
||||
returned in Buffer.
|
||||
|
||||
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is in the
|
||||
ReadDisabled state.
|
||||
|
||||
|
||||
@retval EFI_DEVICE_ERROR The block device is not
|
||||
functioning correctly and could
|
||||
not be read.
|
||||
@@ -215,7 +215,7 @@ EFI_STATUS
|
||||
unpredictability arises because, for a sticky-write firmware
|
||||
volume, a write may negate a bit in the EFI_FVB_ERASE_POLARITY
|
||||
state but cannot flip it back again. Before calling the
|
||||
Write() function, it is recommended for the caller to first call
|
||||
Write() function, it is recommended for the caller to first call
|
||||
the EraseBlocks() function to erase the specified block to
|
||||
write. A block erase cycle will transition bits from the
|
||||
(NOT)EFI_FVB_ERASE_POLARITY state back to the
|
||||
@@ -234,29 +234,29 @@ EFI_STATUS
|
||||
returns.
|
||||
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.
|
||||
|
||||
|
||||
@param Lba The starting logical block index to write to.
|
||||
|
||||
|
||||
@param Offset Offset into the block at which to begin writing.
|
||||
|
||||
|
||||
@param NumBytes The 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 The pointer to a caller-allocated buffer that
|
||||
contains the source for the write.
|
||||
|
||||
|
||||
@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
|
||||
contains the total number of bytes
|
||||
actually written.
|
||||
|
||||
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is in the
|
||||
WriteDisabled state.
|
||||
|
||||
|
||||
@retval EFI_DEVICE_ERROR The block device is malfunctioning
|
||||
and could not be written.
|
||||
|
||||
@@ -317,7 +317,7 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS The erase request successfully
|
||||
completed.
|
||||
|
||||
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is in the
|
||||
WriteDisabled state.
|
||||
@retval EFI_DEVICE_ERROR The block device is not functioning
|
||||
@@ -326,7 +326,7 @@ EFI_STATUS
|
||||
partially erased.
|
||||
@retval EFI_INVALID_PARAMETER One or more of the LBAs listed
|
||||
in the variable argument list do
|
||||
not exist in the firmware volume.
|
||||
not exist in the firmware volume.
|
||||
|
||||
**/
|
||||
typedef
|
||||
@@ -355,7 +355,7 @@ struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL{
|
||||
EFI_FVB_ERASE_BLOCKS EraseBlocks;
|
||||
///
|
||||
/// The handle of the parent firmware volume.
|
||||
///
|
||||
///
|
||||
EFI_HANDLE ParentHandle;
|
||||
};
|
||||
|
||||
|
@@ -1,17 +1,17 @@
|
||||
/** @file
|
||||
This protocol is defined in UEFI spec.
|
||||
|
||||
The EFI_FORM_BROWSER2_PROTOCOL is the interface to call for drivers to
|
||||
|
||||
The EFI_FORM_BROWSER2_PROTOCOL is the interface to call for drivers to
|
||||
leverage the EFI configuration driver interface.
|
||||
|
||||
Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -29,11 +29,11 @@ typedef struct _EFI_FORM_BROWSER2_PROTOCOL EFI_FORM_BROWSER2_PROTOCOL;
|
||||
|
||||
|
||||
/**
|
||||
|
||||
|
||||
@param LeftColumn The value that designates the text column
|
||||
where the browser window will begin from
|
||||
the left-hand side of the screen
|
||||
|
||||
|
||||
@param RightColumn The value that designates the text
|
||||
column where the browser window will end
|
||||
on the right-hand side of the screen.
|
||||
@@ -44,7 +44,7 @@ typedef struct _EFI_FORM_BROWSER2_PROTOCOL EFI_FORM_BROWSER2_PROTOCOL;
|
||||
|
||||
@param BottomRow The value that designates the text row from the
|
||||
bottom of the screen where the browser
|
||||
window will end.
|
||||
window will end.
|
||||
**/
|
||||
typedef struct {
|
||||
UINTN LeftColumn;
|
||||
@@ -69,14 +69,14 @@ typedef UINTN EFI_BROWSER_ACTION_REQUEST;
|
||||
/**
|
||||
Initialize the browser to display the specified configuration forms.
|
||||
|
||||
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
|
||||
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 Handles A pointer to an array of Handles. This value should correspond
|
||||
@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.
|
||||
|
||||
@param HandleCount The number of Handles specified in Handle.
|
||||
@@ -90,17 +90,17 @@ typedef UINTN EFI_BROWSER_ACTION_REQUEST;
|
||||
displayable page. If this field has a value of 0x0000, then the Forms Browser will
|
||||
render the first enabled form in the form set.
|
||||
|
||||
@param ScreenDimensions Points to recommended form dimensions, including any non-content area, in
|
||||
@param ScreenDimensions Points to recommended form dimensions, including any non-content area, in
|
||||
characters.
|
||||
|
||||
@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_INVALID_PARAMETER One of the parameters has an
|
||||
invalid value.
|
||||
invalid value.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -126,7 +126,7 @@ EFI_STATUS
|
||||
|
||||
@param ResultsDataSize A pointer to the size of the buffer
|
||||
associated with ResultsData. On input, the size in
|
||||
bytes of ResultsData. On output, the size of data
|
||||
bytes of ResultsData. On output, the size of data
|
||||
returned in ResultsData.
|
||||
|
||||
@param ResultsData A string returned from an IFR browser or
|
||||
@@ -148,7 +148,7 @@ EFI_STATUS
|
||||
|
||||
@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
|
||||
results data.
|
||||
@@ -166,7 +166,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
///
|
||||
/// This interface will allow the caller to direct the configuration
|
||||
/// 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.
|
||||
///
|
||||
struct _EFI_FORM_BROWSER2_PROTOCOL {
|
||||
|
@@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
EFI FTPv4 (File Transfer Protocol version 4) Protocol Definition
|
||||
The EFI FTPv4 Protocol is used to locate communication devices that are
|
||||
The EFI FTPv4 Protocol is used to locate communication devices that are
|
||||
supported by an EFI FTPv4 Protocol driver and to create and destroy instances
|
||||
of the EFI FTPv4 Protocol child protocol driver that can use the underlying
|
||||
communication device.
|
||||
The definitions in this file are defined in UEFI Specification 2.3, which have
|
||||
not been verified by one implementation yet.
|
||||
|
||||
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
@@ -16,7 +16,7 @@
|
||||
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:
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in UEFI Specification 2.2
|
||||
|
||||
**/
|
||||
@@ -41,103 +41,103 @@ typedef struct _EFI_FTP4_PROTOCOL EFI_FTP4_PROTOCOL;
|
||||
/// EFI_FTP4_CONNECTION_TOKEN
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// The Event to signal after the connection is established and Status field is updated
|
||||
/// by the EFI FTP v4 Protocol driver. The type of Event must be
|
||||
/// EVENT_NOTIFY_SIGNAL, and its Task Priority Level (TPL) must be lower than or
|
||||
/// equal to TPL_CALLBACK. If it is set to NULL, this function will not return until the
|
||||
///
|
||||
/// The Event to signal after the connection is established and Status field is updated
|
||||
/// by the EFI FTP v4 Protocol driver. The type of Event must be
|
||||
/// EVENT_NOTIFY_SIGNAL, and its Task Priority Level (TPL) must be lower than or
|
||||
/// equal to TPL_CALLBACK. If it is set to NULL, this function will not return until the
|
||||
/// function completes.
|
||||
///
|
||||
EFI_EVENT Event;
|
||||
///
|
||||
EFI_EVENT Event;
|
||||
///
|
||||
/// The variable to receive the result of the completed operation.
|
||||
/// EFI_SUCCESS: The FTP connection is established successfully
|
||||
/// EFI_ACCESS_DENIED: The FTP server denied the access the user's request to access it.
|
||||
/// EFI_CONNECTION_RESET: The connect fails because the connection is reset either by instance
|
||||
/// EFI_ACCESS_DENIED: The FTP server denied the access the user's request to access it.
|
||||
/// EFI_CONNECTION_RESET: The connect fails because the connection is reset either by instance
|
||||
/// itself or communication peer.
|
||||
/// EFI_TIMEOUT: The connection establishment timer expired and no more specific
|
||||
/// EFI_TIMEOUT: The connection establishment timer expired and no more specific
|
||||
/// information is available.
|
||||
/// EFI_NETWORK_UNREACHABLE: The active open fails because an ICMP network unreachable error is
|
||||
/// received.
|
||||
/// EFI_HOST_UNREACHABLE: The active open fails because an ICMP host unreachable error is
|
||||
/// received.
|
||||
/// EFI_PROTOCOL_UNREACHABLE: The active open fails because an ICMP protocol unreachable error is
|
||||
/// EFI_NETWORK_UNREACHABLE: The active open fails because an ICMP network unreachable error is
|
||||
/// received.
|
||||
/// EFI_PORT_UNREACHABLE: The connection establishment timer times out and an ICMP port
|
||||
/// EFI_HOST_UNREACHABLE: The active open fails because an ICMP host unreachable error is
|
||||
/// received.
|
||||
/// EFI_PROTOCOL_UNREACHABLE: The active open fails because an ICMP protocol unreachable error is
|
||||
/// received.
|
||||
/// EFI_PORT_UNREACHABLE: The connection establishment timer times out and an ICMP port
|
||||
/// unreachable error is received.
|
||||
/// EFI_ICMP_ERROR: The connection establishment timer timeout and some other ICMP
|
||||
/// EFI_ICMP_ERROR: The connection establishment timer timeout and some other ICMP
|
||||
/// error is received.
|
||||
/// EFI_DEVICE_ERROR: An unexpected system or network error occurred.
|
||||
///
|
||||
///
|
||||
EFI_STATUS Status;
|
||||
} EFI_FTP4_CONNECTION_TOKEN;
|
||||
|
||||
///
|
||||
/// EFI_FTP4_CONFIG_DATA
|
||||
/// EFI_FTP4_CONFIG_DATA
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// Pointer to a ASCII string that contains user name. The caller is
|
||||
///
|
||||
/// Pointer to a ASCII string that contains user name. The caller is
|
||||
/// responsible for freeing Username after GetModeData() is called.
|
||||
///
|
||||
///
|
||||
UINT8 *Username;
|
||||
///
|
||||
/// Pointer to a ASCII string that contains password. The caller is
|
||||
///
|
||||
/// Pointer to a ASCII string that contains password. The caller is
|
||||
/// responsible for freeing Password after GetModeData() is called.
|
||||
///
|
||||
///
|
||||
UINT8 *Password;
|
||||
///
|
||||
/// Set it to TRUE to initiate an active data connection. Set it to
|
||||
///
|
||||
/// Set it to TRUE to initiate an active data connection. Set it to
|
||||
/// FALSE to initiate a passive data connection.
|
||||
///
|
||||
///
|
||||
BOOLEAN Active;
|
||||
///
|
||||
///
|
||||
/// Boolean value indicating if default network settting used.
|
||||
///
|
||||
///
|
||||
BOOLEAN UseDefaultSetting;
|
||||
///
|
||||
///
|
||||
/// IP address of station if UseDefaultSetting is FALSE.
|
||||
///
|
||||
///
|
||||
EFI_IPv4_ADDRESS StationIp;
|
||||
///
|
||||
///
|
||||
/// Subnet mask of station if UseDefaultSetting is FALSE.
|
||||
///
|
||||
///
|
||||
EFI_IPv4_ADDRESS SubnetMask;
|
||||
///
|
||||
///
|
||||
/// IP address of gateway if UseDefaultSetting is FALSE.
|
||||
///
|
||||
///
|
||||
EFI_IPv4_ADDRESS GatewayIp;
|
||||
///
|
||||
///
|
||||
/// IP address of FTPv4 server.
|
||||
///
|
||||
///
|
||||
EFI_IPv4_ADDRESS ServerIp;
|
||||
///
|
||||
/// FTPv4 server port number of control connection, and the default
|
||||
///
|
||||
/// FTPv4 server port number of control connection, and the default
|
||||
/// value is 21 as convention.
|
||||
///
|
||||
///
|
||||
UINT16 ServerPort;
|
||||
///
|
||||
/// FTPv4 server port number of data connection. If it is zero, use
|
||||
/// (ServerPort - 1) by convention.
|
||||
///
|
||||
///
|
||||
/// FTPv4 server port number of data connection. If it is zero, use
|
||||
/// (ServerPort - 1) by convention.
|
||||
///
|
||||
UINT16 AltDataPort;
|
||||
///
|
||||
/// A byte indicate the representation type. The right 4 bit is used for
|
||||
///
|
||||
/// A byte indicate the representation type. The right 4 bit is used for
|
||||
/// first parameter, the left 4 bit is use for second parameter
|
||||
/// - For the first parameter, 0x0 = image, 0x1 = EBCDIC, 0x2 = ASCII, 0x3 = local
|
||||
/// - For the second parameter, 0x0 = Non-print, 0x1 = Telnet format effectors, 0x2 =
|
||||
/// - For the second parameter, 0x0 = Non-print, 0x1 = Telnet format effectors, 0x2 =
|
||||
/// Carriage Control.
|
||||
/// - If it is a local type, the second parameter is the local byte byte size.
|
||||
/// - If it is a image type, the second parameter is undefined.
|
||||
///
|
||||
///
|
||||
UINT8 RepType;
|
||||
///
|
||||
///
|
||||
/// Defines the file structure in FTP used. 0x00 = file, 0x01 = record, 0x02 = page.
|
||||
///
|
||||
///
|
||||
UINT8 FileStruct;
|
||||
///
|
||||
///
|
||||
/// Defines the transifer mode used in FTP. 0x00 = stream, 0x01 = Block, 0x02 = Compressed.
|
||||
///
|
||||
///
|
||||
UINT8 TransMode;
|
||||
} EFI_FTP4_CONFIG_DATA;
|
||||
|
||||
@@ -149,9 +149,9 @@ typedef struct _EFI_FTP4_COMMAND_TOKEN EFI_FTP4_COMMAND_TOKEN;
|
||||
If it is receiving function that leads to inbound data, the callback function
|
||||
is called when data buffer is full. Then, old data in the data buffer should be
|
||||
flushed and new data is stored from the beginning of data buffer.
|
||||
If it is a transmit function that lead to outbound data and the size of
|
||||
Data in daata buffer has been transmitted, this callback function is called to
|
||||
supply additional data to be transmitted.
|
||||
If it is a transmit function that lead to outbound data and the size of
|
||||
Data in daata buffer has been transmitted, this callback function is called to
|
||||
supply additional data to be transmitted.
|
||||
|
||||
@param[in] This Pointer to the EFI_FTP4_PROTOCOL instance.
|
||||
@param[in] Token Pointer to the token structure to provide the parameters that
|
||||
@@ -160,8 +160,8 @@ typedef struct _EFI_FTP4_COMMAND_TOKEN EFI_FTP4_COMMAND_TOKEN;
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FTP4_DATA_CALLBACK)(
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FTP4_DATA_CALLBACK)(
|
||||
IN EFI_FTP4_PROTOCOL *This,
|
||||
IN EFI_FTP4_COMMAND_TOKEN *Token
|
||||
);
|
||||
@@ -170,57 +170,57 @@ EFI_STATUS
|
||||
/// EFI_FTP4_COMMAND_TOKEN
|
||||
///
|
||||
struct _EFI_FTP4_COMMAND_TOKEN {
|
||||
///
|
||||
/// The Event to signal after request is finished and Status field
|
||||
/// is updated by the EFI FTP v4 Protocol driver. The type of Event
|
||||
/// must be EVT_NOTIFY_SIGNAL, and its Task Priority Level
|
||||
/// (TPL) must be lower than or equal to TPL_CALLBACK. If it is
|
||||
/// set to NULL, related function must wait until the function
|
||||
///
|
||||
/// The Event to signal after request is finished and Status field
|
||||
/// is updated by the EFI FTP v4 Protocol driver. The type of Event
|
||||
/// must be EVT_NOTIFY_SIGNAL, and its Task Priority Level
|
||||
/// (TPL) must be lower than or equal to TPL_CALLBACK. If it is
|
||||
/// set to NULL, related function must wait until the function
|
||||
/// completes.
|
||||
///
|
||||
EFI_EVENT Event;
|
||||
///
|
||||
/// Pointer to a null-terminated ASCII name string.
|
||||
///
|
||||
///
|
||||
EFI_EVENT Event;
|
||||
///
|
||||
/// Pointer to a null-terminated ASCII name string.
|
||||
///
|
||||
UINT8 *Pathname;
|
||||
///
|
||||
///
|
||||
/// The size of data buffer in bytes.
|
||||
///
|
||||
UINT64 DataBufferSize;
|
||||
///
|
||||
/// Pointer to the data buffer. Data downloaded from FTP server
|
||||
///
|
||||
UINT64 DataBufferSize;
|
||||
///
|
||||
/// Pointer to the data buffer. Data downloaded from FTP server
|
||||
/// through connection is downloaded here.
|
||||
///
|
||||
///
|
||||
VOID *DataBuffer;
|
||||
///
|
||||
/// Pointer to a callback function. If it is receiving function that leads
|
||||
/// to inbound data, the callback function is called when databuffer is
|
||||
/// full. Then, old data in the data buffer should be flushed and new
|
||||
/// data is stored from the beginning of data buffer. If it is a transmit
|
||||
/// function that lead to outbound data and DataBufferSize of
|
||||
/// Data in DataBuffer has been transmitted, this callback
|
||||
/// function is called to supply additional data to be transmitted. The
|
||||
/// size of additional data to be transmitted is indicated in
|
||||
/// DataBufferSize, again. If there is no data remained,
|
||||
///
|
||||
/// Pointer to a callback function. If it is receiving function that leads
|
||||
/// to inbound data, the callback function is called when databuffer is
|
||||
/// full. Then, old data in the data buffer should be flushed and new
|
||||
/// data is stored from the beginning of data buffer. If it is a transmit
|
||||
/// function that lead to outbound data and DataBufferSize of
|
||||
/// Data in DataBuffer has been transmitted, this callback
|
||||
/// function is called to supply additional data to be transmitted. The
|
||||
/// size of additional data to be transmitted is indicated in
|
||||
/// DataBufferSize, again. If there is no data remained,
|
||||
/// DataBufferSize should be set to 0.
|
||||
///
|
||||
///
|
||||
EFI_FTP4_DATA_CALLBACK DataCallback;
|
||||
///
|
||||
///
|
||||
/// Pointer to the parameter for DataCallback.
|
||||
///
|
||||
///
|
||||
VOID *Context;
|
||||
///
|
||||
///
|
||||
/// The variable to receive the result of the completed operation.
|
||||
/// EFI_SUCCESS: The FTP command is completed successfully.
|
||||
/// EFI_ACCESS_DENIED: The FTP server denied the access to the requested file.
|
||||
/// EFI_CONNECTION_RESET: The connect fails because the connection is reset either
|
||||
/// by instance itself or communication peer.
|
||||
/// EFI_TIMEOUT: The connection establishment timer expired and no more
|
||||
/// EFI_TIMEOUT: The connection establishment timer expired and no more
|
||||
/// specific information is available.
|
||||
/// EFI_NETWORK_UNREACHABLE: The active open fails because an ICMP network unreachable
|
||||
/// error is received.
|
||||
/// error is received.
|
||||
/// EFI_HOST_UNREACHABLE: The active open fails because an ICMP host unreachable
|
||||
/// error is received.
|
||||
/// error is received.
|
||||
/// EFI_PROTOCOL_UNREACHABLE: The active open fails because an ICMP protocol unreachable
|
||||
/// error is received.
|
||||
/// EFI_PORT_UNREACHABLE: The connection establishment timer times out and an ICMP port
|
||||
@@ -236,14 +236,14 @@ struct _EFI_FTP4_COMMAND_TOKEN {
|
||||
Gets the current operational settings.
|
||||
|
||||
The GetModeData() function reads the current operational settings of this
|
||||
EFI FTPv4 Protocol driver instance. EFI_FTP4_CONFIG_DATA is defined in the
|
||||
EFI FTPv4 Protocol driver instance. EFI_FTP4_CONFIG_DATA is defined in the
|
||||
EFI_FTP4_PROTOCOL.Configure.
|
||||
|
||||
@param[in] This Pointer to the EFI_FTP4_PROTOCOL instance.
|
||||
@param[out] ModeData Pointer to storage for the EFI FTPv4 Protocol driver
|
||||
@param[out] ModeData Pointer to storage for the EFI FTPv4 Protocol driver
|
||||
mode data. The string buffers for Username and Password
|
||||
in EFI_FTP4_CONFIG_DATA are allocated by the function,
|
||||
and the caller should take the responsibility to free the
|
||||
and the caller should take the responsibility to free the
|
||||
buffer later.
|
||||
|
||||
@retval EFI_SUCCESS This function is called successfully.
|
||||
@@ -255,8 +255,8 @@ struct _EFI_FTP4_COMMAND_TOKEN {
|
||||
@retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FTP4_GET_MODE_DATA)(
|
||||
IN EFI_FTP4_PROTOCOL *This,
|
||||
OUT EFI_FTP4_CONFIG_DATA *ModeData
|
||||
@@ -266,7 +266,7 @@ EFI_STATUS
|
||||
Disconnecting a FTP connection gracefully.
|
||||
|
||||
The Connect() function will initiate a connection request to the remote FTP server
|
||||
with the corresponding connection token. If this function returns EFI_SUCCESS, the
|
||||
with the corresponding connection token. If this function returns EFI_SUCCESS, the
|
||||
connection sequence is initiated successfully. If the connection succeeds or faild
|
||||
due to any error, the Token->Event will be signaled and Token->Status will be updated
|
||||
accordingly.
|
||||
@@ -280,7 +280,7 @@ EFI_STATUS
|
||||
- Token is NULL.
|
||||
- Token->Event is NULL.
|
||||
@retval EFI_NOT_STARTED The EFI FTPv4 Protocol driver has not been started.
|
||||
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,
|
||||
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,
|
||||
RARP, etc.) is not finished yet.
|
||||
@retval EFI_OUT_OF_RESOURCES Could not allocate enough resource to finish the operation.
|
||||
@retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
|
||||
@@ -297,7 +297,7 @@ EFI_STATUS
|
||||
Disconnecting a FTP connection gracefully.
|
||||
|
||||
The Close() function will initiate a close request to the remote FTP server with the
|
||||
corresponding connection token. If this function returns EFI_SUCCESS, the control
|
||||
corresponding connection token. If this function returns EFI_SUCCESS, the control
|
||||
connection with the remote FTP server is closed.
|
||||
|
||||
@param[in] This Pointer to the EFI_FTP4_PROTOCOL instance.
|
||||
@@ -309,7 +309,7 @@ EFI_STATUS
|
||||
- Token is NULL.
|
||||
- Token->Event is NULL.
|
||||
@retval EFI_NOT_STARTED The EFI FTPv4 Protocol driver has not been started.
|
||||
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,
|
||||
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,
|
||||
RARP, etc.) is not finished yet.
|
||||
@retval EFI_OUT_OF_RESOURCES Could not allocate enough resource to finish the operation.
|
||||
@retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
|
||||
@@ -325,14 +325,14 @@ EFI_STATUS
|
||||
/**
|
||||
Sets or clears the operational parameters for the FTP child driver.
|
||||
|
||||
The Configure() function will configure the connected FTP session with the
|
||||
The Configure() function will configure the connected FTP session with the
|
||||
configuration setting specified in FtpConfigData. The configuration data can
|
||||
be reset by calling Configure() with FtpConfigData set to NULL.
|
||||
|
||||
@param[in] This Pointer to the EFI_FTP4_PROTOCOL instance.
|
||||
@param[in] FtpConfigData Pointer to configuration data that will be assigned to
|
||||
@param[in] FtpConfigData Pointer to configuration data that will be assigned to
|
||||
the FTP child driver instance. If NULL, the FTP child
|
||||
driver instance is reset to startup defaults and all
|
||||
driver instance is reset to startup defaults and all
|
||||
pending transmit and receive requests are flushed.
|
||||
|
||||
@retval EFI_SUCCESS The FTPv4 driver was configured successfully.
|
||||
@@ -342,13 +342,13 @@ EFI_STATUS
|
||||
- FtpConfigData.FileStruct is invalid.
|
||||
- FtpConfigData.TransMode is invalid.
|
||||
- IP address in FtpConfigData is invalid.
|
||||
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,
|
||||
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,
|
||||
RARP, etc.) is not finished yet.
|
||||
@retval EFI_UNSUPPORTED One or more of the configuration parameters are not supported
|
||||
by this implementation.
|
||||
@retval EFI_OUT_OF_RESOURCES The EFI FTPv4 Protocol driver instance data could not be
|
||||
by this implementation.
|
||||
@retval EFI_OUT_OF_RESOURCES The EFI FTPv4 Protocol driver instance data could not be
|
||||
allocated.
|
||||
@retval EFI_DEVICE_ERROR An unexpected system or network error occurred. The EFI FTPv4
|
||||
@retval EFI_DEVICE_ERROR An unexpected system or network error occurred. The EFI FTPv4
|
||||
Protocol driver instance is not configured.
|
||||
|
||||
**/
|
||||
@@ -361,15 +361,15 @@ EFI_STATUS
|
||||
|
||||
|
||||
/**
|
||||
Downloads a file from an FTPv4 server.
|
||||
Downloads a file from an FTPv4 server.
|
||||
|
||||
The ReadFile() function is used to initialize and start an FTPv4 download process
|
||||
and optionally wait for completion. When the download operation completes, whether
|
||||
successfully or not, the Token.Status field is updated by the EFI FTPv4 Protocol
|
||||
successfully or not, the Token.Status field is updated by the EFI FTPv4 Protocol
|
||||
driver and then Token.Event is signaled (if it is not NULL).
|
||||
|
||||
Data will be downloaded from the FTPv4 server into Token.DataBuffer. If the file size
|
||||
is larger than Token.DataBufferSize, Token.DataCallback will be called to allow for
|
||||
is larger than Token.DataBufferSize, Token.DataCallback will be called to allow for
|
||||
processing data and then new data will be placed at the beginning of Token.DataBuffer.
|
||||
|
||||
@param[in] This Pointer to the EFI_FTP4_PROTOCOL instance.
|
||||
@@ -384,29 +384,29 @@ EFI_STATUS
|
||||
- Token. DataBuffer is NULL.
|
||||
- Token. DataBufferSize is 0.
|
||||
@retval EFI_NOT_STARTED The EFI FTPv4 Protocol driver has not been started.
|
||||
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,
|
||||
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,
|
||||
RARP, etc.) is not finished yet.
|
||||
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
|
||||
@retval EFI_DEVICE_ERROR An unexpected network error or system error occurred.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FTP4_READ_FILE)(
|
||||
IN EFI_FTP4_PROTOCOL *This,
|
||||
IN EFI_FTP4_COMMAND_TOKEN *Token
|
||||
);
|
||||
|
||||
/**
|
||||
Uploads a file from an FTPv4 server.
|
||||
Uploads a file from an FTPv4 server.
|
||||
|
||||
The WriteFile() function is used to initialize and start an FTPv4 upload process and
|
||||
optionally wait for completion. When the upload operation completes, whether successfully
|
||||
or not, the Token.Status field is updated by the EFI FTPv4 Protocol driver and then
|
||||
Token.Event is signaled (if it is not NULL). Data to be uploaded to server is stored
|
||||
into Token.DataBuffer. Token.DataBufferSize is the number bytes to be transferred.
|
||||
into Token.DataBuffer. Token.DataBufferSize is the number bytes to be transferred.
|
||||
If the file size is larger than Token.DataBufferSize, Token.DataCallback will be called
|
||||
to allow for processing data and then new data will be placed at the beginning of
|
||||
to allow for processing data and then new data will be placed at the beginning of
|
||||
Token.DataBuffer. Token.DataBufferSize is updated to reflect the actual number of bytes
|
||||
to be transferred. Token.DataBufferSize is set to 0 by the call back to indicate the
|
||||
completion of data transfer.
|
||||
@@ -424,30 +424,30 @@ EFI_STATUS
|
||||
- Token. DataBuffer is NULL.
|
||||
- Token. DataBufferSize is 0.
|
||||
@retval EFI_NOT_STARTED The EFI FTPv4 Protocol driver has not been started.
|
||||
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,
|
||||
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,
|
||||
RARP, etc.) is not finished yet.
|
||||
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
|
||||
@retval EFI_DEVICE_ERROR An unexpected network error or system error occurred.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FTP4_WRITE_FILE)(
|
||||
IN EFI_FTP4_PROTOCOL *This,
|
||||
IN EFI_FTP4_COMMAND_TOKEN *Token
|
||||
);
|
||||
|
||||
/**
|
||||
Download a data file "directory" from a FTPv4 server. May be unsupported in some EFI
|
||||
Download a data file "directory" from a FTPv4 server. May be unsupported in some EFI
|
||||
implementations.
|
||||
|
||||
The ReadDirectory() function is used to return a list of files on the FTPv4 server that
|
||||
logically (or operationally) related to Token.Pathname, and optionally wait for completion.
|
||||
When the download operation completes, whether successfully or not, the Token.Status field
|
||||
When the download operation completes, whether successfully or not, the Token.Status field
|
||||
is updated by the EFI FTPv4 Protocol driver and then Token.Event is signaled (if it is not
|
||||
NULL). Data will be downloaded from the FTPv4 server into Token.DataBuffer. If the file size
|
||||
is larger than Token.DataBufferSize, Token.DataCallback will be called to allow for processing
|
||||
data and then new data will be placed at the beginning of Token.DataBuffer.
|
||||
data and then new data will be placed at the beginning of Token.DataBuffer.
|
||||
|
||||
@param[in] This Pointer to the EFI_FTP4_PROTOCOL instance.
|
||||
@param[in] Token Pointer to the token structure to provide the parameters that
|
||||
@@ -461,7 +461,7 @@ EFI_STATUS
|
||||
- Token. DataBuffer is NULL.
|
||||
- Token. DataBufferSize is 0.
|
||||
@retval EFI_NOT_STARTED The EFI FTPv4 Protocol driver has not been started.
|
||||
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,
|
||||
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,
|
||||
RARP, etc.) is not finished yet.
|
||||
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
|
||||
@retval EFI_DEVICE_ERROR An unexpected network error or system error occurred.
|
||||
@@ -475,15 +475,15 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Polls for incoming data packets and processes outgoing data packets.
|
||||
Polls for incoming data packets and processes outgoing data packets.
|
||||
|
||||
The Poll() function can be used by network drivers and applications to increase the
|
||||
rate that data packets are moved between the communications device and the transmit
|
||||
and receive queues. In some systems, the periodic timer event in the managed network
|
||||
driver may not poll the underlying communications device fast enough to transmit
|
||||
driver may not poll the underlying communications device fast enough to transmit
|
||||
and/or receive all data packets without missing incoming packets or dropping outgoing
|
||||
packets. Drivers and applications that are experiencing packet loss should try calling
|
||||
the Poll() function more often.
|
||||
the Poll() function more often.
|
||||
|
||||
@param[in] This Pointer to the EFI_FTP4_PROTOCOL instance.
|
||||
|
||||
@@ -502,8 +502,8 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
///
|
||||
/// EFI_FTP4_PROTOCOL
|
||||
/// provides basic services for client-side FTP (File Transfer Protocol)
|
||||
/// EFI_FTP4_PROTOCOL
|
||||
/// provides basic services for client-side FTP (File Transfer Protocol)
|
||||
/// operations.
|
||||
///
|
||||
struct _EFI_FTP4_PROTOCOL {
|
||||
|
@@ -3,14 +3,14 @@
|
||||
|
||||
Abstraction of a very simple graphics device.
|
||||
|
||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -33,18 +33,18 @@ typedef struct {
|
||||
|
||||
typedef enum {
|
||||
///
|
||||
/// A pixel is 32-bits and byte zero represents red, byte one represents green,
|
||||
/// byte two represents blue, and byte three is reserved. This is the definition
|
||||
/// for the physical frame buffer. The byte values for the red, green, and blue
|
||||
/// components represent the color intensity. This color intensity value range
|
||||
/// A pixel is 32-bits and byte zero represents red, byte one represents green,
|
||||
/// byte two represents blue, and byte three is reserved. This is the definition
|
||||
/// for the physical frame buffer. The byte values for the red, green, and blue
|
||||
/// components represent the color intensity. This color intensity value range
|
||||
/// from a minimum intensity of 0 to maximum intensity of 255.
|
||||
///
|
||||
PixelRedGreenBlueReserved8BitPerColor,
|
||||
///
|
||||
/// A pixel is 32-bits and byte zero represents blue, byte one represents green,
|
||||
/// byte two represents red, and byte three is reserved. This is the definition
|
||||
/// for the physical frame buffer. The byte values for the red, green, and blue
|
||||
/// components represent the color intensity. This color intensity value range
|
||||
/// A pixel is 32-bits and byte zero represents blue, byte one represents green,
|
||||
/// byte two represents red, and byte three is reserved. This is the definition
|
||||
/// for the physical frame buffer. The byte values for the red, green, and blue
|
||||
/// components represent the color intensity. This color intensity value range
|
||||
/// from a minimum intensity of 0 to maximum intensity of 255.
|
||||
///
|
||||
PixelBlueGreenRedReserved8BitPerColor,
|
||||
@@ -64,7 +64,7 @@ typedef enum {
|
||||
|
||||
typedef struct {
|
||||
///
|
||||
/// The version of this data structure. A value of zero represents the
|
||||
/// The version of this data structure. A value of zero represents the
|
||||
/// EFI_GRAPHICS_OUTPUT_MODE_INFORMATION structure as defined in this specification.
|
||||
///
|
||||
UINT32 Version;
|
||||
@@ -77,18 +77,18 @@ typedef struct {
|
||||
///
|
||||
UINT32 VerticalResolution;
|
||||
///
|
||||
/// Enumeration that defines the physical format of the pixel. A value of PixelBltOnly
|
||||
/// Enumeration that defines the physical format of the pixel. A value of PixelBltOnly
|
||||
/// implies that a linear frame buffer is not available for this mode.
|
||||
///
|
||||
EFI_GRAPHICS_PIXEL_FORMAT PixelFormat;
|
||||
///
|
||||
/// This bit-mask is only valid if PixelFormat is set to PixelPixelBitMask.
|
||||
/// This bit-mask is only valid if PixelFormat is set to PixelPixelBitMask.
|
||||
/// A bit being set defines what bits are used for what purpose such as Red, Green, Blue, or Reserved.
|
||||
///
|
||||
EFI_PIXEL_BITMASK PixelInformation;
|
||||
///
|
||||
/// Defines the number of pixel elements per video memory line.
|
||||
///
|
||||
///
|
||||
UINT32 PixelsPerScanLine;
|
||||
} EFI_GRAPHICS_OUTPUT_MODE_INFORMATION;
|
||||
|
||||
@@ -116,7 +116,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Set the video device into the specified mode and clears the visible portions of
|
||||
Set the video device into the specified mode and clears the visible portions of
|
||||
the output display to black.
|
||||
|
||||
@param This The EFI_GRAPHICS_OUTPUT_PROTOCOL instance.
|
||||
@@ -151,47 +151,47 @@ typedef union {
|
||||
///
|
||||
typedef enum {
|
||||
///
|
||||
/// Write data from the BltBuffer pixel (0, 0)
|
||||
/// directly to every pixel of the video display rectangle
|
||||
/// (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height).
|
||||
/// Only one pixel will be used from the BltBuffer. Delta is NOT used.
|
||||
/// Write data from the BltBuffer pixel (0, 0)
|
||||
/// directly to every pixel of the video display rectangle
|
||||
/// (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height).
|
||||
/// Only one pixel will be used from the BltBuffer. Delta is NOT used.
|
||||
///
|
||||
EfiBltVideoFill,
|
||||
|
||||
|
||||
///
|
||||
/// Read data from the video display rectangle
|
||||
/// (SourceX, SourceY) (SourceX + Width, SourceY + Height) and place it in
|
||||
/// the BltBuffer rectangle (DestinationX, DestinationY )
|
||||
/// (DestinationX + Width, DestinationY + Height). If DestinationX or
|
||||
/// DestinationY is not zero then Delta must be set to the length in bytes
|
||||
/// of a row in the BltBuffer.
|
||||
/// Read data from the video display rectangle
|
||||
/// (SourceX, SourceY) (SourceX + Width, SourceY + Height) and place it in
|
||||
/// the BltBuffer rectangle (DestinationX, DestinationY )
|
||||
/// (DestinationX + Width, DestinationY + Height). If DestinationX or
|
||||
/// DestinationY is not zero then Delta must be set to the length in bytes
|
||||
/// of a row in the BltBuffer.
|
||||
///
|
||||
EfiBltVideoToBltBuffer,
|
||||
|
||||
|
||||
///
|
||||
/// Write data from the BltBuffer rectangle
|
||||
/// (SourceX, SourceY) (SourceX + Width, SourceY + Height) directly to the
|
||||
/// video display rectangle (DestinationX, DestinationY)
|
||||
/// (DestinationX + Width, DestinationY + Height). If SourceX or SourceY is
|
||||
/// not zero then Delta must be set to the length in bytes of a row in the
|
||||
/// Write data from the BltBuffer rectangle
|
||||
/// (SourceX, SourceY) (SourceX + Width, SourceY + Height) directly to the
|
||||
/// video display rectangle (DestinationX, DestinationY)
|
||||
/// (DestinationX + Width, DestinationY + Height). If SourceX or SourceY is
|
||||
/// not zero then Delta must be set to the length in bytes of a row in the
|
||||
/// BltBuffer.
|
||||
///
|
||||
EfiBltBufferToVideo,
|
||||
|
||||
EfiBltBufferToVideo,
|
||||
|
||||
///
|
||||
/// Copy from the video display rectangle (SourceX, SourceY)
|
||||
/// (SourceX + Width, SourceY + Height) to the video display rectangle
|
||||
/// (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height).
|
||||
/// (SourceX + Width, SourceY + Height) to the video display rectangle
|
||||
/// (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height).
|
||||
/// The BltBuffer and Delta are not used in this mode.
|
||||
///
|
||||
EfiBltVideoToVideo,
|
||||
|
||||
|
||||
EfiGraphicsOutputBltOperationMax
|
||||
} EFI_GRAPHICS_OUTPUT_BLT_OPERATION;
|
||||
|
||||
/**
|
||||
Blt a rectangle of pixels on the graphics screen. Blt stands for BLock Transfer.
|
||||
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@param BltBuffer The data to transfer to the graphics screen.
|
||||
Size is at least Width*Height*sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL).
|
||||
@@ -250,15 +250,15 @@ typedef struct {
|
||||
///
|
||||
EFI_PHYSICAL_ADDRESS FrameBufferBase;
|
||||
///
|
||||
/// Amount of frame buffer needed to support the active mode as defined by
|
||||
/// Amount of frame buffer needed to support the active mode as defined by
|
||||
/// PixelsPerScanLine xVerticalResolution x PixelElementSize.
|
||||
///
|
||||
UINTN FrameBufferSize;
|
||||
} EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE;
|
||||
|
||||
///
|
||||
/// 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
|
||||
/// 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.
|
||||
///
|
||||
struct _EFI_GRAPHICS_OUTPUT_PROTOCOL {
|
||||
|
@@ -4,14 +4,14 @@
|
||||
instance of the GUIDed Section Extraction Protocol to extract
|
||||
the section stream contained therein.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
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: PI
|
||||
Version 1.00.
|
||||
@@ -22,14 +22,14 @@
|
||||
#define __GUID_SECTION_EXTRACTION_PROTOCOL_H__
|
||||
|
||||
//
|
||||
// The 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.
|
||||
// The 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.
|
||||
//
|
||||
|
||||
typedef struct _EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL;
|
||||
@@ -61,9 +61,9 @@ typedef struct _EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL EFI_GUIDED_SECTION_EXTRAC
|
||||
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_GUIDED_SECTION_EXTRACTION_PROTOCOL instance.
|
||||
|
||||
|
||||
@param InputSection Buffer containing the input GUIDed section
|
||||
to be processed. OutputBuffer OutputBuffer
|
||||
is allocated from boot services pool
|
||||
|
@@ -1,18 +1,18 @@
|
||||
/** @file
|
||||
EFI_HASH_SERVICE_BINDING_PROTOCOL as defined in UEFI 2.0.
|
||||
EFI_HASH_PROTOCOL as defined in UEFI 2.0.
|
||||
The EFI Hash Service Binding Protocol is used to locate hashing services support
|
||||
provided by a driver and to create and destroy instances of the EFI Hash Protocol
|
||||
The EFI Hash Service Binding Protocol is used to locate hashing services support
|
||||
provided by a driver and to create and destroy instances of the EFI Hash Protocol
|
||||
so that a multiple drivers can use the underlying hashing services.
|
||||
|
||||
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -23,7 +23,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
{ \
|
||||
0x42881c98, 0xa4f3, 0x44b0, {0xa3, 0x9d, 0xdf, 0xa1, 0x86, 0x67, 0xd8, 0xcd } \
|
||||
}
|
||||
|
||||
|
||||
#define EFI_HASH_PROTOCOL_GUID \
|
||||
{ \
|
||||
0xc5184932, 0xdba5, 0x46db, {0xa5, 0xba, 0xcc, 0x0b, 0xda, 0x9c, 0x14, 0x35 } \
|
||||
@@ -37,17 +37,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#define EFI_HASH_ALGORITHM_SHA224_GUID \
|
||||
{ \
|
||||
0x8df01a06, 0x9bd5, 0x4bf7, {0xb0, 0x21, 0xdb, 0x4f, 0xd9, 0xcc, 0xf4, 0x5b } \
|
||||
}
|
||||
}
|
||||
|
||||
#define EFI_HASH_ALGORITHM_SHA256_GUID \
|
||||
{ \
|
||||
0x51aa59de, 0xfdf2, 0x4ea3, {0xbc, 0x63, 0x87, 0x5f, 0xb7, 0x84, 0x2e, 0xe9 } \
|
||||
}
|
||||
}
|
||||
|
||||
#define EFI_HASH_ALGORITHM_SHA384_GUID \
|
||||
{ \
|
||||
0xefa96432, 0xde33, 0x4dd2, {0xae, 0xe6, 0x32, 0x8c, 0x33, 0xdf, 0x77, 0x7a } \
|
||||
}
|
||||
}
|
||||
|
||||
#define EFI_HASH_ALGORITHM_SHA512_GUID \
|
||||
{ \
|
||||
@@ -106,7 +106,7 @@ typedef union {
|
||||
|
||||
@retval EFI_SUCCESS Hash size returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER HashSize is NULL or HashAlgorithm is NULL.
|
||||
@retval EFI_UNSUPPORTED The algorithm specified by HashAlgorithm is not supported
|
||||
@retval EFI_UNSUPPORTED The algorithm specified by HashAlgorithm is not supported
|
||||
by this driver.
|
||||
|
||||
**/
|
||||
@@ -116,7 +116,7 @@ EFI_STATUS
|
||||
IN CONST EFI_HASH_PROTOCOL *This,
|
||||
IN CONST EFI_GUID *HashAlgorithm,
|
||||
OUT UINTN *HashSize
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
Creates a hash for the specified message text.
|
||||
@@ -127,13 +127,13 @@ EFI_STATUS
|
||||
existing hash (TRUE).
|
||||
@param[in] Message Points to the start of the message.
|
||||
@param[in] MessageSize The size of Message, in bytes.
|
||||
@param[in,out] Hash On input, if Extend is TRUE, then this parameter holds a pointer
|
||||
to a pointer to an array containing the hash to extend. If Extend
|
||||
is FALSE, then this parameter holds a pointer to a pointer to a
|
||||
caller-allocated array that will receive the result of the hash
|
||||
computation. On output (regardless of the value of Extend), the
|
||||
@param[in,out] Hash On input, if Extend is TRUE, then this parameter holds a pointer
|
||||
to a pointer to an array containing the hash to extend. If Extend
|
||||
is FALSE, then this parameter holds a pointer to a pointer to a
|
||||
caller-allocated array that will receive the result of the hash
|
||||
computation. On output (regardless of the value of Extend), the
|
||||
array will contain the result of the hash computation.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Hash returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER Message or Hash, HashAlgorithm is NULL or MessageSize is 0.
|
||||
MessageSize is not an integer multiple of block size.
|
||||
@@ -150,10 +150,10 @@ EFI_STATUS
|
||||
IN CONST UINT8 *Message,
|
||||
IN UINT64 MessageSize,
|
||||
IN OUT EFI_HASH_OUTPUT *Hash
|
||||
);
|
||||
);
|
||||
|
||||
///
|
||||
/// This protocol allows creating a hash of an arbitrary message digest
|
||||
/// This protocol allows creating a hash of an arbitrary message digest
|
||||
/// using one or more hash algorithms.
|
||||
///
|
||||
struct _EFI_HASH_PROTOCOL {
|
||||
|
@@ -1,18 +1,18 @@
|
||||
/** @file
|
||||
|
||||
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
|
||||
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 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -43,7 +43,7 @@ typedef UINTN EFI_BROWSER_ACTION;
|
||||
#define EFI_BROWSER_ACTION_DEFAULT_FIRMWARE 0x4000
|
||||
|
||||
/**
|
||||
|
||||
|
||||
This function allows the caller to request the current
|
||||
configuration for one or more named elements. The resulting
|
||||
string is in <ConfigAltResp> format. Any and all alternative
|
||||
@@ -64,12 +64,12 @@ typedef UINTN EFI_BROWSER_ACTION;
|
||||
includes the routing information as well as
|
||||
the configurable name / value pairs. It is
|
||||
invalid for this string to be in
|
||||
<MultiConfigRequest> format.
|
||||
If a NULL is passed in for the Request field,
|
||||
all of the settings being abstracted by this function
|
||||
will be returned in the Results field. In addition,
|
||||
if a ConfigHdr is passed in with no request elements,
|
||||
all of the settings being abstracted for that particular
|
||||
<MultiConfigRequest> format.
|
||||
If a NULL is passed in for the Request field,
|
||||
all of the settings being abstracted by this function
|
||||
will be returned in the Results field. In addition,
|
||||
if a ConfigHdr is passed in with no request elements,
|
||||
all of the settings being abstracted for that particular
|
||||
ConfigHdr reference will be returned in the Results Field.
|
||||
|
||||
@param Progress On return, points to a character in the
|
||||
@@ -95,7 +95,7 @@ typedef UINTN EFI_BROWSER_ACTION;
|
||||
stored awaiting possible future
|
||||
protocols.
|
||||
|
||||
@retval EFI_NOT_FOUND A configuration element matching
|
||||
@retval EFI_NOT_FOUND A configuration element matching
|
||||
the routing data is not found.
|
||||
Progress set to the first character
|
||||
in the routing header.
|
||||
@@ -121,7 +121,7 @@ EFI_STATUS
|
||||
|
||||
|
||||
/**
|
||||
|
||||
|
||||
This function applies changes in a driver's configuration.
|
||||
Input is a Configuration, which has the routing data for this
|
||||
driver followed by name / value configuration pairs. The driver
|
||||
@@ -134,8 +134,8 @@ EFI_STATUS
|
||||
@param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
|
||||
|
||||
@param Configuration A null-terminated Unicode string in
|
||||
<ConfigString> format.
|
||||
|
||||
<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
|
||||
@@ -146,16 +146,16 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS The results have been distributed or are
|
||||
awaiting distribution.
|
||||
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES 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
|
||||
|
||||
@@ -169,7 +169,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
|
||||
This function is called to provide results data to the driver.
|
||||
This data consists of a unique key that is used to identify
|
||||
which data is either being passed back or being asked for.
|
||||
@@ -178,7 +178,7 @@ EFI_STATUS
|
||||
@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
|
||||
of data to expect. The format of the data tends to
|
||||
vary based on the opcode that generated the callback.
|
||||
@param Type The type of value for the question.
|
||||
@param Value A pointer to the data being sent to the original
|
||||
@@ -204,7 +204,7 @@ EFI_STATUS
|
||||
OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
///
|
||||
/// This protocol provides a callable interface between the HII and
|
||||
/// drivers. Only drivers which provide IFR data to HII are required
|
||||
|
@@ -1,16 +1,16 @@
|
||||
/** @file
|
||||
The file provides the mechanism to set and get the values
|
||||
associated with a keyword exposed through a x-UEFI- prefixed
|
||||
The file provides the mechanism to set and get the values
|
||||
associated with a keyword exposed through a x-UEFI- prefixed
|
||||
configuration language namespace.
|
||||
|
||||
Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
|
||||
Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -40,18 +40,18 @@ typedef struct _EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL EFI_CONFIG_KEYWORD_HANDLER_P
|
||||
This function accepts a <MultiKeywordResp> formatted string, finds the associated
|
||||
keyword owners, creates a <MultiConfigResp> string from it and forwards it to the
|
||||
EFI_HII_ROUTING_PROTOCOL.RouteConfig function.
|
||||
|
||||
If there is an issue in resolving the contents of the KeywordString, then the
|
||||
function returns an error and also sets the Progress and ProgressErr with the
|
||||
|
||||
If there is an issue in resolving the contents of the KeywordString, then the
|
||||
function returns an error and also sets the Progress and ProgressErr with the
|
||||
appropriate information about where the issue occurred and additional data about
|
||||
the nature of the issue.
|
||||
|
||||
the nature of the issue.
|
||||
|
||||
In the case when KeywordString containing multiple keywords, when an EFI_NOT_FOUND
|
||||
error is generated during processing the second or later keyword element, the system
|
||||
storage associated with earlier keywords is not modified. All elements of the
|
||||
storage associated with earlier keywords is not modified. All elements of the
|
||||
KeywordString must successfully pass all tests for format and access prior to making
|
||||
any modifications to storage.
|
||||
|
||||
|
||||
In the case when EFI_DEVICE_ERROR is returned from the processing of a KeywordString
|
||||
containing multiple keywords, the state of storage associated with earlier keywords
|
||||
is undefined.
|
||||
@@ -59,18 +59,18 @@ typedef struct _EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL EFI_CONFIG_KEYWORD_HANDLER_P
|
||||
|
||||
@param This Pointer to the EFI_KEYWORD_HANDLER _PROTOCOL instance.
|
||||
|
||||
@param KeywordString A null-terminated string in <MultiKeywordResp> format.
|
||||
@param KeywordString A null-terminated string in <MultiKeywordResp> format.
|
||||
|
||||
@param Progress On return, points to a character in the KeywordString.
|
||||
Points to the string's NULL terminator if the request
|
||||
was successful. Points to the most recent '&' before
|
||||
@param Progress On return, points to a character in the KeywordString.
|
||||
Points to the string's NULL terminator if the request
|
||||
was successful. Points to 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) if the request was not successful.
|
||||
|
||||
@param ProgressErr If during the processing of the KeywordString there was
|
||||
a failure, this parameter gives additional information
|
||||
about the possible source of the problem. The various
|
||||
a failure, this parameter gives additional information
|
||||
about the possible source of the problem. The various
|
||||
errors are defined in "Related Definitions" below.
|
||||
|
||||
|
||||
@@ -78,23 +78,23 @@ typedef struct _EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL EFI_CONFIG_KEYWORD_HANDLER_P
|
||||
|
||||
@retval EFI_INVALID_PARAMETER One or more of the following are TRUE:
|
||||
1. KeywordString is NULL.
|
||||
2. Parsing of the KeywordString resulted in an
|
||||
2. Parsing of the KeywordString resulted in an
|
||||
error. See Progress and ProgressErr for more data.
|
||||
|
||||
@retval EFI_NOT_FOUND An element of the KeywordString was not found.
|
||||
@retval EFI_NOT_FOUND An element of the KeywordString was not found.
|
||||
See ProgressErr for more data.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
|
||||
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
|
||||
See ProgressErr for more data.
|
||||
|
||||
@retval EFI_ACCESS_DENIED The action violated system policy. See ProgressErr
|
||||
|
||||
@retval EFI_ACCESS_DENIED The action violated system policy. See ProgressErr
|
||||
for more data.
|
||||
|
||||
@retval EFI_DEVICE_ERROR An unexpected system error occurred. See ProgressErr
|
||||
for more data.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_CONFIG_KEYWORD_HANDLER_SET_DATA) (
|
||||
IN EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *This,
|
||||
@@ -106,56 +106,56 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
|
||||
This function accepts a <MultiKeywordRequest> formatted string, finds the underlying
|
||||
This function accepts a <MultiKeywordRequest> formatted string, finds the underlying
|
||||
keyword owners, creates a <MultiConfigRequest> string from it and forwards it to the
|
||||
EFI_HII_ROUTING_PROTOCOL.ExtractConfig function.
|
||||
|
||||
|
||||
If there is an issue in resolving the contents of the KeywordString, then the function
|
||||
returns an EFI_INVALID_PARAMETER and also set the Progress and ProgressErr with the
|
||||
appropriate information about where the issue occurred and additional data about the
|
||||
nature of the issue.
|
||||
|
||||
|
||||
In the case when KeywordString is NULL, or contains multiple keywords, or when
|
||||
EFI_NOT_FOUND is generated while processing the keyword elements, the Results string
|
||||
contains values returned for all keywords processed prior to the keyword generating the
|
||||
contains values returned for all keywords processed prior to the keyword generating the
|
||||
error but no values for the keyword with error or any following keywords.
|
||||
|
||||
|
||||
|
||||
@param This Pointer to the EFI_KEYWORD_HANDLER _PROTOCOL instance.
|
||||
|
||||
|
||||
@param NameSpaceId A null-terminated string containing the platform configuration
|
||||
language to search through in the system. If a NULL is passed
|
||||
in, then it is assumed that any platform configuration language
|
||||
with the prefix of "x-UEFI-" are searched.
|
||||
|
||||
|
||||
@param KeywordString A null-terminated string in <MultiKeywordRequest> format. If a
|
||||
NULL is passed in the KeywordString field, all of the known
|
||||
keywords in the system for the NameSpaceId specified are
|
||||
NULL is passed in the KeywordString field, all of the known
|
||||
keywords in the system for the NameSpaceId specified are
|
||||
returned in the Results field.
|
||||
|
||||
|
||||
@param Progress On return, points to a character in the KeywordString. Points
|
||||
to the string's NULL terminator if the request was successful.
|
||||
to the string's NULL terminator if the request was successful.
|
||||
Points to 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) if the request was not successful.
|
||||
|
||||
|
||||
@param ProgressErr If during the processing of the KeywordString there was a
|
||||
failure, this parameter gives additional information about the
|
||||
failure, this parameter gives additional information about the
|
||||
possible source of the problem. See the definitions in SetData()
|
||||
for valid value definitions.
|
||||
|
||||
|
||||
@param Results A null-terminated string in <MultiKeywordResp> format is returned
|
||||
which has all the values filled in for the keywords in the
|
||||
which has all the values filled in for the keywords in the
|
||||
KeywordString. This is a callee-allocated field, and must be freed
|
||||
by the caller after being used.
|
||||
by the caller after being used.
|
||||
|
||||
@retval EFI_SUCCESS The specified action was completed successfully.
|
||||
|
||||
|
||||
@retval EFI_INVALID_PARAMETER One or more of the following are TRUE:
|
||||
1.Progress, ProgressErr, or Results is NULL.
|
||||
2.Parsing of the KeywordString resulted in an error. See
|
||||
Progress and ProgressErr for more data.
|
||||
|
||||
|
||||
|
||||
@retval EFI_NOT_FOUND An element of the KeywordString was not found. See
|
||||
ProgressErr for more data.
|
||||
@@ -165,7 +165,7 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated. See
|
||||
ProgressErr for more data.
|
||||
|
||||
|
||||
@retval EFI_ACCESS_DENIED The action violated system policy. See ProgressErr for
|
||||
more data.
|
||||
|
||||
@@ -173,20 +173,20 @@ EFI_STATUS
|
||||
for more data.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_CONFIG_KEYWORD_HANDLER_GET_DATA) (
|
||||
IN EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *This,
|
||||
IN CONST EFI_STRING NameSpaceId, OPTIONAL
|
||||
IN CONST EFI_STRING KeywordString, OPTIONAL
|
||||
OUT EFI_STRING *Progress,
|
||||
OUT EFI_STRING *Progress,
|
||||
OUT UINT32 *ProgressErr,
|
||||
OUT EFI_STRING *Results
|
||||
);
|
||||
|
||||
///
|
||||
/// The EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL provides the mechanism
|
||||
/// to set and get the values associated with a keyword exposed
|
||||
/// The EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL provides the mechanism
|
||||
/// to set and get the values associated with a keyword exposed
|
||||
/// through a x-UEFI- prefixed configuration language namespace
|
||||
///
|
||||
|
||||
|
@@ -4,15 +4,15 @@
|
||||
It then serves as the single point to receive configuration
|
||||
information from configuration applications, routing the
|
||||
results to the appropriate drivers.
|
||||
|
||||
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -26,7 +26,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
typedef struct _EFI_HII_CONFIG_ROUTING_PROTOCOL EFI_HII_CONFIG_ROUTING_PROTOCOL;
|
||||
|
||||
/**
|
||||
|
||||
|
||||
This function allows the caller to request the current
|
||||
configuration for one or more named elements from one or more
|
||||
drivers. The resulting string is in the standard HII
|
||||
@@ -84,8 +84,8 @@ typedef struct _EFI_HII_CONFIG_ROUTING_PROTOCOL EFI_HII_CONFIG_ROUTING_PROTOCOL;
|
||||
for the Request parameter
|
||||
would result in this type of
|
||||
error. The Progress parameter
|
||||
is set to NULL.
|
||||
|
||||
is set to NULL.
|
||||
|
||||
@retval EFI_NOT_FOUND Routing data doesn't match any
|
||||
known driver. Progress set to
|
||||
the "G" in "GUID" of the
|
||||
@@ -100,8 +100,8 @@ typedef struct _EFI_HII_CONFIG_ROUTING_PROTOCOL EFI_HII_CONFIG_ROUTING_PROTOCOL;
|
||||
error, or the beginning of the
|
||||
string.
|
||||
@retval EFI_INVALID_PARAMETER The ExtractConfig function of the
|
||||
underlying HII Configuration
|
||||
Access Protocol returned
|
||||
underlying HII Configuration
|
||||
Access Protocol returned
|
||||
EFI_INVALID_PARAMETER. Progress
|
||||
set to most recent & before the
|
||||
error or the beginning of the
|
||||
@@ -118,32 +118,32 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
This function allows the caller to request the current configuration
|
||||
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 string.
|
||||
|
||||
This function allows the caller to request the current
|
||||
configuration for all of the current HII database. The results
|
||||
include both the current and alternate configurations as
|
||||
described in ExtractConfig() above.
|
||||
|
||||
described in ExtractConfig() above.
|
||||
|
||||
@param This Points to the EFI_HII_CONFIG_ROUTING_PROTOCOL instance.
|
||||
|
||||
|
||||
@param Results Null-terminated Unicode string in
|
||||
<MultiConfigAltResp> format which has all values
|
||||
filled in for the entirety of the current HII
|
||||
database. String to be allocated by the called
|
||||
filled in for the entirety of the current HII
|
||||
database. String to be allocated by the called
|
||||
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_OUT_OF_RESOURCES 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
|
||||
would result in this type of
|
||||
@@ -158,7 +158,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
|
||||
This function routes the results of processing forms to the
|
||||
appropriate targets. It scans for <ConfigHdr> within the string
|
||||
and passes the header and subsequent body to the driver whose
|
||||
@@ -182,16 +182,16 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS The results have been distributed or are
|
||||
awaiting distribution.
|
||||
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES 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 The target for the specified routing data
|
||||
was not found.
|
||||
|
||||
@@ -206,7 +206,7 @@ EFI_STATUS
|
||||
|
||||
|
||||
/**
|
||||
|
||||
|
||||
This function extracts the current configuration from a block of
|
||||
bytes. To do so, it requires that the ConfigRequest string
|
||||
consists of a list of <BlockName> formatted names. It uses the
|
||||
@@ -228,7 +228,7 @@ EFI_STATUS
|
||||
|
||||
@param Config The filled-in configuration string. String
|
||||
allocated by the function. Returned only if
|
||||
call is successful. The null-terminated string
|
||||
call is successful. The null-terminated string
|
||||
will be <ConfigResp> format.
|
||||
|
||||
@param Progress A pointer to a string filled in with the
|
||||
@@ -256,7 +256,7 @@ EFI_STATUS
|
||||
@retval EFI_NOT_FOUND The target for the specified routing data
|
||||
was not found. Progress points to the
|
||||
'G' in "GUID" of the errant routing
|
||||
data.
|
||||
data.
|
||||
@retval EFI_DEVICE_ERROR The block is not large enough. Progress undefined.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER Encountered non <BlockName>
|
||||
@@ -310,7 +310,7 @@ EFI_STATUS
|
||||
|
||||
@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 largest
|
||||
output, if successful, contains the largest
|
||||
index of the modified byte in the Block, or
|
||||
the required buffer size if the Block is not
|
||||
large enough.
|
||||
@@ -339,7 +339,7 @@ EFI_STATUS
|
||||
@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.
|
||||
@retval EFI_BUFFER_TOO_SMALL Block not large enough. Progress undefined.
|
||||
@retval EFI_BUFFER_TOO_SMALL Block not large enough. Progress undefined.
|
||||
BlockSize is updated with the required buffer size.
|
||||
|
||||
**/
|
||||
@@ -354,48 +354,48 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
This helper function is to be called by drivers to extract portions of
|
||||
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 ConfigResp A null-terminated string in <ConfigAltResp> 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
|
||||
@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,
|
||||
@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.
|
||||
@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.
|
||||
The null-terminated string will be <ConfigResp> format.
|
||||
|
||||
@retval EFI_SUCCESS The request succeeded. The requested data was extracted
|
||||
|
||||
@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_OUT_OF_RESOURCES Not enough memory to allocate AltCfgResp.
|
||||
@retval EFI_INVALID_PARAMETER Any parameter is invalid.
|
||||
@retval EFI_NOT_FOUND The target for the specified routing data was not found.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
EFI_STATUS
|
||||
(EFIAPI * EFI_HII_GET_ALT_CFG)(
|
||||
IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
|
||||
IN CONST EFI_STRING ConfigResp,
|
||||
IN CONST EFI_GUID *Guid,
|
||||
IN CONST EFI_STRING Name,
|
||||
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
|
||||
IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
|
||||
IN CONST EFI_STRING ConfigResp,
|
||||
IN CONST EFI_GUID *Guid,
|
||||
IN CONST EFI_STRING Name,
|
||||
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
|
||||
IN CONST UINT16 *AltCfgId,
|
||||
OUT EFI_STRING *AltCfgResp
|
||||
OUT EFI_STRING *AltCfgResp
|
||||
);
|
||||
|
||||
///
|
||||
|
@@ -1,15 +1,15 @@
|
||||
/** @file
|
||||
The file provides Database manager for HII-related data
|
||||
structures.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -25,7 +25,7 @@ typedef struct _EFI_HII_DATABASE_PROTOCOL EFI_HII_DATABASE_PROTOCOL;
|
||||
|
||||
///
|
||||
/// EFI_HII_DATABASE_NOTIFY_TYPE.
|
||||
///
|
||||
///
|
||||
typedef UINTN EFI_HII_DATABASE_NOTIFY_TYPE;
|
||||
|
||||
#define EFI_HII_DATABASE_NOTIFY_NEW_PACK 0x00000001
|
||||
@@ -33,7 +33,7 @@ typedef UINTN EFI_HII_DATABASE_NOTIFY_TYPE;
|
||||
#define EFI_HII_DATABASE_NOTIFY_EXPORT_PACK 0x00000004
|
||||
#define EFI_HII_DATABASE_NOTIFY_ADD_PACK 0x00000008
|
||||
/**
|
||||
|
||||
|
||||
Functions which are registered to receive notification of
|
||||
database events have this prototype. The actual event is encoded
|
||||
in NotifyType. The following table describes how PackageType,
|
||||
@@ -48,8 +48,8 @@ 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.
|
||||
|
||||
@param Package Points to the package referred to by the notification.
|
||||
|
||||
@param Handle The handle of the package
|
||||
list which contains the specified package.
|
||||
|
||||
@@ -80,7 +80,7 @@ EFI_STATUS
|
||||
be called. For each call to NewPackageList(), there should be a
|
||||
corresponding call to
|
||||
EFI_HII_DATABASE_PROTOCOL.RemovePackageList().
|
||||
|
||||
|
||||
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL instance.
|
||||
|
||||
@param PackageList A pointer to an EFI_HII_PACKAGE_LIST_HEADER structure.
|
||||
@@ -88,7 +88,7 @@ EFI_STATUS
|
||||
@param DriverHandle Associate the package list with this EFI handle.
|
||||
If a NULL is specified, this data will not be associate
|
||||
with any drivers and cannot have a callback induced.
|
||||
|
||||
|
||||
@param Handle A pointer to the EFI_HII_HANDLE instance.
|
||||
|
||||
@retval EFI_SUCCESS The package list associated with the
|
||||
@@ -121,10 +121,10 @@ EFI_STATUS
|
||||
be a corresponding call to RemovePackageList.
|
||||
|
||||
@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.
|
||||
|
||||
|
||||
@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.
|
||||
@@ -139,7 +139,7 @@ EFI_STATUS
|
||||
|
||||
|
||||
/**
|
||||
|
||||
|
||||
This function updates the existing package list (which has the
|
||||
specified Handle) in the HII databases, using the new package
|
||||
list specified by PackageList. The update process has the
|
||||
@@ -162,18 +162,18 @@ EFI_STATUS
|
||||
ADD_PACK.
|
||||
|
||||
@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 PackageList A pointer to an EFI_HII_PACKAGE_LIST
|
||||
package.
|
||||
|
||||
|
||||
@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_INVALID_PARAMETER PackageList was NULL.
|
||||
@retval EFI_NOT_FOUND The specified Handle is not in database.
|
||||
|
||||
@@ -188,25 +188,25 @@ EFI_STATUS
|
||||
|
||||
|
||||
/**
|
||||
|
||||
This function returns a list of the package handles of the
|
||||
specified type that are currently active in the database. The
|
||||
pseudo-type EFI_HII_PACKAGE_TYPE_ALL will cause all package
|
||||
|
||||
This function returns a list of the package handles of the
|
||||
specified type that are currently active in the database. The
|
||||
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 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 HandleBufferLength On input, a pointer to the length
|
||||
of the handle buffer. On output,
|
||||
the length of the handle buffer
|
||||
@@ -258,7 +258,7 @@ EFI_STATUS
|
||||
@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.
|
||||
should be exported.
|
||||
|
||||
@param BufferSize On input, a pointer to the length of the
|
||||
buffer. On output, the length of the
|
||||
@@ -267,18 +267,18 @@ EFI_STATUS
|
||||
|
||||
@param Buffer A pointer to a buffer that will contain the
|
||||
results of the export function.
|
||||
|
||||
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Package exported.
|
||||
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES BufferSize is too small to hold the package.
|
||||
|
||||
@retval EFI_NOT_FOUND The specified Handle could not be found in the
|
||||
current database.
|
||||
|
||||
|
||||
@retval EFI_INVALID_PARAMETER BufferSize was NULL.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The value referenced by BufferSize was not zero
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The value referenced by BufferSize was not zero
|
||||
and Buffer was NULL.
|
||||
**/
|
||||
typedef
|
||||
@@ -292,8 +292,8 @@ EFI_STATUS
|
||||
|
||||
|
||||
/**
|
||||
|
||||
|
||||
|
||||
|
||||
This function registers a function which will be called when
|
||||
specified actions related to packages of the specified type
|
||||
occur in the HII database. By registering a function, other
|
||||
@@ -302,12 +302,12 @@ EFI_STATUS
|
||||
or application which registers a notification should use
|
||||
EFI_HII_DATABASE_PROTOCOL.UnregisterPackageNotify() before
|
||||
exiting.
|
||||
|
||||
|
||||
|
||||
|
||||
@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.
|
||||
EFI_HII_PACKAGE_TYPE_x in EFI_HII_PACKAGE_HEADER.
|
||||
|
||||
@param PackageGuid If PackageType is
|
||||
EFI_HII_PACKAGE_TYPE_GUID, then this is
|
||||
@@ -355,19 +355,19 @@ EFI_STATUS
|
||||
|
||||
|
||||
/**
|
||||
|
||||
|
||||
Removes the specified HII database package-related notification.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL instance.
|
||||
|
||||
@param NotificationHandle The handle of the notification
|
||||
function being unregistered.
|
||||
|
||||
@retval EFI_SUCCESS Successsfully unregistered the notification.
|
||||
|
||||
@retval EFI_NOT_FOUND The incoming notification handle does not exist
|
||||
|
||||
@retval EFI_SUCCESS Successsfully unregistered the notification.
|
||||
|
||||
@retval EFI_NOT_FOUND The incoming notification handle does not exist
|
||||
in the current hii database.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -378,7 +378,7 @@ EFI_STATUS
|
||||
|
||||
|
||||
/**
|
||||
|
||||
|
||||
This routine retrieves an array of GUID values for each keyboard
|
||||
layout that was previously registered in the system.
|
||||
|
||||
@@ -388,13 +388,13 @@ EFI_STATUS
|
||||
of the keyboard GUID buffer. On
|
||||
output, the length of the handle
|
||||
buffer that is required for the
|
||||
handles found.
|
||||
|
||||
handles found.
|
||||
|
||||
@param KeyGuidBuffer An array of keyboard layout GUID
|
||||
instances returned.
|
||||
|
||||
@retval EFI_SUCCESS KeyGuidBuffer was updated successfully.
|
||||
|
||||
|
||||
@retval EFI_BUFFER_TOO_SMALL The KeyGuidBufferLength
|
||||
parameter indicates that
|
||||
KeyGuidBuffer is too small to
|
||||
@@ -403,7 +403,7 @@ EFI_STATUS
|
||||
with a value that will enable
|
||||
the data to fit.
|
||||
@retval EFI_INVALID_PARAMETER The KeyGuidBufferLength is NULL.
|
||||
@retval EFI_INVALID_PARAMETER The value referenced by
|
||||
@retval EFI_INVALID_PARAMETER The value referenced by
|
||||
KeyGuidBufferLength is not
|
||||
zero and KeyGuidBuffer is NULL.
|
||||
@retval EFI_NOT_FOUND There was no keyboard layout.
|
||||
@@ -419,14 +419,14 @@ EFI_STATUS
|
||||
|
||||
|
||||
/**
|
||||
|
||||
|
||||
This routine retrieves the requested keyboard layout. The layout
|
||||
is a physical description of the keys on a keyboard, and the
|
||||
character(s) that are associated with a particular set of key
|
||||
strokes.
|
||||
|
||||
@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.
|
||||
@@ -434,13 +434,13 @@ EFI_STATUS
|
||||
@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.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The keyboard layout was retrieved
|
||||
successfully.
|
||||
|
||||
|
||||
@retval EFI_NOT_FOUND The requested keyboard layout was not found.
|
||||
|
||||
**/
|
||||
@@ -454,7 +454,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
|
||||
This routine sets the default keyboard layout to the one
|
||||
referenced by KeyGuid. When this routine is called, an event
|
||||
will be signaled of the EFI_HII_SET_KEYBOARD_LAYOUT_EVENT_GUID
|
||||
@@ -481,21 +481,21 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
|
||||
Return the EFI handle associated with a package list.
|
||||
|
||||
|
||||
@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().
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The DriverHandle was returned successfully.
|
||||
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The PackageListHandle was not valid.
|
||||
|
||||
**/
|
||||
|
@@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
The file provides services to retrieve font information.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -27,7 +27,7 @@ typedef VOID *EFI_FONT_HANDLE;
|
||||
|
||||
///
|
||||
/// EFI_HII_OUT_FLAGS.
|
||||
///
|
||||
///
|
||||
typedef UINT32 EFI_HII_OUT_FLAGS;
|
||||
|
||||
#define EFI_HII_OUT_FLAG_CLIP 0x00000001
|
||||
@@ -49,12 +49,12 @@ typedef struct _EFI_HII_ROW_INFO {
|
||||
UINTN StartIndex;
|
||||
///
|
||||
/// 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.
|
||||
/// If this is the same as StartIndex, then no characters are displayed.
|
||||
///
|
||||
UINTN EndIndex;
|
||||
UINTN LineHeight; ///< The height of the line, in pixels.
|
||||
UINTN LineWidth; ///< The width of the text on the line, in pixels.
|
||||
|
||||
|
||||
///
|
||||
/// The font baseline offset in pixels from the bottom of the row, or 0 if none.
|
||||
///
|
||||
@@ -80,7 +80,7 @@ typedef UINT32 EFI_FONT_INFO_MASK;
|
||||
|
||||
//
|
||||
// EFI_FONT_INFO
|
||||
//
|
||||
//
|
||||
typedef struct {
|
||||
EFI_HII_FONT_STYLE FontStyle;
|
||||
UINT16 FontSize; ///< character cell height in pixels
|
||||
@@ -103,7 +103,7 @@ typedef struct _EFI_FONT_DISPLAY_INFO {
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL ForegroundColor;
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL BackgroundColor;
|
||||
EFI_FONT_INFO_MASK FontInfoMask;
|
||||
EFI_FONT_INFO FontInfo;
|
||||
EFI_FONT_INFO FontInfo;
|
||||
} EFI_FONT_DISPLAY_INFO;
|
||||
|
||||
/**
|
||||
@@ -155,7 +155,7 @@ typedef struct _EFI_FONT_DISPLAY_INFO {
|
||||
|
||||
@param Flags Describes how the string is to be drawn.
|
||||
|
||||
@param String Points to the null-terminated string to be
|
||||
@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
|
||||
@@ -203,9 +203,9 @@ typedef struct _EFI_FONT_DISPLAY_INFO {
|
||||
overlap.
|
||||
|
||||
@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_INVALID_PARAMETER The String or Blt was NULL.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER Flags were invalid combination.
|
||||
@@ -276,7 +276,7 @@ EFI_STATUS
|
||||
|
||||
@param Flags Describes how the string is to be drawn.
|
||||
|
||||
@param PackageList
|
||||
@param PackageList
|
||||
The package list in the HII database to
|
||||
search for the specified string.
|
||||
|
||||
@@ -342,8 +342,8 @@ EFI_STATUS
|
||||
Width was NULL.
|
||||
@retval EFI_INVALID_PARAMETER The Blt or PackageList was NULL.
|
||||
@retval EFI_INVALID_PARAMETER Flags were invalid combination.
|
||||
@retval EFI_NOT_FOUND The specified PackageList is not in the Database,
|
||||
or the stringid is not in the specified PackageList.
|
||||
@retval EFI_NOT_FOUND The specified PackageList is not in the Database,
|
||||
or the stringid is not in the specified PackageList.
|
||||
|
||||
**/
|
||||
typedef
|
||||
@@ -424,26 +424,26 @@ EFI_STATUS
|
||||
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
|
||||
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. This buffer
|
||||
is allocated with a call to the Boot Service AllocatePool().
|
||||
It is the caller's responsibility to call the Boot
|
||||
It is the caller's responsibility to call the Boot
|
||||
Service FreePool() when the caller no longer requires
|
||||
the contents of StringInfoOut.
|
||||
|
||||
@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_NOT_FOUND No matching font was found.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES There were insufficient resources to complete the request.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
|
@@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
The file provides services to access to images in the images database.
|
||||
|
||||
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -25,18 +25,18 @@ typedef struct _EFI_HII_IMAGE_PROTOCOL EFI_HII_IMAGE_PROTOCOL;
|
||||
|
||||
///
|
||||
/// Flags in EFI_IMAGE_INPUT
|
||||
///
|
||||
///
|
||||
#define EFI_IMAGE_TRANSPARENT 0x00000001
|
||||
|
||||
/**
|
||||
|
||||
|
||||
Definition of EFI_IMAGE_INPUT.
|
||||
|
||||
|
||||
@param Flags Describe image characteristics. If
|
||||
EFI_IMAGE_TRANSPARENT is set, then the image was
|
||||
designed for transparent display.
|
||||
|
||||
@param Width Image width, in pixels.
|
||||
@param Width Image width, in pixels.
|
||||
|
||||
@param Height Image height, in pixels.
|
||||
|
||||
@@ -44,7 +44,7 @@ typedef struct _EFI_HII_IMAGE_PROTOCOL EFI_HII_IMAGE_PROTOCOL;
|
||||
top-to-bottom. The size of the bitmap is
|
||||
Width*Height*sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL).
|
||||
|
||||
|
||||
|
||||
**/
|
||||
typedef struct _EFI_IMAGE_INPUT {
|
||||
UINT32 Flags;
|
||||
@@ -60,8 +60,8 @@ 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.
|
||||
|
||||
@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
|
||||
@@ -71,9 +71,9 @@ typedef struct _EFI_IMAGE_INPUT {
|
||||
|
||||
@retval EFI_SUCCESS The new image was added
|
||||
successfully
|
||||
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Could not add the image.
|
||||
|
||||
|
||||
@retval EFI_INVALID_PARAMETER Image is NULL or ImageId is
|
||||
NULL.
|
||||
|
||||
@@ -100,21 +100,21 @@ 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 Image Points to the new image.
|
||||
|
||||
|
||||
@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_OUT_OF_RESOURCES The bitmap could not be retrieved because there was not
|
||||
enough memory.
|
||||
@@ -131,12 +131,12 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
|
||||
This function updates the image specified by ImageId in the
|
||||
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.
|
||||
|
||||
@@ -145,10 +145,10 @@ EFI_STATUS
|
||||
@param Image Points to the image.
|
||||
|
||||
@retval EFI_SUCCESS The image was successfully updated.
|
||||
|
||||
|
||||
@retval EFI_NOT_FOUND The image specified by ImageId is not in the database.
|
||||
The specified PackageList is not in the database.
|
||||
|
||||
The specified PackageList is not in the database.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The Image or Language was NULL.
|
||||
|
||||
**/
|
||||
@@ -176,9 +176,9 @@ typedef UINT32 EFI_HII_DRAW_FLAGS;
|
||||
#define EFI_HII_DIRECT_TO_SCREEN 0x00000080
|
||||
|
||||
/**
|
||||
|
||||
|
||||
Definition of EFI_IMAGE_OUTPUT.
|
||||
|
||||
|
||||
@param Width Width of the output image.
|
||||
|
||||
@param Height Height of the output image.
|
||||
@@ -201,7 +201,7 @@ typedef struct _EFI_IMAGE_OUTPUT {
|
||||
|
||||
|
||||
/**
|
||||
|
||||
|
||||
This function renders an image to a bitmap or the screen using
|
||||
the specified color and options. It draws the image on an
|
||||
existing bitmap, allocates a new bitmap or uses the screen. The
|
||||
@@ -216,14 +216,14 @@ 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 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
|
||||
@@ -259,7 +259,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
|
||||
This function renders an image as a bitmap or to the screen and
|
||||
can clip the image. The bitmap is either supplied by the caller
|
||||
or else is allocated by the function. The images can be drawn
|
||||
@@ -292,7 +292,7 @@ EFI_STATUS
|
||||
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.
|
||||
|
||||
@@ -315,14 +315,14 @@ EFI_STATUS
|
||||
pixel in the image.
|
||||
|
||||
@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.
|
||||
Or 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
|
||||
|
@@ -4,15 +4,15 @@
|
||||
if the image contains a custom PE/COFF resource with the type 'HII'.
|
||||
The protocol's interface pointer points to the HII package list, which is
|
||||
contained in the resource's data.
|
||||
|
||||
Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
|
@@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
The file provides services to manipulate string data.
|
||||
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -25,8 +25,8 @@ 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.
|
||||
The new string identifier is guaranteed to be unique within the package list.
|
||||
That new string identifier is reserved for all languages in the package list.
|
||||
The new string identifier is guaranteed to be unique within the package list.
|
||||
That new string identifier is reserved for all languages in the package list.
|
||||
|
||||
@param This A pointer to the EFI_HII_STRING_PROTOCOL instance.
|
||||
@param PackageList The handle of the package list where this string will
|
||||
@@ -61,7 +61,7 @@ EFI_STATUS
|
||||
IN EFI_HII_HANDLE PackageList,
|
||||
OUT EFI_STRING_ID *StringId,
|
||||
IN CONST CHAR8 *Language,
|
||||
IN CONST CHAR16 *LanguageName, OPTIONAL
|
||||
IN CONST CHAR16 *LanguageName, OPTIONAL
|
||||
IN CONST EFI_STRING String,
|
||||
IN CONST EFI_FONT_INFO *StringFontInfo OPTIONAL
|
||||
);
|
||||
@@ -89,7 +89,7 @@ EFI_STATUS
|
||||
@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
|
||||
@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 StringSize is too small to
|
||||
hold the string.
|
||||
|
@@ -4,7 +4,7 @@
|
||||
HTTP Service Binding Protocol (HTTPSB)
|
||||
HTTP Protocol (HTTP)
|
||||
|
||||
Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
(C) Copyright 2015-2017 Hewlett Packard Enterprise Development LP<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -305,16 +305,16 @@ typedef struct {
|
||||
|
||||
@param[in] This Pointer to EFI_HTTP_PROTOCOL instance.
|
||||
@param[out] HttpConfigData Point to buffer for operational parameters of this
|
||||
HTTP instance. It is the responsibility of the caller
|
||||
to allocate the memory for HttpConfigData and
|
||||
HttpConfigData->AccessPoint.IPv6Node/IPv4Node. In fact,
|
||||
it is recommended to allocate sufficient memory to record
|
||||
HTTP instance. It is the responsibility of the caller
|
||||
to allocate the memory for HttpConfigData and
|
||||
HttpConfigData->AccessPoint.IPv6Node/IPv4Node. In fact,
|
||||
it is recommended to allocate sufficient memory to record
|
||||
IPv6Node since it is big enough for all possibilities.
|
||||
|
||||
@retval EFI_SUCCESS Operation succeeded.
|
||||
@retval EFI_INVALID_PARAMETER This is NULL.
|
||||
HttpConfigData is NULL.
|
||||
HttpConfigData->AccessPoint.IPv4Node or
|
||||
HttpConfigData->AccessPoint.IPv4Node or
|
||||
HttpConfigData->AccessPoint.IPv6Node is NULL.
|
||||
@retval EFI_NOT_STARTED This EFI HTTP Protocol instance has not been started.
|
||||
**/
|
||||
@@ -364,7 +364,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
The Request() function queues an HTTP request to this HTTP instance,
|
||||
The Request() function queues an HTTP request to this HTTP instance,
|
||||
similar to Transmit() function in the EFI TCP driver. When the HTTP request is sent
|
||||
successfully, or if there is an error, Status in token will be updated and Event will
|
||||
be signaled.
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
This file defines the EFI HTTP Boot Callback Protocol interface.
|
||||
|
||||
Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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 @@ typedef enum {
|
||||
///
|
||||
HttpBootHttpRequest,
|
||||
///
|
||||
/// Data points to an EFI_HTTP_MESSAGE structure, which contians a received HTTP
|
||||
/// Data points to an EFI_HTTP_MESSAGE structure, which contians a received HTTP
|
||||
/// response message.
|
||||
///
|
||||
HttpBootHttpResponse,
|
||||
@@ -72,7 +72,7 @@ typedef enum {
|
||||
@param[in] DataLength The length in bytes of the buffer pointed to by Data.
|
||||
@param[in] Data A pointer to the buffer of data, the data type is specified by
|
||||
DataType.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Tells the HTTP Boot driver to continue the HTTP Boot process.
|
||||
@retval EFI_ABORTED Tells the HTTP Boot driver to abort the current HTTP Boot process.
|
||||
**/
|
||||
@@ -87,7 +87,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
///
|
||||
/// EFI HTTP Boot Callback Protocol is invoked when the HTTP Boot driver is about to transmit or
|
||||
/// EFI HTTP Boot Callback Protocol is invoked when the HTTP Boot driver is about to transmit or
|
||||
/// has received a packet. The EFI HTTP Boot Callback Protocol must be installed on the same handle
|
||||
/// as the Load File Protocol for the HTTP Boot.
|
||||
///
|
||||
|
@@ -1,19 +1,19 @@
|
||||
/** @file
|
||||
I2C Bus Configuration Management Protocol as defined in the PI 1.3 specification.
|
||||
|
||||
The EFI I2C bus configuration management protocol provides platform specific
|
||||
services that allow the I2C host protocol to reconfigure the switches and multiplexers
|
||||
and set the clock frequency for the I2C bus. This protocol also enables the I2C host protocol
|
||||
The EFI I2C bus configuration management protocol provides platform specific
|
||||
services that allow the I2C host protocol to reconfigure the switches and multiplexers
|
||||
and set the clock frequency for the I2C bus. This protocol also enables the I2C host protocol
|
||||
to reset an I2C device which may be locking up the I2C bus by holding the clock or data line low.
|
||||
|
||||
Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
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:
|
||||
This protocol is from PI Version 1.3.
|
||||
|
@@ -3,14 +3,14 @@
|
||||
|
||||
This protocol supports the enumerations of device on the I2C bus.
|
||||
|
||||
Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
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:
|
||||
This protocol is from PI Version 1.3.
|
||||
|
@@ -1,17 +1,17 @@
|
||||
/** @file
|
||||
I2C Host Protocol as defined in the PI 1.3 specification.
|
||||
|
||||
This protocol provides callers with the ability to do I/O transactions
|
||||
This protocol provides callers with the ability to do I/O transactions
|
||||
to all of the devices on the I2C bus.
|
||||
|
||||
Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
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:
|
||||
This protocol is from PI Version 1.3.
|
||||
@@ -50,7 +50,7 @@ typedef struct _EFI_I2C_HOST_PROTOCOL EFI_I2C_HOST_PROTOCOL;
|
||||
This routine must be called at or below TPL_NOTIFY. For
|
||||
synchronous requests this routine must be called at or below
|
||||
TPL_CALLBACK.
|
||||
|
||||
|
||||
The I2C host protocol uses the concept of I2C bus configurations
|
||||
to describe the I2C bus. An I2C bus configuration is defined as
|
||||
a unique setting of the multiplexers and switches in the I2C bus
|
||||
|
@@ -1,17 +1,17 @@
|
||||
/** @file
|
||||
I2C I/O Protocol as defined in the PI 1.3 specification.
|
||||
|
||||
The EFI I2C I/O protocol enables the user to manipulate a single
|
||||
The EFI I2C I/O protocol enables the user to manipulate a single
|
||||
I2C device independent of the host controller and I2C design.
|
||||
|
||||
Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
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:
|
||||
This protocol is from PI Version 1.3.
|
||||
@@ -66,7 +66,7 @@ typedef struct _EFI_I2C_IO_PROTOCOL EFI_I2C_IO_PROTOCOL;
|
||||
|
||||
The upper layer driver writer provides the following to the platform
|
||||
vendor:
|
||||
|
||||
|
||||
1. Vendor specific GUID for the I2C part
|
||||
2. Guidance on proper construction of the slave address array when the
|
||||
I2C device uses more than one slave address. The I2C bus protocol
|
||||
|
@@ -1,17 +1,17 @@
|
||||
/** @file
|
||||
I2C Master Protocol as defined in the PI 1.3 specification.
|
||||
|
||||
This protocol manipulates the I2C host controller to perform transactions as a master
|
||||
This protocol manipulates the I2C host controller to perform transactions as a master
|
||||
on the I2C bus using the current state of any switches or multiplexers in the I2C bus.
|
||||
|
||||
Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
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:
|
||||
This protocol is from PI Version 1.3.
|
||||
@@ -72,7 +72,7 @@ EFI_STATUS
|
||||
@retval EFI_SUCCESS The reset completed successfully.
|
||||
@retval EFI_ALREADY_STARTED The controller is busy with another transaction.
|
||||
@retval EFI_DEVICE_ERROR The reset operation failed.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
|
@@ -1,15 +1,15 @@
|
||||
/** @file
|
||||
EFI_ISCSI_INITIATOR_NAME_PROTOCOL as defined in UEFI 2.0.
|
||||
It provides the ability to get and set the iSCSI Initiator Name.
|
||||
It provides the ability to get and set the iSCSI Initiator Name.
|
||||
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -39,7 +39,7 @@ typedef struct _EFI_ISCSI_INITIATOR_NAME_PROTOCOL EFI_ISCSI_INITIATOR_NAME_PROTO
|
||||
@retval EFI_DEVICE_ERROR The iSCSI initiator name could not be retrieved due to a hardware error.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISCSI_INITIATOR_NAME_GET)(
|
||||
IN EFI_ISCSI_INITIATOR_NAME_PROTOCOL *This,
|
||||
@@ -47,7 +47,7 @@ EFI_STATUS
|
||||
OUT VOID *Buffer
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets the iSCSI Initiator Name.
|
||||
@@ -71,10 +71,10 @@ typedef EFI_STATUS
|
||||
IN EFI_ISCSI_INITIATOR_NAME_PROTOCOL *This,
|
||||
IN OUT UINTN *BufferSize,
|
||||
IN VOID *Buffer
|
||||
);
|
||||
);
|
||||
|
||||
///
|
||||
/// iSCSI Initiator Name Protocol for setting and obtaining the iSCSI Initiator Name.
|
||||
/// iSCSI Initiator Name Protocol for setting and obtaining the iSCSI Initiator Name.
|
||||
///
|
||||
struct _EFI_ISCSI_INITIATOR_NAME_PROTOCOL {
|
||||
EFI_ISCSI_INITIATOR_NAME_GET Get;
|
||||
|
@@ -1,31 +1,31 @@
|
||||
/** @file
|
||||
This file declares EFI IDE Controller Init Protocol
|
||||
|
||||
|
||||
The EFI_IDE_CONTROLLER_INIT_PROTOCOL provides the chipset-specific information
|
||||
to the driver entity. This protocol is mandatory for IDE controllers if the
|
||||
IDE devices behind the controller are to be enumerated by a driver entity.
|
||||
|
||||
|
||||
There can only be one instance of EFI_IDE_CONTROLLER_INIT_PROTOCOL for each IDE
|
||||
controller in a system. It is installed on the handle that corresponds to the
|
||||
IDE controller. A driver entity that wishes to manage an IDE bus and possibly
|
||||
IDE devices in a system will have to retrieve the EFI_IDE_CONTROLLER_INIT_PROTOCOL
|
||||
instance that is associated with the controller to be managed.
|
||||
|
||||
|
||||
A device handle for an IDE controller must contain an EFI_DEVICE_PATH_PROTOCOL.
|
||||
|
||||
Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
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:
|
||||
This Protocol is defined in UEFI Platform Initialization Specification 1.2
|
||||
This Protocol is defined in UEFI Platform Initialization Specification 1.2
|
||||
Volume 5: Standards.
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _EFI_IDE_CONTROLLER_INIT_PROTOCOL_H_
|
||||
@@ -71,7 +71,7 @@ typedef enum {
|
||||
///
|
||||
/// The driver entity has completed resetting the devices behind
|
||||
/// the specified channel. This notification can be used to perform
|
||||
/// any chipset-specific programming.
|
||||
/// any chipset-specific programming.
|
||||
///
|
||||
EfiIdeAfterChannelReset,
|
||||
///
|
||||
@@ -84,13 +84,13 @@ typedef enum {
|
||||
///
|
||||
/// The driver entity is done with detecting the presence of
|
||||
/// devices behind the specified channel. This notification can be
|
||||
/// used to perform any chipset-specific programming.
|
||||
/// used to perform any chipset-specific programming.
|
||||
///
|
||||
EfiIdeBusAfterDevicePresenceDetection,
|
||||
///
|
||||
/// The IDE bus is requesting the IDE controller driver to
|
||||
/// reprogram the IDE controller hardware and thereby reset all
|
||||
/// the mode and timing settings to default settings.
|
||||
/// the mode and timing settings to default settings.
|
||||
///
|
||||
EfiIdeResetMode,
|
||||
EfiIdeBusPhaseMaximum
|
||||
@@ -135,11 +135,11 @@ typedef struct {
|
||||
typedef struct {
|
||||
///
|
||||
/// An enumeration defining various transfer protocols other than the protocols
|
||||
/// that exist at the time this specification was developed (i.e., PIO, single
|
||||
/// word DMA, multiword DMA, and UDMA). Each transfer protocol is associated
|
||||
/// with a mode. The various transfer protocols are defined by the ATA/ATAPI
|
||||
/// specification. This enumeration makes the interface extensible because we
|
||||
/// can support new transport protocols beyond UDMA. Type EFI_ATA_EXT_TRANSFER_PROTOCOL
|
||||
/// that exist at the time this specification was developed (i.e., PIO, single
|
||||
/// word DMA, multiword DMA, and UDMA). Each transfer protocol is associated
|
||||
/// with a mode. The various transfer protocols are defined by the ATA/ATAPI
|
||||
/// specification. This enumeration makes the interface extensible because we
|
||||
/// can support new transport protocols beyond UDMA. Type EFI_ATA_EXT_TRANSFER_PROTOCOL
|
||||
/// is defined below.
|
||||
///
|
||||
EFI_ATA_EXT_TRANSFER_PROTOCOL TransferProtocol;
|
||||
@@ -155,7 +155,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
///
|
||||
/// This field specifies the PIO mode. PIO modes are defined in the ATA/ATAPI
|
||||
/// specification. The ATA/ATAPI specification defines the enumeration. In
|
||||
/// specification. The ATA/ATAPI specification defines the enumeration. In
|
||||
/// other words, a value of 1 in this field means PIO mode 1. The actual meaning
|
||||
/// of PIO mode 1 is governed by the ATA/ATAPI specification. Type EFI_ATA_MODE
|
||||
/// is defined below.
|
||||
@@ -168,26 +168,26 @@ typedef struct {
|
||||
/// controllers will not support this transfer mode. The ATA/ATAPI specification defines
|
||||
/// the enumeration. In other words, a value of 1 in this field means single word DMA
|
||||
/// mode 1. The actual meaning of single word DMA mode 1 is governed by the ATA/
|
||||
/// ATAPI specification.
|
||||
/// ATAPI specification.
|
||||
///
|
||||
EFI_ATA_MODE SingleWordDmaMode;
|
||||
///
|
||||
/// This field specifies the multiword DMA mode. Various multiword DMA modes are
|
||||
/// defined in the ATA/ATAPI specification. A value of 1 in this field means multiword
|
||||
/// DMA mode 1. The actual meaning of multiword DMA mode 1 is governed by the
|
||||
/// ATA/ATAPI specification.
|
||||
/// ATA/ATAPI specification.
|
||||
///
|
||||
EFI_ATA_MODE MultiWordDmaMode;
|
||||
///
|
||||
/// This field specifies the ultra DMA (UDMA) mode. UDMA modes are defined in the
|
||||
/// ATA/ATAPI specification. A value of 1 in this field means UDMA mode 1. The
|
||||
/// actual meaning of UDMA mode 1 is governed by the ATA/ATAPI specification.
|
||||
/// actual meaning of UDMA mode 1 is governed by the ATA/ATAPI specification.
|
||||
///
|
||||
EFI_ATA_MODE UdmaMode;
|
||||
///
|
||||
/// The number of extended-mode bitmap entries. Extended modes describe transfer
|
||||
/// protocols beyond PIO, single word DMA, multiword DMA, and UDMA. This field
|
||||
/// can be zero and provides extensibility.
|
||||
/// can be zero and provides extensibility.
|
||||
///
|
||||
UINT32 ExtModeCount;
|
||||
///
|
||||
@@ -195,7 +195,7 @@ typedef struct {
|
||||
/// than the ones defined above (i.e., PIO, single word DMA, multiword DMA, and
|
||||
/// UDMA). This field is defined for extensibility. At this time, only one extended
|
||||
/// transfer protocol is defined to cover SATA transfers. Type
|
||||
/// EFI_ATA_EXTENDED_MODE is defined below.
|
||||
/// EFI_ATA_EXTENDED_MODE is defined below.
|
||||
///
|
||||
EFI_ATA_EXTENDED_MODE ExtMode[1];
|
||||
} EFI_ATA_COLLECTIVE_MODE;
|
||||
@@ -206,16 +206,16 @@ typedef struct {
|
||||
/// The definition of these two structures is not part of the protocol
|
||||
/// definition because the ATA/ATAPI Specification controls the definition
|
||||
/// of all the fields. The ATA/ATAPI Specification can obsolete old fields
|
||||
/// or redefine existing fields.
|
||||
/// or redefine existing fields.
|
||||
typedef ATA_IDENTIFY_DATA EFI_ATA_IDENTIFY_DATA;
|
||||
typedef ATAPI_IDENTIFY_DATA EFI_ATAPI_IDENTIFY_DATA;
|
||||
|
||||
///
|
||||
/// This flag indicates whether the IDENTIFY data is a response from an ATA device
|
||||
/// (EFI_ATA_IDENTIFY_DATA) or response from an ATAPI device
|
||||
/// (EFI_ATA_IDENTIFY_DATA) or response from an ATAPI device
|
||||
/// (EFI_ATAPI_IDENTIFY_DATA). According to the ATA/ATAPI specification,
|
||||
/// EFI_IDENTIFY_DATA is for an ATA device if bit 15 of the Config field is zero.
|
||||
/// The Config field is common to both EFI_ATA_IDENTIFY_DATA and
|
||||
/// EFI_IDENTIFY_DATA is for an ATA device if bit 15 of the Config field is zero.
|
||||
/// The Config field is common to both EFI_ATA_IDENTIFY_DATA and
|
||||
/// EFI_ATAPI_IDENTIFY_DATA.
|
||||
///
|
||||
#define EFI_ATAPI_DEVICE_IDENTIFY_DATA 0x8000
|
||||
@@ -225,8 +225,8 @@ typedef ATAPI_IDENTIFY_DATA EFI_ATAPI_IDENTIFY_DATA;
|
||||
///
|
||||
typedef union {
|
||||
///
|
||||
/// The data that is returned by an ATA device upon successful completion
|
||||
/// of the ATA IDENTIFY_DEVICE command.
|
||||
/// The data that is returned by an ATA device upon successful completion
|
||||
/// of the ATA IDENTIFY_DEVICE command.
|
||||
///
|
||||
EFI_ATA_IDENTIFY_DATA AtaData;
|
||||
///
|
||||
@@ -238,34 +238,34 @@ typedef union {
|
||||
|
||||
/**
|
||||
Returns the information about the specified IDE channel.
|
||||
|
||||
|
||||
This function can be used to obtain information about a particular IDE channel.
|
||||
The driver entity uses this information during the enumeration process.
|
||||
|
||||
If Enabled is set to FALSE, the driver entity will not scan the channel. Note
|
||||
The driver entity uses this information during the enumeration process.
|
||||
|
||||
If Enabled is set to FALSE, the driver entity will not scan the channel. Note
|
||||
that it will not prevent an operating system driver from scanning the channel.
|
||||
|
||||
For most of today's controllers, MaxDevices will either be 1 or 2. For SATA
|
||||
controllers, this value will always be 1. SATA configurations can contain SATA
|
||||
|
||||
For most of today's controllers, MaxDevices will either be 1 or 2. For SATA
|
||||
controllers, this value will always be 1. SATA configurations can contain SATA
|
||||
port multipliers. SATA port multipliers behave like SATA bridges and can support
|
||||
up to 16 devices on the other side. If a SATA port out of the IDE controller
|
||||
is connected to a port multiplier, MaxDevices will be set to the number of SATA
|
||||
devices that the port multiplier supports. Because today's port multipliers
|
||||
support up to fifteen SATA devices, this number can be as large as fifteen. The IDE
|
||||
bus driver is required to scan for the presence of port multipliers behind an SATA
|
||||
controller and enumerate up to MaxDevices number of devices behind the port
|
||||
multiplier.
|
||||
|
||||
In this context, the devices behind a port multiplier constitute a channel.
|
||||
|
||||
up to 16 devices on the other side. If a SATA port out of the IDE controller
|
||||
is connected to a port multiplier, MaxDevices will be set to the number of SATA
|
||||
devices that the port multiplier supports. Because today's port multipliers
|
||||
support up to fifteen SATA devices, this number can be as large as fifteen. The IDE
|
||||
bus driver is required to scan for the presence of port multipliers behind an SATA
|
||||
controller and enumerate up to MaxDevices number of devices behind the port
|
||||
multiplier.
|
||||
|
||||
In this context, the devices behind a port multiplier constitute a channel.
|
||||
|
||||
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
|
||||
@param[in] Channel Zero-based channel number.
|
||||
@param[out] Enabled TRUE if this channel is enabled. Disabled channels
|
||||
@param[out] Enabled TRUE if this channel is enabled. Disabled channels
|
||||
are not scanned to see if any devices are present.
|
||||
@param[out] MaxDevices The maximum number of IDE devices that the bus driver
|
||||
can expect on this channel. For the ATA/ATAPI
|
||||
specification, version 6, this number will either be
|
||||
one or two. For Serial ATA (SATA) configurations with a
|
||||
can expect on this channel. For the ATA/ATAPI
|
||||
specification, version 6, this number will either be
|
||||
one or two. For Serial ATA (SATA) configurations with a
|
||||
port multiplier, this number can be as large as fifteen.
|
||||
|
||||
@retval EFI_SUCCESS Information was returned without any errors.
|
||||
@@ -284,13 +284,13 @@ EFI_STATUS
|
||||
/**
|
||||
The notifications from the driver entity that it is about to enter a certain
|
||||
phase of the IDE channel enumeration process.
|
||||
|
||||
This function can be used to notify the IDE controller driver to perform
|
||||
specific actions, including any chipset-specific initialization, so that the
|
||||
chipset is ready to enter the next phase. Seven notification points are defined
|
||||
at this time.
|
||||
|
||||
More synchronization points may be added as required in the future.
|
||||
|
||||
This function can be used to notify the IDE controller driver to perform
|
||||
specific actions, including any chipset-specific initialization, so that the
|
||||
chipset is ready to enter the next phase. Seven notification points are defined
|
||||
at this time.
|
||||
|
||||
More synchronization points may be added as required in the future.
|
||||
|
||||
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
|
||||
@param[in] Phase The phase during enumeration.
|
||||
@@ -299,9 +299,9 @@ EFI_STATUS
|
||||
@retval EFI_SUCCESS The notification was accepted without any errors.
|
||||
@retval EFI_UNSUPPORTED Phase is not supported.
|
||||
@retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).
|
||||
@retval EFI_NOT_READY This phase cannot be entered at this time; for
|
||||
example, an attempt was made to enter a Phase
|
||||
without having entered one or more previous
|
||||
@retval EFI_NOT_READY This phase cannot be entered at this time; for
|
||||
example, an attempt was made to enter a Phase
|
||||
without having entered one or more previous
|
||||
Phase.
|
||||
|
||||
**/
|
||||
@@ -316,32 +316,32 @@ EFI_STATUS
|
||||
/**
|
||||
Submits the device information to the IDE controller driver.
|
||||
|
||||
This function is used by the driver entity to pass detailed information about
|
||||
a particular device to the IDE controller driver. The driver entity obtains
|
||||
This function is used by the driver entity to pass detailed information about
|
||||
a particular device to the IDE controller driver. The driver entity obtains
|
||||
this information by issuing an ATA or ATAPI IDENTIFY_DEVICE command. IdentifyData
|
||||
is the pointer to the response data buffer. The IdentifyData buffer is owned
|
||||
by the driver entity, and the IDE controller driver must make a local copy
|
||||
of the entire buffer or parts of the buffer as needed. The original IdentifyData
|
||||
is the pointer to the response data buffer. The IdentifyData buffer is owned
|
||||
by the driver entity, and the IDE controller driver must make a local copy
|
||||
of the entire buffer or parts of the buffer as needed. The original IdentifyData
|
||||
buffer pointer may not be valid when
|
||||
|
||||
|
||||
- EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() or
|
||||
- EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode() is called at a later point.
|
||||
|
||||
The IDE controller driver may consult various fields of EFI_IDENTIFY_DATA to
|
||||
compute the optimum mode for the device. These fields are not limited to the
|
||||
timing information. For example, an implementation of the IDE controller driver
|
||||
may examine the vendor and type/mode field to match known bad drives.
|
||||
|
||||
The driver entity may submit drive information in any order, as long as it
|
||||
submits information for all the devices belonging to the enumeration group
|
||||
|
||||
The IDE controller driver may consult various fields of EFI_IDENTIFY_DATA to
|
||||
compute the optimum mode for the device. These fields are not limited to the
|
||||
timing information. For example, an implementation of the IDE controller driver
|
||||
may examine the vendor and type/mode field to match known bad drives.
|
||||
|
||||
The driver entity may submit drive information in any order, as long as it
|
||||
submits information for all the devices belonging to the enumeration group
|
||||
before EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() is called for any device
|
||||
in that enumeration group. If a device is absent, EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
should be called with IdentifyData set to NULL. The IDE controller driver may
|
||||
not have any other mechanism to know whether a device is present or not. Therefore,
|
||||
setting IdentifyData to NULL does not constitute an error condition.
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData() can be called only once for a
|
||||
given (Channel, Device) pair.
|
||||
|
||||
should be called with IdentifyData set to NULL. The IDE controller driver may
|
||||
not have any other mechanism to know whether a device is present or not. Therefore,
|
||||
setting IdentifyData to NULL does not constitute an error condition.
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData() can be called only once for a
|
||||
given (Channel, Device) pair.
|
||||
|
||||
@param[in] This A pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
|
||||
@param[in] Channel Zero-based channel number.
|
||||
@param[in] Device Zero-based device number on the Channel.
|
||||
@@ -364,31 +364,31 @@ EFI_STATUS
|
||||
/**
|
||||
Disqualifies specific modes for an IDE device.
|
||||
|
||||
This function allows the driver entity or other drivers (such as platform
|
||||
This function allows the driver entity or other drivers (such as platform
|
||||
drivers) to reject certain timing modes and request the IDE controller driver
|
||||
to recalculate modes. This function allows the driver entity and the IDE
|
||||
controller driver to negotiate the timings on a per-device basis. This function
|
||||
is useful in the case of drives that lie about their capabilities. An example
|
||||
is when the IDE device fails to accept the timing modes that are calculated
|
||||
to recalculate modes. This function allows the driver entity and the IDE
|
||||
controller driver to negotiate the timings on a per-device basis. This function
|
||||
is useful in the case of drives that lie about their capabilities. An example
|
||||
is when the IDE device fails to accept the timing modes that are calculated
|
||||
by the IDE controller driver based on the response to the Identify Drive command.
|
||||
|
||||
If the driver entity does not want to limit the ATA timing modes and leave that
|
||||
decision to the IDE controller driver, it can either not call this function for
|
||||
the given device or call this function and set the Valid flag to FALSE for all
|
||||
If the driver entity does not want to limit the ATA timing modes and leave that
|
||||
decision to the IDE controller driver, it can either not call this function for
|
||||
the given device or call this function and set the Valid flag to FALSE for all
|
||||
modes that are listed in EFI_ATA_COLLECTIVE_MODE.
|
||||
|
||||
The driver entity may disqualify modes for a device in any order and any number
|
||||
|
||||
The driver entity may disqualify modes for a device in any order and any number
|
||||
of times.
|
||||
|
||||
This function can be called multiple times to invalidate multiple modes of the
|
||||
same type (e.g., Programmed Input/Output [PIO] modes 3 and 4). See the ATA/ATAPI
|
||||
specification for more information on PIO modes.
|
||||
|
||||
|
||||
This function can be called multiple times to invalidate multiple modes of the
|
||||
same type (e.g., Programmed Input/Output [PIO] modes 3 and 4). See the ATA/ATAPI
|
||||
specification for more information on PIO modes.
|
||||
|
||||
For Serial ATA (SATA) controllers, this member function can be used to disqualify
|
||||
a higher transfer rate mode on a given channel. For example, a platform driver
|
||||
may inform the IDE controller driver to not use second-generation (Gen2) speeds
|
||||
may inform the IDE controller driver to not use second-generation (Gen2) speeds
|
||||
for a certain SATA drive.
|
||||
|
||||
|
||||
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
|
||||
@param[in] Channel The zero-based channel number.
|
||||
@param[in] Device The zero-based device number on the Channel.
|
||||
@@ -399,7 +399,7 @@ EFI_STATUS
|
||||
@retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).
|
||||
@retval EFI_INVALID_PARAMETER Device is invalid.
|
||||
@retval EFI_INVALID_PARAMETER IdentifyData is NULL.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -414,39 +414,39 @@ EFI_STATUS
|
||||
Returns the information about the optimum modes for the specified IDE device.
|
||||
|
||||
This function is used by the driver entity to obtain the optimum ATA modes for
|
||||
a specific device. The IDE controller driver takes into account the following
|
||||
a specific device. The IDE controller driver takes into account the following
|
||||
while calculating the mode:
|
||||
- The IdentifyData inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
- The BadModes inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode()
|
||||
|
||||
The driver entity is required to call EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
for all the devices that belong to an enumeration group before calling
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() for any device in the same group.
|
||||
|
||||
The IDE controller driver will use controller- and possibly platform-specific
|
||||
algorithms to arrive at SupportedModes. The IDE controller may base its
|
||||
decision on user preferences and other considerations as well. This function
|
||||
may be called multiple times because the driver entity may renegotiate the mode
|
||||
The driver entity is required to call EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
for all the devices that belong to an enumeration group before calling
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() for any device in the same group.
|
||||
|
||||
The IDE controller driver will use controller- and possibly platform-specific
|
||||
algorithms to arrive at SupportedModes. The IDE controller may base its
|
||||
decision on user preferences and other considerations as well. This function
|
||||
may be called multiple times because the driver entity may renegotiate the mode
|
||||
with the IDE controller driver using EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode().
|
||||
|
||||
The driver entity may collect timing information for various devices in any
|
||||
|
||||
The driver entity may collect timing information for various devices in any
|
||||
order. The driver entity is responsible for making sure that all the dependencies
|
||||
are satisfied. For example, the SupportedModes information for device A that
|
||||
was previously returned may become stale after a call to
|
||||
are satisfied. For example, the SupportedModes information for device A that
|
||||
was previously returned may become stale after a call to
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode() for device B.
|
||||
|
||||
The buffer SupportedModes is allocated by the callee because the caller does
|
||||
not necessarily know the size of the buffer. The type EFI_ATA_COLLECTIVE_MODE
|
||||
is defined in a way that allows for future extensibility and can be of variable
|
||||
length. This memory pool should be deallocated by the caller when it is no
|
||||
longer necessary.
|
||||
|
||||
The IDE controller driver for a Serial ATA (SATA) controller can use this
|
||||
member function to force a lower speed (first-generation [Gen1] speeds on a
|
||||
second-generation [Gen2]-capable hardware). The IDE controller driver can
|
||||
also allow the driver entity to stay with the speed that has been negotiated
|
||||
|
||||
The buffer SupportedModes is allocated by the callee because the caller does
|
||||
not necessarily know the size of the buffer. The type EFI_ATA_COLLECTIVE_MODE
|
||||
is defined in a way that allows for future extensibility and can be of variable
|
||||
length. This memory pool should be deallocated by the caller when it is no
|
||||
longer necessary.
|
||||
|
||||
The IDE controller driver for a Serial ATA (SATA) controller can use this
|
||||
member function to force a lower speed (first-generation [Gen1] speeds on a
|
||||
second-generation [Gen2]-capable hardware). The IDE controller driver can
|
||||
also allow the driver entity to stay with the speed that has been negotiated
|
||||
by the physical layer.
|
||||
|
||||
|
||||
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
|
||||
@param[in] Channel A zero-based channel number.
|
||||
@param[in] Device A zero-based device number on the Channel.
|
||||
@@ -454,13 +454,13 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS SupportedModes was returned.
|
||||
@retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).
|
||||
@retval EFI_INVALID_PARAMETER Device is invalid.
|
||||
@retval EFI_INVALID_PARAMETER Device is invalid.
|
||||
@retval EFI_INVALID_PARAMETER SupportedModes is NULL.
|
||||
@retval EFI_NOT_READY Modes cannot be calculated due to a lack of
|
||||
data. This error may happen if
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
and EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyData()
|
||||
were not called for at least one drive in the
|
||||
@retval EFI_NOT_READY Modes cannot be calculated due to a lack of
|
||||
data. This error may happen if
|
||||
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
|
||||
and EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyData()
|
||||
were not called for at least one drive in the
|
||||
same enumeration group.
|
||||
|
||||
**/
|
||||
@@ -477,9 +477,9 @@ EFI_STATUS
|
||||
Commands the IDE controller driver to program the IDE controller hardware
|
||||
so that the specified device can operate at the specified mode.
|
||||
|
||||
This function is used by the driver entity to instruct the IDE controller
|
||||
driver to program the IDE controller hardware to the specified modes. This
|
||||
function can be called only once for a particular device. For a Serial ATA
|
||||
This function is used by the driver entity to instruct the IDE controller
|
||||
driver to program the IDE controller hardware to the specified modes. This
|
||||
function can be called only once for a particular device. For a Serial ATA
|
||||
(SATA) Advanced Host Controller Interface (AHCI) controller, no controller-
|
||||
specific programming may be required.
|
||||
|
||||
@@ -513,48 +513,48 @@ struct _EFI_IDE_CONTROLLER_INIT_PROTOCOL {
|
||||
/// Returns the information about a specific channel.
|
||||
///
|
||||
EFI_IDE_CONTROLLER_GET_CHANNEL_INFO GetChannelInfo;
|
||||
|
||||
|
||||
///
|
||||
/// The notification that the driver entity is about to enter the
|
||||
/// specified phase during the enumeration process.
|
||||
/// specified phase during the enumeration process.
|
||||
///
|
||||
EFI_IDE_CONTROLLER_NOTIFY_PHASE NotifyPhase;
|
||||
|
||||
|
||||
///
|
||||
/// Submits the Drive Identify data that was returned by the device.
|
||||
///
|
||||
EFI_IDE_CONTROLLER_SUBMIT_DATA SubmitData;
|
||||
|
||||
|
||||
///
|
||||
/// Submits information about modes that should be disqualified. The specified
|
||||
/// IDE device does not support these modes and these modes should not be
|
||||
/// Submits information about modes that should be disqualified. The specified
|
||||
/// IDE device does not support these modes and these modes should not be
|
||||
/// returned by EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode()
|
||||
///
|
||||
EFI_IDE_CONTROLLER_DISQUALIFY_MODE DisqualifyMode;
|
||||
|
||||
|
||||
///
|
||||
/// Calculates and returns the optimum mode for a particular IDE device.
|
||||
///
|
||||
EFI_IDE_CONTROLLER_CALCULATE_MODE CalculateMode;
|
||||
|
||||
|
||||
///
|
||||
/// Programs the IDE controller hardware to the default timing or per the modes
|
||||
/// that were returned by the last call to EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode().
|
||||
/// that were returned by the last call to EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode().
|
||||
///
|
||||
EFI_IDE_CONTROLLER_SET_TIMING SetTiming;
|
||||
|
||||
|
||||
///
|
||||
/// Set to TRUE if the enumeration group includes all the channels that are
|
||||
/// produced by this controller. Set to FALSE if an enumeration group consists of
|
||||
/// only one channel.
|
||||
/// only one channel.
|
||||
///
|
||||
BOOLEAN EnumAll;
|
||||
|
||||
|
||||
///
|
||||
/// The number of channels that are produced by this controller. Parallel ATA
|
||||
/// (PATA) controllers can support up to two channels. Advanced Host Controller
|
||||
/// (PATA) controllers can support up to two channels. Advanced Host Controller
|
||||
/// Interface (AHCI) Serial ATA (SATA) controllers can support up to 32 channels,
|
||||
/// each of which can have up to one device. In the presence of a multiplier,
|
||||
/// each of which can have up to one device. In the presence of a multiplier,
|
||||
/// each channel can have fifteen devices.
|
||||
///
|
||||
UINT8 ChannelCount;
|
||||
|
@@ -1,64 +1,64 @@
|
||||
/** @file
|
||||
This file declares Incompatible PCI Device Support Protocol
|
||||
|
||||
Allows the PCI bus driver to support resource allocation for some PCI devices
|
||||
|
||||
Allows the PCI bus driver to support resource allocation for some PCI devices
|
||||
that do not comply with the PCI Specification.
|
||||
|
||||
@par Note:
|
||||
This protocol is optional. Only those platforms that implement this protocol
|
||||
will have the capability to support incompatible PCI devices. The absence of
|
||||
this protocol can cause the PCI bus driver to configure these incompatible
|
||||
PCI devices incorrectly. As a result, these devices may not work properly.
|
||||
|
||||
|
||||
@par Note:
|
||||
This protocol is optional. Only those platforms that implement this protocol
|
||||
will have the capability to support incompatible PCI devices. The absence of
|
||||
this protocol can cause the PCI bus driver to configure these incompatible
|
||||
PCI devices incorrectly. As a result, these devices may not work properly.
|
||||
|
||||
The EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL is used by the PCI bus driver
|
||||
to support resource allocation for some PCI devices that do not comply with the
|
||||
PCI Specification. This protocol can find some incompatible PCI devices and
|
||||
report their special resource requirements to the PCI bus driver. The generic
|
||||
PCI bus driver does not have prior knowledge of any incompatible PCI devices.
|
||||
It interfaces with the EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL to find out
|
||||
if a device is incompatible and to obtain the special configuration requirements
|
||||
to support resource allocation for some PCI devices that do not comply with the
|
||||
PCI Specification. This protocol can find some incompatible PCI devices and
|
||||
report their special resource requirements to the PCI bus driver. The generic
|
||||
PCI bus driver does not have prior knowledge of any incompatible PCI devices.
|
||||
It interfaces with the EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL to find out
|
||||
if a device is incompatible and to obtain the special configuration requirements
|
||||
for a specific incompatible PCI device.
|
||||
|
||||
This protocol is optional, and only one instance of this protocol can be present
|
||||
in the system. If a platform supports this protocol, this protocol is produced
|
||||
by a Driver Execution Environment (DXE) driver and must be made available before
|
||||
the Boot Device Selection (BDS) phase. The PCI bus driver will look for the
|
||||
presence of this protocol before it begins PCI enumeration. If this protocol
|
||||
in the system. If a platform supports this protocol, this protocol is produced
|
||||
by a Driver Execution Environment (DXE) driver and must be made available before
|
||||
the Boot Device Selection (BDS) phase. The PCI bus driver will look for the
|
||||
presence of this protocol before it begins PCI enumeration. If this protocol
|
||||
exists in a platform, it indicates that the platform has the capability to support
|
||||
those incompatible PCI devices. However, final support for incompatible PCI
|
||||
devices still depends on the implementation of the PCI bus driver. The PCI bus
|
||||
driver may fully, partially, or not even support these incompatible devices.
|
||||
those incompatible PCI devices. However, final support for incompatible PCI
|
||||
devices still depends on the implementation of the PCI bus driver. The PCI bus
|
||||
driver may fully, partially, or not even support these incompatible devices.
|
||||
|
||||
During PCI bus enumeration, the PCI bus driver will probe the PCI Base Address
|
||||
Registers (BARs) for each PCI device regardless of whether the PCI device is
|
||||
incompatible or not to determine the resource requirements so that the PCI bus
|
||||
driver can invoke the proper PCI resources for them. Generally, this resource
|
||||
During PCI bus enumeration, the PCI bus driver will probe the PCI Base Address
|
||||
Registers (BARs) for each PCI device regardless of whether the PCI device is
|
||||
incompatible or not to determine the resource requirements so that the PCI bus
|
||||
driver can invoke the proper PCI resources for them. Generally, this resource
|
||||
information includes the following:
|
||||
- Resource type
|
||||
- Resource length
|
||||
- Alignment
|
||||
|
||||
|
||||
However, some incompatible PCI devices may have special requirements. As a result,
|
||||
the length or the alignment that is derived through BAR probing may not be exactly
|
||||
the same as the actual resource requirement of the device. For example, there
|
||||
the length or the alignment that is derived through BAR probing may not be exactly
|
||||
the same as the actual resource requirement of the device. For example, there
|
||||
are some devices that request I/O resources at a length of 0x100 from their I/O
|
||||
BAR, but these incompatible devices will never work correctly if an odd I/O base
|
||||
address, such as 0x100, 0x300, or 0x500, is assigned to the BAR. Instead, these
|
||||
devices request an even base address, such as 0x200 or 0x400. The Incompatible
|
||||
PCI Device Support Protocol can then be used to obtain these special resource
|
||||
requirements for these incompatible PCI devices. In this way, the PCI bus driver
|
||||
will take special consideration for these devices during PCI resource allocation
|
||||
BAR, but these incompatible devices will never work correctly if an odd I/O base
|
||||
address, such as 0x100, 0x300, or 0x500, is assigned to the BAR. Instead, these
|
||||
devices request an even base address, such as 0x200 or 0x400. The Incompatible
|
||||
PCI Device Support Protocol can then be used to obtain these special resource
|
||||
requirements for these incompatible PCI devices. In this way, the PCI bus driver
|
||||
will take special consideration for these devices during PCI resource allocation
|
||||
to ensure that they can work correctly.
|
||||
|
||||
|
||||
This protocol may support the following incompatible PCI BAR types:
|
||||
- I/O or memory length that is different from what the BAR reports
|
||||
- I/O or memory alignment that is different from what the BAR reports
|
||||
- Fixed I/O or memory base address
|
||||
|
||||
See the Conventional PCI Specification 3.0 for the details of how a PCI BAR
|
||||
|
||||
See the Conventional PCI Specification 3.0 for the details of how a PCI BAR
|
||||
reports the resource length and the alignment that it requires.
|
||||
|
||||
Copyright (c) 2007 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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,7 +68,7 @@
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is defined in UEFI Platform Initialization Specification 1.2
|
||||
This Protocol is defined in UEFI Platform Initialization Specification 1.2
|
||||
Volume 5: Standards
|
||||
|
||||
**/
|
||||
@@ -92,51 +92,51 @@ typedef struct _EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL EFI_INCOMPATIBLE_PC
|
||||
/**
|
||||
Returns a list of ACPI resource descriptors that detail the special resource
|
||||
configuration requirements for an incompatible PCI device.
|
||||
|
||||
This function returns a list of ACPI resource descriptors that detail the
|
||||
special resource configuration requirements for an incompatible PCI device.
|
||||
|
||||
|
||||
This function returns a list of ACPI resource descriptors that detail the
|
||||
special resource configuration requirements for an incompatible PCI device.
|
||||
|
||||
Prior to bus enumeration, the PCI bus driver will look for the presence
|
||||
of the EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL. Only one instance of this
|
||||
protocol can be present in the system. For each PCI device that the PCI bus
|
||||
protocol can be present in the system. For each PCI device that the PCI bus
|
||||
driver discovers, the PCI bus driver calls this function with the device's vendor
|
||||
ID, device ID, revision ID, subsystem vendor ID, and subsystem device ID. If the
|
||||
VendorId, DeviceId, RevisionId, SubsystemVendorId, or SubsystemDeviceId value is
|
||||
set to (UINTN)-1, that field will be ignored. The ID values that are not (UINTN)-1
|
||||
will be used to identify the current device.
|
||||
|
||||
This function will only return EFI_SUCCESS. However, if the device is an
|
||||
incompatible PCI device, a list of ACPI resource descriptors will be returned
|
||||
in Configuration. Otherwise, NULL will be returned in Configuration instead.
|
||||
The PCI bus driver does not need to allocate memory for Configuration. However,
|
||||
it is the PCI bus driver's responsibility to free it. The PCI bus driver then
|
||||
can configure this device with the information that is derived from this list
|
||||
will be used to identify the current device.
|
||||
|
||||
This function will only return EFI_SUCCESS. However, if the device is an
|
||||
incompatible PCI device, a list of ACPI resource descriptors will be returned
|
||||
in Configuration. Otherwise, NULL will be returned in Configuration instead.
|
||||
The PCI bus driver does not need to allocate memory for Configuration. However,
|
||||
it is the PCI bus driver's responsibility to free it. The PCI bus driver then
|
||||
can configure this device with the information that is derived from this list
|
||||
of resource nodes, rather than the result of BAR probing.
|
||||
|
||||
Only the following two resource descriptor types from the ACPI Specification
|
||||
Only the following two resource descriptor types from the ACPI Specification
|
||||
may be used to describe the incompatible PCI device resource requirements:
|
||||
- QWORD Address Space Descriptor (ACPI 2.0, section 6.4.3.5.1; also ACPI 3.0)
|
||||
- End Tag (ACPI 2.0, section 6.4.2.8; also ACPI 3.0)
|
||||
|
||||
The QWORD Address Space Descriptor can describe memory, I/O, and bus number
|
||||
ranges for dynamic or fixed resources. The configuration of a PCI root bridge
|
||||
is described with one or more QWORD Address Space Descriptors, followed by an
|
||||
The QWORD Address Space Descriptor can describe memory, I/O, and bus number
|
||||
ranges for dynamic or fixed resources. The configuration of a PCI root bridge
|
||||
is described with one or more QWORD Address Space Descriptors, followed by an
|
||||
End Tag. See the ACPI Specification for details on the field values.
|
||||
|
||||
@param[in] This Pointer to the EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL
|
||||
|
||||
@param[in] This Pointer to the EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL
|
||||
instance.
|
||||
@param[in] VendorId A unique ID to identify the manufacturer of
|
||||
@param[in] VendorId A unique ID to identify the manufacturer of
|
||||
the PCI device. See the Conventional PCI
|
||||
Specification 3.0 for details.
|
||||
@param[in] DeviceId A unique ID to identify the particular PCI
|
||||
device. See the Conventional PCI Specification
|
||||
@param[in] DeviceId A unique ID to identify the particular PCI
|
||||
device. See the Conventional PCI Specification
|
||||
3.0 for details.
|
||||
@param[in] RevisionId A PCI device-specific revision identifier.
|
||||
@param[in] RevisionId A PCI device-specific revision identifier.
|
||||
See the Conventional PCI Specification 3.0
|
||||
for details.
|
||||
@param[in] SubsystemVendorId Specifies the subsystem vendor ID. See the
|
||||
@param[in] SubsystemVendorId Specifies the subsystem vendor ID. See the
|
||||
Conventional PCI Specification 3.0 for details.
|
||||
@param[in] SubsystemDeviceId Specifies the subsystem device ID. See the
|
||||
@param[in] SubsystemDeviceId Specifies the subsystem device ID. See the
|
||||
Conventional PCI Specification 3.0 for details.
|
||||
@param[out] Configuration A list of ACPI resource descriptors that detail
|
||||
the configuration requirement.
|
||||
|
@@ -6,21 +6,21 @@
|
||||
- EFI IPv4 Variable (deprecated in UEFI 2.4B)
|
||||
- EFI IPv4 Protocol.
|
||||
The EFI IPv4 Protocol provides basic network IPv4 packet I/O services,
|
||||
which includes support foR a subset of the Internet Control Message
|
||||
which includes support foR a subset of the Internet Control Message
|
||||
Protocol (ICMP) and may include support for the Internet Group Management
|
||||
Protocol (IGMP).
|
||||
|
||||
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
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:
|
||||
This Protocol is introduced in UEFI Specification 2.0.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
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:
|
||||
This Protocol is introduced in UEFI Specification 2.0.
|
||||
|
||||
**/
|
||||
|
||||
@@ -49,7 +49,7 @@ typedef struct {
|
||||
EFI_HANDLE InstanceHandle;
|
||||
EFI_IPv4_ADDRESS Ip4Address;
|
||||
EFI_IPv4_ADDRESS SubnetMask;
|
||||
} EFI_IP4_ADDRESS_PAIR;
|
||||
} EFI_IP4_ADDRESS_PAIR;
|
||||
|
||||
///
|
||||
/// EFI_IP4_VARIABLE_DATA is deprecated in the UEFI 2.4B and should not be used any more.
|
||||
@@ -271,7 +271,7 @@ typedef struct {
|
||||
|
||||
/**
|
||||
Gets the current operational settings for this instance of the EFI IPv4 Protocol driver.
|
||||
|
||||
|
||||
The GetModeData() function returns the current operational mode data for this
|
||||
driver instance. The data fields in EFI_IP4_MODE_DATA are read only. This
|
||||
function is used optionally to retrieve the operational mode data of underlying
|
||||
@@ -294,11 +294,11 @@ EFI_STATUS
|
||||
OUT EFI_IP4_MODE_DATA *Ip4ModeData OPTIONAL,
|
||||
OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL,
|
||||
OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
Assigns an IPv4 address and subnet mask to this EFI IPv4 Protocol driver instance.
|
||||
|
||||
|
||||
The Configure() function is used to set, change, or reset the operational
|
||||
parameters and filter settings for this EFI IPv4 Protocol instance. Until these
|
||||
parameters have been set, no network traffic can be sent or received by this
|
||||
@@ -307,14 +307,14 @@ EFI_STATUS
|
||||
parameters have been set again. Each EFI IPv4 Protocol instance can be started
|
||||
and stopped independently of each other by enabling or disabling their receive
|
||||
filter settings with the Configure() function.
|
||||
|
||||
|
||||
When IpConfigData.UseDefaultAddress is set to FALSE, the new station address will
|
||||
be appended as an alias address into the addresses list in the EFI IPv4 Protocol
|
||||
driver. While set to TRUE, Configure() will trigger the EFI_IP4_CONFIG_PROTOCOL
|
||||
to retrieve the default IPv4 address if it is not available yet. Clients could
|
||||
frequently call GetModeData() to check the status to ensure that the default IPv4
|
||||
address is ready.
|
||||
|
||||
|
||||
If operational parameters are reset or changed, any pending transmit and receive
|
||||
requests will be cancelled. Their completion token status will be set to EFI_ABORTED
|
||||
and their events will be signaled.
|
||||
@@ -328,7 +328,7 @@ EFI_STATUS
|
||||
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
|
||||
This is NULL.
|
||||
IpConfigData.StationAddress is not a unicast IPv4 address.
|
||||
IpConfigData.SubnetMask is not a valid IPv4 subnet
|
||||
IpConfigData.SubnetMask is not a valid IPv4 subnet
|
||||
@retval EFI_UNSUPPORTED One or more of the following conditions is TRUE:
|
||||
A configuration protocol (DHCP, BOOTP, RARP, etc.) could
|
||||
not be located when clients choose to use the default IPv4
|
||||
@@ -342,20 +342,20 @@ EFI_STATUS
|
||||
Protocol driver instance is not opened.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_IP4_CONFIGURE)(
|
||||
IN EFI_IP4_PROTOCOL *This,
|
||||
IN EFI_IP4_CONFIG_DATA *IpConfigData OPTIONAL
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
Joins and leaves multicast groups.
|
||||
|
||||
|
||||
The Groups() function is used to join and leave multicast group sessions. Joining
|
||||
a group will enable reception of matching multicast packets. Leaving a group will
|
||||
disable the multicast packet reception.
|
||||
|
||||
|
||||
If JoinFlag is FALSE and GroupAddress is NULL, all joined groups will be left.
|
||||
|
||||
@param This The pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@@ -379,32 +379,32 @@ EFI_STATUS
|
||||
@retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_IP4_GROUPS)(
|
||||
IN EFI_IP4_PROTOCOL *This,
|
||||
IN BOOLEAN JoinFlag,
|
||||
IN EFI_IPv4_ADDRESS *GroupAddress OPTIONAL
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
Adds and deletes routing table entries.
|
||||
|
||||
The Routes() function adds a route to or deletes a route from the routing table.
|
||||
|
||||
|
||||
Routes are determined by comparing the SubnetAddress with the destination IPv4
|
||||
address arithmetically AND-ed with the SubnetMask. The gateway address must be
|
||||
on the same subnet as the configured station address.
|
||||
|
||||
|
||||
The default route is added with SubnetAddress and SubnetMask both set to 0.0.0.0.
|
||||
The default route matches all destination IPv4 addresses that do not match any
|
||||
other routes.
|
||||
|
||||
|
||||
A GatewayAddress that is zero is a nonroute. Packets are sent to the destination
|
||||
IP address if it can be found in the ARP cache or on the local subnet. One automatic
|
||||
nonroute entry will be inserted into the routing table for outgoing packets that
|
||||
are addressed to a local subnet (gateway address of 0.0.0.0).
|
||||
|
||||
|
||||
Each EFI IPv4 Protocol instance has its own independent routing table. Those EFI
|
||||
IPv4 Protocol instances that use the default IPv4 address will also have copies
|
||||
of the routing table that was provided by the EFI_IP4_CONFIG_PROTOCOL, and these
|
||||
@@ -435,17 +435,17 @@ EFI_STATUS
|
||||
@retval EFI_NOT_FOUND This route is not in the routing table (when DeleteRoute is TRUE).
|
||||
@retval EFI_ACCESS_DENIED The route is already defined in the routing table (when
|
||||
DeleteRoute is FALSE).
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_IP4_ROUTES)(
|
||||
IN EFI_IP4_PROTOCOL *This,
|
||||
IN BOOLEAN DeleteRoute,
|
||||
IN EFI_IPv4_ADDRESS *SubnetAddress,
|
||||
IN EFI_IPv4_ADDRESS *SubnetMask,
|
||||
IN EFI_IPv4_ADDRESS *GatewayAddress
|
||||
);
|
||||
IN EFI_IPv4_ADDRESS *GatewayAddress
|
||||
);
|
||||
|
||||
/**
|
||||
Places outgoing data packets into the transmit queue.
|
||||
@@ -465,7 +465,7 @@ EFI_STATUS
|
||||
@retval EFI_ACCESS_DENIED The transmit completion token with the same Token.Event
|
||||
was already in the transmit queue.
|
||||
@retval EFI_NOT_READY The completion token could not be queued because the transmit
|
||||
queue is full.
|
||||
queue is full.
|
||||
@retval EFI_NOT_FOUND Not route is found to destination address.
|
||||
@retval EFI_OUT_OF_RESOURCES Could not queue the transmit data.
|
||||
@retval EFI_BUFFER_TOO_SMALL Token.Packet.TxData.TotalDataLength is too
|
||||
@@ -476,19 +476,19 @@ EFI_STATUS
|
||||
DoNotFragment is TRUE.)
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_IP4_TRANSMIT)(
|
||||
IN EFI_IP4_PROTOCOL *This,
|
||||
IN EFI_IP4_COMPLETION_TOKEN *Token
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
Places a receiving request into the receiving queue.
|
||||
|
||||
|
||||
The Receive() function places a completion token into the receive packet queue.
|
||||
This function is always asynchronous.
|
||||
|
||||
|
||||
The Token.Event field in the completion token must be filled in by the caller
|
||||
and cannot be NULL. When the receive operation completes, the EFI IPv4 Protocol
|
||||
driver updates the Token.Status and Token.Packet.RxData fields and the Token.Event
|
||||
@@ -515,16 +515,16 @@ EFI_STATUS
|
||||
@retval EFI_ICMP_ERROR An ICMP error packet was received.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_IP4_RECEIVE)(
|
||||
IN EFI_IP4_PROTOCOL *This,
|
||||
IN EFI_IP4_COMPLETION_TOKEN *Token
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
Abort an asynchronous transmit or receive request.
|
||||
|
||||
|
||||
The Cancel() function is used to abort a pending transmit or receive request.
|
||||
If the token is in the transmit or receive request queues, after calling this
|
||||
function, Token->Status will be set to EFI_ABORTED and then Token->Event will
|
||||
@@ -556,16 +556,16 @@ EFI_STATUS
|
||||
(EFIAPI *EFI_IP4_CANCEL)(
|
||||
IN EFI_IP4_PROTOCOL *This,
|
||||
IN EFI_IP4_COMPLETION_TOKEN *Token OPTIONAL
|
||||
);
|
||||
|
||||
);
|
||||
|
||||
/**
|
||||
Polls for incoming data packets and processes outgoing data packets.
|
||||
|
||||
|
||||
The Poll() function polls for incoming data packets and processes outgoing data
|
||||
packets. Network drivers and applications can call the EFI_IP4_PROTOCOL.Poll()
|
||||
function to increase the rate that data packets are moved between the communications
|
||||
device and the transmit and receive queues.
|
||||
|
||||
|
||||
In some systems the periodic timer event may not poll the underlying communications
|
||||
device fast enough to transmit and/or receive all data packets without missing
|
||||
incoming packets or dropping outgoing packets. Drivers and applications that are
|
||||
@@ -585,14 +585,14 @@ EFI_STATUS
|
||||
Consider increasing the polling rate.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_IP4_POLL)(
|
||||
IN EFI_IP4_PROTOCOL *This
|
||||
);
|
||||
);
|
||||
|
||||
///
|
||||
/// The EFI IPv4 Protocol implements a simple packet-oriented interface that can be
|
||||
/// 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.
|
||||
///
|
||||
struct _EFI_IP4_PROTOCOL {
|
||||
|
@@ -2,16 +2,16 @@
|
||||
This file provides a definition of the EFI IPv4 Configuration
|
||||
Protocol.
|
||||
|
||||
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
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:
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in UEFI Specification 2.0.
|
||||
|
||||
**/
|
||||
@@ -31,11 +31,11 @@ typedef struct _EFI_IP4_CONFIG_PROTOCOL EFI_IP4_CONFIG_PROTOCOL;
|
||||
(EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS)
|
||||
|
||||
///
|
||||
/// EFI_IP4_IPCONFIG_DATA contains the minimum IPv4 configuration data
|
||||
/// that is needed to start basic network communication. The StationAddress
|
||||
/// EFI_IP4_IPCONFIG_DATA contains the minimum IPv4 configuration data
|
||||
/// that is needed to start basic network communication. The StationAddress
|
||||
/// and SubnetMask must be a valid unicast IP address and subnet mask.
|
||||
/// If RouteTableSize is not zero, then RouteTable contains a properly
|
||||
/// formatted routing table for the StationAddress/SubnetMask, with the
|
||||
/// If RouteTableSize is not zero, then RouteTable contains a properly
|
||||
/// formatted routing table for the StationAddress/SubnetMask, with the
|
||||
/// last entry in the table being the default route.
|
||||
///
|
||||
typedef struct {
|
||||
@@ -61,47 +61,47 @@ typedef struct {
|
||||
|
||||
/**
|
||||
Starts running the configuration policy for the EFI IPv4 Protocol driver.
|
||||
|
||||
The Start() function is called to determine and to begin the platform
|
||||
configuration policy by the EFI IPv4 Protocol driver. This determination may
|
||||
be as simple as returning EFI_UNSUPPORTED if there is no EFI IPv4 Protocol
|
||||
driver configuration policy. It may be as involved as loading some defaults
|
||||
from nonvolatile storage, downloading dynamic data from a DHCP server, and
|
||||
|
||||
The Start() function is called to determine and to begin the platform
|
||||
configuration policy by the EFI IPv4 Protocol driver. This determination may
|
||||
be as simple as returning EFI_UNSUPPORTED if there is no EFI IPv4 Protocol
|
||||
driver configuration policy. It may be as involved as loading some defaults
|
||||
from nonvolatile storage, downloading dynamic data from a DHCP server, and
|
||||
checking permissions with a site policy server.
|
||||
Starting the configuration policy is just the beginning. It may finish almost
|
||||
instantly or it may take several minutes before it fails to retrieve configuration
|
||||
information from one or more servers. Once the policy is started, drivers
|
||||
should use the DoneEvent parameter to determine when the configuration policy
|
||||
has completed. EFI_IP4_CONFIG_PROTOCOL.GetData() must then be called to
|
||||
Starting the configuration policy is just the beginning. It may finish almost
|
||||
instantly or it may take several minutes before it fails to retrieve configuration
|
||||
information from one or more servers. Once the policy is started, drivers
|
||||
should use the DoneEvent parameter to determine when the configuration policy
|
||||
has completed. EFI_IP4_CONFIG_PROTOCOL.GetData() must then be called to
|
||||
determine if the configuration succeeded or failed.
|
||||
Until the configuration completes successfully, EFI IPv4 Protocol driver instances
|
||||
Until the configuration completes successfully, EFI IPv4 Protocol driver instances
|
||||
that are attempting to use default configurations must return EFI_NO_MAPPING.
|
||||
Once the configuration is complete, the EFI IPv4 Configuration Protocol driver
|
||||
signals DoneEvent. The configuration may need to be updated in the future.
|
||||
Note that in this case the EFI IPv4 Configuration Protocol driver must signal
|
||||
ReconfigEvent, and all EFI IPv4 Protocol driver instances that are using default
|
||||
configurations must return EFI_NO_MAPPING until the configuration policy has
|
||||
Once the configuration is complete, the EFI IPv4 Configuration Protocol driver
|
||||
signals DoneEvent. The configuration may need to be updated in the future.
|
||||
Note that in this case the EFI IPv4 Configuration Protocol driver must signal
|
||||
ReconfigEvent, and all EFI IPv4 Protocol driver instances that are using default
|
||||
configurations must return EFI_NO_MAPPING until the configuration policy has
|
||||
been rerun.
|
||||
|
||||
@param This The pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
|
||||
@param DoneEvent Event that will be signaled when the EFI IPv4
|
||||
Protocol driver configuration policy completes
|
||||
@param DoneEvent Event that will be signaled when the EFI IPv4
|
||||
Protocol driver configuration policy completes
|
||||
execution. This event must be of type EVT_NOTIFY_SIGNAL.
|
||||
@param ReconfigEvent Event that will be signaled when the EFI IPv4
|
||||
Protocol driver configuration needs to be updated.
|
||||
@param ReconfigEvent Event that will be signaled when the EFI IPv4
|
||||
Protocol driver configuration needs to be updated.
|
||||
This event must be of type EVT_NOTIFY_SIGNAL.
|
||||
|
||||
@retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol
|
||||
|
||||
@retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol
|
||||
driver is now running.
|
||||
@retval EFI_INVALID_PARAMETER One or more of the following parameters is NULL:
|
||||
This
|
||||
DoneEvent
|
||||
ReconfigEvent
|
||||
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
|
||||
@retval EFI_ALREADY_STARTED The configuration policy for the EFI IPv4 Protocol
|
||||
@retval EFI_ALREADY_STARTED The configuration policy for the EFI IPv4 Protocol
|
||||
driver was already started.
|
||||
@retval EFI_DEVICE_ERROR An unexpected system error or network error occurred.
|
||||
@retval EFI_UNSUPPORTED This interface does not support the EFI IPv4 Protocol
|
||||
@retval EFI_UNSUPPORTED This interface does not support the EFI IPv4 Protocol
|
||||
driver configuration.
|
||||
|
||||
**/
|
||||
@@ -115,18 +115,18 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Stops running the configuration policy for the EFI IPv4 Protocol driver.
|
||||
|
||||
The Stop() function stops the configuration policy for the EFI IPv4 Protocol driver.
|
||||
|
||||
The Stop() function stops the configuration policy for the EFI IPv4 Protocol driver.
|
||||
All configuration data will be lost after calling Stop().
|
||||
|
||||
@param This The pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
|
||||
|
||||
@retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol
|
||||
@retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol
|
||||
driver has been stopped.
|
||||
@retval EFI_INVALID_PARAMETER This is NULL.
|
||||
@retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol
|
||||
@retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol
|
||||
driver was not started.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -137,25 +137,25 @@ EFI_STATUS
|
||||
/**
|
||||
Returns the default configuration data (if any) for the EFI IPv4 Protocol driver.
|
||||
|
||||
The GetData() function returns the current configuration data for the EFI IPv4
|
||||
The GetData() function returns the current configuration data for the EFI IPv4
|
||||
Protocol driver after the configuration policy has completed.
|
||||
|
||||
|
||||
@param This The pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
|
||||
@param IpConfigDataSize On input, the size of the IpConfigData buffer.
|
||||
On output, the count of bytes that were written
|
||||
@param IpConfigDataSize On input, the size of the IpConfigData buffer.
|
||||
On output, the count of bytes that were written
|
||||
into the IpConfigData buffer.
|
||||
@param IpConfigData The pointer to the EFI IPv4 Configuration Protocol
|
||||
driver configuration data structure.
|
||||
Type EFI_IP4_IPCONFIG_DATA is defined in
|
||||
@param IpConfigData The pointer to the EFI IPv4 Configuration Protocol
|
||||
driver configuration data structure.
|
||||
Type EFI_IP4_IPCONFIG_DATA is defined in
|
||||
"Related Definitions" below.
|
||||
|
||||
@retval EFI_SUCCESS The EFI IPv4 Protocol driver configuration has been returned.
|
||||
@retval EFI_INVALID_PARAMETER This is NULL.
|
||||
@retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol
|
||||
@retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol
|
||||
driver is not running.
|
||||
@retval EFI_NOT_READY EFI IPv4 Protocol driver configuration is still running.
|
||||
@retval EFI_ABORTED EFI IPv4 Protocol driver configuration could not complete.
|
||||
@retval EFI_BUFFER_TOO_SMALL *IpConfigDataSize is smaller than the configuration
|
||||
@retval EFI_BUFFER_TOO_SMALL *IpConfigDataSize is smaller than the configuration
|
||||
data buffer or IpConfigData is NULL.
|
||||
|
||||
**/
|
||||
@@ -168,8 +168,8 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
///
|
||||
/// The EFI_IP4_CONFIG_PROTOCOL driver performs platform-dependent and policy-dependent
|
||||
/// configurations for the EFI IPv4 Protocol driver.
|
||||
/// The EFI_IP4_CONFIG_PROTOCOL driver performs platform-dependent and policy-dependent
|
||||
/// configurations for the EFI IPv4 Protocol driver.
|
||||
///
|
||||
struct _EFI_IP4_CONFIG_PROTOCOL {
|
||||
EFI_IP4_CONFIG_START Start;
|
||||
|
@@ -2,7 +2,7 @@
|
||||
This file provides a definition of the EFI IPv4 Configuration II
|
||||
Protocol.
|
||||
|
||||
Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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<BR>
|
||||
@@ -33,48 +33,48 @@ typedef struct _EFI_IP4_CONFIG2_PROTOCOL EFI_IP4_CONFIG2_PROTOCOL;
|
||||
///
|
||||
typedef enum {
|
||||
///
|
||||
/// The interface information of the communication device this EFI
|
||||
/// IPv4 Configuration II Protocol instance manages. This type of
|
||||
/// data is read only. The corresponding Data is of type
|
||||
/// The interface information of the communication device this EFI
|
||||
/// IPv4 Configuration II Protocol instance manages. This type of
|
||||
/// data is read only. The corresponding Data is of type
|
||||
/// EFI_IP4_CONFIG2_INTERFACE_INFO.
|
||||
///
|
||||
Ip4Config2DataTypeInterfaceInfo,
|
||||
///
|
||||
/// The general configuration policy for the EFI IPv4 network stack
|
||||
/// running on the communication device this EFI IPv4
|
||||
/// Configuration II Protocol instance manages. The policy will
|
||||
/// affect other configuration settings. The corresponding Data is of
|
||||
/// The general configuration policy for the EFI IPv4 network stack
|
||||
/// running on the communication device this EFI IPv4
|
||||
/// Configuration II Protocol instance manages. The policy will
|
||||
/// affect other configuration settings. The corresponding Data is of
|
||||
/// type EFI_IP4_CONFIG2_POLICY.
|
||||
///
|
||||
Ip4Config2DataTypePolicy,
|
||||
///
|
||||
/// The station addresses set manually for the EFI IPv4 network
|
||||
/// stack. It is only configurable when the policy is
|
||||
/// Ip4Config2PolicyStatic. The corresponding Data is of
|
||||
/// type EFI_IP4_CONFIG2_MANUAL_ADDRESS. When DataSize
|
||||
/// is 0 and Data is NULL, the existing configuration is cleared
|
||||
/// The station addresses set manually for the EFI IPv4 network
|
||||
/// stack. It is only configurable when the policy is
|
||||
/// Ip4Config2PolicyStatic. The corresponding Data is of
|
||||
/// type EFI_IP4_CONFIG2_MANUAL_ADDRESS. When DataSize
|
||||
/// is 0 and Data is NULL, the existing configuration is cleared
|
||||
/// from the EFI IPv4 Configuration II Protocol instance.
|
||||
///
|
||||
Ip4Config2DataTypeManualAddress,
|
||||
///
|
||||
/// The gateway addresses set manually for the EFI IPv4 network
|
||||
/// stack running on the communication device this EFI IPv4
|
||||
/// Configuration II Protocol manages. It is not configurable when
|
||||
/// the policy is Ip4Config2PolicyDhcp. The gateway
|
||||
/// addresses must be unicast IPv4 addresses. The corresponding
|
||||
/// The gateway addresses set manually for the EFI IPv4 network
|
||||
/// stack running on the communication device this EFI IPv4
|
||||
/// Configuration II Protocol manages. It is not configurable when
|
||||
/// the policy is Ip4Config2PolicyDhcp. The gateway
|
||||
/// addresses must be unicast IPv4 addresses. The corresponding
|
||||
/// Data is a pointer to an array of EFI_IPv4_ADDRESS instances.
|
||||
/// When DataSize is 0 and Data is NULL, the existing configuration
|
||||
/// When DataSize is 0 and Data is NULL, the existing configuration
|
||||
/// is cleared from the EFI IPv4 Configuration II Protocol instance.
|
||||
///
|
||||
Ip4Config2DataTypeGateway,
|
||||
///
|
||||
/// The DNS server list for the EFI IPv4 network stack running on
|
||||
/// the communication device this EFI IPv4 Configuration II
|
||||
/// Protocol manages. It is not configurable when the policy is
|
||||
/// Ip4Config2PolicyDhcp. The DNS server addresses must be
|
||||
/// unicast IPv4 addresses. The corresponding Data is a pointer to
|
||||
/// an array of EFI_IPv4_ADDRESS instances. When DataSize
|
||||
/// is 0 and Data is NULL, the existing configuration is cleared
|
||||
/// The DNS server list for the EFI IPv4 network stack running on
|
||||
/// the communication device this EFI IPv4 Configuration II
|
||||
/// Protocol manages. It is not configurable when the policy is
|
||||
/// Ip4Config2PolicyDhcp. The DNS server addresses must be
|
||||
/// unicast IPv4 addresses. The corresponding Data is a pointer to
|
||||
/// an array of EFI_IPv4_ADDRESS instances. When DataSize
|
||||
/// is 0 and Data is NULL, the existing configuration is cleared
|
||||
/// from the EFI IPv4 Configuration II Protocol instance.
|
||||
///
|
||||
Ip4Config2DataTypeDnsServer,
|
||||
@@ -95,7 +95,7 @@ typedef struct {
|
||||
///
|
||||
CHAR16 Name[EFI_IP4_CONFIG2_INTERFACE_INFO_NAME_SIZE];
|
||||
///
|
||||
/// The interface type of the network interface. See RFC 1700,
|
||||
/// The interface type of the network interface. See RFC 1700,
|
||||
/// section "Number Hardware Type".
|
||||
///
|
||||
UINT8 IfType;
|
||||
@@ -120,8 +120,8 @@ typedef struct {
|
||||
///
|
||||
UINT32 RouteTableSize;
|
||||
///
|
||||
/// The route table of the IPv4 network stack runs on this interface.
|
||||
/// Set to NULL if RouteTableSize is zero. Type EFI_IP4_ROUTE_TABLE is defined in
|
||||
/// The route table of the IPv4 network stack runs on this interface.
|
||||
/// Set to NULL if RouteTableSize is zero. Type EFI_IP4_ROUTE_TABLE is defined in
|
||||
/// EFI_IP4_PROTOCOL.GetModeData().
|
||||
///
|
||||
EFI_IP4_ROUTE_TABLE *RouteTable OPTIONAL;
|
||||
@@ -132,17 +132,17 @@ typedef struct {
|
||||
///
|
||||
typedef enum {
|
||||
///
|
||||
/// Under this policy, the Ip4Config2DataTypeManualAddress,
|
||||
/// Ip4Config2DataTypeGateway and Ip4Config2DataTypeDnsServer configuration
|
||||
/// data are required to be set manually. The EFI IPv4 Protocol will get all
|
||||
/// required configuration such as IPv4 address, subnet mask and
|
||||
/// Under this policy, the Ip4Config2DataTypeManualAddress,
|
||||
/// Ip4Config2DataTypeGateway and Ip4Config2DataTypeDnsServer configuration
|
||||
/// data are required to be set manually. The EFI IPv4 Protocol will get all
|
||||
/// required configuration such as IPv4 address, subnet mask and
|
||||
/// gateway settings from the EFI IPv4 Configuration II protocol.
|
||||
///
|
||||
Ip4Config2PolicyStatic,
|
||||
///
|
||||
/// Under this policy, the Ip4Config2DataTypeManualAddress,
|
||||
/// Ip4Config2DataTypeGateway and Ip4Config2DataTypeDnsServer configuration data are
|
||||
/// not allowed to set via SetData(). All of these configurations are retrieved from DHCP
|
||||
/// Under this policy, the Ip4Config2DataTypeManualAddress,
|
||||
/// Ip4Config2DataTypeGateway and Ip4Config2DataTypeDnsServer configuration data are
|
||||
/// not allowed to set via SetData(). All of these configurations are retrieved from DHCP
|
||||
/// server or other auto-configuration mechanism.
|
||||
///
|
||||
Ip4Config2PolicyDhcp,
|
||||
@@ -153,58 +153,58 @@ typedef enum {
|
||||
/// EFI_IP4_CONFIG2_MANUAL_ADDRESS
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
///
|
||||
/// The IPv4 unicast address.
|
||||
///
|
||||
EFI_IPv4_ADDRESS Address;
|
||||
///
|
||||
/// The subnet mask.
|
||||
/// The subnet mask.
|
||||
///
|
||||
EFI_IPv4_ADDRESS SubnetMask;
|
||||
} EFI_IP4_CONFIG2_MANUAL_ADDRESS;
|
||||
|
||||
/**
|
||||
Set the configuration for the EFI IPv4 network stack running on the communication device this EFI
|
||||
Set the configuration for the EFI IPv4 network stack running on the communication device this EFI
|
||||
IPv4 Configuration II Protocol instance manages.
|
||||
|
||||
This function is used to set the configuration data of type DataType for the EFI IPv4 network stack
|
||||
This function is used to set the configuration data of type DataType for the EFI IPv4 network stack
|
||||
running on the communication device this EFI IPv4 Configuration II Protocol instance manages.
|
||||
The successfully configured data is valid after system reset or power-off.
|
||||
The DataSize is used to calculate the count of structure instances in the Data for some
|
||||
The DataSize is used to calculate the count of structure instances in the Data for some
|
||||
DataType that multiple structure instances are allowed.
|
||||
This function is always non-blocking. When setting some typeof configuration data, an
|
||||
asynchronous process is invoked to check the correctness of the data, such as doing address conflict
|
||||
detection on the manually set local IPv4 address. EFI_NOT_READY is returned immediately to
|
||||
indicate that such an asynchronous process is invoked and the process is not finished yet. The caller
|
||||
This function is always non-blocking. When setting some typeof configuration data, an
|
||||
asynchronous process is invoked to check the correctness of the data, such as doing address conflict
|
||||
detection on the manually set local IPv4 address. EFI_NOT_READY is returned immediately to
|
||||
indicate that such an asynchronous process is invoked and the process is not finished yet. The caller
|
||||
willing to get the result of the asynchronous process is required to call RegisterDataNotify()
|
||||
to register an event on the specified configuration data. Once the event is signaled, the caller can call
|
||||
GetData()to get back the configuration data in order to know the result. For other types of
|
||||
configuration data that do not require an asynchronous configuration process, the result of the
|
||||
operation is immediately returned.
|
||||
to register an event on the specified configuration data. Once the event is signaled, the caller can call
|
||||
GetData()to get back the configuration data in order to know the result. For other types of
|
||||
configuration data that do not require an asynchronous configuration process, the result of the
|
||||
operation is immediately returned.
|
||||
|
||||
@param[in] This Pointer to the EFI_IP4_CONFIG2_PROTOCOL instance.
|
||||
@param[in] This Pointer to the EFI_IP4_CONFIG2_PROTOCOL instance.
|
||||
@param[in] DataType The type of data to set.
|
||||
@param[in] DataSize Size of the buffer pointed to by Data in bytes.
|
||||
@param[in] Data The data buffer to set. The type ofthe data buffer is associated
|
||||
with the DataType.
|
||||
@param[in] Data The data buffer to set. The type ofthe data buffer is associated
|
||||
with the DataType.
|
||||
|
||||
@retval EFI_SUCCESS The specified configuration data for the EFI IPv4 network stack is set
|
||||
@retval EFI_SUCCESS The specified configuration data for the EFI IPv4 network stack is set
|
||||
successfully.
|
||||
@retval EFI_INVALID_PARAMETER One or more of the following are TRUE:
|
||||
This is NULL.
|
||||
One or more fields in Data and DataSize do not match the
|
||||
One or more fields in Data and DataSize do not match the
|
||||
requirement of the data type indicated by DataType.
|
||||
@retval EFI_WRITE_PROTECTED The specified configuration data is read-only or the specified configuration
|
||||
@retval EFI_WRITE_PROTECTED The specified configuration data is read-only or the specified configuration
|
||||
data can not be set under the current policy.
|
||||
@retval EFI_ACCESS_DENIED Another set operation on the specified configuration data is already in process.
|
||||
@retval EFI_NOT_READY An asynchronous process is invoked to set the specified configuration data and
|
||||
@retval EFI_NOT_READY An asynchronous process is invoked to set the specified configuration data and
|
||||
the process is not finished yet.
|
||||
@retval EFI_BAD_BUFFER_SIZE The DataSize does not match the size of the type indicated by DataType.
|
||||
@retval EFI_BAD_BUFFER_SIZE The DataSize does not match the size of the type indicated by DataType.
|
||||
@retval EFI_UNSUPPORTED This DataType is not supported.
|
||||
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
|
||||
@retval EFI_DEVICE_ERROR An unexpected system error or network error occurred.
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_IP4_CONFIG2_SET_DATA) (
|
||||
IN EFI_IP4_CONFIG2_PROTOCOL *This,
|
||||
@@ -214,35 +214,35 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Get the configuration data for the EFI IPv4 network stack running on the communication device this
|
||||
Get the configuration data for the EFI IPv4 network stack running on the communication device this
|
||||
EFI IPv4 Configuration II Protocol instance manages.
|
||||
|
||||
This function returns the configuration data of type DataType for the EFI IPv4 network stack
|
||||
This function returns the configuration data of type DataType for the EFI IPv4 network stack
|
||||
running on the communication device this EFI IPv4 Configuration II Protocol instance manages.
|
||||
The caller is responsible for allocating the buffer usedto return the specified configuration data and
|
||||
The caller is responsible for allocating the buffer usedto return the specified configuration data and
|
||||
the required size will be returned to the caller if the size of the buffer is too small.
|
||||
EFI_NOT_READY is returned if the specified configuration data is not ready due to an already in
|
||||
progress asynchronous configuration process. The caller can call RegisterDataNotify() to
|
||||
register an event on the specified configuration data. Once the asynchronous configuration process is
|
||||
finished, the event will be signaled and a subsequent GetData() call will return the specified
|
||||
EFI_NOT_READY is returned if the specified configuration data is not ready due to an already in
|
||||
progress asynchronous configuration process. The caller can call RegisterDataNotify() to
|
||||
register an event on the specified configuration data. Once the asynchronous configuration process is
|
||||
finished, the event will be signaled and a subsequent GetData() call will return the specified
|
||||
configuration data.
|
||||
|
||||
@param[in] This Pointer to the EFI_IP4_CONFIG2_PROTOCOL instance.
|
||||
@param[in] This Pointer to the EFI_IP4_CONFIG2_PROTOCOL instance.
|
||||
@param[in] DataType The type of data to get.
|
||||
@param[out] DataSize On input, in bytes, the size of Data. On output, in bytes, the size
|
||||
of buffer required to store the specified configuration data.
|
||||
@param[in] Data The data buffer in which the configuration data is returned. The
|
||||
type of the data buffer is associated with the DataType. Ignored
|
||||
if DataSize is 0.
|
||||
@param[out] DataSize On input, in bytes, the size of Data. On output, in bytes, the size
|
||||
of buffer required to store the specified configuration data.
|
||||
@param[in] Data The data buffer in which the configuration data is returned. The
|
||||
type of the data buffer is associated with the DataType. Ignored
|
||||
if DataSize is 0.
|
||||
|
||||
@retval EFI_SUCCESS The specified configuration data is got successfully.
|
||||
@retval EFI_INVALID_PARAMETER One or more of the followings are TRUE:
|
||||
This is NULL.
|
||||
DataSize is NULL.
|
||||
Data is NULL if *DataSizeis not zero.
|
||||
@retval EFI_BUFFER_TOO_SMALL The size of Data is too small for the specified configuration data
|
||||
@retval EFI_BUFFER_TOO_SMALL The size of Data is too small for the specified configuration data
|
||||
and the required size is returned in DataSize.
|
||||
@retval EFI_NOT_READY The specified configuration data is not ready due to an already in
|
||||
@retval EFI_NOT_READY The specified configuration data is not ready due to an already in
|
||||
progress asynchronous configuration process.
|
||||
@retval EFI_NOT_FOUND The specified configuration data is not found.
|
||||
**/
|
||||
@@ -256,19 +256,19 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Register an event that is to be signaled whenever a configuration process on the specified
|
||||
Register an event that is to be signaled whenever a configuration process on the specified
|
||||
configuration data is done.
|
||||
|
||||
This function registers an event that is to be signaled whenever a configuration process on the
|
||||
This function registers an event that is to be signaled whenever a configuration process on the
|
||||
specified configuration data is done. An event can be registered for different DataType
|
||||
simultaneously and the caller is responsible for determining which type of configuration data causes
|
||||
simultaneously and the caller is responsible for determining which type of configuration data causes
|
||||
the signaling of the event in such case.
|
||||
|
||||
@param[in] This Pointer to the EFI_IP4_CONFIG2_PROTOCOL instance.
|
||||
@param[in] This Pointer to the EFI_IP4_CONFIG2_PROTOCOL instance.
|
||||
@param[in] DataType The type of data to unregister the event for.
|
||||
@param[in] Event The event to register.
|
||||
|
||||
@retval EFI_SUCCESS The notification event for the specified configuration data is
|
||||
@retval EFI_SUCCESS The notification event for the specified configuration data is
|
||||
registered.
|
||||
@retval EFI_INVALID_PARAMETER This is NULL or Event is NULL.
|
||||
@retval EFI_UNSUPPORTED The configuration data type specified by DataType is not supported.
|
||||
@@ -288,7 +288,7 @@ EFI_STATUS
|
||||
|
||||
This function removes a previously registeredevent for the specified configuration data.
|
||||
|
||||
@param[in] This Pointer to the EFI_IP4_CONFIG2_PROTOCOL instance.
|
||||
@param[in] This Pointer to the EFI_IP4_CONFIG2_PROTOCOL instance.
|
||||
@param[in] DataType The type of data to remove the previously registered event for.
|
||||
@param[in] Event The event to unregister.
|
||||
|
||||
@@ -305,9 +305,9 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
///
|
||||
/// The EFI_IP4_CONFIG2_PROTOCOL is designed to be the central repository for the common
|
||||
/// The EFI_IP4_CONFIG2_PROTOCOL is designed to be the central repository for the common
|
||||
/// configurations and the administrator configurable settings for the EFI IPv4 network stack.
|
||||
/// An EFI IPv4 Configuration II Protocol instance will be installed on each communication device that
|
||||
/// An EFI IPv4 Configuration II Protocol instance will be installed on each communication device that
|
||||
/// the EFI IPv4 network stack runs on.
|
||||
///
|
||||
struct _EFI_IP4_CONFIG2_PROTOCOL {
|
||||
|
@@ -2,7 +2,7 @@
|
||||
This file provides a definition of the EFI IPv6 Configuration
|
||||
Protocol.
|
||||
|
||||
Copyright (c) 2008 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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<BR>
|
||||
@@ -27,71 +27,71 @@ typedef struct _EFI_IP6_CONFIG_PROTOCOL EFI_IP6_CONFIG_PROTOCOL;
|
||||
///
|
||||
/// EFI_IP6_CONFIG_DATA_TYPE
|
||||
///
|
||||
typedef enum {
|
||||
///
|
||||
/// The interface information of the communication
|
||||
/// device this EFI IPv6 Configuration Protocol instance manages.
|
||||
/// This type of data is read only.The corresponding Data is of type
|
||||
typedef enum {
|
||||
///
|
||||
/// The interface information of the communication
|
||||
/// device this EFI IPv6 Configuration Protocol instance manages.
|
||||
/// This type of data is read only.The corresponding Data is of type
|
||||
/// EFI_IP6_CONFIG_INTERFACE_INFO.
|
||||
///
|
||||
///
|
||||
Ip6ConfigDataTypeInterfaceInfo,
|
||||
///
|
||||
/// The alternative interface ID for the
|
||||
/// communication device this EFI IPv6 Configuration Protocol
|
||||
/// instance manages if the link local IPv6 address generated from
|
||||
/// the interfaced ID based on the default source the EFI IPv6
|
||||
/// Protocol uses is a duplicate address. The length of the interface
|
||||
/// ID is 64 bit. The corresponding Data is of type
|
||||
///
|
||||
/// The alternative interface ID for the
|
||||
/// communication device this EFI IPv6 Configuration Protocol
|
||||
/// instance manages if the link local IPv6 address generated from
|
||||
/// the interfaced ID based on the default source the EFI IPv6
|
||||
/// Protocol uses is a duplicate address. The length of the interface
|
||||
/// ID is 64 bit. The corresponding Data is of type
|
||||
/// EFI_IP6_CONFIG_INTERFACE_ID.
|
||||
///
|
||||
///
|
||||
Ip6ConfigDataTypeAltInterfaceId,
|
||||
///
|
||||
/// The general configuration policy for the EFI IPv6 network
|
||||
/// stack running on the communication device this EFI IPv6
|
||||
/// Configuration Protocol instance manages. The policy will affect
|
||||
/// other configuration settings. The corresponding Data is of type
|
||||
///
|
||||
/// The general configuration policy for the EFI IPv6 network
|
||||
/// stack running on the communication device this EFI IPv6
|
||||
/// Configuration Protocol instance manages. The policy will affect
|
||||
/// other configuration settings. The corresponding Data is of type
|
||||
/// EFI_IP6_CONFIG_POLICY.
|
||||
///
|
||||
Ip6ConfigDataTypePolicy,
|
||||
///
|
||||
/// The number of consecutive
|
||||
/// Neighbor Solicitation messages sent while performing Duplicate
|
||||
/// Address Detection on a tentative address. A value of zero
|
||||
/// indicates that Duplicate Address Detection will not be performed
|
||||
/// on tentative addresses. The corresponding Data is of type
|
||||
///
|
||||
/// The number of consecutive
|
||||
/// Neighbor Solicitation messages sent while performing Duplicate
|
||||
/// Address Detection on a tentative address. A value of zero
|
||||
/// indicates that Duplicate Address Detection will not be performed
|
||||
/// on tentative addresses. The corresponding Data is of type
|
||||
/// EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS.
|
||||
///
|
||||
///
|
||||
Ip6ConfigDataTypeDupAddrDetectTransmits,
|
||||
///
|
||||
/// The station addresses set manually for the EFI
|
||||
/// IPv6 network stack. It is only configurable when the policy is
|
||||
/// Ip6ConfigPolicyManual. The corresponding Data is a
|
||||
/// pointer to an array of EFI_IPv6_ADDRESS instances. When
|
||||
/// DataSize is 0 and Data is NULL, the existing configuration
|
||||
///
|
||||
/// The station addresses set manually for the EFI
|
||||
/// IPv6 network stack. It is only configurable when the policy is
|
||||
/// Ip6ConfigPolicyManual. The corresponding Data is a
|
||||
/// pointer to an array of EFI_IPv6_ADDRESS instances. When
|
||||
/// DataSize is 0 and Data is NULL, the existing configuration
|
||||
/// is cleared from the EFI IPv6 Configuration Protocol instance.
|
||||
///
|
||||
///
|
||||
Ip6ConfigDataTypeManualAddress,
|
||||
///
|
||||
/// The gateway addresses set manually for the EFI IPv6
|
||||
/// network stack running on the communication device this EFI
|
||||
/// IPv6 Configuration Protocol manages. It is not configurable when
|
||||
/// the policy is Ip6ConfigPolicyAutomatic. The gateway
|
||||
/// addresses must be unicast IPv6 addresses. The corresponding
|
||||
///
|
||||
/// The gateway addresses set manually for the EFI IPv6
|
||||
/// network stack running on the communication device this EFI
|
||||
/// IPv6 Configuration Protocol manages. It is not configurable when
|
||||
/// the policy is Ip6ConfigPolicyAutomatic. The gateway
|
||||
/// addresses must be unicast IPv6 addresses. The corresponding
|
||||
/// Data is a pointer to an array of EFI_IPv6_ADDRESS instances.
|
||||
/// When DataSize is 0 and Data is NULL, the existing configuration
|
||||
/// When DataSize is 0 and Data is NULL, the existing configuration
|
||||
/// is cleared from the EFI IPv6 Configuration Protocol instance.
|
||||
///
|
||||
///
|
||||
Ip6ConfigDataTypeGateway,
|
||||
///
|
||||
/// The DNS server list for the EFI IPv6 network stack
|
||||
/// running on the communication device this EFI IPv6
|
||||
/// Configuration Protocol manages. It is not configurable when the
|
||||
/// policy is Ip6ConfigPolicyAutomatic.The DNS server
|
||||
/// addresses must be unicast IPv6 addresses. The corresponding
|
||||
///
|
||||
/// The DNS server list for the EFI IPv6 network stack
|
||||
/// running on the communication device this EFI IPv6
|
||||
/// Configuration Protocol manages. It is not configurable when the
|
||||
/// policy is Ip6ConfigPolicyAutomatic.The DNS server
|
||||
/// addresses must be unicast IPv6 addresses. The corresponding
|
||||
/// Data is a pointer to an array of EFI_IPv6_ADDRESS instances.
|
||||
/// When DataSize is 0 and Data is NULL, the existing configuration
|
||||
/// When DataSize is 0 and Data is NULL, the existing configuration
|
||||
/// is cleared from the EFI IPv6 Configuration Protocol instance.
|
||||
///
|
||||
///
|
||||
Ip6ConfigDataTypeDnsServer,
|
||||
///
|
||||
/// The number of this enumeration memebers.
|
||||
@@ -101,7 +101,7 @@ typedef enum {
|
||||
|
||||
///
|
||||
/// EFI_IP6_CONFIG_INTERFACE_INFO
|
||||
/// describes the operational state of the interface this
|
||||
/// describes the operational state of the interface this
|
||||
/// EFI IPv6 Configuration Protocol instance manages.
|
||||
///
|
||||
typedef struct {
|
||||
@@ -109,37 +109,37 @@ typedef struct {
|
||||
/// The name of the interface. It is a NULL-terminated string.
|
||||
///
|
||||
CHAR16 Name[32];
|
||||
///
|
||||
///
|
||||
/// The interface type of the network interface.
|
||||
///
|
||||
///
|
||||
UINT8 IfType;
|
||||
///
|
||||
///
|
||||
/// The size, in bytes, of the network interface's hardware address.
|
||||
///
|
||||
///
|
||||
UINT32 HwAddressSize;
|
||||
///
|
||||
///
|
||||
/// The hardware address for the network interface.
|
||||
///
|
||||
///
|
||||
EFI_MAC_ADDRESS HwAddress;
|
||||
///
|
||||
///
|
||||
/// Number of EFI_IP6_ADDRESS_INFO structures pointed to by AddressInfo.
|
||||
///
|
||||
///
|
||||
UINT32 AddressInfoCount;
|
||||
///
|
||||
/// Pointer to an array of EFI_IP6_ADDRESS_INFO instances
|
||||
/// which contain the local IPv6 addresses and the corresponding
|
||||
/// prefix length information. Set to NULL if AddressInfoCount
|
||||
///
|
||||
/// Pointer to an array of EFI_IP6_ADDRESS_INFO instances
|
||||
/// which contain the local IPv6 addresses and the corresponding
|
||||
/// prefix length information. Set to NULL if AddressInfoCount
|
||||
/// is zero.
|
||||
///
|
||||
///
|
||||
EFI_IP6_ADDRESS_INFO *AddressInfo;
|
||||
///
|
||||
///
|
||||
/// Number of route table entries in the following RouteTable.
|
||||
///
|
||||
///
|
||||
UINT32 RouteCount;
|
||||
///
|
||||
/// The route table of the IPv6 network stack runs on this interface.
|
||||
/// Set to NULL if RouteCount is zero.
|
||||
///
|
||||
///
|
||||
/// The route table of the IPv6 network stack runs on this interface.
|
||||
/// Set to NULL if RouteCount is zero.
|
||||
///
|
||||
EFI_IP6_ROUTE_TABLE *RouteTable;
|
||||
} EFI_IP6_CONFIG_INTERFACE_INFO;
|
||||
|
||||
@@ -153,42 +153,42 @@ typedef struct {
|
||||
|
||||
///
|
||||
/// EFI_IP6_CONFIG_POLICY
|
||||
/// defines the general configuration policy the EFI IPv6
|
||||
/// defines the general configuration policy the EFI IPv6
|
||||
/// Configuration Protocol supports.
|
||||
///
|
||||
typedef enum {
|
||||
///
|
||||
/// Under this policy, the IpI6ConfigDataTypeManualAddress,
|
||||
/// Under this policy, the IpI6ConfigDataTypeManualAddress,
|
||||
/// Ip6ConfigDataTypeGateway and Ip6ConfigDataTypeDnsServer
|
||||
/// configuration data are required to be set manually.
|
||||
/// configuration data are required to be set manually.
|
||||
/// The EFI IPv6 Protocol will get all required configuration
|
||||
/// such as address, prefix and gateway settings from the EFI
|
||||
/// IPv6 Configuration protocol.
|
||||
///
|
||||
Ip6ConfigPolicyManual,
|
||||
///
|
||||
/// Under this policy, the IpI6ConfigDataTypeManualAddress,
|
||||
Ip6ConfigPolicyManual,
|
||||
///
|
||||
/// Under this policy, the IpI6ConfigDataTypeManualAddress,
|
||||
/// Ip6ConfigDataTypeGateway and Ip6ConfigDataTypeDnsServer
|
||||
/// configuration data are not allowed to set via SetData().
|
||||
/// All of these configurations are retrieved from some auto
|
||||
/// configuration mechanism.
|
||||
/// The EFI IPv6 Protocol will use the IPv6 stateless address
|
||||
/// autoconfiguration mechanism and/or the IPv6 stateful address
|
||||
/// autoconfiguration mechanism described in the related RFCs to
|
||||
/// configuration mechanism.
|
||||
/// The EFI IPv6 Protocol will use the IPv6 stateless address
|
||||
/// autoconfiguration mechanism and/or the IPv6 stateful address
|
||||
/// autoconfiguration mechanism described in the related RFCs to
|
||||
/// get address and other configuration information
|
||||
///
|
||||
///
|
||||
Ip6ConfigPolicyAutomatic
|
||||
} EFI_IP6_CONFIG_POLICY;
|
||||
|
||||
///
|
||||
/// EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS
|
||||
/// describes the number of consecutive Neighbor Solicitation messages sent
|
||||
/// while performing Duplicate Address Detection on a tentative address.
|
||||
/// while performing Duplicate Address Detection on a tentative address.
|
||||
/// The default value for a newly detected communication device is 1.
|
||||
///
|
||||
typedef struct {
|
||||
UINT32 DupAddrDetectTransmits; ///< The number of consecutive Neighbor Solicitation messages sent.
|
||||
} EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS;
|
||||
} EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS;
|
||||
|
||||
///
|
||||
/// EFI_IP6_CONFIG_MANUAL_ADDRESS
|
||||
@@ -205,49 +205,49 @@ typedef struct {
|
||||
/**
|
||||
Set the configuration for the EFI IPv6 network stack running on the communication
|
||||
device this EFI IPv6 Configuration Protocol instance manages.
|
||||
|
||||
This function is used to set the configuration data of type DataType for the EFI
|
||||
|
||||
This function is used to set the configuration data of type DataType for the EFI
|
||||
IPv6 network stack running on the communication device this EFI IPv6 Configuration
|
||||
Protocol instance manages.
|
||||
|
||||
The DataSize is used to calculate the count of structure instances in the Data for
|
||||
The DataSize is used to calculate the count of structure instances in the Data for
|
||||
some DataType that multiple structure instances are allowed.
|
||||
|
||||
|
||||
This function is always non-blocking. When setting some type of configuration data,
|
||||
an asynchronous process is invoked to check the correctness of the data, such as
|
||||
doing Duplicate Address Detection on the manually set local IPv6 addresses.
|
||||
an asynchronous process is invoked to check the correctness of the data, such as
|
||||
doing Duplicate Address Detection on the manually set local IPv6 addresses.
|
||||
EFI_NOT_READY is returned immediately to indicate that such an asynchronous process
|
||||
is invoked and the process is not finished yet. The caller willing to get the result
|
||||
of the asynchronous process is required to call RegisterDataNotify() to register an
|
||||
event on the specified configuration data. Once the event is signaled, the caller
|
||||
event on the specified configuration data. Once the event is signaled, the caller
|
||||
can call GetData() to get back the configuration data in order to know the result.
|
||||
For other types of configuration data that do not require an asynchronous configuration
|
||||
For other types of configuration data that do not require an asynchronous configuration
|
||||
process, the result of the operation is immediately returned.
|
||||
|
||||
@param[in] This Pointer to the EFI_IP6_CONFIG_PROTOCOL instance.
|
||||
@param[in] DataType The type of data to set.
|
||||
@param[in] DataType The type of data to set.
|
||||
@param[in] DataSize Size of the buffer pointed to by Data in bytes.
|
||||
@param[in] Data The data buffer to set. The type of the data buffer is
|
||||
associated with the DataType.
|
||||
|
||||
@retval EFI_SUCCESS The specified configuration data for the EFI IPv6
|
||||
|
||||
@retval EFI_SUCCESS The specified configuration data for the EFI IPv6
|
||||
network stack is set successfully.
|
||||
@retval EFI_INVALID_PARAMETER One or more of the following are TRUE:
|
||||
- This is NULL.
|
||||
- One or more fields in Data and DataSize do not match the
|
||||
requirement of the data type indicated by DataType.
|
||||
@retval EFI_WRITE_PROTECTED The specified configuration data is read-only or the specified
|
||||
- One or more fields in Data and DataSize do not match the
|
||||
requirement of the data type indicated by DataType.
|
||||
@retval EFI_WRITE_PROTECTED The specified configuration data is read-only or the specified
|
||||
configuration data can not be set under the current policy
|
||||
@retval EFI_ACCESS_DENIED Another set operation on the specified configuration
|
||||
@retval EFI_ACCESS_DENIED Another set operation on the specified configuration
|
||||
data is already in process.
|
||||
@retval EFI_NOT_READY An asynchronous process is invoked to set the specified
|
||||
configuration data and the process is not finished yet.
|
||||
@retval EFI_BAD_BUFFER_SIZE The DataSize does not match the size of the type
|
||||
@retval EFI_BAD_BUFFER_SIZE The DataSize does not match the size of the type
|
||||
indicated by DataType.
|
||||
@retval EFI_UNSUPPORTED This DataType is not supported.
|
||||
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
|
||||
@retval EFI_DEVICE_ERROR An unexpected system error or network error occurred.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -261,39 +261,39 @@ EFI_STATUS
|
||||
/**
|
||||
Get the configuration data for the EFI IPv6 network stack running on the communication
|
||||
device this EFI IPv6 Configuration Protocol instance manages.
|
||||
|
||||
|
||||
This function returns the configuration data of type DataType for the EFI IPv6 network
|
||||
stack running on the communication device this EFI IPv6 Configuration Protocol instance
|
||||
manages.
|
||||
|
||||
The caller is responsible for allocating the buffer used to return the specified
|
||||
configuration data and the required size will be returned to the caller if the size of
|
||||
the buffer is too small.
|
||||
|
||||
EFI_NOT_READY is returned if the specified configuration data is not ready due to an
|
||||
the buffer is too small.
|
||||
|
||||
EFI_NOT_READY is returned if the specified configuration data is not ready due to an
|
||||
already in progress asynchronous configuration process. The caller can call RegisterDataNotify()
|
||||
to register an event on the specified configuration data. Once the asynchronous configuration
|
||||
process is finished, the event will be signaled and a subsequent GetData() call will return
|
||||
process is finished, the event will be signaled and a subsequent GetData() call will return
|
||||
the specified configuration data.
|
||||
|
||||
@param[in] This Pointer to the EFI_IP6_CONFIG_PROTOCOL instance.
|
||||
@param[in] DataType The type of data to get.
|
||||
@param[in,out] DataSize On input, in bytes, the size of Data. On output, in bytes, the
|
||||
@param[in] DataType The type of data to get.
|
||||
@param[in,out] DataSize On input, in bytes, the size of Data. On output, in bytes, the
|
||||
size of buffer required to store the specified configuration data.
|
||||
@param[in] Data The data buffer in which the configuration data is returned. The
|
||||
@param[in] Data The data buffer in which the configuration data is returned. The
|
||||
type of the data buffer is associated with the DataType.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The specified configuration data is got successfully.
|
||||
@retval EFI_INVALID_PARAMETER One or more of the followings are TRUE:
|
||||
- This is NULL.
|
||||
- DataSize is NULL.
|
||||
- Data is NULL if *DataSize is not zero.
|
||||
@retval EFI_BUFFER_TOO_SMALL The size of Data is too small for the specified configuration data
|
||||
@retval EFI_BUFFER_TOO_SMALL The size of Data is too small for the specified configuration data
|
||||
and the required size is returned in DataSize.
|
||||
@retval EFI_NOT_READY The specified configuration data is not ready due to an already in
|
||||
@retval EFI_NOT_READY The specified configuration data is not ready due to an already in
|
||||
progress asynchronous configuration process.
|
||||
@retval EFI_NOT_FOUND The specified configuration data is not found.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -307,24 +307,24 @@ EFI_STATUS
|
||||
/**
|
||||
Register an event that is to be signaled whenever a configuration process on the specified
|
||||
configuration data is done.
|
||||
|
||||
|
||||
This function registers an event that is to be signaled whenever a configuration process
|
||||
on the specified configuration data is done. An event can be registered for different DataType
|
||||
simultaneously and the caller is responsible for determining which type of configuration data
|
||||
causes the signaling of the event in such case.
|
||||
|
||||
@param[in] This Pointer to the EFI_IP6_CONFIG_PROTOCOL instance.
|
||||
@param[in] DataType The type of data to unregister the event for.
|
||||
@param[in] Event The event to register.
|
||||
|
||||
@retval EFI_SUCCESS The notification event for the specified configuration data is
|
||||
@param[in] DataType The type of data to unregister the event for.
|
||||
@param[in] Event The event to register.
|
||||
|
||||
@retval EFI_SUCCESS The notification event for the specified configuration data is
|
||||
registered.
|
||||
@retval EFI_INVALID_PARAMETER This is NULL or Event is NULL.
|
||||
@retval EFI_UNSUPPORTED The configuration data type specified by DataType is not
|
||||
@retval EFI_UNSUPPORTED The configuration data type specified by DataType is not
|
||||
supported.
|
||||
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
|
||||
@retval EFI_ACCESS_DENIED The Event is already registered for the DataType.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -336,18 +336,18 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Remove a previously registered event for the specified configuration data.
|
||||
|
||||
|
||||
This function removes a previously registered event for the specified configuration data.
|
||||
|
||||
@param[in] This Pointer to the EFI_IP6_CONFIG_PROTOCOL instance.
|
||||
@param[in] DataType The type of data to remove the previously registered event for.
|
||||
@param[in] DataType The type of data to remove the previously registered event for.
|
||||
@param[in] Event The event to unregister.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The event registered for the specified configuration data is removed.
|
||||
@retval EFI_INVALID_PARAMETER This is NULL or Event is NULL.
|
||||
@retval EFI_NOT_FOUND The Event has not been registered for the specified
|
||||
@retval EFI_NOT_FOUND The Event has not been registered for the specified
|
||||
DataType.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
|
@@ -1,16 +1,16 @@
|
||||
/** @file
|
||||
EFI IPSEC Protocol Definition
|
||||
The EFI_IPSEC_PROTOCOL is used to abstract the ability to deal with the individual
|
||||
packets sent and received by the host and provide packet-level security for IP
|
||||
packets sent and received by the host and provide packet-level security for IP
|
||||
datagram.
|
||||
The EFI_IPSEC2_PROTOCOL is used to abstract the ability to deal with the individual
|
||||
packets sent and received by the host and provide packet-level security for IP
|
||||
datagram. In addition, it supports the Option (extension header) processing in
|
||||
IPsec which doesn't support in EFI_IPSEC_PROTOCOL. It is also recommended to
|
||||
use EFI_IPSEC2_PROTOCOL instead of EFI_IPSEC_PROTOCOL especially for IPsec Tunnel
|
||||
packets sent and received by the host and provide packet-level security for IP
|
||||
datagram. In addition, it supports the Option (extension header) processing in
|
||||
IPsec which doesn't support in EFI_IPSEC_PROTOCOL. It is also recommended to
|
||||
use EFI_IPSEC2_PROTOCOL instead of EFI_IPSEC_PROTOCOL especially for IPsec Tunnel
|
||||
Mode.
|
||||
|
||||
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
@@ -19,7 +19,7 @@
|
||||
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:
|
||||
@par Revision Reference:
|
||||
The EFI_IPSEC2_PROTOCOL is introduced in UEFI Specification 2.3D.
|
||||
|
||||
**/
|
||||
@@ -43,34 +43,34 @@ typedef struct _EFI_IPSEC_PROTOCOL EFI_IPSEC_PROTOCOL;
|
||||
typedef struct _EFI_IPSEC2_PROTOCOL EFI_IPSEC2_PROTOCOL;
|
||||
|
||||
///
|
||||
/// EFI_IPSEC_FRAGMENT_DATA
|
||||
/// EFI_IPSEC_FRAGMENT_DATA
|
||||
/// defines the instances of packet fragments.
|
||||
///
|
||||
typedef struct _EFI_IPSEC_FRAGMENT_DATA {
|
||||
typedef struct _EFI_IPSEC_FRAGMENT_DATA {
|
||||
UINT32 FragmentLength;
|
||||
VOID *FragmentBuffer;
|
||||
} EFI_IPSEC_FRAGMENT_DATA;
|
||||
} EFI_IPSEC_FRAGMENT_DATA;
|
||||
|
||||
|
||||
/**
|
||||
Handles IPsec packet processing for inbound and outbound IP packets.
|
||||
Handles IPsec packet processing for inbound and outbound IP packets.
|
||||
|
||||
The EFI_IPSEC_PROCESS process routine handles each inbound or outbound packet.
|
||||
The behavior is that it can perform one of the following actions:
|
||||
bypass the packet, discard the packet, or protect the packet.
|
||||
The behavior is that it can perform one of the following actions:
|
||||
bypass the packet, discard the packet, or protect the packet.
|
||||
|
||||
@param[in] This Pointer to the EFI_IPSEC_PROTOCOL instance.
|
||||
@param[in] NicHandle Instance of the network interface.
|
||||
@param[in] IpVer IPV4 or IPV6.
|
||||
@param[in, out] IpHead Pointer to the IP Header.
|
||||
@param[in] LastHead The protocol of the next layer to be processed by IPsec.
|
||||
@param[in] OptionsBuffer Pointer to the options buffer.
|
||||
@param[in] OptionsBuffer Pointer to the options buffer.
|
||||
@param[in] OptionsLength Length of the options buffer.
|
||||
@param[in, out] FragmentTable Pointer to a list of fragments.
|
||||
@param[in, out] FragmentTable Pointer to a list of fragments.
|
||||
@param[in] FragmentCount Number of fragments.
|
||||
@param[in] TrafficDirection Traffic direction.
|
||||
@param[out] RecycleSignal Event for recycling of resources.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The packet was bypassed and all buffers remain the same.
|
||||
@retval EFI_SUCCESS The packet was protected.
|
||||
@retval EFI_ACCESS_DENIED The packet was discarded.
|
||||
@@ -93,9 +93,9 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
///
|
||||
/// EFI_IPSEC_PROTOCOL
|
||||
/// EFI_IPSEC_PROTOCOL
|
||||
/// provides the ability for securing IP communications by authenticating
|
||||
/// and/or encrypting each IP packet in a data stream.
|
||||
/// and/or encrypting each IP packet in a data stream.
|
||||
// EFI_IPSEC_PROTOCOL can be consumed by both the IPv4 and IPv6 stack.
|
||||
// A user can employ this protocol for IPsec package handling in both IPv4
|
||||
// and IPv6 environment.
|
||||
@@ -107,72 +107,72 @@ struct _EFI_IPSEC_PROTOCOL {
|
||||
};
|
||||
|
||||
/**
|
||||
Handles IPsec processing for both inbound and outbound IP packets. Compare with
|
||||
Process() in EFI_IPSEC_PROTOCOL, this interface has the capability to process
|
||||
Option(Extension Header).
|
||||
Handles IPsec processing for both inbound and outbound IP packets. Compare with
|
||||
Process() in EFI_IPSEC_PROTOCOL, this interface has the capability to process
|
||||
Option(Extension Header).
|
||||
|
||||
The EFI_IPSEC2_PROCESS process routine handles each inbound or outbound packet.
|
||||
The behavior is that it can perform one of the following actions:
|
||||
bypass the packet, discard the packet, or protect the packet.
|
||||
The behavior is that it can perform one of the following actions:
|
||||
bypass the packet, discard the packet, or protect the packet.
|
||||
|
||||
@param[in] This Pointer to the EFI_IPSEC2_PROTOCOL instance.
|
||||
@param[in] NicHandle Instance of the network interface.
|
||||
@param[in] NicHandle Instance of the network interface.
|
||||
@param[in] IpVer IP version.IPv4 or IPv6.
|
||||
@param[in, out] IpHead Pointer to the IP Header it is either
|
||||
@param[in, out] IpHead Pointer to the IP Header it is either
|
||||
the EFI_IP4_HEADER or EFI_IP6_HEADER.
|
||||
On input, it contains the IP header.
|
||||
On output, 1) in tunnel mode and the
|
||||
traffic direction is inbound, the buffer
|
||||
will be reset to zero by IPsec; 2) in
|
||||
tunnel mode and the traffic direction
|
||||
is outbound, the buffer will reset to
|
||||
be the tunnel IP header.3) in transport
|
||||
mode, the related fielders (like payload
|
||||
length, Next header) in IP header will
|
||||
On input, it contains the IP header.
|
||||
On output, 1) in tunnel mode and the
|
||||
traffic direction is inbound, the buffer
|
||||
will be reset to zero by IPsec; 2) in
|
||||
tunnel mode and the traffic direction
|
||||
is outbound, the buffer will reset to
|
||||
be the tunnel IP header.3) in transport
|
||||
mode, the related fielders (like payload
|
||||
length, Next header) in IP header will
|
||||
be modified according to the condition.
|
||||
@param[in, out] LastHead For IP4, it is the next protocol in IP
|
||||
header. For IP6 it is the Next Header
|
||||
header. For IP6 it is the Next Header
|
||||
of the last extension header.
|
||||
@param[in, out] OptionsBuffer On input, it contains the options
|
||||
(extensions header) to be processed by
|
||||
@param[in, out] OptionsBuffer On input, it contains the options
|
||||
(extensions header) to be processed by
|
||||
IPsec. On output, 1) in tunnel mode and
|
||||
the traffic direction is outbound, it
|
||||
will be set to NULL, and that means this
|
||||
contents was wrapped after inner header
|
||||
and should not be concatenated after
|
||||
tunnel header again; 2) in transport
|
||||
mode and the traffic direction is inbound,
|
||||
if there are IP options (extension headers)
|
||||
protected by IPsec, IPsec will concatenate
|
||||
the those options after the input options
|
||||
(extension headers); 3) on other situations,
|
||||
the output of contents of OptionsBuffer
|
||||
might be same with input's. The caller
|
||||
should take the responsibility to free
|
||||
the traffic direction is outbound, it
|
||||
will be set to NULL, and that means this
|
||||
contents was wrapped after inner header
|
||||
and should not be concatenated after
|
||||
tunnel header again; 2) in transport
|
||||
mode and the traffic direction is inbound,
|
||||
if there are IP options (extension headers)
|
||||
protected by IPsec, IPsec will concatenate
|
||||
the those options after the input options
|
||||
(extension headers); 3) on other situations,
|
||||
the output of contents of OptionsBuffer
|
||||
might be same with input's. The caller
|
||||
should take the responsibility to free
|
||||
the buffer both on input and on output.
|
||||
@param[in, out] OptionsLength On input, the input length of the options
|
||||
buffer. On output, the output length of
|
||||
@param[in, out] OptionsLength On input, the input length of the options
|
||||
buffer. On output, the output length of
|
||||
the options buffer.
|
||||
@param[in, out] FragmentTable Pointer to a list of fragments. On input,
|
||||
these fragments contain the IP payload.
|
||||
On output, 1) in tunnel mode and the traffic
|
||||
direction is inbound, the fragments contain
|
||||
the whole IP payload which is from the
|
||||
IP inner header to the last byte of the
|
||||
packet; 2) in tunnel mode and the traffic
|
||||
direction is the outbound, the fragments
|
||||
contains the whole encapsulated payload
|
||||
which encapsulates the whole IP payload
|
||||
between the encapsulated header and
|
||||
encapsulated trailer fields. 3) in transport
|
||||
mode and the traffic direction is inbound,
|
||||
the fragments contains the IP payload
|
||||
which is from the next layer protocol to
|
||||
the last byte of the packet; 4) in transport
|
||||
mode and the traffic direction is outbound,
|
||||
the fragments contains the whole encapsulated
|
||||
payload which encapsulates the next layer
|
||||
protocol information between the encapsulated
|
||||
@param[in, out] FragmentTable Pointer to a list of fragments. On input,
|
||||
these fragments contain the IP payload.
|
||||
On output, 1) in tunnel mode and the traffic
|
||||
direction is inbound, the fragments contain
|
||||
the whole IP payload which is from the
|
||||
IP inner header to the last byte of the
|
||||
packet; 2) in tunnel mode and the traffic
|
||||
direction is the outbound, the fragments
|
||||
contains the whole encapsulated payload
|
||||
which encapsulates the whole IP payload
|
||||
between the encapsulated header and
|
||||
encapsulated trailer fields. 3) in transport
|
||||
mode and the traffic direction is inbound,
|
||||
the fragments contains the IP payload
|
||||
which is from the next layer protocol to
|
||||
the last byte of the packet; 4) in transport
|
||||
mode and the traffic direction is outbound,
|
||||
the fragments contains the whole encapsulated
|
||||
payload which encapsulates the next layer
|
||||
protocol information between the encapsulated
|
||||
header and encapsulated trailer fields.
|
||||
@param[in, out] FragmentCount Number of fragments.
|
||||
@param[in] TrafficDirection Traffic direction.
|
||||
@@ -180,7 +180,7 @@ struct _EFI_IPSEC_PROTOCOL {
|
||||
|
||||
@retval EFI_SUCCESS The packet was processed by IPsec successfully.
|
||||
@retval EFI_ACCESS_DENIED The packet was discarded.
|
||||
@retval EFI_NOT_READY The IKE negotiation is invoked and the packet
|
||||
@retval EFI_NOT_READY The IKE negotiation is invoked and the packet
|
||||
was discarded.
|
||||
@retval EFI_INVALID_PARAMETER One or more of following are TRUE:
|
||||
If OptionsBuffer is NULL;
|
||||
@@ -189,23 +189,23 @@ struct _EFI_IPSEC_PROTOCOL {
|
||||
If FragmentCount is NULL.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_IPSEC_PROCESSEXT) (
|
||||
IN EFI_IPSEC2_PROTOCOL *This,
|
||||
IN EFI_HANDLE NicHandle,
|
||||
IN UINT8 IpVer,
|
||||
IN OUT VOID *IpHead,
|
||||
IN OUT UINT8 *LastHead,
|
||||
IN OUT VOID **OptionsBuffer,
|
||||
IN OUT UINT32 *OptionsLength,
|
||||
IN OUT EFI_IPSEC_FRAGMENT_DATA **FragmentTable,
|
||||
IN OUT UINT32 *FragmentCount,
|
||||
IN EFI_IPSEC_TRAFFIC_DIR TrafficDirection,
|
||||
(EFIAPI *EFI_IPSEC_PROCESSEXT) (
|
||||
IN EFI_IPSEC2_PROTOCOL *This,
|
||||
IN EFI_HANDLE NicHandle,
|
||||
IN UINT8 IpVer,
|
||||
IN OUT VOID *IpHead,
|
||||
IN OUT UINT8 *LastHead,
|
||||
IN OUT VOID **OptionsBuffer,
|
||||
IN OUT UINT32 *OptionsLength,
|
||||
IN OUT EFI_IPSEC_FRAGMENT_DATA **FragmentTable,
|
||||
IN OUT UINT32 *FragmentCount,
|
||||
IN EFI_IPSEC_TRAFFIC_DIR TrafficDirection,
|
||||
OUT EFI_EVENT *RecycleSignal
|
||||
);
|
||||
|
||||
///
|
||||
///
|
||||
/// EFI_IPSEC2_PROTOCOL
|
||||
/// supports the Option (extension header) processing in IPsec which doesn't support
|
||||
/// in EFI_IPSEC_PROTOCOL. It is also recommended to use EFI_IPSEC2_PROTOCOL instead
|
||||
@@ -213,10 +213,10 @@ EFI_STATUS
|
||||
/// provides the ability for securing IP communications by authenticating and/or
|
||||
/// encrypting each IP packet in a data stream.
|
||||
///
|
||||
struct _EFI_IPSEC2_PROTOCOL {
|
||||
struct _EFI_IPSEC2_PROTOCOL {
|
||||
EFI_IPSEC_PROCESSEXT ProcessExt;
|
||||
EFI_EVENT DisabledEvent;
|
||||
BOOLEAN DisabledFlag;
|
||||
EFI_EVENT DisabledEvent;
|
||||
BOOLEAN DisabledFlag;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiIpSecProtocolGuid;
|
||||
|
@@ -1,9 +1,9 @@
|
||||
/** @file
|
||||
EFI IPsec Configuration Protocol Definition
|
||||
The EFI_IPSEC_CONFIG_PROTOCOL provides the mechanism to set and retrieve security and
|
||||
The EFI_IPSEC_CONFIG_PROTOCOL provides the mechanism to set and retrieve security and
|
||||
policy related information for the EFI IPsec protocol driver.
|
||||
|
||||
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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,7 +12,7 @@
|
||||
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:
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in UEFI Specification 2.2
|
||||
|
||||
**/
|
||||
@@ -32,34 +32,34 @@ typedef struct _EFI_IPSEC_CONFIG_PROTOCOL EFI_IPSEC_CONFIG_PROTOCOL;
|
||||
/// EFI_IPSEC_CONFIG_DATA_TYPE
|
||||
///
|
||||
typedef enum {
|
||||
///
|
||||
/// The IPsec Security Policy Database (aka SPD) setting. In IPsec,
|
||||
/// an essential element of Security Association (SA) processing is
|
||||
/// underlying SPD that specifies what services are to be offered to
|
||||
/// IP datagram and in what fashion. The SPD must be consulted
|
||||
/// during the processing of all traffic (inbound and outbound),
|
||||
/// including traffic not protected by IPsec, that traverses the IPsec
|
||||
/// boundary. With this DataType, SetData() function is to set
|
||||
/// the SPD entry information, which may add one new entry, delete
|
||||
/// one existed entry or flush the whole database according to the
|
||||
/// parameter values. The corresponding Data is of type
|
||||
///
|
||||
/// The IPsec Security Policy Database (aka SPD) setting. In IPsec,
|
||||
/// an essential element of Security Association (SA) processing is
|
||||
/// underlying SPD that specifies what services are to be offered to
|
||||
/// IP datagram and in what fashion. The SPD must be consulted
|
||||
/// during the processing of all traffic (inbound and outbound),
|
||||
/// including traffic not protected by IPsec, that traverses the IPsec
|
||||
/// boundary. With this DataType, SetData() function is to set
|
||||
/// the SPD entry information, which may add one new entry, delete
|
||||
/// one existed entry or flush the whole database according to the
|
||||
/// parameter values. The corresponding Data is of type
|
||||
/// EFI_IPSEC_SPD_DATA
|
||||
///
|
||||
///
|
||||
IPsecConfigDataTypeSpd,
|
||||
///
|
||||
/// The IPsec Security Association Database (aka SAD) setting. A
|
||||
/// SA is a simplex connection that affords security services to the
|
||||
/// traffic carried by it. Security services are afforded to an SA by the
|
||||
/// use of AH, or ESP, but not both. The corresponding Data is of
|
||||
///
|
||||
/// The IPsec Security Association Database (aka SAD) setting. A
|
||||
/// SA is a simplex connection that affords security services to the
|
||||
/// traffic carried by it. Security services are afforded to an SA by the
|
||||
/// use of AH, or ESP, but not both. The corresponding Data is of
|
||||
/// type EFI_IPSEC_SAD_DATA.
|
||||
///
|
||||
///
|
||||
IPsecConfigDataTypeSad,
|
||||
///
|
||||
/// The IPsec Peer Authorization Database (aka PAD) setting, which
|
||||
/// provides the link between the SPD and a security association
|
||||
/// management protocol. The PAD entry specifies the
|
||||
/// authentication protocol (e.g. IKEv1, IKEv2) method used and the
|
||||
/// authentication data. The corresponding Data is of type
|
||||
///
|
||||
/// The IPsec Peer Authorization Database (aka PAD) setting, which
|
||||
/// provides the link between the SPD and a security association
|
||||
/// management protocol. The PAD entry specifies the
|
||||
/// authentication protocol (e.g. IKEv1, IKEv2) method used and the
|
||||
/// authentication data. The corresponding Data is of type
|
||||
/// EFI_IPSEC_PAD_DATA.
|
||||
///
|
||||
IPsecConfigDataTypePad,
|
||||
@@ -79,70 +79,70 @@ typedef struct _EFI_IP_ADDRESS_INFO {
|
||||
/// EFI_IPSEC_SPD_SELECTOR
|
||||
///
|
||||
typedef struct _EFI_IPSEC_SPD_SELECTOR {
|
||||
///
|
||||
///
|
||||
/// Specifies the actual number of entries in LocalAddress.
|
||||
///
|
||||
///
|
||||
UINT32 LocalAddressCount;
|
||||
///
|
||||
/// A list of ranges of IPv4 or IPv6 addresses, which refers to the
|
||||
///
|
||||
/// A list of ranges of IPv4 or IPv6 addresses, which refers to the
|
||||
/// addresses being protected by IPsec policy.
|
||||
///
|
||||
///
|
||||
EFI_IP_ADDRESS_INFO *LocalAddress;
|
||||
///
|
||||
///
|
||||
/// Specifies the actual number of entries in RemoteAddress.
|
||||
///
|
||||
///
|
||||
UINT32 RemoteAddressCount;
|
||||
///
|
||||
/// A list of ranges of IPv4 or IPv6 addresses, which are peer entities
|
||||
/// to LocalAddress.
|
||||
///
|
||||
///
|
||||
/// A list of ranges of IPv4 or IPv6 addresses, which are peer entities
|
||||
/// to LocalAddress.
|
||||
///
|
||||
EFI_IP_ADDRESS_INFO *RemoteAddress;
|
||||
///
|
||||
/// Next layer protocol. Obtained from the IPv4 Protocol or the IPv6
|
||||
/// Next Header fields. The next layer protocol is whatever comes
|
||||
/// after any IP extension headers that are present. A zero value is a
|
||||
///
|
||||
/// Next layer protocol. Obtained from the IPv4 Protocol or the IPv6
|
||||
/// Next Header fields. The next layer protocol is whatever comes
|
||||
/// after any IP extension headers that are present. A zero value is a
|
||||
/// wildcard that matches any value in NextLayerProtocol field.
|
||||
///
|
||||
UINT16 NextLayerProtocol;
|
||||
///
|
||||
/// Local Port if the Next Layer Protocol uses two ports (as do TCP,
|
||||
/// UDP, and others). A zero value is a wildcard that matches any
|
||||
///
|
||||
UINT16 NextLayerProtocol;
|
||||
///
|
||||
/// Local Port if the Next Layer Protocol uses two ports (as do TCP,
|
||||
/// UDP, and others). A zero value is a wildcard that matches any
|
||||
/// value in LocalPort field.
|
||||
///
|
||||
///
|
||||
UINT16 LocalPort;
|
||||
///
|
||||
/// A designed port range size. The start port is LocalPort, and
|
||||
/// the total number of ports is described by LocalPortRange.
|
||||
/// This field is ignored if NextLayerProtocol does not use
|
||||
/// ports.
|
||||
///
|
||||
///
|
||||
/// A designed port range size. The start port is LocalPort, and
|
||||
/// the total number of ports is described by LocalPortRange.
|
||||
/// This field is ignored if NextLayerProtocol does not use
|
||||
/// ports.
|
||||
///
|
||||
UINT16 LocalPortRange;
|
||||
///
|
||||
/// Remote Port if the Next Layer Protocol uses two ports. A zero
|
||||
///
|
||||
/// Remote Port if the Next Layer Protocol uses two ports. A zero
|
||||
/// value is a wildcard that matches any value in RemotePort field.
|
||||
///
|
||||
///
|
||||
UINT16 RemotePort;
|
||||
///
|
||||
/// A designed port range size. The start port is RemotePort, and
|
||||
/// the total number of ports is described by RemotePortRange.
|
||||
///
|
||||
/// A designed port range size. The start port is RemotePort, and
|
||||
/// the total number of ports is described by RemotePortRange.
|
||||
/// This field is ignored if NextLayerProtocol does not use ports.
|
||||
///
|
||||
///
|
||||
UINT16 RemotePortRange;
|
||||
} EFI_IPSEC_SPD_SELECTOR;
|
||||
|
||||
|
||||
///
|
||||
/// EFI_IPSEC_TRAFFIC_DIR
|
||||
/// represents the directionality in an SPD entry.
|
||||
///
|
||||
typedef enum {
|
||||
///
|
||||
/// The EfiIPsecInBound refers to traffic entering an IPsec implementation via
|
||||
/// The EfiIPsecInBound refers to traffic entering an IPsec implementation via
|
||||
/// the unprotected interface or emitted by the implementation on the unprotected
|
||||
/// side of the boundary and directed towards the protected interface.
|
||||
/// side of the boundary and directed towards the protected interface.
|
||||
///
|
||||
EfiIPsecInBound,
|
||||
///
|
||||
/// The EfiIPsecOutBound refers to traffic entering the implementation via
|
||||
/// The EfiIPsecOutBound refers to traffic entering the implementation via
|
||||
/// the protected interface, or emitted by the implementation on the protected side
|
||||
/// of the boundary and directed toward the unprotected interface.
|
||||
///
|
||||
@@ -154,54 +154,54 @@ typedef enum {
|
||||
/// represents three possible processing choices.
|
||||
///
|
||||
typedef enum {
|
||||
///
|
||||
///
|
||||
/// Refers to traffic that is not allowed to traverse the IPsec boundary.
|
||||
///
|
||||
///
|
||||
EfiIPsecActionDiscard,
|
||||
///
|
||||
/// Refers to traffic that is allowed to cross the IPsec boundary
|
||||
///
|
||||
/// Refers to traffic that is allowed to cross the IPsec boundary
|
||||
/// without protection.
|
||||
///
|
||||
///
|
||||
EfiIPsecActionBypass,
|
||||
///
|
||||
/// Refers to traffic that is afforded IPsec protection, and for such
|
||||
/// traffic the SPD must specify the security protocols to be
|
||||
/// employed, their mode, security service options, and the
|
||||
/// cryptographic algorithms to be used.
|
||||
///
|
||||
/// Refers to traffic that is afforded IPsec protection, and for such
|
||||
/// traffic the SPD must specify the security protocols to be
|
||||
/// employed, their mode, security service options, and the
|
||||
/// cryptographic algorithms to be used.
|
||||
///
|
||||
EfiIPsecActionProtect
|
||||
} EFI_IPSEC_ACTION;
|
||||
|
||||
///
|
||||
/// EFI_IPSEC_SA_LIFETIME
|
||||
/// defines the lifetime of an SA, which represents when a SA must be
|
||||
/// replaced or terminated. A value of all 0 for each field removes
|
||||
/// defines the lifetime of an SA, which represents when a SA must be
|
||||
/// replaced or terminated. A value of all 0 for each field removes
|
||||
/// the limitation of a SA lifetime.
|
||||
///
|
||||
typedef struct _EFI_IPSEC_SA_LIFETIME {
|
||||
///
|
||||
///
|
||||
/// The number of bytes to which the IPsec cryptographic algorithm
|
||||
/// can be applied. For ESP, this is the encryption algorithm and for
|
||||
/// AH, this is the authentication algorithm. The ByteCount
|
||||
/// AH, this is the authentication algorithm. The ByteCount
|
||||
/// includes pad bytes for cryptographic operations.
|
||||
///
|
||||
///
|
||||
UINT64 ByteCount;
|
||||
///
|
||||
/// A time interval in second that warns the implementation to
|
||||
///
|
||||
/// A time interval in second that warns the implementation to
|
||||
/// initiate action such as setting up a replacement SA.
|
||||
///
|
||||
///
|
||||
UINT64 SoftLifetime;
|
||||
///
|
||||
/// A time interval in second when the current SA ends and is
|
||||
///
|
||||
/// A time interval in second when the current SA ends and is
|
||||
/// destroyed.
|
||||
///
|
||||
///
|
||||
UINT64 HardLifetime;
|
||||
} EFI_IPSEC_SA_LIFETIME;
|
||||
|
||||
///
|
||||
/// EFI_IPSEC_MODE
|
||||
/// There are two modes of IPsec operation: transport mode and tunnel mode. In
|
||||
/// EfiIPsecTransport mode, AH and ESP provide protection primarily for next layer protocols;
|
||||
/// There are two modes of IPsec operation: transport mode and tunnel mode. In
|
||||
/// EfiIPsecTransport mode, AH and ESP provide protection primarily for next layer protocols;
|
||||
/// In EfiIPsecTunnel mode, AH and ESP are applied to tunneled IP packets.
|
||||
///
|
||||
typedef enum {
|
||||
@@ -226,19 +226,19 @@ typedef enum {
|
||||
/// EFI_IPSEC_TUNNEL_OPTION
|
||||
///
|
||||
typedef struct _EFI_IPSEC_TUNNEL_OPTION {
|
||||
///
|
||||
///
|
||||
/// Local tunnel address when IPsec mode is EfiIPsecTunnel.
|
||||
///
|
||||
///
|
||||
EFI_IP_ADDRESS LocalTunnelAddress;
|
||||
///
|
||||
///
|
||||
/// Remote tunnel address when IPsec mode is EfiIPsecTunnel.
|
||||
///
|
||||
///
|
||||
EFI_IP_ADDRESS RemoteTunnelAddress;
|
||||
///
|
||||
///
|
||||
/// The option of copying the DF bit from an outbound package
|
||||
/// to the tunnel mode header that it emits, when traffic is
|
||||
/// carried via a tunnel mode SA.
|
||||
///
|
||||
/// to the tunnel mode header that it emits, when traffic is
|
||||
/// carried via a tunnel mode SA.
|
||||
///
|
||||
EFI_IPSEC_TUNNEL_DF_OPTION DF;
|
||||
} EFI_IPSEC_TUNNEL_OPTION;
|
||||
|
||||
@@ -247,7 +247,7 @@ typedef struct _EFI_IPSEC_TUNNEL_OPTION {
|
||||
///
|
||||
typedef enum {
|
||||
EfiIPsecAH, ///< IP Authentication Header protocol which is specified in RFC 4302.
|
||||
EfiIPsecESP ///< IP Encapsulating Security Payload which is specified in RFC 4303.
|
||||
EfiIPsecESP ///< IP Encapsulating Security Payload which is specified in RFC 4303.
|
||||
} EFI_IPSEC_PROTOCOL_TYPE;
|
||||
|
||||
///
|
||||
@@ -255,48 +255,48 @@ typedef enum {
|
||||
/// describes a policy list for traffic processing.
|
||||
///
|
||||
typedef struct _EFI_IPSEC_PROCESS_POLICY {
|
||||
///
|
||||
/// Extended Sequence Number. Is this SA using extended sequence
|
||||
///
|
||||
/// Extended Sequence Number. Is this SA using extended sequence
|
||||
/// numbers. 64 bit counter is used if TRUE.
|
||||
///
|
||||
///
|
||||
BOOLEAN ExtSeqNum;
|
||||
///
|
||||
/// A flag indicating whether overflow of the sequence number
|
||||
/// counter should generate an auditable event and prevent
|
||||
/// transmission of additional packets on the SA, or whether rollover
|
||||
///
|
||||
/// A flag indicating whether overflow of the sequence number
|
||||
/// counter should generate an auditable event and prevent
|
||||
/// transmission of additional packets on the SA, or whether rollover
|
||||
/// is permitted.
|
||||
///
|
||||
///
|
||||
BOOLEAN SeqOverflow;
|
||||
///
|
||||
/// Is this SA using stateful fragment checking. TRUE represents
|
||||
///
|
||||
/// Is this SA using stateful fragment checking. TRUE represents
|
||||
/// stateful fragment checking.
|
||||
///
|
||||
///
|
||||
BOOLEAN FragCheck;
|
||||
///
|
||||
/// A time interval after which a SA must be replaced with a new SA
|
||||
/// (and new SPI) or terminated.
|
||||
///
|
||||
///
|
||||
/// A time interval after which a SA must be replaced with a new SA
|
||||
/// (and new SPI) or terminated.
|
||||
///
|
||||
EFI_IPSEC_SA_LIFETIME SaLifetime;
|
||||
///
|
||||
///
|
||||
/// IPsec mode: tunnel or transport.
|
||||
///
|
||||
///
|
||||
EFI_IPSEC_MODE Mode;
|
||||
///
|
||||
///
|
||||
/// Tunnel Option. TunnelOption is ignored if Mode is EfiIPsecTransport.
|
||||
///
|
||||
///
|
||||
EFI_IPSEC_TUNNEL_OPTION *TunnelOption;
|
||||
///
|
||||
///
|
||||
/// IPsec protocol: AH or ESP
|
||||
///
|
||||
///
|
||||
EFI_IPSEC_PROTOCOL_TYPE Proto;
|
||||
///
|
||||
///
|
||||
/// Cryptographic algorithm type used for authentication.
|
||||
///
|
||||
///
|
||||
UINT8 AuthAlgoId;
|
||||
///
|
||||
/// Cryptographic algorithm type used for encryption. EncAlgo is
|
||||
/// NULL when IPsec protocol is AH. For ESP protocol, EncAlgo
|
||||
/// can also be used to describe the algorithm if a combined mode
|
||||
///
|
||||
/// Cryptographic algorithm type used for encryption. EncAlgo is
|
||||
/// NULL when IPsec protocol is AH. For ESP protocol, EncAlgo
|
||||
/// can also be used to describe the algorithm if a combined mode
|
||||
/// algorithm is used.
|
||||
///
|
||||
UINT8 EncAlgoId;
|
||||
@@ -307,19 +307,19 @@ typedef struct _EFI_IPSEC_PROCESS_POLICY {
|
||||
/// A triplet to identify an SA, consisting of the following members.
|
||||
///
|
||||
typedef struct _EFI_IPSEC_SA_ID {
|
||||
///
|
||||
/// Security Parameter Index (aka SPI). An arbitrary 32-bit value
|
||||
/// that is used by a receiver to identity the SA to which an incoming
|
||||
///
|
||||
/// Security Parameter Index (aka SPI). An arbitrary 32-bit value
|
||||
/// that is used by a receiver to identity the SA to which an incoming
|
||||
/// package should be bound.
|
||||
///
|
||||
///
|
||||
UINT32 Spi;
|
||||
///
|
||||
///
|
||||
/// IPsec protocol: AH or ESP
|
||||
///
|
||||
///
|
||||
EFI_IPSEC_PROTOCOL_TYPE Proto;
|
||||
///
|
||||
/// Destination IP address.
|
||||
///
|
||||
///
|
||||
/// Destination IP address.
|
||||
///
|
||||
EFI_IP_ADDRESS DestAddress;
|
||||
} EFI_IPSEC_SA_ID;
|
||||
|
||||
@@ -330,48 +330,48 @@ typedef struct _EFI_IPSEC_SA_ID {
|
||||
/// EFI_IPSEC_SPD_DATA
|
||||
///
|
||||
typedef struct _EFI_IPSEC_SPD_DATA {
|
||||
///
|
||||
/// A null-terminated ASCII name string which is used as a symbolic
|
||||
///
|
||||
/// A null-terminated ASCII name string which is used as a symbolic
|
||||
/// identifier for an IPsec Local or Remote address.
|
||||
///
|
||||
///
|
||||
UINT8 Name[MAX_PEERID_LEN];
|
||||
///
|
||||
/// Bit-mapped list describing Populate from Packet flags. When
|
||||
/// creating a SA, if PackageFlag bit is set to TRUE, instantiate
|
||||
/// the selector from the corresponding field in the package that
|
||||
/// triggered the creation of the SA, else from the value(s) in the
|
||||
/// corresponding SPD entry. The PackageFlag bit setting for
|
||||
///
|
||||
/// Bit-mapped list describing Populate from Packet flags. When
|
||||
/// creating a SA, if PackageFlag bit is set to TRUE, instantiate
|
||||
/// the selector from the corresponding field in the package that
|
||||
/// triggered the creation of the SA, else from the value(s) in the
|
||||
/// corresponding SPD entry. The PackageFlag bit setting for
|
||||
/// corresponding selector field of EFI_IPSEC_SPD_SELECTOR:
|
||||
/// Bit 0: EFI_IPSEC_SPD_SELECTOR.LocalAddress
|
||||
/// Bit 1: EFI_IPSEC_SPD_SELECTOR.RemoteAddress
|
||||
/// Bit 2:
|
||||
/// EFI_IPSEC_SPD_SELECTOR.NextLayerProtocol
|
||||
/// Bit 3: EFI_IPSEC_SPD_SELECTOR.LocalPort
|
||||
/// Bit 4: EFI_IPSEC_SPD_SELECTOR.RemotePort
|
||||
/// Bit 0: EFI_IPSEC_SPD_SELECTOR.LocalAddress
|
||||
/// Bit 1: EFI_IPSEC_SPD_SELECTOR.RemoteAddress
|
||||
/// Bit 2:
|
||||
/// EFI_IPSEC_SPD_SELECTOR.NextLayerProtocol
|
||||
/// Bit 3: EFI_IPSEC_SPD_SELECTOR.LocalPort
|
||||
/// Bit 4: EFI_IPSEC_SPD_SELECTOR.RemotePort
|
||||
/// Others: Reserved.
|
||||
///
|
||||
UINT32 PackageFlag;
|
||||
///
|
||||
///
|
||||
/// The traffic direction of data gram.
|
||||
///
|
||||
///
|
||||
EFI_IPSEC_TRAFFIC_DIR TrafficDirection;
|
||||
///
|
||||
/// Processing choices to indicate which action is required by this
|
||||
/// policy.
|
||||
///
|
||||
///
|
||||
/// Processing choices to indicate which action is required by this
|
||||
/// policy.
|
||||
///
|
||||
EFI_IPSEC_ACTION Action;
|
||||
///
|
||||
///
|
||||
/// The policy and rule information for a SPD entry.
|
||||
///
|
||||
///
|
||||
EFI_IPSEC_PROCESS_POLICY *ProcessingPolicy;
|
||||
///
|
||||
///
|
||||
/// Specifies the actual number of entries in SaId list.
|
||||
///
|
||||
///
|
||||
UINTN SaIdCount;
|
||||
///
|
||||
/// The SAD entry used for the traffic processing. The
|
||||
///
|
||||
/// The SAD entry used for the traffic processing. The
|
||||
/// existed SAD entry links indicate this is the manual key case.
|
||||
///
|
||||
///
|
||||
EFI_IPSEC_SA_ID SaId[1];
|
||||
} EFI_IPSEC_SPD_DATA;
|
||||
|
||||
@@ -389,9 +389,9 @@ typedef struct _EFI_IPSEC_AH_ALGO_INFO {
|
||||
///
|
||||
/// EFI_IPSEC_ESP_ALGO_INFO
|
||||
/// The security algorithm selection for IPsec ESP encryption and authentication.
|
||||
/// The required authentication algorithm is specified in RFC 4305.
|
||||
/// EncAlgoId fields can also specify an ESP combined mode algorithm
|
||||
/// (e.g. AES with CCM mode, specified in RFC 4309), which provides both
|
||||
/// The required authentication algorithm is specified in RFC 4305.
|
||||
/// EncAlgoId fields can also specify an ESP combined mode algorithm
|
||||
/// (e.g. AES with CCM mode, specified in RFC 4309), which provides both
|
||||
/// confidentiality and authentication services.
|
||||
///
|
||||
typedef struct _EFI_IPSEC_ESP_ALGO_INFO {
|
||||
@@ -415,40 +415,40 @@ typedef union {
|
||||
/// EFI_IPSEC_SA_DATA
|
||||
///
|
||||
typedef struct _EFI_IPSEC_SA_DATA {
|
||||
///
|
||||
///
|
||||
/// IPsec mode: tunnel or transport.
|
||||
///
|
||||
///
|
||||
EFI_IPSEC_MODE Mode;
|
||||
///
|
||||
/// Sequence Number Counter. A 64-bit counter used to generate the
|
||||
///
|
||||
/// Sequence Number Counter. A 64-bit counter used to generate the
|
||||
/// sequence number field in AH or ESP headers.
|
||||
///
|
||||
///
|
||||
UINT64 SNCount;
|
||||
///
|
||||
/// Anti-Replay Window. A 64-bit counter and a bit-map used to
|
||||
///
|
||||
/// Anti-Replay Window. A 64-bit counter and a bit-map used to
|
||||
/// determine whether an inbound AH or ESP packet is a replay.
|
||||
///
|
||||
///
|
||||
UINT8 AntiReplayWindows;
|
||||
///
|
||||
/// AH/ESP cryptographic algorithm, key and parameters.
|
||||
///
|
||||
///
|
||||
/// AH/ESP cryptographic algorithm, key and parameters.
|
||||
///
|
||||
EFI_IPSEC_ALGO_INFO AlgoInfo;
|
||||
///
|
||||
/// Lifetime of this SA.
|
||||
///
|
||||
///
|
||||
/// Lifetime of this SA.
|
||||
///
|
||||
EFI_IPSEC_SA_LIFETIME SaLifetime;
|
||||
///
|
||||
/// Any observed path MTU and aging variables. The Path MTU
|
||||
///
|
||||
/// Any observed path MTU and aging variables. The Path MTU
|
||||
/// processing is defined in section 8 of RFC 4301.
|
||||
///
|
||||
///
|
||||
UINT32 PathMTU;
|
||||
///
|
||||
///
|
||||
/// Link to one SPD entry.
|
||||
///
|
||||
///
|
||||
EFI_IPSEC_SPD_SELECTOR *SpdSelector;
|
||||
///
|
||||
/// Indication of whether it's manually set or negotiated automatically.
|
||||
/// If ManualSet is FALSE, the corresponding SA entry is inserted through
|
||||
///
|
||||
/// Indication of whether it's manually set or negotiated automatically.
|
||||
/// If ManualSet is FALSE, the corresponding SA entry is inserted through
|
||||
/// IKE protocol negotiation.
|
||||
///
|
||||
BOOLEAN ManualSet;
|
||||
@@ -457,41 +457,41 @@ typedef struct _EFI_IPSEC_SA_DATA {
|
||||
///
|
||||
/// EFI_IPSEC_SA_DATA2
|
||||
///
|
||||
typedef struct _EFI_IPSEC_SA_DATA2 {
|
||||
typedef struct _EFI_IPSEC_SA_DATA2 {
|
||||
///
|
||||
/// IPsec mode: tunnel or transport
|
||||
///
|
||||
EFI_IPSEC_MODE Mode;
|
||||
EFI_IPSEC_MODE Mode;
|
||||
///
|
||||
/// Sequence Number Counter. A 64-bit counter used to generate the sequence
|
||||
/// number field in AH or ESP headers.
|
||||
/// Sequence Number Counter. A 64-bit counter used to generate the sequence
|
||||
/// number field in AH or ESP headers.
|
||||
///
|
||||
UINT64 SNCount;
|
||||
UINT64 SNCount;
|
||||
///
|
||||
/// Anti-Replay Window. A 64-bit counter and a bit-map used to determine
|
||||
/// Anti-Replay Window. A 64-bit counter and a bit-map used to determine
|
||||
/// whether an inbound AH or ESP packet is a replay.
|
||||
///
|
||||
UINT8 AntiReplayWindows;
|
||||
UINT8 AntiReplayWindows;
|
||||
///
|
||||
/// AH/ESP cryptographic algorithm, key and parameters.
|
||||
///
|
||||
EFI_IPSEC_ALGO_INFO AlgoInfo;
|
||||
EFI_IPSEC_ALGO_INFO AlgoInfo;
|
||||
///
|
||||
/// Lifetime of this SA.
|
||||
///
|
||||
EFI_IPSEC_SA_LIFETIME SaLifetime;
|
||||
EFI_IPSEC_SA_LIFETIME SaLifetime;
|
||||
///
|
||||
/// Any observed path MTU and aging variables. The Path MTU processing is
|
||||
/// Any observed path MTU and aging variables. The Path MTU processing is
|
||||
/// defined in section 8 of RFC 4301.
|
||||
///
|
||||
UINT32 PathMTU;
|
||||
UINT32 PathMTU;
|
||||
///
|
||||
/// Link to one SPD entry
|
||||
///
|
||||
EFI_IPSEC_SPD_SELECTOR *SpdSelector;
|
||||
EFI_IPSEC_SPD_SELECTOR *SpdSelector;
|
||||
///
|
||||
/// Indication of whether it's manually set or negotiated automatically.
|
||||
/// If ManualSet is FALSE, the corresponding SA entry is inserted through IKE
|
||||
/// Indication of whether it's manually set or negotiated automatically.
|
||||
/// If ManualSet is FALSE, the corresponding SA entry is inserted through IKE
|
||||
/// protocol negotiation
|
||||
///
|
||||
BOOLEAN ManualSet;
|
||||
@@ -503,7 +503,7 @@ typedef struct _EFI_IPSEC_SA_DATA2 {
|
||||
/// The tunnel header IP destination address.
|
||||
///
|
||||
EFI_IP_ADDRESS TunnelDestinationAddress;
|
||||
} EFI_IPSEC_SA_DATA2;
|
||||
} EFI_IPSEC_SA_DATA2;
|
||||
|
||||
|
||||
///
|
||||
@@ -514,8 +514,8 @@ typedef struct _EFI_IPSEC_SA_DATA2 {
|
||||
typedef struct _EFI_IPSEC_PAD_ID {
|
||||
///
|
||||
/// Flag to identify which type of PAD Id is used.
|
||||
///
|
||||
BOOLEAN PeerIdValid;
|
||||
///
|
||||
BOOLEAN PeerIdValid;
|
||||
union {
|
||||
///
|
||||
/// Pointer to the IPv4 or IPv6 address range.
|
||||
@@ -523,8 +523,8 @@ typedef struct _EFI_IPSEC_PAD_ID {
|
||||
EFI_IP_ADDRESS_INFO IpAddress;
|
||||
///
|
||||
/// Pointer to a null terminated ASCII string
|
||||
/// representing the symbolic names. A PeerId can be a DNS
|
||||
/// name, Distinguished Name, RFC 822 email address or Key ID
|
||||
/// representing the symbolic names. A PeerId can be a DNS
|
||||
/// name, Distinguished Name, RFC 822 email address or Key ID
|
||||
/// (specified in section 4.4.3.1 of RFC 4301)
|
||||
///
|
||||
UINT8 PeerId[MAX_PEERID_LEN];
|
||||
@@ -533,7 +533,7 @@ typedef struct _EFI_IPSEC_PAD_ID {
|
||||
|
||||
///
|
||||
/// EFI_IPSEC_CONFIG_SELECTOR
|
||||
/// describes the expected IPsec configuration data selector
|
||||
/// describes the expected IPsec configuration data selector
|
||||
/// of type EFI_IPSEC_CONFIG_DATA_TYPE.
|
||||
///
|
||||
typedef union {
|
||||
@@ -544,7 +544,7 @@ typedef union {
|
||||
|
||||
///
|
||||
/// EFI_IPSEC_AUTH_PROTOCOL_TYPE
|
||||
/// defines the possible authentication protocol for IPsec
|
||||
/// defines the possible authentication protocol for IPsec
|
||||
/// security association management.
|
||||
///
|
||||
typedef enum {
|
||||
@@ -572,64 +572,64 @@ typedef enum {
|
||||
/// EFI_IPSEC_PAD_DATA
|
||||
///
|
||||
typedef struct _EFI_IPSEC_PAD_DATA {
|
||||
///
|
||||
///
|
||||
/// Authentication Protocol for IPsec security association management.
|
||||
///
|
||||
///
|
||||
EFI_IPSEC_AUTH_PROTOCOL_TYPE AuthProtocol;
|
||||
///
|
||||
///
|
||||
/// Authentication method used.
|
||||
///
|
||||
///
|
||||
EFI_IPSEC_AUTH_METHOD AuthMethod;
|
||||
///
|
||||
/// The IKE ID payload will be used as a symbolic name for SPD
|
||||
/// lookup if IkeIdFlag is TRUE. Otherwise, the remote IP
|
||||
///
|
||||
/// The IKE ID payload will be used as a symbolic name for SPD
|
||||
/// lookup if IkeIdFlag is TRUE. Otherwise, the remote IP
|
||||
/// address provided in traffic selector playloads will be used.
|
||||
///
|
||||
///
|
||||
BOOLEAN IkeIdFlag;
|
||||
///
|
||||
///
|
||||
/// The size of Authentication data buffer, in bytes.
|
||||
///
|
||||
///
|
||||
UINTN AuthDataSize;
|
||||
///
|
||||
/// Buffer for Authentication data, (e.g., the pre-shared secret or the
|
||||
/// trust anchor relative to which the peer's certificate will be
|
||||
///
|
||||
/// Buffer for Authentication data, (e.g., the pre-shared secret or the
|
||||
/// trust anchor relative to which the peer's certificate will be
|
||||
/// validated).
|
||||
///
|
||||
///
|
||||
VOID *AuthData;
|
||||
///
|
||||
///
|
||||
/// The size of RevocationData, in bytes
|
||||
///
|
||||
///
|
||||
UINTN RevocationDataSize;
|
||||
///
|
||||
/// Pointer to CRL or OCSP data, if certificates are used for
|
||||
///
|
||||
/// Pointer to CRL or OCSP data, if certificates are used for
|
||||
/// authentication method.
|
||||
///
|
||||
///
|
||||
VOID *RevocationData;
|
||||
} EFI_IPSEC_PAD_DATA;
|
||||
|
||||
|
||||
/**
|
||||
Set the security association, security policy and peer authorization configuration
|
||||
information for the EFI IPsec driver.
|
||||
information for the EFI IPsec driver.
|
||||
|
||||
This function is used to set the IPsec configuration information of type DataType for
|
||||
the EFI IPsec driver.
|
||||
The IPsec configuration data has a unique selector/identifier separately to identify
|
||||
a data entry. The selector structure depends on DataType's definition.
|
||||
Using SetData() with a Data of NULL causes the IPsec configuration data entry identified
|
||||
by DataType and Selector to be deleted.
|
||||
by DataType and Selector to be deleted.
|
||||
|
||||
@param[in] This Pointer to the EFI_IPSEC_CONFIG_PROTOCOL instance.
|
||||
@param[in] DataType The type of data to be set.
|
||||
@param[in] Selector Pointer to an entry selector on operated configuration data
|
||||
specified by DataType. A NULL Selector causes the entire
|
||||
@param[in] Selector Pointer to an entry selector on operated configuration data
|
||||
specified by DataType. A NULL Selector causes the entire
|
||||
specified-type configuration information to be flushed.
|
||||
@param[in] Data The data buffer to be set. The structure of the data buffer is
|
||||
@param[in] Data The data buffer to be set. The structure of the data buffer is
|
||||
associated with the DataType.
|
||||
@param[in] InsertBefore Pointer to one entry selector which describes the expected
|
||||
position the new data entry will be added. If InsertBefore is NULL,
|
||||
the new entry will be appended the end of database.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The specified configuration entry data is set successfully.
|
||||
@retval EFI_INVALID_PARAMETER One or more of the following are TRUE:
|
||||
- This is NULL.
|
||||
@@ -648,20 +648,20 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Return the configuration value for the EFI IPsec driver.
|
||||
Return the configuration value for the EFI IPsec driver.
|
||||
|
||||
This function lookup the data entry from IPsec database or IKEv2 configuration
|
||||
information. The expected data type and unique identification are described in
|
||||
DataType and Selector parameters.
|
||||
DataType and Selector parameters.
|
||||
|
||||
@param[in] This Pointer to the EFI_IPSEC_CONFIG_PROTOCOL instance.
|
||||
@param[in] DataType The type of data to retrieve.
|
||||
@param[in] Selector Pointer to an entry selector which is an identifier of the IPsec
|
||||
@param[in] Selector Pointer to an entry selector which is an identifier of the IPsec
|
||||
configuration data entry.
|
||||
@param[in, out] DataSize On output the size of data returned in Data.
|
||||
@param[out] Data The buffer to return the contents of the IPsec configuration data.
|
||||
The type of the data buffer is associated with the DataType.
|
||||
|
||||
@param[out] Data The buffer to return the contents of the IPsec configuration data.
|
||||
The type of the data buffer is associated with the DataType.
|
||||
|
||||
@retval EFI_SUCCESS The specified configuration data is got successfully.
|
||||
@retval EFI_INVALID_PARAMETER One or more of the followings are TRUE:
|
||||
- This is NULL.
|
||||
@@ -685,30 +685,30 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Enumerates the current selector for IPsec configuration data entry.
|
||||
Enumerates the current selector for IPsec configuration data entry.
|
||||
|
||||
This function is called multiple times to retrieve the entry Selector in IPsec
|
||||
configuration database. On each call to GetNextSelector(), the next entry
|
||||
configuration database. On each call to GetNextSelector(), the next entry
|
||||
Selector are retrieved into the output interface.
|
||||
|
||||
If the entire IPsec configuration database has been iterated, the error
|
||||
|
||||
If the entire IPsec configuration database has been iterated, the error
|
||||
EFI_NOT_FOUND is returned.
|
||||
If the Selector buffer is too small for the next Selector copy, an
|
||||
EFI_BUFFER_TOO_SMALL error is returned, and SelectorSize is updated to reflect
|
||||
If the Selector buffer is too small for the next Selector copy, an
|
||||
EFI_BUFFER_TOO_SMALL error is returned, and SelectorSize is updated to reflect
|
||||
the size of buffer needed.
|
||||
|
||||
On the initial call to GetNextSelector() to start the IPsec configuration database
|
||||
search, a pointer to the buffer with all zero value is passed in Selector. Calls
|
||||
to SetData() between calls to GetNextSelector may produce unpredictable results.
|
||||
search, a pointer to the buffer with all zero value is passed in Selector. Calls
|
||||
to SetData() between calls to GetNextSelector may produce unpredictable results.
|
||||
|
||||
@param[in] This Pointer to the EFI_IPSEC_CONFIG_PROTOCOL instance.
|
||||
@param[in] DataType The type of IPsec configuration data to retrieve.
|
||||
@param[in, out] SelectorSize The size of the Selector buffer.
|
||||
@param[in, out] Selector On input, supplies the pointer to last Selector that was
|
||||
@param[in, out] Selector On input, supplies the pointer to last Selector that was
|
||||
returned by GetNextSelector().
|
||||
On output, returns one copy of the current entry Selector
|
||||
of a given DataType.
|
||||
|
||||
of a given DataType.
|
||||
|
||||
@retval EFI_SUCCESS The specified configuration data is got successfully.
|
||||
@retval EFI_INVALID_PARAMETER One or more of the followings are TRUE:
|
||||
- This is NULL.
|
||||
@@ -717,7 +717,7 @@ EFI_STATUS
|
||||
@retval EFI_NOT_FOUND The next configuration data entry was not found.
|
||||
@retval EFI_UNSUPPORTED The specified DataType is not supported.
|
||||
@retval EFI_BUFFER_TOO_SMALL The SelectorSize is too small for the result. This parameter
|
||||
has been updated with the size needed to complete the search
|
||||
has been updated with the size needed to complete the search
|
||||
request.
|
||||
|
||||
**/
|
||||
@@ -732,18 +732,18 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Register an event that is to be signaled whenever a configuration process on the
|
||||
specified IPsec configuration information is done.
|
||||
specified IPsec configuration information is done.
|
||||
|
||||
This function registers an event that is to be signaled whenever a configuration
|
||||
process on the specified IPsec configuration data is done (e.g. IPsec security
|
||||
process on the specified IPsec configuration data is done (e.g. IPsec security
|
||||
policy database configuration is ready). An event can be registered for different
|
||||
DataType simultaneously and the caller is responsible for determining which type
|
||||
of configuration data causes the signaling of the event in such case.
|
||||
DataType simultaneously and the caller is responsible for determining which type
|
||||
of configuration data causes the signaling of the event in such case.
|
||||
|
||||
@param[in] This Pointer to the EFI_IPSEC_CONFIG_PROTOCOL instance.
|
||||
@param[in] DataType The type of data to be registered the event for.
|
||||
@param[in] Event The event to be registered.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The event is registered successfully.
|
||||
@retval EFI_INVALID_PARAMETER This is NULL or Event is NULL.
|
||||
@retval EFI_ACCESS_DENIED The Event is already registered for the DataType.
|
||||
@@ -761,16 +761,16 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Remove the specified event that is previously registered on the specified IPsec
|
||||
configuration data.
|
||||
configuration data.
|
||||
|
||||
This function removes a previously registered event for the specified configuration data.
|
||||
This function removes a previously registered event for the specified configuration data.
|
||||
|
||||
@param[in] This Pointer to the EFI_IPSEC_CONFIG_PROTOCOL instance.
|
||||
@param[in] DataType The configuration data type to remove the registered event for.
|
||||
@param[in] Event The event to be unregistered.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The event is removed successfully.
|
||||
@retval EFI_NOT_FOUND The Event specified by DataType could not be found in the
|
||||
@retval EFI_NOT_FOUND The Event specified by DataType could not be found in the
|
||||
database.
|
||||
@retval EFI_INVALID_PARAMETER This is NULL or Event is NULL.
|
||||
@retval EFI_UNSUPPORTED The notify registration unsupported or the specified
|
||||
@@ -788,12 +788,12 @@ EFI_STATUS
|
||||
///
|
||||
/// EFI_IPSEC_CONFIG_PROTOCOL
|
||||
/// provides the ability to set and lookup the IPsec SAD (Security Association Database),
|
||||
/// SPD (Security Policy Database) data entry and configure the security association
|
||||
/// management protocol such as IKEv2. This protocol is used as the central
|
||||
/// SPD (Security Policy Database) data entry and configure the security association
|
||||
/// management protocol such as IKEv2. This protocol is used as the central
|
||||
/// repository of any policy-specific configuration for EFI IPsec driver.
|
||||
/// EFI_IPSEC_CONFIG_PROTOCOL can be bound to both IPv4 and IPv6 stack. User can use this
|
||||
/// EFI_IPSEC_CONFIG_PROTOCOL can be bound to both IPv4 and IPv6 stack. User can use this
|
||||
/// protocol for IPsec configuration in both IPv4 and IPv6 environment.
|
||||
///
|
||||
///
|
||||
struct _EFI_IPSEC_CONFIG_PROTOCOL {
|
||||
EFI_IPSEC_CONFIG_SET_DATA SetData;
|
||||
EFI_IPSEC_CONFIG_GET_DATA GetData;
|
||||
|
@@ -5,14 +5,14 @@
|
||||
subtractive-decode ISA bus. It allows devices to be registered and also
|
||||
handles opening and closing the apertures which are positively-decoded.
|
||||
|
||||
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
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:
|
||||
This protocol is from PI Version 1.2.1.
|
||||
@@ -76,7 +76,7 @@ EFI_STATUS
|
||||
hardware aperture (via CloseIoAperture()) until there are no more references to it.
|
||||
|
||||
@param This A pointer to this instance of the EFI_ISA_HC_PROTOCOL.
|
||||
@param IoApertureHandle The I/O aperture handle previously returned from a
|
||||
@param IoApertureHandle The I/O aperture handle previously returned from a
|
||||
call to OpenIoAperture().
|
||||
|
||||
@retval EFI_SUCCESS The IO aperture was closed successfully.
|
||||
|
@@ -8,7 +8,7 @@
|
||||
server over the network, or to a Hardware Security Module (HSM) attached to the system it
|
||||
runs on, or anything else that is capable of providing the key management service.
|
||||
|
||||
Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
@@ -373,7 +373,7 @@ EFI_STATUS
|
||||
|
||||
@param[in] This Pointer to the EFI_KMS_PROTOCOL instance.
|
||||
@param[in] Client Pointer to a valid EFI_KMS_CLIENT_INFO structure.
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
data specified by the ClientData parameter. This
|
||||
parameter may be NULL, in which case the ClientData
|
||||
parameter will be ignored and no data will be
|
||||
@@ -388,11 +388,11 @@ EFI_STATUS
|
||||
which will be zero if no data is returned from the KMS.
|
||||
@param[in, out] ClientData Pointer to a pointer to an arbitrary block of data of
|
||||
*ClientDataSize that is to be passed directly to the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
ClientDataSize parameter is also NULL. Upon return to
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
If the returned value for *ClientDataSize is zero,
|
||||
then the returned value for *ClientData must be NULL
|
||||
and should be ignored by the caller. The KMS protocol
|
||||
@@ -418,7 +418,7 @@ EFI_STATUS
|
||||
IN EFI_KMS_CLIENT_INFO *Client,
|
||||
IN OUT UINTN *ClientDataSize OPTIONAL,
|
||||
IN OUT VOID **ClientData OPTIONAL
|
||||
);
|
||||
);
|
||||
|
||||
/**
|
||||
Request that the KMS generate one or more new keys and associate them with key identifiers.
|
||||
@@ -454,7 +454,7 @@ EFI_STATUS
|
||||
type and must be freed by the caller when it is no longer
|
||||
needed. Also, the KeyStatus field must reflect the result
|
||||
of the request relative to that key.
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
data specified by the ClientData parameter. This
|
||||
parameter may be NULL, in which case the ClientData
|
||||
parameter will be ignored and no data will be
|
||||
@@ -469,11 +469,11 @@ EFI_STATUS
|
||||
which will be zero if no data is returned from the KMS.
|
||||
@param[in, out] ClientData Pointer to a pointer to an arbitrary block of data of
|
||||
*ClientDataSize that is to be passed directly to the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
ClientDataSize parameter is also NULL. Upon return to
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
If the returned value for *ClientDataSize is zero,
|
||||
then the returned value for *ClientData must be NULL
|
||||
and should be ignored by the caller. The KMS protocol
|
||||
@@ -535,12 +535,12 @@ EFI_STATUS
|
||||
On output, the KeyIdentifierSize and KeyIdentifier fields
|
||||
will be unchanged, while the KeyFormat and KeyValue
|
||||
fields will be updated values associated with this key
|
||||
identifier. Memory for the KeyValue field will be
|
||||
identifier. Memory for the KeyValue field will be
|
||||
allocated with the BOOT_SERVICES_DATA type and
|
||||
must be freed by the caller when it is no longer needed.
|
||||
Also, the KeyStatus field will reflect the result of the
|
||||
request relative to the individual key descriptor.
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
data specified by the ClientData parameter. This
|
||||
parameter may be NULL, in which case the ClientData
|
||||
parameter will be ignored and no data will be
|
||||
@@ -555,11 +555,11 @@ EFI_STATUS
|
||||
which will be zero if no data is returned from the KMS.
|
||||
@param[in, out] ClientData Pointer to a pointer to an arbitrary block of data of
|
||||
*ClientDataSize that is to be passed directly to the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
ClientDataSize parameter is also NULL. Upon return to
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
If the returned value for *ClientDataSize is zero,
|
||||
then the returned value for *ClientData must be NULL
|
||||
and should be ignored by the caller. The KMS protocol
|
||||
@@ -626,7 +626,7 @@ EFI_STATUS
|
||||
consistent values to be associated with the given KeyId.
|
||||
On return, the KeyStatus field will reflect the result
|
||||
of the operation for each key request.
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
data specified by the ClientData parameter. This
|
||||
parameter may be NULL, in which case the ClientData
|
||||
parameter will be ignored and no data will be
|
||||
@@ -641,11 +641,11 @@ EFI_STATUS
|
||||
which will be zero if no data is returned from the KMS.
|
||||
@param[in, out] ClientData Pointer to a pointer to an arbitrary block of data of
|
||||
*ClientDataSize that is to be passed directly to the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
ClientDataSize parameter is also NULL. Upon return to
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
If the returned value for *ClientDataSize is zero,
|
||||
then the returned value for *ClientData must be NULL
|
||||
and should be ignored by the caller. The KMS protocol
|
||||
@@ -711,7 +711,7 @@ EFI_STATUS
|
||||
KeyValue fields are ignored, but should be 0.
|
||||
On return, the KeyStatus field will reflect the result
|
||||
of the operation for each key request.
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
data specified by the ClientData parameter. This
|
||||
parameter may be NULL, in which case the ClientData
|
||||
parameter will be ignored and no data will be
|
||||
@@ -726,11 +726,11 @@ EFI_STATUS
|
||||
which will be zero if no data is returned from the KMS.
|
||||
@param[in, out] ClientData Pointer to a pointer to an arbitrary block of data of
|
||||
*ClientDataSize that is to be passed directly to the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
ClientDataSize parameter is also NULL. Upon return to
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
If the returned value for *ClientDataSize is zero,
|
||||
then the returned value for *ClientData must be NULL
|
||||
and should be ignored by the caller. The KMS protocol
|
||||
@@ -789,7 +789,7 @@ EFI_STATUS
|
||||
On input, the fields in the structure should be NULL.
|
||||
On output, the attribute fields will have updated values
|
||||
for attributes associated with this key identifier.
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
data specified by the ClientData parameter. This
|
||||
parameter may be NULL, in which case the ClientData
|
||||
parameter will be ignored and no data will be
|
||||
@@ -804,11 +804,11 @@ EFI_STATUS
|
||||
which will be zero if no data is returned from the KMS.
|
||||
@param[in, out] ClientData Pointer to a pointer to an arbitrary block of data of
|
||||
*ClientDataSize that is to be passed directly to the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
ClientDataSize parameter is also NULL. Upon return to
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
If the returned value for *ClientDataSize is zero,
|
||||
then the returned value for *ClientData must be NULL
|
||||
and should be ignored by the caller. The KMS protocol
|
||||
@@ -876,7 +876,7 @@ EFI_STATUS
|
||||
are completely filled in.
|
||||
On return the KeyAttributeStatus field will reflect the
|
||||
result of the operation for each key attribute request.
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
data specified by the ClientData parameter. This
|
||||
parameter may be NULL, in which case the ClientData
|
||||
parameter will be ignored and no data will be
|
||||
@@ -891,11 +891,11 @@ EFI_STATUS
|
||||
which will be zero if no data is returned from the KMS.
|
||||
@param[in, out] ClientData Pointer to a pointer to an arbitrary block of data of
|
||||
*ClientDataSize that is to be passed directly to the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
ClientDataSize parameter is also NULL. Upon return to
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
If the returned value for *ClientDataSize is zero,
|
||||
then the returned value for *ClientData must be NULL
|
||||
and should be ignored by the caller. The KMS protocol
|
||||
@@ -967,7 +967,7 @@ EFI_STATUS
|
||||
are completely filled in.
|
||||
On return the KeyAttributeStatus field will reflect the
|
||||
result of the operation for each key attribute request.
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
data specified by the ClientData parameter. This
|
||||
parameter may be NULL, in which case the ClientData
|
||||
parameter will be ignored and no data will be
|
||||
@@ -982,11 +982,11 @@ EFI_STATUS
|
||||
which will be zero if no data is returned from the KMS.
|
||||
@param[in, out] ClientData Pointer to a pointer to an arbitrary block of data of
|
||||
*ClientDataSize that is to be passed directly to the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
ClientDataSize parameter is also NULL. Upon return to
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
If the returned value for *ClientDataSize is zero,
|
||||
then the returned value for *ClientData must be NULL
|
||||
and should be ignored by the caller. The KMS protocol
|
||||
@@ -1064,7 +1064,7 @@ EFI_STATUS
|
||||
caller when it is no longer needed. Also, the KeyStatus
|
||||
field of each descriptor will reflect the result of the
|
||||
request relative to that key descriptor.
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
@param[in, out] ClientDataSize Pointer to the size, in bytes, of an arbitrary block of
|
||||
data specified by the ClientData parameter. This
|
||||
parameter may be NULL, in which case the ClientData
|
||||
parameter will be ignored and no data will be
|
||||
@@ -1079,11 +1079,11 @@ EFI_STATUS
|
||||
which will be zero if no data is returned from the KMS.
|
||||
@param[in, out] ClientData Pointer to a pointer to an arbitrary block of data of
|
||||
*ClientDataSize that is to be passed directly to the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
KMS if it supports the use of client data. This
|
||||
parameter may be NULL if and only if the
|
||||
ClientDataSize parameter is also NULL. Upon return to
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
the caller, *ClientData points to a block of data of
|
||||
*ClientDataSize that was returned from the KMS.
|
||||
If the returned value for *ClientDataSize is zero,
|
||||
then the returned value for *ClientData must be NULL
|
||||
and should be ignored by the caller. The KMS protocol
|
||||
|
@@ -2,7 +2,7 @@
|
||||
The Legacy Region Protocol controls the read, write and boot-lock attributes for
|
||||
the region 0xC0000 to 0xFFFFF.
|
||||
|
||||
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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,7 +12,7 @@
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is defined in UEFI Platform Initialization Specification 1.2
|
||||
This Protocol is defined in UEFI Platform Initialization Specification 1.2
|
||||
Volume 5: Standards
|
||||
|
||||
**/
|
||||
@@ -31,9 +31,9 @@ typedef struct _EFI_LEGACY_REGION2_PROTOCOL EFI_LEGACY_REGION2_PROTOCOL;
|
||||
/**
|
||||
Modify the hardware to allow (decode) or disallow (not decode) memory reads in a region.
|
||||
|
||||
If the On parameter evaluates to TRUE, this function enables memory reads in the address range
|
||||
If the On parameter evaluates to TRUE, this function enables memory reads in the address range
|
||||
Start to (Start + Length - 1).
|
||||
If the On parameter evaluates to FALSE, this function disables memory reads in the address range
|
||||
If the On parameter evaluates to FALSE, this function disables memory reads in the address range
|
||||
Start to (Start + Length - 1).
|
||||
|
||||
@param This[in] Indicates the EFI_LEGACY_REGION2_PROTOCOL instance.
|
||||
@@ -96,7 +96,7 @@ EFI_STATUS
|
||||
/**
|
||||
Modify the hardware to disallow memory attribute changes in a region.
|
||||
|
||||
This function makes the attributes of a region read only. Once a region is boot-locked with this
|
||||
This function makes the attributes of a region read only. Once a region is boot-locked with this
|
||||
function, the read and write attributes of that region cannot be changed until a power cycle has
|
||||
reset the boot-lock attribute. Calls to Decode(), Lock() and Unlock() will have no effect.
|
||||
|
||||
@@ -131,7 +131,7 @@ EFI_STATUS
|
||||
/**
|
||||
Modify the hardware to allow memory writes in a region.
|
||||
|
||||
This function changes the attributes of a memory range to allow writes.
|
||||
This function changes the attributes of a memory range to allow writes.
|
||||
|
||||
@param This[in] Indicates the EFI_LEGACY_REGION2_PROTOCOL instance.
|
||||
@param Start[in] The beginning of the physical address of the region whose
|
||||
@@ -195,9 +195,9 @@ typedef struct {
|
||||
/**
|
||||
Get region information for the attributes of the Legacy Region.
|
||||
|
||||
This function is used to discover the granularity of the attributes for the memory in the legacy
|
||||
This function is used to discover the granularity of the attributes for the memory in the legacy
|
||||
region. Each attribute may have a different granularity and the granularity may not be the same
|
||||
for all memory ranges in the legacy region.
|
||||
for all memory ranges in the legacy region.
|
||||
|
||||
@param This[in] Indicates the EFI_LEGACY_REGION2_PROTOCOL instance.
|
||||
@param DescriptorCount[out] The number of region descriptor entries returned in the Descriptor
|
||||
@@ -220,8 +220,8 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
|
||||
///
|
||||
/// The EFI_LEGACY_REGION2_PROTOCOL is used to abstract the hardware control of the memory
|
||||
///
|
||||
/// The EFI_LEGACY_REGION2_PROTOCOL is used to abstract the hardware control of the memory
|
||||
/// attributes of the Option ROM shadowing region, 0xC0000 to 0xFFFFF.
|
||||
/// There are three memory attributes that can be modified through this protocol: read, write and
|
||||
/// boot-lock. These protocols may be set in any combination.
|
||||
|
@@ -1,20 +1,20 @@
|
||||
/** @file
|
||||
Load File protocol as defined in the UEFI 2.0 specification.
|
||||
|
||||
The load file protocol exists to supports the addition of new boot devices,
|
||||
and to support booting from devices that do not map well to file system.
|
||||
The load file protocol exists to supports the addition of new boot devices,
|
||||
and to support booting from devices that do not map well to file system.
|
||||
Network boot is done via a LoadFile protocol.
|
||||
|
||||
UEFI 2.0 can boot from any device that produces a LoadFile protocol.
|
||||
|
||||
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -35,7 +35,7 @@ typedef struct _EFI_LOAD_FILE_PROTOCOL EFI_LOAD_FILE_PROTOCOL;
|
||||
|
||||
///
|
||||
/// Backward-compatible with EFI1.1
|
||||
///
|
||||
///
|
||||
typedef EFI_LOAD_FILE_PROTOCOL EFI_LOAD_FILE_INTERFACE;
|
||||
|
||||
/**
|
||||
|
@@ -1,20 +1,20 @@
|
||||
/** @file
|
||||
Load File protocol as defined in the UEFI 2.0 specification.
|
||||
|
||||
Load file protocol exists to supports the addition of new boot devices,
|
||||
and to support booting from devices that do not map well to file system.
|
||||
Load file protocol exists to supports the addition of new boot devices,
|
||||
and to support booting from devices that do not map well to file system.
|
||||
Network boot is done via a LoadFile protocol.
|
||||
|
||||
UEFI 2.0 can boot from any device that produces a LoadFile protocol.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -57,7 +57,7 @@ typedef struct _EFI_LOAD_FILE2_PROTOCOL EFI_LOAD_FILE2_PROTOCOL;
|
||||
@retval EFI_NO_RESPONSE The remote system did not respond.
|
||||
@retval EFI_NOT_FOUND The file was not found
|
||||
@retval EFI_ABORTED The file load process was manually canceled.
|
||||
@retval EFI_BUFFER_TOO_SMALL The BufferSize is too small to read the current
|
||||
@retval EFI_BUFFER_TOO_SMALL The BufferSize is too small to read the current
|
||||
directory entry. BufferSize has been updated with
|
||||
the size needed to complete the request.
|
||||
|
||||
|
@@ -4,14 +4,14 @@
|
||||
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 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
///
|
||||
/// Protocol GUID defined in EFI1.1.
|
||||
///
|
||||
///
|
||||
#define LOADED_IMAGE_PROTOCOL EFI_LOADED_IMAGE_PROTOCOL_GUID
|
||||
|
||||
///
|
||||
@@ -40,25 +40,25 @@
|
||||
|
||||
///
|
||||
/// Revision defined in EFI1.1.
|
||||
///
|
||||
///
|
||||
#define EFI_LOADED_IMAGE_INFORMATION_REVISION EFI_LOADED_IMAGE_PROTOCOL_REVISION
|
||||
|
||||
///
|
||||
/// Can be used on any image handle to obtain information about the loaded image.
|
||||
///
|
||||
typedef struct {
|
||||
UINT32 Revision; ///< Defines the revision of the EFI_LOADED_IMAGE_PROTOCOL structure.
|
||||
UINT32 Revision; ///< Defines the revision of the EFI_LOADED_IMAGE_PROTOCOL structure.
|
||||
///< All future revisions will be backward compatible to the current revision.
|
||||
EFI_HANDLE ParentHandle; ///< Parent image's image handle. NULL if the image is loaded directly from
|
||||
///< the firmware's boot manager.
|
||||
EFI_HANDLE ParentHandle; ///< Parent image's image handle. NULL if the image is loaded directly from
|
||||
///< the firmware's boot manager.
|
||||
EFI_SYSTEM_TABLE *SystemTable; ///< the image's EFI system table pointer.
|
||||
|
||||
//
|
||||
// Source location of image
|
||||
//
|
||||
EFI_HANDLE DeviceHandle; ///< The device handle that the EFI Image was loaded from.
|
||||
EFI_DEVICE_PATH_PROTOCOL *FilePath; ///< A pointer to the file path portion specific to DeviceHandle
|
||||
///< that the EFI Image was loaded from.
|
||||
EFI_HANDLE DeviceHandle; ///< The device handle that the EFI Image was loaded from.
|
||||
EFI_DEVICE_PATH_PROTOCOL *FilePath; ///< A pointer to the file path portion specific to DeviceHandle
|
||||
///< that the EFI Image was loaded from.
|
||||
VOID *Reserved; ///< Reserved. DO NOT USE.
|
||||
|
||||
//
|
||||
@@ -79,7 +79,7 @@ typedef struct {
|
||||
|
||||
//
|
||||
// For backward-compatible with EFI1.1.
|
||||
//
|
||||
//
|
||||
typedef EFI_LOADED_IMAGE_PROTOCOL EFI_LOADED_IMAGE;
|
||||
|
||||
extern EFI_GUID gEfiLoadedImageProtocolGuid;
|
||||
|
@@ -2,16 +2,16 @@
|
||||
EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL as defined in UEFI 2.0.
|
||||
EFI_MANAGED_NETWORK_PROTOCOL as defined in UEFI 2.0.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
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:
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in UEFI Specification 2.0
|
||||
|
||||
**/
|
||||
@@ -352,7 +352,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
///
|
||||
/// The MNP is used by network applications (and drivers) to
|
||||
/// The MNP is used by network applications (and drivers) to
|
||||
/// perform raw (unformatted) asynchronous network packet I/O.
|
||||
///
|
||||
struct _EFI_MANAGED_NETWORK_PROTOCOL {
|
||||
|
@@ -5,13 +5,13 @@
|
||||
Initialization (INIT) events, and Platform Management Interrupt (PMI) events
|
||||
on an Intel Itanium Processor Family based system.
|
||||
|
||||
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
@@ -3,14 +3,14 @@
|
||||
|
||||
This code abstracts the DXE core to provide delay services.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -29,17 +29,17 @@
|
||||
typedef struct _EFI_METRONOME_ARCH_PROTOCOL EFI_METRONOME_ARCH_PROTOCOL;
|
||||
|
||||
/**
|
||||
The WaitForTick() function waits for the number of ticks specified by
|
||||
TickNumber from a known time source in the platform. If TickNumber of
|
||||
ticks are detected, then EFI_SUCCESS is returned. The actual time passed
|
||||
between entry of this function and the first tick is between 0 and
|
||||
TickPeriod 100 nS units. If you want to guarantee that at least TickPeriod
|
||||
time has elapsed, wait for two ticks. This function waits for a hardware
|
||||
event to determine when a tick occurs. It is possible for interrupt
|
||||
processing, or exception processing to interrupt the execution of the
|
||||
WaitForTick() function. Depending on the hardware source for the ticks, it
|
||||
is possible for a tick to be missed. This function cannot guarantee that
|
||||
ticks will not be missed. If a timeout occurs waiting for the specified
|
||||
The WaitForTick() function waits for the number of ticks specified by
|
||||
TickNumber from a known time source in the platform. If TickNumber of
|
||||
ticks are detected, then EFI_SUCCESS is returned. The actual time passed
|
||||
between entry of this function and the first tick is between 0 and
|
||||
TickPeriod 100 nS units. If you want to guarantee that at least TickPeriod
|
||||
time has elapsed, wait for two ticks. This function waits for a hardware
|
||||
event to determine when a tick occurs. It is possible for interrupt
|
||||
processing, or exception processing to interrupt the execution of the
|
||||
WaitForTick() function. Depending on the hardware source for the ticks, it
|
||||
is possible for a tick to be missed. This function cannot guarantee that
|
||||
ticks will not be missed. If a timeout occurs waiting for the specified
|
||||
number of ticks, then EFI_TIMEOUT is returned.
|
||||
|
||||
@param This The EFI_METRONOME_ARCH_PROTOCOL instance.
|
||||
@@ -50,7 +50,7 @@ typedef struct _EFI_METRONOME_ARCH_PROTOCOL EFI_METRONOME_ARCH_PROTOCOL;
|
||||
@retval EFI_TIMEOUT A timeout occurred waiting for the specified number of ticks.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_METRONOME_WAIT_FOR_TICK)(
|
||||
IN EFI_METRONOME_ARCH_PROTOCOL *This,
|
||||
@@ -59,18 +59,18 @@ EFI_STATUS
|
||||
|
||||
///
|
||||
/// This protocol provides access to a known time source in the platform to the
|
||||
/// core. The core uses this known time source to produce core services that
|
||||
/// require calibrated delays.
|
||||
/// core. The core uses this known time source to produce core services that
|
||||
/// require calibrated delays.
|
||||
///
|
||||
struct _EFI_METRONOME_ARCH_PROTOCOL {
|
||||
EFI_METRONOME_WAIT_FOR_TICK WaitForTick;
|
||||
|
||||
|
||||
///
|
||||
/// The period of platform's known time source in 100 nS units.
|
||||
/// This value on any platform must be at least 10 uS, and must not
|
||||
/// exceed 200 uS. The value in this field is a constant that must
|
||||
/// not be modified after the Metronome architectural protocol is
|
||||
/// installed. All consumers must treat this as a read-only field.
|
||||
/// The period of platform's known time source in 100 nS units.
|
||||
/// This value on any platform must be at least 10 uS, and must not
|
||||
/// exceed 200 uS. The value in this field is a constant that must
|
||||
/// not be modified after the Metronome architectural protocol is
|
||||
/// installed. All consumers must treat this as a read-only field.
|
||||
///
|
||||
UINT32 TickPeriod;
|
||||
};
|
||||
|
@@ -3,14 +3,14 @@
|
||||
|
||||
This code provides the services required to access the system's monotonic counter
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -22,7 +22,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
///
|
||||
#define EFI_MONOTONIC_COUNTER_ARCH_PROTOCOL_GUID \
|
||||
{0x1da97072, 0xbddc, 0x4b30, {0x99, 0xf1, 0x72, 0xa0, 0xb5, 0x6f, 0xff, 0x2a} }
|
||||
|
||||
|
||||
extern EFI_GUID gEfiMonotonicCounterArchProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
@@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
EFI Multicast Trivial File Transfer Protocol Definition
|
||||
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
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:
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
EFI Network Interface Identifier Protocol.
|
||||
|
||||
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
@@ -74,8 +74,8 @@ struct _EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL {
|
||||
UINT8 MajorVer; ///< Major version number.
|
||||
UINT8 MinorVer; ///< Minor version number.
|
||||
BOOLEAN Ipv6Supported; ///< TRUE if the network interface supports IPv6; otherwise FALSE.
|
||||
UINT16 IfNum; ///< The network interface number that is being identified by this Network
|
||||
///< Interface Identifier Protocol. This field must be less than or
|
||||
UINT16 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 | IFcntExt <<8 ) fields in the !PXE structure.
|
||||
|
||||
};
|
||||
@@ -109,7 +109,7 @@ struct undiconfig_table {
|
||||
struct {
|
||||
VOID *NII_InterfacePointer; ///< Pointer to the NII interface structure.
|
||||
VOID *DevicePathPointer; ///< Pointer to the device path for this NIC.
|
||||
} NII_entry[1];
|
||||
} NII_entry[1];
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid;
|
||||
|
@@ -3,7 +3,7 @@
|
||||
NVM Express controller or to a specific namespace in a NVM Express controller.
|
||||
This protocol interface is optimized for storage.
|
||||
|
||||
Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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,7 +132,7 @@ typedef struct {
|
||||
@param[in] Event If non-blocking I/O is not supported then Event is ignored, and blocking I/O is performed.
|
||||
If Event is NULL, then blocking I/O is performed. If Event is not NULL and non-blocking I/O
|
||||
is supported, then non-blocking I/O is performed, and Event will be signaled when the NVM
|
||||
Express Command Packet completes.
|
||||
Express Command Packet completes.
|
||||
|
||||
@retval EFI_SUCCESS The NVM Express Command Packet was sent by the host. TransferLength bytes were transferred
|
||||
to, or from DataBuffer.
|
||||
@@ -162,7 +162,7 @@ EFI_STATUS
|
||||
Used to retrieve the next namespace ID for this NVM Express controller.
|
||||
|
||||
The EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL.GetNextNamespace() function retrieves the next valid
|
||||
namespace ID on this NVM Express controller.
|
||||
namespace ID on this NVM Express controller.
|
||||
|
||||
If on input the value pointed to by NamespaceId is 0xFFFFFFFF, then the first valid namespace
|
||||
ID defined on the NVM Express controller is returned in the location pointed to by NamespaceId
|
||||
@@ -206,7 +206,7 @@ EFI_STATUS
|
||||
|
||||
If the NamespaceId is not valid, then EFI_NOT_FOUND is returned.
|
||||
|
||||
If DevicePath is NULL, then EFI_INVALID_PARAMETER is returned.
|
||||
If DevicePath is NULL, then EFI_INVALID_PARAMETER is returned.
|
||||
|
||||
If there are not enough resources to allocate the device path node, then EFI_OUT_OF_RESOURCES is returned.
|
||||
|
||||
|
@@ -2,18 +2,18 @@
|
||||
Native Platform Configuration Database (PCD) Protocol
|
||||
|
||||
Different with the EFI_PCD_PROTOCOL defined in PI 1.2 specification, the native
|
||||
PCD protocol provide interfaces for dynamic and dynamic-ex type PCD.
|
||||
PCD protocol provide interfaces for dynamic and dynamic-ex type PCD.
|
||||
The interfaces in dynamic type PCD do not require the token space guid as parameter,
|
||||
but interfaces in dynamic-ex type PCD require token space guid as parameter.
|
||||
|
||||
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@@ -31,26 +31,26 @@ extern EFI_GUID gPcdProtocolGuid;
|
||||
/**
|
||||
Sets the SKU value for subsequent calls to set or get PCD token values.
|
||||
|
||||
SetSku() sets the SKU Id to be used for subsequent calls to set or get PCD values.
|
||||
SetSku() sets the SKU Id to be used for subsequent calls to set or get PCD values.
|
||||
SetSku() is normally called only once by the system.
|
||||
|
||||
For each item (token), the database can hold a single value that applies to all SKUs,
|
||||
or multiple values, where each value is associated with a specific SKU Id. Items with multiple,
|
||||
SKU-specific values are called SKU enabled.
|
||||
|
||||
The SKU Id of zero is reserved as a default. The valid SkuId range is 1 to 255.
|
||||
For tokens that are not SKU enabled, the system ignores any set SKU Id and works with the
|
||||
single value for that token. For SKU-enabled tokens, the system will use the SKU Id set by the
|
||||
last call to SetSku(). If no SKU Id is set or the currently set SKU Id isn't valid for the specified token,
|
||||
the system uses the default SKU Id. If the system attempts to use the default SKU Id and no value has been
|
||||
For each item (token), the database can hold a single value that applies to all SKUs,
|
||||
or multiple values, where each value is associated with a specific SKU Id. Items with multiple,
|
||||
SKU-specific values are called SKU enabled.
|
||||
|
||||
The SKU Id of zero is reserved as a default. The valid SkuId range is 1 to 255.
|
||||
For tokens that are not SKU enabled, the system ignores any set SKU Id and works with the
|
||||
single value for that token. For SKU-enabled tokens, the system will use the SKU Id set by the
|
||||
last call to SetSku(). If no SKU Id is set or the currently set SKU Id isn't valid for the specified token,
|
||||
the system uses the default SKU Id. If the system attempts to use the default SKU Id and no value has been
|
||||
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
|
||||
@param[in] SkuId The SKU value that will be used when the PCD service will retrieve and
|
||||
set values associated with a PCD token.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *PCD_PROTOCOL_SET_SKU)(
|
||||
IN UINTN SkuId
|
||||
@@ -61,13 +61,13 @@ VOID
|
||||
/**
|
||||
Retrieves an 8-bit value for a given PCD token.
|
||||
|
||||
Retrieves the current byte-sized value for a PCD token number.
|
||||
Retrieves the current byte-sized value for a PCD token number.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@return The UINT8 value.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT8
|
||||
@@ -80,13 +80,13 @@ UINT8
|
||||
/**
|
||||
Retrieves a 16-bit value for a given PCD token.
|
||||
|
||||
Retrieves the current 16-bit value for a PCD token number.
|
||||
Retrieves the current 16-bit value for a PCD token number.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@return The UINT16 value.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT16
|
||||
@@ -99,13 +99,13 @@ UINT16
|
||||
/**
|
||||
Retrieves a 32-bit value for a given PCD token.
|
||||
|
||||
Retrieves the current 32-bit value for a PCD token number.
|
||||
Retrieves the current 32-bit value for a PCD token number.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@return The UINT32 value.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT32
|
||||
@@ -118,13 +118,13 @@ UINT32
|
||||
/**
|
||||
Retrieves a 64-bit value for a given PCD token.
|
||||
|
||||
Retrieves the current 64-bit value for a PCD token number.
|
||||
Retrieves the current 64-bit value for a PCD token number.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@return The UINT64 value.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT64
|
||||
@@ -137,15 +137,15 @@ UINT64
|
||||
/**
|
||||
Retrieves a pointer to a value for a given PCD token.
|
||||
|
||||
Retrieves the current pointer to the buffer for a PCD token number.
|
||||
Do not make any assumptions about the alignment of the pointer that
|
||||
is returned by this function call. If the TokenNumber is invalid,
|
||||
Retrieves the current pointer to the buffer for a PCD token number.
|
||||
Do not make any assumptions about the alignment of the pointer that
|
||||
is returned by this function call. If the TokenNumber is invalid,
|
||||
the results are unpredictable.
|
||||
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@return The pointer to the buffer to be retrived.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID *
|
||||
@@ -158,15 +158,15 @@ VOID *
|
||||
/**
|
||||
Retrieves a Boolean value for a given PCD token.
|
||||
|
||||
Retrieves the current boolean value for a PCD token number.
|
||||
Do not make any assumptions about the alignment of the pointer that
|
||||
is returned by this function call. If the TokenNumber is invalid,
|
||||
Retrieves the current boolean value for a PCD token number.
|
||||
Do not make any assumptions about the alignment of the pointer that
|
||||
is returned by this function call. If the TokenNumber is invalid,
|
||||
the results are unpredictable.
|
||||
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@return The Boolean value.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
BOOLEAN
|
||||
@@ -179,13 +179,13 @@ BOOLEAN
|
||||
/**
|
||||
Retrieves the size of the value for a given PCD token.
|
||||
|
||||
Retrieves the current size of a particular PCD token.
|
||||
Retrieves the current size of a particular PCD token.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@return The size of the value for the PCD token.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINTN
|
||||
@@ -198,16 +198,16 @@ UINTN
|
||||
/**
|
||||
Retrieves an 8-bit value for a given PCD token.
|
||||
|
||||
Retrieves the 8-bit value of a particular PCD token.
|
||||
Retrieves the 8-bit value of a particular PCD token.
|
||||
If the TokenNumber is invalid or the token space
|
||||
specified by Guid does not exist, the results are
|
||||
specified by Guid does not exist, the results are
|
||||
unpredictable.
|
||||
|
||||
@param[in] Guid The token space for the token number.
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@return The size 8-bit value for the PCD token.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT8
|
||||
@@ -221,16 +221,16 @@ UINT8
|
||||
/**
|
||||
Retrieves a 16-bit value for a given PCD token.
|
||||
|
||||
Retrieves the 16-bit value of a particular PCD token.
|
||||
Retrieves the 16-bit value of a particular PCD token.
|
||||
If the TokenNumber is invalid or the token space
|
||||
specified by Guid does not exist, the results are
|
||||
specified by Guid does not exist, the results are
|
||||
unpredictable.
|
||||
|
||||
@param[in] Guid The token space for the token number.
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@return The size 16-bit value for the PCD token.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT16
|
||||
@@ -244,16 +244,16 @@ UINT16
|
||||
/**
|
||||
Retrieves a 32-bit value for a given PCD token.
|
||||
|
||||
Retrieves the 32-bit value of a particular PCD token.
|
||||
Retrieves the 32-bit value of a particular PCD token.
|
||||
If the TokenNumber is invalid or the token space
|
||||
specified by Guid does not exist, the results are
|
||||
specified by Guid does not exist, the results are
|
||||
unpredictable.
|
||||
|
||||
@param[in] Guid The token space for the token number.
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@return The size 32-bit value for the PCD token.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT32
|
||||
@@ -267,16 +267,16 @@ UINT32
|
||||
/**
|
||||
Retrieves an 64-bit value for a given PCD token.
|
||||
|
||||
Retrieves the 64-bit value of a particular PCD token.
|
||||
Retrieves the 64-bit value of a particular PCD token.
|
||||
If the TokenNumber is invalid or the token space
|
||||
specified by Guid does not exist, the results are
|
||||
specified by Guid does not exist, the results are
|
||||
unpredictable.
|
||||
|
||||
@param[in] Guid The token space for the token number.
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@return The size 64-bit value for the PCD token.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT64
|
||||
@@ -290,16 +290,16 @@ UINT64
|
||||
/**
|
||||
Retrieves a pointer to a value for a given PCD token.
|
||||
|
||||
Retrieves the current pointer to the buffer for a PCD token number.
|
||||
Do not make any assumptions about the alignment of the pointer that
|
||||
is returned by this function call. If the TokenNumber is invalid,
|
||||
Retrieves the current pointer to the buffer for a PCD token number.
|
||||
Do not make any assumptions about the alignment of the pointer that
|
||||
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] TokenNumber The PCD token number.
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@return The pointer to the buffer to be retrieved.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID *
|
||||
@@ -313,16 +313,16 @@ VOID *
|
||||
/**
|
||||
Retrieves a Boolean value for a given PCD token.
|
||||
|
||||
Retrieves the Boolean value of a particular PCD token.
|
||||
Retrieves the Boolean value of a particular PCD token.
|
||||
If the TokenNumber is invalid or the token space
|
||||
specified by Guid does not exist, the results are
|
||||
specified by Guid does not exist, the results are
|
||||
unpredictable.
|
||||
|
||||
@param[in] Guid The token space for the token number.
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@return The size Boolean value for the PCD token.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
BOOLEAN
|
||||
@@ -336,14 +336,14 @@ BOOLEAN
|
||||
/**
|
||||
Retrieves the size of the value for a given PCD token.
|
||||
|
||||
Retrieves the current size of a particular PCD token.
|
||||
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] TokenNumber The PCD token number.
|
||||
@param[in] TokenNumber The PCD token number.
|
||||
|
||||
@return The size of the value for the PCD token.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINTN
|
||||
@@ -357,19 +357,19 @@ UINTN
|
||||
/**
|
||||
Sets an 8-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
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] Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS The procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -383,19 +383,19 @@ EFI_STATUS
|
||||
/**
|
||||
Sets a 16-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
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] Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS The procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -409,19 +409,19 @@ EFI_STATUS
|
||||
/**
|
||||
Sets a 32-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
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] Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS The procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -435,19 +435,19 @@ EFI_STATUS
|
||||
/**
|
||||
Sets a 64-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
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] Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS The procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -461,23 +461,23 @@ EFI_STATUS
|
||||
/**
|
||||
Sets a value of a specified size for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
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, 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
|
||||
@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.
|
||||
|
||||
@retval EFI_SUCCESS The procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -492,19 +492,19 @@ EFI_STATUS
|
||||
/**
|
||||
Sets a Boolean value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
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] Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS The procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -518,20 +518,20 @@ EFI_STATUS
|
||||
/**
|
||||
Sets an 8-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
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] TokenNumber The PCD token number.
|
||||
@param[in] Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS The procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -546,20 +546,20 @@ EFI_STATUS
|
||||
/**
|
||||
Sets an 16-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
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] TokenNumber The PCD token number.
|
||||
@param[in] Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS The procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -574,20 +574,20 @@ EFI_STATUS
|
||||
/**
|
||||
Sets a 32-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
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] TokenNumber The PCD token number.
|
||||
@param[in] Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS The procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -602,20 +602,20 @@ EFI_STATUS
|
||||
/**
|
||||
Sets a 64-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
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] TokenNumber The PCD token number.
|
||||
@param[in] Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS The procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -630,24 +630,24 @@ EFI_STATUS
|
||||
/**
|
||||
Sets a value of a specified size for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
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, 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
|
||||
@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.
|
||||
|
||||
@retval EFI_SUCCESS The procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -663,20 +663,20 @@ EFI_STATUS
|
||||
/**
|
||||
Sets a Boolean value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
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] TokenNumber The PCD token number.
|
||||
@param[in] Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS The procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -685,18 +685,18 @@ EFI_STATUS
|
||||
IN UINTN TokenNumber,
|
||||
IN BOOLEAN Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Callback on SET function prototype definition.
|
||||
|
||||
This notification function serves two purposes.
|
||||
Firstly, it notifies the module which did the registration that the value
|
||||
of this PCD token has been set. Secondly, it provides a mechanism for the
|
||||
module that did the registration to intercept the set operation and override
|
||||
the value that has been set, if necessary. After the invocation of the callback function,
|
||||
TokenData will be used by PCD service DXE driver to modify the internal data in
|
||||
This notification function serves two purposes.
|
||||
Firstly, it notifies the module which did the registration that the value
|
||||
of this PCD token has been set. Secondly, it provides a mechanism for the
|
||||
module that did the registration to intercept the set operation and override
|
||||
the value that has been set, if necessary. After the invocation of the callback function,
|
||||
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.
|
||||
@@ -721,11 +721,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] 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] 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.
|
||||
|
||||
@@ -743,11 +743,11 @@ EFI_STATUS
|
||||
/**
|
||||
Cancels a previously set callback function for a particular PCD token number.
|
||||
|
||||
@param[in] TokenNumber The 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] CallBackFunction The function prototype called when the value associated with the CallBackToken is set.
|
||||
@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,32 +763,32 @@ EFI_STATUS
|
||||
|
||||
|
||||
/**
|
||||
Retrieves the next valid token number in a given namespace.
|
||||
|
||||
This is useful since the PCD infrastructure contains a sparse list of token numbers,
|
||||
Retrieves the next valid token number in a given namespace.
|
||||
|
||||
This is useful since the PCD infrastructure contains a sparse list of token numbers,
|
||||
and one cannot a priori know what token numbers are valid in the database.
|
||||
|
||||
If TokenNumber is 0 and Guid is not NULL, then the first token from the token space specified by Guid is returned.
|
||||
If TokenNumber is not 0 and Guid is not NULL, then the next token in the token space specified by Guid is returned.
|
||||
If TokenNumber is 0 and Guid is NULL, then the first token in the default token space is returned.
|
||||
If TokenNumber is not 0 and Guid is NULL, then the next token in the default token space is returned.
|
||||
The token numbers in the default token space may not be related to token numbers in token spaces that are named by Guid.
|
||||
If the next token number can be retrieved, then it is returned in TokenNumber, and EFI_SUCCESS is returned.
|
||||
If TokenNumber represents the last token number in the token space specified by Guid, then EFI_NOT_FOUND is returned.
|
||||
|
||||
If TokenNumber is 0 and Guid is not NULL, then the first token from the token space specified by Guid is returned.
|
||||
If TokenNumber is not 0 and Guid is not NULL, then the next token in the token space specified by Guid is returned.
|
||||
If TokenNumber is 0 and Guid is NULL, then the first token in the default token space is returned.
|
||||
If TokenNumber is not 0 and Guid is NULL, then the next token in the default token space is returned.
|
||||
The token numbers in the default token space may not be related to token numbers in token spaces that are named by Guid.
|
||||
If the next token number can be retrieved, then it is returned in TokenNumber, and EFI_SUCCESS is returned.
|
||||
If TokenNumber represents the last token number in the token space specified by Guid, then EFI_NOT_FOUND is returned.
|
||||
If TokenNumber is not present in the token space specified by Guid, then EFI_NOT_FOUND is returned.
|
||||
|
||||
|
||||
@param[in] Guid The 128-bit unique value that designates the namespace from which to retrieve the next token.
|
||||
This is an optional parameter that may be NULL. If this parameter is NULL, then a request is
|
||||
@param[in] Guid The 128-bit unique value that designates the namespace from which to retrieve the next token.
|
||||
This is an optional parameter that may be NULL. If this parameter is NULL, then a request is
|
||||
being made to retrieve tokens from the default token space.
|
||||
@param[in,out] TokenNumber
|
||||
A pointer to the PCD token number to use to find the subsequent token number.
|
||||
@param[in,out] TokenNumber
|
||||
A pointer to the PCD token number to use to find the subsequent token number.
|
||||
|
||||
@retval EFI_SUCCESS The PCD service has retrieved the next valid token number.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find data from the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_GET_NEXT_TOKEN)(
|
||||
IN CONST EFI_GUID *Guid, OPTIONAL
|
||||
@@ -813,7 +813,7 @@ EFI_STATUS
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the next valid token namespace.
|
||||
|
||||
**/
|
||||
typedef
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_GET_NEXT_TOKENSPACE)(
|
||||
IN OUT CONST EFI_GUID **Guid
|
||||
|
@@ -4,11 +4,11 @@
|
||||
The protocol that provides additional information about items that reside in the PCD database.
|
||||
|
||||
Different with the EFI_GET_PCD_INFO_PROTOCOL defined in PI 1.2.1 specification,
|
||||
the native PCD INFO PROTOCOL provide interfaces for dynamic and dynamic-ex type PCD.
|
||||
the native PCD INFO PROTOCOL provide interfaces for dynamic and dynamic-ex type PCD.
|
||||
The interfaces for dynamic type PCD do not require the token space guid as parameter,
|
||||
but interfaces for dynamic-ex type PCD require token space guid as parameter.
|
||||
|
||||
Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
|
@@ -1,21 +1,21 @@
|
||||
/** @file
|
||||
This file declares PCI Host Bridge Resource Allocation Protocol which
|
||||
provides the basic interfaces to abstract a PCI host bridge resource allocation.
|
||||
This file declares PCI Host Bridge Resource Allocation Protocol which
|
||||
provides the basic interfaces to abstract a PCI host bridge resource allocation.
|
||||
This protocol is mandatory if the system includes PCI devices.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
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:
|
||||
This Protocol is defined in UEFI Platform Initialization Specification 1.2
|
||||
This Protocol is defined in UEFI Platform Initialization Specification 1.2
|
||||
Volume 5: Standards.
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_H_
|
||||
@@ -56,14 +56,14 @@ typedef struct _EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL EFI_PCI_HOST_BR
|
||||
#define EFI_PCI_HOST_BRIDGE_MEM64_DECODE 2
|
||||
|
||||
///
|
||||
/// A UINT64 value that contains the status of a PCI resource requested
|
||||
/// A UINT64 value that contains the status of a PCI resource requested
|
||||
/// in the Configuration parameter returned by GetProposedResources()
|
||||
/// The legal values are EFI_RESOURCE_SATISFIED and EFI_RESOURCE_NOT_SATISFIED
|
||||
///
|
||||
typedef UINT64 EFI_RESOURCE_ALLOCATION_STATUS;
|
||||
|
||||
///
|
||||
/// The request of this resource type could be fulfilled. Used in the
|
||||
/// The request of this resource type could be fulfilled. Used in the
|
||||
/// Configuration parameter returned by GetProposedResources() to identify
|
||||
/// a PCI resources request that can be satisfied.
|
||||
///
|
||||
@@ -71,7 +71,7 @@ typedef UINT64 EFI_RESOURCE_ALLOCATION_STATUS;
|
||||
|
||||
///
|
||||
/// The request of this resource type could not be fulfilled for its
|
||||
/// absence in the host bridge resource pool. Used in the Configuration parameter
|
||||
/// absence in the host bridge resource pool. Used in the Configuration parameter
|
||||
/// returned by GetProposedResources() to identify a PCI resources request that
|
||||
/// can not be satisfied.
|
||||
///
|
||||
@@ -92,45 +92,45 @@ typedef enum {
|
||||
///
|
||||
/// The bus allocation phase is about to begin. No specific action
|
||||
/// is required here. This notification can be used to perform any
|
||||
/// chipset specific programming.
|
||||
/// chipset specific programming.
|
||||
///
|
||||
EfiPciHostBridgeBeginBusAllocation,
|
||||
|
||||
///
|
||||
/// The bus allocation and bus programming phase is complete. No specific
|
||||
/// action is required here. This notification can be used to perform any
|
||||
/// chipset specific programming.
|
||||
/// chipset specific programming.
|
||||
///
|
||||
EfiPciHostBridgeEndBusAllocation,
|
||||
|
||||
|
||||
///
|
||||
/// The resource allocation phase is about to begin.No specific action is
|
||||
/// required here. This notification can be used to perform any chipset specific programming.
|
||||
/// required here. This notification can be used to perform any chipset specific programming.
|
||||
///
|
||||
EfiPciHostBridgeBeginResourceAllocation,
|
||||
|
||||
|
||||
///
|
||||
/// Allocate resources per previously submitted requests for all the PCI Root
|
||||
/// Bridges. These resource settings are returned on the next call to
|
||||
/// GetProposedResources().
|
||||
/// GetProposedResources().
|
||||
///
|
||||
EfiPciHostBridgeAllocateResources,
|
||||
|
||||
|
||||
///
|
||||
/// Program the Host Bridge hardware to decode previously allocated resources
|
||||
/// (proposed resources) for all the PCI Root Bridges.
|
||||
///
|
||||
EfiPciHostBridgeSetResources,
|
||||
|
||||
|
||||
///
|
||||
/// De-allocate previously allocated resources previously for all the PCI
|
||||
/// Root Bridges and reset the I/O and memory apertures to initial state.
|
||||
/// Root Bridges and reset the I/O and memory apertures to initial state.
|
||||
///
|
||||
EfiPciHostBridgeFreeResources,
|
||||
|
||||
|
||||
///
|
||||
/// The resource allocation phase is completed. No specific action is required
|
||||
/// here. This notification can be used to perform any chipset specific programming.
|
||||
/// here. This notification can be used to perform any chipset specific programming.
|
||||
///
|
||||
EfiPciHostBridgeEndResourceAllocation,
|
||||
|
||||
@@ -158,30 +158,30 @@ typedef enum {
|
||||
|
||||
///
|
||||
/// This notification is sent before the PCI enumerator probes BAR registers
|
||||
/// for every valid PCI function.
|
||||
/// for every valid PCI function.
|
||||
///
|
||||
EfiPciBeforeResourceCollection
|
||||
} EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE;
|
||||
|
||||
/**
|
||||
These are the notifications from the PCI bus driver that it is about to enter a certain phase of the PCI
|
||||
These are the notifications from the PCI bus driver that it is about to enter a certain phase of the PCI
|
||||
enumeration process.
|
||||
|
||||
@param[in] This The pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||
@param[in] This The pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||
instance.
|
||||
@param[in] Phase The phase during enumeration.
|
||||
|
||||
@retval EFI_SUCCESS The notification was accepted without any errors.
|
||||
@retval EFI_INVALID_PARAMETER The Phase is invalid.
|
||||
@retval EFI_NOT_READY This phase cannot be entered at this time. For example, this error
|
||||
is valid for a Phase of EfiPciHostBridgeAllocateResources if
|
||||
SubmitResources() has not been called for one or more
|
||||
@retval EFI_NOT_READY This phase cannot be entered at this time. For example, this error
|
||||
is valid for a Phase of EfiPciHostBridgeAllocateResources if
|
||||
SubmitResources() has not been called for one or more
|
||||
PCI root bridges before this call.
|
||||
@retval EFI_DEVICE_ERROR Programming failed due to a hardware error. This error is valid for
|
||||
@retval EFI_DEVICE_ERROR Programming failed due to a hardware error. This error is valid for
|
||||
a Phase of EfiPciHostBridgeSetResources.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
This error is valid for a Phase of EfiPciHostBridgeAllocateResources
|
||||
if the previously submitted resource requests cannot be fulfilled or were only
|
||||
if the previously submitted resource requests cannot be fulfilled or were only
|
||||
partially fulfilled
|
||||
|
||||
**/
|
||||
@@ -195,15 +195,15 @@ EFI_STATUS
|
||||
/**
|
||||
Returns the device handle of the next PCI root bridge that is associated with this host bridge.
|
||||
|
||||
@param[in] This The pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||
@param[in] This The pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||
instance.
|
||||
@param[in,out] RootBridgeHandle Returns the device handle of the next PCI root bridge. On input, it holds the
|
||||
RootBridgeHandle that was returned by the most recent call to
|
||||
GetNextRootBridge(). If RootBridgeHandle is NULL on input, the handle
|
||||
@param[in,out] RootBridgeHandle Returns the device handle of the next PCI root bridge. On input, it holds the
|
||||
RootBridgeHandle that was returned by the most recent call to
|
||||
GetNextRootBridge(). If RootBridgeHandle is NULL on input, the handle
|
||||
for the first PCI root bridge is returned.
|
||||
|
||||
@retval EFI_SUCCESS The requested attribute information was returned.
|
||||
@retval EFI_INVALID_PARAMETER RootBridgeHandle is not an EFI_HANDLE that was returned
|
||||
@retval EFI_INVALID_PARAMETER RootBridgeHandle is not an EFI_HANDLE that was returned
|
||||
on a previous call to GetNextRootBridge().
|
||||
@retval EFI_NOT_FOUND There are no more PCI root bridge device handles.
|
||||
|
||||
@@ -218,7 +218,7 @@ EFI_STATUS
|
||||
/**
|
||||
Returns the allocation attributes of a PCI root bridge.
|
||||
|
||||
@param[in] This The pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||
@param[in] This The pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||
instance.
|
||||
@param[in] RootBridgeHandle The device handle of the PCI root bridge in which the caller is interested.
|
||||
@param[out] Attribute The pointer to attributes of the PCI root bridge.
|
||||
@@ -239,12 +239,12 @@ EFI_STATUS
|
||||
/**
|
||||
Sets up the specified PCI root bridge for the bus enumeration process.
|
||||
|
||||
@param[in] This The pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||
@param[in] This The pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||
instance.
|
||||
@param[in] RootBridgeHandle The PCI root bridge to be set up.
|
||||
@param[out] Configuration The pointer to the pointer to the PCI bus resource descriptor.
|
||||
|
||||
@retval EFI_SUCCESS The PCI root bridge was set up and the bus range was returned in
|
||||
@retval EFI_SUCCESS The PCI root bridge was set up and the bus range was returned in
|
||||
Configuration.
|
||||
@retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root bridge handle.
|
||||
@retval EFI_DEVICE_ERROR Programming failed due to a hardware error.
|
||||
@@ -263,20 +263,20 @@ EFI_STATUS
|
||||
Programs the PCI root bridge hardware so that it decodes the specified PCI bus range.
|
||||
|
||||
@param[in] This The pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||
instance.
|
||||
instance.
|
||||
@param[in] RootBridgeHandle The PCI root bridge whose bus range is to be programmed.
|
||||
@param[in] Configuration The pointer to the PCI bus resource descriptor.
|
||||
|
||||
@retval EFI_SUCCESS The bus range for the PCI root bridge was programmed.
|
||||
@retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root bridge handle.
|
||||
@retval EFI_INVALID_PARAMETER Configuration is NULL
|
||||
@retval EFI_INVALID_PARAMETER Configuration does not point to a valid ACPI (2.0 & 3.0)
|
||||
@retval EFI_INVALID_PARAMETER Configuration does not point to a valid ACPI (2.0 & 3.0)
|
||||
resource descriptor.
|
||||
@retval EFI_INVALID_PARAMETER Configuration does not include a valid ACPI 2.0 bus resource
|
||||
descriptor.
|
||||
@retval EFI_INVALID_PARAMETER Configuration includes valid ACPI (2.0 & 3.0) resource
|
||||
@retval EFI_INVALID_PARAMETER Configuration includes valid ACPI (2.0 & 3.0) resource
|
||||
descriptors other than bus descriptors.
|
||||
@retval EFI_INVALID_PARAMETER Configuration contains one or more invalid ACPI resource
|
||||
@retval EFI_INVALID_PARAMETER Configuration contains one or more invalid ACPI resource
|
||||
descriptors.
|
||||
@retval EFI_INVALID_PARAMETER "Address Range Minimum" is invalid for this root bridge.
|
||||
@retval EFI_INVALID_PARAMETER "Address Range Length" is invalid for this root bridge.
|
||||
@@ -294,26 +294,26 @@ EFI_STATUS
|
||||
/**
|
||||
Submits the I/O and memory resource requirements for the specified PCI root bridge.
|
||||
|
||||
@param[in] This The pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||
@param[in] This The pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||
instance.
|
||||
@param[in] RootBridgeHandle The PCI root bridge whose I/O and memory resource requirements are being
|
||||
@param[in] RootBridgeHandle The PCI root bridge whose I/O and memory resource requirements are being
|
||||
submitted.
|
||||
@param[in] Configuration The pointer to the PCI I/O and PCI memory resource descriptor.
|
||||
|
||||
@retval EFI_SUCCESS The I/O and memory resource requests for a PCI root bridge were
|
||||
@retval EFI_SUCCESS The I/O and memory resource requests for a PCI root bridge were
|
||||
accepted.
|
||||
@retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root bridge handle.
|
||||
@retval EFI_INVALID_PARAMETER Configuration is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Configuration does not point to a valid ACPI (2.0 & 3.0)
|
||||
@retval EFI_INVALID_PARAMETER Configuration does not point to a valid ACPI (2.0 & 3.0)
|
||||
resource descriptor.
|
||||
@retval EFI_INVALID_PARAMETER Configuration includes requests for one or more resource
|
||||
types that are not supported by this PCI root bridge. This error will
|
||||
happen if the caller did not combine resources according to
|
||||
@retval EFI_INVALID_PARAMETER Configuration includes requests for one or more resource
|
||||
types that are not supported by this PCI root bridge. This error will
|
||||
happen if the caller did not combine resources according to
|
||||
Attributes that were returned by GetAllocAttributes().
|
||||
@retval EFI_INVALID_PARAMETER "Address Range Maximum" is invalid.
|
||||
@retval EFI_INVALID_PARAMETER "Address Range Length" is invalid for this PCI root bridge.
|
||||
@retval EFI_INVALID_PARAMETER "Address Space Granularity" is invalid for this PCI root bridge.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -326,7 +326,7 @@ EFI_STATUS
|
||||
/**
|
||||
Returns the proposed resource settings for the specified PCI root bridge.
|
||||
|
||||
@param[in] This The pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||
@param[in] This The pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||
instance.
|
||||
@param[in] RootBridgeHandle The PCI root bridge handle.
|
||||
@param[out] Configuration The pointer to the pointer to the PCI I/O and memory resource descriptor.
|
||||
@@ -346,8 +346,8 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Provides the hooks from the PCI bus driver to every PCI controller (device/function) at various
|
||||
stages of the PCI enumeration process that allow the host bridge driver to preinitialize individual
|
||||
Provides the hooks from the PCI bus driver to every PCI controller (device/function) at various
|
||||
stages of the PCI enumeration process that allow the host bridge driver to preinitialize individual
|
||||
PCI controllers before enumeration.
|
||||
|
||||
@param[in] This The pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL instance.
|
||||
@@ -357,10 +357,10 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS The requested parameters were returned.
|
||||
@retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root bridge handle.
|
||||
@retval EFI_INVALID_PARAMETER Phase is not a valid phase that is defined in
|
||||
@retval EFI_INVALID_PARAMETER Phase is not a valid phase that is defined in
|
||||
EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE.
|
||||
@retval EFI_DEVICE_ERROR Programming failed due to a hardware error. The PCI enumerator
|
||||
should not enumerate this device, including its child devices if it is
|
||||
@retval EFI_DEVICE_ERROR Programming failed due to a hardware error. The PCI enumerator
|
||||
should not enumerate this device, including its child devices if it is
|
||||
a PCI-to-PCI bridge.
|
||||
|
||||
**/
|
||||
@@ -382,43 +382,43 @@ struct _EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL {
|
||||
/// a certain phase during the enumeration process.
|
||||
///
|
||||
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_NOTIFY_PHASE NotifyPhase;
|
||||
|
||||
|
||||
///
|
||||
/// Retrieves the device handle for the next PCI root bridge that is produced by the
|
||||
/// host bridge to which this instance of the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL is attached.
|
||||
/// host bridge to which this instance of the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL is attached.
|
||||
///
|
||||
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_GET_NEXT_ROOT_BRIDGE GetNextRootBridge;
|
||||
|
||||
|
||||
///
|
||||
/// Retrieves the allocation-related attributes of a PCI root bridge.
|
||||
///
|
||||
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_GET_ATTRIBUTES GetAllocAttributes;
|
||||
|
||||
|
||||
///
|
||||
/// Sets up a PCI root bridge for bus enumeration.
|
||||
///
|
||||
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_START_BUS_ENUMERATION StartBusEnumeration;
|
||||
|
||||
|
||||
///
|
||||
/// Sets up the PCI root bridge so that it decodes a specific range of bus numbers.
|
||||
///
|
||||
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_SET_BUS_NUMBERS SetBusNumbers;
|
||||
|
||||
|
||||
///
|
||||
/// Submits the resource requirements for the specified PCI root bridge.
|
||||
///
|
||||
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_SUBMIT_RESOURCES SubmitResources;
|
||||
|
||||
|
||||
///
|
||||
/// Returns the proposed resource assignment for the specified PCI root bridges.
|
||||
///
|
||||
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_GET_PROPOSED_RESOURCES GetProposedResources;
|
||||
|
||||
|
||||
///
|
||||
/// Provides hooks from the PCI bus driver to every PCI controller
|
||||
/// (device/function) at various stages of the PCI enumeration process that
|
||||
/// allow the host bridge driver to preinitialize individual PCI controllers
|
||||
/// before enumeration.
|
||||
/// before enumeration.
|
||||
///
|
||||
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_PREPROCESS_CONTROLLER PreprocessController;
|
||||
};
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user