/** @file\r
Implement IP4 pesudo interface.\r
\r
-Copyright (c) 2005 - 2007, Intel Corporation.<BR>\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2005 - 2012, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
http://opensource.org/licenses/bsd-license.php\r
Ip4CancelFrameArp (\r
IN IP4_ARP_QUE *ArpQue,\r
IN EFI_STATUS IoStatus,\r
- IN IP4_FRAME_TO_CANCEL FrameToCancel, OPTIONAL\r
+ IN IP4_FRAME_TO_CANCEL FrameToCancel OPTIONAL,\r
IN VOID *Context\r
);\r
\r
IP4_LINK_TX_TOKEN *\r
Ip4WrapLinkTxToken (\r
IN IP4_INTERFACE *Interface,\r
- IN IP4_PROTOCOL *IpInstance, OPTIONAL\r
+ IN IP4_PROTOCOL *IpInstance OPTIONAL,\r
IN NET_BUF *Packet,\r
IN IP4_FRAME_CALLBACK CallBack,\r
IN VOID *Context\r
);\r
\r
if (EFI_ERROR (Status)) {\r
- gBS->FreePool (Token);\r
+ FreePool (Token);\r
return NULL;\r
}\r
\r
NET_CHECK_SIGNATURE (Token, IP4_FRAME_TX_SIGNATURE);\r
\r
gBS->CloseEvent (Token->MnpToken.Event);\r
- gBS->FreePool (Token);\r
+ FreePool (Token);\r
}\r
\r
\r
);\r
\r
if (EFI_ERROR (Status)) {\r
- gBS->FreePool (ArpQue);\r
+ FreePool (ArpQue);\r
return NULL;\r
}\r
\r
Ip4CancelFrameArp (ArpQue, IoStatus, NULL, NULL);\r
\r
gBS->CloseEvent (ArpQue->OnResolved);\r
- gBS->FreePool (ArpQue);\r
+ FreePool (ArpQue);\r
}\r
\r
\r
);\r
\r
if (EFI_ERROR (Status)) {\r
- gBS->FreePool (Token);\r
+ FreePool (Token);\r
return NULL;\r
}\r
\r
NET_CHECK_SIGNATURE (Token, IP4_FRAME_RX_SIGNATURE);\r
\r
gBS->CloseEvent (Token->MnpToken.Event);\r
- gBS->FreePool (Token);\r
+ FreePool (Token);\r
}\r
\r
\r
Ip4CancelFrameArp (\r
IN IP4_ARP_QUE *ArpQue,\r
IN EFI_STATUS IoStatus,\r
- IN IP4_FRAME_TO_CANCEL FrameToCancel, OPTIONAL\r
+ IN IP4_FRAME_TO_CANCEL FrameToCancel OPTIONAL,\r
IN VOID *Context\r
)\r
{\r
Ip4CancelFrames (\r
IN IP4_INTERFACE *Interface,\r
IN EFI_STATUS IoStatus,\r
- IN IP4_FRAME_TO_CANCEL FrameToCancel, OPTIONAL\r
+ IN IP4_FRAME_TO_CANCEL FrameToCancel OPTIONAL,\r
IN VOID *Context\r
)\r
{\r
// Get the interface's Mac address and broadcast mac address from SNP\r
//\r
if (EFI_ERROR (Mnp->GetModeData (Mnp, NULL, &SnpMode))) {\r
- gBS->FreePool (Interface);\r
+ FreePool (Interface);\r
return NULL;\r
}\r
\r
\r
Type = NetGetIpClass (IpAddr);\r
Len = NetGetMaskLength (SubnetMask);\r
- Netmask = gIp4AllMasks[MIN (Len, Type << 3)];\r
+ Netmask = gIp4AllMasks[MIN ((Len - 1), Type << 3)];\r
Interface->NetBrdcast = (IpAddr | ~Netmask);\r
\r
//\r
}\r
\r
//\r
- // Destory the interface if this is the last IP instance that\r
+ // Destroy the interface if this is the last IP instance that\r
// has the address. Remove all the system transmitted packets\r
// from this interface, cancel the receive request if there is\r
- // one, and destory the ARP requests.\r
+ // one, and destroy the ARP requests.\r
//\r
Ip4CancelFrames (Interface, EFI_ABORTED, Ip4CancelInstanceFrame, NULL);\r
Ip4CancelReceive (Interface);\r
}\r
\r
RemoveEntryList (&Interface->Link);\r
- gBS->FreePool (Interface);\r
+ FreePool (Interface);\r
\r
return EFI_SUCCESS;\r
}\r
//\r
// Request Ip4OnArpResolvedDpc as a DPC at TPL_CALLBACK\r
//\r
- NetLibQueueDpc (TPL_CALLBACK, Ip4OnArpResolvedDpc, Context);\r
+ QueueDpc (TPL_CALLBACK, Ip4OnArpResolvedDpc, Context);\r
}\r
\r
\r
//\r
// Request Ip4OnFrameSentDpc as a DPC at TPL_CALLBACK\r
//\r
- NetLibQueueDpc (TPL_CALLBACK, Ip4OnFrameSentDpc, Context);\r
+ QueueDpc (TPL_CALLBACK, Ip4OnFrameSentDpc, Context);\r
}\r
\r
\r
EFI_STATUS\r
Ip4SendFrame (\r
IN IP4_INTERFACE *Interface,\r
- IN IP4_PROTOCOL *IpInstance, OPTIONAL\r
+ IN IP4_PROTOCOL *IpInstance OPTIONAL,\r
IN NET_BUF *Packet,\r
IN IP4_ADDR NextHop,\r
IN IP4_FRAME_CALLBACK CallBack,\r
\r
**/\r
VOID\r
+EFIAPI\r
Ip4RecycleFrame (\r
IN VOID *Context\r
)\r
//\r
// Request Ip4OnFrameReceivedDpc as a DPC at TPL_CALLBACK\r
//\r
- NetLibQueueDpc (TPL_CALLBACK, Ip4OnFrameReceivedDpc, Context);\r
+ QueueDpc (TPL_CALLBACK, Ip4OnFrameReceivedDpc, Context);\r
}\r
\r
\r
EFI_STATUS\r
Ip4ReceiveFrame (\r
IN IP4_INTERFACE *Interface,\r
- IN IP4_PROTOCOL *IpInstance, OPTIONAL\r
+ IN IP4_PROTOCOL *IpInstance OPTIONAL,\r
IN IP4_FRAME_CALLBACK CallBack,\r
IN VOID *Context\r
)\r