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