]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Code clean up in NetLib:
authorxdu2 <xdu2@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 30 Dec 2009 13:44:11 +0000 (13:44 +0000)
committerxdu2 <xdu2@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 30 Dec 2009 13:44:11 +0000 (13:44 +0000)
1. Add GLOBAL_REMOVE_IF_UNREFERENCED to all globals
2. Update NTOHL and NTOHS to be BaseLib func SwapBytes32/SwapBytes16
3. Remove duplicate NET_SWAP_SHORT (to use NTOHS instead)

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9648 6f19259b-4bc3-4df7-8a09-765794883524

13 files changed:
MdeModulePkg/Include/Library/NetLib.h
MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.c
MdeModulePkg/Library/DxeNetLib/DxeNetLib.c
MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
MdeModulePkg/Library/DxeNetLib/NetBuffer.c
MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Icmp.c
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Impl.c
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Output.c
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Input.c
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Misc.c
MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Main.c
MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcDhcp.c

index 2eab4a33295c8355c7b275ae36ce3e2f85c2f552..d19e3ac9b186b0390e460278b4af7d2211f824de 100644 (file)
@@ -1,5 +1,5 @@
 /** @file\r
-  Ihis library is only intended to be used by UEFI network stack modules.\r
+  This library is only intended to be used by UEFI network stack modules.\r
   It provides basic functions for the UEFI network stack.\r
 \r
 Copyright (c) 2005 - 2009, Intel Corporation\r
@@ -18,6 +18,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #include <Protocol/Ip6.h>\r
 \r
+#include <Library/BaseLib.h>\r
+\r
 typedef UINT32          IP4_ADDR;\r
 typedef UINT32          TCP_SEQNO;\r
 typedef UINT16          TCP_PORTNO;\r
@@ -160,15 +162,11 @@ typedef struct {
 #define NET_MAC_IS_MULTICAST(Mac, BMac, Len) \\r
     (((*((UINT8 *) Mac) & 0x01) == 0x01) && (!NET_MAC_EQUAL (Mac, BMac, Len)))\r
 \r
-#define NTOHL(x) (UINT32)((((UINT32) (x) & 0xff)     << 24) | \\r
-                          (((UINT32) (x) & 0xff00)   << 8)  | \\r
-                          (((UINT32) (x) & 0xff0000) >> 8)  | \\r
-                          (((UINT32) (x) & 0xff000000) >> 24))\r
+#define NTOHL(x)  SwapBytes32 (x)\r
 \r
 #define HTONL(x)  NTOHL(x)\r
 \r
-#define NTOHS(x)  (UINT16)((((UINT16) (x) & 0xff) << 8) | \\r
-                           (((UINT16) (x) & 0xff00) >> 8))\r
+#define NTOHS(x)  SwapBytes16 (x)\r
 \r
 #define HTONS(x)   NTOHS(x)\r
 #define NTOHLL(x)  SwapBytes64 (x)\r
@@ -199,24 +197,24 @@ typedef struct {
 #define IP6_COPY_LINK_ADDRESS(Mac1, Mac2) (CopyMem ((Mac1), (Mac2), sizeof (EFI_MAC_ADDRESS)))\r
 \r
 //\r
-// The debug level definition. This value is also used as the \r
-// syslog's servity level. Don't change it. \r
+// The debug level definition. This value is also used as the\r
+// syslog's servity level. Don't change it.\r
 //\r
 #define NETDEBUG_LEVEL_TRACE   5\r
 #define NETDEBUG_LEVEL_WARNING 4\r
 #define NETDEBUG_LEVEL_ERROR   3\r
 \r
 //\r
-// Network debug message is sent out as syslog packet. \r
+// Network debug message is sent out as syslog packet.\r
 //\r
-#define NET_SYSLOG_FACILITY    16             // Syslog local facility local use\r
-#define NET_SYSLOG_PACKET_LEN  512  \r
-#define NET_SYSLOG_TX_TIMEOUT  500 *1000 *10  // 500ms\r
-#define NET_DEBUG_MSG_LEN      470            // 512 - (ether+ip4+udp4 head length)\r
+#define NET_SYSLOG_FACILITY    16                 // Syslog local facility local use\r
+#define NET_SYSLOG_PACKET_LEN  512\r
+#define NET_SYSLOG_TX_TIMEOUT  (500 * 1000 * 10)  // 500ms\r
+#define NET_DEBUG_MSG_LEN      470                // 512 - (ether+ip4+udp4 head length)\r
 \r
 //\r
-// The debug output expects the ASCII format string, Use %a to print ASCII \r
-// string, and %s to print UNICODE string. PrintArg must be enclosed in (). \r
+// The debug output expects the ASCII format string, Use %a to print ASCII\r
+// string, and %s to print UNICODE string. PrintArg must be enclosed in ().\r
 // For example: NET_DEBUG_TRACE ("Tcp", ("State transit to %a\n", Name));\r
 //\r
 #define NET_DEBUG_TRACE(Module, PrintArg) \\r
@@ -247,23 +245,23 @@ typedef struct {
     )\r
 \r
 /**\r
-  Allocate a buffer, then format the message to it. This is a \r
-  help function for the NET_DEBUG_XXX macros. The PrintArg of \r
-  these macros treats the variable length print parameters as a \r
+  Allocate a buffer, then format the message to it. This is a\r
+  help function for the NET_DEBUG_XXX macros. The PrintArg of\r
+  these macros treats the variable length print parameters as a\r
   single parameter, and pass it to the NetDebugASPrint. For\r
   example, NET_DEBUG_TRACE ("Tcp", ("State transit to %a\n", Name))\r
-  if extracted to:   \r
-  \r
+  if extracted to:\r
+\r
          NetDebugOutput (\r
-           NETDEBUG_LEVEL_TRACE, \r
-           "Tcp", \r
+           NETDEBUG_LEVEL_TRACE,\r
+           "Tcp",\r
            __FILE__,\r
            __LINE__,\r
-           NetDebugASPrint ("State transit to %a\n", Name) \r
-         )  \r
\r
+           NetDebugASPrint ("State transit to %a\n", Name)\r
+         )\r
+\r
   @param Format  The ASCII format string.\r
-  @param ...     The variable length parameter whose format is determined \r
+  @param ...     The variable length parameter whose format is determined\r
                  by the Format string.\r
 \r
   @return        The buffer containing the formatted message,\r
@@ -290,12 +288,12 @@ NetDebugASPrint (
 \r
   @retval EFI_INVALID_PARAMETER Any input parameter is invalid.\r
   @retval EFI_OUT_OF_RESOURCES  Failed to allocate memory for the packet\r
-  @retval EFI_SUCCESS           The log is discard because that it is more verbose \r
+  @retval EFI_SUCCESS           The log is discard because that it is more verbose\r
                                 than the mNetDebugLevelMax. Or, it has been sent out.\r
-**/  \r
+**/\r
 EFI_STATUS\r
 NetDebugOutput (\r
-  IN UINT32                    Level, \r
+  IN UINT32                    Level,\r
   IN UINT8                     *Module,\r
   IN UINT8                     *File,\r
   IN UINT32                    Line,\r
@@ -304,8 +302,8 @@ NetDebugOutput (
 \r
 \r
 /**\r
-  Return the length of the mask. \r
-  \r
+  Return the length of the mask.\r
+\r
   Return the length of the mask. Valid values are 0 to 32.\r
   If the mask is invalid, return the invalid length 33, which is IP4_MASK_NUM.\r
   NetMask is in the host byte order.\r
@@ -313,7 +311,7 @@ NetDebugOutput (
   @param[in]  NetMask              The netmask to get the length from.\r
 \r
   @return The length of the netmask, or IP4_MASK_NUM (33) if the mask is invalid.\r
-  \r
+\r
 **/\r
 INTN\r
 EFIAPI\r
@@ -324,19 +322,19 @@ NetGetMaskLength (
 /**\r
   Return the class of the IP address, such as class A, B, C.\r
   Addr is in host byte order.\r
-  \r
+\r
   The address of class A  starts with 0.\r
   If the address belong to class A, return IP4_ADDR_CLASSA.\r
-  The address of class B  starts with 10. \r
+  The address of class B  starts with 10.\r
   If the address belong to class B, return IP4_ADDR_CLASSB.\r
-  The address of class C  starts with 110. \r
+  The address of class C  starts with 110.\r
   If the address belong to class C, return IP4_ADDR_CLASSC.\r
-  The address of class D  starts with 1110. \r
+  The address of class D  starts with 1110.\r
   If the address belong to class D, return IP4_ADDR_CLASSD.\r
   The address of class E  starts with 1111.\r
   If the address belong to class E, return IP4_ADDR_CLASSE.\r
 \r
-  \r
+\r
   @param[in]   Addr                  The address to get the class from.\r
 \r
   @return IP address class, such as IP4_ADDR_CLASSA.\r
@@ -351,10 +349,10 @@ NetGetIpClass (
 /**\r
   Check whether the IP is a valid unicast address according to\r
   the netmask. If NetMask is zero, use the IP address's class to get the default mask.\r
-  \r
+\r
   If Ip is 0, IP is not a valid unicast address.\r
   Class D address is used for multicasting and class E address is reserved for future. If Ip\r
-  belongs to class D or class E, Ip is not a valid unicast address. \r
+  belongs to class D or class E, Ip is not a valid unicast address.\r
   If all bits of the host address of Ip are 0 or 1, Ip is not a valid unicast address.\r
 \r
   @param[in]  Ip                    The IP to check against.\r
@@ -377,13 +375,13 @@ NetIp4IsUnicast (
   a valid unicast address. If the address is unspecified ::, it is not a valid\r
   unicast address to be assigned to any node. If the address is loopback address\r
   ::1, it is also not a valid unicast address to be assigned to any physical\r
-  interface. \r
+  interface.\r
 \r
   @param[in]  Ip6                   The IPv6 address to check against.\r
 \r
   @return TRUE if Ip6 is a valid unicast address on the network, otherwise FALSE.\r
 \r
-**/ \r
+**/\r
 BOOLEAN\r
 NetIp6IsValidUnicast (\r
   IN EFI_IPv6_ADDRESS       *Ip6\r
@@ -397,7 +395,7 @@ NetIp6IsValidUnicast (
 \r
   @retval TRUE     - Yes, unspecified\r
   @retval FALSE    - No\r
-  \r
+\r
 **/\r
 BOOLEAN\r
 NetIp6IsUnspecifiedAddr (\r
@@ -411,7 +409,7 @@ NetIp6IsUnspecifiedAddr (
 \r
   @retval TRUE  - Yes, link-local address\r
   @retval FALSE - No\r
-  \r
+\r
 **/\r
 BOOLEAN\r
 NetIp6IsLinkLocalAddr (\r
@@ -427,7 +425,7 @@ NetIp6IsLinkLocalAddr (
 \r
   @retval TRUE            - Yes, connected.\r
   @retval FALSE           - No.\r
-  \r
+\r
 **/\r
 BOOLEAN\r
 NetIp6IsNetEqual (\r
@@ -470,8 +468,8 @@ extern EFI_IPv4_ADDRESS  mZeroIp4Addr;
 \r
 /**\r
   Extract a UINT32 from a byte stream.\r
-  \r
-  This function copies a UINT32 from a byte stream, and then converts it from Network \r
+\r
+  This function copies a UINT32 from a byte stream, and then converts it from Network\r
   byte order to host byte order. Use this function to avoid alignment error.\r
 \r
   @param[in]  Buf                 The buffer to extract the UINT32.\r
@@ -486,14 +484,14 @@ NetGetUint32 (
   );\r
 \r
 /**\r
-  Puts a UINT32 into the byte stream in network byte order. \r
-  \r
-  Converts a UINT32 from host byte order to network byte order, and then copies it to the \r
+  Puts a UINT32 into the byte stream in network byte order.\r
+\r
+  Converts a UINT32 from host byte order to network byte order, and then copies it to the\r
   byte stream.\r
 \r
   @param[in, out]  Buf          The buffer to put the UINT32.\r
   @param[in]      Data          The data to put.\r
-  \r
+\r
 **/\r
 VOID\r
 EFIAPI\r
@@ -504,11 +502,11 @@ NetPutUint32 (
 \r
 /**\r
   Initialize a random seed using current time.\r
-  \r
-  Get current time first. Then initialize a random seed based on some basic \r
-  mathematical operations on the hour, day, minute, second, nanosecond and year \r
+\r
+  Get current time first. Then initialize a random seed based on some basic\r
+  mathematical operations on the hour, day, minute, second, nanosecond and year\r
   of the current time.\r
-  \r
+\r
   @return The random seed, initialized with current time.\r
 \r
 **/\r
@@ -555,16 +553,16 @@ NetRandomInitSeed (
 \r
 /**\r
   Remove the first node entry on the list, and return the removed node entry.\r
-  \r
+\r
   Removes the first node entry from a doubly linked list. It is up to the caller of\r
   this function to release the memory used by the first node, if that is required. On\r
-  exit, the removed node is returned. \r
+  exit, the removed node is returned.\r
 \r
   If Head is NULL, then ASSERT().\r
   If Head was not initialized, then ASSERT().\r
   If PcdMaximumLinkedListLength is not zero, and the number of nodes in the\r
   linked list including the head node is greater than or equal to PcdMaximumLinkedListLength,\r
-  then ASSERT().    \r
+  then ASSERT().\r
 \r
   @param[in, out]  Head                  The list header.\r
 \r
@@ -582,14 +580,14 @@ NetListRemoveHead (
 \r
   Removes the last node entry from a doubly linked list. It is up to the caller of\r
   this function to release the memory used by the first node, if that is required. On\r
-  exit, the removed node is returned. \r
+  exit, the removed node is returned.\r
 \r
   If Head is NULL, then ASSERT().\r
   If Head was not initialized, then ASSERT().\r
   If PcdMaximumLinkedListLength is not zero, and the number of nodes in the\r
   linked list including the head node is greater than or equal to PcdMaximumLinkedListLength,\r
-  then ASSERT(). \r
-  \r
+  then ASSERT().\r
+\r
   @param[in, out]  Head                  The list head.\r
 \r
   @return The last node entry that is removed from the list, NULL if the list is empty.\r
@@ -603,11 +601,11 @@ NetListRemoveTail (
 \r
 /**\r
   Insert a new node entry after a designated node entry of a doubly linked list.\r
-  \r
+\r
   Inserts a new node entry designated by NewEntry after the node entry designated by PrevEntry\r
   of the doubly linked list.\r
\r
-  @param[in, out]  PrevEntry             The entry after which to insert. \r
+\r
+  @param[in, out]  PrevEntry             The entry after which to insert.\r
   @param[in, out]  NewEntry              The new entry to insert.\r
 \r
 **/\r
@@ -620,10 +618,10 @@ NetListInsertAfter (
 \r
 /**\r
   Insert a new node entry before a designated node entry of a doubly linked list.\r
-  \r
+\r
   Inserts a new node entry designated by NewEntry before the node entry designated by PostEntry\r
   of the doubly linked list.\r
\r
+\r
   @param[in, out]  PostEntry             The entry to insert before.\r
   @param[in, out]  NewEntry              The new entry to insert.\r
 \r
@@ -656,15 +654,15 @@ typedef struct {
 \r
 /**\r
   Initialize the netmap. Netmap is a reposity to keep the <Key, Value> pairs.\r
\r
-  Initialize the forward and backward links of two head nodes donated by Map->Used \r
+\r
+  Initialize the forward and backward links of two head nodes donated by Map->Used\r
   and Map->Recycled of two doubly linked lists.\r
   Initializes the count of the <Key, Value> pairs in the netmap to zero.\r
-   \r
+\r
   If Map is NULL, then ASSERT().\r
   If the address of Map->Used is NULL, then ASSERT().\r
   If the address of Map->Recycled is NULl, then ASSERT().\r
\r
+\r
   @param[in, out]  Map                   The netmap to initialize.\r
 \r
 **/\r
@@ -676,13 +674,13 @@ NetMapInit (
 \r
 /**\r
   To clean up the netmap, that is, release allocated memories.\r
-  \r
+\r
   Removes all nodes of the Used doubly linked list and frees memory of all related netmap items.\r
   Removes all nodes of the Recycled doubly linked list and free memory of all related netmap items.\r
   The number of the <Key, Value> pairs in the netmap is set to zero.\r
-  \r
+\r
   If Map is NULL, then ASSERT().\r
-  \r
+\r
   @param[in, out]  Map                   The netmap to clean up.\r
 \r
 **/\r
@@ -694,12 +692,12 @@ NetMapClean (
 \r
 /**\r
   Test whether the netmap is empty and return true if it is.\r
-  \r
+\r
   If the number of the <Key, Value> pairs in the netmap is zero, return TRUE.\r
-   \r
+\r
   If Map is NULL, then ASSERT().\r
\r
-  \r
+\r
+\r
   @param[in]  Map                   The net map to test.\r
 \r
   @return TRUE if the netmap is empty, otherwise FALSE.\r
@@ -727,13 +725,13 @@ NetMapGetCount (
 \r
 /**\r
   Allocate an item to save the <Key, Value> pair to the head of the netmap.\r
-  \r
+\r
   Allocate an item to save the <Key, Value> pair and add corresponding node entry\r
-  to the beginning of the Used doubly linked list. The number of the <Key, Value> \r
+  to the beginning of the Used doubly linked list. The number of the <Key, Value>\r
   pairs in the netmap increase by 1.\r
 \r
   If Map is NULL, then ASSERT().\r
-  \r
+\r
   @param[in, out]  Map                   The netmap to insert into.\r
   @param[in]       Key                   The user's key.\r
   @param[in]       Value                 The user's value for the key.\r
@@ -754,11 +752,11 @@ NetMapInsertHead (
   Allocate an item to save the <Key, Value> pair to the tail of the netmap.\r
 \r
   Allocate an item to save the <Key, Value> pair and add corresponding node entry\r
-  to the tail of the Used doubly linked list. The number of the <Key, Value> \r
+  to the tail of the Used doubly linked list. The number of the <Key, Value>\r
   pairs in the netmap increase by 1.\r
 \r
   If Map is NULL, then ASSERT().\r
-  \r
+\r
   @param[in, out]  Map                   The netmap to insert into.\r
   @param[in]       Key                   The user's key.\r
   @param[in]       Value                 The user's value for the key.\r
@@ -777,12 +775,12 @@ NetMapInsertTail (
 \r
 /**\r
   Finds the key in the netmap and returns the point to the item containing the Key.\r
-  \r
-  Iterate the Used doubly linked list of the netmap to get every item. Compare the key of every \r
+\r
+  Iterate the Used doubly linked list of the netmap to get every item. Compare the key of every\r
   item with the key to search. It returns the point to the item contains the Key if found.\r
 \r
   If Map is NULL, then ASSERT().\r
-  \r
+\r
   @param[in]  Map                   The netmap to search within.\r
   @param[in]  Key                   The key to search.\r
 \r
@@ -798,16 +796,16 @@ NetMapFindKey (
 \r
 /**\r
   Remove the node entry of the item from the netmap and return the key of the removed item.\r
-  \r
-  Remove the node entry of the item from the Used doubly linked list of the netmap. \r
-  The number of the <Key, Value> pairs in the netmap decrease by 1. Then add the node \r
+\r
+  Remove the node entry of the item from the Used doubly linked list of the netmap.\r
+  The number of the <Key, Value> pairs in the netmap decrease by 1. Then add the node\r
   entry of the item to the Recycled doubly linked list of the netmap. If Value is not NULL,\r
   Value will point to the value of the item. It returns the key of the removed item.\r
-  \r
+\r
   If Map is NULL, then ASSERT().\r
   If Item is NULL, then ASSERT().\r
   if item in not in the netmap, then ASSERT().\r
-  \r
+\r
   @param[in, out]  Map                   The netmap to remove the item from.\r
   @param[in, out]  Item                  The item to remove.\r
   @param[out]      Value                 The variable to receive the value if not NULL.\r
@@ -826,14 +824,14 @@ NetMapRemoveItem (
 /**\r
   Remove the first node entry on the netmap and return the key of the removed item.\r
 \r
-  Remove the first node entry from the Used doubly linked list of the netmap. \r
-  The number of the <Key, Value> pairs in the netmap decrease by 1. Then add the node \r
+  Remove the first node entry from the Used doubly linked list of the netmap.\r
+  The number of the <Key, Value> pairs in the netmap decrease by 1. Then add the node\r
   entry to the Recycled doubly linked list of the netmap. If parameter Value is not NULL,\r
   parameter Value will point to the value of the item. It returns the key of the removed item.\r
-  \r
+\r
   If Map is NULL, then ASSERT().\r
   If the Used doubly linked list is empty, then ASSERT().\r
-  \r
+\r
   @param[in, out]  Map                   The netmap to remove the head from.\r
   @param[out]      Value                 The variable to receive the value if not NULL.\r
 \r
@@ -850,14 +848,14 @@ NetMapRemoveHead (
 /**\r
   Remove the last node entry on the netmap and return the key of the removed item.\r
 \r
-  Remove the last node entry from the Used doubly linked list of the netmap. \r
-  The number of the <Key, Value> pairs in the netmap decrease by 1. Then add the node \r
+  Remove the last node entry from the Used doubly linked list of the netmap.\r
+  The number of the <Key, Value> pairs in the netmap decrease by 1. Then add the node\r
   entry to the Recycled doubly linked list of the netmap. If parameter Value is not NULL,\r
   parameter Value will point to the value of the item. It returns the key of the removed item.\r
-  \r
+\r
   If Map is NULL, then ASSERT().\r
   If the Used doubly linked list is empty, then ASSERT().\r
-  \r
+\r
   @param[in, out]  Map                   The netmap to remove the tail from.\r
   @param[out]      Value                 The variable to receive the value if not NULL.\r
 \r
@@ -881,14 +879,14 @@ EFI_STATUS
 \r
 /**\r
   Iterate through the netmap and call CallBack for each item.\r
-  \r
+\r
   It will contiue the traverse if CallBack returns EFI_SUCCESS, otherwise, break\r
-  from the loop. It returns the CallBack's last return value. This function is \r
+  from the loop. It returns the CallBack's last return value. This function is\r
   delete safe for the current item.\r
 \r
   If Map is NULL, then ASSERT().\r
   If CallBack is NULL, then ASSERT().\r
-  \r
+\r
   @param[in]  Map                   The Map to iterate through.\r
   @param[in]  CallBack              The callback function to call for each item.\r
   @param[in]  Arg                   The opaque parameter to the callback.\r
@@ -912,12 +910,12 @@ NetMapIterate (
 //\r
 /**\r
   Create a child of the service that is identified by ServiceBindingGuid.\r
-  \r
+\r
   Get the ServiceBinding Protocol first, then use it to create a child.\r
 \r
   If ServiceBindingGuid is NULL, then ASSERT().\r
   If ChildHandle is NULL, then ASSERT().\r
-  \r
+\r
   @param[in]       Controller            The controller which has the service installed.\r
   @param[in]       Image                 The image handle used to open service.\r
   @param[in]       ServiceBindingGuid    The service's Guid.\r
@@ -938,11 +936,11 @@ NetLibCreateServiceChild (
 \r
 /**\r
   Destroy a child of the service that is identified by ServiceBindingGuid.\r
-  \r
+\r
   Get the ServiceBinding Protocol first, then use it to destroy a child.\r
-  \r
+\r
   If ServiceBindingGuid is NULL, then ASSERT().\r
-  \r
+\r
   @param[in]   Controller            The controller which has the service installed.\r
   @param[in]   Image                 The image handle used to open service.\r
   @param[in]   ServiceBindingGuid    The service's Guid.\r
@@ -977,9 +975,9 @@ NetLibDestroyServiceChild (
                                      get the simple network protocol.\r
   @param[out]  MacString             The pointer to store the address of the string\r
                                      representation of  the mac address.\r
-  \r
-  @retval EFI_SUCCESS           Converted the mac address a unicode string successfully.\r
-  @retval EFI_OUT_OF_RESOURCES  There are not enough memory resources.\r
+\r
+  @retval EFI_SUCCESS           Convert the mac address a unicode string successfully.\r
+  @retval EFI_OUT_OF_RESOURCES  There are not enough memory resource.\r
   @retval Others                Failed to open the simple network protocol.\r
 \r
 **/\r
@@ -993,7 +991,7 @@ NetLibGetMacString (
 \r
 /**\r
   Create an IPv4 device path node.\r
-  \r
+\r
   The header type of IPv4 device path node is MESSAGING_DEVICE_PATH.\r
   The header subtype of IPv4 device path node is MSG_IPv4_DP.\r
   The length of the IPv4 device path node in bytes is 19.\r
@@ -1024,7 +1022,7 @@ NetLibCreateIPv4DPathNode (
 \r
 /**\r
   Create an IPv6 device path node.\r
-  \r
+\r
   The header type of IPv6 device path node is MESSAGING_DEVICE_PATH.\r
   The header subtype of IPv6 device path node is MSG_IPv6_DP.\r
   The length of the IPv6 device path node in bytes is 43.\r
@@ -1054,7 +1052,7 @@ NetLibCreateIPv6DPathNode (
 \r
 /**\r
   Find the UNDI/SNP handle from controller and protocol GUID.\r
-  \r
+\r
   For example, IP will open an MNP child to transmit/receive\r
   packets. When MNP is stopped, IP should also be stopped. IP\r
   needs to find its own private data which is related the IP's\r
@@ -1081,7 +1079,7 @@ NetLibGetNicHandle (
 \r
   Disconnect the driver specified by ImageHandle from all the devices in the handle database.\r
   Uninstall all the protocols installed in the driver entry point.\r
-  \r
+\r
   @param[in]  ImageHandle       The drivers' driver image.\r
 \r
   @retval EFI_SUCCESS           The image is unloaded.\r
@@ -1111,9 +1109,6 @@ NetLibDefaultUnload (
 #define NET_CHECK_SIGNATURE(PData, SIGNATURE) \\r
   ASSERT (((PData) != NULL) && ((PData)->Signature == (SIGNATURE)))\r
 \r
-#define NET_SWAP_SHORT(Value) \\r
-  ((((Value) & 0xff) << 8) | (((Value) >> 8) & 0xff))\r
-\r
 //\r
 // Single memory block in the vector.\r
 //\r
@@ -1255,7 +1250,7 @@ typedef struct {
 \r
   @param[in]  Len              The length of the block.\r
 \r
-  @return                      Pointer to the allocated NET_BUF, or NULL if the \r
+  @return                      Pointer to the allocated NET_BUF, or NULL if the\r
                                allocation failed due to resource limit.\r
 \r
 **/\r
@@ -1267,13 +1262,13 @@ NetbufAlloc (
 \r
 /**\r
   Free the net buffer and its associated NET_VECTOR.\r
\r
+\r
   Decrease the reference count of the net buffer by one. Free the associated net\r
-  vector and itself if the reference count of the net buffer is decreased to 0. \r
-  The net vector free operation decreases the reference count of the net \r
+  vector and itself if the reference count of the net buffer is decreased to 0.\r
+  The net vector free operation decreases the reference count of the net\r
   vector by one, and performs the resource free operation when the reference count\r
-  of the net vector is 0. \r
\r
+  of the net vector is 0.\r
+\r
   @param[in]  Nbuf                  Pointer to the NET_BUF to be freed.\r
 \r
 **/\r
@@ -1284,16 +1279,16 @@ NetbufFree (
   );\r
 \r
 /**\r
-  Get the index of NET_BLOCK_OP that contains the byte at Offset in the net \r
-  buffer. \r
-  \r
-  For example, this function can be used to retrieve the IP header in the packet. It \r
-  also can be used to get the fragment that contains the byte used \r
-  mainly by the library implementation itself. \r
+  Get the index of NET_BLOCK_OP that contains the byte at Offset in the net\r
+  buffer.\r
+\r
+  For example, this function can be used to retrieve the IP header in the packet. It\r
+  also can be used to get the fragment that contains the byte used\r
+  mainly by the library implementation itself.\r
 \r
   @param[in]   Nbuf      Pointer to the net buffer.\r
   @param[in]   Offset    The offset of the byte.\r
-  @param[out]  Index     Index of the NET_BLOCK_OP that contains the byte at \r
+  @param[out]  Index     Index of the NET_BLOCK_OP that contains the byte at\r
                          Offset.\r
 \r
   @return       Pointer to the Offset'th byte of data in the net buffer, or NULL\r
@@ -1309,10 +1304,10 @@ NetbufGetByte (
   );\r
 \r
 /**\r
-  Create a copy of the net buffer that shares the associated net vector. \r
-   \r
-  The reference count of the newly created net buffer is set to 1. The reference \r
-  count of the associated net vector is increased by one. \r
+  Create a copy of the net buffer that shares the associated net vector.\r
+\r
+  The reference count of the newly created net buffer is set to 1. The reference\r
+  count of the associated net vector is increased by one.\r
 \r
   @param[in]  Nbuf              Pointer to the net buffer to be cloned.\r
 \r
@@ -1329,12 +1324,12 @@ NetbufClone (
 /**\r
   Create a duplicated copy of the net buffer with data copied and HeadSpace\r
   bytes of head space reserved.\r
-   \r
+\r
   The duplicated net buffer will allocate its own memory to hold the data of the\r
   source net buffer.\r
-   \r
+\r
   @param[in]       Nbuf         Pointer to the net buffer to be duplicated from.\r
-  @param[in, out]  Duplicate    Pointer to the net buffer to duplicate to, if \r
+  @param[in, out]  Duplicate    Pointer to the net buffer to duplicate to, if\r
                                 NULL a new net buffer is allocated.\r
   @param[in]      HeadSpace     Length of the head space to reserve.\r
 \r
@@ -1351,19 +1346,19 @@ NetbufDuplicate (
   );\r
 \r
 /**\r
-  Create a NET_BUF structure which contains Len byte data of Nbuf starting from \r
-  Offset. \r
-   \r
-  A new NET_BUF structure will be created but the associated data in NET_VECTOR \r
-  is shared. This function exists to do IP packet fragmentation. \r
+  Create a NET_BUF structure which contains Len byte data of Nbuf starting from\r
+  Offset.\r
+\r
+  A new NET_BUF structure will be created but the associated data in NET_VECTOR\r
+  is shared. This function exists to do IP packet fragmentation.\r
 \r
   @param[in]  Nbuf         Pointer to the net buffer to be extracted.\r
-  @param[in]  Offset       Starting point of the data to be included in the new \r
+  @param[in]  Offset       Starting point of the data to be included in the new\r
                            net buffer.\r
-  @param[in]  Len          Bytes of data to be included in the new net buffer. \r
-  @param[in]  HeadSpace    Bytes of head space to reserve for protocol header. \r
+  @param[in]  Len          Bytes of data to be included in the new net buffer.\r
+  @param[in]  HeadSpace    Bytes of head space to reserve for protocol header.\r
 \r
-  @return                  Pointer to the cloned net buffer, or NULL if the \r
+  @return                  Pointer to the cloned net buffer, or NULL if the\r
                            allocation failed due to resource limit.\r
 \r
 **/\r
@@ -1379,10 +1374,10 @@ NetbufGetFragment (
 /**\r
   Reserve some space in the header room of the net buffer.\r
 \r
-  Upon allocation, all the space is in the tail room of the buffer. Call this \r
+  Upon allocation, all the space is in the tail room of the buffer. Call this\r
   function to move some space to the header room. This function is quite limited\r
-  in that it can only reserve space from the first block of an empty NET_BUF not \r
-  built from the external. But it should be enough for the network stack. \r
+  in that it can only reserve space from the first block of an empty NET_BUF not\r
+  built from the external. But it should be enough for the network stack.\r
 \r
   @param[in, out]  Nbuf     Pointer to the net buffer.\r
   @param[in]       Len      The length of buffer to be reserved from the header.\r
@@ -1396,14 +1391,14 @@ NetbufReserve (
   );\r
 \r
 /**\r
-  Allocate Len bytes of space from the header or tail of the buffer. \r
+  Allocate Len bytes of space from the header or tail of the buffer.\r
 \r
   @param[in, out]  Nbuf       Pointer to the net buffer.\r
   @param[in]       Len        The length of the buffer to be allocated.\r
-  @param[in]       FromHead   The flag to indicate whether reserve the data \r
+  @param[in]       FromHead   The flag to indicate whether reserve the data\r
                               from head (TRUE) or tail (FALSE).\r
 \r
-  @return                     Pointer to the first byte of the allocated buffer, \r
+  @return                     Pointer to the first byte of the allocated buffer,\r
                               or NULL if there is no sufficient space.\r
 \r
 **/\r
@@ -1416,14 +1411,14 @@ NetbufAllocSpace (
   );\r
 \r
 /**\r
-  Trim Len bytes from the header or tail of the net buffer. \r
+  Trim Len bytes from the header or tail of the net buffer.\r
 \r
   @param[in, out]  Nbuf         Pointer to the net buffer.\r
   @param[in]       Len          The length of the data to be trimmed.\r
-  @param[in]      FromHead      The flag to indicate whether trim data from head \r
+  @param[in]      FromHead      The flag to indicate whether trim data from head\r
                                 (TRUE) or tail (FALSE).\r
 \r
-  @return    Length of the actually trimmed data, which may be less \r
+  @return    Length of the actually trimmed data, which may be less\r
              than Len if the TotalSize of Nbuf is less than Len.\r
 \r
 **/\r
@@ -1436,11 +1431,11 @@ NetbufTrim (
   );\r
 \r
 /**\r
-  Copy Len bytes of data from the specific offset of the net buffer to the \r
+  Copy Len bytes of data from the specific offset of the net buffer to the\r
   destination memory.\r
\r
+\r
   The Len bytes of data may cross several fragments of the net buffer.\r
\r
+\r
   @param[in]   Nbuf         Pointer to the net buffer.\r
   @param[in]   Offset       The sequence number of the first byte to copy.\r
   @param[in]   Len          Length of the data to copy.\r
@@ -1460,8 +1455,8 @@ NetbufCopy (
   );\r
 \r
 /**\r
-  Build a NET_BUF from external blocks. \r
-   \r
+  Build a NET_BUF from external blocks.\r
+\r
   A new NET_BUF structure will be created from external blocks. An additional block\r
   of memory will be allocated to hold reserved HeadSpace bytes of header room\r
   and existing HeadLen bytes of header, but the external blocks are shared by the\r
@@ -1476,7 +1471,7 @@ NetbufCopy (
   @param[in]  Arg                   The argument passed to ExtFree when ExtFree is\r
                                     called.\r
 \r
-  @return                  Pointer to the net buffer built from the data blocks, \r
+  @return                  Pointer to the net buffer built from the data blocks,\r
                            or NULL if the allocation failed due to resource\r
                            limit.\r
 \r
@@ -1494,13 +1489,13 @@ NetbufFromExt (
 \r
 /**\r
   Build a fragment table to contain the fragments in the net buffer. This is the\r
-  opposite operation of the NetbufFromExt. \r
-   \r
+  opposite operation of the NetbufFromExt.\r
+\r
   @param[in]       Nbuf                  Point to the net buffer.\r
   @param[in, out]  ExtFragment           Pointer to the data block.\r
   @param[in, out]  ExtNum                The number of the data blocks.\r
 \r
-  @retval EFI_BUFFER_TOO_SMALL  The number of non-empty blocks is bigger than \r
+  @retval EFI_BUFFER_TOO_SMALL  The number of non-empty blocks is bigger than\r
                                 ExtNum.\r
   @retval EFI_SUCCESS           Fragment table is built successfully.\r
 \r
@@ -1515,10 +1510,10 @@ NetbufBuildExt (
 \r
 /**\r
   Build a net buffer from a list of net buffers.\r
-   \r
-  All the fragments will be collected from the list of NEW_BUF and then a new \r
-  net buffer will be created through NetbufFromExt. \r
-   \r
+\r
+  All the fragments will be collected from the list of NEW_BUF and then a new\r
+  net buffer will be created through NetbufFromExt.\r
+\r
   @param[in]   BufList    A List of the net buffer.\r
   @param[in]   HeadSpace  The head space to be reserved.\r
   @param[in]   HeaderLen  The length of the protocol header. The function\r
@@ -1526,7 +1521,7 @@ NetbufBuildExt (
   @param[in]   ExtFree    Pointer to the caller provided free function.\r
   @param[in]   Arg        The argument passed to ExtFree when ExtFree is called.\r
 \r
-  @return                 Pointer to the net buffer built from the list of net \r
+  @return                 Pointer to the net buffer built from the list of net\r
                           buffers.\r
 \r
 **/\r
@@ -1578,10 +1573,10 @@ NetbufQueAlloc (
   );\r
 \r
 /**\r
-  Free a net buffer queue. \r
-   \r
+  Free a net buffer queue.\r
+\r
   Decrease the reference count of the net buffer queue by one. The real resource\r
-  free operation isn't performed until the reference count of the net buffer \r
+  free operation isn't performed until the reference count of the net buffer\r
   queue is decreased to 0.\r
 \r
   @param[in]  NbufQue               Pointer to the net buffer queue to be freed.\r
@@ -1598,7 +1593,7 @@ NetbufQueFree (
 \r
   @param[in, out]  NbufQue               Pointer to the net buffer queue.\r
 \r
-  @return           Pointer to the net buffer removed from the specific queue, \r
+  @return           Pointer to the net buffer removed from the specific queue,\r
                     or NULL if there is no net buffer in the specific queue.\r
 \r
 **/\r
@@ -1625,16 +1620,16 @@ NetbufQueAppend (
 /**\r
   Copy Len bytes of data from the net buffer queue at the specific offset to the\r
   destination memory.\r
\r
+\r
   The copying operation is the same as NetbufCopy but applies to the net buffer\r
   queue instead of the net buffer.\r
\r
+\r
   @param[in]   NbufQue         Pointer to the net buffer queue.\r
   @param[in]   Offset          The sequence number of the first byte to copy.\r
   @param[in]   Len             Length of the data to copy.\r
   @param[out]  Dest            The destination of the data to copy to.\r
 \r
-  @return       The length of the actual copied data, or 0 if the offset \r
+  @return       The length of the actual copied data, or 0 if the offset\r
                 specified exceeds the total size of net buffer queue.\r
 \r
 **/\r
@@ -1648,9 +1643,9 @@ NetbufQueCopy (
   );\r
 \r
 /**\r
-  Trim Len bytes of data from the queue header and release any net buffer \r
+  Trim Len bytes of data from the queue header and release any net buffer\r
   that is trimmed wholely.\r
-   \r
+\r
   The trimming operation is the same as NetbufTrim but applies to the net buffer\r
   queue instead of the net buffer.\r
 \r
@@ -1727,8 +1722,8 @@ NetbufChecksum (
   );\r
 \r
 /**\r
-  Compute the checksum for TCP/UDP pseudo header. \r
-   \r
+  Compute the checksum for TCP/UDP pseudo header.\r
+\r
   Src and Dst are in network byte order, and Len is in host byte order.\r
 \r
   @param[in]   Src                   The source address of the packet.\r
@@ -1749,8 +1744,8 @@ NetPseudoHeadChecksum (
   );\r
 \r
 /**\r
-  Compute the checksum for TCP6/UDP6 pseudo header. \r
-   \r
+  Compute the checksum for TCP6/UDP6 pseudo header.\r
+\r
   Src and Dst are in network byte order, and Len is in host byte order.\r
 \r
   @param[in]   Src                   The source address of the packet.\r
index 4df49a5e7bbbdb4310f238516dbcb5576be063fc..9ed7b8ddfbf4f049685465b7599676820d4d6163 100644 (file)
@@ -24,12 +24,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/DpcLib.h>\r
 \r
 \r
-LIST_ENTRY  mActiveIpIoList = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED LIST_ENTRY  mActiveIpIoList = {\r
   &mActiveIpIoList,\r
   &mActiveIpIoList\r
 };\r
 \r
-EFI_IP4_CONFIG_DATA  mIp4IoDefaultIpConfigData = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_IP4_CONFIG_DATA  mIp4IoDefaultIpConfigData = {\r
   EFI_IP_PROTO_UDP,\r
   FALSE,\r
   TRUE,\r
@@ -46,7 +46,7 @@ EFI_IP4_CONFIG_DATA  mIp4IoDefaultIpConfigData = {
   0\r
 };\r
 \r
-EFI_IP6_CONFIG_DATA  mIp6IoDefaultIpConfigData = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_IP6_CONFIG_DATA  mIp6IoDefaultIpConfigData = {\r
   EFI_IP_PROTO_UDP,\r
   FALSE,\r
   TRUE,\r
@@ -60,7 +60,7 @@ EFI_IP6_CONFIG_DATA  mIp6IoDefaultIpConfigData = {
   0\r
 };\r
 \r
-ICMP_ERROR_INFO  mIcmpErrMap[10] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED ICMP_ERROR_INFO  mIcmpErrMap[10] = {\r
   {FALSE, TRUE }, // ICMP_ERR_UNREACH_NET\r
   {FALSE, TRUE }, // ICMP_ERR_UNREACH_HOST\r
   {TRUE,  TRUE }, // ICMP_ERR_UNREACH_PROTOCOL\r
@@ -73,7 +73,7 @@ ICMP_ERROR_INFO  mIcmpErrMap[10] = {
   {FALSE, TRUE }  // ICMP_ERR_PARAMPROB\r
 };\r
 \r
-ICMP_ERROR_INFO  mIcmp6ErrMap[10] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED ICMP_ERROR_INFO  mIcmp6ErrMap[10] = {\r
   {FALSE, TRUE}, // ICMP6_ERR_UNREACH_NET\r
   {FALSE, TRUE}, // ICMP6_ERR_UNREACH_HOST\r
   {TRUE,  TRUE}, // ICMP6_ERR_UNREACH_PROTOCOL\r
index b42054f544777b46e144acc824eb7ee8a8c1194d..ffcd70ca844109d3171ef01b10e11d5d2bf4efdd 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
   Network library.\r
-  \r
+\r
 Copyright (c) 2005 - 2009, Intel Corporation.<BR>\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
@@ -16,6 +16,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Protocol/DriverBinding.h>\r
 #include <Protocol/ServiceBinding.h>\r
 #include <Protocol/SimpleNetwork.h>\r
+#include <Protocol/ManagedNetwork.h>\r
 #include <Protocol/HiiConfigRouting.h>\r
 #include <Protocol/ComponentName.h>\r
 #include <Protocol/ComponentName2.h>\r
@@ -33,14 +34,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/HiiLib.h>\r
 #include <Library/PrintLib.h>\r
 \r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 mNetLibHexStr[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};\r
-\r
 #define NIC_ITEM_CONFIG_SIZE   sizeof (NIC_IP4_CONFIG_INFO) + sizeof (EFI_IP4_ROUTE_TABLE) * MAX_IP4_CONFIG_IN_VARIABLE\r
 \r
 //\r
 // All the supported IP4 maskes in host byte order.\r
 //\r
-IP4_ADDR  gIp4AllMasks[IP4_MASK_NUM] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED IP4_ADDR  gIp4AllMasks[IP4_MASK_NUM] = {\r
   0x00000000,\r
   0x80000000,\r
   0xC0000000,\r
@@ -79,26 +78,25 @@ IP4_ADDR  gIp4AllMasks[IP4_MASK_NUM] = {
   0xFFFFFFFF,\r
 };\r
 \r
-EFI_IPv4_ADDRESS  mZeroIp4Addr = {{0, 0, 0, 0}};\r
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_IPv4_ADDRESS  mZeroIp4Addr = {{0, 0, 0, 0}};\r
 \r
 //\r
-// Any error level digitally larger than mNetDebugLevelMax \r
+// Any error level digitally larger than mNetDebugLevelMax\r
 // will be silently discarded.\r
 //\r
-UINTN  mNetDebugLevelMax = NETDEBUG_LEVEL_ERROR;\r
-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
-UINT8  mSyslogDstMac[NET_ETHER_ADDR_LEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};\r
-UINT32 mSyslogDstIp                      = 0xffffffff;\r
-UINT32 mSyslogSrcIp                      = 0;\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
 \r
-CHAR8 *\r
-mMonthName[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 *mMonthName[] = {\r
   "Jan",\r
   "Feb",\r
   "Mar",\r
@@ -114,7 +112,7 @@ mMonthName[] = {
 };\r
 \r
 /**\r
-  Locate the handles that support SNP, then open one of them \r
+  Locate the handles that support SNP, then open one of them\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
@@ -147,12 +145,12 @@ SyslogLocateSnp (
   if (EFI_ERROR (Status) || (HandleCount == 0)) {\r
     return NULL;\r
   }\r
-  \r
+\r
   //\r
   // Try to open one of the ethernet SNP protocol to send packet\r
   //\r
   Snp = NULL;\r
-  \r
+\r
   for (Index = 0; Index < HandleCount; Index++) {\r
     Status = gBS->HandleProtocol (\r
                     Handles[Index],\r
@@ -160,10 +158,10 @@ SyslogLocateSnp (
                     (VOID **) &Snp\r
                     );\r
 \r
-    if ((Status == EFI_SUCCESS) && (Snp != NULL) && \r
+    if ((Status == EFI_SUCCESS) && (Snp != NULL) &&\r
         (Snp->Mode->IfType == NET_IFTYPE_ETHERNET) &&\r
         (Snp->Mode->MaxPacketSize >= NET_SYSLOG_PACKET_LEN)) {\r
-        \r
+\r
       break;\r
     }\r
 \r
@@ -176,18 +174,18 @@ SyslogLocateSnp (
 \r
 /**\r
   Transmit a syslog packet synchronously through SNP. The Packet\r
-  already has the ethernet header prepended. This function should \r
+  already has the ethernet header prepended. This function should\r
   fill in the source MAC because it will try to locate a SNP each\r
   time it is called to avoid the problem if SNP is unloaded.\r
-  This code snip is copied from MNP. \r
+  This code snip is copied from MNP.\r
+\r
+  @param[in] Packet          The Syslog packet\r
+  @param[in] Length          The length of the packet\r
 \r
-  @param[in] Packet  - The Syslog packet \r
-  @param[in] Length  - The length of the packet\r
+  @retval EFI_DEVICE_ERROR   Failed to locate a usable SNP protocol\r
+  @retval EFI_TIMEOUT        Timeout happened to send the packet.\r
+  @retval EFI_SUCCESS        Packet is sent.\r
 \r
-  @retval EFI_DEVICE_ERROR - Failed to locate a usable SNP protocol\r
-  @retval EFI_TIMEOUT      - Timeout happened to send the packet.\r
-  @retval EFI_SUCCESS      - Packet is sent.\r
-  \r
 **/\r
 EFI_STATUS\r
 SyslogSendPacket (\r
@@ -241,7 +239,7 @@ SyslogSendPacket (
       Status = EFI_DEVICE_ERROR;\r
       break;\r
     }\r
-    \r
+\r
     //\r
     // If Status is EFI_SUCCESS, the packet is put in the transmit queue.\r
     // if Status is EFI_NOT_READY, the transmit engine of the network\r
@@ -265,7 +263,7 @@ SyslogSendPacket (
     if ((Status == EFI_SUCCESS) || (Status == EFI_TIMEOUT)) {\r
       break;\r
     }\r
-    \r
+\r
     //\r
     // Status is EFI_NOT_READY. Restart the timer event and\r
     // call Snp->Transmit again.\r
@@ -281,20 +279,18 @@ ON_EXIT:
 }\r
 \r
 /**\r
-  Build a syslog packet, including the Ethernet/Ip/Udp headers \r
-  and user's message. \r
-  \r
-  @param[in]  Level   - Syslog servity level\r
-  @param[in]  Module  - The module that generates the log\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[out] Buf     - The buffer to put the packet data\r
+  Build a syslog packet, including the Ethernet/Ip/Udp headers\r
+  and user's message.\r
 \r
-Returns:\r
+  @param[in]  Level     Syslog servity level\r
+  @param[in]  Module    The module that generates the log\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[out] Buf       The buffer to put the packet data\r
 \r
-  The length of the syslog packet built.\r
+  @return The length of the syslog packet built.\r
 \r
 **/\r
 UINT32\r
@@ -305,7 +301,7 @@ SyslogBuildPacket (
   IN  UINT32                Line,\r
   IN  UINT8                 *Message,\r
   IN  UINT32                BufLen,\r
-  OUT CHAR8                 *Buf  \r
+  OUT CHAR8                 *Buf\r
   )\r
 {\r
   ETHER_HEAD                *Ether;\r
@@ -316,7 +312,7 @@ SyslogBuildPacket (
   UINT32                    Len;\r
 \r
   //\r
-  // Fill in the Ethernet header. Leave alone the source MAC. \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
@@ -374,7 +370,7 @@ SyslogBuildPacket (
                     BufLen,\r
                     "<%d> %a %d %d:%d:%d ",\r
                     Pri,\r
-                    mMonthName [Time.Month-1], \r
+                    mMonthName [Time.Month-1],\r
                     Time.Day,\r
                     Time.Hour,\r
                     Time.Minute,\r
@@ -383,9 +379,9 @@ SyslogBuildPacket (
   Len--;\r
 \r
   Len += (UINT32) AsciiSPrint (\r
-                    Buf + Len, \r
-                    BufLen - Len, \r
-                    "Tiano %a: %a (Line: %d File: %a)", \r
+                    Buf + Len,\r
+                    BufLen - Len,\r
+                    "Tiano %a: %a (Line: %d File: %a)",\r
                     Module,\r
                     Message,\r
                     Line,\r
@@ -407,23 +403,23 @@ SyslogBuildPacket (
 }\r
 \r
 /**\r
-  Allocate a buffer, then format the message to it. This is a \r
-  help function for the NET_DEBUG_XXX macros. The PrintArg of \r
-  these macros treats the variable length print parameters as a \r
+  Allocate a buffer, then format the message to it. This is a\r
+  help function for the NET_DEBUG_XXX macros. The PrintArg of\r
+  these macros treats the variable length print parameters as a\r
   single parameter, and pass it to the NetDebugASPrint. For\r
   example, NET_DEBUG_TRACE ("Tcp", ("State transit to %a\n", Name))\r
-  if extracted to:   \r
-  \r
+  if extracted to:\r
+\r
          NetDebugOutput (\r
-           NETDEBUG_LEVEL_TRACE, \r
-           "Tcp", \r
+           NETDEBUG_LEVEL_TRACE,\r
+           "Tcp",\r
            __FILE__,\r
            __LINE__,\r
-           NetDebugASPrint ("State transit to %a\n", Name) \r
-         )  \r
\r
+           NetDebugASPrint ("State transit to %a\n", Name)\r
+         )\r
+\r
   @param Format  The ASCII format string.\r
-  @param ...     The variable length parameter whose format is determined \r
+  @param ...     The variable length parameter whose format is determined\r
                  by the Format string.\r
 \r
   @return        The buffer containing the formatted message,\r
@@ -466,12 +462,12 @@ NetDebugASPrint (
 \r
   @retval EFI_INVALID_PARAMETER Any input parameter is invalid.\r
   @retval EFI_OUT_OF_RESOURCES  Failed to allocate memory for the packet\r
-  @retval EFI_SUCCESS           The log is discard because that it is more verbose \r
+  @retval EFI_SUCCESS           The log is discard because that it is more verbose\r
                                 than the mNetDebugLevelMax. Or, it has been sent out.\r
-**/  \r
+**/\r
 EFI_STATUS\r
 NetDebugOutput (\r
-  IN UINT32                    Level, \r
+  IN UINT32                    Level,\r
   IN UINT8                     *Module,\r
   IN UINT8                     *File,\r
   IN UINT32                    Line,\r
@@ -493,7 +489,7 @@ NetDebugOutput (
     Status = EFI_SUCCESS;\r
     goto ON_EXIT;\r
   }\r
-  \r
+\r
   //\r
   // Allocate a maxium of 1024 bytes, the caller should ensure\r
   // that the message plus the ethernet/ip/udp header is shorter\r
@@ -505,7 +501,7 @@ NetDebugOutput (
     Status = EFI_OUT_OF_RESOURCES;\r
     goto ON_EXIT;\r
   }\r
-  \r
+\r
   //\r
   // Build the message: Ethernet header + IP header + Udp Header + user data\r
   //\r
@@ -528,8 +524,8 @@ ON_EXIT:
   return Status;\r
 }\r
 /**\r
-  Return the length of the mask. \r
-  \r
+  Return the length of the mask.\r
+\r
   Return the length of the mask, the correct value is from 0 to 32.\r
   If the mask is invalid, return the invalid length 33, which is IP4_MASK_NUM.\r
   NetMask is in the host byte order.\r
@@ -537,7 +533,7 @@ ON_EXIT:
   @param[in]  NetMask              The netmask to get the length from.\r
 \r
   @return The length of the netmask, IP4_MASK_NUM if the mask is invalid.\r
-  \r
+\r
 **/\r
 INTN\r
 EFIAPI\r
@@ -561,19 +557,19 @@ NetGetMaskLength (
 /**\r
   Return the class of the IP address, such as class A, B, C.\r
   Addr is in host byte order.\r
-  \r
+\r
   The address of class A  starts with 0.\r
   If the address belong to class A, return IP4_ADDR_CLASSA.\r
-  The address of class B  starts with 10. \r
+  The address of class B  starts with 10.\r
   If the address belong to class B, return IP4_ADDR_CLASSB.\r
-  The address of class C  starts with 110. \r
+  The address of class C  starts with 110.\r
   If the address belong to class C, return IP4_ADDR_CLASSC.\r
-  The address of class D  starts with 1110. \r
+  The address of class D  starts with 1110.\r
   If the address belong to class D, return IP4_ADDR_CLASSD.\r
   The address of class E  starts with 1111.\r
   If the address belong to class E, return IP4_ADDR_CLASSE.\r
 \r
-  \r
+\r
   @param[in]   Addr                  The address to get the class from.\r
 \r
   @return IP address class, such as IP4_ADDR_CLASSA.\r
@@ -611,10 +607,10 @@ NetGetIpClass (
 /**\r
   Check whether the IP is a valid unicast address according to\r
   the netmask. If NetMask is zero, use the IP address's class to get the default mask.\r
-  \r
+\r
   If Ip is 0, IP is not a valid unicast address.\r
   Class D address is used for multicasting and class E address is reserved for future. If Ip\r
-  belongs to class D or class E, IP is not a valid unicast address. \r
+  belongs to class D or class E, IP is not a valid unicast address.\r
   If all bits of the host address of IP are 0 or 1, IP is also not a valid unicast address.\r
 \r
   @param[in]  Ip                    The IP to check against.\r
@@ -656,21 +652,21 @@ NetIp4IsUnicast (
   a valid unicast address. If the address is unspecified ::, it is not a valid\r
   unicast address to be assigned to any node. If the address is loopback address\r
   ::1, it is also not a valid unicast address to be assigned to any physical\r
-  interface. \r
+  interface.\r
 \r
   @param[in]  Ip6                   The IPv6 address to check against.\r
 \r
   @return TRUE if Ip6 is a valid unicast address on the network, otherwise FALSE.\r
 \r
-**/ \r
+**/\r
 BOOLEAN\r
 NetIp6IsValidUnicast (\r
   IN EFI_IPv6_ADDRESS       *Ip6\r
-  ) \r
+  )\r
 {\r
   UINT8 Byte;\r
   UINT8 Index;\r
-  \r
+\r
   if (Ip6->Addr[0] == 0xFF) {\r
     return FALSE;\r
   }\r
@@ -687,7 +683,7 @@ NetIp6IsValidUnicast (
     return FALSE;\r
   }\r
 \r
-  return TRUE;  \r
+  return TRUE;\r
 }\r
 \r
 /**\r
@@ -697,7 +693,7 @@ NetIp6IsValidUnicast (
 \r
   @retval TRUE     - Yes, unspecified\r
   @retval FALSE    - No\r
-  \r
+\r
 **/\r
 BOOLEAN\r
 NetIp6IsUnspecifiedAddr (\r
@@ -722,7 +718,7 @@ NetIp6IsUnspecifiedAddr (
 \r
   @retval TRUE  - Yes, link-local address\r
   @retval FALSE - No\r
-  \r
+\r
 **/\r
 BOOLEAN\r
 NetIp6IsLinkLocalAddr (\r
@@ -730,13 +726,13 @@ NetIp6IsLinkLocalAddr (
   )\r
 {\r
   UINT8 Index;\r
-  \r
+\r
   ASSERT (Ip6 != NULL);\r
 \r
   if (Ip6->Addr[0] != 0xFE) {\r
     return FALSE;\r
   }\r
-  \r
+\r
   if (Ip6->Addr[1] != 0x80) {\r
     return FALSE;\r
   }\r
@@ -759,7 +755,7 @@ NetIp6IsLinkLocalAddr (
 \r
   @retval TRUE            - Yes, connected.\r
   @retval FALSE           - No.\r
-  \r
+\r
 **/\r
 BOOLEAN\r
 NetIp6IsNetEqual (\r
@@ -773,14 +769,14 @@ NetIp6IsNetEqual (
   UINT8 Mask;\r
 \r
   ASSERT (Ip1 != NULL && Ip2 != NULL);\r
-  \r
+\r
   if (PrefixLength == 0) {\r
     return TRUE;\r
   }\r
 \r
   Byte = (UINT8) (PrefixLength / 8);\r
   Bit  = (UINT8) (PrefixLength % 8);\r
-  \r
+\r
   if (CompareMem (Ip1, Ip2, Byte) != 0) {\r
     return FALSE;\r
   }\r
@@ -790,9 +786,9 @@ NetIp6IsNetEqual (
 \r
     if ((Ip1->Addr[Byte] & Mask) != (Ip2->Addr[Byte] & Mask)) {\r
       return FALSE;\r
-    }    \r
+    }\r
   }\r
-  \r
+\r
   return TRUE;\r
 }\r
 \r
@@ -831,11 +827,11 @@ Ip6Swap128 (
 \r
 /**\r
   Initialize a random seed using current time.\r
-  \r
-  Get current time first. Then initialize a random seed based on some basic \r
-  mathematics operation on the hour, day, minute, second, nanosecond and year \r
+\r
+  Get current time first. Then initialize a random seed based on some basic\r
+  mathematics operation on the hour, day, minute, second, nanosecond and year\r
   of the current time.\r
-  \r
+\r
   @return The random seed initialized with current time.\r
 \r
 **/\r
@@ -859,8 +855,8 @@ NetRandomInitSeed (
 \r
 /**\r
   Extract a UINT32 from a byte stream.\r
-  \r
-  Copy a UINT32 from a byte stream, then converts it from Network \r
+\r
+  Copy a UINT32 from a byte stream, then converts it from Network\r
   byte order to host byte order. Use this function to avoid alignment error.\r
 \r
   @param[in]  Buf                 The buffer to extract the UINT32.\r
@@ -882,14 +878,14 @@ NetGetUint32 (
 \r
 \r
 /**\r
-  Put a UINT32 to the byte stream in network byte order. \r
-  \r
-  Converts a UINT32 from host byte order to network byte order. Then copy it to the \r
+  Put a UINT32 to the byte stream in network byte order.\r
+\r
+  Converts a UINT32 from host byte order to network byte order. Then copy it to the\r
   byte stream.\r
 \r
   @param[in, out]  Buf          The buffer to put the UINT32.\r
   @param[in]      Data          The data to put.\r
-  \r
+\r
 **/\r
 VOID\r
 EFIAPI\r
@@ -905,16 +901,16 @@ NetPutUint32 (
 \r
 /**\r
   Remove the first node entry on the list, and return the removed node entry.\r
-  \r
+\r
   Removes the first node Entry from a doubly linked list. It is up to the caller of\r
   this function to release the memory used by the first node if that is required. On\r
-  exit, the removed node is returned. \r
+  exit, the removed node is returned.\r
 \r
   If Head is NULL, then ASSERT().\r
   If Head was not initialized, then ASSERT().\r
   If PcdMaximumLinkedListLength is not zero, and the number of nodes in the\r
   linked list including the head node is greater than or equal to PcdMaximumLinkedListLength,\r
-  then ASSERT().    \r
+  then ASSERT().\r
 \r
   @param[in, out]  Head                  The list header.\r
 \r
@@ -953,14 +949,14 @@ NetListRemoveHead (
 \r
   Removes the last node entry from a doubly linked list. It is up to the caller of\r
   this function to release the memory used by the first node if that is required. On\r
-  exit, the removed node is returned. \r
+  exit, the removed node is returned.\r
 \r
   If Head is NULL, then ASSERT().\r
   If Head was not initialized, then ASSERT().\r
   If PcdMaximumLinkedListLength is not zero, and the number of nodes in the\r
   linked list including the head node is greater than or equal to PcdMaximumLinkedListLength,\r
-  then ASSERT(). \r
-  \r
+  then ASSERT().\r
+\r
   @param[in, out]  Head                  The list head.\r
 \r
   @return The last node entry that is removed from the list, NULL if the list is empty.\r
@@ -995,10 +991,10 @@ NetListRemoveTail (
 \r
 /**\r
   Insert a new node entry after a designated node entry of a doubly linked list.\r
-  \r
+\r
   Inserts a new node entry donated by NewEntry after the node entry donated by PrevEntry\r
   of the doubly linked list.\r
\r
+\r
   @param[in, out]  PrevEntry             The previous entry to insert after.\r
   @param[in, out]  NewEntry              The new entry to insert.\r
 \r
@@ -1019,10 +1015,10 @@ NetListInsertAfter (
 \r
 /**\r
   Insert a new node entry before a designated node entry of a doubly linked list.\r
-  \r
+\r
   Inserts a new node entry donated by NewEntry after the node entry donated by PostEntry\r
   of the doubly linked list.\r
\r
+\r
   @param[in, out]  PostEntry             The entry to insert before.\r
   @param[in, out]  NewEntry              The new entry to insert.\r
 \r
@@ -1043,15 +1039,15 @@ NetListInsertBefore (
 \r
 /**\r
   Initialize the netmap. Netmap is a reposity to keep the <Key, Value> pairs.\r
\r
-  Initialize the forward and backward links of two head nodes donated by Map->Used \r
+\r
+  Initialize the forward and backward links of two head nodes donated by Map->Used\r
   and Map->Recycled of two doubly linked lists.\r
   Initializes the count of the <Key, Value> pairs in the netmap to zero.\r
-   \r
+\r
   If Map is NULL, then ASSERT().\r
   If the address of Map->Used is NULL, then ASSERT().\r
   If the address of Map->Recycled is NULl, then ASSERT().\r
\r
+\r
   @param[in, out]  Map                   The netmap to initialize.\r
 \r
 **/\r
@@ -1071,13 +1067,13 @@ NetMapInit (
 \r
 /**\r
   To clean up the netmap, that is, release allocated memories.\r
-  \r
+\r
   Removes all nodes of the Used doubly linked list and free memory of all related netmap items.\r
   Removes all nodes of the Recycled doubly linked list and free memory of all related netmap items.\r
   The number of the <Key, Value> pairs in the netmap is set to be zero.\r
-  \r
+\r
   If Map is NULL, then ASSERT().\r
-  \r
+\r
   @param[in, out]  Map                   The netmap to clean up.\r
 \r
 **/\r
@@ -1117,12 +1113,12 @@ NetMapClean (
 \r
 /**\r
   Test whether the netmap is empty and return true if it is.\r
-  \r
+\r
   If the number of the <Key, Value> pairs in the netmap is zero, return TRUE.\r
-   \r
+\r
   If Map is NULL, then ASSERT().\r
\r
-  \r
+\r
+\r
   @param[in]  Map                   The net map to test.\r
 \r
   @return TRUE if the netmap is empty, otherwise FALSE.\r
@@ -1158,15 +1154,15 @@ NetMapGetCount (
 \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
+  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
   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
   If Map is NULL, then ASSERT().\r
-  \r
+\r
   @param[in, out]  Map          The netmap to allocate item for.\r
 \r
   @return                       The allocated item. If NULL, the\r
@@ -1211,13 +1207,13 @@ NetMapAllocItem (
 \r
 /**\r
   Allocate an item to save the <Key, Value> pair to the head of the netmap.\r
-  \r
+\r
   Allocate an item to save the <Key, Value> pair and add corresponding node entry\r
-  to the beginning of the Used doubly linked list. The number of the <Key, Value> \r
+  to the beginning of the Used doubly linked list. The number of the <Key, Value>\r
   pairs in the netmap increase by 1.\r
 \r
   If Map is NULL, then ASSERT().\r
-  \r
+\r
   @param[in, out]  Map                   The netmap to insert into.\r
   @param[in]       Key                   The user's key.\r
   @param[in]       Value                 The user's value for the key.\r
@@ -1257,11 +1253,11 @@ NetMapInsertHead (
   Allocate an item to save the <Key, Value> pair to the tail of the netmap.\r
 \r
   Allocate an item to save the <Key, Value> pair and add corresponding node entry\r
-  to the tail of the Used doubly linked list. The number of the <Key, Value> \r
+  to the tail of the Used doubly linked list. The number of the <Key, Value>\r
   pairs in the netmap increase by 1.\r
 \r
   If Map is NULL, then ASSERT().\r
-  \r
+\r
   @param[in, out]  Map                   The netmap to insert into.\r
   @param[in]       Key                   The user's key.\r
   @param[in]       Value                 The user's value for the key.\r
@@ -1327,12 +1323,12 @@ NetItemInMap (
 \r
 /**\r
   Find the key in the netmap and returns the point to the item contains the Key.\r
-  \r
-  Iterate the Used doubly linked list of the netmap to get every item. Compare the key of every \r
+\r
+  Iterate the Used doubly linked list of the netmap to get every item. Compare the key of every\r
   item with the key to search. It returns the point to the item contains the Key if found.\r
 \r
   If Map is NULL, then ASSERT().\r
-  \r
+\r
   @param[in]  Map                   The netmap to search within.\r
   @param[in]  Key                   The key to search.\r
 \r
@@ -1365,16 +1361,16 @@ NetMapFindKey (
 \r
 /**\r
   Remove the node entry of the item from the netmap and return the key of the removed item.\r
-  \r
-  Remove the node entry of the item from the Used doubly linked list of the netmap. \r
-  The number of the <Key, Value> pairs in the netmap decrease by 1. Then add the node \r
+\r
+  Remove the node entry of the item from the Used doubly linked list of the netmap.\r
+  The number of the <Key, Value> pairs in the netmap decrease by 1. Then add the node\r
   entry of the item to the Recycled doubly linked list of the netmap. If Value is not NULL,\r
   Value will point to the value of the item. It returns the key of the removed item.\r
-  \r
+\r
   If Map is NULL, then ASSERT().\r
   If Item is NULL, then ASSERT().\r
   if item in not in the netmap, then ASSERT().\r
-  \r
+\r
   @param[in, out]  Map                   The netmap to remove the item from.\r
   @param[in, out]  Item                  The item to remove.\r
   @param[out]      Value                 The variable to receive the value if not NULL.\r
@@ -1408,14 +1404,14 @@ NetMapRemoveItem (
 /**\r
   Remove the first node entry on the netmap and return the key of the removed item.\r
 \r
-  Remove the first node entry from the Used doubly linked list of the netmap. \r
-  The number of the <Key, Value> pairs in the netmap decrease by 1. Then add the node \r
+  Remove the first node entry from the Used doubly linked list of the netmap.\r
+  The number of the <Key, Value> pairs in the netmap decrease by 1. Then add the node\r
   entry to the Recycled doubly linked list of the netmap. If parameter Value is not NULL,\r
   parameter Value will point to the value of the item. It returns the key of the removed item.\r
-  \r
+\r
   If Map is NULL, then ASSERT().\r
   If the Used doubly linked list is empty, then ASSERT().\r
-  \r
+\r
   @param[in, out]  Map                   The netmap to remove the head from.\r
   @param[out]      Value                 The variable to receive the value if not NULL.\r
 \r
@@ -1453,14 +1449,14 @@ NetMapRemoveHead (
 /**\r
   Remove the last node entry on the netmap and return the key of the removed item.\r
 \r
-  Remove the last node entry from the Used doubly linked list of the netmap. \r
-  The number of the <Key, Value> pairs in the netmap decrease by 1. Then add the node \r
+  Remove the last node entry from the Used doubly linked list of the netmap.\r
+  The number of the <Key, Value> pairs in the netmap decrease by 1. Then add the node\r
   entry to the Recycled doubly linked list of the netmap. If parameter Value is not NULL,\r
   parameter Value will point to the value of the item. It returns the key of the removed item.\r
-  \r
+\r
   If Map is NULL, then ASSERT().\r
   If the Used doubly linked list is empty, then ASSERT().\r
-  \r
+\r
   @param[in, out]  Map                   The netmap to remove the tail from.\r
   @param[out]      Value                 The variable to receive the value if not NULL.\r
 \r
@@ -1497,14 +1493,14 @@ NetMapRemoveTail (
 \r
 /**\r
   Iterate through the netmap and call CallBack for each item.\r
-  \r
+\r
   It will contiue the traverse if CallBack returns EFI_SUCCESS, otherwise, break\r
-  from the loop. It returns the CallBack's last return value. This function is \r
+  from the loop. It returns the CallBack's last return value. This function is\r
   delete safe for the current item.\r
 \r
   If Map is NULL, then ASSERT().\r
   If CallBack is NULL, then ASSERT().\r
-  \r
+\r
   @param[in]  Map                   The Map to iterate through.\r
   @param[in]  CallBack              The callback function to call for each item.\r
   @param[in]  Arg                   The opaque parameter to the callback.\r
@@ -1555,7 +1551,7 @@ NetMapIterate (
 \r
   Disconnect the driver specified by ImageHandle from all the devices in the handle database.\r
   Uninstall all the protocols installed in the driver entry point.\r
-  \r
+\r
   @param[in]  ImageHandle       The drivers' driver image.\r
 \r
   @retval EFI_SUCCESS           The image is unloaded.\r
@@ -1669,12 +1665,12 @@ NetLibDefaultUnload (
 \r
 /**\r
   Create a child of the service that is identified by ServiceBindingGuid.\r
-  \r
+\r
   Get the ServiceBinding Protocol first, then use it to create a child.\r
 \r
   If ServiceBindingGuid is NULL, then ASSERT().\r
   If ChildHandle is NULL, then ASSERT().\r
-  \r
+\r
   @param[in]       Controller            The controller which has the service installed.\r
   @param[in]       Image                 The image handle used to open service.\r
   @param[in]       ServiceBindingGuid    The service's Guid.\r
@@ -1725,11 +1721,11 @@ NetLibCreateServiceChild (
 \r
 /**\r
   Destory a child of the service that is identified by ServiceBindingGuid.\r
-  \r
+\r
   Get the ServiceBinding Protocol first, then use it to destroy a child.\r
-  \r
+\r
   If ServiceBindingGuid is NULL, then ASSERT().\r
-  \r
+\r
   @param[in]   Controller            The controller which has the service installed.\r
   @param[in]   Image                 The image handle used to open service.\r
   @param[in]   ServiceBindingGuid    The service's Guid.\r
@@ -1793,7 +1789,7 @@ NetLibDestroyServiceChild (
                                      get the simple network protocol.\r
   @param[out]  MacString             The pointer to store the address of the string\r
                                      representation of  the mac address.\r
-  \r
+\r
   @retval EFI_SUCCESS           Convert the mac address a unicode string successfully.\r
   @retval EFI_OUT_OF_RESOURCES  There are not enough memory resource.\r
   @retval Others                Failed to open the simple network protocol.\r
@@ -1811,6 +1807,7 @@ NetLibGetMacString (
   EFI_SIMPLE_NETWORK_PROTOCOL  *Snp;\r
   EFI_SIMPLE_NETWORK_MODE      *Mode;\r
   CHAR16                       *MacAddress;\r
+  UINT8                        *HwAddress;\r
   UINTN                        Index;\r
 \r
   *MacString = NULL;\r
@@ -1840,18 +1837,18 @@ NetLibGetMacString (
   if (MacAddress == NULL) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
+  *MacString = MacAddress;\r
 \r
   //\r
   // Convert the mac address into a unicode string.\r
   //\r
+  HwAddress = Mode->CurrentAddress.Addr;\r
   for (Index = 0; Index < Mode->HwAddressSize; Index++) {\r
-    MacAddress[Index * 2]     = (CHAR16) mNetLibHexStr[(Mode->CurrentAddress.Addr[Index] >> 4) & 0x0F];\r
-    MacAddress[Index * 2 + 1] = (CHAR16) mNetLibHexStr[Mode->CurrentAddress.Addr[Index] & 0x0F];\r
+    MacAddress += UnicodeValueToString (MacAddress, PREFIX_ZERO | RADIX_HEX, *(HwAddress++), 2);\r
   }\r
 \r
   MacAddress[Mode->HwAddressSize * 2] = L'\0';\r
 \r
-  *MacString = MacAddress;\r
 \r
   return EFI_SUCCESS;\r
 }\r
@@ -1860,11 +1857,11 @@ NetLibGetMacString (
   Check the default address used by the IPv4 driver is static or dynamic (acquired\r
   from DHCP).\r
 \r
-  If the controller handle does not have the NIC Ip4 Config Protocol installed, the \r
+  If the controller handle does not have the NIC Ip4 Config Protocol installed, the\r
   default address is static. If the EFI variable to save the configuration is not found,\r
-  the default address is static. Otherwise, get the result from the EFI variable which \r
+  the default address is static. Otherwise, get the result from the EFI variable which\r
   saving the configuration.\r
-   \r
+\r
   @param[in]   Controller     The controller handle which has the NIC Ip4 Config Protocol\r
                               relative with the default address to judge.\r
 \r
@@ -1911,7 +1908,7 @@ NetLibDefaultAddressIsStatic (
   if (ConfigHdr == NULL) {\r
     return TRUE;\r
   }\r
-  \r
+\r
   Len = StrLen (ConfigHdr);\r
   ConfigResp = AllocateZeroPool ((Len + NIC_ITEM_CONFIG_SIZE * 2 + 100) * sizeof (CHAR16));\r
   if (ConfigResp == NULL) {\r
@@ -1921,10 +1918,10 @@ NetLibDefaultAddressIsStatic (
 \r
   String = ConfigResp + Len;\r
   UnicodeSPrint (\r
-    String, \r
-    (8 + 4 + 7 + 4 + 1) * sizeof (CHAR16), \r
-    L"&OFFSET=%04X&WIDTH=%04X", \r
-    OFFSET_OF (NIC_IP4_CONFIG_INFO, Source), \r
+    String,\r
+    (8 + 4 + 7 + 4 + 1) * sizeof (CHAR16),\r
+    L"&OFFSET=%04X&WIDTH=%04X",\r
+    OFFSET_OF (NIC_IP4_CONFIG_INFO, Source),\r
     sizeof (UINT32)\r
     );\r
 \r
@@ -1957,7 +1954,7 @@ NetLibDefaultAddressIsStatic (
   }\r
 \r
   IsStatic = (BOOLEAN) (ConfigInfo->Source == IP4_CONFIG_SOURCE_STATIC);\r
\r
+\r
 ON_EXIT:\r
 \r
   if (AccessResults != NULL) {\r
@@ -1978,7 +1975,7 @@ ON_EXIT:
 \r
 /**\r
   Create an IPv4 device path node.\r
-  \r
+\r
   The header type of IPv4 device path node is MESSAGING_DEVICE_PATH.\r
   The header subtype of IPv4 device path node is MSG_IPv4_DP.\r
   The length of the IPv4 device path node in bytes is 19.\r
@@ -2028,7 +2025,7 @@ NetLibCreateIPv4DPathNode (
 \r
 /**\r
   Create an IPv6 device path node.\r
-  \r
+\r
   The header type of IPv6 device path node is MESSAGING_DEVICE_PATH.\r
   The header subtype of IPv6 device path node is MSG_IPv6_DP.\r
   Get other info from parameters to make up the whole IPv6 device path node.\r
@@ -2070,7 +2067,7 @@ NetLibCreateIPv6DPathNode (
 \r
 /**\r
   Find the UNDI/SNP handle from controller and protocol GUID.\r
-  \r
+\r
   For example, IP will open a MNP child to transmit/receive\r
   packets, when MNP is stopped, IP should also be stopped. IP\r
   needs to find its own private data which is related the IP's\r
index 05d68d70e0eef2d2740947fff6a65611590b9630..00ac82157f618b17a768c6da80372b39e1678327 100644 (file)
@@ -54,6 +54,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 [Protocols]\r
   gEfiSimpleNetworkProtocolGuid                 # PROTOCOL ALWAYS_CONSUMED\r
+  gEfiManagedNetworkProtocolGuid                # PROTOCOL ALWAYS_CONSUMED\r
+  gEfiManagedNetworkServiceBindingProtocolGuid  # PROTOCOL ALWAYS_CONSUMED\r
   gEfiComponentNameProtocolGuid                 # PROTOCOL ALWAYS_CONSUMED\r
   gEfiComponentName2ProtocolGuid                # PROTOCOL ALWAYS_CONSUMED\r
   gEfiHiiConfigRoutingProtocolGuid              # PROTOCOL ALWAYS_CONSUMED\r
index 42e308a5a32ae9175a5d02d926585ca2290ed9d5..eadffbb45d6ae88c0e3d1a4567bb63d54ead4bdd 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
   Network library functions providing net buffer operation support.\r
-  \r
+\r
 Copyright (c) 2005 - 2009, Intel Corporation.<BR>\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
@@ -22,16 +22,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 \r
 /**\r
-  Allocate and build up the sketch for a NET_BUF. \r
-   \r
-  The net buffer allocated has the BlockOpNum's NET_BLOCK_OP, and its associated \r
+  Allocate and build up the sketch for a NET_BUF.\r
+\r
+  The net buffer allocated has the BlockOpNum's NET_BLOCK_OP, and its associated\r
   NET_VECTOR has the BlockNum's NET_BLOCK. But all the NET_BLOCK_OP and\r
   NET_BLOCK remain un-initialized.\r
 \r
   @param[in]  BlockNum       The number of NET_BLOCK in the vector of net buffer\r
   @param[in]  BlockOpNum     The number of NET_BLOCK_OP in the net buffer\r
 \r
-  @return                    Pointer to the allocated NET_BUF, or NULL if the \r
+  @return                    Pointer to the allocated NET_BUF, or NULL if the\r
                              allocation failed due to resource limit.\r
 \r
 **/\r
@@ -88,7 +88,7 @@ FreeNbuf:
 \r
   @param[in]  Len              The length of the block.\r
 \r
-  @return                      Pointer to the allocated NET_BUF, or NULL if the \r
+  @return                      Pointer to the allocated NET_BUF, or NULL if the\r
                                allocation failed due to resource limit.\r
 \r
 **/\r
@@ -137,11 +137,11 @@ FreeNBuf:
 }\r
 \r
 /**\r
-  Free the net vector. \r
-   \r
-  Decrease the reference count of the net vector by one. The real resource free \r
-  operation isn't performed until the reference count of the net vector is \r
-  decreased to 0. \r
+  Free the net vector.\r
+\r
+  Decrease the reference count of the net vector by one. The real resource free\r
+  operation isn't performed until the reference count of the net vector is\r
+  decreased to 0.\r
 \r
   @param[in]  Vector                Pointer to the NET_VECTOR to be freed.\r
 \r
@@ -190,13 +190,13 @@ NetbufFreeVector (
 \r
 /**\r
   Free the net buffer and its associated NET_VECTOR.\r
\r
+\r
   Decrease the reference count of the net buffer by one. Free the associated net\r
-  vector and itself if the reference count of the net buffer is decreased to 0. \r
-  The net vector free operation just decrease the reference count of the net \r
+  vector and itself if the reference count of the net buffer is decreased to 0.\r
+  The net vector free operation just decrease the reference count of the net\r
   vector by one and do the real resource free operation when the reference count\r
-  of the net vector is 0. \r
\r
+  of the net vector is 0.\r
+\r
   @param[in]  Nbuf                  Pointer to the NET_BUF to be freed.\r
 \r
 **/\r
@@ -224,10 +224,10 @@ NetbufFree (
 \r
 \r
 /**\r
-  Create a copy of the net buffer that shares the associated net vector. \r
-   \r
-  The reference count of the newly created net buffer is set to 1. The reference \r
-  count of the associated net vector is increased by one. \r
+  Create a copy of the net buffer that shares the associated net vector.\r
+\r
+  The reference count of the newly created net buffer is set to 1. The reference\r
+  count of the associated net vector is increased by one.\r
 \r
   @param[in]  Nbuf              Pointer to the net buffer to be cloned.\r
 \r
@@ -274,12 +274,12 @@ NetbufClone (
 /**\r
   Create a duplicated copy of the net buffer with data copied and HeadSpace\r
   bytes of head space reserved.\r
-   \r
+\r
   The duplicated net buffer will allocate its own memory to hold the data of the\r
   source net buffer.\r
-   \r
+\r
   @param[in]       Nbuf         Pointer to the net buffer to be duplicated from.\r
-  @param[in, out]  Duplicate    Pointer to the net buffer to duplicate to, if \r
+  @param[in, out]  Duplicate    Pointer to the net buffer to duplicate to, if\r
                                 NULL a new net buffer is allocated.\r
   @param[in]      HeadSpace     Length of the head space to reserve.\r
 \r
@@ -352,16 +352,16 @@ NetbufFreeList (
 \r
 \r
 /**\r
-  Get the index of NET_BLOCK_OP that contains the byte at Offset in the net \r
-  buffer. \r
-  \r
-  This can be used to, for example, retrieve the IP header in the packet. It \r
-  also can be used to get the fragment that contains the byte which is used \r
-  mainly by the library implementation itself. \r
+  Get the index of NET_BLOCK_OP that contains the byte at Offset in the net\r
+  buffer.\r
+\r
+  This can be used to, for example, retrieve the IP header in the packet. It\r
+  also can be used to get the fragment that contains the byte which is used\r
+  mainly by the library implementation itself.\r
 \r
   @param[in]   Nbuf      Pointer to the net buffer.\r
   @param[in]   Offset    The offset of the byte.\r
-  @param[out]  Index     Index of the NET_BLOCK_OP that contains the byte at \r
+  @param[out]  Index     Index of the NET_BLOCK_OP that contains the byte at\r
                          Offset.\r
 \r
   @return       Pointer to the Offset'th byte of data in the net buffer, or NULL\r
@@ -409,12 +409,12 @@ NetbufGetByte (
 \r
 \r
 /**\r
-  Set the NET_BLOCK and corresponding NET_BLOCK_OP in the net buffer and \r
+  Set the NET_BLOCK and corresponding NET_BLOCK_OP in the net buffer and\r
   corresponding net vector according to the bulk pointer and bulk length.\r
-   \r
-  All the pointers in the Index'th NET_BLOCK and NET_BLOCK_OP are set to the \r
-  bulk's head and tail respectively. So, this function alone can't be used by \r
-  NetbufAlloc. \r
+\r
+  All the pointers in the Index'th NET_BLOCK and NET_BLOCK_OP are set to the\r
+  bulk's head and tail respectively. So, this function alone can't be used by\r
+  NetbufAlloc.\r
 \r
   @param[in, out]  Nbuf       Pointer to the net buffer.\r
   @param[in]       Bulk       Pointer to the data.\r
@@ -453,15 +453,15 @@ NetbufSetBlock (
 \r
 /**\r
   Set the NET_BLOCK_OP in the net buffer. The corresponding NET_BLOCK\r
-  structure is left untouched. \r
-   \r
-  Some times, there is no 1:1 relationship between NET_BLOCK and NET_BLOCK_OP. \r
-  For example, that in NetbufGetFragment. \r
+  structure is left untouched.\r
+\r
+  Some times, there is no 1:1 relationship between NET_BLOCK and NET_BLOCK_OP.\r
+  For example, that in NetbufGetFragment.\r
 \r
   @param[in, out]  Nbuf       Pointer to the net buffer.\r
   @param[in]       Bulk       Pointer to the data.\r
   @param[in]       Len        Length of the bulk data.\r
-  @param[in]       Index      The data block index in the net buffer the bulk \r
+  @param[in]       Index      The data block index in the net buffer the bulk\r
                               data should belong to.\r
 \r
 **/\r
@@ -488,10 +488,10 @@ NetbufSetBlockOp (
 \r
 \r
 /**\r
-  Helper function for NetbufGetFragment. NetbufGetFragment may allocate the \r
-  first block to reserve HeadSpace bytes header space. So it needs to create a \r
-  new net vector for the first block and can avoid copy for the remaining data \r
-  by sharing the old net vector. \r
+  Helper function for NetbufGetFragment. NetbufGetFragment may allocate the\r
+  first block to reserve HeadSpace bytes header space. So it needs to create a\r
+  new net vector for the first block and can avoid copy for the remaining data\r
+  by sharing the old net vector.\r
 \r
   @param[in]  Arg                   Point to the old NET_VECTOR.\r
 \r
@@ -510,19 +510,19 @@ NetbufGetFragmentFree (
 \r
 \r
 /**\r
-  Create a NET_BUF structure which contains Len byte data of Nbuf starting from \r
-  Offset. \r
-   \r
-  A new NET_BUF structure will be created but the associated data in NET_VECTOR \r
-  is shared. This function exists to do IP packet fragmentation. \r
+  Create a NET_BUF structure which contains Len byte data of Nbuf starting from\r
+  Offset.\r
+\r
+  A new NET_BUF structure will be created but the associated data in NET_VECTOR\r
+  is shared. This function exists to do IP packet fragmentation.\r
 \r
   @param[in]  Nbuf         Pointer to the net buffer to be extracted.\r
-  @param[in]  Offset       Starting point of the data to be included in the new \r
+  @param[in]  Offset       Starting point of the data to be included in the new\r
                            net buffer.\r
-  @param[in]  Len          Bytes of data to be included in the new net buffer. \r
-  @param[in]  HeadSpace    Bytes of head space to reserve for protocol header. \r
+  @param[in]  Len          Bytes of data to be included in the new net buffer.\r
+  @param[in]  HeadSpace    Bytes of head space to reserve for protocol header.\r
 \r
-  @return                  Pointer to the cloned net buffer, or NULL if the \r
+  @return                  Pointer to the cloned net buffer, or NULL if the\r
                            allocation failed due to resource limit.\r
 \r
 **/\r
@@ -694,8 +694,8 @@ FreeChild:
 \r
 \r
 /**\r
-  Build a NET_BUF from external blocks. \r
-   \r
+  Build a NET_BUF from external blocks.\r
+\r
   A new NET_BUF structure will be created from external blocks. Additional block\r
   of memory will be allocated to hold reserved HeadSpace bytes of header room\r
   and existing HeadLen bytes of header but the external blocks are shared by the\r
@@ -710,7 +710,7 @@ FreeChild:
   @param[in]  Arg                   The argument passed to ExtFree when ExtFree is\r
                                     called.\r
 \r
-  @return                  Pointer to the net buffer built from the data blocks, \r
+  @return                  Pointer to the net buffer built from the data blocks,\r
                            or NULL if the allocation failed due to resource\r
                            limit.\r
 \r
@@ -878,13 +878,13 @@ FreeFirstBlock:
 \r
 /**\r
   Build a fragment table to contain the fragments in the net buffer. This is the\r
-  opposite operation of the NetbufFromExt. \r
-   \r
+  opposite operation of the NetbufFromExt.\r
+\r
   @param[in]       Nbuf                  Point to the net buffer.\r
   @param[in, out]  ExtFragment           Pointer to the data block.\r
   @param[in, out]  ExtNum                The number of the data blocks.\r
 \r
-  @retval EFI_BUFFER_TOO_SMALL  The number of non-empty block is bigger than \r
+  @retval EFI_BUFFER_TOO_SMALL  The number of non-empty block is bigger than\r
                                 ExtNum.\r
   @retval EFI_SUCCESS           Fragment table is built successfully.\r
 \r
@@ -923,10 +923,10 @@ NetbufBuildExt (
 \r
 /**\r
   Build a net buffer from a list of net buffers.\r
-   \r
-  All the fragments will be collected from the list of NEW_BUF and then a new \r
-  net buffer will be created through NetbufFromExt. \r
-   \r
+\r
+  All the fragments will be collected from the list of NEW_BUF and then a new\r
+  net buffer will be created through NetbufFromExt.\r
+\r
   @param[in]   BufList    A List of the net buffer.\r
   @param[in]   HeadSpace  The head space to be reserved.\r
   @param[in]   HeaderLen  The length of the protocol header, This function\r
@@ -934,7 +934,7 @@ NetbufBuildExt (
   @param[in]   ExtFree    Pointer to the caller provided free function.\r
   @param[in]   Arg        The argument passed to ExtFree when ExtFree is called.\r
 \r
-  @return                 Pointer to the net buffer built from the list of net \r
+  @return                 Pointer to the net buffer built from the list of net\r
                           buffers.\r
 \r
 **/\r
@@ -1000,10 +1000,10 @@ NetbufFromBufList (
 /**\r
   Reserve some space in the header room of the net buffer.\r
 \r
-  Upon allocation, all the space are in the tail room of the buffer. Call this \r
+  Upon allocation, all the space are in the tail room of the buffer. Call this\r
   function to move some space to the header room. This function is quite limited\r
-  in that it can only reserve space from the first block of an empty NET_BUF not \r
-  built from the external. But it should be enough for the network stack. \r
+  in that it can only reserve space from the first block of an empty NET_BUF not\r
+  built from the external. But it should be enough for the network stack.\r
 \r
   @param[in, out]  Nbuf     Pointer to the net buffer.\r
   @param[in]       Len      The length of buffer to be reserved from the header.\r
@@ -1030,14 +1030,14 @@ NetbufReserve (
 \r
 \r
 /**\r
-  Allocate Len bytes of space from the header or tail of the buffer. \r
+  Allocate Len bytes of space from the header or tail of the buffer.\r
 \r
   @param[in, out]  Nbuf       Pointer to the net buffer.\r
   @param[in]       Len        The length of the buffer to be allocated.\r
-  @param[in]       FromHead   The flag to indicate whether reserve the data \r
+  @param[in]       FromHead   The flag to indicate whether reserve the data\r
                               from head (TRUE) or tail (FALSE).\r
 \r
-  @return                     Pointer to the first byte of the allocated buffer, \r
+  @return                     Pointer to the first byte of the allocated buffer,\r
                               or NULL if there is no sufficient space.\r
 \r
 **/\r
@@ -1126,7 +1126,7 @@ NetbufAllocSpace (
 \r
   @param[in, out]  BlockOp      Pointer to the NET_BLOCK.\r
   @param[in]       Len          The length of the data to be trimmed.\r
-  @param[in]       FromHead     The flag to indicate whether trim data from head \r
+  @param[in]       FromHead     The flag to indicate whether trim data from head\r
                                 (TRUE) or tail (FALSE).\r
 \r
 **/\r
@@ -1150,14 +1150,14 @@ NetblockTrim (
 \r
 \r
 /**\r
-  Trim Len bytes from the header or tail of the net buffer. \r
+  Trim Len bytes from the header or tail of the net buffer.\r
 \r
   @param[in, out]  Nbuf         Pointer to the net buffer.\r
   @param[in]       Len          The length of the data to be trimmed.\r
-  @param[in]      FromHead      The flag to indicate whether trim data from head \r
+  @param[in]      FromHead      The flag to indicate whether trim data from head\r
                                 (TRUE) or tail (FALSE).\r
 \r
-  @return    Length of the actually trimmed data, which is possible to be less \r
+  @return    Length of the actually trimmed data, which is possible to be less\r
              than Len because the TotalSize of Nbuf is less than Len.\r
 \r
 **/\r
@@ -1216,11 +1216,11 @@ NetbufTrim (
 \r
 \r
 /**\r
-  Copy Len bytes of data from the specific offset of the net buffer to the \r
+  Copy Len bytes of data from the specific offset of the net buffer to the\r
   destination memory.\r
\r
+\r
   The Len bytes of data may cross the several fragments of the net buffer.\r
\r
+\r
   @param[in]   Nbuf         Pointer to the net buffer.\r
   @param[in]   Offset       The sequence number of the first byte to copy.\r
   @param[in]   Len          Length of the data to copy.\r
@@ -1368,10 +1368,10 @@ NetbufQueAlloc (
 \r
 \r
 /**\r
-  Free a net buffer queue. \r
-   \r
+  Free a net buffer queue.\r
+\r
   Decrease the reference count of the net buffer queue by one. The real resource\r
-  free operation isn't performed until the reference count of the net buffer \r
+  free operation isn't performed until the reference count of the net buffer\r
   queue is decreased to 0.\r
 \r
   @param[in]  NbufQue               Pointer to the net buffer queue to be freed.\r
@@ -1424,7 +1424,7 @@ NetbufQueAppend (
 \r
   @param[in, out]  NbufQue               Pointer to the net buffer queue.\r
 \r
-  @return           Pointer to the net buffer removed from the specific queue, \r
+  @return           Pointer to the net buffer removed from the specific queue,\r
                     or NULL if there is no net buffer in the specific queue.\r
 \r
 **/\r
@@ -1455,16 +1455,16 @@ NetbufQueRemove (
 /**\r
   Copy Len bytes of data from the net buffer queue at the specific offset to the\r
   destination memory.\r
\r
+\r
   The copying operation is the same as NetbufCopy but applies to the net buffer\r
   queue instead of the net buffer.\r
\r
+\r
   @param[in]   NbufQue         Pointer to the net buffer queue.\r
   @param[in]   Offset          The sequence number of the first byte to copy.\r
   @param[in]   Len             Length of the data to copy.\r
   @param[out]  Dest            The destination of the data to copy to.\r
 \r
-  @return       The length of the actual copied data, or 0 if the offset \r
+  @return       The length of the actual copied data, or 0 if the offset\r
                 specified exceeds the total size of net buffer queue.\r
 \r
 **/\r
@@ -1557,9 +1557,9 @@ NetbufQueCopy (
 \r
 \r
 /**\r
-  Trim Len bytes of data from the queue header, release any of the net buffer \r
+  Trim Len bytes of data from the queue header, release any of the net buffer\r
   whom is trimmed wholely.\r
-   \r
+\r
   The trimming operation is the same as NetbufTrim but applies to the net buffer\r
   queue instead of the net buffer.\r
 \r
@@ -1756,7 +1756,7 @@ NetbufChecksum (
       // The checksum starts with an odd byte, swap\r
       // the checksum before added to total checksum\r
       //\r
-      BlockSum = (UINT16) NET_SWAP_SHORT (BlockSum);\r
+      BlockSum = SwapBytes16 (BlockSum);\r
     }\r
 \r
     TotalSum = NetAddChecksum (BlockSum, TotalSum);\r
@@ -1768,8 +1768,8 @@ NetbufChecksum (
 \r
 \r
 /**\r
-  Compute the checksum for TCP/UDP pseudo header. \r
-   \r
+  Compute the checksum for TCP/UDP pseudo header.\r
+\r
   Src and Dst are in network byte order, and Len is in host byte order.\r
 \r
   @param[in]   Src                   The source address of the packet.\r
@@ -1805,8 +1805,8 @@ NetPseudoHeadChecksum (
 }\r
 \r
 /**\r
-  Compute the checksum for TCP6/UDP6 pseudo header. \r
-   \r
+  Compute the checksum for TCP6/UDP6 pseudo header.\r
+\r
   Src and Dst are in network byte order, and Len is in host byte order.\r
 \r
   @param[in]   Src                   The source address of the packet.\r
@@ -1836,7 +1836,7 @@ NetIp6PseudoHeadChecksum (
   IP6_COPY_ADDRESS (&Hdr.DstIp, Dst);\r
 \r
   Hdr.NextHeader = NextHeader;\r
-  Hdr.Len        = HTONL (Len); \r
+  Hdr.Len        = HTONL (Len);\r
 \r
   return NetblockChecksum ((UINT8 *) &Hdr, sizeof (Hdr));\r
 }\r
index be339d8b08d95e077121ed4343ee7300e9bb2231..ac0d8d821f5d15521d415a0adedb41e7966f823f 100644 (file)
@@ -1857,7 +1857,7 @@ IScsiNewScsiCmdPdu (
   CopyMem (ScsiCmd->Cdb, Packet->Cdb, sizeof (ScsiCmd->Cdb));\r
 \r
   if (Packet->CdbLength > 16) {\r
-    Header->Length  = NTOHS (Packet->CdbLength - 15);\r
+    Header->Length  = NTOHS ((UINT16) (Packet->CdbLength - 15));\r
     Header->Type    = ISCSI_AHS_TYPE_EXT_CDB;\r
 \r
     CopyMem (Header + 1, (UINT8 *) Packet->Cdb + 16, Packet->CdbLength - 16);\r
index 76208e071bb49cb41ff8086e40acc5ba39a557dc..05609db185e64a5bb60ee20f12922dff18d6aa5a 100644 (file)
@@ -105,6 +105,8 @@ Ip4ProcessIcmpRedirect (
   IP4_ROUTE_CACHE_ENTRY     *CacheEntry;\r
   IP4_INTERFACE             *IpIf;\r
   IP4_ADDR                  Gateway;\r
+  IP4_ADDR                  Src;\r
+  IP4_ADDR                  Dst;\r
 \r
   //\r
   // Find the interface whose IP address is the source of the\r
@@ -133,11 +135,9 @@ Ip4ProcessIcmpRedirect (
       continue;\r
     }\r
 \r
-    CacheEntry = Ip4FindRouteCache (\r
-                   Ip4Instance->RouteTable,\r
-                   NTOHL (Icmp->IpHead.Dst),\r
-                   NTOHL (Icmp->IpHead.Src)\r
-                   );\r
+    Dst = NTOHL (Icmp->IpHead.Dst);\r
+    Src = NTOHL (Icmp->IpHead.Src);\r
+    CacheEntry = Ip4FindRouteCache (Ip4Instance->RouteTable, Dst, Src);\r
 \r
     //\r
     // Only update the route cache's gateway if the source of the\r
index 0b570e25947fc09cd36e1c51c0ef6728d90eee66..05fd96d634cd98c2badf90b214265316fe543c65 100644 (file)
@@ -561,6 +561,10 @@ Ip4AutoConfigCallBackDpc (
   EFI_STATUS                Status;\r
   UINTN                     Len;\r
   UINT32                    Index;\r
+  IP4_ADDR                  StationAddress;\r
+  IP4_ADDR                  SubnetMask;\r
+  IP4_ADDR                  SubnetAddress;\r
+  IP4_ADDR                  GatewayAddress;\r
 \r
   IpSb      = (IP4_SERVICE *) Context;\r
   NET_CHECK_SIGNATURE (IpSb, IP4_SERVICE_SIGNATURE);\r
@@ -646,11 +650,9 @@ Ip4AutoConfigCallBackDpc (
   // Set the default interface's address, then add a directed\r
   // route for it, that is, the route whose nexthop is zero.\r
   //\r
-  Status = Ip4SetAddress (\r
-             IpIf,\r
-             EFI_NTOHL (Data->StationAddress),\r
-             EFI_NTOHL (Data->SubnetMask)\r
-             );\r
+  StationAddress = EFI_NTOHL (Data->StationAddress);\r
+  SubnetMask = EFI_NTOHL (Data->SubnetMask);\r
+  Status = Ip4SetAddress (IpIf, StationAddress, SubnetMask);\r
 \r
   if (EFI_ERROR (Status)) {\r
     goto ON_EXIT;\r
@@ -658,8 +660,8 @@ Ip4AutoConfigCallBackDpc (
 \r
   Ip4AddRoute (\r
     IpSb->DefaultRouteTable,\r
-    EFI_NTOHL (Data->StationAddress),\r
-    EFI_NTOHL (Data->SubnetMask),\r
+    StationAddress,\r
+    SubnetMask,\r
     IP4_ALLZERO_ADDRESS\r
     );\r
 \r
@@ -669,12 +671,10 @@ Ip4AutoConfigCallBackDpc (
   for (Index = 0; Index < Data->RouteTableSize; Index++) {\r
     RouteEntry = &Data->RouteTable[Index];\r
 \r
-    Ip4AddRoute (\r
-      IpSb->DefaultRouteTable,\r
-      EFI_NTOHL (RouteEntry->SubnetAddress),\r
-      EFI_NTOHL (RouteEntry->SubnetMask),\r
-      EFI_NTOHL (RouteEntry->GatewayAddress)\r
-      );\r
+    SubnetAddress = EFI_NTOHL (RouteEntry->SubnetAddress);\r
+    SubnetMask = EFI_NTOHL (RouteEntry->SubnetMask);\r
+    GatewayAddress = EFI_NTOHL (RouteEntry->GatewayAddress);\r
+    Ip4AddRoute (IpSb->DefaultRouteTable, SubnetAddress, SubnetMask, GatewayAddress);\r
   }\r
 \r
   IpSb->State = IP4_SERVICE_CONFIGED;\r
index a8a6261cfd4203c444f0703145a0fdd58d6ad628..dcbead5993465d967b1870acc1fee4938abf2b4e 100644 (file)
@@ -73,7 +73,7 @@ Ip4PrependHead (
   PacketHead->Ver       = 4;\r
   PacketHead->HeadLen   = (UINT8) (HeadLen >> 2);\r
   PacketHead->Tos       = Head->Tos;\r
-  PacketHead->TotalLen  = HTONS (Packet->TotalSize);\r
+  PacketHead->TotalLen  = HTONS ((UINT16) Packet->TotalSize);\r
   PacketHead->Id        = HTONS (Head->Id);\r
   PacketHead->Fragment  = HTONS (Head->Fragment);\r
   PacketHead->Checksum  = 0;\r
index b29e6cb67202abfc70955bdcb93fbdd89f4c82c1..9bea6b298b5ab5f1f7dbf3817efa06d6df033082 100644 (file)
@@ -799,7 +799,7 @@ TcpInput (
       Tcb     = TcpCloneTcb (Parent);\r
       if (Tcb == NULL) {\r
         DEBUG ((EFI_D_ERROR, "TcpInput: discard a segment because"\r
-          "failed to clone a child for TCB%x\n", Tcb));\r
+          " failed to clone a child for TCB%x\n", Tcb));\r
 \r
         goto DISCARD;\r
       }\r
index 8c0293dccd0c9cb60c4bbde3deeccbb2ad5c9c0b..0014fc993f61218e01eb97d1060032207b97baa5 100644 (file)
@@ -1090,18 +1090,22 @@ TcpInstallDevicePath (
   TCP_CB             *Tcb;\r
   IPv4_DEVICE_PATH   Ip4DPathNode;\r
   EFI_STATUS         Status;\r
+  TCP_PORTNO         LocalPort;\r
+  TCP_PORTNO         RemotePort;\r
 \r
   TcpProto   = (TCP4_PROTO_DATA *) Sock->ProtoReserved;\r
   TcpService = TcpProto->TcpService;\r
   Tcb        = TcpProto->TcpPcb;\r
 \r
+  LocalPort = NTOHS (Tcb->LocalEnd.Port);\r
+  RemotePort = NTOHS (Tcb->RemoteEnd.Port);\r
   NetLibCreateIPv4DPathNode (\r
     &Ip4DPathNode,\r
     TcpService->ControllerHandle,\r
     Tcb->LocalEnd.Ip,\r
-    NTOHS (Tcb->LocalEnd.Port),\r
+    LocalPort,\r
     Tcb->RemoteEnd.Ip,\r
-    NTOHS (Tcb->RemoteEnd.Port),\r
+    RemotePort,\r
     EFI_IP_PROTO_TCP,\r
     Tcb->UseDefaultAddr\r
     );\r
index f6f32585a551e3cb5ca2d449a371c881e69cf423..265057e038bd2effbe23975b573a8104bee0be42 100644 (file)
@@ -586,7 +586,7 @@ Udp4Transmit (
   //\r
   Udp4Header->SrcPort      = HTONS (ConfigData->StationPort);\r
   Udp4Header->DstPort      = HTONS (ConfigData->RemotePort);\r
-  Udp4Header->Length       = HTONS (Packet->TotalSize);\r
+  Udp4Header->Length       = HTONS ((UINT16) Packet->TotalSize);\r
   Udp4Header->Checksum     = 0;\r
 \r
   UdpSessionData = TxData->UdpSessionData;\r
index de21a444cea01891c70946a1680f356afce7dfe8..ed7ee73e91e23ca93624b08305cadf0e51488891 100644 (file)
@@ -1182,7 +1182,7 @@ PxeBcDiscvBootService (
        \r
   Xid                                 = NET_RANDOM (NetRandomInitSeed ());\r
   Token.Packet->Dhcp4.Header.Xid      = HTONL(Xid);\r
-  Token.Packet->Dhcp4.Header.Reserved = HTONS((IsBCast) ? 0x8000 : 0);\r
+  Token.Packet->Dhcp4.Header.Reserved = HTONS((UINT16) ((IsBCast) ? 0x8000 : 0));\r
   CopyMem (&Token.Packet->Dhcp4.Header.ClientAddr, &Private->StationIp, sizeof (EFI_IPv4_ADDRESS));\r
 \r
   Token.RemotePort = Sport;\r