xref: /netbsd-src/usr.bin/ftp/extern.h (revision 89c5a767f8fc7a4633b2d409966e2becbb98ff92)
1 /*	$NetBSD: extern.h,v 1.52 2000/01/31 22:01:04 lukem Exp $	*/
2 
3 /*-
4  * Copyright (c) 1996-1999 The NetBSD Foundation, Inc.
5  * All rights reserved.
6  *
7  * This code is derived from software contributed to The NetBSD Foundation
8  * by Luke Mewburn.
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  * 1. Redistributions of source code must retain the above copyright
14  *    notice, this list of conditions and the following disclaimer.
15  * 2. Redistributions in binary form must reproduce the above copyright
16  *    notice, this list of conditions and the following disclaimer in the
17  *    documentation and/or other materials provided with the distribution.
18  * 3. All advertising materials mentioning features or use of this software
19  *    must display the following acknowledgement:
20  *	This product includes software developed by the NetBSD
21  *	Foundation, Inc. and its contributors.
22  * 4. Neither the name of The NetBSD Foundation nor the names of its
23  *    contributors may be used to endorse or promote products derived
24  *    from this software without specific prior written permission.
25  *
26  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
27  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
28  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
30  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36  * POSSIBILITY OF SUCH DAMAGE.
37  */
38 
39 /*-
40  * Copyright (c) 1994 The Regents of the University of California.
41  * All rights reserved.
42  *
43  * Redistribution and use in source and binary forms, with or without
44  * modification, are permitted provided that the following conditions
45  * are met:
46  * 1. Redistributions of source code must retain the above copyright
47  *    notice, this list of conditions and the following disclaimer.
48  * 2. Redistributions in binary form must reproduce the above copyright
49  *    notice, this list of conditions and the following disclaimer in the
50  *    documentation and/or other materials provided with the distribution.
51  * 3. All advertising materials mentioning features or use of this software
52  *    must display the following acknowledgement:
53  *	This product includes software developed by the University of
54  *	California, Berkeley and its contributors.
55  * 4. Neither the name of the University nor the names of its contributors
56  *    may be used to endorse or promote products derived from this software
57  *    without specific prior written permission.
58  *
59  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
60  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
61  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
62  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
63  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
64  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
65  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
66  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
67  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
68  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
69  * SUCH DAMAGE.
70  *
71  *	@(#)extern.h	8.3 (Berkeley) 10/9/94
72  */
73 
74 /*
75  * Copyright (C) 1997 and 1998 WIDE Project.
76  * All rights reserved.
77  *
78  * Redistribution and use in source and binary forms, with or without
79  * modification, are permitted provided that the following conditions
80  * are met:
81  * 1. Redistributions of source code must retain the above copyright
82  *    notice, this list of conditions and the following disclaimer.
83  * 2. Redistributions in binary form must reproduce the above copyright
84  *    notice, this list of conditions and the following disclaimer in the
85  *    documentation and/or other materials provided with the distribution.
86  * 3. Neither the name of the project nor the names of its contributors
87  *    may be used to endorse or promote products derived from this software
88  *    without specific prior written permission.
89  *
90  * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
91  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
92  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
93  * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
94  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
95  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
96  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
97  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
98  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
99  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
100  * SUCH DAMAGE.
101  */
102 
103 struct sockaddr;
104 struct tm;
105 
106 void	abort_remote __P((FILE *));
107 void	abort_squared __P((int));
108 void	abortpt __P((int));
109 void	abortxfer __P((int));
110 void	account __P((int, char **));
111 void	alarmtimer __P((int));
112 int	another __P((int *, char ***, const char *));
113 int	auto_fetch __P((int, char **));
114 void	blkfree __P((char **));
115 void	cd __P((int, char **));
116 void	cdup __P((int, char **));
117 void	changetype __P((int, int));
118 void	cleanuppeer __P((void));
119 void	cmdabort __P((int));
120 void	cmdtimeout __P((int));
121 void	cmdscanner __P((void));
122 int	command __P((const char *, ...));
123 #ifndef NO_EDITCOMPLETE
124 unsigned char complete __P((EditLine *, int));
125 void	controlediting __P((void));
126 #endif /* !NO_EDITCOMPLETE */
127 void	crankrate __P((int));
128 FILE   *dataconn __P((const char *));
129 void	delete __P((int, char **));
130 void	disconnect __P((int, char **));
131 void	do_chmod __P((int, char **));
132 void	do_umask __P((int, char **));
133 char   *docase __P((char *));
134 void	domacro __P((int, char **));
135 char   *domap __P((char *));
136 void	doproxy __P((int, char **));
137 char   *dotrans __P((char *));
138 int	foregroundproc __P((void));
139 void	formatbuf __P((char *, size_t, const char *));
140 void	ftpvis __P((char *, size_t, const char *, size_t));
141 int	ftp_login __P((const char *, const char *, const char *));
142 void	get __P((int, char **));
143 struct cmd *getcmd __P((const char *));
144 int	getit __P((int, char **, int, const char *));
145 struct option *getoption __P((const char *));
146 char   *getoptionvalue __P((const char *));
147 int	getreply __P((int));
148 char   *globulize __P((const char *));
149 char   *gunique __P((const char *));
150 void	help __P((int, char **));
151 char   *hookup __P((char *, char *));
152 void	idlecmd __P((int, char **));
153 int	initconn __P((void));
154 void	intr __P((int));
155 int	isipv6addr __P((const char *));
156 void	list_vertical __P((StringList *));
157 void	lcd __P((int, char **));
158 void	lostpeer __P((int));
159 void	lpage __P((int, char **));
160 void	lpwd __P((int, char **));
161 void	ls __P((int, char **));
162 void	mabort __P((void));
163 void	macdef __P((int, char **));
164 void	makeargv __P((void));
165 void	makedir __P((int, char **));
166 void	mdelete __P((int, char **));
167 void	mget __P((int, char **));
168 void	mintr __P((int));
169 void	mls __P((int, char **));
170 void	modtime __P((int, char **));
171 void	mput __P((int, char **));
172 char   *onoff __P((int));
173 void	newer __P((int, char **));
174 void	page __P((int, char **));
175 int	parserate __P((int, char **, int));
176 void	progressmeter __P((int));
177 char   *prompt __P((void));
178 void	proxabort __P((int));
179 void	proxtrans __P((const char *, const char *, const char *));
180 void	psabort __P((int));
181 void	psummary __P((int));
182 void	pswitch __P((int));
183 void	ptransfer __P((int));
184 void	put __P((int, char **));
185 void	pwd __P((int, char **));
186 void	quit __P((int, char **));
187 void	quote __P((int, char **));
188 void	quote1 __P((const char *, int, char **));
189 void	recvrequest __P((const char *, const char *, const char *,
190 	    const char *, int, int));
191 void	reget __P((int, char **));
192 char   *remglob __P((char **, int, char **));
193 off_t	remotesize __P((const char *, int));
194 time_t	remotemodtime __P((const char *, int));
195 void	removedir __P((int, char **));
196 void	renamefile __P((int, char **));
197 void	reset __P((int, char **));
198 void	restart __P((int, char **));
199 void	rmthelp __P((int, char **));
200 void	rmtstatus __P((int, char **));
201 char   *rprompt __P((void));
202 int	ruserpass __P((const char *, const char **, const char **,
203 	    const char **));
204 void	sendrequest __P((const char *, const char *, const char *, int));
205 void	setascii __P((int, char **));
206 void	setbell __P((int, char **));
207 void	setbinary __P((int, char **));
208 void	setcase __P((int, char **));
209 void	setcr __P((int, char **));
210 void	setdebug __P((int, char **));
211 void	setedit __P((int, char **));
212 void	setepsv4 __P((int, char **));
213 void	setform __P((int, char **));
214 void	setftmode __P((int, char **));
215 void	setgate __P((int, char **));
216 void	setglob __P((int, char **));
217 void	sethash __P((int, char **));
218 void	setnmap __P((int, char **));
219 void	setntrans __P((int, char **));
220 void	setoption __P((int, char **));
221 void	setpassive __P((int, char **));
222 void	setpeer __P((int, char **));
223 void	setport __P((int, char **));
224 void	setpreserve __P((int, char **));
225 void	setprogress __P((int, char **));
226 void	setprompt __P((int, char **));
227 void	setrate __P((int, char **));
228 void	setrunique __P((int, char **));
229 void	setstruct __P((int, char **));
230 void	setsunique __P((int, char **));
231 void	settenex __P((int, char **));
232 void	settrace __P((int, char **));
233 void	setttywidth __P((int));
234 void	settype __P((int, char **));
235 void	setupsockbufsize __P((int));
236 void	setverbose __P((int, char **));
237 void	setxferbuf __P((int, char **));
238 void	shell __P((int, char **));
239 void	site __P((int, char **));
240 void	sizecmd __P((int, char **));
241 char   *slurpstring __P((void));
242 void	status __P((int, char **));
243 int	strsuftoi __P((const char *));
244 void	syst __P((int, char **));
245 int	togglevar __P((int, char **, int *, const char *));
246 void	unsetoption __P((int, char **));
247 void	updateremotepwd __P((void));
248 void	usage __P((void));
249 void	user __P((int, char **));
250 int	xconnect __P((int, const struct sockaddr *, int));
251 int	xlisten __P((int, int));
252 void   *xmalloc __P((size_t));
253 StringList *xsl_init __P((void));
254 void	xsl_add __P((StringList *, char *));
255 char   *xstrdup __P((const char *));
256 sigfunc	xsignal __P((int, sigfunc));
257 sigfunc	xsignal_restart __P((int, sigfunc, int));
258