xref: /freebsd/usr.bin/mail/extern.h (revision 856f23ed359b1138dbb07532a81dc83328b85941)
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  *
33856f23edSMike Heffner  *	@(#)extern.h	8.2 (Berkeley) 4/20/95
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 *));
150856f23edSMike Heffner int	 inc __P((void *));
151856f23edSMike Heffner int	 incfile __P((void));
1529b50d902SRodney W. Grimes void	 intr __P((int));
1539b50d902SRodney W. Grimes int	 isdate __P((char []));
1549b50d902SRodney W. Grimes int	 isdir __P((char []));
1559b50d902SRodney W. Grimes int	 isfileaddr __P((char *));
1569b50d902SRodney W. Grimes int	 ishead __P((char []));
1579ce73e90SMike Heffner int	 isign __P((const char *, struct ignoretab []));
1589ce73e90SMike Heffner int	 isprefix __P((const char *, const char *));
1599ce73e90SMike Heffner void	 istrncpy __P((char *, const char *, size_t));
1609ce73e90SMike Heffner __const struct cmd *
1619b50d902SRodney W. Grimes 	 lex __P((char []));
1629b50d902SRodney W. Grimes void	 load __P((char *));
1639b50d902SRodney W. Grimes struct var *
1649ce73e90SMike Heffner 	 lookup __P((const char *));
1659b50d902SRodney W. Grimes int	 mail __P((struct name *,
16699bd6601SJoerg Wunsch 	    struct name *, struct name *, struct name *, char *, char *));
1679b50d902SRodney W. Grimes void	 mail1 __P((struct header *, int));
168856f23edSMike Heffner void	 makemessage __P((FILE *, int));
1699b50d902SRodney W. Grimes void	 mark __P((int));
1709b50d902SRodney W. Grimes int	 markall __P((char [], int));
1719b50d902SRodney W. Grimes int	 matchsender __P((char *, int));
1729b50d902SRodney W. Grimes int	 matchsubj __P((char *, int));
1739b50d902SRodney W. Grimes int	 mboxit __P((int []));
1749b50d902SRodney W. Grimes int	 member __P((char *, struct ignoretab *));
1759b50d902SRodney W. Grimes void	 mesedit __P((FILE *, int));
1769b50d902SRodney W. Grimes void	 mespipe __P((FILE *, char []));
1779b50d902SRodney W. Grimes int	 messize __P((int *));
1789b50d902SRodney W. Grimes int	 metamess __P((int, int));
1799b50d902SRodney W. Grimes int	 more __P((int *));
180856f23edSMike Heffner int	 newfileinfo __P((int));
1819b50d902SRodney W. Grimes int	 next __P((int *));
1829b50d902SRodney W. Grimes int	 null __P((int));
1839b50d902SRodney W. Grimes void	 parse __P((char [], struct headline *, char []));
1849b50d902SRodney W. Grimes int	 pcmdlist __P((void));
1859b50d902SRodney W. Grimes int	 pdot __P((void));
186856f23edSMike Heffner void	 prepare_child __P((sigset_t *, 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));
192856f23edSMike Heffner int	 putline __P((FILE *, char *, int));
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	 readline __P((FILE *, char *, int));
1979b50d902SRodney W. Grimes void	 register_file __P((FILE *, int, int));
1989b50d902SRodney W. Grimes void	 regret __P((int));
1999b50d902SRodney W. Grimes void	 relsesigs __P((void));
2009b50d902SRodney W. Grimes int	 respond __P((int *));
2019b50d902SRodney W. Grimes int	 retfield __P((char *[]));
2029b50d902SRodney W. Grimes int	 rexit __P((int));
2039b50d902SRodney W. Grimes int	 rm __P((char *));
204856f23edSMike Heffner int	 run_command __P((char *, sigset_t *, int, int, char *, char *,
205856f23edSMike Heffner 	    char *));
2069b50d902SRodney W. Grimes int	 save __P((char []));
2079ce73e90SMike Heffner int	 save1 __P((char [], int, const 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 []));
217856f23edSMike Heffner int	 sendmessage __P((struct message *, FILE *, struct ignoretab *,
218856f23edSMike Heffner 	    char *));
2199b50d902SRodney W. Grimes int	 sendmail __P((char *));
2209b50d902SRodney W. Grimes int	 set __P((char **));
2219b50d902SRodney W. Grimes int	 setfile __P((char *));
2229b50d902SRodney W. Grimes void	 setmsize __P((int));
223856f23edSMike Heffner void	 setptr __P((FILE *, off_t));
2249b50d902SRodney W. Grimes void	 setscreensize __P((void));
2259b50d902SRodney W. Grimes int	 shell __P((char *));
2269b50d902SRodney W. Grimes void	 sigchild __P((int));
2279b50d902SRodney W. Grimes void	 sort __P((char **));
2289b50d902SRodney W. Grimes int	 source __P((char **));
2299b50d902SRodney W. Grimes void	 spreserve __P((void));
2309b50d902SRodney W. Grimes void	 sreset __P((void));
231856f23edSMike Heffner int	 start_command __P((char *, sigset_t *, int, int, char *, char *,
232856f23edSMike Heffner 	    char *));
2339b50d902SRodney W. Grimes void	 statusput __P((struct message *, FILE *, char *));
2349b50d902SRodney W. Grimes void	 stop __P((int));
2359b50d902SRodney W. Grimes int	 stouch __P((int []));
2369b50d902SRodney W. Grimes int	 swrite __P((char []));
2379b50d902SRodney W. Grimes void	 tinit __P((void));
2389b50d902SRodney W. Grimes int	 top __P((int *));
2399b50d902SRodney W. Grimes void	 touch __P((struct message *));
2409b50d902SRodney W. Grimes void	 ttyint __P((int));
2419b50d902SRodney W. Grimes void	 ttystop __P((int));
2429b50d902SRodney W. Grimes int	 type __P((int *));
2439b50d902SRodney W. Grimes int	 type1 __P((int *, int, int));
244c05b924fSBruce Evans int	 undelete_messages __P((int *));
2459b50d902SRodney W. Grimes void	 unmark __P((int));
2469b50d902SRodney W. Grimes char	**unpack __P((struct name *));
2479b50d902SRodney W. Grimes int	 unread __P((int []));
2489b50d902SRodney W. Grimes void	 unregister_file __P((FILE *));
2499b50d902SRodney W. Grimes int	 unset __P((char **));
2509b50d902SRodney W. Grimes int	 unstack __P((void));
2519b50d902SRodney W. Grimes void	 vfree __P((char *));
2529b50d902SRodney W. Grimes int	 visual __P((int *));
2539b50d902SRodney W. Grimes int	 wait_child __P((int));
2549b50d902SRodney W. Grimes int	 wait_command __P((int));
2559b50d902SRodney W. Grimes int	 writeback __P((FILE *));
2560c3a8314SMike Heffner 
2570c3a8314SMike Heffner extern char *__progname;
2580c3a8314SMike Heffner extern char *tmpdir;
259