+/* 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);