/* Declarations for FTP support.
Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
+This file is part of GNU Wget.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+GNU Wget is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+GNU Wget is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Wget; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifndef FTP_H
#define FTP_H
ST_UNIX,
ST_VMS,
ST_WINNT,
+ ST_MACOS,
ST_OTHER
};
uerr_t ftp_list PARAMS ((struct rbuf *, const char *));
uerr_t ftp_syst PARAMS ((struct rbuf *, enum stype *));
uerr_t ftp_pwd PARAMS ((struct rbuf *, char **));
+uerr_t ftp_size PARAMS ((struct rbuf *, const char *, long int *));
-struct urlinfo;
+struct url;
/* File types. */
enum ftype
DO_CWD = 0x0002, /* Change current directory. */
DO_RETR = 0x0004, /* Retrieve the file. */
DO_LIST = 0x0008, /* Retrieve the directory list. */
- LEAVE_PENDING = 0x0010 /* Do not close the socket. */
+ LEAVE_PENDING = 0x0010, /* Do not close the socket. */
+ NO_TRUNCATE = 0x0020 /* Don't truncate the file if REST
+ malfunctions. */
};
enum wget_ftp_fstatus
correct. */
};
-typedef struct
-{
- int st; /* connection status */
- int cmd; /* command code */
- struct rbuf rbuf; /* control connection buffer */
- long dltime; /* time of the download */
-} ccon;
+struct fileinfo *ftp_parse_ls PARAMS ((const char *, const enum stype));
+uerr_t ftp_loop PARAMS ((struct url *, int *));
+
+uerr_t ftp_index (const char *, struct url *, struct fileinfo *);
-struct fileinfo *ftp_parse_ls PARAMS ((const char *, enum stype));
-uerr_t ftp_loop PARAMS ((struct urlinfo *, int *));
+char ftp_process_type PARAMS ((const char *));
-uerr_t ftp_index (const char *, struct urlinfo *, struct fileinfo *);
#endif /* FTP_H */