/*++\r
\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. 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
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. 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
\r
Module Name:\r
- \r
+\r
pxe_bc_mtftp.c\r
\r
Abstract:\r
information in Mode structure and return TFTP_ERROR status.\r
\r
Parameters:\r
- Private := \r
- Operation := \r
- HeaderPtr := \r
- BufferSizePtr := \r
- BufferPtr := \r
- ServerIpPtr := \r
- ServerPortPtr := \r
- OurIpPtr := \r
- OurPortPtr := \r
- Timeout := \r
+ Private :=\r
+ Operation :=\r
+ HeaderPtr :=\r
+ BufferSizePtr :=\r
+ BufferPtr :=\r
+ ServerIpPtr :=\r
+ ServerPortPtr :=\r
+ OurIpPtr :=\r
+ OurPortPtr :=\r
+ Timeout :=\r
\r
Returns:\r
- EFI_SUCCESS := \r
- EFI_TFTP_ERROR := \r
- other := \r
+ EFI_SUCCESS :=\r
+ EFI_TFTP_ERROR :=\r
+ other :=\r
--*/\r
{\r
EFI_PXE_BASE_CODE_MODE *PxeBcMode;\r
Send TFTP ERROR message to TFTP server\r
\r
Parameters:\r
- Private := \r
- ServerIpPtr := \r
- ServerPortPtr := \r
- OurPortPtr := \r
+ Private :=\r
+ ServerIpPtr :=\r
+ ServerPortPtr :=\r
+ OurPortPtr :=\r
\r
Returns:\r
--*/\r
ServerPortPtr := Pointer to TFTP server UDP port\r
ReplyIpPtr := Pointer to TFTP DATA packet destination IP address\r
OurPortPtr := Pointer to TFTP client UDP port\r
- Timeout := \r
+ Timeout :=\r
ReplyLenPtr := Pointer to packet length\r
PxeBcMode := Pointer to packet buffer\r
BlockNumPtr := Pointer to block number\r
ReplyIpPtr := Pointer to TFTP DATA packet destination IP address\r
OurPortPtr := Pointer to TFTP client UDP port\r
LastBlock := Last block number received\r
- Timeout := \r
+ Timeout :=\r
DontUseBuffer := TRUE == throw away data, just count # of bytes\r
\r
Returns:\r
OurPortPtr := Pointer to TFTP client UDP port\r
FilenamePtr := Pointer to TFTP file or directory name\r
PacketSizePtr := Pointer to block size\r
- Buffer := \r
+ Buffer :=\r
\r
Returns:\r
--*/\r
Req := TFTP request type\r
Options := TFTP option bits\r
Private := Pointer to PxeBc interface\r
- HeaderPtr := \r
+ HeaderPtr :=\r
PacketSizePtr := Pointer to block size\r
- ReplyLenPtr := \r
- BufferPtr := \r
+ ReplyLenPtr :=\r
+ BufferPtr :=\r
ServerIpPtr := Pointer to TFTP server IP address\r
ServerPortPtr := Pointer to TFTP server UDP port\r
- ServerReplyPortPtr := \r
+ ServerReplyPortPtr :=\r
OurPortPtr := Pointer to TFTP client UDP Port\r
FilenamePtr := Pointer to file or directory name\r
- Timeout := \r
+ Timeout :=\r
\r
Returns:\r
--*/\r
\r
Parameters:\r
Private := Pointer to PxeBc interface\r
- BufferSizePtr := \r
- BufferPtr := \r
+ BufferSizePtr :=\r
+ BufferPtr :=\r
ServerIpPtr := Pointer to TFTP server IP address\r
MtftpInfoPtr := Pointer to MTFTP session information\r
StartBlockPtr := IN=first block we are looking for OUT=first block received\r
NumMissedPtr := Number of blocks missed\r
- TransTimeout := \r
- ListenTimeout := \r
- FinalBlock := \r
+ TransTimeout :=\r
+ ListenTimeout :=\r
+ FinalBlock :=\r
DontUseBuffer := TRUE == throw packets away, just count bytes\r
\r
Returns:\r
Parameters:\r
Private := Pointer to PxeBc interface\r
BufferSizePtr := IN=buffer size OUT=transfer size\r
- BufferPtr := \r
- PacketSizePtr := \r
- ServerIpPtr := \r
- FilenamePtr := \r
- MtftpInfoPtr := \r
- CompletionStatusPtr := \r
- DontUseBuffer := \r
+ BufferPtr :=\r
+ PacketSizePtr :=\r
+ ServerIpPtr :=\r
+ FilenamePtr :=\r
+ MtftpInfoPtr :=\r
+ CompletionStatusPtr :=\r
+ DontUseBuffer :=\r
\r
Returns:\r
// mtftp open session\r
-// return code EFI_SUCCESS \r
+// return code EFI_SUCCESS\r
// and *CompletionStatusPtr = GOTUNI | GOTMULTI means done\r
// and *CompletionStatusPtr = GOTMULTI means got first two multicast packets, use listen for rest\r
// and *CompletionStatusPtr = 0 means did not get first two multicast packets, use listen for all\r
\r
Parameters:\r
Private := Pointer to PxeBc interface\r
- BufferSizePtr := \r
- BufferPtr := \r
- ServerIpPtr := \r
- FilenamePtr := \r
- MtftpInfoPtr := \r
- DontUseBuffer := \r
+ BufferSizePtr :=\r
+ BufferPtr :=\r
+ ServerIpPtr :=\r
+ FilenamePtr :=\r
+ MtftpInfoPtr :=\r
+ DontUseBuffer :=\r
\r
Returns:\r
--*/\r
BufferPtrLocal = BufferPtr + Offset;\r
\r
}\r
- //\r
- // special !!! do not leave enabled in saved version on Source Safe\r
- // Following code put in in order to create a special version for regression\r
- // test of MTFTP server to make sure it handles mulitple opens correctly.\r
- // This code should NOT be enabled normally.\r
- //\r
-#ifdef SpecialNowaitVersion\r
-#pragma message ("This is special version for MTFTP regression test")\r
- if (StartBlock || !LastBlock)\r
-#endif\r
- if (((Status = MtftpListen (\r
+\r
+ if (((Status = MtftpListen (\r
Private,\r
&BufferSize,\r
BufferPtrLocal,\r
LastBlock,\r
DontUseBuffer\r
)) != EFI_SUCCESS) && (Status != EFI_TIMEOUT)) {\r
- return Status;\r
- //\r
- // failed\r
- //\r
- }\r
+ return Status;\r
+ //\r
+ // failed\r
+ //\r
+ }\r
//\r
// if none were received, start block is not reset\r
//\r
// if OACK received, set info\r
\r
Parameters:\r
- Private := \r
- BufferSizePtr := \r
- ServerIpPtr := \r
- SrvPort := \r
- FilenamePtr := \r
- PacketSizePtr := \r
+ Private :=\r
+ BufferSizePtr :=\r
+ ServerIpPtr :=\r
+ SrvPort :=\r
+ FilenamePtr :=\r
+ PacketSizePtr :=\r
\r
Returns:\r
--*/\r
// while data size is max\r
\r
Parameters:\r
- Private := \r
- BufferSizePtr := \r
- BufferPtr := \r
- ServerIpPtr := \r
- FilenamePtr := \r
- PacketSizePtr := \r
- SrvPort := \r
- Req := \r
- DontUseBuffer := \r
+ Private :=\r
+ BufferSizePtr :=\r
+ BufferPtr :=\r
+ ServerIpPtr :=\r
+ FilenamePtr :=\r
+ PacketSizePtr :=\r
+ SrvPort :=\r
+ Req :=\r
+ DontUseBuffer :=\r
\r
Returns:\r
--*/\r
// while data size is max\r
\r
Parameters:\r
- Private := \r
- BufferSizePtr := \r
- BufferPtr := \r
- ServerIpPtr := \r
- FilenamePtr := \r
- PacketSizePtr := \r
- Overwrite := \r
+ Private :=\r
+ BufferSizePtr :=\r
+ BufferPtr :=\r
+ ServerIpPtr :=\r
+ FilenamePtr :=\r
+ PacketSizePtr :=\r
+ Overwrite :=\r
\r
Returns:\r
--*/\r
MTFTP API entry point\r
\r
Parameters:\r
- Private := \r
- Operation := \r
- BufferSizePtr := \r
- BufferPtr := \r
- ServerIpPtr := \r
- FilenamePtr := \r
- PacketSizePtr := \r
- MtftpInfoPtr := \r
- Overwrite := \r
- DontUseBuffer := \r
+ Private :=\r
+ Operation :=\r
+ BufferSizePtr :=\r
+ BufferPtr :=\r
+ ServerIpPtr :=\r
+ FilenamePtr :=\r
+ PacketSizePtr :=\r
+ MtftpInfoPtr :=\r
+ Overwrite :=\r
+ DontUseBuffer :=\r
\r
Returns:\r
* EFI_INVALID_PARAMETER\r
MTFTP API entry point.\r
\r
Parameters:\r
- This := \r
- Operation := \r
- BufferPtr := \r
- Overwrite := \r
- BufferSizePtr := \r
- BlockSizePtr := \r
- ServerIpPtr := \r
- FilenamePtr := \r
- MtftpInfoPtr := \r
- DontUseBuffer := \r
+ This :=\r
+ Operation :=\r
+ BufferPtr :=\r
+ Overwrite :=\r
+ BufferSizePtr :=\r
+ BlockSizePtr :=\r
+ ServerIpPtr :=\r
+ FilenamePtr :=\r
+ MtftpInfoPtr :=\r
+ DontUseBuffer :=\r
\r
Returns:\r
* EFI_INVALID_PARAMETER\r