rationalized handling of child processes, cleaned up mail1 some more
[unix-history] / usr / src / usr.bin / mail / glob.h
index 6a56505..a4dc208 100644 (file)
@@ -1,40 +1,49 @@
 /*
 /*
- * 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 are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley.  The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *     @(#)glob.h      5.15 (Berkeley) %G%
  */
 
 /*
  */
 
 /*
- * Sccs Id = "@(#)glob.h       1.1 %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   nosrc;                          /* Don't source /usr/lib/Mail.rc */
-int    selfsent;                       /* User sent self something */
+char   *Tflag;                         /* -T temp file for netnews */
 int    senderr;                        /* An error while checking */
 int    edit;                           /* Indicates editing a 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    noreset;                        /* String resets suspended */
 int    sourcing;                       /* Currently reading variant file */
+int    loading;                        /* Loading user definitions */
+int    cond;                           /* Current state of conditional exc. */
 FILE   *itf;                           /* Input temp file buffer */
 FILE   *otf;                           /* Output temp file buffer */
 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[9];                      /* My login id */
+char   mailname[PATHSIZE];             /* Name of current file */
+char   prevfile[PATHSIZE];             /* Name of previous file */
+char   *mailrc;                        /* Name of startup file */
+char   *deadletter;                    /* Name of #/dead.letter */
+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() */
 off_t  mailsize;                       /* Size of system mailbox */
 int    lexnumber;                      /* Number of TNUMBER from scan() */
 char   lexstring[STRINGLEN];           /* String from TSTRING, scan() */
@@ -46,8 +55,17 @@ 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 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>
 
@@ -61,7 +79,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 */