1 /* 2 * Copyright (c) 1980 Regents of the University of California. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms are permitted 6 * provided that this notice is preserved and that due credit is given 7 * to the University of California at Berkeley. The name of the University 8 * may not be used to endorse or promote products derived from this 9 * software without specific prior written permission. This software 10 * is provided ``as is'' without express or implied warranty. 11 * 12 * @(#)glob.h 5.3 (Berkeley) 02/18/88 13 */ 14 15 /* 16 * A bunch of global variable declarations lie herein. 17 * def.h must be included first. 18 */ 19 20 int msgCount; /* Count of messages read in */ 21 int mypid; /* Current process id */ 22 int rcvmode; /* True if receiving mail */ 23 int sawcom; /* Set after first command */ 24 int hflag; /* Sequence number for network -h */ 25 char *rflag; /* -r address for network */ 26 char *Tflag; /* -T temp file for netnews */ 27 char nosrc; /* Don't source /usr/lib/Mail.rc */ 28 char noheader; /* Suprress initial header listing */ 29 int selfsent; /* User sent self something */ 30 int senderr; /* An error while checking */ 31 int edit; /* Indicates editing a file */ 32 int readonly; /* Will be unable to rewrite file */ 33 int noreset; /* String resets suspended */ 34 int sourcing; /* Currently reading variant file */ 35 int loading; /* Loading user definitions */ 36 int cond; /* Current state of conditional exc. */ 37 FILE *itf; /* Input temp file buffer */ 38 FILE *otf; /* Output temp file buffer */ 39 FILE *pipef; /* Pipe file we have opened */ 40 int image; /* File descriptor for image of msg */ 41 FILE *input; /* Current command input file */ 42 char *editfile; /* Name of file being edited */ 43 char *sflag; /* Subject given from non tty */ 44 int outtty; /* True if standard output a tty */ 45 int intty; /* True if standard input a tty */ 46 int baud; /* Output baud rate */ 47 char mbox[PATHSIZE]; /* Name of mailbox file */ 48 char mailname[PATHSIZE]; /* Name of system mailbox */ 49 int uid; /* The invoker's user id */ 50 char mailrc[PATHSIZE]; /* Name of startup file */ 51 char deadletter[PATHSIZE]; /* Name of #/dead.letter */ 52 char homedir[PATHSIZE]; /* Path name of home directory */ 53 char myname[PATHSIZE]; /* My login id */ 54 off_t mailsize; /* Size of system mailbox */ 55 int lexnumber; /* Number of TNUMBER from scan() */ 56 char lexstring[STRINGLEN]; /* String from TSTRING, scan() */ 57 int regretp; /* Pointer to TOS of regret tokens */ 58 int regretstack[REGDEP]; /* Stack of regretted tokens */ 59 char *stringstack[REGDEP]; /* Stack of regretted strings */ 60 int numberstack[REGDEP]; /* Stack of regretted numbers */ 61 struct message *dot; /* Pointer to current message */ 62 struct message *message; /* The actual message structure */ 63 struct var *variables[HSHSIZE]; /* Pointer to active var list */ 64 struct grouphead *groups[HSHSIZE];/* Pointer to active groups */ 65 struct ignore *ignore[HSHSIZE];/* Pointer to ignored fields */ 66 struct ignore *retain[HSHSIZE];/* Pointer to retained fields */ 67 int nretained; /* Number of retained fields */ 68 char **altnames; /* List of alternate names for user */ 69 char **localnames; /* List of aliases for our local host */ 70 int debug; /* Debug flag set */ 71 int rmail; /* Being called as rmail */ 72 int screenwidth; /* Screen width, or best guess */ 73 int screenheight; /* Screen height, or best guess */ 74 75 #include <setjmp.h> 76 77 jmp_buf srbuf; 78 79 80 /* 81 * The pointers for the string allocation routines, 82 * there are NSPACE independent areas. 83 * The first holds STRINGSIZE bytes, the next 84 * twice as much, and so on. 85 */ 86 87 #define NSPACE 25 /* Total number of string spaces */ 88 struct strings { 89 char *s_topFree; /* Beginning of this area */ 90 char *s_nextFree; /* Next alloctable place here */ 91 unsigned s_nleft; /* Number of bytes left here */ 92 } stringdope[NSPACE]; 93