FTP client

The FTP client library can be used to download or upload FTP server files.

The file is downloaded in fragments of NET_IPV4_MTU. The size of a file can be fetched by LIST command.

The FTP client library reports FTP control message and download data with two separate callback functions (ftp_client_callback_t and ftp_client_callback_t). The library automatically sends KEEPALIVE message to the server through a timer if CONFIG_FTP_CLIENT_KEEPALIVE_TIME is not zero. The KEEPALIVE message is sent periodically at the completion of the time interval indicated by the value of CONFIG_FTP_CLIENT_KEEPALIVE_TIME.

If there is no username or password provided, the library performs a login as an anonymous user.

Protocols

The library is implemented in accordance with the RFC959 File Transfer Protocol (FTP) specification.

Limitations

The library implements only a minimal set of commands as of now. However, new command support can be easily added.

The library supports IPv4 protocol only.

Due to the differences in the implementation of FTP servers, the library might need customization to work with a specific server.

API documentation

Header file: include/net/ftp_client.h
Source files: subsys/net/lib/ftp_client/src/
FTP client library