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