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