EFI FTPv4 (File Transfer Protocol version 4) Protocol Definition The EFI FTPv4 Protocol is used to locate communication devices that are supported by an EFI FTPv4 Protocol driver and to create and destroy instances of the EFI FTPv4 Protocol child protocol driver that can use the underlying communication device. The definitions in this file are defined in UEFI Specification 2.3, which have not been verified by one implementation yet.
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
- Revision Reference:
- This Protocol is introduced in UEFI Specification 2.2
Definition in file Ftp4.h.
Disconnecting a FTP connection gracefully.
The Connect() function will initiate a connection request to the remote FTP server with the corresponding connection token. If this function returns EFI_SUCCESS, the connection sequence is initiated successfully. If the connection succeeds or faild due to any error, the Token->Event will be signaled and Token->Status will be updated accordingly.
- Parameters
-
[in] | This | Pointer to the EFI_FTP4_PROTOCOL instance. |
[in] | Token | Pointer to the token used to establish control connection. |
- Return values
-
EFI_SUCCESS | The connection sequence is successfully initiated. |
EFI_INVALID_PARAMETER | One or more of the following are TRUE:
- This is NULL.
- Token is NULL.
- Token->Event is NULL.
|
EFI_NOT_STARTED | The EFI FTPv4 Protocol driver has not been started. |
EFI_NO_MAPPING | When using a default address, configuration (DHCP, BOOTP, RARP, etc.) is not finished yet. |
EFI_OUT_OF_RESOURCES | Could not allocate enough resource to finish the operation. |
EFI_DEVICE_ERROR | An unexpected system or network error occurred. |
Definition at line 283 of file Ftp4.h.
Callback function when process inbound or outbound data.
If it is receiving function that leads to inbound data, the callback function is called when data buffer is full. Then, old data in the data buffer should be flushed and new data is stored from the beginning of data buffer. If it is a transmit function that lead to outbound data and the size of Data in daata buffer has been transmitted, this callback function is called to supply additional data to be transmitted.
- Parameters
-
[in] | This | Pointer to the EFI_FTP4_PROTOCOL instance. |
[in] | Token | Pointer to the token structure to provide the parameters that are used in this operation. |
- Returns
- User defined Status.
Definition at line 156 of file Ftp4.h.
Polls for incoming data packets and processes outgoing data packets.
The Poll() function can be used by network drivers and applications to increase the rate that data packets are moved between the communications device and the transmit and receive queues. In some systems, the periodic timer event in the managed network driver may not poll the underlying communications device fast enough to transmit and/or receive all data packets without missing incoming packets or dropping outgoing packets. Drivers and applications that are experiencing packet loss should try calling the Poll() function more often.
- Parameters
-
[in] | This | Pointer to the EFI_FTP4_PROTOCOL instance. |
- Return values
-
EFI_SUCCESS | Incoming or outgoing data was processed. |
EFI_NOT_STARTED | This EFI FTPv4 Protocol instance has not been started. |
EFI_INVALID_PARAMETER | This is NULL. |
EFI_DEVICE_ERROR | EapAuthType An unexpected system or network error occurred. |
EFI_TIMEOUT | Data was dropped out of the transmit and/or receive queue. Consider increasing the polling rate. |
Definition at line 491 of file Ftp4.h.
Download a data file "directory" from a FTPv4 server. May be unsupported in some EFI implementations.
The ReadDirectory() function is used to return a list of files on the FTPv4 server that logically (or operationally) related to Token.Pathname, and optionally wait for completion. When the download operation completes, whether successfully or not, the Token.Status field is updated by the EFI FTPv4 Protocol driver and then Token.Event is signaled (if it is not NULL). Data will be downloaded from the FTPv4 server into Token.DataBuffer. If the file size is larger than Token.DataBufferSize, Token.DataCallback will be called to allow for processing data and then new data will be placed at the beginning of Token.DataBuffer.
- Parameters
-
[in] | This | Pointer to the EFI_FTP4_PROTOCOL instance. |
[in] | Token | Pointer to the token structure to provide the parameters that are used in this operation. |
- Return values
-
EFI_SUCCESS | The file list information is being downloaded successfully. |
EFI_UNSUPPORTED | The operation is not supported by this implementation. |
EFI_INVALID_PARAMETER | One or more of the parameters is not valid.
- This is NULL.
- Token is NULL.
- Token. DataBuffer is NULL.
- Token. DataBufferSize is 0.
|
EFI_NOT_STARTED | The EFI FTPv4 Protocol driver has not been started. |
EFI_NO_MAPPING | When using a default address, configuration (DHCP, BOOTP, RARP, etc.) is not finished yet. |
EFI_OUT_OF_RESOURCES | Required system resources could not be allocated. |
EFI_DEVICE_ERROR | An unexpected network error or system error occurred. |
Definition at line 463 of file Ftp4.h.
Downloads a file from an FTPv4 server.
The ReadFile() function is used to initialize and start an FTPv4 download process and optionally wait for completion. When the download operation completes, whether successfully or not, the Token.Status field is updated by the EFI FTPv4 Protocol driver and then Token.Event is signaled (if it is not NULL).
Data will be downloaded from the FTPv4 server into Token.DataBuffer. If the file size is larger than Token.DataBufferSize, Token.DataCallback will be called to allow for processing data and then new data will be placed at the beginning of Token.DataBuffer.
- Parameters
-
[in] | This | Pointer to the EFI_FTP4_PROTOCOL instance. |
[in] | Token | Pointer to the token structure to provide the parameters that are used in this operation. |
- Return values
-
EFI_SUCCESS | The data file is being downloaded successfully. |
EFI_INVALID_PARAMETER | One or more of the parameters is not valid.
- This is NULL.
- Token is NULL.
- Token.Pathname is NULL.
- Token. DataBuffer is NULL.
- Token. DataBufferSize is 0.
|
EFI_NOT_STARTED | The EFI FTPv4 Protocol driver has not been started. |
EFI_NO_MAPPING | When using a default address, configuration (DHCP, BOOTP, RARP, etc.) is not finished yet. |
EFI_OUT_OF_RESOURCES | Required system resources could not be allocated. |
EFI_DEVICE_ERROR | An unexpected network error or system error occurred. |
Definition at line 386 of file Ftp4.h.
Uploads a file from an FTPv4 server.
The WriteFile() function is used to initialize and start an FTPv4 upload process and optionally wait for completion. When the upload operation completes, whether successfully or not, the Token.Status field is updated by the EFI FTPv4 Protocol driver and then Token.Event is signaled (if it is not NULL). Data to be uploaded to server is stored into Token.DataBuffer. Token.DataBufferSize is the number bytes to be transferred. If the file size is larger than Token.DataBufferSize, Token.DataCallback will be called to allow for processing data and then new data will be placed at the beginning of Token.DataBuffer. Token.DataBufferSize is updated to reflect the actual number of bytes to be transferred. Token.DataBufferSize is set to 0 by the call back to indicate the completion of data transfer.
- Parameters
-
[in] | This | Pointer to the EFI_FTP4_PROTOCOL instance. |
[in] | Token | Pointer to the token structure to provide the parameters that are used in this operation. |
- Return values
-
EFI_SUCCESS | TThe data file is being uploaded successfully. |
EFI_UNSUPPORTED | The operation is not supported by this implementation. |
EFI_INVALID_PARAMETER | One or more of the parameters is not valid.
- This is NULL.
- Token is NULL.
- Token.Pathname is NULL.
- Token. DataBuffer is NULL.
- Token. DataBufferSize is 0.
|
EFI_NOT_STARTED | The EFI FTPv4 Protocol driver has not been started. |
EFI_NO_MAPPING | When using a default address, configuration (DHCP, BOOTP, RARP, etc.) is not finished yet. |
EFI_OUT_OF_RESOURCES | Required system resources could not be allocated. |
EFI_DEVICE_ERROR | An unexpected network error or system error occurred. |
Definition at line 426 of file Ftp4.h.