2 * Copyright (c) 1992, 1993
3 * The Regents of the University of California. All rights reserved.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
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.
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
33 * @(#)extern.h 8.1 (Berkeley) 6/6/93
36 struct name *cat __P((struct name *, struct name *));
37 struct name *delname __P((struct name *, char []));
38 struct name *elide __P((struct name *));
39 struct name *extract __P((char [], int));
40 struct name *gexpand __P((struct name *, struct grouphead *, int, int));
41 struct name *nalloc __P((char [], int));
42 struct name *outof __P((struct name *, FILE *, struct header *));
43 struct name *put __P((struct name *, struct name *));
44 struct name *tailof __P((struct name *));
45 struct name *usermap __P((struct name *));
46 FILE *Fdopen __P((int, char *));
47 FILE *Fopen __P((char *, char *));
48 FILE *Popen __P((char *, char *));
49 FILE *collect __P((struct header *, int));
50 char *copy __P((char *, char *));
51 char *copyin __P((char *, char **));
52 char *detract __P((struct name *, int));
53 char *expand __P((char *));
54 char *getdeadletter __P((void));
55 char *getname __P((int));
56 char *hfield __P((char [], struct message *));
57 FILE *infix __P((struct header *, FILE *));
58 char *ishfield __P((char [], char[], char *));
59 char *name1 __P((struct message *, int));
60 char *nameof __P((struct message *, int));
61 char *nextword __P((char *, char *));
62 char *readtty __P((char [], char []));
63 char *reedit __P((char *));
64 FILE *run_editor __P((FILE *, off_t, int, int));
65 char *salloc __P((int));
66 char *savestr __P((char *));
67 FILE *setinput __P((struct message *));
68 char *skin __P((char *));
69 char *skip_comment __P((char *));
70 char *snarf __P((char [], int *));
71 char *username __P((void));
72 char *value __P((char []));
73 char *vcopy __P((char []));
74 char *yankword __P((char *, char []));
75 int Fclose __P((FILE *));
76 int More __P((int *));
77 int Pclose __P((FILE *));
78 int Respond __P((int *));
79 int Type __P((int *));
80 int doRespond __P((int []));
81 int dorespond __P((int *));
82 void alter __P((char *));
83 int alternates __P((char **));
84 void announce __P((void));
85 int anyof __P((char *, char *));
86 int append __P((struct message *, FILE *));
87 int argcount __P((char **));
88 void assign __P((char [], char []));
89 int bangexp __P((char *));
90 int blankline __P((char []));
91 void brokpipe __P((int));
92 int charcount __P((char *, int));
93 int check __P((int, int));
94 void clob1 __P((int));
95 int clobber __P((char **));
96 void close_all_files __P((void));
97 int cmatch __P((char *, char *));
98 void collhup __P((int));
99 void collint __P((int));
100 void collstop __P((int));
101 void commands __P((void));
102 int copycmd __P((char []));
103 int core __P((void));
104 int count __P((struct name *));
105 int delete __P((int []));
106 int delm __P((int []));
107 int deltype __P((int []));
108 void demail __P((void));
109 int diction __P((const void *, const void *));
110 int dosh __P((char *));
111 int echo __P((char **));
112 int edit1 __P((int *, int));
113 int editor __P((int *));
114 void edstop __P((void));
115 int elsecmd __P((void));
116 int endifcmd __P((void));
117 int evalcol __P((int));
118 int execute __P((char [], int));
119 int exwrite __P((char [], FILE *, int));
120 void fail __P((char [], char []));
121 int file __P((char **));
123 findgroup __P((char []));
124 void findmail __P((char *, char *));
125 int first __P((int, int));
126 void fixhead __P((struct header *, struct name *));
127 void fmt __P((char *, struct name *, FILE *, int));
128 int folders __P((void));
129 int forward __P((char [], FILE *, int));
130 void free_child __P((int));
131 int from __P((int *));
132 off_t fsize __P((FILE *));
133 int getfold __P((char *));
134 int gethfield __P((FILE *, char [], int, char **));
135 int getmsglist __P((char *, int *, int));
136 int getrawlist __P((char [], char **, int));
137 int getuserid __P((char []));
138 int grabh __P((struct header *, int));
139 int group __P((char **));
140 void hangup __P((int));
141 int hash __P((char *));
142 void hdrstop __P((int));
143 int headers __P((int *));
144 int help __P((void));
145 void holdsigs __P((void));
146 int ifcmd __P((char **));
147 int igcomp __P((const void *, const void *));
148 int igfield __P((char *[]));
149 int ignore1 __P((char *[], struct ignoretab *, char *));
150 int igshow __P((struct ignoretab *, char *));
151 void intr __P((int));
152 int isdate __P((char []));
153 int isdir __P((char []));
154 int isfileaddr __P((char *));
155 int ishead __P((char []));
156 int isign __P((char *, struct ignoretab []));
157 int isprefix __P((char *, char *));
158 void istrcpy __P((char *, char *));
161 void load __P((char *));
163 lookup __P((char []));
164 int mail __P((struct name *,
165 struct name *, struct name *, struct name *, char *, char *));
166 void mail1 __P((struct header *, int));
167 void makemessage __P((FILE *));
168 void mark __P((int));
169 int markall __P((char [], int));
170 int matchsender __P((char *, int));
171 int matchsubj __P((char *, int));
172 int mboxit __P((int []));
173 int member __P((char *, struct ignoretab *));
174 void mesedit __P((FILE *, int));
175 void mespipe __P((FILE *, char []));
176 int messize __P((int *));
177 int metamess __P((int, int));
178 int more __P((int *));
179 int newfileinfo __P((void));
180 int next __P((int *));
182 void panic __P((const char *, ...));
183 void parse __P((char [], struct headline *, char []));
184 int pcmdlist __P((void));
185 int pdot __P((void));
186 void prepare_child __P((int, int, int));
187 int preserve __P((int *));
188 void prettyprint __P((struct name *));
189 void printgroup __P((char []));
190 void printhead __P((int));
191 int puthead __P((struct header *, FILE *, int));
192 int putline __P((FILE *, char *));
193 int pversion __P((int));
194 void quit __P((void));
195 int quitcmd __P((void));
196 int raise __P((int));
197 int readline __P((FILE *, char *, int));
198 void register_file __P((FILE *, int, int));
199 void regret __P((int));
200 void relsesigs __P((void));
201 int respond __P((int *));
202 int retfield __P((char *[]));
203 int rexit __P((int));
204 int rm __P((char *));
205 int run_command __P((char *, int, int, int, char *, char *, char *));
206 int save __P((char []));
207 int save1 __P((char [], int, char *, struct ignoretab *));
208 void savedeadletter __P((FILE *));
209 int saveigfield __P((char *[]));
210 int savemail __P((char [], FILE *));
211 int saveretfield __P((char *[]));
212 int scan __P((char **));
213 void scaninit __P((void));
214 int schdir __P((char **));
215 int screensize __P((void));
216 int scroll __P((char []));
217 int send __P((struct message *, FILE *, struct ignoretab *, char *));
218 int sendmail __P((char *));
219 int set __P((char **));
220 int setfile __P((char *));
221 void setmsize __P((int));
222 void setptr __P((FILE *));
223 void setscreensize __P((void));
224 int shell __P((char *));
225 void sigchild __P((int));
226 void sort __P((char **));
227 int source __P((char **));
228 void spreserve __P((void));
229 void sreset __P((void));
230 int start_command __P((char *, int, int, int, char *, char *, char *));
231 void statusput __P((struct message *, FILE *, char *));
232 void stop __P((int));
233 int stouch __P((int []));
234 int swrite __P((char []));
235 void tinit __P((void));
236 int top __P((int *));
237 void touch __P((struct message *));
238 void ttyint __P((int));
239 void ttystop __P((int));
240 int type __P((int *));
241 int type1 __P((int *, int, int));
242 int undelete_messages __P((int *));
243 void unmark __P((int));
244 char **unpack __P((struct name *));
245 int unread __P((int []));
246 void unregister_file __P((FILE *));
247 int unset __P((char **));
248 int unstack __P((void));
249 void vfree __P((char *));
250 int visual __P((int *));
251 int wait_child __P((int));
252 int wait_command __P((int));
253 int writeback __P((FILE *));