Changed msg_style and msg_delim to be file static to m_getfld.c
[mmh] / h / mh.h
diff --git a/h/mh.h b/h/mh.h
index 130bfde..f29379e 100644 (file)
--- a/h/mh.h
+++ b/h/mh.h
@@ -1,8 +1,6 @@
 
 /*
  * mh.h -- main header file for all of nmh
- *
- * $Id$
  */
 
 #include <h/nmh.h>
 #endif
 typedef unsigned char  boolean;  /* not int so we can pack in a structure */
 
+/* If we're using gcc then give it some information about
+ * functions that abort.
+ */
+#if __GNUC__ > 2
+#define NORETURN __attribute__((__noreturn__))
+#define NMH_UNUSED(i) (void) i
+#else
+#define NORETURN
+#define NMH_UNUSED(i) i
+#endif
+
 /*
  * user context/profile structure
  */
@@ -214,7 +223,15 @@ struct msgs {
  * m_getfld() message parsing
  */
 
-#define NAMESZ  128            /* Limit on component name size     */
+#define NAMESZ  999            /* Limit on component name size.
+                                  RFC 2822 limits line lengths to
+                                  998 characters, so a header name
+                                  can be at most that long.
+                                  m_getfld limits header names to 2
+                                  less than NAMESZ, which is fine,
+                                  because header names must be
+                                  followed by a colon.  Add one for
+                                  terminating NULL. */
 
 #define LENERR  (-2)           /* Name too long error from getfld  */
 #define FMTERR  (-3)           /* Message Format error             */
@@ -235,8 +252,6 @@ struct msgs {
 #define        MS_MSH          4       /* whacko msh                 */
 
 extern int msg_count;          /* m_getfld() indicators */
-extern int msg_style;          /*  .. */
-extern char *msg_delim;                /*  .. */
 
 #define        NOUSE   0               /* draft being re-used */
 
@@ -246,6 +261,11 @@ extern char *msg_delim;            /*  .. */
 
 #define OUTPUTLINELEN  72      /* default line length for headers */
 
+#define LINK   "@"             /* Name of link to file to which you are */
+                               /* replying. */
+
+#define NMH_ATTACH_HEADER "Nmh-Attachment"  /* Default header for -attach */
+
 /*
  * miscellaneous macros
  */
@@ -276,6 +296,13 @@ extern char *defpath;              /* pathname of user's profile      */
 extern char *ctxpath;          /* pathname of user's context      */
 extern struct node *m_defs;    /* list of profile/context entries */
 
+/* What style to use for generated Message-ID and Content-ID header
+   fields.  The localname style is pid.time@localname, where time is
+   in seconds.  The random style replaces the localname with some
+   (pseudo)random bytes and uses microsecond-resolution time. */
+int save_message_id_style (const char *);
+char *message_id (time_t, int);
+
 /*
  * These standard strings are defined in config.c.  They are the
  * only system-dependent parameters in nmh, and thus by redefining
@@ -292,9 +319,9 @@ extern char *defaultfolder;
 extern char *digestcomps;
 extern char *distcomps;
 extern char *draft;
-extern char *faceproc;
 extern char *fileproc;
 extern char *foldprot;
+extern char *formatproc;
 extern char *forwcomps;
 extern char *inbox;
 extern char *incproc;
@@ -324,7 +351,6 @@ extern char *rcvdistcomps;
 extern char *rcvstoreproc;
 extern char *replcomps;
 extern char *replgroupcomps;
-extern char *rmfproc;
 extern char *rmmproc;
 extern char *sendproc;
 extern char *showmimeproc;
@@ -336,5 +362,7 @@ extern char *vmhproc;
 extern char *whatnowproc;
 extern char *whomproc;
 
+extern void (*done) (int) NORETURN;
+
 #include <h/prototypes.h>