extern.h revision 74769
1/*-
2 * Copyright (c) 1992, 1993
3 *	The Regents of the University of California.  All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 *    notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 *    notice, this list of conditions and the following disclaimer in the
12 *    documentation and/or other materials provided with the distribution.
13 * 3. All advertising materials mentioning features or use of this software
14 *    must display the following acknowledgement:
15 *	This product includes software developed by the University of
16 *	California, Berkeley and its contributors.
17 * 4. Neither the name of the University nor the names of its contributors
18 *    may be used to endorse or promote products derived from this software
19 *    without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 *	@(#)extern.h	8.1 (Berkeley) 6/6/93
34 *
35 * $FreeBSD: head/usr.bin/mail/extern.h 74769 2001-03-25 04:57:05Z mikeh $
36 */
37
38struct name *cat __P((struct name *, struct name *));
39struct name *delname __P((struct name *, char []));
40struct name *elide __P((struct name *));
41struct name *extract __P((char [], int));
42struct name *gexpand __P((struct name *, struct grouphead *, int, int));
43struct name *nalloc __P((char [], int));
44struct name *outof __P((struct name *, FILE *, struct header *));
45struct name *put __P((struct name *, struct name *));
46struct name *tailof __P((struct name *));
47struct name *usermap __P((struct name *));
48FILE	*Fdopen __P((int, char *));
49FILE	*Fopen __P((char *, char *));
50FILE	*Popen __P((char *, char *));
51FILE	*collect __P((struct header *, int));
52char	*copyin __P((char *, char **));
53char	*detract __P((struct name *, int));
54char	*expand __P((char *));
55char	*getdeadletter __P((void));
56char	*getname __P((int));
57char	*hfield __P((char [], struct message *));
58FILE	*infix __P((struct header *, FILE *));
59char	*ishfield __P((char [], char[], char *));
60char	*name1 __P((struct message *, int));
61char	*nameof __P((struct message *, int));
62char	*nextword __P((char *, char *));
63char	*readtty __P((char [], char []));
64char 	*reedit __P((char *));
65FILE	*run_editor __P((FILE *, off_t, int, int));
66char	*salloc __P((int));
67char	*savestr __P((char *));
68FILE	*setinput __P((struct message *));
69char	*skin __P((char *));
70char	*skip_comment __P((char *));
71char	*snarf __P((char [], int *));
72char	*username __P((void));
73char	*value __P((char []));
74char	*vcopy __P((char []));
75char	*yankword __P((char *, char []));
76int	 Fclose __P((FILE *));
77int	 More __P((int *));
78int	 Pclose __P((FILE *));
79int	 Respond __P((int *));
80int	 Type __P((int *));
81int	 doRespond __P((int []));
82int	 dorespond __P((int *));
83void	 alter __P((char *));
84int	 alternates __P((char **));
85void	 announce __P((void));
86int	 append __P((struct message *, FILE *));
87int	 argcount __P((char **));
88void	 assign __P((char [], char []));
89int	 bangexp __P((char *, size_t));
90void	 brokpipe __P((int));
91int	 charcount __P((char *, int));
92int	 check __P((int, int));
93void	 clob1 __P((int));
94int	 clobber __P((char **));
95void	 close_all_files __P((void));
96int	 cmatch __P((char *, char *));
97void	 collhup __P((int));
98void	 collint __P((int));
99void	 collstop __P((int));
100void	 commands __P((void));
101int	 copycmd __P((char []));
102int	 core __P((void));
103int	 count __P((struct name *));
104int	 delete __P((int []));
105int	 delm __P((int []));
106int	 deltype __P((int []));
107void	 demail __P((void));
108int	 diction __P((const void *, const void *));
109int	 dosh __P((char *));
110int	 echo __P((char **));
111int	 edit1 __P((int *, int));
112int	 editor __P((int *));
113void	 edstop __P((void));
114int	 elsecmd __P((void));
115int	 endifcmd __P((void));
116int	 evalcol __P((int));
117int	 execute __P((char [], int));
118int	 exwrite __P((char [], FILE *, int));
119void	 fail __P((char [], char []));
120int	 file __P((char **));
121struct grouphead *
122	 findgroup __P((char []));
123void	 findmail __P((char *, char *, int));
124int	 first __P((int, int));
125void	 fixhead __P((struct header *, struct name *));
126void	 fmt __P((char *, struct name *, FILE *, int));
127int	 folders __P((void));
128int	 forward __P((char [], FILE *, char *, int));
129void	 free_child __P((int));
130int	 from __P((int *));
131off_t	 fsize __P((FILE *));
132int	 getfold __P((char *, int));
133int	 gethfield __P((FILE *, char [], int, char **));
134int	 getmsglist __P((char *, int *, int));
135int	 getrawlist __P((char [], char **, int));
136int	 getuserid __P((char []));
137int	 grabh __P((struct header *, int));
138int	 group __P((char **));
139void	 hangup __P((int));
140int	 hash __P((char *));
141void	 hdrstop __P((int));
142int	 headers __P((int *));
143int	 help __P((void));
144void	 holdsigs __P((void));
145int	 ifcmd __P((char **));
146int	 igcomp __P((const void *, const void *));
147int	 igfield __P((char *[]));
148int	 ignore1 __P((char *[], struct ignoretab *, char *));
149int	 igshow __P((struct ignoretab *, char *));
150void	 intr __P((int));
151int	 isdate __P((char []));
152int	 isdir __P((char []));
153int	 isfileaddr __P((char *));
154int	 ishead __P((char []));
155int	 isign __P((char *, struct ignoretab []));
156int	 isprefix __P((char *, char *));
157void	 istrncpy __P((char *, char *, size_t));
158struct cmd *
159	 lex __P((char []));
160void	 load __P((char *));
161struct var *
162	 lookup __P((char []));
163int	 mail __P((struct name *,
164	    struct name *, struct name *, struct name *, char *, char *));
165void	 mail1 __P((struct header *, int));
166void	 makemessage __P((FILE *));
167void	 mark __P((int));
168int	 markall __P((char [], int));
169int	 matchsender __P((char *, int));
170int	 matchsubj __P((char *, int));
171int	 mboxit __P((int []));
172int	 member __P((char *, struct ignoretab *));
173void	 mesedit __P((FILE *, int));
174void	 mespipe __P((FILE *, char []));
175int	 messize __P((int *));
176int	 metamess __P((int, int));
177int	 more __P((int *));
178int	 newfileinfo __P((void));
179int	 next __P((int *));
180int	 null __P((int));
181void	 parse __P((char [], struct headline *, char []));
182int	 pcmdlist __P((void));
183int	 pdot __P((void));
184void	 prepare_child __P((int, int, int));
185int	 preserve __P((int *));
186void	 prettyprint __P((struct name *));
187void	 printgroup __P((char []));
188void	 printhead __P((int));
189int	 puthead __P((struct header *, FILE *, int));
190int	 putline __P((FILE *, char *));
191int	 pversion __P((int));
192void	 quit __P((void));
193int	 quitcmd __P((void));
194int	 readline __P((FILE *, char *, int));
195void	 register_file __P((FILE *, int, int));
196void	 regret __P((int));
197void	 relsesigs __P((void));
198int	 respond __P((int *));
199int	 retfield __P((char *[]));
200int	 rexit __P((int));
201int	 rm __P((char *));
202int	 run_command __P((char *, int, int, int, char *, char *, char *));
203int	 save __P((char []));
204int	 save1 __P((char [], int, char *, struct ignoretab *));
205void	 savedeadletter __P((FILE *));
206int	 saveigfield __P((char *[]));
207int	 savemail __P((char [], FILE *));
208int	 saveretfield __P((char *[]));
209int	 scan __P((char **));
210void	 scaninit __P((void));
211int	 schdir __P((char **));
212int	 screensize __P((void));
213int	 scroll __P((char []));
214int	 sendmessage __P((struct message *, FILE *, struct ignoretab *, char *));
215int	 sendmail __P((char *));
216int	 set __P((char **));
217int	 setfile __P((char *));
218void	 setmsize __P((int));
219void	 setptr __P((FILE *));
220void	 setscreensize __P((void));
221int	 shell __P((char *));
222void	 sigchild __P((int));
223void	 sort __P((char **));
224int	 source __P((char **));
225void	 spreserve __P((void));
226void	 sreset __P((void));
227int	 start_command __P((char *, int, int, int, char *, char *, char *));
228void	 statusput __P((struct message *, FILE *, char *));
229void	 stop __P((int));
230int	 stouch __P((int []));
231int	 swrite __P((char []));
232void	 tinit __P((void));
233int	 top __P((int *));
234void	 touch __P((struct message *));
235void	 ttyint __P((int));
236void	 ttystop __P((int));
237int	 type __P((int *));
238int	 type1 __P((int *, int, int));
239int	 undelete_messages __P((int *));
240void	 unmark __P((int));
241char	**unpack __P((struct name *));
242int	 unread __P((int []));
243void	 unregister_file __P((FILE *));
244int	 unset __P((char **));
245int	 unstack __P((void));
246void	 vfree __P((char *));
247int	 visual __P((int *));
248int	 wait_child __P((int));
249int	 wait_command __P((int));
250int	 writeback __P((FILE *));
251
252extern char *__progname;
253extern char *tmpdir;
254