X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fftp.h;h=faf057bb9a54a7e203121f9fa89c4461364af3d9;hb=52d7763743e415b0a374a9845a7d9a67b9f8e321;hp=e8bcf10928a02eb1fc65d180d44c37ef81bcb841;hpb=a606b2eade34c3d8e662e94a32af960b5d2911f1;p=oftp diff --git a/src/ftp.h b/src/ftp.h index e8bcf10..faf057b 100644 --- a/src/ftp.h +++ b/src/ftp.h @@ -6,6 +6,7 @@ enum {FTP_DIR, FTP_FILE}; /* ftp_dirent type */ enum { FTP_PWD, FTP_CHDIR, + FTP_CDUP, FTP_MKDIR, FTP_RMDIR, FTP_DEL, @@ -20,6 +21,16 @@ enum { FTP_CONN_ACT }; +enum { + FTP_REMOTE, + FTP_LOCAL +}; + +enum { + FTP_MOD_REMDIR = 0x100, + FTP_MOD_LOCDIR = 0x200 +}; + struct ftp_op { int op; char *arg; @@ -30,14 +41,16 @@ struct ftp_op { struct ftp_dirent { char *name; int type; + long size; }; struct ftp { int ctl, lis, data; /* sockets */ int lis_port; - int status; + int status, busy; char *user, *pass; + int passive; struct ftp_op *qhead, *qtail; @@ -49,8 +62,8 @@ struct ftp { int num_crecv; char drecv[256]; - char *curdir_rem, *curdir_loc; - struct ftp_dirent *dent_rem, *dent_loc; + char *curdir[2]; + struct ftp_dirent *dirent[2]; /* dynamic array */ int last_resp; int modified; @@ -81,5 +94,9 @@ int ftp_list(struct ftp *ftp); int ftp_retrieve(struct ftp *ftp, const char *fname); int ftp_store(struct ftp *ftp, const char *fname); +const char *ftp_curdir(struct ftp *ftp, int whichdir); +int ftp_num_dirent(struct ftp *ftp, int whichdir); +struct ftp_dirent *ftp_dirent(struct ftp *ftp, int whichdir, int idx); + #endif /* FTP_H_ */