added hash structure (ignore) to remember list of ignored fields.
[unix-history] / usr / src / usr.bin / mail / def.h
index 1453ccd..39f1bf9 100644 (file)
@@ -1,15 +1,16 @@
 #
 
 #
 
-#include "local.h"
 #include <sys/types.h>
 #include <signal.h>
 #include <stdio.h>
 #include <sys/types.h>
 #include <signal.h>
 #include <stdio.h>
+#include <sgtty.h>
+#include "local.h"
 
 #undef isalpha
 #undef isdigit
 
 /*
 
 #undef isalpha
 #undef isdigit
 
 /*
- * Sccs Id = "@(#)def.h        1.10 %G%";
+ * Sccs Id = "@(#)def.h        2.7 %G%";
  */
 
 /*
  */
 
 /*
 
 #define        ESCAPE          '~'             /* Default escape for sending */
 #define        NMLSIZE         20              /* max names in a message list */
 
 #define        ESCAPE          '~'             /* Default escape for sending */
 #define        NMLSIZE         20              /* max names in a message list */
-#define        PATHSIZE        35              /* Size of pathnames throughout */
+#define        PATHSIZE        100             /* Size of pathnames throughout */
 #define        NAMESIZE        20              /* Max size of user name */
 #define        HSHSIZE         19              /* Hash size for aliases and vars */
 #define        HDRFIELDS       3               /* Number of header fields */
 #define        NAMESIZE        20              /* Max size of user name */
 #define        HSHSIZE         19              /* Hash size for aliases and vars */
 #define        HDRFIELDS       3               /* Number of header fields */
-#define        LINESIZE        512             /* max readable line width */
-#define        SCREEN          18              /* screen size in lines (effective) */
+#define        LINESIZE        BUFSIZ          /* max readable line width */
 #define        STRINGSIZE      ((unsigned) 128)/* Dynamic allocation units */
 #define        MAXARGC         20              /* Maximum list of raw strings */
 #define        NOSTR           ((char *) 0)    /* Null string pointer */
 #define        STRINGSIZE      ((unsigned) 128)/* Dynamic allocation units */
 #define        MAXARGC         20              /* Maximum list of raw strings */
 #define        NOSTR           ((char *) 0)    /* Null string pointer */
@@ -58,16 +58,17 @@ struct message {
  * flag bits.
  */
 
  * flag bits.
  */
 
-#define        MUSED           1               /* entry is used, but this bit isn't */
-#define        MDELETED        2               /* entry has been deleted */
-#define        MSAVED          4               /* entry has been saved */
-#define        MTOUCH          8               /* entry has been noticed */
-#define        MPRESERVE       16              /* keep entry in sys mailbox */
-#define        MMARK           32              /* message is marked! */
-#define        MODIFY          64              /* message has been modified */
-#define        MNEW            128             /* message has never been seen */
-#define        MREAD           256             /* message has been read sometime. */
-#define        MSTATUS         512             /* message status has changed */
+#define        MUSED           (1<<0)          /* entry is used, but this bit isn't */
+#define        MDELETED        (1<<1)          /* entry has been deleted */
+#define        MSAVED          (1<<2)          /* entry has been saved */
+#define        MTOUCH          (1<<3)          /* entry has been noticed */
+#define        MPRESERVE       (1<<4)          /* keep entry in sys mailbox */
+#define        MMARK           (1<<5)          /* message is marked! */
+#define        MODIFY          (1<<6)          /* message has been modified */
+#define        MNEW            (1<<7)          /* message has never been seen */
+#define        MREAD           (1<<8)          /* message has been read sometime. */
+#define        MSTATUS         (1<<9)          /* message status has changed */
+#define        MBOX            (1<<10)         /* Send this to mbox, regardless */
 
 /*
  * Format of the command description table.
 
 /*
  * Format of the command description table.
@@ -100,7 +101,7 @@ struct cmd {
 
 #define        P       040             /* Autoprint dot after command */
 #define        I       0100            /* Interactive command bit */
 
 #define        P       040             /* Autoprint dot after command */
 #define        I       0100            /* Interactive command bit */
-#define        M       0200            /* Illegal from send mode bit */
+#define        M       0200            /* Legal from send mode bit */
 #define        W       0400            /* Illegal when read only bit */
 #define        F       01000           /* Is a conditional command */
 #define        T       02000           /* Is a transparent command */
 #define        W       0400            /* Illegal when read only bit */
 #define        F       01000           /* Is a conditional command */
 #define        T       02000           /* Is a transparent command */
@@ -190,6 +191,14 @@ struct grouphead {
 #define        NOGRP   ((struct grouphead *) 0)/* The nil grouphead pointer */
 #define        NOGE    ((struct group *) 0)    /* The nil group pointer */
 
 #define        NOGRP   ((struct grouphead *) 0)/* The nil grouphead pointer */
 #define        NOGE    ((struct group *) 0)    /* The nil group pointer */
 
+/*
+ * Structure of the hash table of ignored header fields
+ */
+struct ignore {
+       struct ignore   *i_link;        /* Next ignored field in bucket */
+       char            *i_field;       /* This ignored field */
+};
+
 /*
  * Token values returned by the scanner used for argument lists.
  * Also, sizes of scanner-related things.
 /*
  * Token values returned by the scanner used for argument lists.
  * Also, sizes of scanner-related things.
@@ -280,6 +289,7 @@ char        *value();
 char   *vcopy();
 char   *yankword();
 off_t  fsize();
 char   *vcopy();
 char   *yankword();
 off_t  fsize();
+int    (*sigset())();
 struct cmd     *lex();
 struct grouphead       *findgroup();
 struct name    *cat();
 struct cmd     *lex();
 struct grouphead       *findgroup();
 struct name    *cat();