PXE Base Code Protocol
Version 1.02 12/12/00 259
MCastIp File multicast IP address. This is the IP address to which the
server will send the requested file.
CPort Client multicast listening port. This is the UDP port to which the
server will send the requested file.
SPort Server multicast listening port. This is the UDP port on which
the server listens for multicast open requests and data acks.
ListenTimeout The number of seconds a client should listen for an active
multicast session before requesting a new multicast session.
TransmitTimeout The number of seconds a client should wait for a packet from the
server before retransmitting the previous open request or data
ack packet.
Description
This function is used to perform TFTP and MTFTP services. This includes the TFTP operations to
get the size of a file, read a directory, read a file, and write a file. It also includes the MTFTP
operations to get the size of a file, read a directory, and read a file. The type of operation is
specified by Operation. If the callback function that is invoked during the TFTP/MTFTP
operation does not return EFI_PXE_BASE_CODE_CALLBACK_STATUS_CONTINUE, then
EFI_ABORTED will be returned.
For read operations, the return data will be placed in the buffer specified by BufferPtr. If
BufferSize is too small to contain the entire downloaded file, then
EFI_BUFFER_TOO_SMALL will be returned and BufferSize will be set to zero or the size of
the requested file (the size of the requested file is only returned if the TFTP server supports TFTP
options). If BufferSize is large enough for the read operation, then BufferSize will be set to
the size of the downloaded file, and EFI_SUCCESS will be returned.
For write operations, the data to be sent is in the buffer specified by BufferPtr. BufferSize
specifies the number of bytes to send. If the write operation completes successfully, then
EFI_SUCCESS will be returned.
For TFTP “get file size” operations, the size of the requested file or directory is returned in
BufferSize, and EFI_SUCCESS will be returned. If the TFTP server does not support options,
the file will be downloaded into a bit bucket and the length of the downloaded file will be returned.
For MTFTP “get file size” operations, if the MTFTP server does not support the “get file size”
option, EFI_UNSUPPORTED will be returned.
This function can take up to 10 seconds to timeout and return control to the caller. If the TFTP
sequence does not complete, EFI_TIMEOUT will be returned.
If the Callback Protocol does not return
EFI_PXE_BASE_CODE_CALLBACK_STATUS_CONTINUE, then the TFTP sequence is stopped
and EFI_ABORTED will be returned.