4.4BSD snapshot (revision 8.1); add 1993 to copyright
[unix-history] / usr / src / usr.bin / mail / glob.h
CommitLineData
761330fe 1/*
a12ff486
KB
2 * Copyright (c) 1980, 1993
3 * The Regents of the University of California. All rights reserved.
761330fe 4 *
f15db449 5 * %sccs.include.redist.c%
0c5f72fb 6 *
a12ff486 7 * @(#)glob.h 8.1 (Berkeley) %G%
761330fe 8 */
2ae9f53f 9
e6a88a51
KS
10/*
11 * A bunch of global variable declarations lie herein.
12 * def.h must be included first.
13 */
14
e6a88a51 15int msgCount; /* Count of messages read in */
e6a88a51
KS
16int rcvmode; /* True if receiving mail */
17int sawcom; /* Set after first command */
31840345 18char *Tflag; /* -T temp file for netnews */
e6a88a51
KS
19int senderr; /* An error while checking */
20int edit; /* Indicates editing a file */
df1ae8ec 21int readonly; /* Will be unable to rewrite file */
e6a88a51
KS
22int noreset; /* String resets suspended */
23int sourcing; /* Currently reading variant file */
ef4abe32 24int loading; /* Loading user definitions */
b04d2a11 25int cond; /* Current state of conditional exc. */
e6a88a51
KS
26FILE *itf; /* Input temp file buffer */
27FILE *otf; /* Output temp file buffer */
28int image; /* File descriptor for image of msg */
29FILE *input; /* Current command input file */
2a0f6531
EW
30char mailname[PATHSIZE]; /* Name of current file */
31char prevfile[PATHSIZE]; /* Name of previous file */
f674e088
EW
32char *homedir; /* Path name of home directory */
33char *myname; /* My login name */
e6a88a51
KS
34off_t mailsize; /* Size of system mailbox */
35int lexnumber; /* Number of TNUMBER from scan() */
36char lexstring[STRINGLEN]; /* String from TSTRING, scan() */
37int regretp; /* Pointer to TOS of regret tokens */
38int regretstack[REGDEP]; /* Stack of regretted tokens */
85d5837f 39char *string_stack[REGDEP]; /* Stack of regretted strings */
e6a88a51
KS
40int numberstack[REGDEP]; /* Stack of regretted numbers */
41struct message *dot; /* Pointer to current message */
42struct message *message; /* The actual message structure */
43struct var *variables[HSHSIZE]; /* Pointer to active var list */
44struct grouphead *groups[HSHSIZE];/* Pointer to active groups */
887efe38
EW
45struct ignoretab ignore[2]; /* ignored and retained fields
46 0 is ignore, 1 is retain */
47struct ignoretab saveignore[2]; /* ignored and retained fields
48 on save to folder */
2de8fc95 49struct ignoretab ignoreall[2]; /* special, ignore all headers */
d1361008 50char **altnames; /* List of alternate names for user */
e6a88a51 51int debug; /* Debug flag set */
828615a1 52int screenwidth; /* Screen width, or best guess */
d56fd190
EW
53int screenheight; /* Screen height, or best guess,
54 for "header" command */
55int realscreenheight; /* the real screen height */
e6a88a51
KS
56
57#include <setjmp.h>
58
59jmp_buf srbuf;
60
61
62/*
63 * The pointers for the string allocation routines,
64 * there are NSPACE independent areas.
65 * The first holds STRINGSIZE bytes, the next
66 * twice as much, and so on.
67 */
68
c42869b9 69#define NSPACE 25 /* Total number of string spaces */
e6a88a51
KS
70struct strings {
71 char *s_topFree; /* Beginning of this area */
72 char *s_nextFree; /* Next alloctable place here */
73 unsigned s_nleft; /* Number of bytes left here */
74} stringdope[NSPACE];