RFC2348 - TFTP Blocksize Option\r
RFC2349 - TFTP Timeout Interval and Transfer Size Options\r
\r
-Copyright (c) 2006 - 2009, Intel Corporation<BR>\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\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<BR>\r
#include <Library/MemoryAllocationLib.h>\r
#include <Library/UefiBootServicesTableLib.h>\r
#include <Library/UdpIoLib.h>\r
+#include <Library/PrintLib.h>\r
\r
extern EFI_MTFTP4_PROTOCOL gMtftp4ProtocolTemplate;\r
\r
///\r
/// Some constant value of Mtftp service.\r
///\r
-typedef enum {\r
- MTFTP4_SERVICE_SIGNATURE = SIGNATURE_32 ('T', 'F', 'T', 'P'),\r
- MTFTP4_PROTOCOL_SIGNATURE = SIGNATURE_32 ('t', 'f', 't', 'p'),\r
+#define MTFTP4_SERVICE_SIGNATURE SIGNATURE_32 ('T', 'F', 'T', 'P')\r
+#define MTFTP4_PROTOCOL_SIGNATURE SIGNATURE_32 ('t', 'f', 't', 'p')\r
\r
- MTFTP4_DEFAULT_SERVER_PORT = 69,\r
- MTFTP4_DEFAULT_TIMEOUT = 3,\r
- MTFTP4_DEFAULT_RETRY = 5,\r
- MTFTP4_DEFAULT_BLKSIZE = 512,\r
- MTFTP4_TIME_TO_GETMAP = 5,\r
+#define MTFTP4_DEFAULT_SERVER_PORT 69\r
+#define MTFTP4_DEFAULT_TIMEOUT 3\r
+#define MTFTP4_DEFAULT_RETRY 5\r
+#define MTFTP4_DEFAULT_BLKSIZE 512\r
+#define MTFTP4_TIME_TO_GETMAP 5\r
\r
- MTFTP4_STATE_UNCONFIGED = 0,\r
- MTFTP4_STATE_CONFIGED,\r
- MTFTP4_STATE_DESTORY\r
-} MTFTP4_SERVICE_CONST_VALUE;\r
+#define MTFTP4_STATE_UNCONFIGED 0\r
+#define MTFTP4_STATE_CONFIGED 1\r
+#define MTFTP4_STATE_DESTROY 2\r
\r
///\r
/// Mtftp service block\r
UINT32 Signature;\r
EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;\r
\r
- BOOLEAN InDestory;\r
-\r
UINT16 ChildrenNum;\r
LIST_ENTRY Children;\r
\r
// This UDP child is used to keep the connection between the UDP\r
// and MTFTP, so MTFTP will be notified when UDP is uninstalled.\r
//\r
- UDP_IO_PORT *ConnectUdp;\r
+ UDP_IO *ConnectUdp;\r
};\r
\r
\r
EFI_MTFTP4_PROTOCOL Mtftp4;\r
\r
INTN State;\r
- BOOLEAN InDestory;\r
+ BOOLEAN InDestroy;\r
\r
MTFTP4_SERVICE *Service;\r
EFI_HANDLE Handle;\r
UINT16 ListeningPort;\r
UINT16 ConnectedPort;\r
IP4_ADDR Gateway;\r
- UDP_IO_PORT *UnicastPort;\r
+ UDP_IO *UnicastPort;\r
\r
//\r
// Timeout and retransmit status\r
IP4_ADDR McastIp;\r
UINT16 McastPort;\r
BOOLEAN Master;\r
- UDP_IO_PORT *McastUdpPort;\r
+ UDP_IO *McastUdpPort;\r
};\r
\r
+typedef struct {\r
+ EFI_SERVICE_BINDING_PROTOCOL *ServiceBinding;\r
+ UINTN NumberOfChildren;\r
+ EFI_HANDLE *ChildHandleBuffer;\r
+} MTFTP4_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT;\r
+\r
/**\r
Clean up the MTFTP session to get ready for new operation.\r
\r