The EFI Adapter Information Protocol is used to dynamically and quickly discover\r
or set device information for an adapter.\r
\r
- Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>\r
- This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
@par Revision Reference:\r
This Protocol is introduced in UEFI Specification 2.4\r
0x114da5ef, 0x2cf1, 0x4e12, {0x9b, 0xbb, 0xc4, 0x70, 0xb5, 0x52, 0x5, 0xd9 } \\r
}\r
\r
+#define EFI_ADAPTER_INFO_UNDI_IPV6_SUPPORT_GUID \\r
+ { \\r
+ 0x4bd56be3, 0x4975, 0x4d8a, {0xa0, 0xad, 0xc4, 0x91, 0x20, 0x4b, 0x5d, 0x4d} \\r
+ }\r
+\r
+#define EFI_ADAPTER_INFO_MEDIA_TYPE_GUID \\r
+ { \\r
+ 0x8484472f, 0x71ec, 0x411a, { 0xb3, 0x9c, 0x62, 0xcd, 0x94, 0xd9, 0x91, 0x6e } \\r
+ }\r
+\r
+\r
typedef struct _EFI_ADAPTER_INFORMATION_PROTOCOL EFI_ADAPTER_INFORMATION_PROTOCOL;\r
\r
///\r
///\r
typedef struct {\r
///\r
- /// Returns the current media state status. MediaState can have any of the following values: \r
- /// EFI_SUCCESS: There is media attached to the network adapter. EFI_NOT_READY: This detects a bounced state. \r
- /// There was media attached to the network adapter, but it was removed and reattached. EFI_NO_MEDIA: There is \r
+ /// Returns the current media state status. MediaState can have any of the following values:\r
+ /// EFI_SUCCESS: There is media attached to the network adapter. EFI_NOT_READY: This detects a bounced state.\r
+ /// There was media attached to the network adapter, but it was removed and reattached. EFI_NO_MEDIA: There is\r
/// not any media attached to the network.\r
///\r
EFI_STATUS MediaState;\r
-}EFI_ADAPTER_INFO_MEDIA_STATE;\r
+} EFI_ADAPTER_INFO_MEDIA_STATE;\r
+\r
+///\r
+/// EFI_ADAPTER_INFO_MEDIA_TYPE\r
+///\r
+typedef struct {\r
+ ///\r
+ /// Indicates the current media type. MediaType can have any of the following values:\r
+ /// 1: Ethernet Network Adapter\r
+ /// 2: Ethernet Wireless Network Adapter\r
+ /// 3~255: Reserved\r
+ ///\r
+ UINT8 MediaType;\r
+} EFI_ADAPTER_INFO_MEDIA_TYPE;\r
\r
///\r
/// EFI_ADAPTER_INFO_NETWORK_BOOT\r
///\r
/// TRUE if the adapter supports booting from iSCSI IPv4 targets.\r
///\r
- BOOLEAN iSsciIpv4BootCapablity;\r
+ BOOLEAN iScsiIpv4BootCapablity;\r
///\r
/// TRUE if the adapter supports booting from iSCSI IPv6 targets.\r
///\r
/// TRUE if the adapter is currently configured to boot from FCoE targets.\r
///\r
BOOLEAN FCoeBoot;\r
-}EFI_ADAPTER_INFO_NETWORK_BOOT;\r
+} EFI_ADAPTER_INFO_NETWORK_BOOT;\r
\r
///\r
/// EFI_ADAPTER_INFO_SAN_MAC_ADDRESS\r
/// networking and Fibre-Channel Over Ethernet (FCOE), this conveys the FCOE SAN MAC address from the adapter.\r
///\r
EFI_MAC_ADDRESS SanMacAddress;\r
-}EFI_ADAPTER_INFO_SAN_MAC_ADDRESS;\r
+} EFI_ADAPTER_INFO_SAN_MAC_ADDRESS;\r
+\r
+///\r
+/// EFI_ADAPTER_INFO_UNDI_IPV6_SUPPORT\r
+///\r
+typedef struct {\r
+ ///\r
+ /// Returns capability of UNDI to support IPv6 traffic.\r
+ ///\r
+ BOOLEAN Ipv6Support;\r
+} EFI_ADAPTER_INFO_UNDI_IPV6_SUPPORT;\r
\r
/**\r
Returns the current state information for the adapter.\r
\r
This function returns information of type InformationType from the adapter.\r
If an adapter does not support the requested informational type, then\r
- EFI_UNSUPPORTED is returned. \r
+ EFI_UNSUPPORTED is returned.\r
\r
@param[in] This A pointer to the EFI_ADAPTER_INFORMATION_PROTOCOL instance.\r
@param[in] InformationType A pointer to an EFI_GUID that defines the contents of InformationBlock.\r
@retval EFI_UNSUPPORTED The InformationType is not known.\r
@retval EFI_DEVICE_ERROR The device reported an error.\r
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.\r
- @retval EFI_INVALID_PARAMETER This is NULL. \r
- @retval EFI_INVALID_PARAMETER InformationBlock is NULL. \r
+ @retval EFI_INVALID_PARAMETER This is NULL.\r
+ @retval EFI_INVALID_PARAMETER InformationBlock is NULL.\r
@retval EFI_INVALID_PARAMETER InformationBlockSize is NULL.\r
\r
**/\r
InfoTypesBufferCount.\r
\r
@param[in] This A pointer to the EFI_ADAPTER_INFORMATION_PROTOCOL instance.\r
- @param[out] InfoTypesBuffer A pointer to the list of InformationType GUID pointers that are supported\r
+ @param[out] InfoTypesBuffer A pointer to the array of InformationType GUIDs that are supported\r
by This.\r
- @param[out] InfoTypesBufferCount A pointer to the number of GUID pointers present in InfoTypesBuffer.\r
+ @param[out] InfoTypesBufferCount A pointer to the number of GUIDs present in InfoTypesBuffer.\r
\r
@retval EFI_SUCCESS The list of information type GUIDs that are supported on this adapter was\r
returned in InfoTypesBuffer. The number of information type GUIDs was\r
/// - Sets device information for adapter.\r
/// - Gets a list of supported information types for this instance of the protocol.\r
///\r
-typedef struct _EFI_ADAPTER_INFORMATION_PROTOCOL {\r
+struct _EFI_ADAPTER_INFORMATION_PROTOCOL {\r
EFI_ADAPTER_INFO_GET_INFO GetInformation;\r
EFI_ADAPTER_INFO_SET_INFO SetInformation;\r
EFI_ADAPTER_INFO_GET_SUPPORTED_TYPES GetSupportedTypes;\r
\r
extern EFI_GUID gEfiAdapterInfoSanMacAddressGuid;\r
\r
+extern EFI_GUID gEfiAdapterInfoUndiIpv6SupportGuid;\r
+\r
#endif\r