|
|
1.1 root 1: /*
2: * A bunch of global variable declarations lie herein.
3: * def.h must be included first.
4: */
5:
6: int msgCount; /* Count of messages read in */
7: int mypid; /* Current process id */
8: int rcvmode; /* True if receiving mail */
9: int sawcom; /* Set after first command */
10: int hflag; /* Sequence number for network -h */
11: char *rflag; /* -r address for network */
12: int selfsent; /* User sent self something */
13: int senderr; /* An error while checking */
14: int edit; /* Indicates editing a file */
15: int sourcing; /* Currently reading variant file */
16: FILE *itf; /* Input temp file buffer */
17: FILE *otf; /* Output temp file buffer */
18: int image; /* File descriptor for image of msg */
19: FILE *input; /* Current command input file */
20: char *editfile; /* Name of file being edited */
21: int outtty; /* True if standard output a tty */
22: int intty; /* True if standard input a tty */
23: char mbox[PATHSIZE]; /* Name of mailbox file */
24: char *mailname; /* Name of system mailbox */
25: char mailspace[PATHSIZE]; /* Space norm alloc'd for name */
26: int uid; /* The invoker's user id */
27: char mailrc[PATHSIZE]; /* Name of startup file */
28: char deadletter[PATHSIZE]; /* Name of #/dead.letter */
29: char homedir[PATHSIZE]; /* Path name of home directory */
30: char myname[9]; /* My login id */
31: off_t mailsize; /* Size of system mailbox */
32: int lexnumber; /* Number of TNUMBER from scan() */
33: char lexstring[STRINGLEN]; /* String from TSTRING, scan() */
34: int regretp; /* Pointer to TOS of regret tokens */
35: int regretstack[REGDEP]; /* Stack of regretted tokens */
36: char *stringstack[REGDEP]; /* Stack of regretted strings */
37: int numberstack[REGDEP]; /* Stack of regretted numbers */
38: struct message *dot; /* Pointer to current message */
39: struct message *message; /* The actual message structure */
40: struct var *variables[HSHSIZE]; /* Pointer to active var list */
41: struct grouphead *groups[HSHSIZE];/* Pointer to active groups */
42: int debug; /* Debug flag set */
43:
44: #include <setjmp.h>
45:
46: jmp_buf srbuf;
47:
48:
49: /*
50: * The pointers for the string allocation routines,
51: * there are NSPACE independent areas.
52: * The first holds STRINGSIZE bytes, the next
53: * twice as much, and so on.
54: */
55:
56: #define NSPACE 8 /* Total number of string spaces */
57: struct strings {
58: char *s_topFree; /* Beginning of this area */
59: char *s_nextFree; /* Next alloctable place here */
60: unsigned s_nleft; /* Number of bytes left here */
61: } stringdope[NSPACE];
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.