extern.h revision 1.61
11.61Sjhawk/*	$NetBSD: extern.h,v 1.61 2003/01/21 16:08:07 jhawk Exp $	*/
21.43Slukem
31.43Slukem/*-
41.61Sjhawk * Copyright (c) 1996-2003 The NetBSD Foundation, Inc.
51.43Slukem * All rights reserved.
61.43Slukem *
71.43Slukem * This code is derived from software contributed to The NetBSD Foundation
81.43Slukem * by Luke Mewburn.
91.43Slukem *
101.43Slukem * Redistribution and use in source and binary forms, with or without
111.43Slukem * modification, are permitted provided that the following conditions
121.43Slukem * are met:
131.43Slukem * 1. Redistributions of source code must retain the above copyright
141.43Slukem *    notice, this list of conditions and the following disclaimer.
151.43Slukem * 2. Redistributions in binary form must reproduce the above copyright
161.43Slukem *    notice, this list of conditions and the following disclaimer in the
171.43Slukem *    documentation and/or other materials provided with the distribution.
181.43Slukem * 3. All advertising materials mentioning features or use of this software
191.43Slukem *    must display the following acknowledgement:
201.43Slukem *	This product includes software developed by the NetBSD
211.43Slukem *	Foundation, Inc. and its contributors.
221.43Slukem * 4. Neither the name of The NetBSD Foundation nor the names of its
231.43Slukem *    contributors may be used to endorse or promote products derived
241.43Slukem *    from this software without specific prior written permission.
251.43Slukem *
261.43Slukem * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
271.43Slukem * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
281.43Slukem * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
291.43Slukem * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
301.43Slukem * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
311.43Slukem * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
321.43Slukem * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
331.43Slukem * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
341.43Slukem * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
351.43Slukem * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
361.43Slukem * POSSIBILITY OF SUCH DAMAGE.
371.43Slukem */
381.32Sitojun
391.40Slukem/*-
401.40Slukem * Copyright (c) 1994 The Regents of the University of California.
411.32Sitojun * All rights reserved.
421.40Slukem *
431.32Sitojun * Redistribution and use in source and binary forms, with or without
441.32Sitojun * modification, are permitted provided that the following conditions
451.32Sitojun * are met:
461.32Sitojun * 1. Redistributions of source code must retain the above copyright
471.32Sitojun *    notice, this list of conditions and the following disclaimer.
481.32Sitojun * 2. Redistributions in binary form must reproduce the above copyright
491.32Sitojun *    notice, this list of conditions and the following disclaimer in the
501.32Sitojun *    documentation and/or other materials provided with the distribution.
511.40Slukem * 3. All advertising materials mentioning features or use of this software
521.40Slukem *    must display the following acknowledgement:
531.40Slukem *	This product includes software developed by the University of
541.40Slukem *	California, Berkeley and its contributors.
551.40Slukem * 4. Neither the name of the University nor the names of its contributors
561.32Sitojun *    may be used to endorse or promote products derived from this software
571.32Sitojun *    without specific prior written permission.
581.40Slukem *
591.40Slukem * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
601.32Sitojun * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
611.32Sitojun * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
621.40Slukem * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
631.32Sitojun * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
641.32Sitojun * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
651.32Sitojun * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
661.32Sitojun * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
671.32Sitojun * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
681.32Sitojun * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
691.32Sitojun * SUCH DAMAGE.
701.40Slukem *
711.40Slukem *	@(#)extern.h	8.3 (Berkeley) 10/9/94
721.32Sitojun */
731.4Stls
741.40Slukem/*
751.40Slukem * Copyright (C) 1997 and 1998 WIDE Project.
761.1Scgd * All rights reserved.
771.40Slukem *
781.1Scgd * Redistribution and use in source and binary forms, with or without
791.1Scgd * modification, are permitted provided that the following conditions
801.1Scgd * are met:
811.1Scgd * 1. Redistributions of source code must retain the above copyright
821.1Scgd *    notice, this list of conditions and the following disclaimer.
831.1Scgd * 2. Redistributions in binary form must reproduce the above copyright
841.1Scgd *    notice, this list of conditions and the following disclaimer in the
851.1Scgd *    documentation and/or other materials provided with the distribution.
861.40Slukem * 3. Neither the name of the project nor the names of its contributors
871.1Scgd *    may be used to endorse or promote products derived from this software
881.1Scgd *    without specific prior written permission.
891.40Slukem *
901.40Slukem * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
911.1Scgd * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
921.1Scgd * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
931.40Slukem * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
941.1Scgd * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
951.1Scgd * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
961.1Scgd * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
971.1Scgd * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
981.1Scgd * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
991.1Scgd * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1001.1Scgd * SUCH DAMAGE.
1011.1Scgd */
1021.1Scgd
1031.21Sthorpejstruct sockaddr;
1041.26Sitohystruct tm;
1051.55Sitojunstruct addrinfo;
1061.1Scgd
1071.54Slukemvoid	abort_remote(FILE *);
1081.54Slukemvoid	abort_squared(int);
1091.54Slukemvoid	abortpt(int);
1101.54Slukemvoid	abortxfer(int);
1111.54Slukemvoid	account(int, char **);
1121.55Sitojunvoid	ai_unmapped(struct addrinfo *);
1131.54Slukemint	another(int *, char ***, const char *);
1141.54Slukemint	auto_fetch(int, char **);
1151.56Slukemint	auto_put(int, char **, const char *);
1161.54Slukemvoid	blkfree(char **);
1171.54Slukemvoid	cd(int, char **);
1181.54Slukemvoid	cdup(int, char **);
1191.54Slukemvoid	changetype(int, int);
1201.54Slukemvoid	cleanuppeer(void);
1211.54Slukemvoid	cmdabort(int);
1221.54Slukemvoid	cmdtimeout(int);
1231.54Slukemvoid	cmdscanner(void);
1241.60Sisint	command(const char *, ...)
1251.60Sis     __attribute__((__format__(__printf__, 1, 2)));
1261.29Scgd#ifndef NO_EDITCOMPLETE
1271.54Slukemunsigned char complete(EditLine *, int);
1281.54Slukemvoid	controlediting(void);
1291.29Scgd#endif /* !NO_EDITCOMPLETE */
1301.54Slukemvoid	crankrate(int);
1311.54SlukemFILE   *dataconn(const char *);
1321.54Slukemvoid	delete(int, char **);
1331.54Slukemvoid	disconnect(int, char **);
1341.54Slukemvoid	do_chmod(int, char **);
1351.54Slukemvoid	do_umask(int, char **);
1361.54Slukemchar   *docase(char *);
1371.54Slukemvoid	domacro(int, char **);
1381.54Slukemchar   *domap(char *);
1391.54Slukemvoid	doproxy(int, char **);
1401.54Slukemchar   *dotrans(char *);
1411.58Slukemvoid	feat(int, char **);
1421.54Slukemvoid	fget(int, char **);
1431.54Slukemint	foregroundproc(void);
1441.54Slukemvoid	formatbuf(char *, size_t, const char *);
1451.54Slukemvoid	ftpvis(char *, size_t, const char *, size_t);
1461.54Slukemint	ftp_login(const char *, const char *, const char *);
1471.54Slukemvoid	get(int, char **);
1481.54Slukemstruct cmd *getcmd(const char *);
1491.54Slukemint	getit(int, char **, int, const char *);
1501.54Slukemstruct option *getoption(const char *);
1511.54Slukemchar   *getoptionvalue(const char *);
1521.58Slukemvoid	getremoteinfo(void);
1531.54Slukemint	getreply(int);
1541.54Slukemchar   *globulize(const char *);
1551.54Slukemchar   *gunique(const char *);
1561.54Slukemvoid	help(int, char **);
1571.54Slukemchar   *hookup(char *, char *);
1581.54Slukemvoid	idlecmd(int, char **);
1591.54Slukemint	initconn(void);
1601.54Slukemvoid	intr(int);
1611.54Slukemint	isipv6addr(const char *);
1621.54Slukemvoid	list_vertical(StringList *);
1631.54Slukemvoid	lcd(int, char **);
1641.54Slukemvoid	lostpeer(int);
1651.54Slukemvoid	lpage(int, char **);
1661.54Slukemvoid	lpwd(int, char **);
1671.54Slukemvoid	ls(int, char **);
1681.54Slukemvoid	mabort(void);
1691.54Slukemvoid	macdef(int, char **);
1701.54Slukemvoid	makeargv(void);
1711.54Slukemvoid	makedir(int, char **);
1721.54Slukemvoid	mdelete(int, char **);
1731.54Slukemvoid	mget(int, char **);
1741.54Slukemvoid	mintr(int);
1751.54Slukemvoid	mls(int, char **);
1761.58Slukemvoid	mlst(int, char **);
1771.54Slukemvoid	modtime(int, char **);
1781.54Slukemvoid	mput(int, char **);
1791.54Slukemchar   *onoff(int);
1801.58Slukemvoid	opts(int, char **);
1811.54Slukemvoid	newer(int, char **);
1821.54Slukemvoid	page(int, char **);
1831.59Slukemint	parseport(const char *, int);
1841.54Slukemint	parserate(int, char **, int);
1851.54Slukemchar   *prompt(void);
1861.54Slukemvoid	proxabort(int);
1871.54Slukemvoid	proxtrans(const char *, const char *, const char *);
1881.54Slukemvoid	psabort(int);
1891.54Slukemvoid	pswitch(int);
1901.54Slukemvoid	put(int, char **);
1911.54Slukemvoid	pwd(int, char **);
1921.54Slukemvoid	quit(int, char **);
1931.54Slukemvoid	quote(int, char **);
1941.54Slukemvoid	quote1(const char *, int, char **);
1951.54Slukemvoid	recvrequest(const char *, const char *, const char *,
1961.54Slukem	    const char *, int, int);
1971.54Slukemvoid	reget(int, char **);
1981.54Slukemchar   *remglob(char **, int, char **);
1991.57Slukemtime_t	remotemodtime(const char *, int);
2001.54Slukemoff_t	remotesize(const char *, int);
2011.54Slukemvoid	removedir(int, char **);
2021.54Slukemvoid	renamefile(int, char **);
2031.54Slukemvoid	reset(int, char **);
2041.54Slukemvoid	restart(int, char **);
2051.54Slukemvoid	rmthelp(int, char **);
2061.54Slukemvoid	rmtstatus(int, char **);
2071.54Slukemchar   *rprompt(void);
2081.54Slukemint	ruserpass(const char *, const char **, const char **,
2091.54Slukem	    const char **);
2101.54Slukemvoid	sendrequest(const char *, const char *, const char *, int);
2111.54Slukemvoid	setascii(int, char **);
2121.54Slukemvoid	setbell(int, char **);
2131.54Slukemvoid	setbinary(int, char **);
2141.54Slukemvoid	setcase(int, char **);
2151.54Slukemvoid	setcr(int, char **);
2161.54Slukemvoid	setdebug(int, char **);
2171.54Slukemvoid	setedit(int, char **);
2181.54Slukemvoid	setepsv4(int, char **);
2191.54Slukemvoid	setform(int, char **);
2201.54Slukemvoid	setftmode(int, char **);
2211.54Slukemvoid	setgate(int, char **);
2221.54Slukemvoid	setglob(int, char **);
2231.54Slukemvoid	sethash(int, char **);
2241.54Slukemvoid	setnmap(int, char **);
2251.54Slukemvoid	setntrans(int, char **);
2261.54Slukemvoid	setoption(int, char **);
2271.54Slukemvoid	setpassive(int, char **);
2281.54Slukemvoid	setpeer(int, char **);
2291.54Slukemvoid	setport(int, char **);
2301.54Slukemvoid	setpreserve(int, char **);
2311.54Slukemvoid	setprogress(int, char **);
2321.54Slukemvoid	setprompt(int, char **);
2331.54Slukemvoid	setrate(int, char **);
2341.54Slukemvoid	setrunique(int, char **);
2351.54Slukemvoid	setstruct(int, char **);
2361.54Slukemvoid	setsunique(int, char **);
2371.54Slukemvoid	settenex(int, char **);
2381.54Slukemvoid	settrace(int, char **);
2391.54Slukemvoid	setttywidth(int);
2401.54Slukemvoid	settype(int, char **);
2411.54Slukemvoid	setupsockbufsize(int);
2421.54Slukemvoid	setverbose(int, char **);
2431.54Slukemvoid	setxferbuf(int, char **);
2441.54Slukemvoid	shell(int, char **);
2451.54Slukemvoid	site(int, char **);
2461.54Slukemvoid	sizecmd(int, char **);
2471.54Slukemchar   *slurpstring(void);
2481.54Slukemvoid	status(int, char **);
2491.54Slukemint	strsuftoi(const char *);
2501.54Slukemvoid	syst(int, char **);
2511.54Slukemint	togglevar(int, char **, int *, const char *);
2521.54Slukemvoid	unsetoption(int, char **);
2531.54Slukemvoid	updateremotepwd(void);
2541.54Slukemvoid	usage(void);
2551.54Slukemvoid	user(int, char **);
2561.54Slukemint	xconnect(int, const struct sockaddr *, int);
2571.54Slukemint	xlisten(int, int);
2581.54Slukemvoid   *xmalloc(size_t);
2591.54SlukemStringList *xsl_init(void);
2601.54Slukemvoid	xsl_add(StringList *, char *);
2611.54Slukemchar   *xstrdup(const char *);
262