/** @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
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
/**\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
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
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
\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
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
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
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
/**\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
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