]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/TcpDxe/TcpMain.h
BaseTools: Update Makefile to work at absolute path
[mirror_edk2.git] / NetworkPkg / TcpDxe / TcpMain.h
index 69c764cde18973b99812ebd6bc3ecee61a2dabd0..c10030174b85fe25c121eceb19154a2c22b115cf 100644 (file)
@@ -2,7 +2,7 @@
   Declaration of protocol interfaces in EFI_TCP4_PROTOCOL and EFI_TCP6_PROTOCOL.\r
   It is the common head file for all Tcp*.c in TCP driver.\r
 \r
-  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2009 - 2016, 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
@@ -21,6 +21,7 @@
 #include <Protocol/DriverBinding.h>\r
 #include <Library/IpIoLib.h>\r
 #include <Library/DevicePathLib.h>\r
+#include <Library/PrintLib.h>\r
 \r
 #include "Socket.h"\r
 #include "TcpProto.h"\r
@@ -32,6 +33,7 @@ extern UINT16                        mTcp6RandomPort;
 extern CHAR16                        *mTcpStateName[];\r
 extern EFI_COMPONENT_NAME_PROTOCOL   gTcpComponentName;\r
 extern EFI_COMPONENT_NAME2_PROTOCOL  gTcpComponentName2;\r
+extern EFI_UNICODE_STRING_TABLE      *gTcpControllerNameTable;\r
 \r
 extern LIST_ENTRY                    mTcpRunQue;\r
 extern LIST_ENTRY                    mTcpListenQue;\r
@@ -90,6 +92,12 @@ typedef struct _TCP4_ROUTE_INFO {
   EFI_IPv4_ADDRESS  *GatewayAddress;\r
 } TCP4_ROUTE_INFO;\r
 \r
+typedef struct {\r
+  EFI_SERVICE_BINDING_PROTOCOL  *ServiceBinding;\r
+  UINTN                         NumberOfChildren;\r
+  EFI_HANDLE                    *ChildHandleBuffer;\r
+} TCP_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT;\r
+\r
 //\r
 // EFI_TCP4_PROTOCOL definitions.\r
 //\r
@@ -351,14 +359,25 @@ Tcp4Close (
 /**\r
   Abort an asynchronous connection, listen, transmission or receive request.\r
 \r
-  @param[in]  This                 Pointer to the EFI_TCP4_PROTOCOL instance.\r
-  @param[in]  Token                Pointer to a token that has been issued by\r
-                                   Connect(), Accept(), Transmit() or Receive(). If\r
-                                   NULL, all pending tokens issued by the above four\r
-                                   functions will be aborted.\r
-\r
-  @retval EFI_UNSUPPORTED          The operation is not supported in the current\r
-                                   implementation.\r
+  @param  This  The pointer to the EFI_TCP4_PROTOCOL instance.\r
+  @param  Token The pointer to a token that has been issued by\r
+                EFI_TCP4_PROTOCOL.Connect(),\r
+                EFI_TCP4_PROTOCOL.Accept(),\r
+                EFI_TCP4_PROTOCOL.Transmit() or\r
+                EFI_TCP4_PROTOCOL.Receive(). If NULL, all pending\r
+                tokens issued by above four functions will be aborted. Type\r
+                EFI_TCP4_COMPLETION_TOKEN is defined in\r
+                EFI_TCP4_PROTOCOL.Connect().\r
+\r
+  @retval  EFI_SUCCESS             The asynchronous I/O request is aborted and Token->Event\r
+                                   is signaled.\r
+  @retval  EFI_INVALID_PARAMETER   This is NULL.\r
+  @retval  EFI_NOT_STARTED         This instance hasn't been configured.\r
+  @retval  EFI_NO_MAPPING          When using the default address, configuration\r
+                                   (DHCP, BOOTP,RARP, etc.) hasn't finished yet.\r
+  @retval  EFI_NOT_FOUND           The asynchronous I/O request isn't found in the\r
+                                   transmission or receive queue. It has either\r
+                                   completed or wasn't issued by Transmit() and Receive().\r
 \r
 **/\r
 EFI_STATUS\r
@@ -722,7 +741,13 @@ Tcp6Close (
                                  EFI_TCP6_COMPLETION_TOKEN is defined in\r
                                  EFI_TCP_PROTOCOL.Connect().\r
 \r
-  @retval EFI_UNSUPPORTED        The implementation does not support this function.\r
+  @retval EFI_SUCCESS            The asynchronous I/O request is aborted and Token->Event\r
+                                 is signaled.\r
+  @retval EFI_INVALID_PARAMETER  This is NULL.\r
+  @retval EFI_NOT_STARTED        This instance hasn't been configured.\r
+  @retval EFI_NOT_FOUND          The asynchronous I/O request isn't found in the transmission or\r
+                                 receive queue. It has either completed or wasn't issued by\r
+                                 Transmit() and Receive().\r
 \r
 **/\r
 EFI_STATUS\r