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 349b50d902SRodney W. Grimes */ 359b50d902SRodney W. Grimes 369b50d902SRodney W. Grimes struct name *cat __P((struct name *, struct name *)); 379b50d902SRodney W. Grimes struct name *delname __P((struct name *, char [])); 389b50d902SRodney W. Grimes struct name *elide __P((struct name *)); 399b50d902SRodney W. Grimes struct name *extract __P((char [], int)); 409b50d902SRodney W. Grimes struct name *gexpand __P((struct name *, struct grouphead *, int, int)); 419b50d902SRodney W. Grimes struct name *nalloc __P((char [], int)); 429b50d902SRodney W. Grimes struct name *outof __P((struct name *, FILE *, struct header *)); 439b50d902SRodney W. Grimes struct name *put __P((struct name *, struct name *)); 449b50d902SRodney W. Grimes struct name *tailof __P((struct name *)); 459b50d902SRodney W. Grimes struct name *usermap __P((struct name *)); 469b50d902SRodney W. Grimes FILE *Fdopen __P((int, char *)); 479b50d902SRodney W. Grimes FILE *Fopen __P((char *, char *)); 489b50d902SRodney W. Grimes FILE *Popen __P((char *, char *)); 499b50d902SRodney W. Grimes FILE *collect __P((struct header *, int)); 509b50d902SRodney W. Grimes char *copy __P((char *, char *)); 519b50d902SRodney W. Grimes char *copyin __P((char *, char **)); 529b50d902SRodney W. Grimes char *detract __P((struct name *, int)); 539b50d902SRodney W. Grimes char *expand __P((char *)); 549b50d902SRodney W. Grimes char *getdeadletter __P((void)); 559b50d902SRodney W. Grimes char *getname __P((int)); 569b50d902SRodney W. Grimes char *hfield __P((char [], struct message *)); 579b50d902SRodney W. Grimes FILE *infix __P((struct header *, FILE *)); 589b50d902SRodney W. Grimes char *ishfield __P((char [], char[], char *)); 599b50d902SRodney W. Grimes char *name1 __P((struct message *, int)); 609b50d902SRodney W. Grimes char *nameof __P((struct message *, int)); 619b50d902SRodney W. Grimes char *nextword __P((char *, char *)); 629b50d902SRodney W. Grimes char *readtty __P((char [], char [])); 639b50d902SRodney W. Grimes char *reedit __P((char *)); 649b50d902SRodney W. Grimes FILE *run_editor __P((FILE *, off_t, int, int)); 659b50d902SRodney W. Grimes char *salloc __P((int)); 669b50d902SRodney W. Grimes char *savestr __P((char *)); 679b50d902SRodney W. Grimes FILE *setinput __P((struct message *)); 689b50d902SRodney W. Grimes char *skin __P((char *)); 699b50d902SRodney W. Grimes char *skip_comment __P((char *)); 709b50d902SRodney W. Grimes char *snarf __P((char [], int *)); 719b50d902SRodney W. Grimes char *username __P((void)); 729b50d902SRodney W. Grimes char *value __P((char [])); 739b50d902SRodney W. Grimes char *vcopy __P((char [])); 749b50d902SRodney W. Grimes char *yankword __P((char *, char [])); 759b50d902SRodney W. Grimes int Fclose __P((FILE *)); 769b50d902SRodney W. Grimes int More __P((int *)); 779b50d902SRodney W. Grimes int Pclose __P((FILE *)); 789b50d902SRodney W. Grimes int Respond __P((int *)); 799b50d902SRodney W. Grimes int Type __P((int *)); 809b50d902SRodney W. Grimes int _Respond __P((int [])); 819b50d902SRodney W. Grimes int _respond __P((int *)); 829b50d902SRodney W. Grimes void alter __P((char *)); 839b50d902SRodney W. Grimes int alternates __P((char **)); 849b50d902SRodney W. Grimes void announce __P((void)); 859b50d902SRodney W. Grimes int anyof __P((char *, char *)); 869b50d902SRodney W. Grimes int append __P((struct message *, FILE *)); 879b50d902SRodney W. Grimes int argcount __P((char **)); 889b50d902SRodney W. Grimes void assign __P((char [], char [])); 899b50d902SRodney W. Grimes int bangexp __P((char *)); 909b50d902SRodney W. Grimes int blankline __P((char [])); 919b50d902SRodney W. Grimes void brokpipe __P((int)); 929b50d902SRodney W. Grimes int charcount __P((char *, int)); 939b50d902SRodney W. Grimes int check __P((int, int)); 949b50d902SRodney W. Grimes void clob1 __P((int)); 959b50d902SRodney W. Grimes int clobber __P((char **)); 969b50d902SRodney W. Grimes void close_all_files __P((void)); 979b50d902SRodney W. Grimes int cmatch __P((char *, char *)); 989b50d902SRodney W. Grimes void collhup __P((int)); 999b50d902SRodney W. Grimes void collint __P((int)); 1009b50d902SRodney W. Grimes void collstop __P((int)); 1019b50d902SRodney W. Grimes void commands __P((void)); 1029b50d902SRodney W. Grimes int copycmd __P((char [])); 1039b50d902SRodney W. Grimes int core __P((void)); 1049b50d902SRodney W. Grimes int count __P((struct name *)); 1059b50d902SRodney W. Grimes int delete __P((int [])); 1069b50d902SRodney W. Grimes int delm __P((int [])); 1079b50d902SRodney W. Grimes int deltype __P((int [])); 1089b50d902SRodney W. Grimes void demail __P((void)); 1099b50d902SRodney W. Grimes int diction __P((const void *, const void *)); 1109b50d902SRodney W. Grimes int dosh __P((char *)); 1119b50d902SRodney W. Grimes int echo __P((char **)); 1129b50d902SRodney W. Grimes int edit1 __P((int *, int)); 1139b50d902SRodney W. Grimes int editor __P((int *)); 1149b50d902SRodney W. Grimes void edstop __P((void)); 1159b50d902SRodney W. Grimes int elsecmd __P((void)); 1169b50d902SRodney W. Grimes int endifcmd __P((void)); 1179b50d902SRodney W. Grimes int evalcol __P((int)); 1189b50d902SRodney W. Grimes int execute __P((char [], int)); 1199b50d902SRodney W. Grimes int exwrite __P((char [], FILE *, int)); 1209b50d902SRodney W. Grimes void fail __P((char [], char [])); 1219b50d902SRodney W. Grimes int file __P((char **)); 1229b50d902SRodney W. Grimes struct grouphead * 1239b50d902SRodney W. Grimes findgroup __P((char [])); 1249b50d902SRodney W. Grimes void findmail __P((char *, char *)); 1259b50d902SRodney W. Grimes int first __P((int, int)); 1269b50d902SRodney W. Grimes void fixhead __P((struct header *, struct name *)); 1279b50d902SRodney W. Grimes void fmt __P((char *, struct name *, FILE *, int)); 1289b50d902SRodney W. Grimes int folders __P((void)); 1299b50d902SRodney W. Grimes int forward __P((char [], FILE *, int)); 1309b50d902SRodney W. Grimes void free_child __P((int)); 1319b50d902SRodney W. Grimes int from __P((int *)); 1329b50d902SRodney W. Grimes off_t fsize __P((FILE *)); 1339b50d902SRodney W. Grimes int getfold __P((char *)); 1349b50d902SRodney W. Grimes int gethfield __P((FILE *, char [], int, char **)); 1359b50d902SRodney W. Grimes int getmsglist __P((char *, int *, int)); 1369b50d902SRodney W. Grimes int getrawlist __P((char [], char **, int)); 1379b50d902SRodney W. Grimes int getuserid __P((char [])); 1389b50d902SRodney W. Grimes int grabh __P((struct header *, int)); 1399b50d902SRodney W. Grimes int group __P((char **)); 1409b50d902SRodney W. Grimes void hangup __P((int)); 1419b50d902SRodney W. Grimes int hash __P((char *)); 1429b50d902SRodney W. Grimes void hdrstop __P((int)); 1439b50d902SRodney W. Grimes int headers __P((int *)); 1449b50d902SRodney W. Grimes int help __P((void)); 1459b50d902SRodney W. Grimes void holdsigs __P((void)); 1469b50d902SRodney W. Grimes int ifcmd __P((char **)); 1479b50d902SRodney W. Grimes int igcomp __P((const void *, const void *)); 1489b50d902SRodney W. Grimes int igfield __P((char *[])); 1499b50d902SRodney W. Grimes int ignore1 __P((char *[], struct ignoretab *, char *)); 1509b50d902SRodney W. Grimes int igshow __P((struct ignoretab *, char *)); 1519b50d902SRodney W. Grimes void intr __P((int)); 1529b50d902SRodney W. Grimes int isdate __P((char [])); 1539b50d902SRodney W. Grimes int isdir __P((char [])); 1549b50d902SRodney W. Grimes int isfileaddr __P((char *)); 1559b50d902SRodney W. Grimes int ishead __P((char [])); 1569b50d902SRodney W. Grimes int isign __P((char *, struct ignoretab [])); 1579b50d902SRodney W. Grimes int isprefix __P((char *, char *)); 1589b50d902SRodney W. Grimes void istrcpy __P((char *, char *)); 1599b50d902SRodney W. Grimes struct cmd * 1609b50d902SRodney W. Grimes lex __P((char [])); 1619b50d902SRodney W. Grimes void load __P((char *)); 1629b50d902SRodney W. Grimes struct var * 1639b50d902SRodney W. Grimes lookup __P((char [])); 1649b50d902SRodney W. Grimes int mail __P((struct name *, 1659b50d902SRodney W. Grimes struct name *, struct name *, struct name *, char *)); 1669b50d902SRodney W. Grimes void mail1 __P((struct header *, int)); 1679b50d902SRodney W. Grimes void makemessage __P((FILE *)); 1689b50d902SRodney W. Grimes void mark __P((int)); 1699b50d902SRodney W. Grimes int markall __P((char [], int)); 1709b50d902SRodney W. Grimes int matchsender __P((char *, int)); 1719b50d902SRodney W. Grimes int matchsubj __P((char *, int)); 1729b50d902SRodney W. Grimes int mboxit __P((int [])); 1739b50d902SRodney W. Grimes int member __P((char *, struct ignoretab *)); 1749b50d902SRodney W. Grimes void mesedit __P((FILE *, int)); 1759b50d902SRodney W. Grimes void mespipe __P((FILE *, char [])); 1769b50d902SRodney W. Grimes int messize __P((int *)); 1779b50d902SRodney W. Grimes int metamess __P((int, int)); 1789b50d902SRodney W. Grimes int more __P((int *)); 1799b50d902SRodney W. Grimes int newfileinfo __P((void)); 1809b50d902SRodney W. Grimes int next __P((int *)); 1819b50d902SRodney W. Grimes int null __P((int)); 1829b50d902SRodney W. Grimes void panic __P((const char *, ...)); 1839b50d902SRodney W. Grimes void parse __P((char [], struct headline *, char [])); 1849b50d902SRodney W. Grimes int pcmdlist __P((void)); 1859b50d902SRodney W. Grimes int pdot __P((void)); 1869b50d902SRodney W. Grimes void prepare_child __P((int, int, int)); 1879b50d902SRodney W. Grimes int preserve __P((int *)); 1889b50d902SRodney W. Grimes void prettyprint __P((struct name *)); 1899b50d902SRodney W. Grimes void printgroup __P((char [])); 1909b50d902SRodney W. Grimes void printhead __P((int)); 1919b50d902SRodney W. Grimes int puthead __P((struct header *, FILE *, int)); 1929b50d902SRodney W. Grimes int putline __P((FILE *, char *)); 1939b50d902SRodney W. Grimes int pversion __P((int)); 1949b50d902SRodney W. Grimes void quit __P((void)); 1959b50d902SRodney W. Grimes int quitcmd __P((void)); 1969b50d902SRodney W. Grimes int raise __P((int)); 1979b50d902SRodney W. Grimes int readline __P((FILE *, char *, int)); 1989b50d902SRodney W. Grimes void register_file __P((FILE *, int, int)); 1999b50d902SRodney W. Grimes void regret __P((int)); 2009b50d902SRodney W. Grimes void relsesigs __P((void)); 2019b50d902SRodney W. Grimes int respond __P((int *)); 2029b50d902SRodney W. Grimes int retfield __P((char *[])); 2039b50d902SRodney W. Grimes int rexit __P((int)); 2049b50d902SRodney W. Grimes int rm __P((char *)); 2059b50d902SRodney W. Grimes int run_command __P((char *, int, int, int, char *, char *, char *)); 2069b50d902SRodney W. Grimes int save __P((char [])); 2079b50d902SRodney W. Grimes int save1 __P((char [], int, char *, struct ignoretab *)); 2089b50d902SRodney W. Grimes void savedeadletter __P((FILE *)); 2099b50d902SRodney W. Grimes int saveigfield __P((char *[])); 2109b50d902SRodney W. Grimes int savemail __P((char [], FILE *)); 2119b50d902SRodney W. Grimes int saveretfield __P((char *[])); 2129b50d902SRodney W. Grimes int scan __P((char **)); 2139b50d902SRodney W. Grimes void scaninit __P((void)); 2149b50d902SRodney W. Grimes int schdir __P((char **)); 2159b50d902SRodney W. Grimes int screensize __P((void)); 2169b50d902SRodney W. Grimes int scroll __P((char [])); 2179b50d902SRodney W. Grimes int send __P((struct message *, FILE *, struct ignoretab *, char *)); 2189b50d902SRodney W. Grimes int sendmail __P((char *)); 2199b50d902SRodney W. Grimes int set __P((char **)); 2209b50d902SRodney W. Grimes int setfile __P((char *)); 2219b50d902SRodney W. Grimes void setmsize __P((int)); 2229b50d902SRodney W. Grimes void setptr __P((FILE *)); 2239b50d902SRodney W. Grimes void setscreensize __P((void)); 2249b50d902SRodney W. Grimes int shell __P((char *)); 2259b50d902SRodney W. Grimes void sigchild __P((int)); 2269b50d902SRodney W. Grimes void sort __P((char **)); 2279b50d902SRodney W. Grimes int source __P((char **)); 2289b50d902SRodney W. Grimes void spreserve __P((void)); 2299b50d902SRodney W. Grimes void sreset __P((void)); 2309b50d902SRodney W. Grimes int start_command __P((char *, int, int, int, char *, char *, char *)); 2319b50d902SRodney W. Grimes void statusput __P((struct message *, FILE *, char *)); 2329b50d902SRodney W. Grimes void stop __P((int)); 2339b50d902SRodney W. Grimes int stouch __P((int [])); 2349b50d902SRodney W. Grimes int swrite __P((char [])); 2359b50d902SRodney W. Grimes void tinit __P((void)); 2369b50d902SRodney W. Grimes int top __P((int *)); 2379b50d902SRodney W. Grimes void touch __P((struct message *)); 2389b50d902SRodney W. Grimes void ttyint __P((int)); 2399b50d902SRodney W. Grimes void ttystop __P((int)); 2409b50d902SRodney W. Grimes int type __P((int *)); 2419b50d902SRodney W. Grimes int type1 __P((int *, int, int)); 242c05b924fSBruce Evans int undelete_messages __P((int *)); 2439b50d902SRodney W. Grimes void unmark __P((int)); 2449b50d902SRodney W. Grimes char **unpack __P((struct name *)); 2459b50d902SRodney W. Grimes int unread __P((int [])); 2469b50d902SRodney W. Grimes void unregister_file __P((FILE *)); 2479b50d902SRodney W. Grimes int unset __P((char **)); 2489b50d902SRodney W. Grimes int unstack __P((void)); 2499b50d902SRodney W. Grimes void vfree __P((char *)); 2509b50d902SRodney W. Grimes int visual __P((int *)); 2519b50d902SRodney W. Grimes int wait_child __P((int)); 2529b50d902SRodney W. Grimes int wait_command __P((int)); 2539b50d902SRodney W. Grimes int writeback __P((FILE *)); 254