155682Smarkm/*- 255682Smarkm * Copyright (c) 1994 The Regents of the University of California. 355682Smarkm * All rights reserved. 455682Smarkm * 555682Smarkm * Redistribution and use in source and binary forms, with or without 655682Smarkm * modification, are permitted provided that the following conditions 755682Smarkm * are met: 855682Smarkm * 1. Redistributions of source code must retain the above copyright 955682Smarkm * notice, this list of conditions and the following disclaimer. 1055682Smarkm * 2. Redistributions in binary form must reproduce the above copyright 1155682Smarkm * notice, this list of conditions and the following disclaimer in the 1255682Smarkm * documentation and/or other materials provided with the distribution. 1355682Smarkm * 3. All advertising materials mentioning features or use of this software 1455682Smarkm * must display the following acknowledgement: 1555682Smarkm * This product includes software developed by the University of 1655682Smarkm * California, Berkeley and its contributors. 1755682Smarkm * 4. Neither the name of the University nor the names of its contributors 1855682Smarkm * may be used to endorse or promote products derived from this software 1955682Smarkm * without specific prior written permission. 2055682Smarkm * 2155682Smarkm * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 2255682Smarkm * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2355682Smarkm * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2455682Smarkm * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2555682Smarkm * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2655682Smarkm * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2755682Smarkm * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2855682Smarkm * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2955682Smarkm * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3055682Smarkm * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3155682Smarkm * SUCH DAMAGE. 3255682Smarkm * 3355682Smarkm * @(#)extern.h 8.3 (Berkeley) 10/9/94 3455682Smarkm */ 3555682Smarkm 36233294Sstas/* $Id$ */ 3755682Smarkm 3855682Smarkm#include <setjmp.h> 3955682Smarkm#include <stdlib.h> 4055682Smarkm#ifdef TIME_WITH_SYS_TIME 4155682Smarkm#include <sys/time.h> 4255682Smarkm#include <time.h> 4355682Smarkm#elif defined(HAVE_SYS_TIME_H) 4455682Smarkm#include <sys/time.h> 4555682Smarkm#else 4655682Smarkm#include <time.h> 4755682Smarkm#endif 4855682Smarkm#ifdef HAVE_SYS_SELECT_H 4955682Smarkm#include <sys/select.h> 5055682Smarkm#endif 5155682Smarkm 5255682Smarkmvoid abort_remote (FILE *); 5355682Smarkmvoid abortpt (int); 5455682Smarkmvoid abortrecv (int); 5555682Smarkmvoid account (int, char **); 5655682Smarkmint another (int *, char ***, char *); 5755682Smarkmvoid blkfree (char **); 5855682Smarkmvoid cd (int, char **); 5955682Smarkmvoid cdup (int, char **); 6055682Smarkmvoid changetype (int, int); 6155682Smarkmvoid cmdabort (int); 6255682Smarkmvoid cmdscanner (int); 6372445Sassarint command (char *fmt, ...) 6472445Sassar __attribute__ ((format (printf, 1,2))); 6555682Smarkmint confirm (char *, char *); 6655682SmarkmFILE *dataconn (const char *); 6755682Smarkmvoid delete (int, char **); 6855682Smarkmvoid disconnect (int, char **); 6955682Smarkmvoid do_chmod (int, char **); 7055682Smarkmvoid do_umask (int, char **); 7155682Smarkmvoid domacro (int, char **); 7255682Smarkmchar *domap (char *); 7355682Smarkmvoid doproxy (int, char **); 7455682Smarkmchar *dotrans (char *); 7555682Smarkmint empty (fd_set *, int); 7655682Smarkmvoid fatal (char *); 7755682Smarkmvoid get (int, char **); 7855682Smarkmstruct cmd *getcmd (char *); 7955682Smarkmint getit (int, char **, int, char *); 8055682Smarkmint getreply (int); 8155682Smarkmint globulize (char **); 8255682Smarkmchar *gunique (char *); 8355682Smarkmvoid help (int, char **); 8455682Smarkmchar *hookup (const char *, int); 8555682Smarkmvoid ftp_idle (int, char **); 8655682Smarkmint initconn (void); 8755682Smarkmvoid intr (int); 8855682Smarkmvoid lcd (int, char **); 8955682Smarkmint login (char *); 9055682SmarkmRETSIGTYPE lostpeer (int); 9155682Smarkmvoid ls (int, char **); 9255682Smarkmvoid macdef (int, char **); 9355682Smarkmvoid makeargv (void); 9455682Smarkmvoid makedir (int, char **); 9555682Smarkmvoid mdelete (int, char **); 9655682Smarkmvoid mget (int, char **); 9755682Smarkmvoid mls (int, char **); 9855682Smarkmvoid modtime (int, char **); 9955682Smarkmvoid mput (int, char **); 10055682Smarkmchar *onoff (int); 10155682Smarkmvoid newer (int, char **); 10255682Smarkmvoid proxtrans (char *, char *, char *); 10355682Smarkmvoid psabort (int); 10455682Smarkmvoid pswitch (int); 10555682Smarkmvoid ptransfer (char *, long, struct timeval *, struct timeval *); 10655682Smarkmvoid put (int, char **); 10755682Smarkmvoid pwd (int, char **); 10855682Smarkmvoid quit (int, char **); 10955682Smarkmvoid quote (int, char **); 11055682Smarkmvoid quote1 (char *, int, char **); 11155682Smarkmvoid recvrequest (char *, char *, char *, char *, int, int); 11255682Smarkmvoid reget (int, char **); 11355682Smarkmchar *remglob (char **, int); 11455682Smarkmvoid removedir (int, char **); 11555682Smarkmvoid renamefile (int, char **); 11655682Smarkmvoid reset (int, char **); 11755682Smarkmvoid restart (int, char **); 11855682Smarkmvoid rmthelp (int, char **); 11955682Smarkmvoid rmtstatus (int, char **); 120233294Sstasint ruserpassword (char *, char **, char **, char **); 12155682Smarkmvoid sendrequest (char *, char *, char *, char *, int); 12255682Smarkmvoid setascii (int, char **); 12355682Smarkmvoid setbell (int, char **); 12455682Smarkmvoid setbinary (int, char **); 12555682Smarkmvoid setcase (int, char **); 12655682Smarkmvoid setcr (int, char **); 12755682Smarkmvoid setdebug (int, char **); 12855682Smarkmvoid setform (int, char **); 12955682Smarkmvoid setftmode (int, char **); 13055682Smarkmvoid setglob (int, char **); 13155682Smarkmvoid sethash (int, char **); 13255682Smarkmvoid setnmap (int, char **); 13355682Smarkmvoid setntrans (int, char **); 13455682Smarkmvoid setpassive (int, char **); 13555682Smarkmvoid setpeer (int, char **); 13655682Smarkmvoid setport (int, char **); 13755682Smarkmvoid setprompt (int, char **); 13855682Smarkmvoid setrunique (int, char **); 13955682Smarkmvoid setstruct (int, char **); 14055682Smarkmvoid setsunique (int, char **); 14155682Smarkmvoid settenex (int, char **); 14255682Smarkmvoid settrace (int, char **); 14355682Smarkmvoid settype (int, char **); 14455682Smarkmvoid setverbose (int, char **); 14555682Smarkmvoid shell (int, char **); 14655682Smarkmvoid site (int, char **); 14755682Smarkmvoid sizecmd (int, char **); 14855682Smarkmchar *slurpstring (void); 14955682Smarkmvoid status (int, char **); 15055682Smarkmvoid syst (int, char **); 15155682Smarkmvoid tvsub (struct timeval *, struct timeval *, struct timeval *); 15255682Smarkmvoid user (int, char **); 15355682Smarkm 15455682Smarkmextern jmp_buf abortprox; 15555682Smarkmextern int abrtflag; 15655682Smarkmextern struct cmd cmdtab[]; 15755682Smarkmextern FILE *cout; 15855682Smarkmextern int data; 15955682Smarkmextern char *home; 16055682Smarkmextern jmp_buf jabort; 16155682Smarkmextern int proxy; 16255682Smarkmextern char reply_string[]; 16355682Smarkmextern off_t restart_point; 16455682Smarkmextern int NCMDS; 16555682Smarkm 16655682Smarkmextern char username[32]; 16755682Smarkmextern char myhostname[]; 16855682Smarkmextern char *mydomain; 16955682Smarkm 17055682Smarkmvoid afslog (int, char **); 17155682Smarkmvoid kauth (int, char **); 17255682Smarkmvoid kdestroy (int, char **); 17355682Smarkmvoid klist (int, char **); 17455682Smarkmvoid krbtkfile (int, char **); 175