extern.h revision 1.55
11.55Sitojun/* $NetBSD: extern.h,v 1.55 2000/05/29 14:57:27 itojun Exp $ */ 21.43Slukem 31.43Slukem/*- 41.53Slukem * Copyright (c) 1996-2000 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.54Slukemvoid alarmtimer(int); 1141.54Slukemint another(int *, char ***, const char *); 1151.54Slukemint auto_fetch(int, 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.54Slukemint command(const char *, ...); 1251.29Scgd#ifndef NO_EDITCOMPLETE 1261.54Slukemunsigned char complete(EditLine *, int); 1271.54Slukemvoid controlediting(void); 1281.29Scgd#endif /* !NO_EDITCOMPLETE */ 1291.54Slukemvoid crankrate(int); 1301.54SlukemFILE *dataconn(const char *); 1311.54Slukemvoid delete(int, char **); 1321.54Slukemvoid disconnect(int, char **); 1331.54Slukemvoid do_chmod(int, char **); 1341.54Slukemvoid do_umask(int, char **); 1351.54Slukemchar *docase(char *); 1361.54Slukemvoid domacro(int, char **); 1371.54Slukemchar *domap(char *); 1381.54Slukemvoid doproxy(int, char **); 1391.54Slukemchar *dotrans(char *); 1401.54Slukemvoid fget(int, char **); 1411.54Slukemint foregroundproc(void); 1421.54Slukemvoid formatbuf(char *, size_t, const char *); 1431.54Slukemvoid ftpvis(char *, size_t, const char *, size_t); 1441.54Slukemint ftp_login(const char *, const char *, const char *); 1451.54Slukemvoid get(int, char **); 1461.54Slukemstruct cmd *getcmd(const char *); 1471.54Slukemint getit(int, char **, int, const char *); 1481.54Slukemstruct option *getoption(const char *); 1491.54Slukemchar *getoptionvalue(const char *); 1501.54Slukemint getreply(int); 1511.54Slukemchar *globulize(const char *); 1521.54Slukemchar *gunique(const char *); 1531.54Slukemvoid help(int, char **); 1541.54Slukemchar *hookup(char *, char *); 1551.54Slukemvoid idlecmd(int, char **); 1561.54Slukemint initconn(void); 1571.54Slukemvoid intr(int); 1581.54Slukemint isipv6addr(const char *); 1591.54Slukemvoid list_vertical(StringList *); 1601.54Slukemvoid lcd(int, char **); 1611.54Slukemvoid lostpeer(int); 1621.54Slukemvoid lpage(int, char **); 1631.54Slukemvoid lpwd(int, char **); 1641.54Slukemvoid ls(int, char **); 1651.54Slukemvoid mabort(void); 1661.54Slukemvoid macdef(int, char **); 1671.54Slukemvoid makeargv(void); 1681.54Slukemvoid makedir(int, char **); 1691.54Slukemvoid mdelete(int, char **); 1701.54Slukemvoid mget(int, char **); 1711.54Slukemvoid mintr(int); 1721.54Slukemvoid mls(int, char **); 1731.54Slukemvoid modtime(int, char **); 1741.54Slukemvoid mput(int, char **); 1751.54Slukemchar *onoff(int); 1761.54Slukemvoid newer(int, char **); 1771.54Slukemvoid page(int, char **); 1781.54Slukemint parserate(int, char **, int); 1791.54Slukemvoid progressmeter(int); 1801.54Slukemchar *prompt(void); 1811.54Slukemvoid proxabort(int); 1821.54Slukemvoid proxtrans(const char *, const char *, const char *); 1831.54Slukemvoid psabort(int); 1841.54Slukemvoid psummary(int); 1851.54Slukemvoid pswitch(int); 1861.54Slukemvoid ptransfer(int); 1871.54Slukemvoid put(int, char **); 1881.54Slukemvoid pwd(int, char **); 1891.54Slukemvoid quit(int, char **); 1901.54Slukemvoid quote(int, char **); 1911.54Slukemvoid quote1(const char *, int, char **); 1921.54Slukemvoid recvrequest(const char *, const char *, const char *, 1931.54Slukem const char *, int, int); 1941.54Slukemvoid reget(int, char **); 1951.54Slukemchar *remglob(char **, int, char **); 1961.54Slukemoff_t remotesize(const char *, int); 1971.54Slukemtime_t remotemodtime(const char *, int); 1981.54Slukemvoid removedir(int, char **); 1991.54Slukemvoid renamefile(int, char **); 2001.54Slukemvoid reset(int, char **); 2011.54Slukemvoid restart(int, char **); 2021.54Slukemvoid rmthelp(int, char **); 2031.54Slukemvoid rmtstatus(int, char **); 2041.54Slukemchar *rprompt(void); 2051.54Slukemint ruserpass(const char *, const char **, const char **, 2061.54Slukem const char **); 2071.54Slukemvoid sendrequest(const char *, const char *, const char *, int); 2081.54Slukemvoid setascii(int, char **); 2091.54Slukemvoid setbell(int, char **); 2101.54Slukemvoid setbinary(int, char **); 2111.54Slukemvoid setcase(int, char **); 2121.54Slukemvoid setcr(int, char **); 2131.54Slukemvoid setdebug(int, char **); 2141.54Slukemvoid setedit(int, char **); 2151.54Slukemvoid setepsv4(int, char **); 2161.54Slukemvoid setform(int, char **); 2171.54Slukemvoid setftmode(int, char **); 2181.54Slukemvoid setgate(int, char **); 2191.54Slukemvoid setglob(int, char **); 2201.54Slukemvoid sethash(int, char **); 2211.54Slukemvoid setnmap(int, char **); 2221.54Slukemvoid setntrans(int, char **); 2231.54Slukemvoid setoption(int, char **); 2241.54Slukemvoid setpassive(int, char **); 2251.54Slukemvoid setpeer(int, char **); 2261.54Slukemvoid setport(int, char **); 2271.54Slukemvoid setpreserve(int, char **); 2281.54Slukemvoid setprogress(int, char **); 2291.54Slukemvoid setprompt(int, char **); 2301.54Slukemvoid setrate(int, char **); 2311.54Slukemvoid setrunique(int, char **); 2321.54Slukemvoid setstruct(int, char **); 2331.54Slukemvoid setsunique(int, char **); 2341.54Slukemvoid settenex(int, char **); 2351.54Slukemvoid settrace(int, char **); 2361.54Slukemvoid setttywidth(int); 2371.54Slukemvoid settype(int, char **); 2381.54Slukemvoid setupsockbufsize(int); 2391.54Slukemvoid setverbose(int, char **); 2401.54Slukemvoid setxferbuf(int, char **); 2411.54Slukemvoid shell(int, char **); 2421.54Slukemvoid site(int, char **); 2431.54Slukemvoid sizecmd(int, char **); 2441.54Slukemchar *slurpstring(void); 2451.54Slukemvoid status(int, char **); 2461.54Slukemint strsuftoi(const char *); 2471.54Slukemvoid syst(int, char **); 2481.54Slukemint togglevar(int, char **, int *, const char *); 2491.54Slukemvoid unsetoption(int, char **); 2501.54Slukemvoid updateremotepwd(void); 2511.54Slukemvoid usage(void); 2521.54Slukemvoid user(int, char **); 2531.54Slukemint xconnect(int, const struct sockaddr *, int); 2541.54Slukemint xlisten(int, int); 2551.54Slukemvoid *xmalloc(size_t); 2561.54SlukemStringList *xsl_init(void); 2571.54Slukemvoid xsl_add(StringList *, char *); 2581.54Slukemchar *xstrdup(const char *); 2591.54Slukemsigfunc xsignal(int, sigfunc); 2601.54Slukemsigfunc xsignal_restart(int, sigfunc, int); 261