Release to Heidi Stettner
[unix-history] / usr / src / usr.bin / mail / def.h
index 8f948fe..e42788e 100644 (file)
@@ -9,7 +9,7 @@
 #undef isdigit
 
 /*
 #undef isdigit
 
 /*
- * Sccs Id = "@(#)def.h        1.3 %G%";
+ * Sccs Id = "@(#)def.h        2.1 %G%";
  */
 
 /*
  */
 
 /*
@@ -58,13 +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        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.
@@ -99,6 +103,9 @@ struct cmd {
 #define        I       0100            /* Interactive command bit */
 #define        M       0200            /* Illegal from send mode bit */
 #define        W       0400            /* Illegal when read only bit */
 #define        I       0100            /* Interactive command bit */
 #define        M       0200            /* Illegal 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        R       04000           /* Cannot be called from collect */
 
 /*
  * Oft-used mask values
 
 /*
  * Oft-used mask values
@@ -204,6 +211,15 @@ struct grouphead {
 #define        REGDEP  2                       /* Maximum regret depth. */
 #define        STRINGLEN       64              /* Maximum length of string token */
 
 #define        REGDEP  2                       /* Maximum regret depth. */
 #define        STRINGLEN       64              /* Maximum length of string token */
 
+/*
+ * Constants for conditional commands.  These describe whether
+ * we should be executing stuff or not.
+ */
+
+#define        CANY            0               /* Execute in send or receive mode */
+#define        CRCV            1               /* Execute in receive mode only */
+#define        CSEND           2               /* Execute in send mode only */
+
 /*
  * Kludges to handle the change from setexit / reset to setjmp / longjmp
  */
 /*
  * Kludges to handle the change from setexit / reset to setjmp / longjmp
  */
@@ -229,6 +245,7 @@ FILE        *collect();
 FILE   *infix();
 FILE   *mesedit();
 FILE   *mespipe();
 FILE   *infix();
 FILE   *mesedit();
 FILE   *mespipe();
+FILE   *popen();
 FILE   *setinput();
 char   **unpack();
 char   *addto();
 FILE   *setinput();
 char   **unpack();
 char   *addto();
@@ -241,6 +258,7 @@ char        *expand();
 char   *gets();
 char   *hfield();
 char   *index();
 char   *gets();
 char   *hfield();
 char   *index();
+char   *name1();
 char   *nameof();
 char   *nextword();
 char   *getenv();
 char   *nameof();
 char   *nextword();
 char   *getenv();
@@ -249,6 +267,7 @@ char        *hcontents();
 char   *netmap();
 char   *netname();
 char   *readtty();
 char   *netmap();
 char   *netname();
 char   *readtty();
+char   *reedit();
 char   *rename();
 char   *revarpa();
 char   *rindex();
 char   *rename();
 char   *revarpa();
 char   *rindex();
@@ -256,11 +275,13 @@ char      *rpair();
 char   *salloc();
 char   *savestr();
 char   *savestr();
 char   *salloc();
 char   *savestr();
 char   *savestr();
+char   *skin();
 char   *snarf();
 char   *value();
 char   *vcopy();
 char   *yankword();
 off_t  fsize();
 char   *snarf();
 char   *value();
 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();