extern.h revision 92921
11590Srgrimes/*- 21590Srgrimes * Copyright (c) 1992, 1993 31590Srgrimes * The Regents of the University of California. All rights reserved. 41590Srgrimes * 51590Srgrimes * Redistribution and use in source and binary forms, with or without 61590Srgrimes * modification, are permitted provided that the following conditions 71590Srgrimes * are met: 81590Srgrimes * 1. Redistributions of source code must retain the above copyright 91590Srgrimes * notice, this list of conditions and the following disclaimer. 101590Srgrimes * 2. Redistributions in binary form must reproduce the above copyright 111590Srgrimes * notice, this list of conditions and the following disclaimer in the 121590Srgrimes * documentation and/or other materials provided with the distribution. 131590Srgrimes * 3. All advertising materials mentioning features or use of this software 141590Srgrimes * must display the following acknowledgement: 151590Srgrimes * This product includes software developed by the University of 161590Srgrimes * California, Berkeley and its contributors. 171590Srgrimes * 4. Neither the name of the University nor the names of its contributors 181590Srgrimes * may be used to endorse or promote products derived from this software 191590Srgrimes * without specific prior written permission. 201590Srgrimes * 211590Srgrimes * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 221590Srgrimes * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 231590Srgrimes * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 241590Srgrimes * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 251590Srgrimes * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 261590Srgrimes * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 271590Srgrimes * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 281590Srgrimes * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 291590Srgrimes * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 301590Srgrimes * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 311590Srgrimes * SUCH DAMAGE. 321590Srgrimes * 3388150Smikeh * @(#)extern.h 8.2 (Berkeley) 4/20/95 3474769Smikeh * 3574769Smikeh * $FreeBSD: head/usr.bin/mail/extern.h 92921 2002-03-22 01:33:25Z imp $ 361590Srgrimes */ 371590Srgrimes 3892921Simpstruct name *cat(struct name *, struct name *); 3992921Simpstruct name *delname(struct name *, char []); 4092921Simpstruct name *elide(struct name *); 4192921Simpstruct name *extract(char [], int); 4292921Simpstruct name *gexpand(struct name *, struct grouphead *, int, int); 4392921Simpstruct name *nalloc(char [], int); 4492921Simpstruct name *outof(struct name *, FILE *, struct header *); 4592921Simpstruct name *put(struct name *, struct name *); 4692921Simpstruct name *tailof(struct name *); 4792921Simpstruct name *usermap(struct name *); 4892921SimpFILE *Fdopen(int, const char *); 4992921SimpFILE *Fopen(const char *, const char *); 5092921SimpFILE *Popen(char *, const char *); 5192921SimpFILE *collect(struct header *, int); 5292921Simpchar *copyin(char *, char **); 5392921Simpchar *detract(struct name *, int); 5492921Simpchar *expand(char *); 5592921Simpchar *getdeadletter(void); 5692921Simpchar *getname(int); 5792921Simpchar *hfield(const char *, struct message *); 5892921SimpFILE *infix(struct header *, FILE *); 5992921Simpchar *ishfield(char [], char *, const char *); 6092921Simpchar *name1(struct message *, int); 6192921Simpchar *nameof(struct message *, int); 6292921Simpchar *nextword(char *, char *); 6392921Simpchar *readtty(const char *, char []); 6492921Simpchar *reedit(char *); 6592921SimpFILE *run_editor(FILE *, off_t, int, int); 6692921Simpchar *salloc(int); 6792921Simpchar *savestr(char *); 6892921SimpFILE *setinput(struct message *); 6992921Simpchar *skin(char *); 7092921Simpchar *skip_comment(char *); 7192921Simpchar *snarf(char [], int *); 7292921Simpchar *username(void); 7392921Simpchar *value(const char *); 7492921Simpchar *vcopy(const char *); 7592921Simpchar *yankword(char *, char []); 7692921Simpint Fclose(FILE *); 7792921Simpint More(int *); 7892921Simpint Pclose(FILE *); 7992921Simpint Respond(int *); 8092921Simpint Type(int *); 8192921Simpint doRespond(int []); 8292921Simpint dorespond(int *); 8392921Simpvoid alter(char *); 8492921Simpint alternates(char **); 8592921Simpvoid announce(void); 8692921Simpint append(struct message *, FILE *); 8792921Simpint argcount(char **); 8892921Simpvoid assign(const char *, const char *); 8992921Simpint bangexp(char *, size_t); 9092921Simpvoid brokpipe(int); 9192921Simpint charcount(char *, int); 9292921Simpint check(int, int); 9392921Simpvoid clob1(int); 9492921Simpint clobber(char **); 9592921Simpvoid close_all_files(void); 9692921Simpint cmatch(char *, char *); 9792921Simpvoid collhup(int); 9892921Simpvoid collint(int); 9992921Simpvoid collstop(int); 10092921Simpvoid commands(void); 10192921Simpint copycmd(char []); 10292921Simpint core(void); 10392921Simpint count(struct name *); 10492921Simpint delete(int []); 10592921Simpint delm(int []); 10692921Simpint deltype(int []); 10792921Simpvoid demail(void); 10892921Simpint diction(const void *, const void *); 10992921Simpint dosh(char *); 11092921Simpint echo(char **); 11192921Simpint edit1(int *, int); 11292921Simpint editor(int *); 11392921Simpvoid edstop(void); 11492921Simpint elsecmd(void); 11592921Simpint endifcmd(void); 11692921Simpint evalcol(int); 11792921Simpint execute(char [], int); 11892921Simpint exwrite(char [], FILE *, int); 11992921Simpvoid fail(const char *, const char *); 12092921Simpint file(char **); 1211590Srgrimesstruct grouphead * 12292921Simp findgroup(char []); 12392921Simpvoid findmail(char *, char *, int); 12492921Simpint first(int, int); 12592921Simpvoid fixhead(struct header *, struct name *); 12692921Simpvoid fmt(const char *, struct name *, FILE *, int); 12792921Simpint folders(void); 12892921Simpint forward(char [], FILE *, char *, int); 12992921Simpvoid free_child(int); 13092921Simpint from(int *); 13192921Simpoff_t fsize(FILE *); 13292921Simpint getfold(char *, int); 13392921Simpint gethfield(FILE *, char [], int, char **); 13492921Simpint getmsglist(char *, int *, int); 13592921Simpint getrawlist(char [], char **, int); 13692921Simpint getuserid(char []); 13792921Simpint grabh(struct header *, int); 13892921Simpint group(char **); 13992921Simpvoid hangup(int); 14092921Simpint hash(const char *); 14192921Simpvoid hdrstop(int); 14292921Simpint headers(int *); 14392921Simpint help(void); 14492921Simpvoid holdsigs(void); 14592921Simpint ifcmd(char **); 14692921Simpint igcomp(const void *, const void *); 14792921Simpint igfield(char *[]); 14892921Simpint ignore1(char *[], struct ignoretab *, const char *); 14992921Simpint igshow(struct ignoretab *, const char *); 15092921Simpint inc(void *); 15192921Simpint incfile(void); 15292921Simpvoid intr(int); 15392921Simpint isdate(char []); 15492921Simpint isdir(char []); 15592921Simpint isfileaddr(char *); 15692921Simpint ishead(char []); 15792921Simpint isign(const char *, struct ignoretab []); 15892921Simpint isprefix(const char *, const char *); 15992921Simpvoid istrncpy(char *, const char *, size_t); 16077274Smikeh__const struct cmd * 16192921Simp lex(char []); 16292921Simpvoid load(char *); 1631590Srgrimesstruct var * 16492921Simp lookup(const char *); 16592921Simpint mail(struct name *, 16692921Simp struct name *, struct name *, struct name *, char *, char *); 16792921Simpvoid mail1(struct header *, int); 16892921Simpvoid makemessage(FILE *, int); 16992921Simpvoid mark(int); 17092921Simpint markall(char [], int); 17192921Simpint matchsender(char *, int); 17292921Simpint matchsubj(char *, int); 17392921Simpint mboxit(int []); 17492921Simpint member(char *, struct ignoretab *); 17592921Simpvoid mesedit(FILE *, int); 17692921Simpvoid mespipe(FILE *, char []); 17792921Simpint messize(int *); 17892921Simpint metamess(int, int); 17992921Simpint more(int *); 18092921Simpint newfileinfo(int); 18192921Simpint next(int *); 18292921Simpint null(int); 18392921Simpvoid parse(char [], struct headline *, char []); 18492921Simpint pcmdlist(void); 18592921Simpint pdot(void); 18692921Simpvoid prepare_child(sigset_t *, int, int); 18792921Simpint preserve(int *); 18892921Simpvoid prettyprint(struct name *); 18992921Simpvoid printgroup(char []); 19092921Simpvoid printhead(int); 19192921Simpint puthead(struct header *, FILE *, int); 19292921Simpint putline(FILE *, char *, int); 19392921Simpint pversion(int); 19492921Simpvoid quit(void); 19592921Simpint quitcmd(void); 19692921Simpint readline(FILE *, char *, int); 19792921Simpvoid register_file(FILE *, int, int); 19892921Simpvoid regret(int); 19992921Simpvoid relsesigs(void); 20092921Simpint respond(int *); 20192921Simpint retfield(char *[]); 20292921Simpint rexit(int); 20392921Simpint rm(char *); 20492921Simpint run_command(char *, sigset_t *, int, int, char *, char *, char *); 20592921Simpint save(char []); 20692921Simpint save1(char [], int, const char *, struct ignoretab *); 20792921Simpvoid savedeadletter(FILE *); 20892921Simpint saveigfield(char *[]); 20992921Simpint savemail(char [], FILE *); 21092921Simpint saveretfield(char *[]); 21192921Simpint scan(char **); 21292921Simpvoid scaninit(void); 21392921Simpint schdir(char **); 21492921Simpint screensize(void); 21592921Simpint scroll(char []); 21692921Simpint sendmessage(struct message *, FILE *, struct ignoretab *, char *); 21792921Simpint sendmail(char *); 21892921Simpint set(char **); 21992921Simpint setfile(char *); 22092921Simpvoid setmsize(int); 22192921Simpvoid setptr(FILE *, off_t); 22292921Simpvoid setscreensize(void); 22392921Simpint shell(char *); 22492921Simpvoid sigchild(int); 22592921Simpvoid sort(char **); 22692921Simpint source(char **); 22792921Simpvoid spreserve(void); 22892921Simpvoid sreset(void); 22992921Simpint start_command(char *, sigset_t *, int, int, char *, char *, char *); 23092921Simpvoid statusput(struct message *, FILE *, char *); 23192921Simpvoid stop(int); 23292921Simpint stouch(int []); 23392921Simpint swrite(char []); 23492921Simpvoid tinit(void); 23592921Simpint top(int *); 23692921Simpvoid touch(struct message *); 23792921Simpvoid ttyint(int); 23892921Simpvoid ttystop(int); 23992921Simpint type(int *); 24092921Simpint type1(int *, int, int); 24192921Simpint undelete_messages(int *); 24292921Simpvoid unmark(int); 24392921Simpchar **unpack(struct name *); 24492921Simpint unread(int []); 24592921Simpvoid unregister_file(FILE *); 24692921Simpint unset(char **); 24792921Simpint unstack(void); 24892921Simpvoid vfree(char *); 24992921Simpint visual(int *); 25092921Simpint wait_child(int); 25192921Simpint wait_command(int); 25292921Simpint writeback(FILE *); 25374769Smikeh 25474769Smikehextern char *__progname; 25574769Smikehextern char *tmpdir; 256