\r
#include "IScsiImpl.h"\r
\r
-\r
/**\r
Extract the Root Path option and get the required target information.\r
\r
IScsiDhcpExtractRootPath (\r
IN CHAR8 *RootPath,\r
IN UINT8 Length,\r
- IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA *ConfigData\r
+ IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA *ConfigData\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT8 IScsiRootPathIdLen;\r
- CHAR8 *TmpStr;\r
- ISCSI_ROOT_PATH_FIELD Fields[RP_FIELD_IDX_MAX];\r
- ISCSI_ROOT_PATH_FIELD *Field;\r
- UINT32 FieldIndex;\r
- UINT8 Index;\r
- ISCSI_SESSION_CONFIG_NVDATA *ConfigNvData;\r
- EFI_IP_ADDRESS Ip;\r
- UINT8 IpMode;\r
+ EFI_STATUS Status;\r
+ UINT8 IScsiRootPathIdLen;\r
+ CHAR8 *TmpStr;\r
+ ISCSI_ROOT_PATH_FIELD Fields[RP_FIELD_IDX_MAX];\r
+ ISCSI_ROOT_PATH_FIELD *Field;\r
+ UINT32 FieldIndex;\r
+ UINT8 Index;\r
+ ISCSI_SESSION_CONFIG_NVDATA *ConfigNvData;\r
+ EFI_IP_ADDRESS Ip;\r
+ UINT8 IpMode;\r
\r
ConfigNvData = &ConfigData->SessionConfigData;\r
\r
//\r
// "iscsi:"<servername>":"<protocol>":"<port>":"<LUN>":"<targetname>\r
//\r
- IScsiRootPathIdLen = (UINT8) AsciiStrLen (ISCSI_ROOT_PATH_ID);\r
+ IScsiRootPathIdLen = (UINT8)AsciiStrLen (ISCSI_ROOT_PATH_ID);\r
\r
if ((Length <= IScsiRootPathIdLen) || (CompareMem (RootPath, ISCSI_ROOT_PATH_ID, IScsiRootPathIdLen) != 0)) {\r
return EFI_NOT_FOUND;\r
}\r
+\r
//\r
// Skip the iSCSI RootPath ID "iscsi:".\r
//\r
RootPath += IScsiRootPathIdLen;\r
- Length = (UINT8) (Length - IScsiRootPathIdLen);\r
+ Length = (UINT8)(Length - IScsiRootPathIdLen);\r
\r
- TmpStr = (CHAR8 *) AllocatePool (Length + 1);\r
+ TmpStr = (CHAR8 *)AllocatePool (Length + 1);\r
if (TmpStr == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
CopyMem (TmpStr, RootPath, Length);\r
- TmpStr[Length] = '\0';\r
+ TmpStr[Length] = '\0';\r
\r
- Index = 0;\r
- FieldIndex = RP_FIELD_IDX_SERVERNAME;\r
+ Index = 0;\r
+ FieldIndex = RP_FIELD_IDX_SERVERNAME;\r
ZeroMem (&Fields[0], sizeof (Fields));\r
\r
//\r
}\r
\r
if (Fields[FieldIndex].Str != NULL) {\r
- Fields[FieldIndex].Len = (UINT8) AsciiStrLen (Fields[FieldIndex].Str);\r
+ Fields[FieldIndex].Len = (UINT8)AsciiStrLen (Fields[FieldIndex].Str);\r
}\r
}\r
}\r
if ((Fields[RP_FIELD_IDX_SERVERNAME].Str == NULL) ||\r
(Fields[RP_FIELD_IDX_TARGETNAME].Str == NULL) ||\r
(Fields[RP_FIELD_IDX_PROTOCOL].Len > 1)\r
- ) {\r
-\r
+ )\r
+ {\r
Status = EFI_INVALID_PARAMETER;\r
goto ON_EXIT;\r
}\r
+\r
//\r
// Get the IP address of the target.\r
//\r
- Field = &Fields[RP_FIELD_IDX_SERVERNAME];\r
+ Field = &Fields[RP_FIELD_IDX_SERVERNAME];\r
\r
if (ConfigNvData->IpMode < IP_MODE_AUTOCONFIG) {\r
IpMode = ConfigNvData->IpMode;\r
if ((Field->Len + 2) > sizeof (ConfigNvData->TargetUrl)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
CopyMem (&ConfigNvData->TargetUrl, Field->Str, Field->Len);\r
ConfigNvData->TargetUrl[Field->Len + 1] = '\0';\r
} else {\r
ConfigNvData->DnsMode = FALSE;\r
- ZeroMem(ConfigNvData->TargetUrl, sizeof (ConfigNvData->TargetUrl));\r
+ ZeroMem (ConfigNvData->TargetUrl, sizeof (ConfigNvData->TargetUrl));\r
Status = IScsiAsciiStrToIp (Field->Str, IpMode, &Ip);\r
CopyMem (&ConfigNvData->TargetIp, &Ip, sizeof (EFI_IP_ADDRESS));\r
\r
goto ON_EXIT;\r
}\r
}\r
+\r
//\r
// Check the protocol type.\r
//\r
Status = EFI_INVALID_PARAMETER;\r
goto ON_EXIT;\r
}\r
+\r
//\r
// Get the port of the iSCSI target.\r
//\r
Field = &Fields[RP_FIELD_IDX_PORT];\r
if (Field->Str != NULL) {\r
- ConfigNvData->TargetPort = (UINT16) AsciiStrDecimalToUintn (Field->Str);\r
+ ConfigNvData->TargetPort = (UINT16)AsciiStrDecimalToUintn (Field->Str);\r
} else {\r
ConfigNvData->TargetPort = ISCSI_WELL_KNOWN_PORT;\r
}\r
+\r
//\r
// Get the LUN.\r
//\r
} else {\r
ZeroMem (ConfigNvData->BootLun, sizeof (ConfigNvData->BootLun));\r
}\r
+\r
//\r
// Get the target iSCSI Name.\r
//\r
Status = EFI_INVALID_PARAMETER;\r
goto ON_EXIT;\r
}\r
+\r
//\r
// Validate the iSCSI name.\r
//\r
OUT EFI_DHCP4_PACKET **NewPacket OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT32 OptionCount;\r
- EFI_DHCP4_PACKET_OPTION **OptionList;\r
- UINT32 Index;\r
+ EFI_STATUS Status;\r
+ UINT32 OptionCount;\r
+ EFI_DHCP4_PACKET_OPTION **OptionList;\r
+ UINT32 Index;\r
\r
if ((Dhcp4Event != Dhcp4RcvdOffer) && (Dhcp4Event != Dhcp4SelectOffer)) {\r
return EFI_SUCCESS;\r
\r
OptionCount = 0;\r
\r
- Status = This->Parse (This, Packet, &OptionCount, NULL);\r
+ Status = This->Parse (This, Packet, &OptionCount, NULL);\r
if (Status != EFI_BUFFER_TOO_SMALL) {\r
return EFI_NOT_READY;\r
}\r
}\r
\r
Status = IScsiDhcpExtractRootPath (\r
- (CHAR8 *) &OptionList[Index]->Data[0],\r
+ (CHAR8 *)&OptionList[Index]->Data[0],\r
OptionList[Index]->Length,\r
- (ISCSI_ATTEMPT_CONFIG_NVDATA *) Context\r
+ (ISCSI_ATTEMPT_CONFIG_NVDATA *)Context\r
);\r
\r
break;\r
**/\r
EFI_STATUS\r
IScsiParseDhcpAck (\r
- IN EFI_DHCP4_PROTOCOL *Dhcp4,\r
- IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA *ConfigData\r
+ IN EFI_DHCP4_PROTOCOL *Dhcp4,\r
+ IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA *ConfigData\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_DHCP4_MODE_DATA Dhcp4ModeData;\r
- UINT32 OptionCount;\r
- EFI_DHCP4_PACKET_OPTION **OptionList;\r
- UINT32 Index;\r
- ISCSI_SESSION_CONFIG_NVDATA *NvData;\r
+ EFI_STATUS Status;\r
+ EFI_DHCP4_MODE_DATA Dhcp4ModeData;\r
+ UINT32 OptionCount;\r
+ EFI_DHCP4_PACKET_OPTION **OptionList;\r
+ UINT32 Index;\r
+ ISCSI_SESSION_CONFIG_NVDATA *NvData;\r
\r
Status = Dhcp4->GetModeData (Dhcp4, &Dhcp4ModeData);\r
if (EFI_ERROR (Status)) {\r
OptionCount = 0;\r
OptionList = NULL;\r
\r
- Status = Dhcp4->Parse (Dhcp4, Dhcp4ModeData.ReplyPacket, &OptionCount, OptionList);\r
+ Status = Dhcp4->Parse (Dhcp4, Dhcp4ModeData.ReplyPacket, &OptionCount, OptionList);\r
if (Status != EFI_BUFFER_TOO_SMALL) {\r
return EFI_DEVICE_ERROR;\r
}\r
// Get DNS server addresses and DHCP server address from this offer.\r
//\r
if (OptionList[Index]->OpCode == DHCP4_TAG_DNS_SERVER) {\r
-\r
if (((OptionList[Index]->Length & 0x3) != 0) || (OptionList[Index]->Length == 0)) {\r
Status = EFI_INVALID_PARAMETER;\r
break;\r
}\r
+\r
//\r
// Primary DNS server address.\r
//\r
**/\r
EFI_STATUS\r
IScsiSetIp4Policy (\r
- IN EFI_IP4_CONFIG2_PROTOCOL *Ip4Config2\r
+ IN EFI_IP4_CONFIG2_PROTOCOL *Ip4Config2\r
)\r
{\r
- EFI_IP4_CONFIG2_POLICY Policy;\r
- EFI_STATUS Status;\r
- UINTN DataSize;\r
+ EFI_IP4_CONFIG2_POLICY Policy;\r
+ EFI_STATUS Status;\r
+ UINTN DataSize;\r
\r
DataSize = sizeof (EFI_IP4_CONFIG2_POLICY);\r
- Status = Ip4Config2->GetData (\r
- Ip4Config2,\r
- Ip4Config2DataTypePolicy,\r
- &DataSize,\r
- &Policy\r
- );\r
+ Status = Ip4Config2->GetData (\r
+ Ip4Config2,\r
+ Ip4Config2DataTypePolicy,\r
+ &DataSize,\r
+ &Policy\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
if (Policy != Ip4Config2PolicyStatic) {\r
Policy = Ip4Config2PolicyStatic;\r
- Status= Ip4Config2->SetData (\r
- Ip4Config2,\r
- Ip4Config2DataTypePolicy,\r
- sizeof (EFI_IP4_CONFIG2_POLICY),\r
- &Policy\r
- );\r
+ Status = Ip4Config2->SetData (\r
+ Ip4Config2,\r
+ Ip4Config2DataTypePolicy,\r
+ sizeof (EFI_IP4_CONFIG2_POLICY),\r
+ &Policy\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
**/\r
EFI_STATUS\r
IScsiDoDhcp (\r
- IN EFI_HANDLE Image,\r
- IN EFI_HANDLE Controller,\r
- IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA *ConfigData\r
+ IN EFI_HANDLE Image,\r
+ IN EFI_HANDLE Controller,\r
+ IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA *ConfigData\r
)\r
{\r
- EFI_HANDLE Dhcp4Handle;\r
- EFI_IP4_CONFIG2_PROTOCOL *Ip4Config2;\r
- EFI_DHCP4_PROTOCOL *Dhcp4;\r
- EFI_STATUS Status;\r
- EFI_DHCP4_PACKET_OPTION *ParaList;\r
- EFI_DHCP4_CONFIG_DATA Dhcp4ConfigData;\r
- ISCSI_SESSION_CONFIG_NVDATA *NvData;\r
- EFI_STATUS MediaStatus;\r
+ EFI_HANDLE Dhcp4Handle;\r
+ EFI_IP4_CONFIG2_PROTOCOL *Ip4Config2;\r
+ EFI_DHCP4_PROTOCOL *Dhcp4;\r
+ EFI_STATUS Status;\r
+ EFI_DHCP4_PACKET_OPTION *ParaList;\r
+ EFI_DHCP4_CONFIG_DATA Dhcp4ConfigData;\r
+ ISCSI_SESSION_CONFIG_NVDATA *NvData;\r
+ EFI_STATUS MediaStatus;\r
\r
Dhcp4Handle = NULL;\r
Ip4Config2 = NULL;\r
//\r
MediaStatus = EFI_SUCCESS;\r
NetLibDetectMediaWaitTimeout (Controller, ISCSI_CHECK_MEDIA_GET_DHCP_WAITING_TIME, &MediaStatus);\r
- if (MediaStatus!= EFI_SUCCESS) {\r
+ if (MediaStatus != EFI_SUCCESS) {\r
AsciiPrint ("\n Error: Could not detect network connection.\n");\r
return EFI_NO_MEDIA;\r
}\r
// will not be in the right state for the iSCSI to start a new round D.O.R.A.\r
// So, we need to switch its policy to static.\r
//\r
- Status = gBS->HandleProtocol (Controller, &gEfiIp4Config2ProtocolGuid, (VOID **) &Ip4Config2);\r
+ Status = gBS->HandleProtocol (Controller, &gEfiIp4Config2ProtocolGuid, (VOID **)&Ip4Config2);\r
if (!EFI_ERROR (Status)) {\r
Status = IScsiSetIp4Policy (Ip4Config2);\r
if (EFI_ERROR (Status)) {\r
Status = gBS->OpenProtocol (\r
Dhcp4Handle,\r
&gEfiDhcp4ProtocolGuid,\r
- (VOID **) &Dhcp4,\r
+ (VOID **)&Dhcp4,\r
Image,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
goto ON_EXIT;\r
}\r
\r
- NvData = &ConfigData->SessionConfigData;\r
+ NvData = &ConfigData->SessionConfigData;\r
\r
ParaList = AllocatePool (sizeof (EFI_DHCP4_PACKET_OPTION) + 3);\r
if (ParaList == NULL) {\r
// Ask the server to reply with Netmask, Router, DNS, and RootPath options.\r
//\r
ParaList->OpCode = DHCP4_TAG_PARA_LIST;\r
- ParaList->Length = (UINT8) (NvData->TargetInfoFromDhcp ? 4 : 3);\r
+ ParaList->Length = (UINT8)(NvData->TargetInfoFromDhcp ? 4 : 3);\r
ParaList->Data[0] = DHCP4_TAG_NETMASK;\r
ParaList->Data[1] = DHCP4_TAG_ROUTER;\r
ParaList->Data[2] = DHCP4_TAG_DNS_SERVER;\r
if (EFI_ERROR (Status)) {\r
goto ON_EXIT;\r
}\r
+\r
//\r
// Parse the ACK to get required information.\r
//\r