extern.h revision 1.60
11.60Sis/* $NetBSD: extern.h,v 1.60 2000/10/11 14:46:03 is 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.56Slukemint auto_put(int, char **, const char *); 1171.54Slukemvoid blkfree(char **); 1181.54Slukemvoid cd(int, char **); 1191.54Slukemvoid cdup(int, char **); 1201.54Slukemvoid changetype(int, int); 1211.54Slukemvoid cleanuppeer(void); 1221.54Slukemvoid cmdabort(int); 1231.54Slukemvoid cmdtimeout(int); 1241.54Slukemvoid cmdscanner(void); 1251.60Sisint command(const char *, ...) 1261.60Sis __attribute__((__format__(__printf__, 1, 2))); 1271.29Scgd#ifndef NO_EDITCOMPLETE 1281.54Slukemunsigned char complete(EditLine *, int); 1291.54Slukemvoid controlediting(void); 1301.29Scgd#endif /* !NO_EDITCOMPLETE */ 1311.54Slukemvoid crankrate(int); 1321.54SlukemFILE *dataconn(const char *); 1331.54Slukemvoid delete(int, char **); 1341.54Slukemvoid disconnect(int, char **); 1351.54Slukemvoid do_chmod(int, char **); 1361.54Slukemvoid do_umask(int, char **); 1371.54Slukemchar *docase(char *); 1381.54Slukemvoid domacro(int, char **); 1391.54Slukemchar *domap(char *); 1401.54Slukemvoid doproxy(int, char **); 1411.54Slukemchar *dotrans(char *); 1421.58Slukemvoid feat(int, char **); 1431.54Slukemvoid fget(int, char **); 1441.54Slukemint foregroundproc(void); 1451.54Slukemvoid formatbuf(char *, size_t, const char *); 1461.54Slukemvoid ftpvis(char *, size_t, const char *, size_t); 1471.54Slukemint ftp_login(const char *, const char *, const char *); 1481.54Slukemvoid get(int, char **); 1491.54Slukemstruct cmd *getcmd(const char *); 1501.54Slukemint getit(int, char **, int, const char *); 1511.54Slukemstruct option *getoption(const char *); 1521.54Slukemchar *getoptionvalue(const char *); 1531.58Slukemvoid getremoteinfo(void); 1541.54Slukemint getreply(int); 1551.54Slukemchar *globulize(const char *); 1561.54Slukemchar *gunique(const char *); 1571.54Slukemvoid help(int, char **); 1581.54Slukemchar *hookup(char *, char *); 1591.54Slukemvoid idlecmd(int, char **); 1601.54Slukemint initconn(void); 1611.54Slukemvoid intr(int); 1621.54Slukemint isipv6addr(const char *); 1631.54Slukemvoid list_vertical(StringList *); 1641.54Slukemvoid lcd(int, char **); 1651.54Slukemvoid lostpeer(int); 1661.54Slukemvoid lpage(int, char **); 1671.54Slukemvoid lpwd(int, char **); 1681.54Slukemvoid ls(int, char **); 1691.54Slukemvoid mabort(void); 1701.54Slukemvoid macdef(int, char **); 1711.54Slukemvoid makeargv(void); 1721.54Slukemvoid makedir(int, char **); 1731.54Slukemvoid mdelete(int, char **); 1741.54Slukemvoid mget(int, char **); 1751.54Slukemvoid mintr(int); 1761.54Slukemvoid mls(int, char **); 1771.58Slukemvoid mlst(int, char **); 1781.54Slukemvoid modtime(int, char **); 1791.54Slukemvoid mput(int, char **); 1801.54Slukemchar *onoff(int); 1811.58Slukemvoid opts(int, char **); 1821.54Slukemvoid newer(int, char **); 1831.54Slukemvoid page(int, char **); 1841.59Slukemint parseport(const char *, int); 1851.54Slukemint parserate(int, char **, int); 1861.54Slukemvoid progressmeter(int); 1871.54Slukemchar *prompt(void); 1881.54Slukemvoid proxabort(int); 1891.54Slukemvoid proxtrans(const char *, const char *, const char *); 1901.54Slukemvoid psabort(int); 1911.54Slukemvoid psummary(int); 1921.54Slukemvoid pswitch(int); 1931.54Slukemvoid ptransfer(int); 1941.54Slukemvoid put(int, char **); 1951.54Slukemvoid pwd(int, char **); 1961.54Slukemvoid quit(int, char **); 1971.54Slukemvoid quote(int, char **); 1981.54Slukemvoid quote1(const char *, int, char **); 1991.54Slukemvoid recvrequest(const char *, const char *, const char *, 2001.54Slukem const char *, int, int); 2011.54Slukemvoid reget(int, char **); 2021.54Slukemchar *remglob(char **, int, char **); 2031.57Slukemtime_t remotemodtime(const char *, int); 2041.54Slukemoff_t remotesize(const char *, int); 2051.54Slukemvoid removedir(int, char **); 2061.54Slukemvoid renamefile(int, char **); 2071.54Slukemvoid reset(int, char **); 2081.54Slukemvoid restart(int, char **); 2091.54Slukemvoid rmthelp(int, char **); 2101.54Slukemvoid rmtstatus(int, char **); 2111.54Slukemchar *rprompt(void); 2121.54Slukemint ruserpass(const char *, const char **, const char **, 2131.54Slukem const char **); 2141.54Slukemvoid sendrequest(const char *, const char *, const char *, int); 2151.54Slukemvoid setascii(int, char **); 2161.54Slukemvoid setbell(int, char **); 2171.54Slukemvoid setbinary(int, char **); 2181.54Slukemvoid setcase(int, char **); 2191.54Slukemvoid setcr(int, char **); 2201.54Slukemvoid setdebug(int, char **); 2211.54Slukemvoid setedit(int, char **); 2221.54Slukemvoid setepsv4(int, char **); 2231.54Slukemvoid setform(int, char **); 2241.54Slukemvoid setftmode(int, char **); 2251.54Slukemvoid setgate(int, char **); 2261.54Slukemvoid setglob(int, char **); 2271.54Slukemvoid sethash(int, char **); 2281.54Slukemvoid setnmap(int, char **); 2291.54Slukemvoid setntrans(int, char **); 2301.54Slukemvoid setoption(int, char **); 2311.54Slukemvoid setpassive(int, char **); 2321.54Slukemvoid setpeer(int, char **); 2331.54Slukemvoid setport(int, char **); 2341.54Slukemvoid setpreserve(int, char **); 2351.54Slukemvoid setprogress(int, char **); 2361.54Slukemvoid setprompt(int, char **); 2371.54Slukemvoid setrate(int, char **); 2381.54Slukemvoid setrunique(int, char **); 2391.54Slukemvoid setstruct(int, char **); 2401.54Slukemvoid setsunique(int, char **); 2411.54Slukemvoid settenex(int, char **); 2421.54Slukemvoid settrace(int, char **); 2431.54Slukemvoid setttywidth(int); 2441.54Slukemvoid settype(int, char **); 2451.54Slukemvoid setupsockbufsize(int); 2461.54Slukemvoid setverbose(int, char **); 2471.54Slukemvoid setxferbuf(int, char **); 2481.54Slukemvoid shell(int, char **); 2491.54Slukemvoid site(int, char **); 2501.54Slukemvoid sizecmd(int, char **); 2511.54Slukemchar *slurpstring(void); 2521.54Slukemvoid status(int, char **); 2531.54Slukemint strsuftoi(const char *); 2541.54Slukemvoid syst(int, char **); 2551.54Slukemint togglevar(int, char **, int *, const char *); 2561.54Slukemvoid unsetoption(int, char **); 2571.54Slukemvoid updateremotepwd(void); 2581.54Slukemvoid usage(void); 2591.54Slukemvoid user(int, char **); 2601.54Slukemint xconnect(int, const struct sockaddr *, int); 2611.54Slukemint xlisten(int, int); 2621.54Slukemvoid *xmalloc(size_t); 2631.54SlukemStringList *xsl_init(void); 2641.54Slukemvoid xsl_add(StringList *, char *); 2651.54Slukemchar *xstrdup(const char *); 2661.54Slukemsigfunc xsignal(int, sigfunc); 2671.54Slukemsigfunc xsignal_restart(int, sigfunc, int); 268