diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-06-03 20:27:30 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-06-03 20:27:30 +0000 |
commit | 92fd8f5221ca528c2def13897c712d558adf1675 (patch) | |
tree | 0c9d63fe3408864b46597a4eb1c20eace2ffc783 /apps/netutils/ftpc/ftpc_internal.h | |
parent | 90e92459a9c7a33fb8a005f87ec3f512b760c487 (diff) | |
download | nuttx-92fd8f5221ca528c2def13897c712d558adf1675.tar.gz nuttx-92fd8f5221ca528c2def13897c712d558adf1675.tar.bz2 nuttx-92fd8f5221ca528c2def13897c712d558adf1675.zip |
More FTP bugfixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3665 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'apps/netutils/ftpc/ftpc_internal.h')
-rw-r--r-- | apps/netutils/ftpc/ftpc_internal.h | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/apps/netutils/ftpc/ftpc_internal.h b/apps/netutils/ftpc/ftpc_internal.h index 5e177b36b..6eab632a5 100644 --- a/apps/netutils/ftpc/ftpc_internal.h +++ b/apps/netutils/ftpc/ftpc_internal.h @@ -153,11 +153,12 @@ struct ftpc_session_s WDOG_ID wdog; /* Timer */ FAR char *uname; /* Login uname */ FAR char *pwd; /* Login pwd */ - FAR char *initdir; /* Initial remote directory */ - FAR char *homedir; /* Home directory (curdir on startup) */ - FAR char *curdir; /* Current directory */ - FAR char *prevdir; /* Previous directory */ + FAR char *initrdir; /* Initial remote directory */ + FAR char *homerdir; /* Remote home directory (currdir on startup) */ + FAR char *currdir; /* Remote current directory */ + FAR char *prevrdir; /* Previous remote directory */ FAR char *rname; /* Remote file name */ + FAR char *homeldir; /* Local home directory (PWD on startup) */ FAR char *lname; /* Local file name */ pid_t pid; /* Task ID of FTP client */ uint8_t xfrmode; /* Previous data transfer type (See FTPC_XFRMODE_* defines) */ @@ -174,6 +175,13 @@ struct ftpc_session_s char reply[CONFIG_FTP_MAXREPLY+1]; /* Last reply string from server */ }; +/* There is not yet any want to change the local working directly (an lcd + * command), but the following definition is provided to reserve the name + * for the storage location for the local current working directory. + */ + +#define curldir homeldir + /**************************************************************************** * Public Data ****************************************************************************/ @@ -212,16 +220,23 @@ EXTERN void ftpc_stripcrlf(FAR char *str); EXTERN void ftpc_stripslash(FAR char *str); EXTERN FAR char *ftpc_dequote(FAR const char *hostname); +/* Connection helpers */ + +EXTERN int ftpc_reconnect(FAR struct ftpc_session_s *session); +EXTERN int ftpc_relogin(FAR struct ftpc_session_s *session); + /* FTP helpers */ EXTERN void ftpc_reset(struct ftpc_session_s *session); EXTERN int ftpc_cmd(struct ftpc_session_s *session, const char *cmd, ...); EXTERN int fptc_getreply(struct ftpc_session_s *session); -EXTERN void ftpc_curdir(struct ftpc_session_s *session); +EXTERN void ftpc_currdir(struct ftpc_session_s *session); +EXTERN FAR const char *ftpc_lpwd(void); EXTERN int ftpc_xfrmode(struct ftpc_session_s *session, uint8_t xfrmode); - -EXTERN int ftpc_reconnect(FAR struct ftpc_session_s *session); -EXTERN int ftpc_relogin(FAR struct ftpc_session_s *session); +EXTERN FAR char *ftpc_absrpath(FAR struct ftpc_session_s *session, + FAR const char *relpath); +EXTERN FAR char *ftpc_abslpath(FAR struct ftpc_session_s *session, + FAR const char *relpath); /* Socket helpers */ |