19b50d902SRodney W. Grimes /*- 29b50d902SRodney W. Grimes * Copyright (c) 1992, 1993 39b50d902SRodney W. Grimes * The Regents of the University of California. All rights reserved. 49b50d902SRodney W. Grimes * 59b50d902SRodney W. Grimes * Redistribution and use in source and binary forms, with or without 69b50d902SRodney W. Grimes * modification, are permitted provided that the following conditions 79b50d902SRodney W. Grimes * are met: 89b50d902SRodney W. Grimes * 1. Redistributions of source code must retain the above copyright 99b50d902SRodney W. Grimes * notice, this list of conditions and the following disclaimer. 109b50d902SRodney W. Grimes * 2. Redistributions in binary form must reproduce the above copyright 119b50d902SRodney W. Grimes * notice, this list of conditions and the following disclaimer in the 129b50d902SRodney W. Grimes * documentation and/or other materials provided with the distribution. 139b50d902SRodney W. Grimes * 3. All advertising materials mentioning features or use of this software 149b50d902SRodney W. Grimes * must display the following acknowledgement: 159b50d902SRodney W. Grimes * This product includes software developed by the University of 169b50d902SRodney W. Grimes * California, Berkeley and its contributors. 179b50d902SRodney W. Grimes * 4. Neither the name of the University nor the names of its contributors 189b50d902SRodney W. Grimes * may be used to endorse or promote products derived from this software 199b50d902SRodney W. Grimes * without specific prior written permission. 209b50d902SRodney W. Grimes * 219b50d902SRodney W. Grimes * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 229b50d902SRodney W. Grimes * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 239b50d902SRodney W. Grimes * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 249b50d902SRodney W. Grimes * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 259b50d902SRodney W. Grimes * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 269b50d902SRodney W. Grimes * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 279b50d902SRodney W. Grimes * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 289b50d902SRodney W. Grimes * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 299b50d902SRodney W. Grimes * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 309b50d902SRodney W. Grimes * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 319b50d902SRodney W. Grimes * SUCH DAMAGE. 329b50d902SRodney W. Grimes * 339b50d902SRodney W. Grimes * @(#)extern.h 8.1 (Berkeley) 6/6/93 340c3a8314SMike Heffner * 350c3a8314SMike Heffner * $FreeBSD$ 369b50d902SRodney W. Grimes */ 379b50d902SRodney W. Grimes 389b50d902SRodney W. Grimes struct name *cat __P((struct name *, struct name *)); 399b50d902SRodney W. Grimes struct name *delname __P((struct name *, char [])); 409b50d902SRodney W. Grimes struct name *elide __P((struct name *)); 419b50d902SRodney W. Grimes struct name *extract __P((char [], int)); 429b50d902SRodney W. Grimes struct name *gexpand __P((struct name *, struct grouphead *, int, int)); 439b50d902SRodney W. Grimes struct name *nalloc __P((char [], int)); 449b50d902SRodney W. Grimes struct name *outof __P((struct name *, FILE *, struct header *)); 459b50d902SRodney W. Grimes struct name *put __P((struct name *, struct name *)); 469b50d902SRodney W. Grimes struct name *tailof __P((struct name *)); 479b50d902SRodney W. Grimes struct name *usermap __P((struct name *)); 489ce73e90SMike Heffner FILE *Fdopen __P((int, const char *)); 499ce73e90SMike Heffner FILE *Fopen __P((const char *, const char *)); 509ce73e90SMike Heffner FILE *Popen __P((char *, const char *)); 519b50d902SRodney W. Grimes FILE *collect __P((struct header *, int)); 529b50d902SRodney W. Grimes char *copyin __P((char *, char **)); 539b50d902SRodney W. Grimes char *detract __P((struct name *, int)); 549b50d902SRodney W. Grimes char *expand __P((char *)); 559b50d902SRodney W. Grimes char *getdeadletter __P((void)); 569b50d902SRodney W. Grimes char *getname __P((int)); 579ce73e90SMike Heffner char *hfield __P((const char *, struct message *)); 589b50d902SRodney W. Grimes FILE *infix __P((struct header *, FILE *)); 599ce73e90SMike Heffner char *ishfield __P((char [], char *, const char *)); 609b50d902SRodney W. Grimes char *name1 __P((struct message *, int)); 619b50d902SRodney W. Grimes char *nameof __P((struct message *, int)); 629b50d902SRodney W. Grimes char *nextword __P((char *, char *)); 639ce73e90SMike Heffner char *readtty __P((const char *, char [])); 649b50d902SRodney W. Grimes char *reedit __P((char *)); 659b50d902SRodney W. Grimes FILE *run_editor __P((FILE *, off_t, int, int)); 669b50d902SRodney W. Grimes char *salloc __P((int)); 679b50d902SRodney W. Grimes char *savestr __P((char *)); 689b50d902SRodney W. Grimes FILE *setinput __P((struct message *)); 699b50d902SRodney W. Grimes char *skin __P((char *)); 709b50d902SRodney W. Grimes char *skip_comment __P((char *)); 719b50d902SRodney W. Grimes char *snarf __P((char [], int *)); 729b50d902SRodney W. Grimes char *username __P((void)); 739ce73e90SMike Heffner char *value __P((const char *)); 749ce73e90SMike Heffner char *vcopy __P((const char *)); 759b50d902SRodney W. Grimes char *yankword __P((char *, char [])); 769b50d902SRodney W. Grimes int Fclose __P((FILE *)); 779b50d902SRodney W. Grimes int More __P((int *)); 789b50d902SRodney W. Grimes int Pclose __P((FILE *)); 799b50d902SRodney W. Grimes int Respond __P((int *)); 809b50d902SRodney W. Grimes int Type __P((int *)); 8199bd6601SJoerg Wunsch int doRespond __P((int [])); 8299bd6601SJoerg Wunsch int dorespond __P((int *)); 839b50d902SRodney W. Grimes void alter __P((char *)); 849b50d902SRodney W. Grimes int alternates __P((char **)); 859b50d902SRodney W. Grimes void announce __P((void)); 869b50d902SRodney W. Grimes int append __P((struct message *, FILE *)); 879b50d902SRodney W. Grimes int argcount __P((char **)); 889ce73e90SMike Heffner void assign __P((const char *, const char *)); 890c3a8314SMike Heffner int bangexp __P((char *, size_t)); 909b50d902SRodney W. Grimes void brokpipe __P((int)); 919b50d902SRodney W. Grimes int charcount __P((char *, int)); 929b50d902SRodney W. Grimes int check __P((int, int)); 939b50d902SRodney W. Grimes void clob1 __P((int)); 949b50d902SRodney W. Grimes int clobber __P((char **)); 959b50d902SRodney W. Grimes void close_all_files __P((void)); 969b50d902SRodney W. Grimes int cmatch __P((char *, char *)); 979b50d902SRodney W. Grimes void collhup __P((int)); 989b50d902SRodney W. Grimes void collint __P((int)); 999b50d902SRodney W. Grimes void collstop __P((int)); 1009b50d902SRodney W. Grimes void commands __P((void)); 1019b50d902SRodney W. Grimes int copycmd __P((char [])); 1029b50d902SRodney W. Grimes int core __P((void)); 1039b50d902SRodney W. Grimes int count __P((struct name *)); 1049b50d902SRodney W. Grimes int delete __P((int [])); 1059b50d902SRodney W. Grimes int delm __P((int [])); 1069b50d902SRodney W. Grimes int deltype __P((int [])); 1079b50d902SRodney W. Grimes void demail __P((void)); 1089b50d902SRodney W. Grimes int diction __P((const void *, const void *)); 1099b50d902SRodney W. Grimes int dosh __P((char *)); 1109b50d902SRodney W. Grimes int echo __P((char **)); 1119b50d902SRodney W. Grimes int edit1 __P((int *, int)); 1129b50d902SRodney W. Grimes int editor __P((int *)); 1139b50d902SRodney W. Grimes void edstop __P((void)); 1149b50d902SRodney W. Grimes int elsecmd __P((void)); 1159b50d902SRodney W. Grimes int endifcmd __P((void)); 1169b50d902SRodney W. Grimes int evalcol __P((int)); 1179b50d902SRodney W. Grimes int execute __P((char [], int)); 1189b50d902SRodney W. Grimes int exwrite __P((char [], FILE *, int)); 1199ce73e90SMike Heffner void fail __P((const char *, const char *)); 1209b50d902SRodney W. Grimes int file __P((char **)); 1219b50d902SRodney W. Grimes struct grouphead * 1229b50d902SRodney W. Grimes findgroup __P((char [])); 1230c3a8314SMike Heffner void findmail __P((char *, char *, int)); 1249b50d902SRodney W. Grimes int first __P((int, int)); 1259b50d902SRodney W. Grimes void fixhead __P((struct header *, struct name *)); 1269ce73e90SMike Heffner void fmt __P((const char *, struct name *, FILE *, int)); 1279b50d902SRodney W. Grimes int folders __P((void)); 1280c3a8314SMike Heffner int forward __P((char [], FILE *, char *, int)); 1299b50d902SRodney W. Grimes void free_child __P((int)); 1309b50d902SRodney W. Grimes int from __P((int *)); 1319b50d902SRodney W. Grimes off_t fsize __P((FILE *)); 1320c3a8314SMike Heffner int getfold __P((char *, int)); 1339b50d902SRodney W. Grimes int gethfield __P((FILE *, char [], int, char **)); 1349b50d902SRodney W. Grimes int getmsglist __P((char *, int *, int)); 1359b50d902SRodney W. Grimes int getrawlist __P((char [], char **, int)); 1369b50d902SRodney W. Grimes int getuserid __P((char [])); 1379b50d902SRodney W. Grimes int grabh __P((struct header *, int)); 1389b50d902SRodney W. Grimes int group __P((char **)); 1399b50d902SRodney W. Grimes void hangup __P((int)); 1409ce73e90SMike Heffner int hash __P((const char *)); 1419b50d902SRodney W. Grimes void hdrstop __P((int)); 1429b50d902SRodney W. Grimes int headers __P((int *)); 1439b50d902SRodney W. Grimes int help __P((void)); 1449b50d902SRodney W. Grimes void holdsigs __P((void)); 1459b50d902SRodney W. Grimes int ifcmd __P((char **)); 1469b50d902SRodney W. Grimes int igcomp __P((const void *, const void *)); 1479b50d902SRodney W. Grimes int igfield __P((char *[])); 1489ce73e90SMike Heffner int ignore1 __P((char *[], struct ignoretab *, const char *)); 1499ce73e90SMike Heffner int igshow __P((struct ignoretab *, const char *)); 1509b50d902SRodney W. Grimes void intr __P((int)); 1519b50d902SRodney W. Grimes int isdate __P((char [])); 1529b50d902SRodney W. Grimes int isdir __P((char [])); 1539b50d902SRodney W. Grimes int isfileaddr __P((char *)); 1549b50d902SRodney W. Grimes int ishead __P((char [])); 1559ce73e90SMike Heffner int isign __P((const char *, struct ignoretab [])); 1569ce73e90SMike Heffner int isprefix __P((const char *, const char *)); 1579ce73e90SMike Heffner void istrncpy __P((char *, const char *, size_t)); 1589ce73e90SMike Heffner __const struct cmd * 1599b50d902SRodney W. Grimes lex __P((char [])); 1609b50d902SRodney W. Grimes void load __P((char *)); 1619b50d902SRodney W. Grimes struct var * 1629ce73e90SMike Heffner lookup __P((const char *)); 1639b50d902SRodney W. Grimes int mail __P((struct name *, 16499bd6601SJoerg Wunsch struct name *, struct name *, struct name *, char *, char *)); 1659b50d902SRodney W. Grimes void mail1 __P((struct header *, int)); 1669b50d902SRodney W. Grimes void makemessage __P((FILE *)); 1679b50d902SRodney W. Grimes void mark __P((int)); 1689b50d902SRodney W. Grimes int markall __P((char [], int)); 1699b50d902SRodney W. Grimes int matchsender __P((char *, int)); 1709b50d902SRodney W. Grimes int matchsubj __P((char *, int)); 1719b50d902SRodney W. Grimes int mboxit __P((int [])); 1729b50d902SRodney W. Grimes int member __P((char *, struct ignoretab *)); 1739b50d902SRodney W. Grimes void mesedit __P((FILE *, int)); 1749b50d902SRodney W. Grimes void mespipe __P((FILE *, char [])); 1759b50d902SRodney W. Grimes int messize __P((int *)); 1769b50d902SRodney W. Grimes int metamess __P((int, int)); 1779b50d902SRodney W. Grimes int more __P((int *)); 1789b50d902SRodney W. Grimes int newfileinfo __P((void)); 1799b50d902SRodney W. Grimes int next __P((int *)); 1809b50d902SRodney W. Grimes int null __P((int)); 1819b50d902SRodney W. Grimes void parse __P((char [], struct headline *, char [])); 1829b50d902SRodney W. Grimes int pcmdlist __P((void)); 1839b50d902SRodney W. Grimes int pdot __P((void)); 1849b50d902SRodney W. Grimes void prepare_child __P((int, int, int)); 1859b50d902SRodney W. Grimes int preserve __P((int *)); 1869b50d902SRodney W. Grimes void prettyprint __P((struct name *)); 1879b50d902SRodney W. Grimes void printgroup __P((char [])); 1889b50d902SRodney W. Grimes void printhead __P((int)); 1899b50d902SRodney W. Grimes int puthead __P((struct header *, FILE *, int)); 1909b50d902SRodney W. Grimes int putline __P((FILE *, char *)); 1919b50d902SRodney W. Grimes int pversion __P((int)); 1929b50d902SRodney W. Grimes void quit __P((void)); 1939b50d902SRodney W. Grimes int quitcmd __P((void)); 1949b50d902SRodney W. Grimes int readline __P((FILE *, char *, int)); 1959b50d902SRodney W. Grimes void register_file __P((FILE *, int, int)); 1969b50d902SRodney W. Grimes void regret __P((int)); 1979b50d902SRodney W. Grimes void relsesigs __P((void)); 1989b50d902SRodney W. Grimes int respond __P((int *)); 1999b50d902SRodney W. Grimes int retfield __P((char *[])); 2009b50d902SRodney W. Grimes int rexit __P((int)); 2019b50d902SRodney W. Grimes int rm __P((char *)); 2029b50d902SRodney W. Grimes int run_command __P((char *, int, int, int, char *, char *, char *)); 2039b50d902SRodney W. Grimes int save __P((char [])); 2049ce73e90SMike Heffner int save1 __P((char [], int, const char *, struct ignoretab *)); 2059b50d902SRodney W. Grimes void savedeadletter __P((FILE *)); 2069b50d902SRodney W. Grimes int saveigfield __P((char *[])); 2079b50d902SRodney W. Grimes int savemail __P((char [], FILE *)); 2089b50d902SRodney W. Grimes int saveretfield __P((char *[])); 2099b50d902SRodney W. Grimes int scan __P((char **)); 2109b50d902SRodney W. Grimes void scaninit __P((void)); 2119b50d902SRodney W. Grimes int schdir __P((char **)); 2129b50d902SRodney W. Grimes int screensize __P((void)); 2139b50d902SRodney W. Grimes int scroll __P((char [])); 2140c3a8314SMike Heffner int sendmessage __P((struct message *, FILE *, struct ignoretab *, char *)); 2159b50d902SRodney W. Grimes int sendmail __P((char *)); 2169b50d902SRodney W. Grimes int set __P((char **)); 2179b50d902SRodney W. Grimes int setfile __P((char *)); 2189b50d902SRodney W. Grimes void setmsize __P((int)); 2199b50d902SRodney W. Grimes void setptr __P((FILE *)); 2209b50d902SRodney W. Grimes void setscreensize __P((void)); 2219b50d902SRodney W. Grimes int shell __P((char *)); 2229b50d902SRodney W. Grimes void sigchild __P((int)); 2239b50d902SRodney W. Grimes void sort __P((char **)); 2249b50d902SRodney W. Grimes int source __P((char **)); 2259b50d902SRodney W. Grimes void spreserve __P((void)); 2269b50d902SRodney W. Grimes void sreset __P((void)); 2279b50d902SRodney W. Grimes int start_command __P((char *, int, int, int, char *, char *, char *)); 2289b50d902SRodney W. Grimes void statusput __P((struct message *, FILE *, char *)); 2299b50d902SRodney W. Grimes void stop __P((int)); 2309b50d902SRodney W. Grimes int stouch __P((int [])); 2319b50d902SRodney W. Grimes int swrite __P((char [])); 2329b50d902SRodney W. Grimes void tinit __P((void)); 2339b50d902SRodney W. Grimes int top __P((int *)); 2349b50d902SRodney W. Grimes void touch __P((struct message *)); 2359b50d902SRodney W. Grimes void ttyint __P((int)); 2369b50d902SRodney W. Grimes void ttystop __P((int)); 2379b50d902SRodney W. Grimes int type __P((int *)); 2389b50d902SRodney W. Grimes int type1 __P((int *, int, int)); 239c05b924fSBruce Evans int undelete_messages __P((int *)); 2409b50d902SRodney W. Grimes void unmark __P((int)); 2419b50d902SRodney W. Grimes char **unpack __P((struct name *)); 2429b50d902SRodney W. Grimes int unread __P((int [])); 2439b50d902SRodney W. Grimes void unregister_file __P((FILE *)); 2449b50d902SRodney W. Grimes int unset __P((char **)); 2459b50d902SRodney W. Grimes int unstack __P((void)); 2469b50d902SRodney W. Grimes void vfree __P((char *)); 2479b50d902SRodney W. Grimes int visual __P((int *)); 2489b50d902SRodney W. Grimes int wait_child __P((int)); 2499b50d902SRodney W. Grimes int wait_command __P((int)); 2509b50d902SRodney W. Grimes int writeback __P((FILE *)); 2510c3a8314SMike Heffner 2520c3a8314SMike Heffner extern char *__progname; 2530c3a8314SMike Heffner extern char *tmpdir; 254