cleaned up edit1, use a file in /tmp, not in current directory, and more
[unix-history] / usr / src / usr.bin / mail / glob.h
CommitLineData
761330fe
DF
1/*
2 * Copyright (c) 1980 Regents of the University of California.
0c5f72fb 3 * All rights reserved.
761330fe 4 *
0c5f72fb
KB
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 *
3d6f01e5 12 * @(#)glob.h 5.10 (Berkeley) %G%
761330fe 13 */
2ae9f53f 14
e6a88a51
KS
15/*
16 * A bunch of global variable declarations lie herein.
17 * def.h must be included first.
18 */
19
e6a88a51
KS
20int msgCount; /* Count of messages read in */
21int mypid; /* Current process id */
22int rcvmode; /* True if receiving mail */
23int sawcom; /* Set after first command */
31840345 24char *Tflag; /* -T temp file for netnews */
e6a88a51 25char nosrc; /* Don't source /usr/lib/Mail.rc */
e6a88a51
KS
26int senderr; /* An error while checking */
27int edit; /* Indicates editing a file */
df1ae8ec 28int readonly; /* Will be unable to rewrite file */
e6a88a51
KS
29int noreset; /* String resets suspended */
30int sourcing; /* Currently reading variant file */
ef4abe32 31int loading; /* Loading user definitions */
b04d2a11 32int cond; /* Current state of conditional exc. */
e6a88a51
KS
33FILE *itf; /* Input temp file buffer */
34FILE *otf; /* Output temp file buffer */
df1ae8ec 35FILE *pipef; /* Pipe file we have opened */
e6a88a51
KS
36int image; /* File descriptor for image of msg */
37FILE *input; /* Current command input file */
2a0f6531
EW
38char mailname[PATHSIZE]; /* Name of current file */
39char prevfile[PATHSIZE]; /* Name of previous file */
e6a88a51
KS
40int uid; /* The invoker's user id */
41char mailrc[PATHSIZE]; /* Name of startup file */
42char deadletter[PATHSIZE]; /* Name of #/dead.letter */
43char homedir[PATHSIZE]; /* Path name of home directory */
145d4d65 44char myname[PATHSIZE]; /* My login id */
e6a88a51
KS
45off_t mailsize; /* Size of system mailbox */
46int lexnumber; /* Number of TNUMBER from scan() */
47char lexstring[STRINGLEN]; /* String from TSTRING, scan() */
48int regretp; /* Pointer to TOS of regret tokens */
49int regretstack[REGDEP]; /* Stack of regretted tokens */
50char *stringstack[REGDEP]; /* Stack of regretted strings */
51int numberstack[REGDEP]; /* Stack of regretted numbers */
52struct message *dot; /* Pointer to current message */
53struct message *message; /* The actual message structure */
54struct var *variables[HSHSIZE]; /* Pointer to active var list */
55struct grouphead *groups[HSHSIZE];/* Pointer to active groups */
887efe38
EW
56struct ignoretab ignore[2]; /* ignored and retained fields
57 0 is ignore, 1 is retain */
58struct ignoretab saveignore[2]; /* ignored and retained fields
59 on save to folder */
d1361008 60char **altnames; /* List of alternate names for user */
fe9152c6 61char **localnames; /* List of aliases for our local host */
e6a88a51 62int debug; /* Debug flag set */
828615a1 63int screenwidth; /* Screen width, or best guess */
d56fd190
EW
64int screenheight; /* Screen height, or best guess,
65 for "header" command */
66int realscreenheight; /* the real screen height */
e6a88a51
KS
67
68#include <setjmp.h>
69
70jmp_buf srbuf;
71
72
73/*
74 * The pointers for the string allocation routines,
75 * there are NSPACE independent areas.
76 * The first holds STRINGSIZE bytes, the next
77 * twice as much, and so on.
78 */
79
c42869b9 80#define NSPACE 25 /* Total number of string spaces */
e6a88a51
KS
81struct strings {
82 char *s_topFree; /* Beginning of this area */
83 char *s_nextFree; /* Next alloctable place here */
84 unsigned s_nleft; /* Number of bytes left here */
85} stringdope[NSPACE];