/* Declarations for retr.c.
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1996-2006 Free Software Foundation, Inc.
This file is part of GNU Wget.
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
+the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
GNU Wget is distributed in the hope that it will be useful,
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.
+along with Wget. If not, see <http://www.gnu.org/licenses/>.
In addition, as a special exception, the Free Software Foundation
gives permission to link the code of its release of Wget with the
#ifndef RETR_H
#define RETR_H
-typedef const char *(*hunk_terminator_t) PARAMS ((const char *, int, int));
+/* These global vars should be made static to retr.c and exported via
+ functions! */
+extern SUM_SIZE_INT total_downloaded_bytes;
+extern double total_download_time;
+extern FILE *output_stream;
+extern bool output_stream_regular;
-char *fd_read_hunk PARAMS ((int, hunk_terminator_t, int));
-char *fd_read_line PARAMS ((int));
+/* Flags for fd_read_body. */
+enum {
+ rb_read_exactly = 1,
+ rb_skip_startpos = 2
+};
-int fd_read_body PARAMS ((int, FILE *, long *, long, long, int, double *));
+int fd_read_body (int, FILE *, wgint, wgint, wgint *, wgint *, double *, int);
-uerr_t retrieve_url PARAMS ((const char *, char **, char **,
- const char *, int *));
-uerr_t retrieve_from_file PARAMS ((const char *, int, int *));
+typedef const char *(*hunk_terminator_t) (const char *, const char *, int);
-char *retr_rate PARAMS ((long, double, int));
-double calc_rate PARAMS ((long, double, int *));
-void printwhat PARAMS ((int, int));
+char *fd_read_hunk (int, hunk_terminator_t, long, long);
+char *fd_read_line (int);
-void sleep_between_retrievals PARAMS ((int));
+uerr_t retrieve_url (const char *, char **, char **, const char *, int *, bool);
+uerr_t retrieve_from_file (const char *, bool, int *);
-void rotate_backups PARAMS ((const char *));
+const char *retr_rate (wgint, double);
+double calc_rate (wgint, double, int *);
+void printwhat (int, int);
-/* Because there's no http.h. */
+void sleep_between_retrievals (int);
-struct url;
-
-uerr_t http_loop PARAMS ((struct url *, char **, char **, const char *,
- int *, struct url *));
+void rotate_backups (const char *);
+bool url_uses_proxy (const char *);
#endif /* RETR_H */