]> sjero.net Git - wget/blobdiff - src/retr.h
[svn] Merge of fix for bugs 20341 and 20410.
[wget] / src / retr.h
index 308eeedf90147f87b6e2c95ade2ff4e5c7233c8e..9ebf255615cc2a319ad4d6e44ca899c5caff5179 100644 (file)
@@ -1,40 +1,65 @@
 /* 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 Wget.
+This file is part of GNU Wget.
 
-This program is free software; you can redistribute it and/or modify
+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.
 
-This program is distributed in the hope that it will be useful,
+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 this program; 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
+OpenSSL project's "OpenSSL" library (or with modified versions of it
+that use the same license as the "OpenSSL" library), and distribute
+the linked executables.  You must obey the GNU General Public License
+in all respects for all of the code used other than "OpenSSL".  If you
+modify this file, you may extend this exception to your version of the
+file, but you are not obligated to do so.  If you do not wish to do
+so, delete this exception statement from your version.  */
 
 #ifndef RETR_H
 #define RETR_H
 
-#include "rbuf.h"
+/* 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;
+
+/* Flags for fd_read_body. */
+enum {
+  rb_read_exactly  = 1,
+  rb_skip_startpos = 2
+};
+
+int fd_read_body (int, FILE *, wgint, wgint, wgint *, wgint *, double *, int);
+
+typedef const char *(*hunk_terminator_t) (const char *, const char *, int);
+
+char *fd_read_hunk (int, hunk_terminator_t, long, long);
+char *fd_read_line (int);
 
-int get_contents PARAMS ((int, FILE *, long *, long, long, struct rbuf *));
+uerr_t retrieve_url (const char *, char **, char **, const char *, int *, bool);
+uerr_t retrieve_from_file (const char *, bool, int *);
 
-uerr_t retrieve_url PARAMS ((const char *, char **, char **,
-                            const char *, int *));
-uerr_t retrieve_from_file PARAMS ((const char *, int, int *));
+const char *retr_rate (wgint, double);
+double calc_rate (wgint, double, int *);
+void printwhat (int, int);
 
-void reset_timer PARAMS ((void));
-long elapsed_time PARAMS ((void));
-char *rate PARAMS ((long, long));
+void sleep_between_retrievals (int);
 
-void printwhat PARAMS ((int, int));
+void rotate_backups (const char *);
 
-void downloaded_increase PARAMS ((unsigned long));
-int downloaded_exceeds_quota PARAMS ((void));
+bool url_uses_proxy (const char *);
 
 #endif /* RETR_H */