386BSD 0.1 development
[unix-history] / usr / src / usr.bin / mail / glob.h
index d10fac3..314c1f4 100644 (file)
@@ -1,59 +1,84 @@
 /*
 /*
- * A bunch of global variable declarations lie herein.
- * def.h must be included first.
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *     This product includes software developed by the University of
+ *     California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *     @(#)glob.h      5.20 (Berkeley) 6/25/90
  */
 
 /*
  */
 
 /*
- * Sccs Id = "@(#)glob.h       2.2 %G%";
+ * A bunch of global variable declarations lie herein.
+ * def.h must be included first.
  */
 
 int    msgCount;                       /* Count of messages read in */
  */
 
 int    msgCount;                       /* Count of messages read in */
-int    mypid;                          /* Current process id */
 int    rcvmode;                        /* True if receiving mail */
 int    sawcom;                         /* Set after first command */
 int    rcvmode;                        /* True if receiving mail */
 int    sawcom;                         /* Set after first command */
-int    hflag;                          /* Sequence number for network -h */
-char   *rflag;                         /* -r address for network */
 char   *Tflag;                         /* -T temp file for netnews */
 char   *Tflag;                         /* -T temp file for netnews */
-char   nosrc;                          /* Don't source /usr/lib/Mail.rc */
-char   noheader;                       /* Suprress initial header listing */
-int    selfsent;                       /* User sent self something */
 int    senderr;                        /* An error while checking */
 int    edit;                           /* Indicates editing a file */
 int    readonly;                       /* Will be unable to rewrite file */
 int    noreset;                        /* String resets suspended */
 int    sourcing;                       /* Currently reading variant file */
 int    senderr;                        /* An error while checking */
 int    edit;                           /* Indicates editing a file */
 int    readonly;                       /* Will be unable to rewrite file */
 int    noreset;                        /* String resets suspended */
 int    sourcing;                       /* Currently reading variant file */
-int    shudann;                        /* Print headers when possible */
+int    loading;                        /* Loading user definitions */
 int    cond;                           /* Current state of conditional exc. */
 FILE   *itf;                           /* Input temp file buffer */
 FILE   *otf;                           /* Output temp file buffer */
 int    cond;                           /* Current state of conditional exc. */
 FILE   *itf;                           /* Input temp file buffer */
 FILE   *otf;                           /* Output temp file buffer */
-FILE   *pipef;                         /* Pipe file we have opened */
 int    image;                          /* File descriptor for image of msg */
 FILE   *input;                         /* Current command input file */
 int    image;                          /* File descriptor for image of msg */
 FILE   *input;                         /* Current command input file */
-char   *editfile;                      /* Name of file being edited */
-char   *sflag;                         /* Subject given from non tty */
-int    outtty;                         /* True if standard output a tty */
-int    intty;                          /* True if standard input a tty */
-char   mbox[PATHSIZE];                 /* Name of mailbox file */
-char   *mailname;                      /* Name of system mailbox */
-char   mailspace[PATHSIZE];            /* Space norm alloc'd for name */
-int    uid;                            /* The invoker's user id */
-char   mailrc[PATHSIZE];               /* Name of startup file */
-char   deadletter[PATHSIZE];           /* Name of #/dead.letter */
-char   homedir[PATHSIZE];              /* Path name of home directory */
-char   myname[PATHSIZE];               /* My login id */
+char   mailname[PATHSIZE];             /* Name of current file */
+char   prevfile[PATHSIZE];             /* Name of previous file */
+char   *homedir;                       /* Path name of home directory */
+char   *myname;                        /* My login name */
 off_t  mailsize;                       /* Size of system mailbox */
 int    lexnumber;                      /* Number of TNUMBER from scan() */
 char   lexstring[STRINGLEN];           /* String from TSTRING, scan() */
 int    regretp;                        /* Pointer to TOS of regret tokens */
 int    regretstack[REGDEP];            /* Stack of regretted tokens */
 off_t  mailsize;                       /* Size of system mailbox */
 int    lexnumber;                      /* Number of TNUMBER from scan() */
 char   lexstring[STRINGLEN];           /* String from TSTRING, scan() */
 int    regretp;                        /* Pointer to TOS of regret tokens */
 int    regretstack[REGDEP];            /* Stack of regretted tokens */
-char   *stringstack[REGDEP];           /* Stack of regretted strings */
+char   *string_stack[REGDEP];          /* Stack of regretted strings */
 int    numberstack[REGDEP];            /* Stack of regretted numbers */
 struct message *dot;                   /* Pointer to current message */
 struct message *message;               /* The actual message structure */
 struct var     *variables[HSHSIZE];    /* Pointer to active var list */
 struct grouphead       *groups[HSHSIZE];/* Pointer to active groups */
 int    numberstack[REGDEP];            /* Stack of regretted numbers */
 struct message *dot;                   /* Pointer to current message */
 struct message *message;               /* The actual message structure */
 struct var     *variables[HSHSIZE];    /* Pointer to active var list */
 struct grouphead       *groups[HSHSIZE];/* Pointer to active groups */
+struct ignoretab       ignore[2];      /* ignored and retained fields
+                                          0 is ignore, 1 is retain */
+struct ignoretab       saveignore[2];  /* ignored and retained fields
+                                          on save to folder */
+struct ignoretab       ignoreall[2];   /* special, ignore all headers */
+char   **altnames;                     /* List of alternate names for user */
 int    debug;                          /* Debug flag set */
 int    debug;                          /* Debug flag set */
-int    rmail;                          /* Being called as rmail */
+int    screenwidth;                    /* Screen width, or best guess */
+int    screenheight;                   /* Screen height, or best guess,
+                                          for "header" command */
+int    realscreenheight;               /* the real screen height */
 
 #include <setjmp.h>
 
 
 #include <setjmp.h>
 
@@ -67,7 +92,7 @@ jmp_buf       srbuf;
  * twice as much, and so on.
  */
 
  * twice as much, and so on.
  */
 
-#define        NSPACE                        /* Total number of string spaces */
+#define        NSPACE  25                      /* Total number of string spaces */
 struct strings {
        char    *s_topFree;             /* Beginning of this area */
        char    *s_nextFree;            /* Next alloctable place here */
 struct strings {
        char    *s_topFree;             /* Beginning of this area */
        char    *s_nextFree;            /* Next alloctable place here */