/*
* 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__))
+#else
+#define NORETURN
+#endif
+
/*
* user context/profile structure
*/
#define SEQMOD (1<<1) /* folder's sequences modifed */
#define ALLOW_NEW (1<<2) /* allow the "new" sequence */
#define OTHERS (1<<3) /* folder has other files */
-#define MODIFIED (1<<4) /* msh in-core folder modified */
-#define FBITS "\020\01READONLY\02SEQMOD\03ALLOW_NEW\04OTHERS\05MODIFIED"
+#define FBITS "\020\01READONLY\02SEQMOD\03ALLOW_NEW\04OTHERS"
/*
* type for holding the sequence set of a message
#define unset_unseen(mp,msgnum) ((mp)->msgstats[(msgnum) - mp->lowoff] &= ~SELECT_UNSEEN)
#define set_unseen(mp,msgnum) ((mp)->msgstats[(msgnum) - mp->lowoff] |= SELECT_UNSEEN)
-/* for msh only */
-#define set_deleted(mp,msgnum) ((mp)->msgstats[(msgnum) - mp->lowoff] |= DELETED)
#define in_sequence(mp,seqnum,msgnum) \
((mp)->msgstats[(msgnum) - mp->lowoff] & (1 << (FFATTRSLOT + seqnum)))
* 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 MS_UNKNOWN 1 /* type not known yet */
#define MS_MBOX 2 /* Unix-style "from" lines */
#define MS_MMDF 3 /* string mmdlm2 */
-#define MS_MSH 4 /* whacko msh */
extern int msg_count; /* m_getfld() indicators */
extern int msg_style; /* .. */
* on any system.
*/
extern char *buildmimeproc;
+extern char *backup_prefix;
+extern char *altmsglink;
extern char *catproc;
extern char *components;
extern char *context;
extern char *mhlreply;
extern char *moreproc;
extern char *msgprot;
-extern char *mshproc;
extern char *nmhaccessftp;
extern char *nmhstorage;
extern char *nmhcache;
extern char *replgroupcomps;
extern char *rmfproc;
extern char *rmmproc;
+extern char *sendmail;
extern char *sendproc;
extern char *showmimeproc;
extern char *showproc;
extern char *usequence;
extern char *version_num;
extern char *version_str;
-extern char *vmhproc;
extern char *whatnowproc;
extern char *whomproc;
+extern void (*done) (int) NORETURN;
+
#include <h/prototypes.h>