1*ce7279d8Sjsg /* $OpenBSD: extern.h,v 1.54 2024/05/21 05:00:48 jsg Exp $ */ 2bfd817adSflorian /* $NetBSD: extern.h,v 1.17 1997/08/18 10:20:19 lukem Exp $ */ 3bfd817adSflorian 4bfd817adSflorian /* 5bfd817adSflorian * Copyright (C) 1997 and 1998 WIDE Project. 6bfd817adSflorian * All rights reserved. 7bfd817adSflorian * 8bfd817adSflorian * Redistribution and use in source and binary forms, with or without 9bfd817adSflorian * modification, are permitted provided that the following conditions 10bfd817adSflorian * are met: 11bfd817adSflorian * 1. Redistributions of source code must retain the above copyright 12bfd817adSflorian * notice, this list of conditions and the following disclaimer. 13bfd817adSflorian * 2. Redistributions in binary form must reproduce the above copyright 14bfd817adSflorian * notice, this list of conditions and the following disclaimer in the 15bfd817adSflorian * documentation and/or other materials provided with the distribution. 16bfd817adSflorian * 3. Neither the name of the project nor the names of its contributors 17bfd817adSflorian * may be used to endorse or promote products derived from this software 18bfd817adSflorian * without specific prior written permission. 19bfd817adSflorian * 20bfd817adSflorian * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND 21bfd817adSflorian * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22bfd817adSflorian * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23bfd817adSflorian * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE 24bfd817adSflorian * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25bfd817adSflorian * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26bfd817adSflorian * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27bfd817adSflorian * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28bfd817adSflorian * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29bfd817adSflorian * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30bfd817adSflorian * SUCH DAMAGE. 31bfd817adSflorian */ 32bfd817adSflorian 33bfd817adSflorian /*- 34bfd817adSflorian * Copyright (c) 1994 The Regents of the University of California. 35bfd817adSflorian * All rights reserved. 36bfd817adSflorian * 37bfd817adSflorian * Redistribution and use in source and binary forms, with or without 38bfd817adSflorian * modification, are permitted provided that the following conditions 39bfd817adSflorian * are met: 40bfd817adSflorian * 1. Redistributions of source code must retain the above copyright 41bfd817adSflorian * notice, this list of conditions and the following disclaimer. 42bfd817adSflorian * 2. Redistributions in binary form must reproduce the above copyright 43bfd817adSflorian * notice, this list of conditions and the following disclaimer in the 44bfd817adSflorian * documentation and/or other materials provided with the distribution. 45bfd817adSflorian * 3. Neither the name of the University nor the names of its contributors 46bfd817adSflorian * may be used to endorse or promote products derived from this software 47bfd817adSflorian * without specific prior written permission. 48bfd817adSflorian * 49bfd817adSflorian * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 50bfd817adSflorian * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 51bfd817adSflorian * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 52bfd817adSflorian * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 53bfd817adSflorian * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 54bfd817adSflorian * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 55bfd817adSflorian * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 56bfd817adSflorian * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 57bfd817adSflorian * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 58bfd817adSflorian * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 59bfd817adSflorian * SUCH DAMAGE. 60bfd817adSflorian * 61bfd817adSflorian * @(#)extern.h 8.3 (Berkeley) 10/9/94 62bfd817adSflorian */ 63bfd817adSflorian 64bfd817adSflorian #include <sys/types.h> 65f37faed6Smillert #include <sys/socket.h> 66bfd817adSflorian 67bfd817adSflorian void abort_remote(FILE *); 68bfd817adSflorian void abortpt(int); 69bfd817adSflorian void abortrecv(int); 70bfd817adSflorian void alarmtimer(int); 71bfd817adSflorian int another(int *, char ***, const char *); 72bfd817adSflorian int auto_fetch(int, char **, char *); 73bfd817adSflorian void cdup(int, char **); 74bfd817adSflorian void cmdabort(int); 75bfd817adSflorian void cmdscanner(int); 76bfd817adSflorian int command(const char *, ...); 77bfd817adSflorian int confirm(const char *, const char *); 78bfd817adSflorian FILE *dataconn(const char *); 79bfd817adSflorian int foregroundproc(void); 80bfd817adSflorian int fileindir(const char *, const char *); 81bfd817adSflorian struct cmd *getcmd(const char *); 82bfd817adSflorian int getreply(int); 83bfd817adSflorian int globulize(char **); 84bfd817adSflorian char *gunique(const char *); 85bfd817adSflorian void help(int, char **); 86bfd817adSflorian char *hookup(char *, char *); 87bfd817adSflorian int initconn(void); 88bfd817adSflorian void intr(void); 89bfd817adSflorian int isurl(const char *); 90bfd817adSflorian int ftp_login(const char *, char *, char *); 91bfd817adSflorian void lostpeer(void); 92bfd817adSflorian void makeargv(void); 93bfd817adSflorian void progressmeter(int, const char *); 94bfd817adSflorian char *prompt(void); 95bfd817adSflorian void proxtrans(const char *, const char *, const char *); 96bfd817adSflorian void psabort(int); 97bfd817adSflorian void psummary(int); 98bfd817adSflorian void pswitch(int); 99bfd817adSflorian void ptransfer(int); 100bfd817adSflorian void recvrequest(const char *, const char *, const char *, 101bfd817adSflorian const char *, int, int); 102bfd817adSflorian char *remglob(char **, int, char **); 103bfd817adSflorian off_t remotesize(const char *, int); 104bfd817adSflorian time_t remotemodtime(const char *, int); 105bfd817adSflorian void reset(int, char **); 106bfd817adSflorian void rmthelp(int, char **); 107bfd817adSflorian void sethash(int, char **); 108bfd817adSflorian void setpeer(int, char **); 109bfd817adSflorian void setttywidth(int); 110bfd817adSflorian char *slurpstring(void); 111f37faed6Smillert int timed_connect(int s, const struct sockaddr *, socklen_t, int); 112bfd817adSflorian 113bfd817adSflorian __dead void usage(void); 114bfd817adSflorian 115bfd817adSflorian void cookie_get(const char *, const char *, int, char **); 116bfd817adSflorian void cookie_load(void); 117bfd817adSflorian 118bfd817adSflorian #ifndef SMALL 119bfd817adSflorian void abortsend(int); 120bfd817adSflorian unsigned char complete(EditLine *, int); 121bfd817adSflorian void controlediting(void); 122bfd817adSflorian void domacro(int, char **); 123bfd817adSflorian void list_vertical(StringList *); 124bfd817adSflorian void parse_list(char **, char *); 125bfd817adSflorian char *remglob2(char **, int, char **, FILE **ftemp, char *type); 126bfd817adSflorian int ruserpass(const char *, char **, char **, char **); 127bfd817adSflorian void sendrequest(const char *, const char *, const char *, int); 12849dd5d56Srobert ssize_t http_time(time_t, char *, size_t); 129bfd817adSflorian #endif /* !SMALL */ 130bfd817adSflorian 131bfd817adSflorian extern jmp_buf abortprox; 132bfd817adSflorian extern int abrtflag; 133bfd817adSflorian extern FILE *cout; 134bfd817adSflorian extern int data; 135bfd817adSflorian extern char *home; 136bfd817adSflorian extern jmp_buf jabort; 137bfd817adSflorian extern int family; 138bfd817adSflorian extern int proxy; 139bfd817adSflorian extern char reply_string[]; 140bfd817adSflorian extern off_t restart_point; 141bfd817adSflorian extern int keep_alive_timeout; 142bfd817adSflorian extern int connect_timeout; 143bfd817adSflorian extern int pipeout; 144bfd817adSflorian extern char *action; 145bfd817adSflorian 146bfd817adSflorian #ifndef SMALL 147bfd817adSflorian extern int NCMDS; 14849dd5d56Srobert extern int server_timestamps; 149bfd817adSflorian #endif /* !SMALL */ 150bfd817adSflorian 151bfd817adSflorian extern char *__progname; /* from crt0.o */ 152bfd817adSflorian 153