]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/Udp6Dxe/Udp6Impl.h
UefiCpuPkg/MpInitLib: Add out attribute for parameter.
[mirror_edk2.git] / NetworkPkg / Udp6Dxe / Udp6Impl.h
index 108e30b71c74d1cabc160781a93f14cae30a9841..55a4b8a909bec281228779d567ef0e55441d9bda 100644 (file)
@@ -1,15 +1,9 @@
 /** @file\r
   Udp6 driver's whole implementation and internal data structures.\r
 \r
-  Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
 \r
-  This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php.\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
 #include <Library/BaseMemoryLib.h>\r
 #include <Library/MemoryAllocationLib.h>\r
 #include <Library/DpcLib.h>\r
+#include <Library/PrintLib.h>\r
 \r
 #include "Udp6Driver.h"\r
 \r
 extern EFI_COMPONENT_NAME2_PROTOCOL   gUdp6ComponentName2;\r
 extern EFI_COMPONENT_NAME_PROTOCOL    gUdp6ComponentName;\r
+extern EFI_UNICODE_STRING_TABLE       *gUdp6ControllerNameTable;\r
 extern EFI_SERVICE_BINDING_PROTOCOL   mUdp6ServiceBinding;\r
 extern EFI_UDP6_PROTOCOL              mUdp6Protocol;\r
 extern UINT16                         mUdp6RandomPort;\r
@@ -77,8 +73,7 @@ typedef struct _UDP6_SERVICE_DATA {
   UINTN                         ChildrenNumber;\r
   IP_IO                         *IpIo;\r
   EFI_EVENT                     TimeoutEvent;\r
-  CHAR16                        *MacString;\r
-} UDP6_SERVICE_DATA;\r
+ } UDP6_SERVICE_DATA;\r
 \r
 typedef struct _UDP6_INSTANCE_DATA {\r
   UINT32                Signature;\r
@@ -97,7 +92,7 @@ typedef struct _UDP6_INSTANCE_DATA {
   UINT16                HeadSum;\r
   EFI_STATUS            IcmpError;\r
   IP_IO_IP_INFO         *IpInfo;\r
-  BOOLEAN               Destroyed;\r
+  BOOLEAN               InDestroy;\r
 } UDP6_INSTANCE_DATA;\r
 \r
 typedef struct _UDP6_RXDATA_WRAP {\r
@@ -107,6 +102,12 @@ typedef struct _UDP6_RXDATA_WRAP {
   EFI_UDP6_RECEIVE_DATA  RxData;\r
 } UDP6_RXDATA_WRAP;\r
 \r
+typedef struct {\r
+  EFI_SERVICE_BINDING_PROTOCOL  *ServiceBinding;\r
+  UINTN                         NumberOfChildren;\r
+  EFI_HANDLE                    *ChildHandleBuffer;\r
+} UDP6_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT;\r
+\r
 /**\r
   Clean the Udp service context data.\r
 \r
@@ -138,21 +139,6 @@ Udp6CreateService (
   IN EFI_HANDLE         ControllerHandle\r
   );\r
 \r
-/**\r
-  Set the Udp6 variable data.\r
-\r
-  @param[in]  Udp6Service            Udp6 service data.\r
-\r
-  @retval     EFI_OUT_OF_RESOURCES   There are not enough resources to set the\r
-                                     variable.\r
-  @retval     other                  Set variable failed.\r
-\r
-**/\r
-EFI_STATUS\r
-Udp6SetVariableData (\r
-  IN UDP6_SERVICE_DATA  *Udp6Service\r
-  );\r
-\r
 /**\r
   This function cleans the udp instance.\r
 \r
@@ -165,18 +151,7 @@ Udp6CleanInstance (
   );\r
 \r
 /**\r
-  Clear the variable and free the resource.\r
-\r
-  @param[in, out]  Udp6Service            Udp6 service data.\r
-\r
-**/\r
-VOID\r
-Udp6ClearVariableData (\r
-  IN OUT UDP6_SERVICE_DATA  *Udp6Service\r
-  );\r
-\r
-/**\r
-  This function intializes the new created udp instance.\r
+  This function initializes the new created udp instance.\r
 \r
   @param[in]      Udp6Service      Pointer to the UDP6_SERVICE_DATA.\r
   @param[in, out]  Instance         Pointer to the un-initialized UDP6_INSTANCE_DATA.\r
@@ -246,7 +221,7 @@ Udp6GetModeData (
 \r
   @retval EFI_SUCCESS            The configuration settings were set, changed, or\r
                                  reset successfully.\r
-  @retval EFI_NO_MAPPING         When the UdpConifgData.UseAnyStationAddress is set\r
+  @retval EFI_NO_MAPPING         When the UdpConfigData.UseAnyStationAddress is set\r
                                  to true  and there is no address available for IP6\r
                                  driver to binding  source address to this\r
                                  instance.\r
@@ -306,12 +281,12 @@ Udp6Configure (
                                  .FragmentBuffer fields is NULL.\r
                                  One or more of the\r
                                  Token.Packet.TxData.UdpSessionData.\r
-                                 DestinationAddres are not valid unicast IPv6\r
+                                 DestinationAddress are not valid unicast IPv6\r
                                  addresses, if the  UdpSessionData is not NULL.\r
                                  Token.Packet.TxData.UdpSessionData.\r
-                                 DestinationAddres is NULL\r
+                                 DestinationAddress is NULL\r
                                  Token.Packet.TxData.UdpSessionData.\r
-                                 DestinatioPort is zero.\r
+                                 DestinationPort is zero.\r
                                  Token.Packet.TxData.UdpSessionData is\r
                                  NULL and this  instance's\r
                                  UdpConfigData.RemoteAddress is unspecified.\r
@@ -455,7 +430,7 @@ Udp6Groups (
 \r
 /**\r
   This function tries to bind the udp instance according to the configured port\r
-  allocation stragety.\r
+  allocation strategy.\r
 \r
   @param[in]  InstanceList       Pointer to the head of the list linking the udp\r
                                  instances.\r