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