\r
#include "Ip4Impl.h"\r
\r
-\r
/**\r
Return the cast type (Unicast/Broadcast) specific to an\r
interface. All the addresses are host byte ordered.\r
**/\r
INTN\r
Ip4GetNetCast (\r
- IN IP4_ADDR IpAddr,\r
- IN IP4_INTERFACE *IpIf\r
+ IN IP4_ADDR IpAddr,\r
+ IN IP4_INTERFACE *IpIf\r
)\r
{\r
if (IpAddr == IpIf->Ip) {\r
return IP4_LOCAL_HOST;\r
-\r
} else if (IpAddr == IpIf->SubnetBrdcast) {\r
return IP4_SUBNET_BROADCAST;\r
-\r
} else if (IpAddr == IpIf->NetBrdcast) {\r
return IP4_NET_BROADCAST;\r
-\r
}\r
\r
return 0;\r
}\r
\r
-\r
/**\r
Find the cast type of the packet related to the local host.\r
This isn't the same as link layer cast type. For example, DHCP\r
**/\r
INTN\r
Ip4GetHostCast (\r
- IN IP4_SERVICE *IpSb,\r
- IN IP4_ADDR Dst,\r
- IN IP4_ADDR Src\r
+ IN IP4_SERVICE *IpSb,\r
+ IN IP4_ADDR Dst,\r
+ IN IP4_ADDR Src\r
)\r
{\r
- LIST_ENTRY *Entry;\r
- IP4_INTERFACE *IpIf;\r
- INTN Type;\r
- INTN Class;\r
+ LIST_ENTRY *Entry;\r
+ IP4_INTERFACE *IpIf;\r
+ INTN Type;\r
+ INTN Class;\r
\r
Type = 0;\r
\r
if (Dst == IP4_ALLONE_ADDRESS) {\r
IpIf = Ip4FindNet (IpSb, Src);\r
\r
- if (IpIf != NULL && !IP4_IS_BROADCAST (Ip4GetNetCast (Src, IpIf))) {\r
+ if ((IpIf != NULL) && !IP4_IS_BROADCAST (Ip4GetNetCast (Src, IpIf))) {\r
return IP4_LOCAL_BROADCAST;\r
}\r
-\r
- } else if (IP4_IS_MULTICAST (Dst) && Ip4FindGroup (&IpSb->IgmpCtrl, Dst) != NULL) {\r
+ } else if (IP4_IS_MULTICAST (Dst) && (Ip4FindGroup (&IpSb->IgmpCtrl, Dst) != NULL)) {\r
return IP4_MULTICAST;\r
}\r
\r
return Type;\r
}\r
\r
-\r
/**\r
Find an interface whose configured IP address is Ip.\r
\r
**/\r
IP4_INTERFACE *\r
Ip4FindInterface (\r
- IN IP4_SERVICE *IpSb,\r
- IN IP4_ADDR Ip\r
+ IN IP4_SERVICE *IpSb,\r
+ IN IP4_ADDR Ip\r
)\r
{\r
- LIST_ENTRY *Entry;\r
- IP4_INTERFACE *IpIf;\r
+ LIST_ENTRY *Entry;\r
+ IP4_INTERFACE *IpIf;\r
\r
NET_LIST_FOR_EACH (Entry, &IpSb->Interfaces) {\r
IpIf = NET_LIST_USER_STRUCT (Entry, IP4_INTERFACE, Link);\r
return NULL;\r
}\r
\r
-\r
/**\r
Find an interface that Ip is on that connected network.\r
\r
**/\r
IP4_INTERFACE *\r
Ip4FindNet (\r
- IN IP4_SERVICE *IpSb,\r
- IN IP4_ADDR Ip\r
+ IN IP4_SERVICE *IpSb,\r
+ IN IP4_ADDR Ip\r
)\r
{\r
- LIST_ENTRY *Entry;\r
- IP4_INTERFACE *IpIf;\r
+ LIST_ENTRY *Entry;\r
+ IP4_INTERFACE *IpIf;\r
\r
NET_LIST_FOR_EACH (Entry, &IpSb->Interfaces) {\r
IpIf = NET_LIST_USER_STRUCT (Entry, IP4_INTERFACE, Link);\r
return NULL;\r
}\r
\r
-\r
/**\r
Find an interface of the service with the same Ip/Netmask pair.\r
\r
**/\r
IP4_INTERFACE *\r
Ip4FindStationAddress (\r
- IN IP4_SERVICE *IpSb,\r
- IN IP4_ADDR Ip,\r
- IN IP4_ADDR Netmask\r
+ IN IP4_SERVICE *IpSb,\r
+ IN IP4_ADDR Ip,\r
+ IN IP4_ADDR Netmask\r
)\r
{\r
- LIST_ENTRY *Entry;\r
- IP4_INTERFACE *IpIf;\r
+ LIST_ENTRY *Entry;\r
+ IP4_INTERFACE *IpIf;\r
\r
NET_LIST_FOR_EACH (Entry, &IpSb->Interfaces) {\r
IpIf = NET_LIST_USER_STRUCT (Entry, IP4_INTERFACE, Link);\r
return NULL;\r
}\r
\r
-\r
/**\r
Get the MAC address for a multicast IP address. Call\r
Mnp's McastIpToMac to find the MAC address in stead of\r
**/\r
EFI_STATUS\r
Ip4GetMulticastMac (\r
- IN EFI_MANAGED_NETWORK_PROTOCOL *Mnp,\r
- IN IP4_ADDR Multicast,\r
- OUT EFI_MAC_ADDRESS *Mac\r
+ IN EFI_MANAGED_NETWORK_PROTOCOL *Mnp,\r
+ IN IP4_ADDR Multicast,\r
+ OUT EFI_MAC_ADDRESS *Mac\r
)\r
{\r
- EFI_IP_ADDRESS EfiIp;\r
+ EFI_IP_ADDRESS EfiIp;\r
\r
EFI_IP4 (EfiIp.v4) = HTONL (Multicast);\r
return Mnp->McastIpToMac (Mnp, FALSE, &EfiIp, Mac);\r
}\r
\r
-\r
/**\r
Convert the multibyte field in IP header's byter order.\r
In spite of its name, it can also be used to convert from\r
**/\r
IP4_HEAD *\r
Ip4NtohHead (\r
- IN IP4_HEAD *Head\r
+ IN IP4_HEAD *Head\r
)\r
{\r
- Head->TotalLen = NTOHS (Head->TotalLen);\r
- Head->Id = NTOHS (Head->Id);\r
- Head->Fragment = NTOHS (Head->Fragment);\r
- Head->Src = NTOHL (Head->Src);\r
- Head->Dst = NTOHL (Head->Dst);\r
+ Head->TotalLen = NTOHS (Head->TotalLen);\r
+ Head->Id = NTOHS (Head->Id);\r
+ Head->Fragment = NTOHS (Head->Fragment);\r
+ Head->Src = NTOHL (Head->Src);\r
+ Head->Dst = NTOHL (Head->Dst);\r
\r
return Head;\r
}\r
\r
-\r
/**\r
Validate that Ip/Netmask pair is OK to be used as station\r
address. Only continuous netmasks are supported. and check\r
**/\r
BOOLEAN\r
Ip4StationAddressValid (\r
- IN IP4_ADDR Ip,\r
- IN IP4_ADDR Netmask\r
+ IN IP4_ADDR Ip,\r
+ IN IP4_ADDR Netmask\r
)\r
{\r
//\r
// Only support the station address with 0.0.0.0/0 to enable DHCP client.\r
//\r
if (Netmask == IP4_ALLZERO_ADDRESS) {\r
- return (BOOLEAN) (Ip == IP4_ALLZERO_ADDRESS);\r
+ return (BOOLEAN)(Ip == IP4_ALLZERO_ADDRESS);\r
}\r
\r
//\r