FTPc_Open
Establishes a connection to a FTP server.
Files
ftp-c.h/ftp-c.c
Prototype
CPU_BOOLEAN FTPc_Open ( FTPc_CONN *p_conn, const FTPc_CFG *p_cfg, const FTPc_SECURE_CFG *p_secure_cfg, CPU_CHAR *p_host_server, CPU_INT16U port_nbr, CPU_CHAR *p_user, CPU_CHAR *p_pass, FTPc_ERR *p_err);
Arguments
p_conn
Pointer to FTPc Connection object.
p_cfg
Pointer to FTPc Configuration object.
p_secuce_cfg
Pointer to FTPc Secure Configuration object.DEF_NULL
, if secured connection is not required
p_host_server
Pointer to hostname or IP address string of the server.
port_nbr
Server TCP port number.
p_user
Username of the FTP server.
p_pass
Password for specified FTP user.
p_err
Pointer to variable that will receive the return error code from this function.
TFTPc_ERR_NONE
FTPc_ERR_CONN_FAIL
FTPc_ERR_TX_CMD
FTPc_ERR_RX_CMD_RESP_FAIL
FTPc_ERR_LOGGEDIN
Returned Values
DEF_OK
, FTP connection successfully establishedDEF_FAIL
, otherwise.
Required Configuration
- The network security manager MUST be available and enabled to open a secure FTP connection (i.e: in “net_cfg.h”,
NET_SECURE_CFG_EN
should beDEF_ENABLED
ANDNET_TCP_CFG_EN
should beDEF_ENABLED
). See µC/TCPIP user manual for more information about the network security manager. - A network security module MUST be included in the project (i.e: Mocana’s NanoSSL) to use the network security manager functionalities.
Notes / Warnings
- None.
Example Usage
#define FTP_SERVER_IP_ADDR "192.168.1.101" #define FTP_SERVER_PORT 21 #define FTPc_USER "anonymous" #define FTPc_PW "test@micrium.com" FTPc_CONN conn; CPU_INT16U server_port; CPU_BOOLEAN result; FTPc_ERR err; server_port = FTP_SERVER_PORT; result = FTPc_Open(&conn, DEF_NULL, DEF_NULL, FTP_SERVER_IP_ADDR, server_port, FTPc_USER, FTPc_PW, &err); if (result != DEF_OK) { printf("FTPc_Open() failed.\n\r"); }
#define FTP_SERVER_IP_ADDR "192.168.1.101" #define FTP_SERVER_PORT_SECURE 990 #define FTP_COMMON_NAME "micrium.com" #define FTPc_USER "anonymous" #define FTPc_PW "test@micrium.com" FTPc_CONN conn; CPU_INT16U server_port; CPU_BOOLEAN result; FTPc_SECURE_CFG ftpc_secure_cfg; FTPc_ERR err; server_port = FTP_SERVER_PORT_SECURE; Str_Copy(ftpc_secure_cfg.CommonName, FTP_COMMON_NAME); ftpc_secure_cfg.TrustCallback = (NET_SOCK_SECURE_TRUST_FNCT)NetSecure_TrustInvalidSig; result = FTPc_Open(&conn, DEF_NULL, &ftpc_secure_cfg, FTP_SERVER_IP_ADDR server_port, FTPc_USER, FTPc_PW, &err); if (result != DEF_OK) { printf("Secure FTPc_Open() failed.\n\r"); }