\r
#include "Ip4Impl.h"\r
\r
-EFI_DRIVER_BINDING_PROTOCOL gIp4DriverBinding = {\r
+EFI_DRIVER_BINDING_PROTOCOL gIp4DriverBinding = {\r
Ip4DriverBindingSupported,\r
Ip4DriverBindingStart,\r
Ip4DriverBindingStop,\r
IN VOID *Context\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
+\r
//\r
// Test if protocol was even found.\r
// Notification function will be called at least once.\r
//\r
Status = gBS->LocateProtocol (&gEfiIpSec2ProtocolGuid, NULL, (VOID **)&mIpSec);\r
- if (Status == EFI_SUCCESS && mIpSec != NULL) {\r
+ if ((Status == EFI_SUCCESS) && (mIpSec != NULL)) {\r
//\r
// Close the event so it does not get called again.\r
//\r
EFI_STATUS\r
EFIAPI\r
Ip4DriverEntryPoint (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
- VOID *Registration;\r
+ VOID *Registration;\r
\r
EfiCreateProtocolNotifyEvent (\r
&gEfiIpSec2ProtocolGuid,\r
EFI_STATUS\r
EFIAPI\r
Ip4DriverBindingSupported (\r
- IN EFI_DRIVER_BINDING_PROTOCOL * This,\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
IN EFI_HANDLE ControllerHandle,\r
- IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
//\r
// Test for the MNP service binding Protocol\r
**/\r
EFI_STATUS\r
Ip4CleanService (\r
- IN IP4_SERVICE *IpSb\r
+ IN IP4_SERVICE *IpSb\r
);\r
\r
-\r
/**\r
Create a new IP4 driver service binding private instance.\r
\r
**/\r
EFI_STATUS\r
Ip4CreateService (\r
- IN EFI_HANDLE Controller,\r
- IN EFI_HANDLE ImageHandle,\r
- OUT IP4_SERVICE **Service\r
+ IN EFI_HANDLE Controller,\r
+ IN EFI_HANDLE ImageHandle,\r
+ OUT IP4_SERVICE **Service\r
)\r
{\r
- IP4_SERVICE *IpSb;\r
- EFI_STATUS Status;\r
+ IP4_SERVICE *IpSb;\r
+ EFI_STATUS Status;\r
\r
ASSERT (Service != NULL);\r
\r
IpSb->ServiceBinding.DestroyChild = Ip4ServiceBindingDestroyChild;\r
IpSb->State = IP4_SERVICE_UNSTARTED;\r
\r
- IpSb->NumChildren = 0;\r
+ IpSb->NumChildren = 0;\r
InitializeListHead (&IpSb->Children);\r
\r
InitializeListHead (&IpSb->Interfaces);\r
- IpSb->DefaultInterface = NULL;\r
- IpSb->DefaultRouteTable = NULL;\r
+ IpSb->DefaultInterface = NULL;\r
+ IpSb->DefaultRouteTable = NULL;\r
\r
Ip4InitAssembleTable (&IpSb->Assemble);\r
\r
- IpSb->IgmpCtrl.Igmpv1QuerySeen = 0;\r
+ IpSb->IgmpCtrl.Igmpv1QuerySeen = 0;\r
InitializeListHead (&IpSb->IgmpCtrl.Groups);\r
\r
- IpSb->Image = ImageHandle;\r
- IpSb->Controller = Controller;\r
+ IpSb->Image = ImageHandle;\r
+ IpSb->Controller = Controller;\r
\r
- IpSb->MnpChildHandle = NULL;\r
- IpSb->Mnp = NULL;\r
+ IpSb->MnpChildHandle = NULL;\r
+ IpSb->Mnp = NULL;\r
\r
IpSb->MnpConfigData.ReceivedQueueTimeoutValue = 0;\r
IpSb->MnpConfigData.TransmitQueueTimeoutValue = 0;\r
\r
ZeroMem (&IpSb->SnpMode, sizeof (EFI_SIMPLE_NETWORK_MODE));\r
\r
- IpSb->Timer = NULL;\r
+ IpSb->Timer = NULL;\r
IpSb->ReconfigCheckTimer = NULL;\r
\r
IpSb->ReconfigEvent = NULL;\r
Status = gBS->OpenProtocol (\r
IpSb->MnpChildHandle,\r
&gEfiManagedNetworkProtocolGuid,\r
- (VOID **) &IpSb->Mnp,\r
+ (VOID **)&IpSb->Mnp,\r
ImageHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
}\r
\r
IpSb->MacString = NULL;\r
- Status = NetLibGetMacString (IpSb->Controller, IpSb->Image, &IpSb->MacString);\r
+ Status = NetLibGetMacString (IpSb->Controller, IpSb->Image, &IpSb->MacString);\r
\r
if (EFI_ERROR (Status)) {\r
goto ON_ERROR;\r
//\r
IpSb->MaxPacketSize -= NET_VLAN_TAG_LEN;\r
}\r
+\r
IpSb->OldMaxPacketSize = IpSb->MaxPacketSize;\r
- *Service = IpSb;\r
+ *Service = IpSb;\r
\r
return EFI_SUCCESS;\r
\r
return Status;\r
}\r
\r
-\r
/**\r
Clean up a IP4 service binding instance. It will release all\r
the resource allocated by the instance. The instance may be\r
**/\r
EFI_STATUS\r
Ip4CleanService (\r
- IN IP4_SERVICE *IpSb\r
+ IN IP4_SERVICE *IpSb\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
- IpSb->State = IP4_SERVICE_DESTROY;\r
+ IpSb->State = IP4_SERVICE_DESTROY;\r
\r
if (IpSb->Timer != NULL) {\r
gBS->SetTimer (IpSb->Timer, TimerCancel, 0);\r
EFI_STATUS\r
EFIAPI\r
Ip4DestroyChildEntryInHandleBuffer (\r
- IN LIST_ENTRY *Entry,\r
- IN VOID *Context\r
+ IN LIST_ENTRY *Entry,\r
+ IN VOID *Context\r
)\r
{\r
IP4_PROTOCOL *IpInstance;\r
UINTN NumberOfChildren;\r
EFI_HANDLE *ChildHandleBuffer;\r
\r
- if (Entry == NULL || Context == NULL) {\r
+ if ((Entry == NULL) || (Context == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- IpInstance = NET_LIST_USER_STRUCT_S (Entry, IP4_PROTOCOL, Link, IP4_PROTOCOL_SIGNATURE);\r
- ServiceBinding = ((IP4_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT *) Context)->ServiceBinding;\r
- NumberOfChildren = ((IP4_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT *) Context)->NumberOfChildren;\r
- ChildHandleBuffer = ((IP4_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT *) Context)->ChildHandleBuffer;\r
+ IpInstance = NET_LIST_USER_STRUCT_S (Entry, IP4_PROTOCOL, Link, IP4_PROTOCOL_SIGNATURE);\r
+ ServiceBinding = ((IP4_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT *)Context)->ServiceBinding;\r
+ NumberOfChildren = ((IP4_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT *)Context)->NumberOfChildren;\r
+ ChildHandleBuffer = ((IP4_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT *)Context)->ChildHandleBuffer;\r
\r
if (!NetIsInHandleBuffer (IpInstance->Handle, NumberOfChildren, ChildHandleBuffer)) {\r
return EFI_SUCCESS;\r
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- IP4_SERVICE *IpSb;\r
- EFI_IP4_CONFIG2_PROTOCOL *Ip4Cfg2;\r
- UINTN Index;\r
- IP4_CONFIG2_DATA_ITEM *DataItem;\r
+ EFI_STATUS Status;\r
+ IP4_SERVICE *IpSb;\r
+ EFI_IP4_CONFIG2_PROTOCOL *Ip4Cfg2;\r
+ UINTN Index;\r
+ IP4_CONFIG2_DATA_ITEM *DataItem;\r
\r
IpSb = NULL;\r
Ip4Cfg2 = NULL;\r
\r
ASSERT (IpSb != NULL);\r
\r
- Ip4Cfg2 = &IpSb->Ip4Config2Instance.Ip4Config2;\r
+ Ip4Cfg2 = &IpSb->Ip4Config2Instance.Ip4Config2;\r
\r
//\r
- // Install the Ip4ServiceBinding Protocol onto ControlerHandle\r
+ // Install the Ip4ServiceBinding Protocol onto ControllerHandle\r
//\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&ControllerHandle,\r
DataItem->DataSize,\r
DataItem->Data.Ptr\r
);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
goto UNINSTALL_PROTOCOL;\r
}\r
\r
- if (Index == Ip4Config2DataTypePolicy && (*(DataItem->Data.Policy) == Ip4Config2PolicyDhcp)) {\r
+ if ((Index == Ip4Config2DataTypePolicy) && (*(DataItem->Data.Policy) == Ip4Config2PolicyDhcp)) {\r
break;\r
}\r
}\r
//\r
Status = Ip4ReceiveFrame (IpSb->DefaultInterface, NULL, Ip4AccpetFrame, IpSb);\r
\r
- if (EFI_ERROR (Status) && Status != EFI_ALREADY_STARTED) {\r
+ if (EFI_ERROR (Status) && (Status != EFI_ALREADY_STARTED)) {\r
goto UNINSTALL_PROTOCOL;\r
}\r
\r
return Status;\r
}\r
\r
-\r
/**\r
Stop this driver on ControllerHandle. This service is called by the\r
EFI boot service DisconnectController(). In order to\r
IP4_INTERFACE *IpIf;\r
IP4_ROUTE_TABLE *RouteTable;\r
\r
- BOOLEAN IsDhcp4;\r
+ BOOLEAN IsDhcp4;\r
\r
- IsDhcp4 = FALSE;\r
+ IsDhcp4 = FALSE;\r
\r
NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiManagedNetworkProtocolGuid);\r
if (NicHandle == NULL) {\r
Status = gBS->OpenProtocol (\r
NicHandle,\r
&gEfiIp4ServiceBindingProtocolGuid,\r
- (VOID **) &ServiceBinding,\r
+ (VOID **)&ServiceBinding,\r
This->DriverBindingHandle,\r
NicHandle,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
gBS->CloseEvent (IpSb->Ip4Config2Instance.Dhcp4Event);\r
IpSb->Ip4Config2Instance.Dhcp4Event = NULL;\r
} else if (NumberOfChildren != 0) {\r
- List = &IpSb->Children;\r
+ List = &IpSb->Children;\r
Context.ServiceBinding = ServiceBinding;\r
Context.NumberOfChildren = NumberOfChildren;\r
Context.ChildHandleBuffer = ChildHandleBuffer;\r
- Status = NetDestroyLinkList (\r
- List,\r
- Ip4DestroyChildEntryInHandleBuffer,\r
- &Context,\r
- NULL\r
- );\r
+ Status = NetDestroyLinkList (\r
+ List,\r
+ Ip4DestroyChildEntryInHandleBuffer,\r
+ &Context,\r
+ NULL\r
+ );\r
} else if (IpSb->DefaultInterface->ArpHandle == ControllerHandle) {\r
-\r
//\r
// The ARP protocol for the default interface is being uninstalled and all\r
// its IP child handles should have been destroyed before. So, release the\r
if (IpIf == NULL) {\r
goto ON_ERROR;\r
}\r
+\r
RouteTable = Ip4CreateRouteTable ();\r
if (RouteTable == NULL) {\r
Ip4FreeInterface (IpIf, NULL);\r
- goto ON_ERROR;;\r
+ goto ON_ERROR;\r
}\r
\r
- IpSb->DefaultInterface = IpIf;\r
+ IpSb->DefaultInterface = IpIf;\r
InsertHeadList (&IpSb->Interfaces, &IpIf->Link);\r
IpSb->DefaultRouteTable = RouteTable;\r
Ip4ReceiveFrame (IpIf, NULL, Ip4AccpetFrame, IpSb);\r
\r
IpSb->State = IP4_SERVICE_UNSTARTED;\r
-\r
} else if (IsListEmpty (&IpSb->Children)) {\r
- State = IpSb->State;\r
+ State = IpSb->State;\r
//\r
// OK, clean other resources then uninstall the service binding protocol.\r
//\r
FreeUnicodeStringTable (gIp4ControllerNameTable);\r
gIp4ControllerNameTable = NULL;\r
}\r
+\r
FreePool (IpSb);\r
}\r
\r
return Status;\r
}\r
\r
-\r
/**\r
Creates a child handle and installs a protocol.\r
\r
then a new handle is created. If it is a pointer to an existing UEFI handle,\r
then the protocol is added to the existing UEFI handle.\r
\r
- @retval EFI_SUCCES The protocol was added to ChildHandle.\r
+ @retval EFI_SUCCESS The protocol was added to ChildHandle.\r
@retval EFI_INVALID_PARAMETER ChildHandle is NULL.\r
@retval EFI_OUT_OF_RESOURCES There are not enough resources available to create\r
the child\r
IN OUT EFI_HANDLE *ChildHandle\r
)\r
{\r
- IP4_SERVICE *IpSb;\r
- IP4_PROTOCOL *IpInstance;\r
- EFI_TPL OldTpl;\r
- EFI_STATUS Status;\r
- VOID *Mnp;\r
+ IP4_SERVICE *IpSb;\r
+ IP4_PROTOCOL *IpInstance;\r
+ EFI_TPL OldTpl;\r
+ EFI_STATUS Status;\r
+ VOID *Mnp;\r
\r
if ((This == NULL) || (ChildHandle == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
Status = gBS->OpenProtocol (\r
IpSb->MnpChildHandle,\r
&gEfiManagedNetworkProtocolGuid,\r
- (VOID **) &Mnp,\r
+ (VOID **)&Mnp,\r
gIp4DriverBinding.DriverBindingHandle,\r
IpInstance->Handle,\r
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
ON_ERROR:\r
\r
if (EFI_ERROR (Status)) {\r
-\r
Ip4CleanProtocol (IpInstance);\r
\r
FreePool (IpInstance);\r
return Status;\r
}\r
\r
-\r
/**\r
Destroys a child handle with a protocol installed on it.\r
\r
@param This Pointer to the EFI_SERVICE_BINDING_PROTOCOL instance.\r
@param ChildHandle Handle of the child to destroy\r
\r
- @retval EFI_SUCCES The protocol was removed from ChildHandle.\r
+ @retval EFI_SUCCESS The protocol was removed from ChildHandle.\r
@retval EFI_UNSUPPORTED ChildHandle does not support the protocol that is being removed.\r
@retval EFI_INVALID_PARAMETER Child handle is NULL.\r
@retval EFI_ACCESS_DENIED The protocol could not be removed from the ChildHandle\r
IN EFI_HANDLE ChildHandle\r
)\r
{\r
- EFI_STATUS Status;\r
- IP4_SERVICE *IpSb;\r
- IP4_PROTOCOL *IpInstance;\r
- EFI_IP4_PROTOCOL *Ip4;\r
- EFI_TPL OldTpl;\r
+ EFI_STATUS Status;\r
+ IP4_SERVICE *IpSb;\r
+ IP4_PROTOCOL *IpInstance;\r
+ EFI_IP4_PROTOCOL *Ip4;\r
+ EFI_TPL OldTpl;\r
\r
if ((This == NULL) || (ChildHandle == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
//\r
// Retrieve the private context data structures\r
//\r
- IpSb = IP4_SERVICE_FROM_PROTOCOL (This);\r
+ IpSb = IP4_SERVICE_FROM_PROTOCOL (This);\r
\r
Status = gBS->OpenProtocol (\r
ChildHandle,\r
&gEfiIp4ProtocolGuid,\r
- (VOID **) &Ip4,\r
+ (VOID **)&Ip4,\r
gIp4DriverBinding.DriverBindingHandle,\r
ChildHandle,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
ChildHandle\r
);\r
\r
- if (IpInstance->Interface != NULL && IpInstance->Interface->Arp != NULL) {\r
+ if ((IpInstance->Interface != NULL) && (IpInstance->Interface->Arp != NULL)) {\r
gBS->CloseProtocol (\r
IpInstance->Interface->ArpHandle,\r
&gEfiArpProtocolGuid,\r
// Uninstall the IP4 protocol first. Many thing happens during\r
// this:\r
// 1. The consumer of the IP4 protocol will be stopped if it\r
- // opens the protocol BY_DRIVER. For eaxmple, if MNP driver is\r
+ // opens the protocol BY_DRIVER. For example, if MNP driver is\r
// stopped, IP driver's stop function will be called, and uninstall\r
// EFI_IP4_PROTOCOL will trigger the UDP's stop function. This\r
// makes it possible to create the network stack bottom up, and\r
// stop it top down.\r
// 2. the upper layer will recycle the received packet. The recycle\r
// event's TPL is higher than this function. The recycle events\r
- // will be called back before preceeding. If any packets not recycled,\r
+ // will be called back before preceding. If any packets not recycled,\r
// that means there is a resource leak.\r
//\r
gBS->RestoreTPL (OldTpl);\r