1223328Sgavin/* $NetBSD: extern.h,v 1.12 2009/11/15 10:12:37 lukem Exp $ */ 2223328Sgavin/* from NetBSD: extern.h,v 1.77 2009/07/13 19:05:41 roy Exp */ 379971Sobrien 479971Sobrien/*- 5223328Sgavin * Copyright (c) 1996-2009 The NetBSD Foundation, Inc. 679971Sobrien * All rights reserved. 779971Sobrien * 879971Sobrien * This code is derived from software contributed to The NetBSD Foundation 979971Sobrien * by Luke Mewburn. 1079971Sobrien * 1179971Sobrien * Redistribution and use in source and binary forms, with or without 1279971Sobrien * modification, are permitted provided that the following conditions 1379971Sobrien * are met: 1479971Sobrien * 1. Redistributions of source code must retain the above copyright 1579971Sobrien * notice, this list of conditions and the following disclaimer. 1679971Sobrien * 2. Redistributions in binary form must reproduce the above copyright 1779971Sobrien * notice, this list of conditions and the following disclaimer in the 1879971Sobrien * documentation and/or other materials provided with the distribution. 1979971Sobrien * 2079971Sobrien * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 2179971Sobrien * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 2279971Sobrien * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 2379971Sobrien * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 2479971Sobrien * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2579971Sobrien * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2679971Sobrien * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2779971Sobrien * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2879971Sobrien * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2979971Sobrien * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 3079971Sobrien * POSSIBILITY OF SUCH DAMAGE. 3179971Sobrien */ 3279971Sobrien 3379971Sobrien/*- 3479971Sobrien * Copyright (c) 1994 The Regents of the University of California. 3579971Sobrien * All rights reserved. 3679971Sobrien * 3779971Sobrien * Redistribution and use in source and binary forms, with or without 3879971Sobrien * modification, are permitted provided that the following conditions 3979971Sobrien * are met: 4079971Sobrien * 1. Redistributions of source code must retain the above copyright 4179971Sobrien * notice, this list of conditions and the following disclaimer. 4279971Sobrien * 2. Redistributions in binary form must reproduce the above copyright 4379971Sobrien * notice, this list of conditions and the following disclaimer in the 4479971Sobrien * documentation and/or other materials provided with the distribution. 45121966Smikeh * 3. Neither the name of the University nor the names of its contributors 4679971Sobrien * may be used to endorse or promote products derived from this software 4779971Sobrien * without specific prior written permission. 4879971Sobrien * 4979971Sobrien * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 5079971Sobrien * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 5179971Sobrien * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 5279971Sobrien * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 5379971Sobrien * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 5479971Sobrien * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 5579971Sobrien * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 5679971Sobrien * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 5779971Sobrien * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 5879971Sobrien * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 5979971Sobrien * SUCH DAMAGE. 6079971Sobrien * 6179971Sobrien * @(#)extern.h 8.3 (Berkeley) 10/9/94 6279971Sobrien */ 6379971Sobrien 6479971Sobrien/* 6579971Sobrien * Copyright (C) 1997 and 1998 WIDE Project. 6679971Sobrien * All rights reserved. 67146309Smikeh * 6879971Sobrien * Redistribution and use in source and binary forms, with or without 6979971Sobrien * modification, are permitted provided that the following conditions 7079971Sobrien * are met: 7179971Sobrien * 1. Redistributions of source code must retain the above copyright 7279971Sobrien * notice, this list of conditions and the following disclaimer. 7379971Sobrien * 2. Redistributions in binary form must reproduce the above copyright 7479971Sobrien * notice, this list of conditions and the following disclaimer in the 7579971Sobrien * documentation and/or other materials provided with the distribution. 7679971Sobrien * 3. Neither the name of the project nor the names of its contributors 7779971Sobrien * may be used to endorse or promote products derived from this software 7879971Sobrien * without specific prior written permission. 79146309Smikeh * 8079971Sobrien * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND 8179971Sobrien * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 8279971Sobrien * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 8379971Sobrien * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE 8479971Sobrien * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 8579971Sobrien * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 8679971Sobrien * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 8779971Sobrien * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 8879971Sobrien * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 8979971Sobrien * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 9079971Sobrien * SUCH DAMAGE. 9179971Sobrien */ 9279971Sobrien 9379971Sobrienstruct sockaddr; 9479971Sobrienstruct tm; 9579971Sobrienstruct addrinfo; 9679971Sobrien 9779971Sobrienvoid abort_remote(FILE *); 9879971Sobrienvoid abort_squared(int); 9979971Sobrienvoid abortpt(int); 10079971Sobrienvoid abortxfer(int); 10179971Sobrienvoid account(int, char **); 10279971Sobrienvoid ai_unmapped(struct addrinfo *); 10379971Sobrienint another(int *, char ***, const char *); 10479971Sobrienint auto_fetch(int, char **); 10579971Sobrienint auto_put(int, char **, const char *); 10679971Sobrienvoid blkfree(char **); 10779971Sobrienvoid cd(int, char **); 10879971Sobrienvoid cdup(int, char **); 10979971Sobrienvoid changetype(int, int); 11079971Sobrienvoid cleanuppeer(void); 11179971Sobrienvoid cmdabort(int); 11279971Sobrienvoid cmdtimeout(int); 11379971Sobrienvoid cmdscanner(void); 11498247Smikehint command(const char *, ...) 115223328Sgavin ; 11679971Sobrien#ifndef NO_EDITCOMPLETE 11779971Sobrienunsigned char complete(EditLine *, int); 11879971Sobrienvoid controlediting(void); 11979971Sobrien#endif /* !NO_EDITCOMPLETE */ 12079971Sobrienvoid crankrate(int); 12179971SobrienFILE *dataconn(const char *); 12279971Sobrienvoid delete(int, char **); 12379971Sobrienvoid disconnect(int, char **); 12479971Sobrienvoid do_chmod(int, char **); 12579971Sobrienvoid do_umask(int, char **); 12679971Sobrienvoid domacro(int, char **); 12779971Sobrienvoid doproxy(int, char **); 12879971Sobrienvoid feat(int, char **); 12979971Sobrienvoid fget(int, char **); 130142129Smikehint fileindir(const char *, const char *); 13179971Sobrienint foregroundproc(void); 13279971Sobrienvoid formatbuf(char *, size_t, const char *); 13379971Sobrienvoid ftpvis(char *, size_t, const char *, size_t); 13479971Sobrienint ftp_login(const char *, const char *, const char *); 13579971Sobrienvoid get(int, char **); 13679971Sobrienstruct cmd *getcmd(const char *); 13779971Sobrienint getit(int, char **, int, const char *); 138223328Sgavinint get_line(FILE *, char *, size_t, const char **); 13979971Sobrienstruct option *getoption(const char *); 14079971Sobrienchar *getoptionvalue(const char *); 14179971Sobrienvoid getremoteinfo(void); 14279971Sobrienint getreply(int); 14379971Sobrienchar *globulize(const char *); 14479971Sobrienchar *gunique(const char *); 14579971Sobrienvoid help(int, char **); 146223328Sgavinchar *hookup(const char *, const char *); 14779971Sobrienvoid idlecmd(int, char **); 14879971Sobrienint initconn(void); 14979971Sobrienvoid intr(int); 15079971Sobrienint isipv6addr(const char *); 15179971Sobrienvoid list_vertical(StringList *); 15279971Sobrienvoid lcd(int, char **); 15379971Sobrienvoid lostpeer(int); 15479971Sobrienvoid lpage(int, char **); 15579971Sobrienvoid lpwd(int, char **); 15679971Sobrienvoid ls(int, char **); 15779971Sobrienvoid macdef(int, char **); 15879971Sobrienvoid makeargv(void); 15979971Sobrienvoid makedir(int, char **); 16079971Sobrienvoid mdelete(int, char **); 16179971Sobrienvoid mget(int, char **); 16279971Sobrienvoid mls(int, char **); 16379971Sobrienvoid mlst(int, char **); 16479971Sobrienvoid modtime(int, char **); 16579971Sobrienvoid mput(int, char **); 166223328Sgavinconst char *onoff(int); 16779971Sobrienvoid opts(int, char **); 16879971Sobrienvoid newer(int, char **); 16979971Sobrienvoid page(int, char **); 17079971Sobrienint parserate(int, char **, int); 17179971Sobrienchar *prompt(void); 17279971Sobrienvoid proxabort(int); 17379971Sobrienvoid proxtrans(const char *, const char *, const char *); 17479971Sobrienvoid psabort(int); 17579971Sobrienvoid pswitch(int); 17679971Sobrienvoid put(int, char **); 17779971Sobrienvoid pwd(int, char **); 17879971Sobrienvoid quit(int, char **); 17979971Sobrienvoid quote(int, char **); 18079971Sobrienvoid quote1(const char *, int, char **); 18179971Sobrienvoid recvrequest(const char *, const char *, const char *, 18279971Sobrien const char *, int, int); 18379971Sobrienvoid reget(int, char **); 184223328Sgavinchar *remglob(char **, int, const char **); 18579971Sobrientime_t remotemodtime(const char *, int); 18679971Sobrienoff_t remotesize(const char *, int); 18779971Sobrienvoid removedir(int, char **); 18879971Sobrienvoid renamefile(int, char **); 18979971Sobrienvoid reset(int, char **); 19079971Sobrienvoid restart(int, char **); 191223328Sgavinconst char *rfc2822time(const struct tm *); 19279971Sobrienvoid rmthelp(int, char **); 19379971Sobrienvoid rmtstatus(int, char **); 19479971Sobrienchar *rprompt(void); 195223328Sgavinint ruserpass(const char *, char **, char **, char **); 19679971Sobrienvoid sendrequest(const char *, const char *, const char *, int); 19779971Sobrienvoid setascii(int, char **); 19879971Sobrienvoid setbell(int, char **); 19979971Sobrienvoid setbinary(int, char **); 20079971Sobrienvoid setcase(int, char **); 20179971Sobrienvoid setcr(int, char **); 20279971Sobrienvoid setdebug(int, char **); 20379971Sobrienvoid setedit(int, char **); 20479971Sobrienvoid setepsv4(int, char **); 205223328Sgavinvoid setepsv6(int, char **); 206223328Sgavinvoid setepsv(int, char **); 20779971Sobrienvoid setform(int, char **); 20879971Sobrienvoid setftmode(int, char **); 20979971Sobrienvoid setgate(int, char **); 21079971Sobrienvoid setglob(int, char **); 21179971Sobrienvoid sethash(int, char **); 21279971Sobrienvoid setnmap(int, char **); 21379971Sobrienvoid setntrans(int, char **); 21479971Sobrienvoid setoption(int, char **); 21579971Sobrienvoid setpassive(int, char **); 21679971Sobrienvoid setpeer(int, char **); 21779971Sobrienvoid setport(int, char **); 21879971Sobrienvoid setpreserve(int, char **); 21979971Sobrienvoid setprogress(int, char **); 22079971Sobrienvoid setprompt(int, char **); 22179971Sobrienvoid setrate(int, char **); 22279971Sobrienvoid setrunique(int, char **); 22379971Sobrienvoid setstruct(int, char **); 22479971Sobrienvoid setsunique(int, char **); 22579971Sobrienvoid settenex(int, char **); 22679971Sobrienvoid settrace(int, char **); 22779971Sobrienvoid setttywidth(int); 22879971Sobrienvoid settype(int, char **); 22979971Sobrienvoid setupsockbufsize(int); 23079971Sobrienvoid setverbose(int, char **); 23179971Sobrienvoid setxferbuf(int, char **); 232223328Sgavinvoid set_option(const char *, const char *, int); 23379971Sobrienvoid shell(int, char **); 23479971Sobrienvoid site(int, char **); 23579971Sobrienvoid sizecmd(int, char **); 23679971Sobrienchar *slurpstring(void); 23779971Sobrienvoid status(int, char **); 23879971Sobrienint strsuftoi(const char *); 23979971Sobrienvoid syst(int, char **); 24079971Sobrienint togglevar(int, char **, int *, const char *); 24179971Sobrienvoid unsetoption(int, char **); 242142129Smikehvoid updatelocalcwd(void); 243142129Smikehvoid updateremotecwd(void); 24479971Sobrienvoid usage(void); 24579971Sobrienvoid user(int, char **); 246223328Sgavinint ftp_connect(int, const struct sockaddr *, socklen_t); 247223328Sgavinint ftp_listen(int, int); 248223328Sgavinint ftp_poll(struct pollfd *, int, int); 249223328Sgavinvoid *ftp_malloc(size_t); 250223328SgavinStringList *ftp_sl_init(void); 251223328Sgavinvoid ftp_sl_add(StringList *, char *); 252223328Sgavinchar *ftp_strdup(const char *); 253