|
|
1.1 root 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) 2/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];
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.