/*
* 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
*/
* 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 */
#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
*/
extern char *faceproc;
extern char *fileproc;
extern char *foldprot;
+extern char *formatproc;
extern char *forwcomps;
extern char *inbox;
extern char *incproc;
extern char *rcvstoreproc;
extern char *replcomps;
extern char *replgroupcomps;
-extern char *rmfproc;
extern char *rmmproc;
extern char *sendproc;
extern char *showmimeproc;
extern char *whatnowproc;
extern char *whomproc;
-extern int (*done) (int);
+extern void (*done) (int) NORETURN;
#include <h/prototypes.h>