FTP client debug changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3660 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
d02a36dfd9
commit
7232a7819b
@ -102,24 +102,24 @@ extern void ftpc_freefullpath(char *relpath);
|
||||
|
||||
/* FTP command handlers */
|
||||
|
||||
extern int cmd_login(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_quit(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_chdir(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rlogin(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rquit(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rchdir(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rpwd(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_cdup(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_mkdir(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rcdup(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rmkdir(SESSION handle, int argc, char **argv);
|
||||
|
||||
extern int cmd_rmdir(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_unlink(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_chmod(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rename(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_size(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_time(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_idle(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_noop(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rrmdir(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_runlink(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rchmod(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rrename(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rsize(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rtime(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_ridle(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rnoop(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rhelp(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rls(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_get(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_put(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rget(SESSION handle, int argc, char **argv);
|
||||
extern int cmd_rput(SESSION handle, int argc, char **argv);
|
||||
|
||||
#endif /* __APPS_EXAMPLES_FTPC_FTPC_H */
|
||||
|
@ -61,10 +61,10 @@
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_login
|
||||
* Name: cmd_rlogin
|
||||
****************************************************************************/
|
||||
|
||||
int cmd_login(SESSION handle, int argc, char **argv)
|
||||
int cmd_rlogin(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
struct ftpc_login_s login = {0, 0, 0, true};
|
||||
|
||||
@ -78,10 +78,10 @@ int cmd_login(SESSION handle, int argc, char **argv)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_quit
|
||||
* Name: cmd_rquit
|
||||
****************************************************************************/
|
||||
|
||||
int cmd_quit(SESSION handle, int argc, char **argv)
|
||||
int cmd_rquit(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
int ret = ftpc_quit(handle);
|
||||
if (ret < 0)
|
||||
@ -94,10 +94,10 @@ int cmd_quit(SESSION handle, int argc, char **argv)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_chdir
|
||||
* Name: cmd_rchdir
|
||||
****************************************************************************/
|
||||
|
||||
int cmd_chdir(SESSION handle, int argc, char **argv)
|
||||
int cmd_rchdir(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
return ftpc_chdir(handle, argv[1]);
|
||||
}
|
||||
@ -119,64 +119,64 @@ int cmd_rpwd(SESSION handle, int argc, char **argv)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_cdup
|
||||
* Name: cmd_rcdup
|
||||
****************************************************************************/
|
||||
|
||||
int cmd_cdup(SESSION handle, int argc, char **argv)
|
||||
int cmd_rcdup(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
return ftpc_cdup(handle);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_mkdir
|
||||
* Name: cmd_rmkdir
|
||||
****************************************************************************/
|
||||
|
||||
int cmd_mkdir(SESSION handle, int argc, char **argv)
|
||||
int cmd_rmkdir(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
return ftpc_mkdir(handle, argv[1]);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_rmdir
|
||||
* Name: cmd_rrmdir
|
||||
****************************************************************************/
|
||||
|
||||
int cmd_rmdir(SESSION handle, int argc, char **argv)
|
||||
int cmd_rrmdir(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
return ftpc_rmdir(handle, argv[1]);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_unlink
|
||||
* Name: cmd_runlink
|
||||
****************************************************************************/
|
||||
|
||||
int cmd_unlink(SESSION handle, int argc, char **argv)
|
||||
int cmd_runlink(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
return ftpc_unlink(handle, argv[1]);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_chmod
|
||||
* Name: cmd_rchmod
|
||||
****************************************************************************/
|
||||
|
||||
int cmd_chmod(SESSION handle, int argc, char **argv)
|
||||
int cmd_rchmod(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
return ftpc_chmod(handle, argv[1], argv[2]);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_rename
|
||||
* Name: cmd_rrename
|
||||
****************************************************************************/
|
||||
|
||||
int cmd_rename(SESSION handle, int argc, char **argv)
|
||||
int cmd_rrename(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
return ftpc_rename(handle, argv[1], argv[2]);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_size
|
||||
* Name: cmd_rsize
|
||||
****************************************************************************/
|
||||
|
||||
int cmd_size(SESSION handle, int argc, char **argv)
|
||||
int cmd_rsize(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
uint64_t size = ftpc_filesize(handle, argv[1]);
|
||||
printf("SIZE: %ull\n", size);
|
||||
@ -184,10 +184,10 @@ int cmd_size(SESSION handle, int argc, char **argv)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_time
|
||||
* Name: cmd_rtime
|
||||
****************************************************************************/
|
||||
|
||||
int cmd_time(SESSION handle, int argc, char **argv)
|
||||
int cmd_rtime(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
time_t filetime = ftpc_filetime(handle, argv[1]);
|
||||
printf("TIME: %ul\n", (long)filetime);
|
||||
@ -195,10 +195,10 @@ int cmd_time(SESSION handle, int argc, char **argv)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_idle
|
||||
* Name: cmd_ridle
|
||||
****************************************************************************/
|
||||
|
||||
int cmd_idle(SESSION handle, int argc, char **argv)
|
||||
int cmd_ridle(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
unsigned int idletime = 0;
|
||||
|
||||
@ -211,10 +211,10 @@ int cmd_idle(SESSION handle, int argc, char **argv)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_noop
|
||||
* Name: cmd_rnoop
|
||||
****************************************************************************/
|
||||
|
||||
int cmd_noop(SESSION handle, int argc, char **argv)
|
||||
int cmd_rnoop(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
return ftpc_noop(handle);
|
||||
}
|
||||
@ -270,10 +270,10 @@ int cmd_rls(SESSION handle, int argc, char **argv)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_get
|
||||
* Name: cmd_rget
|
||||
****************************************************************************/
|
||||
|
||||
int cmd_get(SESSION handle, int argc, char **argv)
|
||||
int cmd_rget(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
FAR const char *lname = argv[1];
|
||||
|
||||
@ -285,10 +285,10 @@ int cmd_get(SESSION handle, int argc, char **argv)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_put
|
||||
* Name: cmd_rput
|
||||
****************************************************************************/
|
||||
|
||||
int cmd_put(SESSION handle, int argc, char **argv)
|
||||
int cmd_rput(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
FAR const char *rname = argv[1];
|
||||
|
||||
|
@ -71,30 +71,30 @@ struct cmdmap_s
|
||||
|
||||
static const char g_delim[] = " \t\n";
|
||||
|
||||
static int cmd_help(SESSION handle, int argc, char **argv);
|
||||
static int cmd_unrecognized(SESSION handle, int argc, char **argv);
|
||||
static int cmd_lhelp(SESSION handle, int argc, char **argv);
|
||||
static int cmd_lunrecognized(SESSION handle, int argc, char **argv);
|
||||
|
||||
static const struct cmdmap_s g_cmdmap[] =
|
||||
{
|
||||
{ "cd", cmd_chdir, 2, 2, "<directory>" },
|
||||
{ "chmod", cmd_chmod, 3, 3, "<permissions> <path>" },
|
||||
{ "get", cmd_unlink, 2, 3, "<rname> [<lname>]" },
|
||||
{ "help", cmd_help, 1, 2, "" },
|
||||
{ "idle", cmd_idle, 1, 2, "[<idletime>]" },
|
||||
{ "login", cmd_login, 2, 3, "<uname> [<password>]" },
|
||||
{ "ls", cmd_login, 1, 2, "[<dirpath>]" },
|
||||
{ "quit", cmd_login, 1, 1, "" },
|
||||
{ "mkdir", cmd_mkdir, 2, 2, "<directory>" },
|
||||
{ "noop", cmd_noop, 1, 1, "" },
|
||||
{ "put", cmd_unlink, 2, 3, "<lname> [<rname>]" },
|
||||
{ "pwd", cmd_rpwd, 1, 1, "" },
|
||||
{ "rename", cmd_rename, 3, 3, "<oldname> <newname>" },
|
||||
{ "rhelp", cmd_rhelp, 1, 2, "[<command>]" },
|
||||
{ "rm", cmd_unlink, 2, 2, "" },
|
||||
{ "rmdir", cmd_rmdir, 2, 2, "<directory>" },
|
||||
{ "size", cmd_size, 2, 2, "<filepath>" },
|
||||
{ "time", cmd_time, 2, 2, "<filepath>" },
|
||||
{ "up", cmd_cdup, 1, 1, "" },
|
||||
{ "cd", cmd_rchdir, 2, 2, "<directory>" },
|
||||
{ "chmod", cmd_rchmod, 3, 3, "<permissions> <path>" },
|
||||
{ "get", cmd_rget, 2, 3, "<rname> [<lname>]" },
|
||||
{ "help", cmd_lhelp, 1, 2, "" },
|
||||
{ "idle", cmd_ridle, 1, 2, "[<idletime>]" },
|
||||
{ "login", cmd_rlogin, 2, 3, "<uname> [<password>]" },
|
||||
{ "ls", cmd_rls, 1, 2, "[<dirpath>]" },
|
||||
{ "quit", cmd_rquit, 1, 1, "" },
|
||||
{ "mkdir", cmd_rmkdir, 2, 2, "<directory>" },
|
||||
{ "noop", cmd_rnoop, 1, 1, "" },
|
||||
{ "put", cmd_rput, 2, 3, "<lname> [<rname>]" },
|
||||
{ "pwd", cmd_rpwd, 1, 1, "" },
|
||||
{ "rename", cmd_rrename, 3, 3, "<oldname> <newname>" },
|
||||
{ "rhelp", cmd_rhelp, 1, 2, "[<command>]" },
|
||||
{ "rm", cmd_runlink, 2, 2, "" },
|
||||
{ "rmdir", cmd_rrmdir, 2, 2, "<directory>" },
|
||||
{ "size", cmd_rsize, 2, 2, "<filepath>" },
|
||||
{ "time", cmd_rtime, 2, 2, "<filepath>" },
|
||||
{ "up", cmd_rcdup, 1, 1, "" },
|
||||
};
|
||||
|
||||
static char g_line[CONFIG_FTPC_LINELEN];
|
||||
@ -104,10 +104,10 @@ static char g_line[CONFIG_FTPC_LINELEN];
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_help
|
||||
* Name: cmd_lhelp
|
||||
****************************************************************************/
|
||||
|
||||
static int cmd_help(SESSION handle, int argc, char **argv)
|
||||
static int cmd_lhelp(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
const struct cmdmap_s *ptr;
|
||||
|
||||
@ -127,10 +127,10 @@ static int cmd_help(SESSION handle, int argc, char **argv)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cmd_unrecognized
|
||||
* Name: cmd_lunrecognized
|
||||
****************************************************************************/
|
||||
|
||||
static int cmd_unrecognized(SESSION handle, int argc, char **argv)
|
||||
static int cmd_lunrecognized(SESSION handle, int argc, char **argv)
|
||||
{
|
||||
printf("Command %s unrecognized\n", argv[0]);
|
||||
return ERROR;
|
||||
@ -226,7 +226,7 @@ static int ftpc_execute(SESSION handle, int argc, char *argv[])
|
||||
{
|
||||
const struct cmdmap_s *cmdmap;
|
||||
const char *cmd;
|
||||
cmd_t handler = cmd_unrecognized;
|
||||
cmd_t handler = cmd_lunrecognized;
|
||||
int ret;
|
||||
|
||||
/* The form of argv is:
|
||||
@ -407,4 +407,4 @@ int ftpc_main(int argc, char **argv, char **envp)
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -116,9 +116,10 @@ typedef FAR void *SESSION;
|
||||
*
|
||||
* addr - The IPv4 address of the FTP server (or the proxy) for the FTP
|
||||
* server.
|
||||
* port - The port number on the FTP server to connect to. This is usually
|
||||
* port 21 for FTP. You may set this value to zero to let FTPC
|
||||
* select the default port number for you (CONFIG_FTP_DEFPORT).
|
||||
* port - The port number on the FTP server to connect to (in host byte
|
||||
* order). This is usually port 21 for FTP. You may set this
|
||||
* value to zero to let FTPC select the default port number for
|
||||
* you (it will use CONFIG_FTP_DEFPORT).
|
||||
*/
|
||||
|
||||
struct ftpc_connect_s
|
||||
|
@ -98,9 +98,19 @@ SESSION ftpc_connect(FAR struct ftpc_connect_s *server)
|
||||
/* Initialize the session structure */
|
||||
|
||||
session->addr.s_addr = server->addr.s_addr;
|
||||
session->port = server->port ? server->port : CONFIG_FTP_DEFPORT;
|
||||
session->pid = getpid();
|
||||
|
||||
/* Use the default port if the user specified port number zero */
|
||||
|
||||
if (!server->port)
|
||||
{
|
||||
session->port = HTONS(CONFIG_FTP_DEFPORT);
|
||||
}
|
||||
else
|
||||
{
|
||||
session->port = htons(server->port);
|
||||
}
|
||||
|
||||
/* Create up a timer to prevent hangs */
|
||||
|
||||
session->wdog = wd_create();
|
||||
@ -165,7 +175,7 @@ int ftpc_reconnect(FAR struct ftpc_session_s *session)
|
||||
|
||||
#ifdef CONFIG_DEBUG
|
||||
tmp = inet_ntoa(session->addr);
|
||||
ndbg("Connecting to server address %s:%d\n", tmp, ntohl(session->port));
|
||||
ndbg("Connecting to server address %s:%d\n", tmp, ntohs(session->port));
|
||||
#endif
|
||||
|
||||
addr.sin_family = AF_INET;
|
||||
@ -211,9 +221,9 @@ int ftpc_reconnect(FAR struct ftpc_session_s *session)
|
||||
#ifdef CONFIG_DEBUG
|
||||
ndbg("Connected\n");
|
||||
tmp = inet_ntoa(session->cmd.raddr.sin_addr);
|
||||
ndbg(" Remote address: %s:%d\n", tmp, ntohl(session->cmd.raddr.sin_port));
|
||||
ndbg(" Remote address: %s:%d\n", tmp, ntohs(session->cmd.raddr.sin_port));
|
||||
tmp = inet_ntoa(session->cmd.laddr.sin_addr);
|
||||
ndbg(" Local address: %s:d\n", tmp, ntohl(session->cmd.laddr.sin_port));
|
||||
ndbg(" Local address: %s:d\n", tmp, ntohs(session->cmd.laddr.sin_port));
|
||||
#endif
|
||||
return OK;
|
||||
|
||||
|
@ -377,10 +377,10 @@ int ftpc_sockprintf(struct ftpc_socket_s *sock, const char *str, ...)
|
||||
int ftpc_sockgetsockname(FAR struct ftpc_socket_s *sock,
|
||||
FAR struct sockaddr_in *addr)
|
||||
{
|
||||
unsigned int len = sizeof(struct sockaddr_in);
|
||||
socklen_t len = sizeof(struct sockaddr_in);
|
||||
int ret;
|
||||
|
||||
ret = getsockname(sock->sd, (struct sockaddr *)addr, &len);
|
||||
ret = getsockname(sock->sd, (FAR struct sockaddr *)addr, &len);
|
||||
if (ret < 0)
|
||||
{
|
||||
ndbg("getsockname failed: %d\n", errno);
|
||||
|
Loading…
x
Reference in New Issue
Block a user