NetworkPkg: 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,7 +1,7 @@
|
||||
/** @file
|
||||
UEFI Component Name(2) protocol implementation for iSCSI.
|
||||
|
||||
Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 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
|
||||
@@ -106,11 +106,11 @@ IScsiComponentNameGetDriverName (
|
||||
|
||||
@param[in] IScsiExtScsiPassThru A pointer to the EFI_EXT_SCSI_PASS_THRU_PROTOCOL instance.
|
||||
@param[in] Ipv6Flag TRUE if IP6 network stack is used.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Update the ControllerNameTable of this instance successfully.
|
||||
@retval EFI_INVALID_PARAMETER The input parameter is invalid.
|
||||
@retval EFI_UNSUPPORTED Can't get the corresponding NIC info from the Controller handle.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
UpdateName (
|
||||
@@ -126,10 +126,10 @@ UpdateName (
|
||||
if (IScsiExtScsiPassThru == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
|
||||
Private = ISCSI_DRIVER_DATA_FROM_EXT_SCSI_PASS_THRU (IScsiExtScsiPassThru);
|
||||
NicIndex = Private->Session->ConfigData->NicIndex;
|
||||
|
||||
|
||||
UnicodeSPrint (
|
||||
HandleName,
|
||||
sizeof (HandleName),
|
||||
@@ -242,14 +242,14 @@ IScsiComponentNameGetControllerName (
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
|
||||
|
||||
EFI_HANDLE IScsiController;
|
||||
BOOLEAN Ipv6Flag;
|
||||
EFI_GUID *IScsiPrivateGuid;
|
||||
ISCSI_PRIVATE_PROTOCOL *IScsiIdentifier;
|
||||
|
||||
|
||||
EFI_EXT_SCSI_PASS_THRU_PROTOCOL *IScsiExtScsiPassThru;
|
||||
|
||||
|
||||
if (ControllerHandle == NULL) {
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
@@ -309,7 +309,7 @@ IScsiComponentNameGetControllerName (
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Retrieve an instance of a produced protocol from ChildHandle
|
||||
//
|
||||
@@ -324,7 +324,7 @@ IScsiComponentNameGetControllerName (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Update the component name for this child handle.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
This file is for Challenge-Handshake Authentication Protocol (CHAP) Configuration.
|
||||
|
||||
Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 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,14 +16,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
/**
|
||||
Initator calculates its own expected hash value.
|
||||
|
||||
|
||||
@param[in] ChapIdentifier iSCSI CHAP identifier sent by authenticator.
|
||||
@param[in] ChapSecret iSCSI CHAP secret of the authenticator.
|
||||
@param[in] SecretLength The length of iSCSI CHAP secret.
|
||||
@param[in] ChapChallenge The challenge message sent by authenticator.
|
||||
@param[in] ChallengeLength The length of iSCSI CHAP challenge message.
|
||||
@param[out] ChapResponse The calculation of the expected hash value.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The expected hash value was calculatedly successfully.
|
||||
@retval EFI_PROTOCOL_ERROR The length of the secret should be at least the
|
||||
length of the hash value for the hashing algorithm chosen.
|
||||
@@ -95,10 +95,10 @@ Exit:
|
||||
|
||||
/**
|
||||
The initator checks the CHAP response replied by target against its own
|
||||
calculation of the expected hash value.
|
||||
|
||||
@param[in] AuthData iSCSI CHAP authentication data.
|
||||
@param[in] TargetResponse The response from target.
|
||||
calculation of the expected hash value.
|
||||
|
||||
@param[in] AuthData iSCSI CHAP authentication data.
|
||||
@param[in] TargetResponse The response from target.
|
||||
|
||||
@retval EFI_SUCCESS The response from target passed authentication.
|
||||
@retval EFI_SECURITY_VIOLATION The response from target was not expected value.
|
||||
@@ -267,12 +267,12 @@ IScsiCHAPOnRspReceived (
|
||||
//
|
||||
// Process the CHAP identifier and CHAP Challenge from Target.
|
||||
// Calculate Response value.
|
||||
//
|
||||
//
|
||||
Result = IScsiNetNtoi (Identifier);
|
||||
if (Result > 0xFF) {
|
||||
goto ON_EXIT;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
AuthData->InIdentifier = (UINT32) Result;
|
||||
AuthData->InChallengeLength = ISCSI_CHAP_AUTH_MAX_LEN;
|
||||
IScsiHexToBin ((UINT8 *) AuthData->InChallenge, &AuthData->InChallengeLength, Challenge);
|
||||
@@ -331,7 +331,7 @@ ON_EXIT:
|
||||
|
||||
if (KeyValueList != NULL) {
|
||||
IScsiFreeKeyValueList (KeyValueList);
|
||||
}
|
||||
}
|
||||
|
||||
FreePool (Data);
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The header file of CHAP configuration.
|
||||
|
||||
Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 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
|
||||
@@ -29,7 +29,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
///
|
||||
/// MD5_HASHSIZE
|
||||
///
|
||||
#define ISCSI_CHAP_RSP_LEN 16
|
||||
#define ISCSI_CHAP_RSP_LEN 16
|
||||
|
||||
#define ISCSI_CHAP_STEP_ONE 1
|
||||
#define ISCSI_CHAP_STEP_TWO 2
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Helper functions for configuring or getting the parameters relating to iSCSI.
|
||||
|
||||
Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 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
|
||||
@@ -34,7 +34,7 @@ HII_VENDOR_DEVICE_PATH mIScsiHiiVendorDevicePath = {
|
||||
{
|
||||
END_DEVICE_PATH_TYPE,
|
||||
END_ENTIRE_DEVICE_PATH_SUBTYPE,
|
||||
{
|
||||
{
|
||||
(UINT8) (END_DEVICE_PATH_LENGTH),
|
||||
(UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)
|
||||
}
|
||||
@@ -939,7 +939,7 @@ IScsiConvertIfrNvDataToAttemptConfigData (
|
||||
L"CHAP Name or CHAP Secret is invalid!",
|
||||
NULL
|
||||
);
|
||||
|
||||
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
@@ -951,7 +951,7 @@ IScsiConvertIfrNvDataToAttemptConfigData (
|
||||
&Key,
|
||||
L"Reverse CHAP Name or Reverse CHAP Secret is invalid!",
|
||||
NULL
|
||||
);
|
||||
);
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
}
|
||||
@@ -970,7 +970,7 @@ IScsiConvertIfrNvDataToAttemptConfigData (
|
||||
if (AttemptName2 == NULL) {
|
||||
FreePool (AttemptName1);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
}
|
||||
|
||||
AsciiStrToUnicodeStrS (Attempt->AttemptName, AttemptName1, ATTEMPT_NAME_SIZE);
|
||||
AsciiStrToUnicodeStrS (SameNicAttempt->AttemptName, AttemptName2, ATTEMPT_NAME_SIZE);
|
||||
@@ -988,7 +988,7 @@ IScsiConvertIfrNvDataToAttemptConfigData (
|
||||
&Key,
|
||||
mPrivate->PortString,
|
||||
NULL
|
||||
);
|
||||
);
|
||||
|
||||
FreePool (AttemptName1);
|
||||
FreePool (AttemptName2);
|
||||
@@ -2026,7 +2026,7 @@ IScsiConfigAddAttempt (
|
||||
PortTitleHelpToken = HiiSetString (mCallbackInfo->RegisteredHandle, 0, mPrivate->PortString, NULL);
|
||||
if (PortTitleHelpToken == 0) {
|
||||
Status = EFI_INVALID_PARAMETER;
|
||||
goto Exit;
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
HiiCreateGotoOpCode (
|
||||
@@ -2050,14 +2050,14 @@ IScsiConfigAddAttempt (
|
||||
Exit:
|
||||
HiiFreeOpCodeHandle (StartOpCodeHandle);
|
||||
HiiFreeOpCodeHandle (EndOpCodeHandle);
|
||||
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
Add the attempts by keyword 'iSCSIAddAttempts', you can use this keyword with
|
||||
value 'attempt:1 attempt:2' etc to add one or more attempts once. This is different
|
||||
with IScsiConfigAddAttempt function which is used to add attempt by UI configuration.
|
||||
with IScsiConfigAddAttempt function which is used to add attempt by UI configuration.
|
||||
|
||||
@param[in] AttemptList The new attempt List will be added.
|
||||
|
||||
@@ -2505,7 +2505,7 @@ IScsiConfigDisplayDeleteAttempts (
|
||||
FORMID_DELETE_FORM, // Form ID
|
||||
StartOpCodeHandle, // Label for where to insert opcodes
|
||||
EndOpCodeHandle // Replace data
|
||||
);
|
||||
);
|
||||
|
||||
HiiFreeOpCodeHandle (StartOpCodeHandle);
|
||||
HiiFreeOpCodeHandle (EndOpCodeHandle);
|
||||
@@ -2536,8 +2536,8 @@ IScsiConfigDisplayOrderAttempts (
|
||||
EFI_IFR_GUID_LABEL *StartLabel;
|
||||
VOID *EndOpCodeHandle;
|
||||
EFI_IFR_GUID_LABEL *EndLabel;
|
||||
VOID *OptionsOpCodeHandle;
|
||||
|
||||
VOID *OptionsOpCodeHandle;
|
||||
|
||||
Status = IScsiCreateOpCode (
|
||||
ORDER_ENTRY_LABEL,
|
||||
&StartOpCodeHandle,
|
||||
@@ -2589,14 +2589,14 @@ IScsiConfigDisplayOrderAttempts (
|
||||
DYNAMIC_ORDERED_LIST_QUESTION_ID, // Question ID
|
||||
CONFIGURATION_VARSTORE_ID, // VarStore ID
|
||||
DYNAMIC_ORDERED_LIST_VAR_OFFSET, // Offset in Buffer Storage
|
||||
STRING_TOKEN (STR_ORDER_ATTEMPT_ENTRY), // Question prompt text
|
||||
STRING_TOKEN (STR_ORDER_ATTEMPT_ENTRY), // Question help text
|
||||
STRING_TOKEN (STR_ORDER_ATTEMPT_ENTRY), // Question prompt text
|
||||
STRING_TOKEN (STR_ORDER_ATTEMPT_ENTRY), // Question help text
|
||||
0, // Question flag
|
||||
EFI_IFR_UNIQUE_SET, // Ordered list flag, e.g. EFI_IFR_UNIQUE_SET
|
||||
EFI_IFR_NUMERIC_SIZE_1, // Data type of Question value
|
||||
ISCSI_MAX_ATTEMPTS_NUM, // Maximum container
|
||||
OptionsOpCodeHandle, // Option Opcode list
|
||||
NULL // Default Opcode is NULL
|
||||
OptionsOpCodeHandle, // Option Opcode list
|
||||
NULL // Default Opcode is NULL
|
||||
);
|
||||
|
||||
Exit:
|
||||
@@ -2606,11 +2606,11 @@ Exit:
|
||||
FORMID_ORDER_FORM, // Form ID
|
||||
StartOpCodeHandle, // Label for where to insert opcodes
|
||||
EndOpCodeHandle // Replace data
|
||||
);
|
||||
);
|
||||
|
||||
Error:
|
||||
HiiFreeOpCodeHandle (StartOpCodeHandle);
|
||||
HiiFreeOpCodeHandle (EndOpCodeHandle);
|
||||
HiiFreeOpCodeHandle (EndOpCodeHandle);
|
||||
if (OptionsOpCodeHandle != NULL) {
|
||||
HiiFreeOpCodeHandle (OptionsOpCodeHandle);
|
||||
}
|
||||
@@ -2821,10 +2821,10 @@ IScsiConfigProcessDefault (
|
||||
if (AttemptConfigData == NULL || AttemptConfigData->Actived == ISCSI_ACTIVE_ENABLED) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (Index > PcdGet8 (PcdMaxIScsiAttemptNumber)) {
|
||||
CreatePopUp (
|
||||
EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,
|
||||
@@ -2858,7 +2858,7 @@ IScsiConfigProcessDefault (
|
||||
// Generate OUI-format ISID based on MAC address.
|
||||
//
|
||||
CopyMem (AttemptConfigData->SessionConfigData.IsId, &NicInfo->PermanentAddress, 6);
|
||||
AttemptConfigData->SessionConfigData.IsId[0] =
|
||||
AttemptConfigData->SessionConfigData.IsId[0] =
|
||||
(UINT8) (AttemptConfigData->SessionConfigData.IsId[0] & 0x3F);
|
||||
|
||||
//
|
||||
@@ -2908,7 +2908,7 @@ IScsiConfigProcessDefault (
|
||||
ZeroMem (IfrNvData->ReverseCHAPName, sizeof (IfrNvData->ReverseCHAPName));
|
||||
ZeroMem (IfrNvData->ReverseCHAPSecret, sizeof (IfrNvData->ReverseCHAPSecret));
|
||||
}
|
||||
|
||||
|
||||
IScsiConvertAttemptConfigDataToIfrNvData (AttemptConfigData, IfrNvData);
|
||||
|
||||
//
|
||||
@@ -2921,7 +2921,7 @@ IScsiConfigProcessDefault (
|
||||
|
||||
|
||||
/**
|
||||
|
||||
|
||||
This function allows the caller to request the current
|
||||
configuration for one or more named elements. The resulting
|
||||
string is in <ConfigAltResp> format. Also, any and all alternative
|
||||
@@ -2950,7 +2950,7 @@ IScsiConfigProcessDefault (
|
||||
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.
|
||||
name / value pair) if the request was not successful.
|
||||
|
||||
@param[out] Results A null-terminated Unicode string in
|
||||
<ConfigAltResp> format which has all values
|
||||
@@ -2971,7 +2971,7 @@ IScsiConfigProcessDefault (
|
||||
would result in this type of
|
||||
error. In this case, the
|
||||
Progress parameter would be
|
||||
set to NULL.
|
||||
set to NULL.
|
||||
|
||||
@retval EFI_NOT_FOUND Routing data doesn't match any
|
||||
known driver. Progress set to the
|
||||
@@ -3046,7 +3046,7 @@ IScsiFormExtractConfig (
|
||||
FreePool (IfrNvData);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
|
||||
Status = gIScsiInitiatorName.Get (&gIScsiInitiatorName, &BufferSize, InitiatorName);
|
||||
if (EFI_ERROR (Status)) {
|
||||
IfrNvData->InitiatorName[0] = L'\0';
|
||||
@@ -3114,7 +3114,7 @@ IScsiFormExtractConfig (
|
||||
|
||||
|
||||
/**
|
||||
|
||||
|
||||
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
|
||||
@@ -3127,8 +3127,8 @@ IScsiFormExtractConfig (
|
||||
@param[in] This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
|
||||
|
||||
@param[in] Configuration A null-terminated Unicode string in
|
||||
<ConfigString> format.
|
||||
|
||||
<ConfigString> format.
|
||||
|
||||
@param[out] Progress A pointer to a string filled in with the
|
||||
offset of the most recent '&' before the
|
||||
first failing name / value pair (or the
|
||||
@@ -3139,16 +3139,16 @@ IScsiFormExtractConfig (
|
||||
|
||||
@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.
|
||||
|
||||
@@ -3374,7 +3374,7 @@ Exit:
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
|
||||
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.
|
||||
@@ -3383,7 +3383,7 @@ Exit:
|
||||
@param[in] Action Specifies the type of action taken by the browser.
|
||||
@param[in] 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[in] Type The type of value for the question.
|
||||
@param[in, out] Value A pointer to the data being sent to the original
|
||||
@@ -3445,29 +3445,29 @@ IScsiFormCallback (
|
||||
}
|
||||
|
||||
Private = ISCSI_FORM_CALLBACK_INFO_FROM_FORM_CALLBACK (This);
|
||||
|
||||
|
||||
//
|
||||
// Retrieve uncommitted data from Browser
|
||||
//
|
||||
|
||||
|
||||
BufferSize = sizeof (ISCSI_CONFIG_IFR_NVDATA);
|
||||
IfrNvData = AllocateZeroPool (BufferSize);
|
||||
if (IfrNvData == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
|
||||
IScsiName = (CHAR8 *) AllocateZeroPool (ISCSI_NAME_MAX_SIZE);
|
||||
if (IScsiName == NULL) {
|
||||
FreePool (IfrNvData);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
|
||||
Status = EFI_SUCCESS;
|
||||
|
||||
|
||||
ZeroMem (&OldIfrNvData, BufferSize);
|
||||
|
||||
|
||||
HiiGetBrowserData (NULL, NULL, BufferSize, (UINT8 *) IfrNvData);
|
||||
|
||||
|
||||
CopyMem (&OldIfrNvData, IfrNvData, BufferSize);
|
||||
|
||||
if (Action == EFI_BROWSER_ACTION_CHANGING) {
|
||||
@@ -3488,10 +3488,10 @@ IScsiFormCallback (
|
||||
&Key,
|
||||
L"Error: please configure iSCSI initiator name first!",
|
||||
NULL
|
||||
);
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Status = IScsiConfigAddAttempt ();
|
||||
break;
|
||||
|
||||
@@ -3515,12 +3515,12 @@ IScsiFormCallback (
|
||||
);
|
||||
IScsiConfigDisplayOrderAttempts ();
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
Status = IScsiConfigProcessDefault (QuestionId, IfrNvData);
|
||||
break;
|
||||
}
|
||||
} else if (Action == EFI_BROWSER_ACTION_CHANGED) {
|
||||
} else if (Action == EFI_BROWSER_ACTION_CHANGED) {
|
||||
switch (QuestionId) {
|
||||
case KEY_INITIATOR_NAME:
|
||||
UnicodeStrToAsciiStrS (IfrNvData->InitiatorName, IScsiName, ISCSI_NAME_MAX_SIZE);
|
||||
@@ -3533,12 +3533,12 @@ IScsiFormCallback (
|
||||
&Key,
|
||||
L"Invalid iSCSI Name!",
|
||||
NULL
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
*ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_APPLY;
|
||||
break;
|
||||
|
||||
|
||||
case KEY_SAVE_ATTEMPT_CONFIG:
|
||||
Status = IScsiConvertIfrNvDataToAttemptConfigData (IfrNvData, Private->Current);
|
||||
if (EFI_ERROR (Status)) {
|
||||
@@ -3595,17 +3595,17 @@ IScsiFormCallback (
|
||||
case KEY_IP_MODE:
|
||||
switch (Value->u8) {
|
||||
case IP_MODE_IP6:
|
||||
NicInfo = IScsiGetNicInfoByIndex (Private->Current->NicIndex);
|
||||
NicInfo = IScsiGetNicInfoByIndex (Private->Current->NicIndex);
|
||||
if(NicInfo == NULL) {
|
||||
break;
|
||||
}
|
||||
|
||||
if(!NicInfo->Ipv6Available) {
|
||||
//
|
||||
// Current NIC doesn't Support IPv6, hence use IPv4.
|
||||
//
|
||||
if(!NicInfo->Ipv6Available) {
|
||||
//
|
||||
// Current NIC doesn't Support IPv6, hence use IPv4.
|
||||
//
|
||||
IfrNvData->IpMode = IP_MODE_IP4;
|
||||
|
||||
|
||||
CreatePopUp (
|
||||
EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,
|
||||
&Key,
|
||||
@@ -3613,7 +3613,7 @@ IScsiFormCallback (
|
||||
NULL
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
case IP_MODE_IP4:
|
||||
ZeroMem (IfrNvData->LocalIp, sizeof (IfrNvData->LocalIp));
|
||||
ZeroMem (IfrNvData->SubnetMask, sizeof (IfrNvData->SubnetMask));
|
||||
@@ -3624,7 +3624,7 @@ IScsiFormCallback (
|
||||
ZeroMem (&Private->Current->SessionConfigData.SubnetMask, sizeof (EFI_IPv4_ADDRESS));
|
||||
ZeroMem (&Private->Current->SessionConfigData.Gateway, sizeof (EFI_IP_ADDRESS));
|
||||
ZeroMem (&Private->Current->SessionConfigData.TargetIp, sizeof (EFI_IP_ADDRESS));
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -3632,16 +3632,16 @@ IScsiFormCallback (
|
||||
|
||||
case KEY_LOCAL_IP:
|
||||
Status = NetLibStrToIp4 (IfrNvData->LocalIp, &HostIp.v4);
|
||||
if (EFI_ERROR (Status) ||
|
||||
((Private->Current->SessionConfigData.SubnetMask.Addr[0] != 0) &&
|
||||
if (EFI_ERROR (Status) ||
|
||||
((Private->Current->SessionConfigData.SubnetMask.Addr[0] != 0) &&
|
||||
!NetIp4IsUnicast (NTOHL (HostIp.Addr[0]), NTOHL(*(UINT32*)Private->Current->SessionConfigData.SubnetMask.Addr)))) {
|
||||
CreatePopUp (
|
||||
EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,
|
||||
&Key,
|
||||
L"Invalid IP address!",
|
||||
NULL
|
||||
);
|
||||
|
||||
);
|
||||
|
||||
Status = EFI_INVALID_PARAMETER;
|
||||
} else {
|
||||
CopyMem (&Private->Current->SessionConfigData.LocalIp, &HostIp.v4, sizeof (HostIp.v4));
|
||||
@@ -3657,8 +3657,8 @@ IScsiFormCallback (
|
||||
&Key,
|
||||
L"Invalid Subnet Mask!",
|
||||
NULL
|
||||
);
|
||||
|
||||
);
|
||||
|
||||
Status = EFI_INVALID_PARAMETER;
|
||||
} else {
|
||||
CopyMem (&Private->Current->SessionConfigData.SubnetMask, &SubnetMask.v4, sizeof (SubnetMask.v4));
|
||||
@@ -3668,16 +3668,16 @@ IScsiFormCallback (
|
||||
|
||||
case KEY_GATE_WAY:
|
||||
Status = NetLibStrToIp4 (IfrNvData->Gateway, &Gateway.v4);
|
||||
if (EFI_ERROR (Status) ||
|
||||
((Gateway.Addr[0] != 0) &&
|
||||
(Private->Current->SessionConfigData.SubnetMask.Addr[0] != 0) &&
|
||||
if (EFI_ERROR (Status) ||
|
||||
((Gateway.Addr[0] != 0) &&
|
||||
(Private->Current->SessionConfigData.SubnetMask.Addr[0] != 0) &&
|
||||
!NetIp4IsUnicast (NTOHL (Gateway.Addr[0]), NTOHL(*(UINT32*)Private->Current->SessionConfigData.SubnetMask.Addr)))) {
|
||||
CreatePopUp (
|
||||
EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,
|
||||
&Key,
|
||||
L"Invalid Gateway!",
|
||||
NULL
|
||||
);
|
||||
);
|
||||
Status = EFI_INVALID_PARAMETER;
|
||||
} else {
|
||||
CopyMem (&Private->Current->SessionConfigData.Gateway, &Gateway.v4, sizeof (Gateway.v4));
|
||||
@@ -3734,7 +3734,7 @@ IScsiFormCallback (
|
||||
&Key,
|
||||
L"Invalid LUN string!",
|
||||
NULL
|
||||
);
|
||||
);
|
||||
} else {
|
||||
CopyMem (Private->Current->SessionConfigData.BootLun, &Lun, sizeof (Lun));
|
||||
}
|
||||
@@ -3851,7 +3851,7 @@ IScsiConfigFormInit (
|
||||
NULL
|
||||
);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
|
||||
//
|
||||
// Publish our HII data.
|
||||
//
|
||||
|
@@ -1,6 +1,6 @@
|
||||
// *++
|
||||
//
|
||||
// Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2004 - 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
|
||||
@@ -26,8 +26,8 @@
|
||||
#langdef en-US "English"
|
||||
#langdef x-UEFI-ns "UefiNameSpace"
|
||||
|
||||
#string STR_ISCSI_CONFIG_FORM_TITLE #language en-US "iSCSI Configuration"
|
||||
#string STR_ISCSI_CONFIG_FORM_HELP #language en-US "Configure the iSCSI parameters."
|
||||
#string STR_ISCSI_CONFIG_FORM_TITLE #language en-US "iSCSI Configuration"
|
||||
#string STR_ISCSI_CONFIG_FORM_HELP #language en-US "Configure the iSCSI parameters."
|
||||
#string STR_ISCSI_MAIN_FORM_TITLE #language en-US "iSCSI Configuration"
|
||||
#string STR_ISCSI_MAC_FORM_TITLE #language en-US "MAC Selection"
|
||||
#string STR_ISCSI_CONFIG_INIT_NAME #language en-US "iSCSI Initiator Name"
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
VFR file used by the iSCSI configuration component.
|
||||
|
||||
Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
Copyright (c) 2004 - 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
|
||||
@@ -113,7 +113,7 @@ formset
|
||||
text = STRING_TOKEN (STR_NO_SAVE_AND_EXIT),
|
||||
flags = INTERACTIVE,
|
||||
key = KEY_IGNORE_DELETE_ATTEMPT;
|
||||
endform;
|
||||
endform;
|
||||
|
||||
form formid = FORMID_ATTEMPT_FORM,
|
||||
title = STRING_TOKEN(STR_ISCSI_ATTEMPT_FORM_TITLE);
|
||||
@@ -157,8 +157,8 @@ formset
|
||||
minimum = CONNECT_MIN_RETRY,
|
||||
maximum = CONNECT_MAX_RETRY,
|
||||
step = 0,
|
||||
endnumeric;
|
||||
|
||||
endnumeric;
|
||||
|
||||
numeric varid = ISCSI_CONFIG_IFR_NVDATA.ConnectTimeout,
|
||||
prompt = STRING_TOKEN(STR_ISCSI_CONFIG_TIMEOUT),
|
||||
help = STRING_TOKEN(STR_ISCSI_CONFIG_TIMEOUT_HELP),
|
||||
@@ -171,7 +171,7 @@ formset
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_NULL);
|
||||
|
||||
string varid = ISCSI_CONFIG_IFR_NVDATA.IsId,
|
||||
string varid = ISCSI_CONFIG_IFR_NVDATA.IsId,
|
||||
prompt = STRING_TOKEN(STR_ISCSI_CONFIG_ISID),
|
||||
help = STRING_TOKEN(STR_ISCSI_CONFIG_ISID_HELP),
|
||||
flags = INTERACTIVE,
|
||||
@@ -191,9 +191,9 @@ formset
|
||||
endcheckbox;
|
||||
endif;
|
||||
|
||||
suppressif ideqval ISCSI_CONFIG_IFR_NVDATA.IpMode == IP_MODE_IP6 OR
|
||||
suppressif ideqval ISCSI_CONFIG_IFR_NVDATA.IpMode == IP_MODE_IP6 OR
|
||||
ideqval ISCSI_CONFIG_IFR_NVDATA.IpMode == IP_MODE_AUTOCONFIG;
|
||||
|
||||
|
||||
grayoutif ideqval ISCSI_CONFIG_IFR_NVDATA.InitiatorInfoFromDhcp == 0x01;
|
||||
string varid = ISCSI_CONFIG_IFR_NVDATA.LocalIp,
|
||||
prompt = STRING_TOKEN(STR_ISCSI_LOCAL_IP_ADDRESS),
|
||||
@@ -222,12 +222,12 @@ formset
|
||||
maxsize = IP4_MAX_SIZE,
|
||||
endstring;
|
||||
endif;
|
||||
|
||||
|
||||
endif;
|
||||
|
||||
suppressif ideqval ISCSI_CONFIG_IFR_NVDATA.IpMode == IP_MODE_AUTOCONFIG;
|
||||
subtitle text = STRING_TOKEN(STR_NULL);
|
||||
endif;
|
||||
endif;
|
||||
|
||||
suppressif ideqval ISCSI_CONFIG_IFR_NVDATA.IpMode == IP_MODE_AUTOCONFIG OR
|
||||
ideqval ISCSI_CONFIG_IFR_NVDATA.InitiatorInfoFromDhcp == 0x00;
|
||||
@@ -276,22 +276,22 @@ formset
|
||||
minsize = LUN_MIN_SIZE,
|
||||
maxsize = LUN_MAX_SIZE,
|
||||
endstring;
|
||||
|
||||
|
||||
endif;
|
||||
|
||||
suppressif ideqval ISCSI_CONFIG_IFR_NVDATA.IpMode == IP_MODE_AUTOCONFIG;
|
||||
subtitle text = STRING_TOKEN(STR_NULL);
|
||||
endif;
|
||||
endif;
|
||||
|
||||
oneof varid = ISCSI_CONFIG_IFR_NVDATA.AuthenticationType,
|
||||
questionid = KEY_AUTH_TYPE,
|
||||
questionid = KEY_AUTH_TYPE,
|
||||
prompt = STRING_TOKEN(STR_AUTHEN_TYPE_PROMPT),
|
||||
help = STRING_TOKEN(STR_AUTHEN_TYPE_HELP),
|
||||
option text = STRING_TOKEN(STR_AUTHEN_TYPE_CHAP), value = ISCSI_AUTH_TYPE_CHAP, flags = 0;
|
||||
option text = STRING_TOKEN(STR_AUTHEN_TYPE_NONE), value = ISCSI_AUTH_TYPE_NONE, flags = DEFAULT;
|
||||
endoneof;
|
||||
|
||||
suppressif NOT ideqval ISCSI_CONFIG_IFR_NVDATA.AuthenticationType == ISCSI_AUTH_TYPE_CHAP;
|
||||
suppressif NOT ideqval ISCSI_CONFIG_IFR_NVDATA.AuthenticationType == ISCSI_AUTH_TYPE_CHAP;
|
||||
oneof varid = ISCSI_CONFIG_IFR_NVDATA.CHAPType,
|
||||
prompt = STRING_TOKEN(STR_CHAP_TYPE_PROMPT),
|
||||
help = STRING_TOKEN(STR_CHAP_TYPE_HELP),
|
||||
@@ -393,7 +393,7 @@ formset
|
||||
text = STRING_TOKEN (STR_SAVE_CHANGES),
|
||||
flags = INTERACTIVE,
|
||||
key = KEY_SAVE_ATTEMPT_CONFIG;
|
||||
|
||||
|
||||
goto FORMID_MAIN_FORM,
|
||||
prompt = STRING_TOKEN (STR_RETURN_MAIN_FORM),
|
||||
help = STRING_TOKEN (STR_RETURN_MAIN_FORM),
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
iSCSI DHCP4 related configuration routines.
|
||||
|
||||
Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 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
|
||||
@@ -201,14 +201,14 @@ ON_EXIT:
|
||||
/**
|
||||
The callback function registerd to the DHCP4 instance that is used to select
|
||||
the qualified DHCP OFFER.
|
||||
|
||||
|
||||
@param[in] This The DHCP4 protocol.
|
||||
@param[in] Context The context set when configuring the DHCP4 protocol.
|
||||
@param[in] CurrentState The current state of the DHCP4 protocol.
|
||||
@param[in] Dhcp4Event The event occurs in the current state.
|
||||
@param[in] Packet The DHCP packet that is to be sent or was already received.
|
||||
@param[in] Packet The DHCP packet that is to be sent or was already received.
|
||||
@param[out] NewPacket The packet used to replace the above Packet.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Either the DHCP OFFER is qualified or we're not intereseted
|
||||
in the Dhcp4Event.
|
||||
@retval EFI_NOT_READY The DHCP OFFER packet doesn't match our requirements.
|
||||
@@ -411,7 +411,7 @@ IScsiSetIp4Policy (
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return EFI_SUCCESS;
|
||||
@@ -462,10 +462,10 @@ IScsiDoDhcp (
|
||||
}
|
||||
|
||||
//
|
||||
// DHCP4 service allows only one of its children to be configured in
|
||||
// the active state, If the DHCP4 D.O.R.A started by IP4 auto
|
||||
// configuration and has not been completed, the Dhcp4 state machine
|
||||
// will not be in the right state for the iSCSI to start a new round D.O.R.A.
|
||||
// DHCP4 service allows only one of its children to be configured in
|
||||
// the active state, If the DHCP4 D.O.R.A started by IP4 auto
|
||||
// configuration and has not been completed, the Dhcp4 state machine
|
||||
// will not be in the right state for the iSCSI to start a new round D.O.R.A.
|
||||
// So, we need to switch it's policy to static.
|
||||
//
|
||||
Status = gBS->HandleProtocol (Controller, &gEfiIp4Config2ProtocolGuid, (VOID **) &Ip4Config2);
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
iSCSI DHCP6 related configuration routines.
|
||||
|
||||
Copyright (c) 2009 - 2017, 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
|
||||
@@ -47,7 +47,7 @@ IScsiDhcp6ExtractRootPath (
|
||||
UINT8 Index;
|
||||
ISCSI_SESSION_CONFIG_NVDATA *ConfigNvData;
|
||||
EFI_IP_ADDRESS Ip;
|
||||
UINT8 IpMode;
|
||||
UINT8 IpMode;
|
||||
|
||||
ConfigNvData = &ConfigData->SessionConfigData;
|
||||
ConfigNvData->DnsMode = FALSE;
|
||||
@@ -156,7 +156,7 @@ IScsiDhcp6ExtractRootPath (
|
||||
//
|
||||
// Get the IP address of the target.
|
||||
//
|
||||
Field = &Fields[RP_FIELD_IDX_SERVERNAME];
|
||||
Field = &Fields[RP_FIELD_IDX_SERVERNAME];
|
||||
if (ConfigNvData->IpMode < IP_MODE_AUTOCONFIG) {
|
||||
IpMode = ConfigNvData->IpMode;
|
||||
} else {
|
||||
@@ -238,11 +238,11 @@ ON_EXIT:
|
||||
}
|
||||
|
||||
/**
|
||||
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
|
||||
@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().
|
||||
@@ -276,10 +276,10 @@ IScsiDhcp6ParseReply (
|
||||
EFI_DHCP6_PACKET_OPTION **OptionList;
|
||||
ISCSI_ATTEMPT_CONFIG_NVDATA *ConfigData;
|
||||
UINT16 ParaLen;
|
||||
|
||||
|
||||
OptionCount = 0;
|
||||
BootFileOpt = NULL;
|
||||
|
||||
|
||||
Status = This->Parse (This, Packet, &OptionCount, NULL);
|
||||
if (Status != EFI_BUFFER_TOO_SMALL) {
|
||||
return EFI_NOT_READY;
|
||||
@@ -353,7 +353,7 @@ IScsiDhcp6ParseReply (
|
||||
Status = EFI_UNSUPPORTED;
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Get iSCSI root path from Boot File Uniform Resource Locator (URL) Option
|
||||
//
|
||||
@@ -524,7 +524,7 @@ ON_EXIT:
|
||||
|
||||
if (Oro != NULL) {
|
||||
FreePool (Oro);
|
||||
}
|
||||
}
|
||||
|
||||
if (Timer != NULL) {
|
||||
gBS->CloseEvent (Timer);
|
||||
|
@@ -2,7 +2,7 @@
|
||||
The header file of routines for IScsi driver to perform DNS
|
||||
resolution based on UEFI DNS protocols.
|
||||
|
||||
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
|
||||
@@ -56,4 +56,4 @@ IScsiDns6 (
|
||||
IN OUT ISCSI_SESSION_CONFIG_NVDATA *NvData
|
||||
);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The entry point of IScsi driver.
|
||||
|
||||
Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
(C) Copyright 2017 Hewlett Packard Enterprise Development LP<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
@@ -39,14 +39,14 @@ EFI_GUID gIScsiV6PrivateGuid = ISCSI_V6_PRIVATE_GUID;
|
||||
ISCSI_PRIVATE_DATA *mPrivate = NULL;
|
||||
|
||||
/**
|
||||
Tests to see if this driver supports the RemainingDevicePath.
|
||||
Tests to see if this driver supports the RemainingDevicePath.
|
||||
|
||||
@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 RemainingDevicePath is supported or NULL.
|
||||
@@ -222,15 +222,15 @@ Exit:
|
||||
IScsiIp4(6)DriverBindingSupported.
|
||||
|
||||
@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.
|
||||
@param[in] IpVersion IP_VERSION_4 or IP_VERSION_6.
|
||||
|
||||
@@ -437,7 +437,7 @@ IScsiStart (
|
||||
return EFI_ABORTED;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Record the incoming NIC info.
|
||||
//
|
||||
@@ -479,13 +479,13 @@ IScsiStart (
|
||||
ControllerHandle,
|
||||
EFI_OPEN_PROTOCOL_BY_DRIVER
|
||||
);
|
||||
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto ON_ERROR;
|
||||
}
|
||||
|
||||
//
|
||||
// Always install private protocol no matter what happens later. We need to
|
||||
// Always install private protocol no matter what happens later. We need to
|
||||
// keep the relationship between ControllerHandle and ChildHandle.
|
||||
//
|
||||
Status = gBS->InstallProtocolInterface (
|
||||
@@ -497,7 +497,7 @@ IScsiStart (
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto ON_ERROR;
|
||||
}
|
||||
|
||||
|
||||
if (IpVersion == IP_VERSION_4) {
|
||||
mPrivate->Ipv6Flag = FALSE;
|
||||
} else {
|
||||
@@ -900,8 +900,8 @@ IScsiStart (
|
||||
ExistPrivate->Controller,
|
||||
IScsiPrivateGuid,
|
||||
&ExistPrivate->IScsiIdentifier
|
||||
);
|
||||
|
||||
);
|
||||
|
||||
IScsiRemoveNic (ExistPrivate->Controller);
|
||||
if (ExistPrivate->Session != NULL) {
|
||||
IScsiSessionAbort (ExistPrivate->Session);
|
||||
@@ -973,7 +973,7 @@ IScsiStart (
|
||||
Image,
|
||||
Private->ExtScsiPassThruHandle,
|
||||
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER
|
||||
);
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
gBS->UninstallMultipleProtocolInterfaces (
|
||||
Private->ExtScsiPassThruHandle,
|
||||
@@ -983,7 +983,7 @@ IScsiStart (
|
||||
Private->DevicePath,
|
||||
NULL
|
||||
);
|
||||
|
||||
|
||||
goto ON_ERROR;
|
||||
}
|
||||
|
||||
@@ -1010,16 +1010,16 @@ ON_ERROR:
|
||||
/**
|
||||
Stops a device controller or a bus controller. This is the worker function for
|
||||
IScsiIp4(6)DriverBindingStop.
|
||||
|
||||
|
||||
@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.
|
||||
@param[in] IpVersion IP_VERSION_4 or IP_VERSION_6.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The device was stopped.
|
||||
@retval EFI_DEVICE_ERROR The device could not be stopped due to a device error.
|
||||
@retval EFI_INVALID_PARAMETER Child handle is NULL.
|
||||
@@ -1084,7 +1084,7 @@ IScsiStop (
|
||||
Private->Image,
|
||||
Private->ExtScsiPassThruHandle
|
||||
);
|
||||
|
||||
|
||||
gBS->CloseProtocol (
|
||||
Conn->TcpIo.Handle,
|
||||
ProtocolGuid,
|
||||
@@ -1094,7 +1094,7 @@ IScsiStop (
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Get the handle of the controller we are controling.
|
||||
//
|
||||
@@ -1134,7 +1134,7 @@ IScsiStop (
|
||||
This->DriverBindingHandle,
|
||||
IScsiController
|
||||
);
|
||||
|
||||
|
||||
ASSERT (!EFI_ERROR (Status));
|
||||
|
||||
Status = NetLibDestroyServiceChild (
|
||||
@@ -1151,7 +1151,7 @@ IScsiStop (
|
||||
IScsiController,
|
||||
ProtocolGuid,
|
||||
&Private->IScsiIdentifier
|
||||
);
|
||||
);
|
||||
|
||||
//
|
||||
// Remove this NIC.
|
||||
@@ -1177,33 +1177,33 @@ IScsiStop (
|
||||
}
|
||||
|
||||
/**
|
||||
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 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 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().
|
||||
Since 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 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().
|
||||
Since 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
|
||||
@@ -1238,28 +1238,28 @@ IScsiIp4DriverBindingSupported (
|
||||
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.
|
||||
|
||||
@@ -1289,10 +1289,10 @@ IScsiIp4DriverBindingStart (
|
||||
|
||||
/**
|
||||
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.
|
||||
@@ -1300,13 +1300,13 @@ IScsiIp4DriverBindingStart (
|
||||
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.
|
||||
@@ -1332,33 +1332,33 @@ IScsiIp4DriverBindingStop (
|
||||
}
|
||||
|
||||
/**
|
||||
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 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 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().
|
||||
Since 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 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().
|
||||
Since 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
|
||||
@@ -1393,28 +1393,28 @@ IScsiIp6DriverBindingSupported (
|
||||
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.
|
||||
|
||||
@@ -1444,10 +1444,10 @@ IScsiIp6DriverBindingStart (
|
||||
|
||||
/**
|
||||
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.
|
||||
@@ -1455,13 +1455,13 @@ IScsiIp6DriverBindingStart (
|
||||
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.
|
||||
@@ -1573,7 +1573,7 @@ IScsiUnload (
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto ON_EXIT;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Uninstall the protocols installed by iSCSI driver.
|
||||
//
|
||||
@@ -1586,7 +1586,7 @@ IScsiUnload (
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto ON_EXIT;
|
||||
}
|
||||
|
||||
|
||||
if (gIScsiControllerNameTable!= NULL) {
|
||||
Status = FreeUnicodeStringTable (gIScsiControllerNameTable);
|
||||
if (EFI_ERROR (Status)) {
|
||||
@@ -1615,7 +1615,7 @@ IScsiUnload (
|
||||
goto ON_EXIT;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Status = gBS->HandleProtocol (
|
||||
gIScsiIp4DriverBinding.DriverBindingHandle,
|
||||
&gEfiComponentName2ProtocolGuid,
|
||||
@@ -1653,7 +1653,7 @@ IScsiUnload (
|
||||
goto ON_EXIT;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Status = gBS->HandleProtocol (
|
||||
gIScsiIp6DriverBinding.DriverBindingHandle,
|
||||
&gEfiComponentName2ProtocolGuid,
|
||||
@@ -1698,7 +1698,7 @@ ON_EXIT:
|
||||
if (DeviceHandleBuffer != NULL) {
|
||||
FreePool (DeviceHandleBuffer);
|
||||
}
|
||||
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
@@ -1706,11 +1706,11 @@ ON_EXIT:
|
||||
This is the declaration of an EFI image entry point. This entry point is
|
||||
the same for UEFI Applications, UEFI OS Loaders, and UEFI Drivers including
|
||||
both device drivers and bus drivers.
|
||||
|
||||
|
||||
The entry point for iSCSI driver which initializes the global variables and
|
||||
installs the driver binding, component name protocol, iSCSI initiator name
|
||||
protocol and Authentication Info protocol on its image.
|
||||
|
||||
|
||||
@param[in] ImageHandle The firmware allocated handle for the UEFI image.
|
||||
@param[in] SystemTable A pointer to the EFI System Table.
|
||||
|
||||
@@ -1767,7 +1767,7 @@ IScsiDriverEntryPoint (
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto Error1;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Install the iSCSI Initiator Name Protocol.
|
||||
//
|
||||
@@ -1779,7 +1779,7 @@ IScsiDriverEntryPoint (
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto Error2;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Create the private data structures.
|
||||
@@ -1835,7 +1835,7 @@ IScsiDriverEntryPoint (
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto Error6;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return EFI_SUCCESS;
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The header file of IScsiDriver.c.
|
||||
|
||||
Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
(C) Copyright 2017 Hewlett Packard Enterprise Development LP<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
@@ -93,33 +93,33 @@ typedef struct _ISCSI_PRIVATE_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 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 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().
|
||||
Since 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 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().
|
||||
Since 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
|
||||
@@ -146,28 +146,28 @@ IScsiIp4DriverBindingSupported (
|
||||
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.
|
||||
|
||||
@@ -187,10 +187,10 @@ IScsiIp4DriverBindingStart (
|
||||
|
||||
/**
|
||||
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.
|
||||
@@ -198,13 +198,13 @@ IScsiIp4DriverBindingStart (
|
||||
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.
|
||||
@@ -221,33 +221,33 @@ IScsiIp4DriverBindingStop (
|
||||
);
|
||||
|
||||
/**
|
||||
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 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 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().
|
||||
Since 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 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().
|
||||
Since 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
|
||||
@@ -274,28 +274,28 @@ IScsiIp6DriverBindingSupported (
|
||||
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.
|
||||
|
||||
@@ -315,10 +315,10 @@ IScsiIp6DriverBindingStart (
|
||||
|
||||
/**
|
||||
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.
|
||||
@@ -326,13 +326,13 @@ IScsiIp6DriverBindingStart (
|
||||
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.
|
||||
@@ -434,11 +434,11 @@ IScsiComponentNameGetDriverName (
|
||||
language of the driver name that the caller is
|
||||
requesting, and it must match one of the
|
||||
languages specified in SupportedLanguages. The
|
||||
number of languages supported by a driver is
|
||||
determined by the driver writer. Language is
|
||||
specified inRFC 4646 or ISO 639-2 language code
|
||||
number of languages supported by a driver is
|
||||
determined by the driver writer. Language is
|
||||
specified inRFC 4646 or ISO 639-2 language code
|
||||
format.
|
||||
|
||||
|
||||
@param[out] ControllerName A pointer to the Unicode string to return.
|
||||
This Unicode string is the name of the
|
||||
controller specified by ControllerHandle and
|
||||
@@ -597,19 +597,19 @@ IScsiSetAuthenticationInfo (
|
||||
/**
|
||||
Sends a SCSI Request Packet to a SCSI device that is attached to the SCSI channel.
|
||||
This function supports both blocking I/O and nonblocking I/O. The blocking I/O
|
||||
functionality is required, and the nonblocking I/O functionality is optional.
|
||||
functionality is required, and the nonblocking I/O functionality is optional.
|
||||
|
||||
@param[in] This A pointer to the EFI_EXT_SCSI_PASS_THRU_PROTOCOL instance.
|
||||
@param[in] Target The Target is an array of size TARGET_MAX_BYTES and it
|
||||
represents the id of the SCSI device to send the SCSI
|
||||
Request Packet. Each transport driver may choose to
|
||||
utilize a subset of this size to suit the needs
|
||||
of transport target representation. For example, a
|
||||
of transport target representation. For example, a
|
||||
Fibre Channel driver may use only 8 bytes (WWN)
|
||||
to represent an FC target.
|
||||
@param[in] Lun The LUN of the SCSI device to send the SCSI Request Packet.
|
||||
@param[in, out] Packet A pointer to the SCSI Request Packet to send to the
|
||||
SCSI device specified by Target and Lun.
|
||||
SCSI device specified by Target and Lun.
|
||||
@param[in] Event If nonblocking 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
|
||||
@@ -618,7 +618,7 @@ IScsiSetAuthenticationInfo (
|
||||
completes.
|
||||
|
||||
@retval EFI_SUCCESS The SCSI Request Packet was sent by the host. For
|
||||
bi-directional commands, InTransferLength bytes
|
||||
bi-directional commands, InTransferLength bytes
|
||||
were transferred from InDataBuffer.
|
||||
For write and bi-directional commands, OutTransferLength
|
||||
bytes were transferred by OutDataBuffer.
|
||||
@@ -631,7 +631,7 @@ IScsiSetAuthenticationInfo (
|
||||
there are too many SCSI Request Packets already
|
||||
queued. The caller may retry later.
|
||||
@retval EFI_DEVICE_ERROR A device error occurred while attempting to send
|
||||
the SCSI Request Packet.
|
||||
the SCSI Request Packet.
|
||||
@retval EFI_INVALID_PARAMETER Target, Lun, or the contents of ScsiRequestPacket
|
||||
are invalid.
|
||||
@retval EFI_UNSUPPORTED The command described by the SCSI Request Packet
|
||||
@@ -658,9 +658,9 @@ IScsiExtScsiPassThruFunction (
|
||||
Used to retrieve the list of legal Target IDs and LUNs for SCSI devices on
|
||||
a SCSI channel. These can either be the list SCSI devices that are actually
|
||||
present on the SCSI channel, or the list of legal Target Ids and LUNs for the
|
||||
SCSI channel. Regardless, the caller of this function must probe the Target ID
|
||||
and LUN returned to see if a SCSI device is actually present at that location
|
||||
on the SCSI channel.
|
||||
SCSI channel. Regardless, the caller of this function must probe the Target ID
|
||||
and LUN returned to see if a SCSI device is actually present at that location
|
||||
on the SCSI channel.
|
||||
|
||||
@param[in] This The EFI_EXT_SCSI_PASS_THRU_PROTOCOL instance.
|
||||
@param[in, out] Target On input, a pointer to the Target ID of a SCSI
|
||||
@@ -790,7 +790,7 @@ IScsiExtScsiPassThruResetTargetLun (
|
||||
);
|
||||
|
||||
/**
|
||||
Retrieve the list of legal Target IDs for SCSI devices on a SCSI channel.
|
||||
Retrieve the list of legal Target IDs for SCSI devices on a SCSI channel.
|
||||
|
||||
@param[in] This A pointer to the EFI_EXT_SCSI_PASS_THRU_PROTOCOL
|
||||
instance.
|
||||
@@ -800,7 +800,7 @@ IScsiExtScsiPassThruResetTargetLun (
|
||||
next SCSI device present on a SCSI channel.
|
||||
An input value of 0xF(all bytes in the array are 0xF)
|
||||
in the Target array retrieves the Target ID of the
|
||||
first SCSI device present on a SCSI channel.
|
||||
first SCSI device present on a SCSI channel.
|
||||
|
||||
@retval EFI_SUCCESS The Target ID of the next SCSI device on the SCSI
|
||||
channel was returned in Target.
|
||||
|
@@ -3,8 +3,8 @@
|
||||
#
|
||||
# The iSCSI driver provides iSCSI service in the preboot environment and supports
|
||||
# booting over iSCSI.
|
||||
#
|
||||
# Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# Copyright (c) 2004 - 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
|
||||
@@ -57,7 +57,7 @@
|
||||
IScsiExtScsiPassThru.c
|
||||
IScsiIbft.c
|
||||
IScsiIbft.h
|
||||
IScsiInitiatorName.c
|
||||
IScsiInitiatorName.c
|
||||
IScsiImpl.h
|
||||
IScsiMisc.c
|
||||
IScsiMisc.h
|
||||
@@ -82,7 +82,7 @@
|
||||
PrintLib
|
||||
UefiBootServicesTableLib
|
||||
UefiDriverEntryPoint
|
||||
UefiLib
|
||||
UefiLib
|
||||
UefiRuntimeServicesTableLib
|
||||
UefiHiiServicesLib
|
||||
BaseCryptLib
|
||||
@@ -113,7 +113,7 @@
|
||||
## PRODUCES
|
||||
## UNDEFINED # Variable
|
||||
gEfiIScsiInitiatorNameProtocolGuid
|
||||
## PRODUCES
|
||||
## PRODUCES
|
||||
gEfiAuthenticationInfoProtocolGuid
|
||||
## SOMETIMES_CONSUMES
|
||||
gEfiAdapterInformationProtocolGuid
|
||||
@@ -127,7 +127,7 @@
|
||||
gEfiAcpi20TableGuid ## SOMETIMES_CONSUMES ## SystemTable
|
||||
gEfiAdapterInfoNetworkBootGuid ## SOMETIMES_CONSUMES ## UNDEFINED
|
||||
gEfiAdapterInfoUndiIpv6SupportGuid ## SOMETIMES_CONSUMES ## GUID
|
||||
|
||||
|
||||
## SOMETIMES_PRODUCES ## Variable:L"AttemptOrder"
|
||||
## SOMETIMES_CONSUMES ## Variable:L"AttemptOrder"
|
||||
## SOMETIMES_PRODUCES ## Variable:L"InitialAttemptOrder"
|
||||
|
@@ -4,13 +4,13 @@
|
||||
// The iSCSI driver provides iSCSI service in the preboot environment and supports
|
||||
// booting over iSCSI.
|
||||
//
|
||||
// Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2004 - 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,7 +1,7 @@
|
||||
// /** @file
|
||||
// IScsiDxe Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, 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
|
||||
@@ -14,7 +14,7 @@
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#language en-US
|
||||
"iSCSI DXE"
|
||||
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The implementation of EFI_EXT_SCSI_PASS_THRU_PROTOCOL.
|
||||
|
||||
Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 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
|
||||
@@ -29,19 +29,19 @@ EFI_EXT_SCSI_PASS_THRU_PROTOCOL gIScsiExtScsiPassThruProtocolTemplate = {
|
||||
/**
|
||||
Sends a SCSI Request Packet to a SCSI device that is attached to the SCSI channel.
|
||||
This function supports both blocking I/O and nonblocking I/O. The blocking I/O
|
||||
functionality is required, and the nonblocking I/O functionality is optional.
|
||||
functionality is required, and the nonblocking I/O functionality is optional.
|
||||
|
||||
@param[in] This A pointer to the EFI_EXT_SCSI_PASS_THRU_PROTOCOL instance.
|
||||
@param[in] Target The Target is an array of size TARGET_MAX_BYTES and it
|
||||
represents the id of the SCSI device to send the SCSI
|
||||
Request Packet. Each transport driver may choose to
|
||||
utilize a subset of this size to suit the needs
|
||||
of transport target representation. For example, a
|
||||
of transport target representation. For example, a
|
||||
Fibre Channel driver may use only 8 bytes (WWN)
|
||||
to represent an FC target.
|
||||
@param[in] Lun The LUN of the SCSI device to send the SCSI Request Packet.
|
||||
@param[in, out] Packet A pointer to the SCSI Request Packet to send to the
|
||||
SCSI device specified by Target and Lun.
|
||||
SCSI device specified by Target and Lun.
|
||||
@param[in] Event If nonblocking 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
|
||||
@@ -50,7 +50,7 @@ EFI_EXT_SCSI_PASS_THRU_PROTOCOL gIScsiExtScsiPassThruProtocolTemplate = {
|
||||
completes.
|
||||
|
||||
@retval EFI_SUCCESS The SCSI Request Packet was sent by the host. For
|
||||
bi-directional commands, InTransferLength bytes
|
||||
bi-directional commands, InTransferLength bytes
|
||||
were transferred from InDataBuffer.
|
||||
For write and bi-directional commands, OutTransferLength
|
||||
bytes were transferred by OutDataBuffer.
|
||||
@@ -63,7 +63,7 @@ EFI_EXT_SCSI_PASS_THRU_PROTOCOL gIScsiExtScsiPassThruProtocolTemplate = {
|
||||
there are too many SCSI Request Packets already
|
||||
queued. The caller may retry later.
|
||||
@retval EFI_DEVICE_ERROR A device error occurred while attempting to send
|
||||
the SCSI Request Packet.
|
||||
the SCSI Request Packet.
|
||||
@retval EFI_INVALID_PARAMETER Target, Lun, or the contents of ScsiRequestPacket,
|
||||
are invalid.
|
||||
@retval EFI_UNSUPPORTED The command described by the SCSI Request Packet
|
||||
@@ -88,7 +88,7 @@ IScsiExtScsiPassThruFunction (
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
ISCSI_DRIVER_DATA *Private;
|
||||
|
||||
|
||||
if (Target[0] != 0) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
@@ -118,9 +118,9 @@ IScsiExtScsiPassThruFunction (
|
||||
Used to retrieve the list of legal Target IDs and LUNs for SCSI devices on
|
||||
a SCSI channel. These can either be the list SCSI devices that are actually
|
||||
present on the SCSI channel, or the list of legal Target Ids and LUNs for the
|
||||
SCSI channel. Regardless, the caller of this function must probe the Target ID
|
||||
and LUN returned to see if a SCSI device is actually present at that location
|
||||
on the SCSI channel.
|
||||
SCSI channel. Regardless, the caller of this function must probe the Target ID
|
||||
and LUN returned to see if a SCSI device is actually present at that location
|
||||
on the SCSI channel.
|
||||
|
||||
@param[in] This The EFI_EXT_SCSI_PASS_THRU_PROTOCOL instance.
|
||||
@param[in, out] Target On input, a pointer to the Target ID of a SCSI
|
||||
@@ -298,7 +298,7 @@ IScsiExtScsiPassThruBuildDevicePath (
|
||||
@retval EFI_INVALID_PARAMETER DevicePath/Target/Lun is NULL.
|
||||
@retval EFI_UNSUPPORTED This driver does not support the device path node
|
||||
type in DevicePath.
|
||||
@retval EFI_NOT_FOUND A valid translation does not exist from DevicePath
|
||||
@retval EFI_NOT_FOUND A valid translation does not exist from DevicePath
|
||||
to a TargetID and LUN.
|
||||
|
||||
**/
|
||||
@@ -382,7 +382,7 @@ IScsiExtScsiPassThruResetTargetLun (
|
||||
}
|
||||
|
||||
/**
|
||||
Retrieve the list of legal Target IDs for SCSI devices on a SCSI channel.
|
||||
Retrieve the list of legal Target IDs for SCSI devices on a SCSI channel.
|
||||
|
||||
@param[in] This A pointer to the EFI_EXT_SCSI_PASS_THRU_PROTOCOL
|
||||
instance.
|
||||
@@ -392,7 +392,7 @@ IScsiExtScsiPassThruResetTargetLun (
|
||||
next SCSI device present on a SCSI channel.
|
||||
An input value of 0xF(all bytes in the array are 0xF)
|
||||
in the Target array retrieves the Target ID of the
|
||||
first SCSI device present on a SCSI channel.
|
||||
first SCSI device present on a SCSI channel.
|
||||
|
||||
@retval EFI_SUCCESS The Target ID of the next SCSI device on the SCSI
|
||||
channel was returned in Target.
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Implementation for iSCSI Boot Firmware Table publication.
|
||||
|
||||
Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 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 @@ UINTN mTableKey;
|
||||
|
||||
/**
|
||||
Initialize the header of the iSCSI Boot Firmware Table.
|
||||
|
||||
|
||||
@param[out] Header The header of the iSCSI Boot Firmware Table.
|
||||
@param[in] OemId The OEM ID.
|
||||
@param[in] OemTableId The OEM table ID for the iBFT.
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Some extra definitions for iBFT.
|
||||
|
||||
Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 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 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#define _ISCSI_IBFT_H_
|
||||
|
||||
#include <IndustryStandard/Acpi.h>
|
||||
#include <IndustryStandard/IScsiBootFirmwareTable.h>
|
||||
#include <IndustryStandard/IScsiBootFirmwareTable.h>
|
||||
#include <Protocol/AcpiTable.h>
|
||||
#include <Protocol/PciIo.h>
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The shared head file for iSCSI driver.
|
||||
|
||||
Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 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
|
||||
@@ -201,7 +201,7 @@ struct _ISCSI_DRIVER_DATA {
|
||||
EFI_EXT_SCSI_PASS_THRU_MODE ExtScsiPassThruMode;
|
||||
EFI_HANDLE ExtScsiPassThruHandle;
|
||||
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
||||
EFI_HANDLE ChildHandle;
|
||||
EFI_HANDLE ChildHandle;
|
||||
ISCSI_SESSION *Session;
|
||||
};
|
||||
|
||||
|
@@ -20,7 +20,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 IScsiHexString[] = "0123456789ABCDEFa
|
||||
Removes (trims) specified leading and trailing characters from a string.
|
||||
|
||||
@param[in, out] Str Pointer to the null-terminated string to be trimmed.
|
||||
On return, Str will hold the trimmed string.
|
||||
On return, Str will hold the trimmed string.
|
||||
|
||||
@param[in] CharC Character will be trimmed from str.
|
||||
|
||||
@@ -33,18 +33,18 @@ IScsiStrTrim (
|
||||
{
|
||||
CHAR16 *Pointer1;
|
||||
CHAR16 *Pointer2;
|
||||
|
||||
|
||||
if (*Str == 0) {
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Trim off the leading and trailing characters c
|
||||
//
|
||||
for (Pointer1 = Str; (*Pointer1 != 0) && (*Pointer1 == CharC); Pointer1++) {
|
||||
;
|
||||
}
|
||||
|
||||
|
||||
Pointer2 = Str;
|
||||
if (Pointer2 == Pointer1) {
|
||||
while (*Pointer1 != 0) {
|
||||
@@ -52,19 +52,19 @@ IScsiStrTrim (
|
||||
Pointer1++;
|
||||
}
|
||||
} else {
|
||||
while (*Pointer1 != 0) {
|
||||
*Pointer2 = *Pointer1;
|
||||
while (*Pointer1 != 0) {
|
||||
*Pointer2 = *Pointer1;
|
||||
Pointer1++;
|
||||
Pointer2++;
|
||||
}
|
||||
*Pointer2 = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
for (Pointer1 = Str + StrLen(Str) - 1; Pointer1 >= Str && *Pointer1 == CharC; Pointer1--) {
|
||||
;
|
||||
}
|
||||
if (Pointer1 != Str + StrLen(Str) - 1) {
|
||||
if (Pointer1 != Str + StrLen(Str) - 1) {
|
||||
*(Pointer1 + 1) = 0;
|
||||
}
|
||||
}
|
||||
@@ -131,11 +131,11 @@ IScsiAsciiStrToLun (
|
||||
CHAR8 TemStr[2];
|
||||
UINT8 TemValue;
|
||||
UINT16 Value[4];
|
||||
|
||||
|
||||
ZeroMem (Lun, 8);
|
||||
ZeroMem (TemStr, 2);
|
||||
ZeroMem ((UINT8 *) Value, sizeof (Value));
|
||||
SizeStr = AsciiStrLen (Str);
|
||||
SizeStr = AsciiStrLen (Str);
|
||||
IndexValue = 0;
|
||||
IndexNum = 0;
|
||||
|
||||
@@ -150,7 +150,7 @@ IScsiAsciiStrToLun (
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((TemValue == 0) && (TemStr[0] == '-')) {
|
||||
//
|
||||
// Next Lun value.
|
||||
@@ -167,24 +167,24 @@ IScsiAsciiStrToLun (
|
||||
IndexNum = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if (++IndexNum > 4) {
|
||||
//
|
||||
//
|
||||
// Each Lun Str can't exceed size 4, because it will be as UINT16 value.
|
||||
//
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Combine UINT16 value.
|
||||
//
|
||||
Value[IndexValue] = (UINT16) ((Value[IndexValue] << 4) + TemValue);
|
||||
}
|
||||
|
||||
|
||||
for (Index = 0; Index <= IndexValue; Index ++) {
|
||||
*((UINT16 *) &Lun[Index * 2]) = HTONS (Value[Index]);
|
||||
}
|
||||
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -319,7 +319,7 @@ IScsiMacAddrToStr (
|
||||
@param[in, out] HexStr Pointer to the string.
|
||||
@param[in, out] HexLength The length of the string.
|
||||
|
||||
@retval EFI_SUCCESS The binary data is converted to the hexadecimal string
|
||||
@retval EFI_SUCCESS The binary data is converted to the hexadecimal string
|
||||
and the length of the string is updated.
|
||||
@retval EFI_BUFFER_TOO_SMALL The string is too small.
|
||||
@retval EFI_INVALID_PARAMETER The IP string is malformatted.
|
||||
@@ -385,7 +385,7 @@ IScsiHexToBin (
|
||||
UINTN Length;
|
||||
UINT8 Digit;
|
||||
CHAR8 TemStr[2];
|
||||
|
||||
|
||||
ZeroMem (TemStr, sizeof (TemStr));
|
||||
|
||||
//
|
||||
@@ -394,7 +394,7 @@ IScsiHexToBin (
|
||||
if ((HexStr[0] == '0') && ((HexStr[1] == 'x') || (HexStr[1] == 'X'))) {
|
||||
HexStr += 2;
|
||||
}
|
||||
|
||||
|
||||
Length = AsciiStrLen (HexStr);
|
||||
|
||||
for (Index = 0; Index < Length; Index ++) {
|
||||
@@ -412,7 +412,7 @@ IScsiHexToBin (
|
||||
BinBuffer [Index/2] = (UINT8) ((BinBuffer [Index/2] << 4) + Digit);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
*BinLength = (UINT32) ((Index + 1)/2);
|
||||
|
||||
return EFI_SUCCESS;
|
||||
@@ -492,7 +492,7 @@ IScsiCheckIpv6Support (
|
||||
BOOLEAN Supported;
|
||||
VOID *InfoBlock;
|
||||
UINTN InfoBlockSize;
|
||||
|
||||
|
||||
EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL *Nii;
|
||||
|
||||
ASSERT (Ipv6Support != NULL);
|
||||
@@ -515,7 +515,7 @@ IScsiCheckIpv6Support (
|
||||
|
||||
//
|
||||
// Get the NIC handle by SNP protocol.
|
||||
//
|
||||
//
|
||||
Handle = NetLibGetSnpHandle (ControllerHandle, NULL);
|
||||
if (Handle == NULL) {
|
||||
return EFI_NOT_FOUND;
|
||||
@@ -561,11 +561,11 @@ IScsiCheckIpv6Support (
|
||||
if (EFI_ERROR (Status) || InfoBlock == NULL) {
|
||||
FreePool (InfoBlock);
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
}
|
||||
|
||||
*Ipv6Support = ((EFI_ADAPTER_INFO_UNDI_IPV6_SUPPORT *) InfoBlock)->Ipv6Support;
|
||||
FreePool (InfoBlock);
|
||||
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -615,19 +615,19 @@ IScsiAddNic (
|
||||
CompareMem (&NicInfo->PermanentAddress, MacAddr.Addr, HwAddressSize) == 0 &&
|
||||
NicInfo->VlanId == VlanId) {
|
||||
mPrivate->CurrentNic = NicInfo->NicIndex;
|
||||
|
||||
//
|
||||
|
||||
//
|
||||
// Set IPv6 available flag.
|
||||
//
|
||||
//
|
||||
Status = IScsiCheckIpv6Support (Controller, Image, &NicInfo->Ipv6Available);
|
||||
if (EFI_ERROR (Status)) {
|
||||
//
|
||||
// Fail to get the data whether UNDI supports IPv6.
|
||||
// Fail to get the data whether UNDI supports IPv6.
|
||||
// Set default value to TRUE.
|
||||
//
|
||||
NicInfo->Ipv6Available = TRUE;
|
||||
}
|
||||
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -649,19 +649,19 @@ IScsiAddNic (
|
||||
NicInfo->VlanId = VlanId;
|
||||
NicInfo->NicIndex = (UINT8) (mPrivate->MaxNic + 1);
|
||||
mPrivate->MaxNic = NicInfo->NicIndex;
|
||||
|
||||
|
||||
//
|
||||
// Set IPv6 available flag.
|
||||
//
|
||||
//
|
||||
Status = IScsiCheckIpv6Support (Controller, Image, &NicInfo->Ipv6Available);
|
||||
if (EFI_ERROR (Status)) {
|
||||
//
|
||||
// Fail to get the data whether UNDI supports IPv6.
|
||||
// Fail to get the data whether UNDI supports IPv6.
|
||||
// Set default value to TRUE.
|
||||
//
|
||||
NicInfo->Ipv6Available = TRUE;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Get the PCI location.
|
||||
//
|
||||
@@ -1799,7 +1799,7 @@ IScsiCleanDriverData (
|
||||
|
||||
EXIT:
|
||||
if (Private->ExitBootServiceEvent != NULL) {
|
||||
gBS->CloseEvent (Private->ExitBootServiceEvent);
|
||||
gBS->CloseEvent (Private->ExitBootServiceEvent);
|
||||
}
|
||||
|
||||
mCallbackInfo->Current = NULL;
|
||||
@@ -1813,10 +1813,10 @@ EXIT:
|
||||
|
||||
@param[in] Controller The handle of the controller.
|
||||
@param[in] IpVersion IP_VERSION_4 or IP_VERSION_6.
|
||||
|
||||
|
||||
@retval TRUE The handle of the controller need the Dhcp protocol.
|
||||
@retval FALSE The handle of the controller does not need the Dhcp protocol.
|
||||
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
IScsiDhcpIsConfigured (
|
||||
@@ -1835,7 +1835,7 @@ IScsiDhcpIsConfigured (
|
||||
CHAR16 MacString[ISCSI_MAX_MAC_STRING_LEN];
|
||||
CHAR16 AttemptMacString[ISCSI_MAX_MAC_STRING_LEN];
|
||||
CHAR16 AttemptName[ISCSI_NAME_IFR_MAX_SIZE];
|
||||
|
||||
|
||||
AttemptConfigOrder = IScsiGetVariableAndSize (
|
||||
L"AttemptOrder",
|
||||
&gIScsiConfigGuid,
|
||||
@@ -1844,7 +1844,7 @@ IScsiDhcpIsConfigured (
|
||||
if (AttemptConfigOrder == NULL || AttemptConfigOrderSize == 0) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Get MAC address of this network device.
|
||||
//
|
||||
@@ -1857,7 +1857,7 @@ IScsiDhcpIsConfigured (
|
||||
//
|
||||
VlanId = NetLibGetVlanId (Controller);
|
||||
IScsiMacAddrToStr (&MacAddr, (UINT32) HwAddressSize, VlanId, MacString);
|
||||
|
||||
|
||||
for (Index = 0; Index < AttemptConfigOrderSize / sizeof (UINT8); Index++) {
|
||||
UnicodeSPrint (
|
||||
AttemptName,
|
||||
@@ -1874,7 +1874,7 @@ IScsiDhcpIsConfigured (
|
||||
if(AttemptTmp == NULL || EFI_ERROR (Status)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
ASSERT (AttemptConfigOrder[Index] == AttemptTmp->AttemptConfigIndex);
|
||||
|
||||
if (AttemptTmp->SessionConfigData.Enabled == ISCSI_DISABLED) {
|
||||
@@ -1882,7 +1882,7 @@ IScsiDhcpIsConfigured (
|
||||
continue;
|
||||
}
|
||||
|
||||
if (AttemptTmp->SessionConfigData.IpMode != IP_MODE_AUTOCONFIG &&
|
||||
if (AttemptTmp->SessionConfigData.IpMode != IP_MODE_AUTOCONFIG &&
|
||||
AttemptTmp->SessionConfigData.IpMode != ((IpVersion == IP_VERSION_4) ? IP_MODE_IP4 : IP_MODE_IP6)) {
|
||||
FreePool (AttemptTmp);
|
||||
continue;
|
||||
@@ -1896,7 +1896,7 @@ IScsiDhcpIsConfigured (
|
||||
|
||||
if(AttemptTmp->SessionConfigData.IpMode == IP_MODE_AUTOCONFIG ||
|
||||
AttemptTmp->SessionConfigData.InitiatorInfoFromDhcp == TRUE ||
|
||||
AttemptTmp->SessionConfigData.TargetInfoFromDhcp == TRUE) {
|
||||
AttemptTmp->SessionConfigData.TargetInfoFromDhcp == TRUE) {
|
||||
FreePool (AttemptTmp);
|
||||
FreePool (AttemptConfigOrder);
|
||||
return TRUE;
|
||||
@@ -1904,7 +1904,7 @@ IScsiDhcpIsConfigured (
|
||||
|
||||
FreePool (AttemptTmp);
|
||||
}
|
||||
|
||||
|
||||
FreePool (AttemptConfigOrder);
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1913,10 +1913,10 @@ IScsiDhcpIsConfigured (
|
||||
Check whether the Controller handle is configured to use DNS protocol.
|
||||
|
||||
@param[in] Controller The handle of the controller.
|
||||
|
||||
|
||||
@retval TRUE The handle of the controller need the Dns protocol.
|
||||
@retval FALSE The handle of the controller does not need the Dns protocol.
|
||||
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
IScsiDnsIsConfigured (
|
||||
@@ -1934,7 +1934,7 @@ IScsiDnsIsConfigured (
|
||||
CHAR16 AttemptMacString[ISCSI_MAX_MAC_STRING_LEN];
|
||||
CHAR16 MacString[ISCSI_MAX_MAC_STRING_LEN];
|
||||
CHAR16 AttemptName[ISCSI_NAME_IFR_MAX_SIZE];
|
||||
|
||||
|
||||
AttemptConfigOrder = IScsiGetVariableAndSize (
|
||||
L"AttemptOrder",
|
||||
&gIScsiConfigGuid,
|
||||
@@ -1943,7 +1943,7 @@ IScsiDnsIsConfigured (
|
||||
if (AttemptConfigOrder == NULL || AttemptConfigOrderSize == 0) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Get MAC address of this network device.
|
||||
//
|
||||
@@ -1956,7 +1956,7 @@ IScsiDnsIsConfigured (
|
||||
//
|
||||
VlanId = NetLibGetVlanId (Controller);
|
||||
IScsiMacAddrToStr (&MacAddr, (UINT32) HwAddressSize, VlanId, MacString);
|
||||
|
||||
|
||||
for (Index = 0; Index < AttemptConfigOrderSize / sizeof (UINT8); Index++) {
|
||||
UnicodeSPrint (
|
||||
AttemptName,
|
||||
@@ -1974,7 +1974,7 @@ IScsiDnsIsConfigured (
|
||||
if(AttemptTmp == NULL || EFI_ERROR (Status)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
ASSERT (AttemptConfigOrder[Index] == AttemptTmp->AttemptConfigIndex);
|
||||
|
||||
AsciiStrToUnicodeStrS (AttemptTmp->MacString, AttemptMacString, sizeof (AttemptMacString) / sizeof (AttemptMacString[0]));
|
||||
@@ -1983,7 +1983,7 @@ IScsiDnsIsConfigured (
|
||||
FreePool (AttemptTmp);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if (AttemptTmp->SessionConfigData.DnsMode || AttemptTmp->SessionConfigData.TargetInfoFromDhcp) {
|
||||
FreePool (AttemptTmp);
|
||||
FreePool (AttemptConfigOrder);
|
||||
@@ -2060,7 +2060,7 @@ IScsiGetConfigData (
|
||||
//
|
||||
// Check whether the attempt exists in AttemptConfig.
|
||||
//
|
||||
AttemptTmp = IScsiConfigGetAttemptByConfigIndex (AttemptConfigOrder[Index]);
|
||||
AttemptTmp = IScsiConfigGetAttemptByConfigIndex (AttemptConfigOrder[Index]);
|
||||
if (AttemptTmp != NULL && AttemptTmp->SessionConfigData.Enabled == ISCSI_DISABLED) {
|
||||
continue;
|
||||
} else if (AttemptTmp != NULL && AttemptTmp->SessionConfigData.Enabled != ISCSI_DISABLED) {
|
||||
@@ -2126,11 +2126,11 @@ IScsiGetConfigData (
|
||||
|
||||
continue;
|
||||
}
|
||||
} else if (AttemptTmp->SessionConfigData.InitiatorInfoFromDhcp &&
|
||||
!AttemptTmp->ValidPath &&
|
||||
} else if (AttemptTmp->SessionConfigData.InitiatorInfoFromDhcp &&
|
||||
!AttemptTmp->ValidPath &&
|
||||
AttemptTmp->NicIndex == mPrivate->CurrentNic) {
|
||||
//
|
||||
// If the attempt associates with the current NIC, we can
|
||||
// If the attempt associates with the current NIC, we can
|
||||
// get DHCP information for already added, but failed, attempt.
|
||||
//
|
||||
AttemptTmp->DhcpSuccess = FALSE;
|
||||
@@ -2213,7 +2213,7 @@ IScsiGetConfigData (
|
||||
(UINT8) (mPrivate->Ipv6Flag ? IP_MODE_AUTOCONFIG_IP6 : IP_MODE_AUTOCONFIG_IP4);
|
||||
AttemptConfigData->AutoConfigureSuccess = FALSE;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Get some information from dhcp server.
|
||||
//
|
||||
@@ -2384,7 +2384,7 @@ IScsiGetTcpConnDevicePath (
|
||||
Conn->TcpIo.Handle,
|
||||
&gEfiDevicePathProtocolGuid,
|
||||
(VOID **) &DevicePath
|
||||
);
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return NULL;
|
||||
}
|
||||
@@ -2403,7 +2403,7 @@ IScsiGetTcpConnDevicePath (
|
||||
if (!Conn->Ipv6Flag && DevicePathSubType (&DPathNode->DevPath) == MSG_IPv4_DP) {
|
||||
DPathNode->Ipv4.LocalPort = 0;
|
||||
|
||||
DPathNode->Ipv4.StaticIpAddress =
|
||||
DPathNode->Ipv4.StaticIpAddress =
|
||||
(BOOLEAN) (!Session->ConfigData->SessionConfigData.InitiatorInfoFromDhcp);
|
||||
|
||||
//
|
||||
@@ -2414,9 +2414,9 @@ IScsiGetTcpConnDevicePath (
|
||||
//
|
||||
|
||||
PathLen = DevicePathNodeLength (&DPathNode->Ipv4);
|
||||
|
||||
if (PathLen == IP4_NODE_LEN_NEW_VERSIONS) {
|
||||
|
||||
|
||||
if (PathLen == IP4_NODE_LEN_NEW_VERSIONS) {
|
||||
|
||||
IP4_COPY_ADDRESS (
|
||||
&DPathNode->Ipv4.GatewayIpAddress,
|
||||
&Session->ConfigData->SessionConfigData.Gateway
|
||||
@@ -2427,7 +2427,7 @@ IScsiGetTcpConnDevicePath (
|
||||
&Session->ConfigData->SessionConfigData.SubnetMask
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
} else if (Conn->Ipv6Flag && DevicePathSubType (&DPathNode->DevPath) == MSG_IPv6_DP) {
|
||||
DPathNode->Ipv6.LocalPort = 0;
|
||||
@@ -2436,28 +2436,28 @@ IScsiGetTcpConnDevicePath (
|
||||
// Add a judgement here to support previous versions of IPv6_DEVICE_PATH.
|
||||
// In previous versions of IPv6_DEVICE_PATH, IpAddressOrigin, PrefixLength
|
||||
// and GatewayIpAddress do not exist.
|
||||
// In new version of IPv6_DEVICE_PATH, structure length is 60, while in
|
||||
// In new version of IPv6_DEVICE_PATH, structure length is 60, while in
|
||||
// old versions, the length is 43.
|
||||
//
|
||||
|
||||
PathLen = DevicePathNodeLength (&DPathNode->Ipv6);
|
||||
|
||||
if (PathLen == IP6_NODE_LEN_NEW_VERSIONS ) {
|
||||
|
||||
if (PathLen == IP6_NODE_LEN_NEW_VERSIONS ) {
|
||||
|
||||
DPathNode->Ipv6.IpAddressOrigin = 0;
|
||||
DPathNode->Ipv6.PrefixLength = IP6_PREFIX_LENGTH;
|
||||
ZeroMem (&DPathNode->Ipv6.GatewayIpAddress, sizeof (EFI_IPv6_ADDRESS));
|
||||
}
|
||||
else if (PathLen == IP6_NODE_LEN_OLD_VERSIONS) {
|
||||
else if (PathLen == IP6_NODE_LEN_OLD_VERSIONS) {
|
||||
|
||||
//
|
||||
// StaticIPAddress is a field in old versions of IPv6_DEVICE_PATH, while ignored in new
|
||||
// StaticIPAddress is a field in old versions of IPv6_DEVICE_PATH, while ignored in new
|
||||
// version. Set StaticIPAddress through its' offset in old IPv6_DEVICE_PATH.
|
||||
//
|
||||
*((UINT8 *)(&DPathNode->Ipv6) + IP6_OLD_IPADDRESS_OFFSET) =
|
||||
*((UINT8 *)(&DPathNode->Ipv6) + IP6_OLD_IPADDRESS_OFFSET) =
|
||||
(BOOLEAN) (!Session->ConfigData->SessionConfigData.InitiatorInfoFromDhcp);
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -2486,10 +2486,10 @@ IScsiOnExitBootService (
|
||||
ISCSI_DRIVER_DATA *Private;
|
||||
|
||||
Private = (ISCSI_DRIVER_DATA *) Context;
|
||||
|
||||
|
||||
gBS->CloseEvent (Private->ExitBootServiceEvent);
|
||||
Private->ExitBootServiceEvent = NULL;
|
||||
|
||||
|
||||
if (Private->Session != NULL) {
|
||||
IScsiSessionAbort (Private->Session);
|
||||
}
|
||||
@@ -2502,7 +2502,7 @@ IScsiOnExitBootService (
|
||||
currently managing the controller specified by ControllerHandle. This test
|
||||
is performed by evaluating if the the protocol specified by ProtocolGuid is
|
||||
present on ControllerHandle and is was opened by DriverBindingHandle and Nic
|
||||
Device handle with an attribute of EFI_OPEN_PROTOCOL_BY_DRIVER.
|
||||
Device handle with an attribute of EFI_OPEN_PROTOCOL_BY_DRIVER.
|
||||
If ProtocolGuid is NULL, then ASSERT().
|
||||
|
||||
@param ControllerHandle A handle for a controller to test.
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Miscellaneous definitions for iSCSI driver.
|
||||
|
||||
Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 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
|
||||
@@ -62,7 +62,7 @@ typedef struct _ISCSI_SESSION_CONFIG_NVDATA {
|
||||
|
||||
BOOLEAN DnsMode; // Flag indicate whether the Target address is expressed as URL format.
|
||||
CHAR8 TargetUrl[ISCSI_TARGET_URI_MAX_SIZE];
|
||||
|
||||
|
||||
} ISCSI_SESSION_CONFIG_NVDATA;
|
||||
#pragma pack()
|
||||
|
||||
@@ -81,7 +81,7 @@ IScsiGetSubnetMaskPrefixLength (
|
||||
);
|
||||
|
||||
/**
|
||||
Convert the hexadecimal encoded LUN string into the 64-bit LUN.
|
||||
Convert the hexadecimal encoded LUN string into the 64-bit LUN.
|
||||
|
||||
@param[in] Str The hexadecimal encoded LUN string.
|
||||
@param[out] Lun Storage to return the 64-bit LUN.
|
||||
@@ -153,7 +153,7 @@ IScsiAsciiStrToIp (
|
||||
@param[in, out] HexStr Pointer to the string.
|
||||
@param[in, out] HexLength The length of the string.
|
||||
|
||||
@retval EFI_SUCCESS The binary data is converted to the hexadecimal string
|
||||
@retval EFI_SUCCESS The binary data is converted to the hexadecimal string
|
||||
and the length of the string is updated.
|
||||
@retval EFI_BUFFER_TOO_SMALL The string is too small.
|
||||
@retval EFI_INVALID_PARAMETER The IP string is malformatted.
|
||||
@@ -372,10 +372,10 @@ IScsiCleanDriverData (
|
||||
|
||||
@param[in] Controller The handle of the controller.
|
||||
@param[in] IpVersion IP_VERSION_4 or IP_VERSION_6.
|
||||
|
||||
|
||||
@retval TRUE The handle of the controller need the Dhcp protocol.
|
||||
@retval FALSE The handle of the controller does not need the Dhcp protocol.
|
||||
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
IScsiDhcpIsConfigured (
|
||||
@@ -387,10 +387,10 @@ IScsiDhcpIsConfigured (
|
||||
Check wheather the Controller handle is configured to use DNS protocol.
|
||||
|
||||
@param[in] Controller The handle of the controller.
|
||||
|
||||
|
||||
@retval TRUE The handle of the controller need the DNS protocol.
|
||||
@retval FALSE The handle of the controller does not need the DNS protocol.
|
||||
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
IScsiDnsIsConfigured (
|
||||
@@ -447,7 +447,7 @@ IScsiOnExitBootService (
|
||||
currently managing the controller specified by ControllerHandle. This test
|
||||
is performed by evaluating if the the protocol specified by ProtocolGuid is
|
||||
present on ControllerHandle and is was opened by DriverBindingHandle and Nic
|
||||
Device handle with an attribute of EFI_OPEN_PROTOCOL_BY_DRIVER.
|
||||
Device handle with an attribute of EFI_OPEN_PROTOCOL_BY_DRIVER.
|
||||
If ProtocolGuid is NULL, then ASSERT().
|
||||
|
||||
@param ControllerHandle A handle for a controller to test.
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The implementation of iSCSI protocol based on RFC3720.
|
||||
|
||||
Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 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
|
||||
@@ -17,7 +17,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
UINT32 mDataSegPad = 0;
|
||||
|
||||
/**
|
||||
Attach the iSCSI connection to the iSCSI session.
|
||||
Attach the iSCSI connection to the iSCSI session.
|
||||
|
||||
@param[in, out] Session The iSCSI session.
|
||||
@param[in, out] Conn The iSCSI connection.
|
||||
@@ -35,7 +35,7 @@ IScsiAttatchConnection (
|
||||
}
|
||||
|
||||
/**
|
||||
Detach the iSCSI connection from the session it belongs to.
|
||||
Detach the iSCSI connection from the session it belongs to.
|
||||
|
||||
@param[in, out] Conn The iSCSI connection.
|
||||
|
||||
@@ -52,7 +52,7 @@ IScsiDetatchConnection (
|
||||
|
||||
|
||||
/**
|
||||
Check the sequence number according to RFC3720.
|
||||
Check the sequence number according to RFC3720.
|
||||
|
||||
@param[in, out] ExpSN The currently expected sequence number.
|
||||
@param[in] NewSN The sequence number to check.
|
||||
@@ -124,7 +124,7 @@ IScsiUpdateCmdSN (
|
||||
|
||||
@retval EFI_SUCCESS The iSCSI connection is logged into the iSCSI target.
|
||||
@retval EFI_TIMEOUT Timeout occurred during the login procedure.
|
||||
@retval Others Other errors as indicated.
|
||||
@retval Others Other errors as indicated.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
@@ -274,7 +274,7 @@ IScsiCreateConnection (
|
||||
|
||||
if (!Conn->Ipv6Flag) {
|
||||
Tcp4IoConfig = &TcpIoConfig.Tcp4IoConfigData;
|
||||
|
||||
|
||||
CopyMem (&Tcp4IoConfig->LocalIp, &NvData->LocalIp, sizeof (EFI_IPv4_ADDRESS));
|
||||
CopyMem (&Tcp4IoConfig->SubnetMask, &NvData->SubnetMask, sizeof (EFI_IPv4_ADDRESS));
|
||||
CopyMem (&Tcp4IoConfig->Gateway, &NvData->Gateway, sizeof (EFI_IPv4_ADDRESS));
|
||||
@@ -285,7 +285,7 @@ IScsiCreateConnection (
|
||||
Tcp4IoConfig->StationPort = 0;
|
||||
} else {
|
||||
Tcp6IoConfig = &TcpIoConfig.Tcp6IoConfigData;
|
||||
|
||||
|
||||
CopyMem (&Tcp6IoConfig->RemoteIp, &NvData->TargetIp, sizeof (EFI_IPv6_ADDRESS));
|
||||
Tcp6IoConfig->RemotePort = NvData->TargetPort;
|
||||
Tcp6IoConfig->ActiveFlag = TRUE;
|
||||
@@ -338,7 +338,7 @@ IScsiDestroyConnection (
|
||||
|
||||
@retval EFI_SUCCESS Get the NIC information successfully.
|
||||
@retval Others Other errors as indicated.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
IScsiGetIp6NicInfo (
|
||||
@@ -494,7 +494,7 @@ IScsiSessionLogin (
|
||||
Session->State = SESSION_STATE_LOGGED_IN;
|
||||
|
||||
if (!Conn->Ipv6Flag) {
|
||||
ProtocolGuid = &gEfiTcp4ProtocolGuid;
|
||||
ProtocolGuid = &gEfiTcp4ProtocolGuid;
|
||||
} else {
|
||||
ProtocolGuid = &gEfiTcp6ProtocolGuid;
|
||||
}
|
||||
@@ -505,7 +505,7 @@ IScsiSessionLogin (
|
||||
(VOID **) &Tcp,
|
||||
Session->Private->Image,
|
||||
Session->Private->ExtScsiPassThruHandle,
|
||||
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER
|
||||
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER
|
||||
);
|
||||
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
@@ -612,7 +612,7 @@ IScsiSendLoginReq (
|
||||
Receive and process the iSCSI login response.
|
||||
|
||||
@param[in] Conn The connection in the iSCSI login phase.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The iSCSI login response PDU is received and processed.
|
||||
@retval Others Other errors as indicated.
|
||||
|
||||
@@ -793,7 +793,7 @@ IScsiPrepareLoginReq (
|
||||
case ISCSI_SECURITY_NEGOTIATION:
|
||||
//
|
||||
// Both none authentication and CHAP authentication share the CHAP path.
|
||||
//
|
||||
//
|
||||
//
|
||||
if (Session->AuthType != ISCSI_AUTH_TYPE_KRB) {
|
||||
Status = IScsiCHAPToSendReq (Conn, Nbuf);
|
||||
@@ -808,7 +808,7 @@ IScsiPrepareLoginReq (
|
||||
if (!Conn->ParamNegotiated) {
|
||||
IScsiFillOpParams (Conn, Nbuf);
|
||||
}
|
||||
|
||||
|
||||
ISCSI_SET_FLAG (LoginReq, ISCSI_LOGIN_REQ_PDU_FLAG_TRANSIT);
|
||||
break;
|
||||
|
||||
@@ -964,7 +964,7 @@ IScsiProcessLoginRsp (
|
||||
// the value presented in CmdSN as the target value for ExpCmdSN.
|
||||
//
|
||||
if ((Session->State == SESSION_STATE_FREE) && (Session->CmdSN != LoginRsp->ExpCmdSN)) {
|
||||
return EFI_PROTOCOL_ERROR;
|
||||
return EFI_PROTOCOL_ERROR;
|
||||
}
|
||||
|
||||
//
|
||||
@@ -1072,7 +1072,7 @@ IScsiProcessLoginRsp (
|
||||
@param[in] Data The data segment that should contain the
|
||||
TargetAddress key-value list.
|
||||
@param[in] Len Length of the data.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The target address is updated.
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate memory.
|
||||
@retval EFI_NOT_FOUND The TargetAddress key is not found.
|
||||
@@ -1101,7 +1101,7 @@ IScsiUpdateTargetAddress (
|
||||
|
||||
Status = EFI_NOT_FOUND;
|
||||
NvData = &Session->ConfigData->SessionConfigData;
|
||||
|
||||
|
||||
while (TRUE) {
|
||||
TargetAddress = IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_TARGET_ADDRESS);
|
||||
if (TargetAddress == NULL) {
|
||||
@@ -1188,7 +1188,7 @@ IScsiUpdateTargetAddress (
|
||||
|
||||
//
|
||||
// Save the origial user setting which specifies the proxy/virtual iSCSI target.
|
||||
//
|
||||
//
|
||||
CopyMem (&NvData->OriginalTargetIp, &NvData->TargetIp, sizeof (EFI_IP_ADDRESS));
|
||||
|
||||
//
|
||||
@@ -1365,7 +1365,7 @@ IScsiReceivePdu (
|
||||
switch (ISCSI_GET_OPCODE (Header)) {
|
||||
case ISCSI_OPCODE_SCSI_DATA_IN:
|
||||
//
|
||||
// To reduce memory copy overhead, try to use the buffer described by Context
|
||||
// To reduce memory copy overhead, try to use the buffer described by Context
|
||||
// if the PDU is an iSCSI SCSI data.
|
||||
//
|
||||
InDataOffset = ISCSI_GET_BUFFER_OFFSET (Header);
|
||||
@@ -1713,7 +1713,7 @@ IScsiCheckOpParams (
|
||||
IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_TARGET_ALIAS);
|
||||
IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_TARGET_PORTAL_GROUP_TAG);
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Remove the key-value that may not needed for result function is OR.
|
||||
//
|
||||
@@ -2228,7 +2228,7 @@ IScsiNewScsiCmdPdu (
|
||||
if (ScsiCmd == NULL) {
|
||||
NetbufFree (PduHeader);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
Header = (ISCSI_ADDITIONAL_HEADER *) (ScsiCmd + 1);
|
||||
|
||||
ZeroMem (ScsiCmd, Length);
|
||||
@@ -2902,8 +2902,8 @@ IScsiOnNopInRcvd (
|
||||
@param[in] Lun The LUN.
|
||||
@param[in, out] Packet The request packet containing IO request, SCSI command
|
||||
buffer and buffers to read/write.
|
||||
|
||||
@retval EFI_SUCCES The SCSI command is executed and the result is updated to
|
||||
|
||||
@retval EFI_SUCCES The SCSI command is executed and the result is updated to
|
||||
the Packet.
|
||||
@retval EFI_DEVICE_ERROR Session state was not as required.
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate memory.
|
||||
@@ -3197,7 +3197,7 @@ IScsiSessionAbort (
|
||||
if (!Conn->Ipv6Flag) {
|
||||
ProtocolGuid = &gEfiTcp4ProtocolGuid;
|
||||
} else {
|
||||
ProtocolGuid = &gEfiTcp6ProtocolGuid;
|
||||
ProtocolGuid = &gEfiTcp6ProtocolGuid;
|
||||
}
|
||||
|
||||
gBS->CloseProtocol (
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The header file of iSCSI Protocol that defines many specific data structures.
|
||||
|
||||
Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 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
|
||||
@@ -627,7 +627,7 @@ typedef struct _ISCSI_KEY_VALUE_PAIR {
|
||||
} ISCSI_KEY_VALUE_PAIR;
|
||||
|
||||
/**
|
||||
Attach the iSCSI connection to the iSCSI session.
|
||||
Attach the iSCSI connection to the iSCSI session.
|
||||
|
||||
@param[in, out] Session The iSCSI session.
|
||||
@param[in, out] Conn The iSCSI connection.
|
||||
@@ -640,7 +640,7 @@ IScsiAttatchConnection (
|
||||
);
|
||||
|
||||
/**
|
||||
Detach the iSCSI connection from the session it belongs to.
|
||||
Detach the iSCSI connection from the session it belongs to.
|
||||
|
||||
@param[in, out] Conn The iSCSI connection.
|
||||
|
||||
@@ -658,7 +658,7 @@ IScsiDetatchConnection (
|
||||
|
||||
@retval EFI_SUCCESS The iSCSI connection is logged into the iSCSI target.
|
||||
@retval EFI_TIMEOUT Timeout occurred during the login procedure.
|
||||
@retval Others Other errors as indicated.
|
||||
@retval Others Other errors as indicated.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
@@ -743,7 +743,7 @@ IScsiSendLoginReq (
|
||||
Receive and process the iSCSI login response.
|
||||
|
||||
@param[in] Conn The connection in the iSCSI login phase.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The iSCSI login response PDU is received and processed.
|
||||
@retval Others Other errors as indicated.
|
||||
|
||||
@@ -815,7 +815,7 @@ IScsiProcessLoginRsp (
|
||||
@param[in] Data The data segment which should contain the
|
||||
TargetAddress key-value list.
|
||||
@param[in] Len Length of the data.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The target address is updated.
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate memory.
|
||||
@retval EFI_NOT_FOUND The TargetAddress key is not found.
|
||||
@@ -983,8 +983,8 @@ IScsiNormalizeName (
|
||||
@param[in] Lun The LUN.
|
||||
@param[in, out] Packet The request packet containing IO request, SCSI command
|
||||
buffer and buffers to read/write.
|
||||
|
||||
@retval EFI_SUCCES The SCSI command is executed and the result is updated to
|
||||
|
||||
@retval EFI_SUCCES The SCSI command is executed and the result is updated to
|
||||
the Packet.
|
||||
@retval EFI_DEVICE_ERROR Session state was not as required.
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate memory.
|
||||
@@ -1026,7 +1026,7 @@ IScsiSessionInit (
|
||||
IN OUT ISCSI_SESSION *Session,
|
||||
IN BOOLEAN Recovery
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Abort the iSCSI session, that is, reset all the connection and free the
|
||||
resources.
|
||||
|
Reference in New Issue
Block a user