/** @file\r
Miscellaneous definitions for iSCSI driver.\r
\r
-Copyright (c) 2004 - 2017, 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) 2004 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
UINT8 PrefixLength;\r
UINT8 BootLun[8];\r
\r
- UINT16 ConnectTimeout; ///< timout value in milliseconds.\r
+ UINT16 ConnectTimeout; ///< timeout value in milliseconds.\r
UINT8 ConnectRetryCount;\r
UINT8 IsId[6];\r
\r
\r
BOOLEAN DnsMode; // Flag indicate whether the Target address is expressed as URL format.\r
CHAR8 TargetUrl[ISCSI_TARGET_URI_MAX_SIZE];\r
- \r
+\r
} ISCSI_SESSION_CONFIG_NVDATA;\r
#pragma pack()\r
\r
);\r
\r
/**\r
- Convert the hexadecimal encoded LUN string into the 64-bit LUN. \r
+ Convert the hexadecimal encoded LUN string into the 64-bit LUN.\r
\r
@param[in] Str The hexadecimal encoded LUN string.\r
@param[out] Lun Storage to return the 64-bit LUN.\r
);\r
\r
/**\r
- Convert the mac address into a hexadecimal encoded "-" seperated string.\r
+ Convert the mac address into a hexadecimal encoded "-" separated string.\r
\r
@param[in] Mac The mac address.\r
@param[in] Len Length in bytes of the mac address.\r
@param[in, out] HexStr Pointer to the string.\r
@param[in, out] HexLength The length of the string.\r
\r
- @retval EFI_SUCCESS The binary data is converted to the hexadecimal string \r
+ @retval EFI_SUCCESS The binary data is converted to the hexadecimal string\r
and the length of the string is updated.\r
@retval EFI_BUFFER_TOO_SMALL The string is too small.\r
@retval EFI_INVALID_PARAMETER The IP string is malformatted.\r
Record the NIC information in a global structure.\r
\r
@param[in] Controller The handle of the controller.\r
+ @param[in] Image Handle of the image.\r
\r
@retval EFI_SUCCESS The operation is completed.\r
@retval EFI_OUT_OF_RESOURCES Do not have sufficient resource to finish this\r
**/\r
EFI_STATUS\r
IScsiAddNic (\r
- IN EFI_HANDLE Controller\r
+ IN EFI_HANDLE Controller,\r
+ IN EFI_HANDLE Image\r
);\r
\r
/**\r
IN EFI_HANDLE Controller\r
);\r
\r
+/**\r
+ Create and initialize the Attempts.\r
+\r
+ @param[in] AttemptNum The number of Attempts will be created.\r
+\r
+ @retval EFI_SUCCESS The Attempts have been created successfully.\r
+ @retval Others Failed to create the Attempt.\r
+\r
+**/\r
+EFI_STATUS\r
+IScsiCreateAttempts (\r
+ IN UINTN AttemptNum\r
+ );\r
+\r
+/**\r
+ Create the iSCSI configuration Keywords for each attempt.\r
+\r
+ @param[in] KeywordNum The number Sets of Keywords will be created.\r
+\r
+ @retval EFI_SUCCESS The operation is completed.\r
+ @retval Others Failed to create the Keywords.\r
+\r
+**/\r
+EFI_STATUS\r
+IScsiCreateKeywords (\r
+ IN UINTN KeywordNum\r
+ );\r
+\r
+/**\r
+\r
+ Free the attempt configure data variable.\r
+\r
+**/\r
+VOID\r
+IScsiCleanAttemptVariable (\r
+ IN VOID\r
+ );\r
+\r
/**\r
Get the recorded NIC information from a global structure by the Index.\r
\r
\r
@param[in] Private The iSCSI driver data.\r
\r
- @retval EFI_SUCCES The clean operation is successful.\r
+ @retval EFI_SUCCESS The clean operation is successful.\r
@retval Others Other errors as indicated.\r
\r
**/\r
\r
@param[in] Controller The handle of the controller.\r
@param[in] IpVersion IP_VERSION_4 or IP_VERSION_6.\r
- \r
+\r
@retval TRUE The handle of the controller need the Dhcp protocol.\r
@retval FALSE The handle of the controller does not need the Dhcp protocol.\r
- \r
+\r
**/\r
BOOLEAN\r
IScsiDhcpIsConfigured (\r
Check wheather the Controller handle is configured to use DNS protocol.\r
\r
@param[in] Controller The handle of the controller.\r
- \r
+\r
@retval TRUE The handle of the controller need the DNS protocol.\r
@retval FALSE The handle of the controller does not need the DNS protocol.\r
- \r
+\r
**/\r
BOOLEAN\r
IScsiDnsIsConfigured (\r
\r
This function tests whether the driver specified by DriverBindingHandle is\r
currently managing the controller specified by ControllerHandle. This test\r
- is performed by evaluating if the the protocol specified by ProtocolGuid is\r
+ is performed by evaluating if the protocol specified by ProtocolGuid is\r
present on ControllerHandle and is was opened by DriverBindingHandle and Nic\r
- Device handle with an attribute of EFI_OPEN_PROTOCOL_BY_DRIVER. \r
+ Device handle with an attribute of EFI_OPEN_PROTOCOL_BY_DRIVER.\r
If ProtocolGuid is NULL, then ASSERT().\r
\r
@param ControllerHandle A handle for a controller to test.\r