1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License, Version 1.0 only 6 * (the "License"). You may not use this file except in compliance 7 * with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or http://www.opensolaris.org/os/licensing. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 */ 22 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 23 /* All Rights Reserved */ 24 25 26 /* 27 * Copyright (c) 1998 by Sun Microsystems, Inc. 28 * All rights reserved. 29 */ 30 31 /* 32 * University Copyright- Copyright (c) 1982, 1986, 1988 33 * The Regents of the University of California 34 * All Rights Reserved 35 * 36 * University Acknowledgment- Portions of this document are derived from 37 * software developed by the University of California, Berkeley, and its 38 * contributors. 39 */ 40 41 #pragma ident "%Z%%M% %I% %E% SMI" 42 43 /* 44 * mailx -- a modified version of a University of California at Berkeley 45 * mail program 46 * 47 * A bunch of global variable declarations lie herein. 48 * def.h must be included first. 49 */ 50 51 extern int Fflag; /* -F option (followup) */ 52 extern int Hflag; /* print headers and exit */ 53 extern char *Tflag; /* -T temp file for netnews */ 54 extern int UnUUCP; /* -U flag */ 55 extern char **altnames; /* List of alternate names for user */ 56 extern int askme; /* ???? */ 57 extern int baud; /* Output baud rate */ 58 extern char *bflag; /* Bcc given from non tty */ 59 extern char *binmsg; /* Message: content unprintable */ 60 extern char *cflag; /* Cc given from non tty */ 61 extern const struct cmd cmdtab[]; /* ???? */ 62 extern int cond; /* Current state of conditional exc. */ 63 extern NODE *curptr; /* ???? */ 64 extern int debug; /* Debug flag set */ 65 extern char domain[]; /* ???? */ 66 extern struct message *dot; /* Pointer to current message */ 67 extern int edit; /* Indicates editing a file */ 68 extern char *editfile; /* Name of file being edited */ 69 extern int exitflg; /* -e for mail test */ 70 extern NODE *fplist; /* ???? */ 71 extern struct grouphead *groups[]; /* Pointer to active groups */ 72 extern struct hdr header[]; /* Known header types */ 73 extern int hflag; /* Sequence number for network -h */ 74 extern char homedir[]; /* Name of home directory */ 75 extern char host[]; /* ???? */ 76 extern struct ignore *ignore[]; /* Pointer to ignored fields */ 77 extern int image; /* File descriptor for image of msg */ 78 extern FILE *input; /* Current command input file */ 79 extern int intty; /* True if standard input a tty */ 80 extern int issysmbox; /* mailname is a system mailbox */ 81 extern FILE *itf; /* Input temp file buffer */ 82 extern int lexnumber; /* Number of TNUMBER from scan() */ 83 extern char lexstring[]; /* String from TSTRING, scan() */ 84 extern int loading; /* Loading user definitions */ 85 extern char *lockname; /* named used for locking in /var/mail */ 86 extern char *maildir; /* directory for mail files */ 87 extern char mailname[]; /* Name of /var/mail system mailbox */ 88 extern off_t mailsize; /* Size of system mailbox */ 89 extern int maxfiles; /* Maximum number of open files */ 90 extern struct message *message; /* The actual message structure */ 91 extern char *metanet; /* ???? */ 92 extern int msgCount; /* Count of messages read in */ 93 extern gid_t myegid; /* User's effective gid */ 94 extern uid_t myeuid; /* User's effective uid */ 95 extern char myname[]; /* My login id */ 96 extern pid_t mypid; /* Current process id */ 97 extern gid_t myrgid; /* User's real gid */ 98 extern uid_t myruid; /* User's real uid */ 99 extern int newsflg; /* -I option for netnews */ 100 extern char noheader; /* Suprress initial header listing */ 101 extern int noreset; /* String resets suspended */ 102 extern char nosrc; /* Don't source /etc/mail/mailx.rc */ 103 extern int nretained; /* Number of retained fields */ 104 extern int numberstack[]; /* Stack of regretted numbers */ 105 extern char origname[]; /* Original name of mail file */ 106 extern FILE *otf; /* Output temp file buffer */ 107 extern int outtty; /* True if standard output a tty */ 108 extern FILE *pipef; /* Pipe file we have opened */ 109 extern char *progname; /* program name (argv[0]) */ 110 extern char *prompt; /* prompt string */ 111 extern int rcvmode; /* True if receiving mail */ 112 extern int readonly; /* Will be unable to rewrite file */ 113 extern int regretp; /* Pointer to TOS of regret tokens */ 114 extern int regretstack[]; /* Stack of regretted tokens */ 115 extern struct ignore *retain[HSHSIZE];/* Pointer to retained fields */ 116 extern char *rflag; /* -r address for network */ 117 extern int rmail; /* Being called as rmail */ 118 extern int sawcom; /* Set after first command */ 119 extern int selfsent; /* User sent self something */ 120 extern int senderr; /* An error while checking */ 121 extern int rpterr; /* An error msg was sent to stderr */ 122 extern char *sflag; /* Subject given from non tty */ 123 extern int sourcing; /* Currently reading variant file */ 124 extern int space; /* Current maximum number of messages */ 125 extern jmp_buf srbuf; /* ???? */ 126 extern struct strings stringdope[]; /* pointer for the salloc routines */ 127 extern char *stringstack[]; /* Stack of regretted strings */ 128 extern char tempEdit[]; /* ???? */ 129 extern char tempMail[]; /* ???? */ 130 extern char tempMesg[]; /* ???? */ 131 extern char tempQuit[]; /* ???? */ 132 extern char tempResid[]; /* temp file in :saved */ 133 extern char tempZedit[]; /* ???? */ 134 extern int tflag; /* Read headers from text */ 135 extern uid_t uid; /* The invoker's user id */ 136 extern struct utimbuf *utimep; /* ???? */ 137 extern struct var *variables[]; /* Pointer to active var list */ 138 extern const char *const version; /* ???? */ 139 extern int receipt_flg; /* Flag for return receipt */ 140 141 /* 142 * Standard external variables from the C library. 143 */ 144 extern char *optarg; 145 extern int optind; 146