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$ 36 */ 37 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, char *)); 49 FILE *Fopen __P((char *, char *)); 50 FILE *Popen __P((char *, 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((char [], struct message *)); 58 FILE *infix __P((struct header *, FILE *)); 59 char *ishfield __P((char [], char[], 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((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((char [])); 74 char *vcopy __P((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((char [], 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((char [], char [])); 120 int file __P((char **)); 121 struct grouphead * 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((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((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 *, char *)); 149 int igshow __P((struct ignoretab *, 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((char *, struct ignoretab [])); 156 int isprefix __P((char *, char *)); 157 void istrncpy __P((char *, char *, size_t)); 158 struct cmd * 159 lex __P((char [])); 160 void load __P((char *)); 161 struct var * 162 lookup __P((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 *)); 180 int null __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, 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 *)); 251 252 extern char *__progname; 253 extern char *tmpdir; 254