extern.h revision 1590
11590Srgrimes/*-
21590Srgrimes * Copyright (c) 1992, 1993
31590Srgrimes *	The Regents of the University of California.  All rights reserved.
41590Srgrimes *
51590Srgrimes * Redistribution and use in source and binary forms, with or without
61590Srgrimes * modification, are permitted provided that the following conditions
71590Srgrimes * are met:
81590Srgrimes * 1. Redistributions of source code must retain the above copyright
91590Srgrimes *    notice, this list of conditions and the following disclaimer.
101590Srgrimes * 2. Redistributions in binary form must reproduce the above copyright
111590Srgrimes *    notice, this list of conditions and the following disclaimer in the
121590Srgrimes *    documentation and/or other materials provided with the distribution.
131590Srgrimes * 3. All advertising materials mentioning features or use of this software
141590Srgrimes *    must display the following acknowledgement:
151590Srgrimes *	This product includes software developed by the University of
161590Srgrimes *	California, Berkeley and its contributors.
171590Srgrimes * 4. Neither the name of the University nor the names of its contributors
181590Srgrimes *    may be used to endorse or promote products derived from this software
191590Srgrimes *    without specific prior written permission.
201590Srgrimes *
211590Srgrimes * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
221590Srgrimes * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
231590Srgrimes * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
241590Srgrimes * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
251590Srgrimes * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
261590Srgrimes * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
271590Srgrimes * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
281590Srgrimes * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
291590Srgrimes * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
301590Srgrimes * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
311590Srgrimes * SUCH DAMAGE.
321590Srgrimes *
331590Srgrimes *	@(#)extern.h	8.1 (Berkeley) 6/6/93
341590Srgrimes */
351590Srgrimes
361590Srgrimesstruct name *cat __P((struct name *, struct name *));
371590Srgrimesstruct name *delname __P((struct name *, char []));
381590Srgrimesstruct name *elide __P((struct name *));
391590Srgrimesstruct name *extract __P((char [], int));
401590Srgrimesstruct name *gexpand __P((struct name *, struct grouphead *, int, int));
411590Srgrimesstruct name *nalloc __P((char [], int));
421590Srgrimesstruct name *outof __P((struct name *, FILE *, struct header *));
431590Srgrimesstruct name *put __P((struct name *, struct name *));
441590Srgrimesstruct name *tailof __P((struct name *));
451590Srgrimesstruct name *usermap __P((struct name *));
461590SrgrimesFILE	*Fdopen __P((int, char *));
471590SrgrimesFILE	*Fopen __P((char *, char *));
481590SrgrimesFILE	*Popen __P((char *, char *));
491590SrgrimesFILE	*collect __P((struct header *, int));
501590Srgrimeschar	*copy __P((char *, char *));
511590Srgrimeschar	*copyin __P((char *, char **));
521590Srgrimeschar	*detract __P((struct name *, int));
531590Srgrimeschar	*expand __P((char *));
541590Srgrimeschar	*getdeadletter __P((void));
551590Srgrimeschar	*getname __P((int));
561590Srgrimeschar	*hfield __P((char [], struct message *));
571590SrgrimesFILE	*infix __P((struct header *, FILE *));
581590Srgrimeschar	*ishfield __P((char [], char[], char *));
591590Srgrimeschar	*name1 __P((struct message *, int));
601590Srgrimeschar	*nameof __P((struct message *, int));
611590Srgrimeschar	*nextword __P((char *, char *));
621590Srgrimeschar	*readtty __P((char [], char []));
631590Srgrimeschar 	*reedit __P((char *));
641590SrgrimesFILE	*run_editor __P((FILE *, off_t, int, int));
651590Srgrimeschar	*salloc __P((int));
661590Srgrimeschar	*savestr __P((char *));
671590SrgrimesFILE	*setinput __P((struct message *));
681590Srgrimeschar	*skin __P((char *));
691590Srgrimeschar	*skip_comment __P((char *));
701590Srgrimeschar	*snarf __P((char [], int *));
711590Srgrimeschar	*username __P((void));
721590Srgrimeschar	*value __P((char []));
731590Srgrimeschar	*vcopy __P((char []));
741590Srgrimeschar	*yankword __P((char *, char []));
751590Srgrimesint	 Fclose __P((FILE *));
761590Srgrimesint	 More __P((int *));
771590Srgrimesint	 Pclose __P((FILE *));
781590Srgrimesint	 Respond __P((int *));
791590Srgrimesint	 Type __P((int *));
801590Srgrimesint	 _Respond __P((int []));
811590Srgrimesint	 _respond __P((int *));
821590Srgrimesvoid	 alter __P((char *));
831590Srgrimesint	 alternates __P((char **));
841590Srgrimesvoid	 announce __P((void));
851590Srgrimesint	 anyof __P((char *, char *));
861590Srgrimesint	 append __P((struct message *, FILE *));
871590Srgrimesint	 argcount __P((char **));
881590Srgrimesvoid	 assign __P((char [], char []));
891590Srgrimesint	 bangexp __P((char *));
901590Srgrimesint	 blankline __P((char []));
911590Srgrimesvoid	 brokpipe __P((int));
921590Srgrimesint	 charcount __P((char *, int));
931590Srgrimesint	 check __P((int, int));
941590Srgrimesvoid	 clob1 __P((int));
951590Srgrimesint	 clobber __P((char **));
961590Srgrimesvoid	 close_all_files __P((void));
971590Srgrimesint	 cmatch __P((char *, char *));
981590Srgrimesvoid	 collhup __P((int));
991590Srgrimesvoid	 collint __P((int));
1001590Srgrimesvoid	 collstop __P((int));
1011590Srgrimesvoid	 commands __P((void));
1021590Srgrimesint	 copycmd __P((char []));
1031590Srgrimesint	 core __P((void));
1041590Srgrimesint	 count __P((struct name *));
1051590Srgrimesint	 delete __P((int []));
1061590Srgrimesint	 delm __P((int []));
1071590Srgrimesint	 deltype __P((int []));
1081590Srgrimesvoid	 demail __P((void));
1091590Srgrimesint	 diction __P((const void *, const void *));
1101590Srgrimesint	 dosh __P((char *));
1111590Srgrimesint	 echo __P((char **));
1121590Srgrimesint	 edit1 __P((int *, int));
1131590Srgrimesint	 editor __P((int *));
1141590Srgrimesvoid	 edstop __P((void));
1151590Srgrimesint	 elsecmd __P((void));
1161590Srgrimesint	 endifcmd __P((void));
1171590Srgrimesint	 evalcol __P((int));
1181590Srgrimesint	 execute __P((char [], int));
1191590Srgrimesint	 exwrite __P((char [], FILE *, int));
1201590Srgrimesvoid	 fail __P((char [], char []));
1211590Srgrimesint	 file __P((char **));
1221590Srgrimesstruct grouphead *
1231590Srgrimes	 findgroup __P((char []));
1241590Srgrimesvoid	 findmail __P((char *, char *));
1251590Srgrimesint	 first __P((int, int));
1261590Srgrimesvoid	 fixhead __P((struct header *, struct name *));
1271590Srgrimesvoid	 fmt __P((char *, struct name *, FILE *, int));
1281590Srgrimesint	 folders __P((void));
1291590Srgrimesint	 forward __P((char [], FILE *, int));
1301590Srgrimesvoid	 free_child __P((int));
1311590Srgrimesint	 from __P((int *));
1321590Srgrimesoff_t	 fsize __P((FILE *));
1331590Srgrimesint	 getfold __P((char *));
1341590Srgrimesint	 gethfield __P((FILE *, char [], int, char **));
1351590Srgrimesint	 getmsglist __P((char *, int *, int));
1361590Srgrimesint	 getrawlist __P((char [], char **, int));
1371590Srgrimesint	 getuserid __P((char []));
1381590Srgrimesint	 grabh __P((struct header *, int));
1391590Srgrimesint	 group __P((char **));
1401590Srgrimesvoid	 hangup __P((int));
1411590Srgrimesint	 hash __P((char *));
1421590Srgrimesvoid	 hdrstop __P((int));
1431590Srgrimesint	 headers __P((int *));
1441590Srgrimesint	 help __P((void));
1451590Srgrimesvoid	 holdsigs __P((void));
1461590Srgrimesint	 ifcmd __P((char **));
1471590Srgrimesint	 igcomp __P((const void *, const void *));
1481590Srgrimesint	 igfield __P((char *[]));
1491590Srgrimesint	 ignore1 __P((char *[], struct ignoretab *, char *));
1501590Srgrimesint	 igshow __P((struct ignoretab *, char *));
1511590Srgrimesvoid	 intr __P((int));
1521590Srgrimesint	 isdate __P((char []));
1531590Srgrimesint	 isdir __P((char []));
1541590Srgrimesint	 isfileaddr __P((char *));
1551590Srgrimesint	 ishead __P((char []));
1561590Srgrimesint	 isign __P((char *, struct ignoretab []));
1571590Srgrimesint	 isprefix __P((char *, char *));
1581590Srgrimesvoid	 istrcpy __P((char *, char *));
1591590Srgrimesstruct cmd *
1601590Srgrimes	 lex __P((char []));
1611590Srgrimesvoid	 load __P((char *));
1621590Srgrimesstruct var *
1631590Srgrimes	 lookup __P((char []));
1641590Srgrimesint	 mail __P((struct name *,
1651590Srgrimes	    struct name *, struct name *, struct name *, char *));
1661590Srgrimesvoid	 mail1 __P((struct header *, int));
1671590Srgrimesvoid	 makemessage __P((FILE *));
1681590Srgrimesvoid	 mark __P((int));
1691590Srgrimesint	 markall __P((char [], int));
1701590Srgrimesint	 matchsender __P((char *, int));
1711590Srgrimesint	 matchsubj __P((char *, int));
1721590Srgrimesint	 mboxit __P((int []));
1731590Srgrimesint	 member __P((char *, struct ignoretab *));
1741590Srgrimesvoid	 mesedit __P((FILE *, int));
1751590Srgrimesvoid	 mespipe __P((FILE *, char []));
1761590Srgrimesint	 messize __P((int *));
1771590Srgrimesint	 metamess __P((int, int));
1781590Srgrimesint	 more __P((int *));
1791590Srgrimesint	 newfileinfo __P((void));
1801590Srgrimesint	 next __P((int *));
1811590Srgrimesint	 null __P((int));
1821590Srgrimesvoid	 panic __P((const char *, ...));
1831590Srgrimesvoid	 parse __P((char [], struct headline *, char []));
1841590Srgrimesint	 pcmdlist __P((void));
1851590Srgrimesint	 pdot __P((void));
1861590Srgrimesvoid	 prepare_child __P((int, int, int));
1871590Srgrimesint	 preserve __P((int *));
1881590Srgrimesvoid	 prettyprint __P((struct name *));
1891590Srgrimesvoid	 printgroup __P((char []));
1901590Srgrimesvoid	 printhead __P((int));
1911590Srgrimesint	 puthead __P((struct header *, FILE *, int));
1921590Srgrimesint	 putline __P((FILE *, char *));
1931590Srgrimesint	 pversion __P((int));
1941590Srgrimesvoid	 quit __P((void));
1951590Srgrimesint	 quitcmd __P((void));
1961590Srgrimesint	 raise __P((int));
1971590Srgrimesint	 readline __P((FILE *, char *, int));
1981590Srgrimesvoid	 register_file __P((FILE *, int, int));
1991590Srgrimesvoid	 regret __P((int));
2001590Srgrimesvoid	 relsesigs __P((void));
2011590Srgrimesint	 respond __P((int *));
2021590Srgrimesint	 retfield __P((char *[]));
2031590Srgrimesint	 rexit __P((int));
2041590Srgrimesint	 rm __P((char *));
2051590Srgrimesint	 run_command __P((char *, int, int, int, char *, char *, char *));
2061590Srgrimesint	 save __P((char []));
2071590Srgrimesint	 save1 __P((char [], int, char *, struct ignoretab *));
2081590Srgrimesvoid	 savedeadletter __P((FILE *));
2091590Srgrimesint	 saveigfield __P((char *[]));
2101590Srgrimesint	 savemail __P((char [], FILE *));
2111590Srgrimesint	 saveretfield __P((char *[]));
2121590Srgrimesint	 scan __P((char **));
2131590Srgrimesvoid	 scaninit __P((void));
2141590Srgrimesint	 schdir __P((char **));
2151590Srgrimesint	 screensize __P((void));
2161590Srgrimesint	 scroll __P((char []));
2171590Srgrimesint	 send __P((struct message *, FILE *, struct ignoretab *, char *));
2181590Srgrimesint	 sendmail __P((char *));
2191590Srgrimesint	 set __P((char **));
2201590Srgrimesint	 setfile __P((char *));
2211590Srgrimesvoid	 setmsize __P((int));
2221590Srgrimesvoid	 setptr __P((FILE *));
2231590Srgrimesvoid	 setscreensize __P((void));
2241590Srgrimesint	 shell __P((char *));
2251590Srgrimesvoid	 sigchild __P((int));
2261590Srgrimesvoid	 sort __P((char **));
2271590Srgrimesint	 source __P((char **));
2281590Srgrimesvoid	 spreserve __P((void));
2291590Srgrimesvoid	 sreset __P((void));
2301590Srgrimesint	 start_command __P((char *, int, int, int, char *, char *, char *));
2311590Srgrimesvoid	 statusput __P((struct message *, FILE *, char *));
2321590Srgrimesvoid	 stop __P((int));
2331590Srgrimesint	 stouch __P((int []));
2341590Srgrimesint	 swrite __P((char []));
2351590Srgrimesvoid	 tinit __P((void));
2361590Srgrimesint	 top __P((int *));
2371590Srgrimesvoid	 touch __P((struct message *));
2381590Srgrimesvoid	 ttyint __P((int));
2391590Srgrimesvoid	 ttystop __P((int));
2401590Srgrimesint	 type __P((int *));
2411590Srgrimesint	 type1 __P((int *, int, int));
2421590Srgrimesint	 undelete __P((int *));
2431590Srgrimesvoid	 unmark __P((int));
2441590Srgrimeschar	**unpack __P((struct name *));
2451590Srgrimesint	 unread __P((int []));
2461590Srgrimesvoid	 unregister_file __P((FILE *));
2471590Srgrimesint	 unset __P((char **));
2481590Srgrimesint	 unstack __P((void));
2491590Srgrimesvoid	 vfree __P((char *));
2501590Srgrimesint	 visual __P((int *));
2511590Srgrimesint	 wait_child __P((int));
2521590Srgrimesint	 wait_command __P((int));
2531590Srgrimesint	 writeback __P((FILE *));
254