]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Include/Library/UdpIoLib.h
Change library class PlatDriOverLib to PlatformDriOverrideLib
[mirror_edk2.git] / MdeModulePkg / Include / Library / UdpIoLib.h
index 40ea089ef85a783b764abbbc914dcdad6830dfb3..820b8f2b1bd64e04d40583a7248c52229ef634cf 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
-  The helper routines to access UDP service. It is used by both\r
-  DHCP and MTFTP.\r
+  Ihis library is only intended to be used by UEFI network stack modules.\r
+  It provides the helper routines to access UDP service. It is used by both DHCP and MTFTP.\r
 \r
 Copyright (c) 2006 - 2008, Intel Corporation.<BR>\r
 All rights reserved. This program and the accompanying materials\r
@@ -46,21 +46,19 @@ typedef struct {
   Prototype called when receiving or sending packets from/to a UDP point.\r
 \r
   This prototype is used by both receive and sending when calling\r
-  UdpIoRecvDatagram or UdpIoSendDatagram. When receiving, Netbuf is allocated by\r
+  UdpIoRecvDatagram() or UdpIoSendDatagram(). When receiving, Netbuf is allocated by\r
   UDP access point, and released by user. When sending, the NetBuf is from user,\r
   and provided to the callback as a reference.\r
   \r
-  @param Packet       Packet received or sent\r
-  @param Points       The Udp4 address pair corresponds to the Udp4 IO\r
-  @param IoStatus     Packet receiving or sending status\r
-  @param Context      User-defined data when calling UdpIoRecvDatagram or\r
-                      UdpIoSendDatagram\r
-\r
-  @return None\r
+  @param[in] Packet       Packet received or sent\r
+  @param[in] Points       The Udp4 address pair corresponds to the Udp4 IO\r
+  @param[in] IoStatus     Packet receiving or sending status\r
+  @param[in] Context      User-defined data when calling UdpIoRecvDatagram() or\r
+                          UdpIoSendDatagram()\r
 **/\r
 typedef\r
 VOID\r
-(EFIAPI *UDP_IO_CALLBACK) (\r
+(*UDP_IO_CALLBACK) (\r
   IN NET_BUF                *Packet,\r
   IN UDP_POINTS             *Points,\r
   IN EFI_STATUS             IoStatus,\r
@@ -138,27 +136,27 @@ struct _UDP_IO_PORT {
 /**\r
   Prototype called when UdpIo Library configures a Udp4 instance.\r
   \r
-  The prototype is set and called when creating a UDP_IO_PORT in UdpIoCreatePort.\r
+  The prototype is set and called when creating a UDP_IO_PORT in UdpIoCreatePort().\r
   \r
-  @param UdpIo         The UDP_IO_PORT to configure\r
-  @param Context       User-defined data when calling UdpIoCreatePort\r
+  @param[in] UdpIo         The UDP_IO_PORT to configure\r
+  @param[in] Context       User-defined data when calling UdpIoCreatePort()\r
   \r
   @retval EFI_SUCCESS  The configure process succeeds\r
   @retval Others       The UDP_IO_PORT fails to configure indicating\r
-                       UdpIoCreatePort should fail\r
+                       UdpIoCreatePort() should fail\r
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *UDP_IO_CONFIG) (\r
+(*UDP_IO_CONFIG) (\r
   IN UDP_IO_PORT            *UdpIo,\r
   IN VOID                   *Context\r
   );\r
 \r
 /**\r
-  The select function to decide whether to cancel the UDP_TX_TOKEN. It is used\r
+  The select function to decide whether to cancel the UDP_TX_TOKEN. \r
   \r
-  @param Token        The UDP_TX_TOKEN to decide whether to cancel\r
-  @param Context      User-defined data in UdpIoCancelDgrams\r
+  @param[in] Token        The UDP_TX_TOKEN to decide whether to cancel\r
+  @param[in] Context      User-defined data in UdpIoCancelDgrams()\r
   \r
   @retval TRUE        To cancel the UDP_TX_TOKEN\r
   @retval FALSE       Do not cancel this UDP_TX_TOKEN\r
@@ -171,6 +169,26 @@ BOOLEAN
   IN VOID                   *Context\r
   );\r
 \r
+/**\r
+  Cancel all the sent datagram that pass the selection criteria of ToCancel.\r
+  If ToCancel is NULL, all the datagrams are cancelled.\r
+\r
+  @param[in]  UdpIo                 The UDP_IO_PORT to cancel packet.\r
+  @param[in]  IoStatus              The IoStatus to return to the packet owners.\r
+  @param[in]  ToCancel              The select funtion to test whether to cancel this\r
+                                    packet or not.\r
+  @param[in]  Context               The opaque parameter to the ToCancel.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+UdpIoCancelDgrams (\r
+  IN UDP_IO_PORT            *UdpIo,\r
+  IN EFI_STATUS             IoStatus,\r
+  IN UDP_IO_TO_CANCEL       ToCancel,        OPTIONAL\r
+  IN VOID                   *Context\r
+  );\r
+\r
 /**\r
   Create a UDP_IO_PORT to access the UDP service. It will create and configure\r
   a UDP child.\r
@@ -181,11 +199,11 @@ BOOLEAN
   in creating or configure the UDP child will lead to the failure of UDP_IO_PORT\r
   creation.\r
 \r
-  @param  Controller            The controller that has the UDP service binding\r
-                                protocol installed.\r
-  @param  Image                 The image handle for the driver.\r
-  @param  Configure             The function to configure the created UDP child\r
-  @param  Context               The opaque parameter for the Configure funtion.\r
+  @param[in]  Controller            The controller that has the UDP service binding.\r
+                                    protocol installed.\r
+  @param[in]  Image                 The image handle for the driver.\r
+  @param[in]  Configure             The function to configure the created UDP child.\r
+  @param[in]  Context               The opaque parameter for the Configure funtion.\r
 \r
   @return Newly-created UDP_IO_PORT or NULL if failed.\r
 \r
@@ -204,7 +222,7 @@ UdpIoCreatePort (
   \r
   The function will cancel all sent datagram and receive request.\r
 \r
-  @param  UdpIo                 The UDP_IO_PORT to free.\r
+  @param[in]  UdpIo                 The UDP_IO_PORT to free.\r
 \r
   @retval EFI_SUCCESS           The UDP_IO_PORT is freed.\r
 \r
@@ -222,7 +240,7 @@ UdpIoFreePort (
   It will release all the transmitted datagrams and receive request. It will\r
   also configure NULL for the UDP instance.\r
 \r
-  @param  UdpIo                 The UDP_IO_PORT to clean up.\r
+  @param[in]  UdpIo                 The UDP_IO_PORT to clean up.\r
 \r
 **/\r
 VOID\r
@@ -238,16 +256,16 @@ UdpIoCleanPort (
   when the packet is sent. The optional parameter EndPoint overrides the default\r
   address pair if specified.\r
 \r
-  @param  UdpIo                 The UDP_IO_PORT to send the packet through\r
-  @param  Packet                The packet to send\r
-  @param  EndPoint              The local and remote access point. Override the\r
-                                default address pair set during configuration.\r
-  @param  Gateway               The gateway to use\r
-  @param  CallBack              The function being called when packet is\r
-                                transmitted or failed.\r
-  @param  Context               The opaque parameter passed to CallBack\r
+  @param[in]  UdpIo                 The UDP_IO_PORT to send the packet through.\r
+  @param[in]  Packet                The packet to send.\r
+  @param[in]  EndPoint              The local and remote access point. Override the\r
+                                    default address pair set during configuration.\r
+  @param[in]  Gateway               The gateway to use.\r
+  @param[in]  CallBack              The function being called when packet is\r
+                                    transmitted or failed.\r
+  @param[in]  Context               The opaque parameter passed to CallBack.\r
 \r
-  @retval EFI_OUT_OF_RESOURCES  Failed to allocate resource for the packet\r
+  @retval EFI_OUT_OF_RESOURCES  Failed to allocate resource for the packet.\r
   @retval EFI_SUCCESS           The packet is successfully delivered to UDP  for\r
                                 transmission.\r
 \r
@@ -257,7 +275,7 @@ EFIAPI
 UdpIoSendDatagram (\r
   IN  UDP_IO_PORT           *UdpIo,\r
   IN  NET_BUF               *Packet,\r
-  IN  UDP_POINTS            *EndPoint  OPTIONAL,\r
+  IN  UDP_POINTS            *EndPoint, OPTIONAL\r
   IN  IP4_ADDR              Gateway,\r
   IN  UDP_IO_CALLBACK       CallBack,\r
   IN  VOID                  *Context\r
@@ -266,8 +284,8 @@ UdpIoSendDatagram (
 /**\r
   Cancel a single sent datagram.\r
 \r
-  @param  UdpIo                 The UDP_IO_PORT to cancel the packet from\r
-  @param  Packet                The packet to cancel\r
+  @param[in]  UdpIo                 The UDP_IO_PORT to cancel the packet from\r
+  @param[in]  Packet                The packet to cancel\r
 \r
 **/\r
 VOID\r
@@ -285,11 +303,11 @@ UdpIoCancelSentDatagram (
   to invoke this function inside its Callback function when the former packet\r
   is processed.\r
 \r
-  @param  UdpIo                 The UDP_IO_PORT to receive the packet from.\r
-  @param  CallBack              The call back function to execute when the packet\r
-                                is received.\r
-  @param  Context               The opaque context passed to Callback\r
-  @param  HeadLen               The length of the upper-layer's protocol header\r
+  @param[in]  UdpIo                 The UDP_IO_PORT to receive the packet from.\r
+  @param[in]  CallBack              The call back function to execute when the packet\r
+                                    is received.\r
+  @param[in]  Context               The opaque context passed to Callback.\r
+  @param[in] HeadLen                The length of the upper-layer's protocol header.\r
 \r
   @retval EFI_ALREADY_STARTED   There is already a pending receive request. Only\r
                                 one receive request is supported at a time.\r