\r
#include "Ip6Impl.h"\r
\r
-LIST_ENTRY mIp6ConfigInstanceList = {&mIp6ConfigInstanceList, &mIp6ConfigInstanceList};\r
+LIST_ENTRY mIp6ConfigInstanceList = { &mIp6ConfigInstanceList, &mIp6ConfigInstanceList };\r
\r
/**\r
The event process routine when the DHCPv6 service binding protocol is installed\r
IN EFI_IP6_CONFIG_POLICY NewPolicy\r
)\r
{\r
- LIST_ENTRY *Entry;\r
- LIST_ENTRY *Entry2;\r
- LIST_ENTRY *Next;\r
- IP6_INTERFACE *IpIf;\r
- IP6_DAD_ENTRY *DadEntry;\r
- IP6_DELAY_JOIN_LIST *DelayNode;\r
- IP6_ADDRESS_INFO *AddrInfo;\r
- IP6_PROTOCOL *Instance;\r
- BOOLEAN Recovery;\r
+ LIST_ENTRY *Entry;\r
+ LIST_ENTRY *Entry2;\r
+ LIST_ENTRY *Next;\r
+ IP6_INTERFACE *IpIf;\r
+ IP6_DAD_ENTRY *DadEntry;\r
+ IP6_DELAY_JOIN_LIST *DelayNode;\r
+ IP6_ADDRESS_INFO *AddrInfo;\r
+ IP6_PROTOCOL *Instance;\r
+ BOOLEAN Recovery;\r
\r
Recovery = FALSE;\r
\r
Ip6CreatePrefixListEntry (\r
IpSb,\r
TRUE,\r
- (UINT32) IP6_INFINIT_LIFETIME,\r
- (UINT32) IP6_INFINIT_LIFETIME,\r
+ (UINT32)IP6_INFINIT_LIFETIME,\r
+ (UINT32)IP6_INFINIT_LIFETIME,\r
IP6_LINK_LOCAL_PREFIX_LENGTH,\r
&IpSb->LinkLocalAddr\r
);\r
}\r
\r
- if (!IsListEmpty (&IpSb->DefaultInterface->AddressList) && IpSb->DefaultInterface->AddressCount > 0) {\r
+ if (!IsListEmpty (&IpSb->DefaultInterface->AddressList) && (IpSb->DefaultInterface->AddressCount > 0)) {\r
//\r
// If any IPv6 children (Instance) in configured state and use global unicast address, it will be\r
// destroyed in Ip6RemoveAddr() function later. Then, the upper layer driver's Stop() function will be\r
0\r
);\r
\r
- if (IpSb->Controller != NULL && Recovery) {\r
+ if ((IpSb->Controller != NULL) && Recovery) {\r
//\r
// ConnectController() to recover the upper layer network stacks.\r
//\r
}\r
}\r
\r
-\r
NET_LIST_FOR_EACH (Entry, &IpSb->Interfaces) {\r
//\r
// remove all pending delay node and DAD entries for the global addresses.\r
//\r
// delay 1 second\r
//\r
- IpSb->Ticks = (UINT32) IP6_GET_TICKS (IP6_ONE_SECOND_IN_MS);\r
+ IpSb->Ticks = (UINT32)IP6_GET_TICKS (IP6_ONE_SECOND_IN_MS);\r
}\r
}\r
\r
&gEfiDhcp6ServiceBindingProtocolGuid,\r
TPL_CALLBACK,\r
Ip6ConfigOnDhcp6SbInstalled,\r
- (VOID *) Instance,\r
+ (VOID *)Instance,\r
&Instance->Registration\r
);\r
}\r
Status = gBS->OpenProtocol (\r
Instance->Dhcp6Handle,\r
&gEfiDhcp6ProtocolGuid,\r
- (VOID **) &Instance->Dhcp6,\r
+ (VOID **)&Instance->Dhcp6,\r
IpSb->Image,\r
IpSb->Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
// Set the exta options to send. Here we only want the option request option\r
// with DNS SERVERS.\r
//\r
- Oro = (EFI_DHCP6_PACKET_OPTION *) OptBuf;\r
- Oro->OpCode = HTONS (DHCP6_OPT_ORO);\r
- Oro->OpLen = HTONS (2);\r
- *((UINT16 *) &Oro->Data[0]) = HTONS (DHCP6_OPT_DNS_SERVERS);\r
- OptList[0] = Oro;\r
+ Oro = (EFI_DHCP6_PACKET_OPTION *)OptBuf;\r
+ Oro->OpCode = HTONS (DHCP6_OPT_ORO);\r
+ Oro->OpLen = HTONS (2);\r
+ *((UINT16 *)&Oro->Data[0]) = HTONS (DHCP6_OPT_DNS_SERVERS);\r
+ OptList[0] = Oro;\r
\r
- Status = EFI_SUCCESS;\r
+ Status = EFI_SUCCESS;\r
\r
if (!OtherInfoOnly) {\r
//\r
Status = Dhcp6->Configure (Dhcp6, &Dhcp6CfgData);\r
\r
if (!EFI_ERROR (Status)) {\r
-\r
if (IpSb->LinkLocalOk) {\r
Status = Dhcp6->Start (Dhcp6);\r
} else {\r
IpSb->Dhcp6NeedStart = TRUE;\r
}\r
-\r
}\r
} else {\r
//\r
} else {\r
IpSb->Dhcp6NeedInfoRequest = TRUE;\r
}\r
-\r
}\r
\r
return Status;\r
EFI_STATUS\r
EFIAPI\r
Ip6ConfigSignalEvent (\r
- IN NET_MAP *Map,\r
- IN NET_MAP_ITEM *Item,\r
- IN VOID *Arg\r
+ IN NET_MAP *Map,\r
+ IN NET_MAP_ITEM *Item,\r
+ IN VOID *Arg\r
)\r
{\r
- gBS->SignalEvent ((EFI_EVENT) Item->Key);\r
+ gBS->SignalEvent ((EFI_EVENT)Item->Key);\r
\r
return EFI_SUCCESS;\r
}\r
&VarSize,\r
Variable\r
);\r
- if (EFI_ERROR (Status) || (UINT16) (~NetblockChecksum ((UINT8 *) Variable, (UINT32) VarSize)) != 0) {\r
+ if (EFI_ERROR (Status) || ((UINT16)(~NetblockChecksum ((UINT8 *)Variable, (UINT32)VarSize)) != 0)) {\r
//\r
// GetVariable error or the variable is corrupted.\r
//\r
Instance->IaId = Variable->IaId;\r
\r
for (Index = 0; Index < Variable->DataRecordCount; Index++) {\r
-\r
CopyMem (&DataRecord, &Variable->DataRecord[Index], sizeof (DataRecord));\r
\r
DataItem = &Instance->DataItem[DataRecord.DataType];\r
if (DATA_ATTRIB_SET (DataItem->Attribute, DATA_ATTRIB_SIZE_FIXED) &&\r
(DataItem->DataSize != DataRecord.DataSize)\r
- ) {\r
+ )\r
+ {\r
//\r
// Perhaps a corrupted data record...\r
//\r
}\r
}\r
\r
- Data = (CHAR8 *) Variable + DataRecord.Offset;\r
+ Data = (CHAR8 *)Variable + DataRecord.Offset;\r
CopyMem (DataItem->Data.Ptr, Data, DataRecord.DataSize);\r
\r
DataItem->DataSize = DataRecord.DataSize;\r
VarSize = sizeof (IP6_CONFIG_VARIABLE) - sizeof (IP6_CONFIG_DATA_RECORD);\r
\r
for (Index = 0; Index < Ip6ConfigDataTypeMaximum; Index++) {\r
-\r
DataItem = &Instance->DataItem[Index];\r
if (!DATA_ATTRIB_SET (DataItem->Attribute, DATA_ATTRIB_VOLATILE) && !EFI_ERROR (DataItem->Status)) {\r
-\r
VarSize += sizeof (IP6_CONFIG_DATA_RECORD) + DataItem->DataSize;\r
}\r
}\r
}\r
\r
Variable->IaId = Instance->IaId;\r
- Heap = (CHAR8 *) Variable + VarSize;\r
+ Heap = (CHAR8 *)Variable + VarSize;\r
Variable->DataRecordCount = 0;\r
\r
for (Index = 0; Index < Ip6ConfigDataTypeMaximum; Index++) {\r
-\r
DataItem = &Instance->DataItem[Index];\r
if (!DATA_ATTRIB_SET (DataItem->Attribute, DATA_ATTRIB_VOLATILE) && !EFI_ERROR (DataItem->Status)) {\r
-\r
Heap -= DataItem->DataSize;\r
CopyMem (Heap, DataItem->Data.Ptr, DataItem->DataSize);\r
\r
DataRecord = &Variable->DataRecord[Variable->DataRecordCount];\r
- DataRecord->DataType = (EFI_IP6_CONFIG_DATA_TYPE) Index;\r
- DataRecord->DataSize = (UINT32) DataItem->DataSize;\r
- DataRecord->Offset = (UINT16) (Heap - (CHAR8 *) Variable);\r
+ DataRecord->DataType = (EFI_IP6_CONFIG_DATA_TYPE)Index;\r
+ DataRecord->DataSize = (UINT32)DataItem->DataSize;\r
+ DataRecord->Offset = (UINT16)(Heap - (CHAR8 *)Variable);\r
\r
Variable->DataRecordCount++;\r
}\r
}\r
\r
Variable->Checksum = 0;\r
- Variable->Checksum = (UINT16) ~NetblockChecksum ((UINT8 *) Variable, (UINT32) VarSize);\r
+ Variable->Checksum = (UINT16) ~NetblockChecksum ((UINT8 *)Variable, (UINT32)VarSize);\r
\r
Status = gRT->SetVariable (\r
VarName,\r
//\r
// Copy the fixed size part of the interface info.\r
//\r
- Item = &Instance->DataItem[Ip6ConfigDataTypeInterfaceInfo];\r
- IfInfo = (EFI_IP6_CONFIG_INTERFACE_INFO *) Data;\r
+ Item = &Instance->DataItem[Ip6ConfigDataTypeInterfaceInfo];\r
+ IfInfo = (EFI_IP6_CONFIG_INTERFACE_INFO *)Data;\r
CopyMem (IfInfo, Item->Data.Ptr, sizeof (EFI_IP6_CONFIG_INTERFACE_INFO));\r
\r
//\r
// AddressInfo\r
//\r
- IfInfo->AddressInfo = (EFI_IP6_ADDRESS_INFO *) (IfInfo + 1);\r
+ IfInfo->AddressInfo = (EFI_IP6_ADDRESS_INFO *)(IfInfo + 1);\r
Ip6BuildEfiAddressList (IpSb, &IfInfo->AddressInfoCount, &IfInfo->AddressInfo);\r
\r
//\r
// RouteTable\r
//\r
- IfInfo->RouteTable = (EFI_IP6_ROUTE_TABLE *) (IfInfo->AddressInfo + IfInfo->AddressInfoCount);\r
+ IfInfo->RouteTable = (EFI_IP6_ROUTE_TABLE *)(IfInfo->AddressInfo + IfInfo->AddressInfoCount);\r
Ip6BuildEfiRouteTable (IpSb->RouteTable, &IfInfo->RouteCount, &IfInfo->RouteTable);\r
\r
if (IfInfo->AddressInfoCount == 0) {\r
\r
DataItem = &Instance->DataItem[Ip6ConfigDataTypeAltInterfaceId];\r
OldIfId = DataItem->Data.AltIfId;\r
- NewIfId = (EFI_IP6_CONFIG_INTERFACE_ID *) Data;\r
+ NewIfId = (EFI_IP6_CONFIG_INTERFACE_ID *)Data;\r
\r
CopyMem (OldIfId, NewIfId, DataSize);\r
DataItem->Status = EFI_SUCCESS;\r
return EFI_BAD_BUFFER_SIZE;\r
}\r
\r
- NewPolicy = *((EFI_IP6_CONFIG_POLICY *) Data);\r
+ NewPolicy = *((EFI_IP6_CONFIG_POLICY *)Data);\r
\r
if (NewPolicy > Ip6ConfigPolicyAutomatic) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
if (NewPolicy == Instance->Policy) {\r
-\r
return EFI_ABORTED;\r
} else {\r
//\r
// Clean the ManualAddress, Gateway and DnsServers, shrink the variable\r
// data size, and fire up all the related events.\r
//\r
- DataItem = &Instance->DataItem[Ip6ConfigDataTypeManualAddress];\r
+ DataItem = &Instance->DataItem[Ip6ConfigDataTypeManualAddress];\r
if (DataItem->Data.Ptr != NULL) {\r
FreePool (DataItem->Data.Ptr);\r
}\r
+\r
DataItem->Data.Ptr = NULL;\r
DataItem->DataSize = 0;\r
DataItem->Status = EFI_NOT_FOUND;\r
NetMapIterate (&DataItem->EventMap, Ip6ConfigSignalEvent, NULL);\r
\r
- DataItem = &Instance->DataItem[Ip6ConfigDataTypeGateway];\r
+ DataItem = &Instance->DataItem[Ip6ConfigDataTypeGateway];\r
if (DataItem->Data.Ptr != NULL) {\r
FreePool (DataItem->Data.Ptr);\r
}\r
+\r
DataItem->Data.Ptr = NULL;\r
DataItem->DataSize = 0;\r
DataItem->Status = EFI_NOT_FOUND;\r
\r
OldDadXmits = Instance->DataItem[Ip6ConfigDataTypeDupAddrDetectTransmits].Data.DadXmits;\r
\r
- if ((*(UINT32 *) Data) == OldDadXmits->DupAddrDetectTransmits) {\r
-\r
+ if ((*(UINT32 *)Data) == OldDadXmits->DupAddrDetectTransmits) {\r
return EFI_ABORTED;\r
} else {\r
-\r
- OldDadXmits->DupAddrDetectTransmits = *((UINT32 *) Data);\r
+ OldDadXmits->DupAddrDetectTransmits = *((UINT32 *)Data);\r
return EFI_SUCCESS;\r
}\r
}\r
UINTN DadFailCount;\r
IP6_SERVICE *IpSb;\r
\r
- Instance = (IP6_CONFIG_INSTANCE *) Context;\r
+ Instance = (IP6_CONFIG_INSTANCE *)Context;\r
NET_CHECK_SIGNATURE (Instance, IP6_CONFIG_INSTANCE_SIGNATURE);\r
Item = &Instance->DataItem[Ip6ConfigDataTypeManualAddress];\r
ManualAddr = NULL;\r
// Part of addresses are detected to be duplicates, so update the\r
// data with those passed.\r
//\r
- PassedAddr = (EFI_IP6_CONFIG_MANUAL_ADDRESS *) AllocatePool (Item->DataSize);\r
+ PassedAddr = (EFI_IP6_CONFIG_MANUAL_ADDRESS *)AllocatePool (Item->DataSize);\r
ASSERT (PassedAddr != NULL);\r
\r
Item->Data.Ptr = PassedAddr;\r
Item->Status = EFI_SUCCESS;\r
\r
while (!NetMapIsEmpty (&Instance->DadPassedMap)) {\r
- ManualAddr = (EFI_IP6_CONFIG_MANUAL_ADDRESS *) NetMapRemoveHead (&Instance->DadPassedMap, NULL);\r
+ ManualAddr = (EFI_IP6_CONFIG_MANUAL_ADDRESS *)NetMapRemoveHead (&Instance->DadPassedMap, NULL);\r
CopyMem (PassedAddr, ManualAddr, sizeof (EFI_IP6_CONFIG_MANUAL_ADDRESS));\r
\r
PassedAddr++;\r
}\r
\r
- ASSERT ((UINTN) PassedAddr - (UINTN) Item->Data.Ptr == Item->DataSize);\r
+ ASSERT ((UINTN)PassedAddr - (UINTN)Item->Data.Ptr == Item->DataSize);\r
}\r
} else {\r
//\r
\r
DataItem = &Instance->DataItem[Ip6ConfigDataTypeManualAddress];\r
\r
- if (Data != NULL && DataSize != 0) {\r
+ if ((Data != NULL) && (DataSize != 0)) {\r
NewAddressCount = DataSize / sizeof (EFI_IP6_CONFIG_MANUAL_ADDRESS);\r
- NewAddress = (EFI_IP6_CONFIG_MANUAL_ADDRESS *) Data;\r
+ NewAddress = (EFI_IP6_CONFIG_MANUAL_ADDRESS *)Data;\r
\r
for (Index1 = 0; Index1 < NewAddressCount; Index1++, NewAddress++) {\r
-\r
if (NetIp6IsLinkLocalAddr (&NewAddress->Address) ||\r
!NetIp6IsValidUnicast (&NewAddress->Address) ||\r
(NewAddress->PrefixLength > 128)\r
- ) {\r
+ )\r
+ {\r
//\r
// make sure the IPv6 address is unicast and not link-local address &&\r
// the prefix length is valid.\r
// Any two addresses in the array can't be equal.\r
//\r
if (EFI_IP6_EQUAL (&TmpAddress->Address, &NewAddress->Address)) {\r
-\r
return EFI_INVALID_PARAMETER;\r
}\r
}\r
NET_LIST_FOR_EACH (Entry2, &IpIf->AddressList) {\r
CurrentAddrInfo = NET_LIST_USER_STRUCT_S (Entry2, IP6_ADDRESS_INFO, Link, IP6_ADDR_INFO_SIGNATURE);\r
\r
- Copy = AllocateCopyPool (sizeof (IP6_ADDRESS_INFO), CurrentAddrInfo);\r
+ Copy = AllocateCopyPool (sizeof (IP6_ADDRESS_INFO), CurrentAddrInfo);\r
if (Copy == NULL) {\r
break;\r
}\r
if (DataItem->Data.Ptr != NULL) {\r
FreePool (DataItem->Data.Ptr);\r
}\r
+\r
DataItem->Data.Ptr = NewAddress;\r
DataItem->DataSize = DataSize;\r
DataItem->Status = EFI_NOT_READY;\r
//\r
// Trigger DAD, it's an asynchronous process.\r
//\r
- IsUpdated = FALSE;\r
+ IsUpdated = FALSE;\r
\r
for (Index1 = 0; Index1 < NewAddressCount; Index1++, NewAddress++) {\r
if (Ip6IsOneOfSetAddress (IpSb, &NewAddress->Address, NULL, &CurrentAddrInfo)) {\r
// Save the prefix length.\r
//\r
CurrentAddrInfo->PrefixLength = NewAddress->PrefixLength;\r
- IsUpdated = TRUE;\r
+ IsUpdated = TRUE;\r
}\r
\r
//\r
Ip6CreatePrefixListEntry (\r
IpSb,\r
TRUE,\r
- (UINT32) IP6_INFINIT_LIFETIME,\r
- (UINT32) IP6_INFINIT_LIFETIME,\r
+ (UINT32)IP6_INFINIT_LIFETIME,\r
+ (UINT32)IP6_INFINIT_LIFETIME,\r
NewAddress->PrefixLength,\r
&NewAddress->Address\r
);\r
&NewAddress->Address,\r
NewAddress->IsAnycast,\r
NewAddress->PrefixLength,\r
- (UINT32) IP6_INFINIT_LIFETIME,\r
- (UINT32) IP6_INFINIT_LIFETIME,\r
+ (UINT32)IP6_INFINIT_LIFETIME,\r
+ (UINT32)IP6_INFINIT_LIFETIME,\r
Ip6ManualAddrDadCallback,\r
Instance\r
);\r
if (DataItem->Data.Ptr != NULL) {\r
FreePool (DataItem->Data.Ptr);\r
}\r
+\r
DataItem->Data.Ptr = NULL;\r
DataItem->DataSize = 0;\r
DataItem->Status = EFI_NOT_FOUND;\r
Ip6CreatePrefixListEntry (\r
IpSb,\r
TRUE,\r
- (UINT32) IP6_INFINIT_LIFETIME,\r
- (UINT32) IP6_INFINIT_LIFETIME,\r
+ (UINT32)IP6_INFINIT_LIFETIME,\r
+ (UINT32)IP6_INFINIT_LIFETIME,\r
IP6_LINK_LOCAL_PREFIX_LENGTH,\r
&IpSb->LinkLocalAddr\r
);\r
IP6_DEFAULT_ROUTER *DefaultRouter;\r
VOID *Tmp;\r
\r
- OldGateway = NULL;\r
- NewGateway = NULL;\r
- Item = NULL;\r
- DefaultRouter = NULL;\r
- Tmp = NULL;\r
- OneRemoved = FALSE;\r
- OneAdded = FALSE;\r
+ OldGateway = NULL;\r
+ NewGateway = NULL;\r
+ Item = NULL;\r
+ DefaultRouter = NULL;\r
+ Tmp = NULL;\r
+ OneRemoved = FALSE;\r
+ OneAdded = FALSE;\r
\r
if ((DataSize != 0) && (DataSize % sizeof (EFI_IPv6_ADDRESS) != 0)) {\r
return EFI_BAD_BUFFER_SIZE;\r
}\r
}\r
\r
- if (Data != NULL && DataSize != 0) {\r
- NewGateway = (EFI_IPv6_ADDRESS *) Data;\r
+ if ((Data != NULL) && (DataSize != 0)) {\r
+ NewGateway = (EFI_IPv6_ADDRESS *)Data;\r
NewGatewayCount = DataSize / sizeof (EFI_IPv6_ADDRESS);\r
for (Index1 = 0; Index1 < NewGatewayCount; Index1++) {\r
-\r
if (!NetIp6IsValidUnicast (NewGateway + Index1)) {\r
-\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
}\r
\r
for (Index1 = 0; Index1 < NewGatewayCount; Index1++) {\r
-\r
DefaultRouter = Ip6FindDefaultRouter (IpSb, NewGateway + Index1);\r
if (DefaultRouter == NULL) {\r
Ip6CreateDefaultRouter (IpSb, NewGateway + Index1, IP6_INF_ROUTER_LIFETIME);\r
Item->Status = EFI_SUCCESS;\r
return EFI_ABORTED;\r
} else {\r
-\r
if (Tmp != NULL) {\r
if (Item->Data.Ptr != NULL) {\r
FreePool (Item->Data.Ptr);\r
}\r
+\r
Item->Data.Ptr = Tmp;\r
}\r
\r
if (Item->Data.Ptr != NULL) {\r
FreePool (Item->Data.Ptr);\r
}\r
+\r
Item->Data.Ptr = NULL;\r
Item->DataSize = 0;\r
Item->Status = EFI_NOT_FOUND;\r
\r
Item = &Instance->DataItem[Ip6ConfigDataTypeDnsServer];\r
\r
- if (Data != NULL && DataSize != 0) {\r
- NewDns = (EFI_IPv6_ADDRESS *) Data;\r
+ if ((Data != NULL) && (DataSize != 0)) {\r
+ NewDns = (EFI_IPv6_ADDRESS *)Data;\r
OldDns = Item->Data.DnsServers;\r
NewDnsCount = DataSize / sizeof (EFI_IPv6_ADDRESS);\r
OldDnsCount = Item->DataSize / sizeof (EFI_IPv6_ADDRESS);\r
}\r
\r
for (NewIndex = 0; NewIndex < NewDnsCount; NewIndex++) {\r
-\r
if (!NetIp6IsValidUnicast (NewDns + NewIndex)) {\r
//\r
// The dns server address must be unicast.\r
if (Tmp != NULL) {\r
FreePool (Tmp);\r
}\r
+\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
if (Item->Data.Ptr != NULL) {\r
FreePool (Item->Data.Ptr);\r
}\r
+\r
Item->Data.Ptr = Tmp;\r
}\r
\r
Item->DataSize = DataSize;\r
Item->Status = EFI_SUCCESS;\r
}\r
- } else {\r
+ } else {\r
//\r
// DataSize is 0 and Data is NULL, clean up the DnsServer address.\r
//\r
if (Item->Data.Ptr != NULL) {\r
FreePool (Item->Data.Ptr);\r
}\r
+\r
Item->Data.Ptr = NULL;\r
Item->DataSize = 0;\r
Item->Status = EFI_NOT_FOUND;\r
sizeof (IfInfo->Name),\r
L"eth%d",\r
IpSb->Ip6ConfigInstance.IfIndex\r
- );\r
+ );\r
\r
IfInfo->IfType = IpSb->SnpMode.IfType;\r
IfInfo->HwAddressSize = IpSb->SnpMode.HwAddressSize;\r
**/\r
EFI_STATUS\r
Ip6ConfigParseDhcpReply (\r
- IN EFI_DHCP6_PROTOCOL *Dhcp6,\r
- IN OUT IP6_CONFIG_INSTANCE *Instance,\r
- IN EFI_DHCP6_PACKET *Reply\r
+ IN EFI_DHCP6_PROTOCOL *Dhcp6,\r
+ IN OUT IP6_CONFIG_INSTANCE *Instance,\r
+ IN EFI_DHCP6_PACKET *Reply\r
)\r
{\r
EFI_STATUS Status;\r
//\r
// Validate the DnsServers: whether they are unicast addresses.\r
//\r
- DnsServer = (EFI_IPv6_ADDRESS *) OptList[Index]->Data;\r
+ DnsServer = (EFI_IPv6_ADDRESS *)OptList[Index]->Data;\r
for (Index2 = 0; Index2 < Length / sizeof (EFI_IPv6_ADDRESS); Index2++) {\r
if (!NetIp6IsValidUnicast (DnsServer)) {\r
Status = EFI_NOT_READY;\r
{\r
IP6_CONFIG_INSTANCE *Instance;\r
\r
- Instance = (IP6_CONFIG_INSTANCE *) Context;\r
+ Instance = (IP6_CONFIG_INSTANCE *)Context;\r
NET_CHECK_SIGNATURE (Instance, IP6_CONFIG_INSTANCE_SIGNATURE);\r
\r
//\r
if (Instance->DeclineAddress != NULL) {\r
FreePool (Instance->DeclineAddress);\r
}\r
+\r
Instance->DeclineAddress = NULL;\r
Instance->DeclineAddressCount = 0;\r
}\r
IN VOID *Context\r
)\r
{\r
- IP6_CONFIG_INSTANCE *Instance;\r
- EFI_DHCP6_PROTOCOL *Dhcp6;\r
- EFI_STATUS Status;\r
- EFI_DHCP6_MODE_DATA Dhcp6ModeData;\r
- EFI_DHCP6_IA *Ia;\r
- EFI_DHCP6_IA_ADDRESS *IaAddr;\r
- UINT32 Index;\r
- IP6_SERVICE *IpSb;\r
- IP6_ADDRESS_INFO *AddrInfo;\r
- IP6_INTERFACE *IpIf;\r
+ IP6_CONFIG_INSTANCE *Instance;\r
+ EFI_DHCP6_PROTOCOL *Dhcp6;\r
+ EFI_STATUS Status;\r
+ EFI_DHCP6_MODE_DATA Dhcp6ModeData;\r
+ EFI_DHCP6_IA *Ia;\r
+ EFI_DHCP6_IA_ADDRESS *IaAddr;\r
+ UINT32 Index;\r
+ IP6_SERVICE *IpSb;\r
+ IP6_ADDRESS_INFO *AddrInfo;\r
+ IP6_INTERFACE *IpIf;\r
\r
- Instance = (IP6_CONFIG_INSTANCE *) Context;\r
+ Instance = (IP6_CONFIG_INSTANCE *)Context;\r
\r
if ((Instance->Policy != Ip6ConfigPolicyAutomatic) || Instance->OtherInfoOnly) {\r
//\r
// IPv6 is not operating in the automatic policy now or\r
// the DHCPv6 information request message exchange is aborted.\r
//\r
- return ;\r
+ return;\r
}\r
\r
//\r
\r
Status = Dhcp6->GetModeData (Dhcp6, &Dhcp6ModeData, NULL);\r
if (EFI_ERROR (Status)) {\r
- return ;\r
+ return;\r
}\r
\r
IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);\r
FreePool (Instance->DeclineAddress);\r
}\r
\r
- Instance->DeclineAddress = (EFI_IPv6_ADDRESS *) AllocatePool (Ia->IaAddressCount * sizeof (EFI_IPv6_ADDRESS));\r
+ Instance->DeclineAddress = (EFI_IPv6_ADDRESS *)AllocatePool (Ia->IaAddressCount * sizeof (EFI_IPv6_ADDRESS));\r
if (Instance->DeclineAddress == NULL) {\r
goto ON_EXIT;\r
}\r
\r
Instance->FailedIaAddressCount = Ia->IaAddressCount;\r
- Instance->DeclineAddressCount = 0;\r
+ Instance->DeclineAddressCount = 0;\r
\r
for (Index = 0; Index < Ia->IaAddressCount; Index++, IaAddr++) {\r
- if (Ia->IaAddress[Index].ValidLifetime != 0 && Ia->State == Dhcp6Bound) {\r
+ if ((Ia->IaAddress[Index].ValidLifetime != 0) && (Ia->State == Dhcp6Bound)) {\r
//\r
// Set this address, either it's a new address or with updated lifetimes.\r
// An appropriate prefix length will be set.\r
IN EFI_DHCP6_PACKET *Packet\r
)\r
{\r
- return Ip6ConfigParseDhcpReply (This, (IP6_CONFIG_INSTANCE *) Context, Packet);\r
+ return Ip6ConfigParseDhcpReply (This, (IP6_CONFIG_INSTANCE *)Context, Packet);\r
}\r
\r
/**\r
{\r
IP6_CONFIG_INSTANCE *Instance;\r
\r
- Instance = (IP6_CONFIG_INSTANCE *) Context;\r
+ Instance = (IP6_CONFIG_INSTANCE *)Context;\r
\r
if ((Instance->Dhcp6Handle != NULL) || (Instance->Policy != Ip6ConfigPolicyAutomatic)) {\r
//\r
// The DHCP6 child is already created or the policy is no longer AUTOMATIC.\r
//\r
- return ;\r
+ return;\r
}\r
\r
Ip6ConfigStartStatefulAutoConfig (Instance, Instance->OtherInfoOnly);\r
EFI_STATUS\r
EFIAPI\r
EfiIp6ConfigSetData (\r
- IN EFI_IP6_CONFIG_PROTOCOL *This,\r
- IN EFI_IP6_CONFIG_DATA_TYPE DataType,\r
- IN UINTN DataSize,\r
- IN VOID *Data\r
+ IN EFI_IP6_CONFIG_PROTOCOL *This,\r
+ IN EFI_IP6_CONFIG_DATA_TYPE DataType,\r
+ IN UINTN DataSize,\r
+ IN VOID *Data\r
)\r
{\r
EFI_TPL OldTpl;\r
IP6_CONFIG_INSTANCE *Instance;\r
IP6_SERVICE *IpSb;\r
\r
- if ((This == NULL) || (Data == NULL && DataSize != 0) || (Data != NULL && DataSize == 0)) {\r
+ if ((This == NULL) || ((Data == NULL) && (DataSize != 0)) || ((Data != NULL) && (DataSize == 0))) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
\r
Status = Instance->DataItem[DataType].Status;\r
if (Status != EFI_NOT_READY) {\r
-\r
if (Instance->DataItem[DataType].SetData == NULL) {\r
//\r
// This type of data is readonly.\r
//\r
Status = EFI_WRITE_PROTECTED;\r
} else {\r
-\r
Status = Instance->DataItem[DataType].SetData (Instance, DataSize, Data);\r
if (!EFI_ERROR (Status)) {\r
//\r
EFI_STATUS\r
EFIAPI\r
EfiIp6ConfigGetData (\r
- IN EFI_IP6_CONFIG_PROTOCOL *This,\r
- IN EFI_IP6_CONFIG_DATA_TYPE DataType,\r
- IN OUT UINTN *DataSize,\r
- IN VOID *Data OPTIONAL\r
+ IN EFI_IP6_CONFIG_PROTOCOL *This,\r
+ IN EFI_IP6_CONFIG_DATA_TYPE DataType,\r
+ IN OUT UINTN *DataSize,\r
+ IN VOID *Data OPTIONAL\r
)\r
{\r
EFI_TPL OldTpl;\r
Instance = IP6_CONFIG_INSTANCE_FROM_PROTOCOL (This);\r
DataItem = &Instance->DataItem[DataType];\r
\r
- Status = Instance->DataItem[DataType].Status;\r
+ Status = Instance->DataItem[DataType].Status;\r
if (!EFI_ERROR (Status)) {\r
-\r
if (DataItem->GetData != NULL) {\r
-\r
Status = DataItem->GetData (Instance, DataSize, Data);\r
} else if (*DataSize < Instance->DataItem[DataType].DataSize) {\r
//\r
*DataSize = Instance->DataItem[DataType].DataSize;\r
Status = EFI_BUFFER_TOO_SMALL;\r
} else {\r
-\r
*DataSize = Instance->DataItem[DataType].DataSize;\r
CopyMem (Data, Instance->DataItem[DataType].Data.Ptr, *DataSize);\r
}\r
EFI_STATUS\r
EFIAPI\r
EfiIp6ConfigRegisterDataNotify (\r
- IN EFI_IP6_CONFIG_PROTOCOL *This,\r
- IN EFI_IP6_CONFIG_DATA_TYPE DataType,\r
- IN EFI_EVENT Event\r
+ IN EFI_IP6_CONFIG_PROTOCOL *This,\r
+ IN EFI_IP6_CONFIG_DATA_TYPE DataType,\r
+ IN EFI_EVENT Event\r
)\r
{\r
EFI_TPL OldTpl;\r
return EFI_UNSUPPORTED;\r
}\r
\r
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
+ OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
\r
- Instance = IP6_CONFIG_INSTANCE_FROM_PROTOCOL (This);\r
- EventMap = &Instance->DataItem[DataType].EventMap;\r
+ Instance = IP6_CONFIG_INSTANCE_FROM_PROTOCOL (This);\r
+ EventMap = &Instance->DataItem[DataType].EventMap;\r
\r
//\r
// Check whether this event is already registered for this DataType.\r
//\r
Item = NetMapFindKey (EventMap, Event);\r
if (Item == NULL) {\r
-\r
Status = NetMapInsertTail (EventMap, Event, NULL);\r
\r
if (EFI_ERROR (Status)) {\r
-\r
Status = EFI_OUT_OF_RESOURCES;\r
}\r
-\r
} else {\r
-\r
Status = EFI_ACCESS_DENIED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
EfiIp6ConfigUnregisterDataNotify (\r
- IN EFI_IP6_CONFIG_PROTOCOL *This,\r
- IN EFI_IP6_CONFIG_DATA_TYPE DataType,\r
- IN EFI_EVENT Event\r
+ IN EFI_IP6_CONFIG_PROTOCOL *This,\r
+ IN EFI_IP6_CONFIG_DATA_TYPE DataType,\r
+ IN EFI_EVENT Event\r
)\r
{\r
EFI_TPL OldTpl;\r
\r
Item = NetMapFindKey (&Instance->DataItem[DataType].EventMap, Event);\r
if (Item != NULL) {\r
-\r
NetMapRemoveItem (&Instance->DataItem[DataType].EventMap, Item, NULL);\r
Status = EFI_SUCCESS;\r
} else {\r
-\r
Status = EFI_NOT_FOUND;\r
}\r
\r
Instance->Policy = Ip6ConfigPolicyManual;\r
SET_DATA_ATTRIB (DataItem->Attribute, DATA_ATTRIB_SIZE_FIXED);\r
\r
- DataItem = &Instance->DataItem[Ip6ConfigDataTypeDupAddrDetectTransmits];\r
- DataItem->SetData = Ip6ConfigSetDadXmits;\r
- DataItem->Data.Ptr = &Instance->DadXmits;\r
- DataItem->DataSize = sizeof (Instance->DadXmits);\r
+ DataItem = &Instance->DataItem[Ip6ConfigDataTypeDupAddrDetectTransmits];\r
+ DataItem->SetData = Ip6ConfigSetDadXmits;\r
+ DataItem->Data.Ptr = &Instance->DadXmits;\r
+ DataItem->DataSize = sizeof (Instance->DadXmits);\r
Instance->DadXmits.DupAddrDetectTransmits = IP6_CONFIG_DEFAULT_DAD_XMITS;\r
SET_DATA_ATTRIB (DataItem->Attribute, DATA_ATTRIB_SIZE_FIXED);\r
\r
- DataItem = &Instance->DataItem[Ip6ConfigDataTypeManualAddress];\r
- DataItem->SetData = Ip6ConfigSetManualAddress;\r
- DataItem->Status = EFI_NOT_FOUND;\r
+ DataItem = &Instance->DataItem[Ip6ConfigDataTypeManualAddress];\r
+ DataItem->SetData = Ip6ConfigSetManualAddress;\r
+ DataItem->Status = EFI_NOT_FOUND;\r
\r
- DataItem = &Instance->DataItem[Ip6ConfigDataTypeGateway];\r
- DataItem->SetData = Ip6ConfigSetGateway;\r
- DataItem->Status = EFI_NOT_FOUND;\r
+ DataItem = &Instance->DataItem[Ip6ConfigDataTypeGateway];\r
+ DataItem->SetData = Ip6ConfigSetGateway;\r
+ DataItem->Status = EFI_NOT_FOUND;\r
\r
- DataItem = &Instance->DataItem[Ip6ConfigDataTypeDnsServer];\r
- DataItem->SetData = Ip6ConfigSetDnsServer;\r
- DataItem->Status = EFI_NOT_FOUND;\r
+ DataItem = &Instance->DataItem[Ip6ConfigDataTypeDnsServer];\r
+ DataItem->SetData = Ip6ConfigSetDnsServer;\r
+ DataItem->Status = EFI_NOT_FOUND;\r
\r
//\r
// Create the event used for DHCP.\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
- Instance->Configured = TRUE;\r
+ Instance->Configured = TRUE;\r
\r
//\r
// Try to read the config data from NV variable.\r
Instance->Ip6Config.RegisterDataNotify = EfiIp6ConfigRegisterDataNotify;\r
Instance->Ip6Config.UnregisterDataNotify = EfiIp6ConfigUnregisterDataNotify;\r
\r
-\r
//\r
// Publish the IP6 configuration form\r
//\r
}\r
\r
if (!Instance->Configured) {\r
- return ;\r
+ return;\r
}\r
\r
if (Instance->Dhcp6Handle != NULL) {\r
-\r
Ip6ConfigDestroyDhcp6 (Instance);\r
}\r
\r
NetMapClean (&Instance->DadFailedMap);\r
\r
for (Index = 0; Index < Ip6ConfigDataTypeMaximum; Index++) {\r
-\r
DataItem = &Instance->DataItem[Index];\r
\r
if (!DATA_ATTRIB_SET (DataItem->Attribute, DATA_ATTRIB_SIZE_FIXED)) {\r
if (DataItem->Data.Ptr != NULL) {\r
FreePool (DataItem->Data.Ptr);\r
}\r
+\r
DataItem->Data.Ptr = NULL;\r
DataItem->DataSize = 0;\r
}\r
IN OUT IP6_CONFIG_INSTANCE *Instance\r
)\r
{\r
- IP6_SERVICE *IpSb;\r
- EFI_STATUS Status;\r
- EFI_DHCP6_PROTOCOL *Dhcp6;\r
+ IP6_SERVICE *IpSb;\r
+ EFI_STATUS Status;\r
+ EFI_DHCP6_PROTOCOL *Dhcp6;\r
\r
Dhcp6 = Instance->Dhcp6;\r
ASSERT (Dhcp6 != NULL);\r
\r
return Status;\r
}\r
-\r