#include <Library/PrintLib.h>\r
#include <Library/UefiLib.h>\r
\r
-#define NIC_ITEM_CONFIG_SIZE (sizeof (NIC_IP4_CONFIG_INFO) + sizeof (EFI_IP4_ROUTE_TABLE) * MAX_IP4_CONFIG_IN_VARIABLE)\r
-#define DEFAULT_ZERO_START ((UINTN) ~0)\r
+#define NIC_ITEM_CONFIG_SIZE (sizeof (NIC_IP4_CONFIG_INFO) + sizeof (EFI_IP4_ROUTE_TABLE) * MAX_IP4_CONFIG_IN_VARIABLE)\r
+#define DEFAULT_ZERO_START ((UINTN) ~0)\r
\r
//\r
-// All the supported IP4 maskes in host byte order.\r
+// All the supported IP4 masks in host byte order.\r
//\r
GLOBAL_REMOVE_IF_UNREFERENCED IP4_ADDR gIp4AllMasks[IP4_MASK_NUM] = {\r
0x00000000,\r
0xFFFFFFFF,\r
};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_IPv4_ADDRESS mZeroIp4Addr = {{0, 0, 0, 0}};\r
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_IPv4_ADDRESS mZeroIp4Addr = {\r
+ { 0, 0, 0, 0 }\r
+};\r
\r
//\r
// Any error level digitally larger than mNetDebugLevelMax\r
// will be silently discarded.\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINTN mNetDebugLevelMax = NETDEBUG_LEVEL_ERROR;\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mSyslogPacketSeq = 0xDEADBEEF;\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINTN mNetDebugLevelMax = NETDEBUG_LEVEL_ERROR;\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mSyslogPacketSeq = 0xDEADBEEF;\r
\r
//\r
// You can change mSyslogDstMac mSyslogDstIp and mSyslogSrcIp\r
// here to direct the syslog packets to the syslog deamon. The\r
// default is broadcast to both the ethernet and IP.\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINT8 mSyslogDstMac[NET_ETHER_ADDR_LEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mSyslogDstIp = 0xffffffff;\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mSyslogSrcIp = 0;\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT8 mSyslogDstMac[NET_ETHER_ADDR_LEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mSyslogDstIp = 0xffffffff;\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mSyslogSrcIp = 0;\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 *mMonthName[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 *mMonthName[] = {\r
"Jan",\r
"Feb",\r
"Mar",\r
//\r
// VLAN device path node template\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED VLAN_DEVICE_PATH mNetVlanDevicePathTemplate = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED VLAN_DEVICE_PATH mNetVlanDevicePathTemplate = {\r
{\r
MESSAGING_DEVICE_PATH,\r
MSG_VLAN_DP,\r
{\r
- (UINT8) (sizeof (VLAN_DEVICE_PATH)),\r
- (UINT8) ((sizeof (VLAN_DEVICE_PATH)) >> 8)\r
+ (UINT8)(sizeof (VLAN_DEVICE_PATH)),\r
+ (UINT8)((sizeof (VLAN_DEVICE_PATH)) >> 8)\r
}\r
},\r
0\r
to send the syslog packets. The caller isn't required to close\r
the SNP after use because the SNP is opened by HandleProtocol.\r
\r
- @return The point to SNP if one is properly openned. Otherwise NULL\r
+ @return The point to SNP if one is properly opened. Otherwise NULL\r
\r
**/\r
EFI_SIMPLE_NETWORK_PROTOCOL *\r
VOID\r
)\r
{\r
- EFI_SIMPLE_NETWORK_PROTOCOL *Snp;\r
- EFI_STATUS Status;\r
- EFI_HANDLE *Handles;\r
- UINTN HandleCount;\r
- UINTN Index;\r
+ EFI_SIMPLE_NETWORK_PROTOCOL *Snp;\r
+ EFI_STATUS Status;\r
+ EFI_HANDLE *Handles;\r
+ UINTN HandleCount;\r
+ UINTN Index;\r
\r
//\r
// Locate the handles which has SNP installed.\r
Status = gBS->HandleProtocol (\r
Handles[Index],\r
&gEfiSimpleNetworkProtocolGuid,\r
- (VOID **) &Snp\r
+ (VOID **)&Snp\r
);\r
\r
if ((Status == EFI_SUCCESS) && (Snp != NULL) &&\r
(Snp->Mode->IfType == NET_IFTYPE_ETHERNET) &&\r
- (Snp->Mode->MaxPacketSize >= NET_SYSLOG_PACKET_LEN)) {\r
-\r
+ (Snp->Mode->MaxPacketSize >= NET_SYSLOG_PACKET_LEN))\r
+ {\r
break;\r
}\r
\r
**/\r
EFI_STATUS\r
SyslogSendPacket (\r
- IN CHAR8 *Packet,\r
- IN UINT32 Length\r
+ IN CHAR8 *Packet,\r
+ IN UINT32 Length\r
)\r
{\r
- EFI_SIMPLE_NETWORK_PROTOCOL *Snp;\r
- ETHER_HEAD *Ether;\r
- EFI_STATUS Status;\r
- EFI_EVENT TimeoutEvent;\r
- UINT8 *TxBuf;\r
+ EFI_SIMPLE_NETWORK_PROTOCOL *Snp;\r
+ ETHER_HEAD *Ether;\r
+ EFI_STATUS Status;\r
+ EFI_EVENT TimeoutEvent;\r
+ UINT8 *TxBuf;\r
\r
ASSERT (Packet != NULL);\r
\r
return EFI_DEVICE_ERROR;\r
}\r
\r
- Ether = (ETHER_HEAD *) Packet;\r
+ Ether = (ETHER_HEAD *)Packet;\r
CopyMem (Ether->SrcMac, Snp->Mode->CurrentAddress.Addr, NET_ETHER_ADDR_LEN);\r
\r
//\r
goto ON_EXIT;\r
}\r
\r
- for (;;) {\r
+ for ( ; ;) {\r
//\r
// Transmit the packet through SNP.\r
//\r
//\r
// Get the recycled transmit buffer status.\r
//\r
- Snp->GetStatus (Snp, NULL, (VOID **) &TxBuf);\r
+ Snp->GetStatus (Snp, NULL, (VOID **)&TxBuf);\r
\r
if (!EFI_ERROR (gBS->CheckEvent (TimeoutEvent))) {\r
Status = EFI_TIMEOUT;\r
break;\r
}\r
-\r
} while (TxBuf == NULL);\r
\r
if ((Status == EFI_SUCCESS) || (Status == EFI_TIMEOUT)) {\r
@param[in] File The file that contains the current log\r
@param[in] Line The line of code in the File that contains the current log\r
@param[in] Message The log message\r
- @param[in] BufLen The lenght of the Buf\r
+ @param[in] BufLen The length of the Buf\r
@param[out] Buf The buffer to put the packet data\r
\r
@return The length of the syslog packet built, 0 represents no packet is built.\r
**/\r
UINT32\r
SyslogBuildPacket (\r
- IN UINT32 Level,\r
- IN UINT8 *Module,\r
- IN UINT8 *File,\r
- IN UINT32 Line,\r
- IN UINT8 *Message,\r
- IN UINT32 BufLen,\r
- OUT CHAR8 *Buf\r
+ IN UINT32 Level,\r
+ IN UINT8 *Module,\r
+ IN UINT8 *File,\r
+ IN UINT32 Line,\r
+ IN UINT8 *Message,\r
+ IN UINT32 BufLen,\r
+ OUT CHAR8 *Buf\r
)\r
{\r
- EFI_STATUS Status;\r
- ETHER_HEAD *Ether;\r
- IP4_HEAD *Ip4;\r
- EFI_UDP_HEADER *Udp4;\r
- EFI_TIME Time;\r
- UINT32 Pri;\r
- UINT32 Len;\r
+ EFI_STATUS Status;\r
+ ETHER_HEAD *Ether;\r
+ IP4_HEAD *Ip4;\r
+ EFI_UDP_HEADER *Udp4;\r
+ EFI_TIME Time;\r
+ UINT32 Pri;\r
+ UINT32 Len;\r
\r
//\r
// Fill in the Ethernet header. Leave alone the source MAC.\r
// SyslogSendPacket will fill in the address for us.\r
//\r
- Ether = (ETHER_HEAD *) Buf;\r
+ Ether = (ETHER_HEAD *)Buf;\r
CopyMem (Ether->DstMac, mSyslogDstMac, NET_ETHER_ADDR_LEN);\r
ZeroMem (Ether->SrcMac, NET_ETHER_ADDR_LEN);\r
\r
Ether->EtherType = HTONS (0x0800); // IPv4 protocol\r
\r
- Buf += sizeof (ETHER_HEAD);\r
- BufLen -= sizeof (ETHER_HEAD);\r
+ Buf += sizeof (ETHER_HEAD);\r
+ BufLen -= sizeof (ETHER_HEAD);\r
\r
//\r
// Fill in the IP header\r
//\r
- Ip4 = (IP4_HEAD *) Buf;\r
- Ip4->HeadLen = 5;\r
- Ip4->Ver = 4;\r
- Ip4->Tos = 0;\r
- Ip4->TotalLen = 0;\r
- Ip4->Id = (UINT16) mSyslogPacketSeq;\r
- Ip4->Fragment = 0;\r
- Ip4->Ttl = 16;\r
- Ip4->Protocol = 0x11;\r
- Ip4->Checksum = 0;\r
- Ip4->Src = mSyslogSrcIp;\r
- Ip4->Dst = mSyslogDstIp;\r
+ Ip4 = (IP4_HEAD *)Buf;\r
+ Ip4->HeadLen = 5;\r
+ Ip4->Ver = 4;\r
+ Ip4->Tos = 0;\r
+ Ip4->TotalLen = 0;\r
+ Ip4->Id = (UINT16)mSyslogPacketSeq;\r
+ Ip4->Fragment = 0;\r
+ Ip4->Ttl = 16;\r
+ Ip4->Protocol = 0x11;\r
+ Ip4->Checksum = 0;\r
+ Ip4->Src = mSyslogSrcIp;\r
+ Ip4->Dst = mSyslogDstIp;\r
\r
- Buf += sizeof (IP4_HEAD);\r
- BufLen -= sizeof (IP4_HEAD);\r
+ Buf += sizeof (IP4_HEAD);\r
+ BufLen -= sizeof (IP4_HEAD);\r
\r
//\r
// Fill in the UDP header, Udp checksum is optional. Leave it zero.\r
//\r
- Udp4 = (EFI_UDP_HEADER *) Buf;\r
- Udp4->SrcPort = HTONS (514);\r
- Udp4->DstPort = HTONS (514);\r
- Udp4->Length = 0;\r
- Udp4->Checksum = 0;\r
+ Udp4 = (EFI_UDP_HEADER *)Buf;\r
+ Udp4->SrcPort = HTONS (514);\r
+ Udp4->DstPort = HTONS (514);\r
+ Udp4->Length = 0;\r
+ Udp4->Checksum = 0;\r
\r
- Buf += sizeof (EFI_UDP_HEADER);\r
- BufLen -= sizeof (EFI_UDP_HEADER);\r
+ Buf += sizeof (EFI_UDP_HEADER);\r
+ BufLen -= sizeof (EFI_UDP_HEADER);\r
\r
//\r
// Build the syslog message body with <PRI> Timestamp machine module Message\r
//\r
- Pri = ((NET_SYSLOG_FACILITY & 31) << 3) | (Level & 7);\r
+ Pri = ((NET_SYSLOG_FACILITY & 31) << 3) | (Level & 7);\r
Status = gRT->GetTime (&Time, NULL);\r
if (EFI_ERROR (Status)) {\r
return 0;\r
// Use %a to format the ASCII strings, %s to format UNICODE strings\r
//\r
Len = 0;\r
- Len += (UINT32) AsciiSPrint (\r
- Buf,\r
- BufLen,\r
- "<%d> %a %d %d:%d:%d ",\r
- Pri,\r
- mMonthName [Time.Month-1],\r
- Time.Day,\r
- Time.Hour,\r
- Time.Minute,\r
- Time.Second\r
- );\r
+ Len += (UINT32)AsciiSPrint (\r
+ Buf,\r
+ BufLen,\r
+ "<%d> %a %d %d:%d:%d ",\r
+ Pri,\r
+ mMonthName[Time.Month-1],\r
+ Time.Day,\r
+ Time.Hour,\r
+ Time.Minute,\r
+ Time.Second\r
+ );\r
\r
- Len += (UINT32) AsciiSPrint (\r
- Buf + Len,\r
- BufLen - Len,\r
- "Tiano %a: %a (Line: %d File: %a)",\r
- Module,\r
- Message,\r
- Line,\r
- File\r
- );\r
- Len ++;\r
+ Len += (UINT32)AsciiSPrint (\r
+ Buf + Len,\r
+ BufLen - Len,\r
+ "Tiano %a: %a (Line: %d File: %a)",\r
+ Module,\r
+ Message,\r
+ Line,\r
+ File\r
+ );\r
+ Len++;\r
\r
//\r
// OK, patch the IP length/checksum and UDP length fields.\r
//\r
- Len += sizeof (EFI_UDP_HEADER);\r
- Udp4->Length = HTONS ((UINT16) Len);\r
+ Len += sizeof (EFI_UDP_HEADER);\r
+ Udp4->Length = HTONS ((UINT16)Len);\r
\r
- Len += sizeof (IP4_HEAD);\r
- Ip4->TotalLen = HTONS ((UINT16) Len);\r
- Ip4->Checksum = (UINT16) (~NetblockChecksum ((UINT8 *) Ip4, sizeof (IP4_HEAD)));\r
+ Len += sizeof (IP4_HEAD);\r
+ Ip4->TotalLen = HTONS ((UINT16)Len);\r
+ Ip4->Checksum = (UINT16)(~NetblockChecksum ((UINT8 *)Ip4, sizeof (IP4_HEAD)));\r
\r
return Len + sizeof (ETHER_HEAD);\r
}\r
NETDEBUG_LEVEL_TRACE,\r
"Tcp",\r
__FILE__,\r
- __LINE__,\r
+ DEBUG_LINE_NUMBER,\r
NetDebugASPrint ("State transit to %a\n", Name)\r
)\r
\r
CHAR8 *\r
EFIAPI\r
NetDebugASPrint (\r
- IN CHAR8 *Format,\r
+ IN CHAR8 *Format,\r
...\r
)\r
{\r
- VA_LIST Marker;\r
- CHAR8 *Buf;\r
+ VA_LIST Marker;\r
+ CHAR8 *Buf;\r
\r
ASSERT (Format != NULL);\r
\r
- Buf = (CHAR8 *) AllocatePool (NET_DEBUG_MSG_LEN);\r
+ Buf = (CHAR8 *)AllocatePool (NET_DEBUG_MSG_LEN);\r
\r
if (Buf == NULL) {\r
return NULL;\r
Because it isn't open the SNP BY_DRIVER, apply caution when using it.\r
\r
@param Level The severity level of the message.\r
- @param Module The Moudle that generates the log.\r
+ @param Module The Module that generates the log.\r
@param File The file that contains the log.\r
@param Line The exact line that contains the log.\r
@param Message The user message to log.\r
EFI_STATUS\r
EFIAPI\r
NetDebugOutput (\r
- IN UINT32 Level,\r
- IN UINT8 *Module,\r
- IN UINT8 *File,\r
- IN UINT32 Line,\r
- IN UINT8 *Message\r
+ IN UINT32 Level,\r
+ IN UINT8 *Module,\r
+ IN UINT8 *File,\r
+ IN UINT32 Line,\r
+ IN UINT8 *Message\r
)\r
{\r
- CHAR8 *Packet;\r
- UINT32 Len;\r
- EFI_STATUS Status;\r
+ CHAR8 *Packet;\r
+ UINT32 Len;\r
+ EFI_STATUS Status;\r
\r
//\r
// Check whether the message should be sent out\r
//\r
- if (Message == NULL || File == NULL || Module == NULL) {\r
+ if ((Message == NULL) || (File == NULL) || (Module == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
}\r
\r
//\r
- // Allocate a maxium of 1024 bytes, the caller should ensure\r
+ // Allocate a maximum of 1024 bytes, the caller should ensure\r
// that the message plus the ethernet/ip/udp header is shorter\r
// than this\r
//\r
- Packet = (CHAR8 *) AllocatePool (NET_SYSLOG_PACKET_LEN);\r
+ Packet = (CHAR8 *)AllocatePool (NET_SYSLOG_PACKET_LEN);\r
\r
if (Packet == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
FreePool (Message);\r
return Status;\r
}\r
+\r
/**\r
Return the length of the mask.\r
\r
INTN\r
EFIAPI\r
NetGetMaskLength (\r
- IN IP4_ADDR NetMask\r
+ IN IP4_ADDR NetMask\r
)\r
{\r
- INTN Index;\r
+ INTN Index;\r
\r
for (Index = 0; Index <= IP4_MASK_MAX; Index++) {\r
if (NetMask == gIp4AllMasks[Index]) {\r
return Index;\r
}\r
\r
-\r
-\r
/**\r
Return the class of the IP address, such as class A, B, C.\r
Addr is in host byte order.\r
INTN\r
EFIAPI\r
NetGetIpClass (\r
- IN IP4_ADDR Addr\r
+ IN IP4_ADDR Addr\r
)\r
{\r
- UINT8 ByteOne;\r
+ UINT8 ByteOne;\r
\r
- ByteOne = (UINT8) (Addr >> 24);\r
+ ByteOne = (UINT8)(Addr >> 24);\r
\r
if ((ByteOne & 0x80) == 0) {\r
return IP4_ADDR_CLASSA;\r
-\r
} else if ((ByteOne & 0xC0) == 0x80) {\r
return IP4_ADDR_CLASSB;\r
-\r
} else if ((ByteOne & 0xE0) == 0xC0) {\r
return IP4_ADDR_CLASSC;\r
-\r
} else if ((ByteOne & 0xF0) == 0xE0) {\r
return IP4_ADDR_CLASSD;\r
-\r
} else {\r
return IP4_ADDR_CLASSE;\r
-\r
}\r
}\r
\r
-\r
/**\r
Check whether the IP is a valid unicast address according to\r
the netmask.\r
BOOLEAN\r
EFIAPI\r
NetIp4IsUnicast (\r
- IN IP4_ADDR Ip,\r
- IN IP4_ADDR NetMask\r
+ IN IP4_ADDR Ip,\r
+ IN IP4_ADDR NetMask\r
)\r
{\r
- INTN MaskLength;\r
+ INTN MaskLength;\r
\r
ASSERT (NetMask != 0);\r
\r
- if (Ip == 0 || IP4_IS_LOCAL_BROADCAST (Ip)) {\r
+ if ((Ip == 0) || IP4_IS_LOCAL_BROADCAST (Ip)) {\r
return FALSE;\r
}\r
\r
BOOLEAN\r
EFIAPI\r
NetIp6IsValidUnicast (\r
- IN EFI_IPv6_ADDRESS *Ip6\r
+ IN EFI_IPv6_ADDRESS *Ip6\r
)\r
{\r
- UINT8 Byte;\r
- UINT8 Index;\r
+ UINT8 Byte;\r
+ UINT8 Index;\r
\r
ASSERT (Ip6 != NULL);\r
\r
\r
Byte = Ip6->Addr[Index];\r
\r
- if (Byte == 0x0 || Byte == 0x1) {\r
+ if ((Byte == 0x0) || (Byte == 0x1)) {\r
return FALSE;\r
}\r
\r
BOOLEAN\r
EFIAPI\r
NetIp6IsUnspecifiedAddr (\r
- IN EFI_IPv6_ADDRESS *Ip6\r
+ IN EFI_IPv6_ADDRESS *Ip6\r
)\r
{\r
- UINT8 Index;\r
+ UINT8 Index;\r
\r
ASSERT (Ip6 != NULL);\r
\r
BOOLEAN\r
EFIAPI\r
NetIp6IsLinkLocalAddr (\r
- IN EFI_IPv6_ADDRESS *Ip6\r
+ IN EFI_IPv6_ADDRESS *Ip6\r
)\r
{\r
- UINT8 Index;\r
+ UINT8 Index;\r
\r
ASSERT (Ip6 != NULL);\r
\r
BOOLEAN\r
EFIAPI\r
NetIp6IsNetEqual (\r
- EFI_IPv6_ADDRESS *Ip1,\r
- EFI_IPv6_ADDRESS *Ip2,\r
- UINT8 PrefixLength\r
+ EFI_IPv6_ADDRESS *Ip1,\r
+ EFI_IPv6_ADDRESS *Ip2,\r
+ UINT8 PrefixLength\r
)\r
{\r
- UINT8 Byte;\r
- UINT8 Bit;\r
- UINT8 Mask;\r
+ UINT8 Byte;\r
+ UINT8 Bit;\r
+ UINT8 Mask;\r
\r
ASSERT ((Ip1 != NULL) && (Ip2 != NULL) && (PrefixLength < IP6_PREFIX_MAX));\r
\r
return TRUE;\r
}\r
\r
- Byte = (UINT8) (PrefixLength / 8);\r
- Bit = (UINT8) (PrefixLength % 8);\r
+ Byte = (UINT8)(PrefixLength / 8);\r
+ Bit = (UINT8)(PrefixLength % 8);\r
\r
if (CompareMem (Ip1, Ip2, Byte) != 0) {\r
return FALSE;\r
}\r
\r
if (Bit > 0) {\r
- Mask = (UINT8) (0xFF << (8 - Bit));\r
+ Mask = (UINT8)(0xFF << (8 - Bit));\r
\r
ASSERT (Byte < 16);\r
if (Byte >= 16) {\r
return FALSE;\r
}\r
+\r
if ((Ip1->Addr[Byte] & Mask) != (Ip2->Addr[Byte] & Mask)) {\r
return FALSE;\r
}\r
return TRUE;\r
}\r
\r
-\r
/**\r
Switches the endianess of an IPv6 address\r
\r
EFI_IPv6_ADDRESS *\r
EFIAPI\r
Ip6Swap128 (\r
- EFI_IPv6_ADDRESS *Ip6\r
+ EFI_IPv6_ADDRESS *Ip6\r
)\r
{\r
- UINT64 High;\r
- UINT64 Low;\r
+ UINT64 High;\r
+ UINT64 Low;\r
\r
ASSERT (Ip6 != NULL);\r
\r
VOID\r
)\r
{\r
- EFI_TIME Time;\r
- UINT32 Seed;\r
- UINT64 MonotonicCount;\r
+ EFI_TIME Time;\r
+ UINT32 Seed;\r
+ UINT64 MonotonicCount;\r
\r
gRT->GetTime (&Time, NULL);\r
- Seed = (Time.Hour << 24 | Time.Day << 16 | Time.Minute << 8 | Time.Second);\r
+ Seed = (Time.Hour << 24 | Time.Day << 16 | Time.Minute << 8 | Time.Second);\r
Seed ^= Time.Nanosecond;\r
Seed ^= Time.Year << 7;\r
\r
gBS->GetNextMonotonicCount (&MonotonicCount);\r
- Seed += (UINT32) MonotonicCount;\r
+ Seed += (UINT32)MonotonicCount;\r
\r
return Seed;\r
}\r
\r
-\r
/**\r
Extract a UINT32 from a byte stream.\r
\r
UINT32\r
EFIAPI\r
NetGetUint32 (\r
- IN UINT8 *Buf\r
+ IN UINT8 *Buf\r
)\r
{\r
- UINT32 Value;\r
+ UINT32 Value;\r
\r
ASSERT (Buf != NULL);\r
\r
return NTOHL (Value);\r
}\r
\r
-\r
/**\r
Put a UINT32 to the byte stream in network byte order.\r
\r
VOID\r
EFIAPI\r
NetPutUint32 (\r
- IN OUT UINT8 *Buf,\r
- IN UINT32 Data\r
+ IN OUT UINT8 *Buf,\r
+ IN UINT32 Data\r
)\r
{\r
ASSERT (Buf != NULL);\r
CopyMem (Buf, &Data, sizeof (UINT32));\r
}\r
\r
-\r
/**\r
Remove the first node entry on the list, and return the removed node entry.\r
\r
LIST_ENTRY *\r
EFIAPI\r
NetListRemoveHead (\r
- IN OUT LIST_ENTRY *Head\r
+ IN OUT LIST_ENTRY *Head\r
)\r
{\r
- LIST_ENTRY *First;\r
+ LIST_ENTRY *First;\r
\r
ASSERT (Head != NULL);\r
\r
return NULL;\r
}\r
\r
- First = Head->ForwardLink;\r
- Head->ForwardLink = First->ForwardLink;\r
- First->ForwardLink->BackLink = Head;\r
+ First = Head->ForwardLink;\r
+ Head->ForwardLink = First->ForwardLink;\r
+ First->ForwardLink->BackLink = Head;\r
\r
DEBUG_CODE (\r
- First->ForwardLink = (LIST_ENTRY *) NULL;\r
- First->BackLink = (LIST_ENTRY *) NULL;\r
- );\r
+ First->ForwardLink = (LIST_ENTRY *)NULL;\r
+ First->BackLink = (LIST_ENTRY *)NULL;\r
+ );\r
\r
return First;\r
}\r
\r
-\r
/**\r
Remove the last node entry on the list and and return the removed node entry.\r
\r
LIST_ENTRY *\r
EFIAPI\r
NetListRemoveTail (\r
- IN OUT LIST_ENTRY *Head\r
+ IN OUT LIST_ENTRY *Head\r
)\r
{\r
- LIST_ENTRY *Last;\r
+ LIST_ENTRY *Last;\r
\r
ASSERT (Head != NULL);\r
\r
Last->BackLink->ForwardLink = Head;\r
\r
DEBUG_CODE (\r
- Last->ForwardLink = (LIST_ENTRY *) NULL;\r
- Last->BackLink = (LIST_ENTRY *) NULL;\r
- );\r
+ Last->ForwardLink = (LIST_ENTRY *)NULL;\r
+ Last->BackLink = (LIST_ENTRY *)NULL;\r
+ );\r
\r
return Last;\r
}\r
\r
-\r
/**\r
Insert a new node entry after a designated node entry of a doubly linked list.\r
\r
VOID\r
EFIAPI\r
NetListInsertAfter (\r
- IN OUT LIST_ENTRY *PrevEntry,\r
- IN OUT LIST_ENTRY *NewEntry\r
+ IN OUT LIST_ENTRY *PrevEntry,\r
+ IN OUT LIST_ENTRY *NewEntry\r
)\r
{\r
ASSERT (PrevEntry != NULL && NewEntry != NULL);\r
\r
- NewEntry->BackLink = PrevEntry;\r
- NewEntry->ForwardLink = PrevEntry->ForwardLink;\r
- PrevEntry->ForwardLink->BackLink = NewEntry;\r
- PrevEntry->ForwardLink = NewEntry;\r
+ NewEntry->BackLink = PrevEntry;\r
+ NewEntry->ForwardLink = PrevEntry->ForwardLink;\r
+ PrevEntry->ForwardLink->BackLink = NewEntry;\r
+ PrevEntry->ForwardLink = NewEntry;\r
}\r
\r
-\r
/**\r
Insert a new node entry before a designated node entry of a doubly linked list.\r
\r
VOID\r
EFIAPI\r
NetListInsertBefore (\r
- IN OUT LIST_ENTRY *PostEntry,\r
- IN OUT LIST_ENTRY *NewEntry\r
+ IN OUT LIST_ENTRY *PostEntry,\r
+ IN OUT LIST_ENTRY *NewEntry\r
)\r
{\r
ASSERT (PostEntry != NULL && NewEntry != NULL);\r
\r
- NewEntry->ForwardLink = PostEntry;\r
- NewEntry->BackLink = PostEntry->BackLink;\r
- PostEntry->BackLink->ForwardLink = NewEntry;\r
- PostEntry->BackLink = NewEntry;\r
+ NewEntry->ForwardLink = PostEntry;\r
+ NewEntry->BackLink = PostEntry->BackLink;\r
+ PostEntry->BackLink->ForwardLink = NewEntry;\r
+ PostEntry->BackLink = NewEntry;\r
}\r
\r
/**\r
If it has been removed, then restart the traversal from the head.\r
If it hasn't been removed, then continue with the next node directly.\r
This function will end the iterate and return the CallBack's last return value if error happens,\r
- or retrun EFI_SUCCESS if 2 complete passes are made with no changes in the number of children in the list.\r
+ or return EFI_SUCCESS if 2 complete passes are made with no changes in the number of children in the list.\r
\r
@param[in] List The head of the list.\r
@param[in] CallBack Pointer to the callback function to destroy one node in the list.\r
EFI_STATUS\r
EFIAPI\r
NetDestroyLinkList (\r
- IN LIST_ENTRY *List,\r
- IN NET_DESTROY_LINK_LIST_CALLBACK CallBack,\r
- IN VOID *Context, OPTIONAL\r
- OUT UINTN *ListLength OPTIONAL\r
+ IN LIST_ENTRY *List,\r
+ IN NET_DESTROY_LINK_LIST_CALLBACK CallBack,\r
+ IN VOID *Context OPTIONAL,\r
+ OUT UINTN *ListLength OPTIONAL\r
)\r
{\r
- UINTN PreviousLength;\r
- LIST_ENTRY *Entry;\r
- LIST_ENTRY *Ptr;\r
- UINTN Length;\r
- EFI_STATUS Status;\r
+ UINTN PreviousLength;\r
+ LIST_ENTRY *Entry;\r
+ LIST_ENTRY *Ptr;\r
+ UINTN Length;\r
+ EFI_STATUS Status;\r
\r
- if (List == NULL || CallBack == NULL) {\r
+ if ((List == NULL) || (CallBack == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
Length = 0;\r
do {\r
PreviousLength = Length;\r
- Entry = GetFirstNode (List);\r
+ Entry = GetFirstNode (List);\r
while (!IsNull (List, Entry)) {\r
Status = CallBack (Entry, Context);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
//\r
// Walk through the list to see whether the Entry has been removed or not.\r
// If the Entry still exists, just try to destroy the next one.\r
break;\r
}\r
}\r
+\r
if (Ptr == Entry) {\r
Entry = GetNextNode (List, Entry);\r
} else {\r
Entry = GetFirstNode (List);\r
}\r
}\r
- for (Length = 0, Ptr = List->ForwardLink; Ptr != List; Length++, Ptr = Ptr->ForwardLink);\r
+\r
+ for (Length = 0, Ptr = List->ForwardLink; Ptr != List; Length++, Ptr = Ptr->ForwardLink) {\r
+ }\r
} while (Length != PreviousLength);\r
\r
if (ListLength != NULL) {\r
*ListLength = Length;\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
BOOLEAN\r
EFIAPI\r
NetIsInHandleBuffer (\r
- IN EFI_HANDLE Handle,\r
- IN UINTN NumberOfChildren,\r
- IN EFI_HANDLE *ChildHandleBuffer OPTIONAL\r
+ IN EFI_HANDLE Handle,\r
+ IN UINTN NumberOfChildren,\r
+ IN EFI_HANDLE *ChildHandleBuffer OPTIONAL\r
)\r
{\r
- UINTN Index;\r
+ UINTN Index;\r
\r
- if (NumberOfChildren == 0 || ChildHandleBuffer == NULL) {\r
+ if ((NumberOfChildren == 0) || (ChildHandleBuffer == NULL)) {\r
return FALSE;\r
}\r
\r
return FALSE;\r
}\r
\r
-\r
/**\r
Initialize the netmap. Netmap is a reposity to keep the <Key, Value> pairs.\r
\r
VOID\r
EFIAPI\r
NetMapInit (\r
- IN OUT NET_MAP *Map\r
+ IN OUT NET_MAP *Map\r
)\r
{\r
ASSERT (Map != NULL);\r
Map->Count = 0;\r
}\r
\r
-\r
/**\r
To clean up the netmap, that is, release allocated memories.\r
\r
VOID\r
EFIAPI\r
NetMapClean (\r
- IN OUT NET_MAP *Map\r
+ IN OUT NET_MAP *Map\r
)\r
{\r
- NET_MAP_ITEM *Item;\r
- LIST_ENTRY *Entry;\r
- LIST_ENTRY *Next;\r
+ NET_MAP_ITEM *Item;\r
+ LIST_ENTRY *Entry;\r
+ LIST_ENTRY *Next;\r
\r
ASSERT (Map != NULL);\r
\r
ASSERT (IsListEmpty (&Map->Recycled));\r
}\r
\r
-\r
/**\r
Test whether the netmap is empty and return true if it is.\r
\r
BOOLEAN\r
EFIAPI\r
NetMapIsEmpty (\r
- IN NET_MAP *Map\r
+ IN NET_MAP *Map\r
)\r
{\r
ASSERT (Map != NULL);\r
- return (BOOLEAN) (Map->Count == 0);\r
+ return (BOOLEAN)(Map->Count == 0);\r
}\r
\r
-\r
/**\r
Return the number of the <Key, Value> pairs in the netmap.\r
\r
UINTN\r
EFIAPI\r
NetMapGetCount (\r
- IN NET_MAP *Map\r
+ IN NET_MAP *Map\r
)\r
{\r
ASSERT (Map != NULL);\r
return Map->Count;\r
}\r
\r
-\r
/**\r
Return one allocated item.\r
\r
If the Recycled doubly linked list of the netmap is empty, it will try to allocate\r
- a batch of items if there are enough resources and add corresponding nodes to the begining\r
+ a batch of items if there are enough resources and add corresponding nodes to the beginning\r
of the Recycled doubly linked list of the netmap. Otherwise, it will directly remove\r
the fist node entry of the Recycled doubly linked list and return the corresponding item.\r
\r
**/\r
NET_MAP_ITEM *\r
NetMapAllocItem (\r
- IN OUT NET_MAP *Map\r
+ IN OUT NET_MAP *Map\r
)\r
{\r
- NET_MAP_ITEM *Item;\r
- LIST_ENTRY *Head;\r
- UINTN Index;\r
+ NET_MAP_ITEM *Item;\r
+ LIST_ENTRY *Head;\r
+ UINTN Index;\r
\r
ASSERT (Map != NULL);\r
\r
return Item;\r
}\r
\r
-\r
/**\r
Allocate an item to save the <Key, Value> pair to the head of the netmap.\r
\r
EFI_STATUS\r
EFIAPI\r
NetMapInsertHead (\r
- IN OUT NET_MAP *Map,\r
- IN VOID *Key,\r
- IN VOID *Value OPTIONAL\r
+ IN OUT NET_MAP *Map,\r
+ IN VOID *Key,\r
+ IN VOID *Value OPTIONAL\r
)\r
{\r
- NET_MAP_ITEM *Item;\r
+ NET_MAP_ITEM *Item;\r
\r
ASSERT (Map != NULL && Key != NULL);\r
\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
Allocate an item to save the <Key, Value> pair to the tail of the netmap.\r
\r
EFI_STATUS\r
EFIAPI\r
NetMapInsertTail (\r
- IN OUT NET_MAP *Map,\r
- IN VOID *Key,\r
- IN VOID *Value OPTIONAL\r
+ IN OUT NET_MAP *Map,\r
+ IN VOID *Key,\r
+ IN VOID *Value OPTIONAL\r
)\r
{\r
- NET_MAP_ITEM *Item;\r
+ NET_MAP_ITEM *Item;\r
\r
ASSERT (Map != NULL && Key != NULL);\r
\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
Check whether the item is in the Map and return TRUE if it is.\r
\r
**/\r
BOOLEAN\r
NetItemInMap (\r
- IN NET_MAP *Map,\r
- IN NET_MAP_ITEM *Item\r
+ IN NET_MAP *Map,\r
+ IN NET_MAP_ITEM *Item\r
)\r
{\r
- LIST_ENTRY *ListEntry;\r
+ LIST_ENTRY *ListEntry;\r
\r
ASSERT (Map != NULL && Item != NULL);\r
\r
return FALSE;\r
}\r
\r
-\r
/**\r
Find the key in the netmap and returns the point to the item contains the Key.\r
\r
NET_MAP_ITEM *\r
EFIAPI\r
NetMapFindKey (\r
- IN NET_MAP *Map,\r
- IN VOID *Key\r
+ IN NET_MAP *Map,\r
+ IN VOID *Key\r
)\r
{\r
- LIST_ENTRY *Entry;\r
- NET_MAP_ITEM *Item;\r
+ LIST_ENTRY *Entry;\r
+ NET_MAP_ITEM *Item;\r
\r
ASSERT (Map != NULL && Key != NULL);\r
\r
return NULL;\r
}\r
\r
-\r
/**\r
Remove the node entry of the item from the netmap and return the key of the removed item.\r
\r
VOID *\r
EFIAPI\r
NetMapRemoveItem (\r
- IN OUT NET_MAP *Map,\r
- IN OUT NET_MAP_ITEM *Item,\r
- OUT VOID **Value OPTIONAL\r
+ IN OUT NET_MAP *Map,\r
+ IN OUT NET_MAP_ITEM *Item,\r
+ OUT VOID **Value OPTIONAL\r
)\r
{\r
ASSERT ((Map != NULL) && (Item != NULL));\r
return Item->Key;\r
}\r
\r
-\r
/**\r
Remove the first node entry on the netmap and return the key of the removed item.\r
\r
VOID *\r
EFIAPI\r
NetMapRemoveHead (\r
- IN OUT NET_MAP *Map,\r
- OUT VOID **Value OPTIONAL\r
+ IN OUT NET_MAP *Map,\r
+ OUT VOID **Value OPTIONAL\r
)\r
{\r
NET_MAP_ITEM *Item;\r
return Item->Key;\r
}\r
\r
-\r
/**\r
Remove the last node entry on the netmap and return the key of the removed item.\r
\r
VOID *\r
EFIAPI\r
NetMapRemoveTail (\r
- IN OUT NET_MAP *Map,\r
- OUT VOID **Value OPTIONAL\r
+ IN OUT NET_MAP *Map,\r
+ OUT VOID **Value OPTIONAL\r
)\r
{\r
- NET_MAP_ITEM *Item;\r
+ NET_MAP_ITEM *Item;\r
\r
//\r
// Often, it indicates a programming error to remove\r
return Item->Key;\r
}\r
\r
-\r
/**\r
Iterate through the netmap and call CallBack for each item.\r
\r
EFI_STATUS\r
EFIAPI\r
NetMapIterate (\r
- IN NET_MAP *Map,\r
- IN NET_MAP_CALLBACK CallBack,\r
- IN VOID *Arg OPTIONAL\r
+ IN NET_MAP *Map,\r
+ IN NET_MAP_CALLBACK CallBack,\r
+ IN VOID *Arg OPTIONAL\r
)\r
{\r
-\r
- LIST_ENTRY *Entry;\r
- LIST_ENTRY *Next;\r
- LIST_ENTRY *Head;\r
- NET_MAP_ITEM *Item;\r
- EFI_STATUS Result;\r
+ LIST_ENTRY *Entry;\r
+ LIST_ENTRY *Next;\r
+ LIST_ENTRY *Head;\r
+ NET_MAP_ITEM *Item;\r
+ EFI_STATUS Result;\r
\r
ASSERT ((Map != NULL) && (CallBack != NULL));\r
\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
This is the default unload handle for all the network drivers.\r
\r
EFI_STATUS\r
EFIAPI\r
NetLibDefaultUnload (\r
- IN EFI_HANDLE ImageHandle\r
+ IN EFI_HANDLE ImageHandle\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_HANDLE *DeviceHandleBuffer;\r
- UINTN DeviceHandleCount;\r
- UINTN Index;\r
- UINTN Index2;\r
- EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;\r
- EFI_COMPONENT_NAME_PROTOCOL *ComponentName;\r
- EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2;\r
+ EFI_STATUS Status;\r
+ EFI_HANDLE *DeviceHandleBuffer;\r
+ UINTN DeviceHandleCount;\r
+ UINTN Index;\r
+ UINTN Index2;\r
+ EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;\r
+ EFI_COMPONENT_NAME_PROTOCOL *ComponentName;\r
+ EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2;\r
\r
//\r
// Get the list of all the handles in the handle database.\r
Status = gBS->HandleProtocol (\r
DeviceHandleBuffer[Index],\r
&gEfiDriverBindingProtocolGuid,\r
- (VOID **) &DriverBinding\r
+ (VOID **)&DriverBinding\r
);\r
if (EFI_ERROR (Status)) {\r
continue;\r
// Uninstall all the protocols installed in the driver entry point\r
//\r
gBS->UninstallProtocolInterface (\r
- DriverBinding->DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid,\r
- DriverBinding\r
- );\r
+ DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid,\r
+ DriverBinding\r
+ );\r
\r
Status = gBS->HandleProtocol (\r
DeviceHandleBuffer[Index],\r
&gEfiComponentNameProtocolGuid,\r
- (VOID **) &ComponentName\r
+ (VOID **)&ComponentName\r
);\r
if (!EFI_ERROR (Status)) {\r
gBS->UninstallProtocolInterface (\r
Status = gBS->HandleProtocol (\r
DeviceHandleBuffer[Index],\r
&gEfiComponentName2ProtocolGuid,\r
- (VOID **) &ComponentName2\r
+ (VOID **)&ComponentName2\r
);\r
if (!EFI_ERROR (Status)) {\r
gBS->UninstallProtocolInterface (\r
return EFI_SUCCESS;\r
}\r
\r
-\r
-\r
/**\r
Create a child of the service that is identified by ServiceBindingGuid.\r
\r
EFI_STATUS\r
EFIAPI\r
NetLibCreateServiceChild (\r
- IN EFI_HANDLE Controller,\r
- IN EFI_HANDLE Image,\r
- IN EFI_GUID *ServiceBindingGuid,\r
- IN OUT EFI_HANDLE *ChildHandle\r
+ IN EFI_HANDLE Controller,\r
+ IN EFI_HANDLE Image,\r
+ IN EFI_GUID *ServiceBindingGuid,\r
+ IN OUT EFI_HANDLE *ChildHandle\r
)\r
{\r
EFI_STATUS Status;\r
EFI_SERVICE_BINDING_PROTOCOL *Service;\r
\r
-\r
ASSERT ((ServiceBindingGuid != NULL) && (ChildHandle != NULL));\r
\r
//\r
Status = gBS->OpenProtocol (\r
Controller,\r
ServiceBindingGuid,\r
- (VOID **) &Service,\r
+ (VOID **)&Service,\r
Image,\r
Controller,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
return Status;\r
}\r
\r
-\r
/**\r
Destroy a child of the service that is identified by ServiceBindingGuid.\r
\r
EFI_STATUS\r
EFIAPI\r
NetLibDestroyServiceChild (\r
- IN EFI_HANDLE Controller,\r
- IN EFI_HANDLE Image,\r
- IN EFI_GUID *ServiceBindingGuid,\r
- IN EFI_HANDLE ChildHandle\r
+ IN EFI_HANDLE Controller,\r
+ IN EFI_HANDLE Image,\r
+ IN EFI_GUID *ServiceBindingGuid,\r
+ IN EFI_HANDLE ChildHandle\r
)\r
{\r
EFI_STATUS Status;\r
Status = gBS->OpenProtocol (\r
Controller,\r
ServiceBindingGuid,\r
- (VOID **) &Service,\r
+ (VOID **)&Service,\r
Image,\r
Controller,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
EFI_HANDLE\r
EFIAPI\r
NetLibGetSnpHandle (\r
- IN EFI_HANDLE ServiceHandle,\r
- OUT EFI_SIMPLE_NETWORK_PROTOCOL **Snp OPTIONAL\r
+ IN EFI_HANDLE ServiceHandle,\r
+ OUT EFI_SIMPLE_NETWORK_PROTOCOL **Snp OPTIONAL\r
)\r
{\r
EFI_STATUS Status;\r
// Try to open SNP from ServiceHandle\r
//\r
SnpInstance = NULL;\r
- Status = gBS->HandleProtocol (ServiceHandle, &gEfiSimpleNetworkProtocolGuid, (VOID **) &SnpInstance);\r
+ Status = gBS->HandleProtocol (ServiceHandle, &gEfiSimpleNetworkProtocolGuid, (VOID **)&SnpInstance);\r
if (!EFI_ERROR (Status)) {\r
if (Snp != NULL) {\r
*Snp = SnpInstance;\r
}\r
+\r
return ServiceHandle;\r
}\r
\r
}\r
\r
SnpHandle = NULL;\r
- Status = gBS->LocateDevicePath (&gEfiSimpleNetworkProtocolGuid, &DevicePath, &SnpHandle);\r
+ Status = gBS->LocateDevicePath (&gEfiSimpleNetworkProtocolGuid, &DevicePath, &SnpHandle);\r
if (EFI_ERROR (Status)) {\r
//\r
// Failed to find SNP handle\r
return NULL;\r
}\r
\r
- Status = gBS->HandleProtocol (SnpHandle, &gEfiSimpleNetworkProtocolGuid, (VOID **) &SnpInstance);\r
+ Status = gBS->HandleProtocol (SnpHandle, &gEfiSimpleNetworkProtocolGuid, (VOID **)&SnpInstance);\r
if (!EFI_ERROR (Status)) {\r
if (Snp != NULL) {\r
*Snp = SnpInstance;\r
}\r
+\r
return SnpHandle;\r
}\r
\r
UINT16\r
EFIAPI\r
NetLibGetVlanId (\r
- IN EFI_HANDLE ServiceHandle\r
+ IN EFI_HANDLE ServiceHandle\r
)\r
{\r
EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
\r
Node = DevicePath;\r
while (!IsDevicePathEnd (Node)) {\r
- if (Node->Type == MESSAGING_DEVICE_PATH && Node->SubType == MSG_VLAN_DP) {\r
- return ((VLAN_DEVICE_PATH *) Node)->VlanId;\r
+ if ((Node->Type == MESSAGING_DEVICE_PATH) && (Node->SubType == MSG_VLAN_DP)) {\r
+ return ((VLAN_DEVICE_PATH *)Node)->VlanId;\r
}\r
+\r
Node = NextDevicePathNode (Node);\r
}\r
\r
EFI_HANDLE\r
EFIAPI\r
NetLibGetVlanHandle (\r
- IN EFI_HANDLE ControllerHandle,\r
- IN UINT16 VlanId\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN UINT16 VlanId\r
)\r
{\r
EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;\r
//\r
CopyMem (&VlanNode, &mNetVlanDevicePathTemplate, sizeof (VLAN_DEVICE_PATH));\r
VlanNode.VlanId = VlanId;\r
- VlanDevicePath = AppendDevicePathNode (\r
- ParentDevicePath,\r
- (EFI_DEVICE_PATH_PROTOCOL *) &VlanNode\r
- );\r
+ VlanDevicePath = AppendDevicePathNode (\r
+ ParentDevicePath,\r
+ (EFI_DEVICE_PATH_PROTOCOL *)&VlanNode\r
+ );\r
if (VlanDevicePath == NULL) {\r
return NULL;\r
}\r
//\r
// Find VLAN device handle\r
//\r
- Handle = NULL;\r
+ Handle = NULL;\r
DevicePath = VlanDevicePath;\r
gBS->LocateDevicePath (\r
&gEfiDevicePathProtocolGuid,\r
EFI_STATUS\r
EFIAPI\r
NetLibGetMacAddress (\r
- IN EFI_HANDLE ServiceHandle,\r
- OUT EFI_MAC_ADDRESS *MacAddress,\r
- OUT UINTN *AddressSize\r
+ IN EFI_HANDLE ServiceHandle,\r
+ OUT EFI_MAC_ADDRESS *MacAddress,\r
+ OUT UINTN *AddressSize\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_SIMPLE_NETWORK_PROTOCOL *Snp;\r
- EFI_SIMPLE_NETWORK_MODE *SnpMode;\r
- EFI_SIMPLE_NETWORK_MODE SnpModeData;\r
- EFI_MANAGED_NETWORK_PROTOCOL *Mnp;\r
- EFI_SERVICE_BINDING_PROTOCOL *MnpSb;\r
- EFI_HANDLE SnpHandle;\r
- EFI_HANDLE MnpChildHandle;\r
+ EFI_STATUS Status;\r
+ EFI_SIMPLE_NETWORK_PROTOCOL *Snp;\r
+ EFI_SIMPLE_NETWORK_MODE *SnpMode;\r
+ EFI_SIMPLE_NETWORK_MODE SnpModeData;\r
+ EFI_MANAGED_NETWORK_PROTOCOL *Mnp;\r
+ EFI_SERVICE_BINDING_PROTOCOL *MnpSb;\r
+ EFI_HANDLE SnpHandle;\r
+ EFI_HANDLE MnpChildHandle;\r
\r
ASSERT (MacAddress != NULL);\r
ASSERT (AddressSize != NULL);\r
//\r
// Try to get SNP handle\r
//\r
- Snp = NULL;\r
+ Snp = NULL;\r
SnpHandle = NetLibGetSnpHandle (ServiceHandle, &Snp);\r
if (SnpHandle != NULL) {\r
//\r
// Failed to get SNP handle, try to get MAC address from MNP\r
//\r
MnpChildHandle = NULL;\r
- Status = gBS->HandleProtocol (\r
- ServiceHandle,\r
- &gEfiManagedNetworkServiceBindingProtocolGuid,\r
- (VOID **) &MnpSb\r
- );\r
+ Status = gBS->HandleProtocol (\r
+ ServiceHandle,\r
+ &gEfiManagedNetworkServiceBindingProtocolGuid,\r
+ (VOID **)&MnpSb\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
Status = gBS->HandleProtocol (\r
MnpChildHandle,\r
&gEfiManagedNetworkProtocolGuid,\r
- (VOID **) &Mnp\r
+ (VOID **)&Mnp\r
);\r
if (EFI_ERROR (Status)) {\r
MnpSb->DestroyChild (MnpSb, MnpChildHandle);\r
MnpSb->DestroyChild (MnpSb, MnpChildHandle);\r
return Status;\r
}\r
+\r
SnpMode = &SnpModeData;\r
\r
//\r
EFI_STATUS\r
EFIAPI\r
NetLibGetMacString (\r
- IN EFI_HANDLE ServiceHandle,\r
- IN EFI_HANDLE ImageHandle, OPTIONAL\r
- OUT CHAR16 **MacString\r
+ IN EFI_HANDLE ServiceHandle,\r
+ IN EFI_HANDLE ImageHandle OPTIONAL,\r
+ OUT CHAR16 **MacString\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_MAC_ADDRESS MacAddress;\r
- UINT8 *HwAddress;\r
- UINTN HwAddressSize;\r
- UINT16 VlanId;\r
- CHAR16 *String;\r
- UINTN Index;\r
- UINTN BufferSize;\r
+ EFI_STATUS Status;\r
+ EFI_MAC_ADDRESS MacAddress;\r
+ UINT8 *HwAddress;\r
+ UINTN HwAddressSize;\r
+ UINT16 VlanId;\r
+ CHAR16 *String;\r
+ UINTN Index;\r
+ UINTN BufferSize;\r
\r
ASSERT (MacString != NULL);\r
\r
// Plus one unicode character for the null-terminator.\r
//\r
BufferSize = (2 * HwAddressSize + 5 + 1) * sizeof (CHAR16);\r
- String = AllocateZeroPool (BufferSize);\r
+ String = AllocateZeroPool (BufferSize);\r
if (String == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
*MacString = String;\r
\r
//\r
EFI_STATUS\r
EFIAPI\r
NetLibDetectMedia (\r
- IN EFI_HANDLE ServiceHandle,\r
- OUT BOOLEAN *MediaPresent\r
+ IN EFI_HANDLE ServiceHandle,\r
+ OUT BOOLEAN *MediaPresent\r
)\r
{\r
EFI_STATUS Status;\r
//\r
// Get SNP handle\r
//\r
- Snp = NULL;\r
+ Snp = NULL;\r
SnpHandle = NetLibGetSnpHandle (ServiceHandle, &Snp);\r
if (SnpHandle == NULL) {\r
return EFI_INVALID_PARAMETER;\r
if (!EFI_ERROR (Status)) {\r
Status = Snp->Stop (Snp);\r
}\r
+\r
if (EFI_ERROR (Status)) {\r
goto Exit;\r
}\r
if (!EFI_ERROR (Status)) {\r
Status = Snp->Initialize (Snp, 0, 0);\r
}\r
+\r
if (EFI_ERROR (Status)) {\r
goto Exit;\r
}\r
EFI_STATUS\r
EFIAPI\r
NetLibDetectMediaWaitTimeout (\r
- IN EFI_HANDLE ServiceHandle,\r
- IN UINT64 Timeout,\r
- OUT EFI_STATUS *MediaState\r
+ IN EFI_HANDLE ServiceHandle,\r
+ IN UINT64 Timeout,\r
+ OUT EFI_STATUS *MediaState\r
)\r
{\r
EFI_STATUS Status;\r
if (MediaState == NULL) {\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
*MediaState = EFI_SUCCESS;\r
MediaInfo = NULL;\r
\r
//\r
// Get SNP handle\r
//\r
- Snp = NULL;\r
+ Snp = NULL;\r
SnpHandle = NetLibGetSnpHandle (ServiceHandle, &Snp);\r
if (SnpHandle == NULL) {\r
return EFI_INVALID_PARAMETER;\r
Status = gBS->HandleProtocol (\r
SnpHandle,\r
&gEfiAdapterInformationProtocolGuid,\r
- (VOID *) &Aip\r
+ (VOID *)&Aip\r
);\r
if (EFI_ERROR (Status)) {\r
-\r
MediaPresent = TRUE;\r
- Status = NetLibDetectMedia (ServiceHandle, &MediaPresent);\r
+ Status = NetLibDetectMedia (ServiceHandle, &MediaPresent);\r
if (!EFI_ERROR (Status)) {\r
if (MediaPresent) {\r
*MediaState = EFI_SUCCESS;\r
Status = Aip->GetInformation (\r
Aip,\r
&gEfiAdapterInfoMediaStateGuid,\r
- (VOID **) &MediaInfo,\r
+ (VOID **)&MediaInfo,\r
&DataSize\r
);\r
if (!EFI_ERROR (Status)) {\r
-\r
*MediaState = MediaInfo->MediaState;\r
FreePool (MediaInfo);\r
- if (*MediaState != EFI_NOT_READY || Timeout < MEDIA_STATE_DETECT_TIME_INTERVAL) {\r
-\r
+ if ((*MediaState != EFI_NOT_READY) || (Timeout < MEDIA_STATE_DETECT_TIME_INTERVAL)) {\r
return EFI_SUCCESS;\r
}\r
} else {\r
-\r
if (MediaInfo != NULL) {\r
FreePool (MediaInfo);\r
}\r
\r
if (Status == EFI_UNSUPPORTED) {\r
-\r
//\r
// If gEfiAdapterInfoMediaStateGuid is not supported, call NetLibDetectMedia to get media state!\r
//\r
MediaPresent = TRUE;\r
- Status = NetLibDetectMedia (ServiceHandle, &MediaPresent);\r
+ Status = NetLibDetectMedia (ServiceHandle, &MediaPresent);\r
if (!EFI_ERROR (Status)) {\r
if (MediaPresent) {\r
*MediaState = EFI_SUCCESS;\r
*MediaState = EFI_NO_MEDIA;\r
}\r
}\r
+\r
return Status;\r
}\r
\r
\r
Timer = NULL;\r
TimeRemained = Timeout;\r
- Status = gBS->CreateEvent (EVT_TIMER, TPL_CALLBACK, NULL, NULL, &Timer);\r
+ Status = gBS->CreateEvent (EVT_TIMER, TPL_CALLBACK, NULL, NULL, &Timer);\r
if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
}\r
MEDIA_STATE_DETECT_TIME_INTERVAL\r
);\r
if (EFI_ERROR (Status)) {\r
- gBS->CloseEvent(Timer);\r
+ gBS->CloseEvent (Timer);\r
return EFI_DEVICE_ERROR;\r
}\r
\r
do {\r
TimerStatus = gBS->CheckEvent (Timer);\r
if (!EFI_ERROR (TimerStatus)) {\r
-\r
TimeRemained -= MEDIA_STATE_DETECT_TIME_INTERVAL;\r
- Status = Aip->GetInformation (\r
- Aip,\r
- &gEfiAdapterInfoMediaStateGuid,\r
- (VOID **) &MediaInfo,\r
- &DataSize\r
- );\r
+ Status = Aip->GetInformation (\r
+ Aip,\r
+ &gEfiAdapterInfoMediaStateGuid,\r
+ (VOID **)&MediaInfo,\r
+ &DataSize\r
+ );\r
if (!EFI_ERROR (Status)) {\r
-\r
*MediaState = MediaInfo->MediaState;\r
FreePool (MediaInfo);\r
} else {\r
-\r
if (MediaInfo != NULL) {\r
FreePool (MediaInfo);\r
}\r
- gBS->CloseEvent(Timer);\r
+\r
+ gBS->CloseEvent (Timer);\r
return Status;\r
}\r
}\r
} while (TimerStatus == EFI_NOT_READY);\r
} while (*MediaState == EFI_NOT_READY && TimeRemained >= MEDIA_STATE_DETECT_TIME_INTERVAL);\r
\r
- gBS->CloseEvent(Timer);\r
- if (*MediaState == EFI_NOT_READY && TimeRemained < MEDIA_STATE_DETECT_TIME_INTERVAL) {\r
+ gBS->CloseEvent (Timer);\r
+ if ((*MediaState == EFI_NOT_READY) && (TimeRemained < MEDIA_STATE_DETECT_TIME_INTERVAL)) {\r
return EFI_TIMEOUT;\r
} else {\r
return EFI_SUCCESS;\r
IN EFI_HANDLE Controller\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_IP4_CONFIG2_PROTOCOL *Ip4Config2;\r
- UINTN DataSize;\r
- EFI_IP4_CONFIG2_POLICY Policy;\r
- BOOLEAN IsStatic;\r
+ EFI_STATUS Status;\r
+ EFI_IP4_CONFIG2_PROTOCOL *Ip4Config2;\r
+ UINTN DataSize;\r
+ EFI_IP4_CONFIG2_POLICY Policy;\r
+ BOOLEAN IsStatic;\r
\r
Ip4Config2 = NULL;\r
\r
DataSize = sizeof (EFI_IP4_CONFIG2_POLICY);\r
\r
- IsStatic = TRUE;\r
+ IsStatic = TRUE;\r
\r
//\r
// Get Ip4Config2 policy.\r
//\r
- Status = gBS->HandleProtocol (Controller, &gEfiIp4Config2ProtocolGuid, (VOID **) &Ip4Config2);\r
+ Status = gBS->HandleProtocol (Controller, &gEfiIp4Config2ProtocolGuid, (VOID **)&Ip4Config2);\r
if (EFI_ERROR (Status)) {\r
goto ON_EXIT;\r
}\r
goto ON_EXIT;\r
}\r
\r
- IsStatic = (BOOLEAN) (Policy == Ip4Config2PolicyStatic);\r
+ IsStatic = (BOOLEAN)(Policy == Ip4Config2PolicyStatic);\r
\r
ON_EXIT:\r
\r
Node->LocalPort = LocalPort;\r
Node->RemotePort = RemotePort;\r
\r
- Node->Protocol = Protocol;\r
+ Node->Protocol = Protocol;\r
\r
//\r
// Set default value to IPAddressOrigin, PrefixLength.\r
EFI_HANDLE\r
EFIAPI\r
NetLibGetNicHandle (\r
- IN EFI_HANDLE Controller,\r
- IN EFI_GUID *ProtocolGuid\r
+ IN EFI_HANDLE Controller,\r
+ IN EFI_GUID *ProtocolGuid\r
)\r
{\r
- EFI_OPEN_PROTOCOL_INFORMATION_ENTRY *OpenBuffer;\r
- EFI_HANDLE Handle;\r
- EFI_STATUS Status;\r
- UINTN OpenCount;\r
- UINTN Index;\r
+ EFI_OPEN_PROTOCOL_INFORMATION_ENTRY *OpenBuffer;\r
+ EFI_HANDLE Handle;\r
+ EFI_STATUS Status;\r
+ UINTN OpenCount;\r
+ UINTN Index;\r
\r
ASSERT (ProtocolGuid != NULL);\r
\r
@param[out] Ip4Address The pointer to the converted IPv4 address.\r
\r
@retval EFI_SUCCESS Convert to IPv4 address successfully.\r
- @retval EFI_INVALID_PARAMETER The string is mal-formated or Ip4Address is NULL.\r
+ @retval EFI_INVALID_PARAMETER The string is malformatted or Ip4Address is NULL.\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
NetLibAsciiStrToIp4 (\r
- IN CONST CHAR8 *String,\r
- OUT EFI_IPv4_ADDRESS *Ip4Address\r
+ IN CONST CHAR8 *String,\r
+ OUT EFI_IPv4_ADDRESS *Ip4Address\r
)\r
{\r
- RETURN_STATUS Status;\r
- CHAR8 *EndPointer;\r
+ RETURN_STATUS Status;\r
+ CHAR8 *EndPointer;\r
\r
Status = AsciiStrToIpv4Address (String, &EndPointer, Ip4Address, NULL);\r
if (RETURN_ERROR (Status) || (*EndPointer != '\0')) {\r
}\r
}\r
\r
-\r
/**\r
Convert one Null-terminated ASCII string to EFI_IPv6_ADDRESS. The format of the\r
string is defined in RFC 4291 - Text Representation of Addresses.\r
@param[out] Ip6Address The pointer to the converted IPv6 address.\r
\r
@retval EFI_SUCCESS Convert to IPv6 address successfully.\r
- @retval EFI_INVALID_PARAMETER The string is mal-formated or Ip6Address is NULL.\r
+ @retval EFI_INVALID_PARAMETER The string is malformatted or Ip6Address is NULL.\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
NetLibAsciiStrToIp6 (\r
- IN CONST CHAR8 *String,\r
- OUT EFI_IPv6_ADDRESS *Ip6Address\r
+ IN CONST CHAR8 *String,\r
+ OUT EFI_IPv6_ADDRESS *Ip6Address\r
)\r
{\r
- RETURN_STATUS Status;\r
- CHAR8 *EndPointer;\r
+ RETURN_STATUS Status;\r
+ CHAR8 *EndPointer;\r
\r
Status = AsciiStrToIpv6Address (String, &EndPointer, Ip6Address, NULL);\r
if (RETURN_ERROR (Status) || (*EndPointer != '\0')) {\r
}\r
}\r
\r
-\r
/**\r
Convert one Null-terminated Unicode string (decimal dotted) to EFI_IPv4_ADDRESS.\r
\r
@param[out] Ip4Address The pointer to the converted IPv4 address.\r
\r
@retval EFI_SUCCESS Convert to IPv4 address successfully.\r
- @retval EFI_INVALID_PARAMETER The string is mal-formated or Ip4Address is NULL.\r
+ @retval EFI_INVALID_PARAMETER The string is malformatted or Ip4Address is NULL.\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
NetLibStrToIp4 (\r
- IN CONST CHAR16 *String,\r
- OUT EFI_IPv4_ADDRESS *Ip4Address\r
+ IN CONST CHAR16 *String,\r
+ OUT EFI_IPv4_ADDRESS *Ip4Address\r
)\r
{\r
- RETURN_STATUS Status;\r
- CHAR16 *EndPointer;\r
+ RETURN_STATUS Status;\r
+ CHAR16 *EndPointer;\r
\r
Status = StrToIpv4Address (String, &EndPointer, Ip4Address, NULL);\r
if (RETURN_ERROR (Status) || (*EndPointer != L'\0')) {\r
}\r
}\r
\r
-\r
/**\r
Convert one Null-terminated Unicode string to EFI_IPv6_ADDRESS. The format of\r
the string is defined in RFC 4291 - Text Representation of Addresses.\r
@param[out] Ip6Address The pointer to the converted IPv6 address.\r
\r
@retval EFI_SUCCESS Convert to IPv6 address successfully.\r
- @retval EFI_INVALID_PARAMETER The string is mal-formated or Ip6Address is NULL.\r
+ @retval EFI_INVALID_PARAMETER The string is malformatted or Ip6Address is NULL.\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
NetLibStrToIp6 (\r
- IN CONST CHAR16 *String,\r
- OUT EFI_IPv6_ADDRESS *Ip6Address\r
+ IN CONST CHAR16 *String,\r
+ OUT EFI_IPv6_ADDRESS *Ip6Address\r
)\r
{\r
- RETURN_STATUS Status;\r
- CHAR16 *EndPointer;\r
+ RETURN_STATUS Status;\r
+ CHAR16 *EndPointer;\r
\r
Status = StrToIpv6Address (String, &EndPointer, Ip6Address, NULL);\r
if (RETURN_ERROR (Status) || (*EndPointer != L'\0')) {\r
@param[out] PrefixLength The pointer to the converted prefix length.\r
\r
@retval EFI_SUCCESS Convert to IPv6 address successfully.\r
- @retval EFI_INVALID_PARAMETER The string is mal-formated or Ip6Address is NULL.\r
+ @retval EFI_INVALID_PARAMETER The string is malformatted or Ip6Address is NULL.\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
NetLibStrToIp6andPrefix (\r
- IN CONST CHAR16 *String,\r
- OUT EFI_IPv6_ADDRESS *Ip6Address,\r
- OUT UINT8 *PrefixLength\r
+ IN CONST CHAR16 *String,\r
+ OUT EFI_IPv6_ADDRESS *Ip6Address,\r
+ OUT UINT8 *PrefixLength\r
)\r
{\r
- RETURN_STATUS Status;\r
- CHAR16 *EndPointer;\r
+ RETURN_STATUS Status;\r
+ CHAR16 *EndPointer;\r
\r
Status = StrToIpv6Address (String, &EndPointer, Ip6Address, PrefixLength);\r
if (RETURN_ERROR (Status) || (*EndPointer != L'\0')) {\r
EFI_STATUS\r
EFIAPI\r
NetLibIp6ToStr (\r
- IN EFI_IPv6_ADDRESS *Ip6Address,\r
- OUT CHAR16 *String,\r
- IN UINTN StringSize\r
+ IN EFI_IPv6_ADDRESS *Ip6Address,\r
+ OUT CHAR16 *String,\r
+ IN UINTN StringSize\r
)\r
{\r
- UINT16 Ip6Addr[8];\r
- UINTN Index;\r
- UINTN LongestZerosStart;\r
- UINTN LongestZerosLength;\r
- UINTN CurrentZerosStart;\r
- UINTN CurrentZerosLength;\r
- CHAR16 Buffer[sizeof"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"];\r
- CHAR16 *Ptr;\r
-\r
- if (Ip6Address == NULL || String == NULL || StringSize == 0) {\r
+ UINT16 Ip6Addr[8];\r
+ UINTN Index;\r
+ UINTN LongestZerosStart;\r
+ UINTN LongestZerosLength;\r
+ UINTN CurrentZerosStart;\r
+ UINTN CurrentZerosLength;\r
+ CHAR16 Buffer[sizeof "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"];\r
+ CHAR16 *Ptr;\r
+\r
+ if ((Ip6Address == NULL) || (String == NULL) || (StringSize == 0)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
for (Index = 0; Index < 8; Index++) {\r
if (Ip6Addr[Index] == 0) {\r
if (CurrentZerosStart == DEFAULT_ZERO_START) {\r
- CurrentZerosStart = Index;\r
+ CurrentZerosStart = Index;\r
CurrentZerosLength = 1;\r
} else {\r
CurrentZerosLength++;\r
}\r
} else {\r
if (CurrentZerosStart != DEFAULT_ZERO_START) {\r
- if (CurrentZerosLength > 2 && (LongestZerosStart == (DEFAULT_ZERO_START) || CurrentZerosLength > LongestZerosLength)) {\r
+ if ((CurrentZerosLength > 2) && ((LongestZerosStart == (DEFAULT_ZERO_START)) || (CurrentZerosLength > LongestZerosLength))) {\r
LongestZerosStart = CurrentZerosStart;\r
LongestZerosLength = CurrentZerosLength;\r
}\r
+\r
CurrentZerosStart = DEFAULT_ZERO_START;\r
CurrentZerosLength = 0;\r
}\r
}\r
}\r
\r
- if (CurrentZerosStart != DEFAULT_ZERO_START && CurrentZerosLength > 2) {\r
- if (LongestZerosStart == DEFAULT_ZERO_START || LongestZerosLength < CurrentZerosLength) {\r
+ if ((CurrentZerosStart != DEFAULT_ZERO_START) && (CurrentZerosLength > 2)) {\r
+ if ((LongestZerosStart == DEFAULT_ZERO_START) || (LongestZerosLength < CurrentZerosLength)) {\r
LongestZerosStart = CurrentZerosStart;\r
LongestZerosLength = CurrentZerosLength;\r
}\r
\r
Ptr = Buffer;\r
for (Index = 0; Index < 8; Index++) {\r
- if (LongestZerosStart != DEFAULT_ZERO_START && Index >= LongestZerosStart && Index < LongestZerosStart + LongestZerosLength) {\r
+ if ((LongestZerosStart != DEFAULT_ZERO_START) && (Index >= LongestZerosStart) && (Index < LongestZerosStart + LongestZerosLength)) {\r
if (Index == LongestZerosStart) {\r
*Ptr++ = L':';\r
}\r
+\r
continue;\r
}\r
+\r
if (Index != 0) {\r
*Ptr++ = L':';\r
}\r
- Ptr += UnicodeSPrint(Ptr, 10, L"%x", Ip6Addr[Index]);\r
+\r
+ Ptr += UnicodeSPrint (Ptr, 10, L"%x", Ip6Addr[Index]);\r
}\r
\r
- if (LongestZerosStart != DEFAULT_ZERO_START && LongestZerosStart + LongestZerosLength == 8) {\r
+ if ((LongestZerosStart != DEFAULT_ZERO_START) && (LongestZerosStart + LongestZerosLength == 8)) {\r
*Ptr++ = L':';\r
}\r
+\r
*Ptr = L'\0';\r
\r
if ((UINTN)Ptr - (UINTN)Buffer > StringSize) {\r
EFI_STATUS\r
EFIAPI\r
NetLibGetSystemGuid (\r
- OUT EFI_GUID *SystemGuid\r
+ OUT EFI_GUID *SystemGuid\r
)\r
{\r
EFI_STATUS Status;\r
ASSERT (SystemGuid != NULL);\r
\r
SmbiosTable = NULL;\r
- Status = EfiGetSystemConfigurationTable (&gEfiSmbios3TableGuid, (VOID **) &Smbios30Table);\r
- if (!(EFI_ERROR (Status) || Smbios30Table == NULL)) {\r
- Smbios.Hdr = (SMBIOS_STRUCTURE *) (UINTN) Smbios30Table->TableAddress;\r
- SmbiosEnd.Raw = (UINT8 *) (UINTN) (Smbios30Table->TableAddress + Smbios30Table->TableMaximumSize);\r
+ Status = EfiGetSystemConfigurationTable (&gEfiSmbios3TableGuid, (VOID **)&Smbios30Table);\r
+ if (!(EFI_ERROR (Status) || (Smbios30Table == NULL))) {\r
+ Smbios.Hdr = (SMBIOS_STRUCTURE *)(UINTN)Smbios30Table->TableAddress;\r
+ SmbiosEnd.Raw = (UINT8 *)(UINTN)(Smbios30Table->TableAddress + Smbios30Table->TableMaximumSize);\r
} else {\r
- Status = EfiGetSystemConfigurationTable (&gEfiSmbiosTableGuid, (VOID **) &SmbiosTable);\r
- if (EFI_ERROR (Status) || SmbiosTable == NULL) {\r
+ Status = EfiGetSystemConfigurationTable (&gEfiSmbiosTableGuid, (VOID **)&SmbiosTable);\r
+ if (EFI_ERROR (Status) || (SmbiosTable == NULL)) {\r
return EFI_NOT_FOUND;\r
}\r
- Smbios.Hdr = (SMBIOS_STRUCTURE *) (UINTN) SmbiosTable->TableAddress;\r
- SmbiosEnd.Raw = (UINT8 *) ((UINTN) SmbiosTable->TableAddress + SmbiosTable->TableLength);\r
+\r
+ Smbios.Hdr = (SMBIOS_STRUCTURE *)(UINTN)SmbiosTable->TableAddress;\r
+ SmbiosEnd.Raw = (UINT8 *)((UINTN)SmbiosTable->TableAddress + SmbiosTable->TableLength);\r
}\r
\r
do {\r
//\r
// Step 1: Skip over formatted section.\r
//\r
- String = (CHAR8 *) (Smbios.Raw + Smbios.Hdr->Length);\r
+ String = (CHAR8 *)(Smbios.Raw + Smbios.Hdr->Length);\r
\r
//\r
- // Step 2: Skip over unformated string section.\r
+ // Step 2: Skip over unformatted string section.\r
//\r
do {\r
//\r
for ( ; *String != 0; String++) {\r
}\r
\r
- if (*(UINT8*)++String == 0) {\r
+ if (*(UINT8 *)++String == 0) {\r
//\r
// Pointer to the next SMBIOS structure.\r
//\r
}\r
} while (TRUE);\r
} while (Smbios.Raw < SmbiosEnd.Raw);\r
+\r
return EFI_NOT_FOUND;\r
}\r
\r
CHAR8 *\r
EFIAPI\r
NetLibCreateDnsQName (\r
- IN CHAR16 *DomainName\r
+ IN CHAR16 *DomainName\r
)\r
{\r
- CHAR8 *QueryName;\r
- UINTN QueryNameSize;\r
- CHAR8 *Header;\r
- CHAR8 *Tail;\r
- UINTN Len;\r
- UINTN Index;\r
+ CHAR8 *QueryName;\r
+ UINTN QueryNameSize;\r
+ CHAR8 *Header;\r
+ CHAR8 *Tail;\r
+ UINTN Len;\r
+ UINTN Index;\r
\r
ASSERT (DomainName != NULL);\r
\r
}\r
\r
Header = QueryName;\r
- Tail = Header + 1;\r
- Len = 0;\r
+ Tail = Header + 1;\r
+ Len = 0;\r
for (Index = 0; DomainName[Index] != 0; Index++) {\r
- *Tail = (CHAR8) DomainName[Index];\r
+ *Tail = (CHAR8)DomainName[Index];\r
if (*Tail == '.') {\r
- *Header = (CHAR8) Len;\r
- Header = Tail;\r
- Tail ++;\r
+ *Header = (CHAR8)Len;\r
+ Header = Tail;\r
+ Tail++;\r
Len = 0;\r
} else {\r
Tail++;\r
Len++;\r
}\r
}\r
- *Header = (CHAR8) Len;\r
- *Tail = 0;\r
+\r
+ *Header = (CHAR8)Len;\r
+ *Tail = 0;\r
\r
return QueryName;\r
}\r