/*
* type for holding the sequence set of a message
*/
-typedef unsigned int seqset_t;
-
-/*
- * Determine the number of user defined sequences we
- * can have. The first 5 sequence flags are for
- * internal nmh message flags.
- */
-#define NUMATTRS ((sizeof(seqset_t) * Nbby) - 5)
+typedef unsigned long seqset_t;
/*
* first free slot for user defined sequences
*/
#define FFATTRSLOT 5
+/*
+ * Determine the number of user defined sequences we
+ * can have. The first FFATTRSLOT sequence flags are for
+ * internal nmh message flags.
+ */
+#define NUMATTRS ((sizeof(seqset_t) * Nbby) - FFATTRSLOT)
+
/*
* internal messages attributes (sequences)
*/
* in a particular sequence.
*/
seqset_t *msgstats; /* msg status */
+
+ /*
+ * A FILE handle containing an open filehandle for the sequence file
+ * for this folder. If non-NULL, use it when the sequence file is
+ * written.
+ */
+ FILE *seqhandle;
+
+ /*
+ * The name of the public sequence file; required by lkfclose()
+ */
+ char *seqname;
};
/*
#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)))
+ ((mp)->msgstats[(msgnum) - mp->lowoff] & ((seqset_t)1 << (FFATTRSLOT + seqnum)))
#define clear_sequence(mp,seqnum,msgnum) \
- ((mp)->msgstats[(msgnum) - mp->lowoff] &= ~(1 << (FFATTRSLOT + seqnum)))
+ ((mp)->msgstats[(msgnum) - mp->lowoff] &= ~((seqset_t)1 << (FFATTRSLOT + seqnum)))
#define add_sequence(mp,seqnum,msgnum) \
- ((mp)->msgstats[(msgnum) - mp->lowoff] |= (1 << (FFATTRSLOT + seqnum)))
+ ((mp)->msgstats[(msgnum) - mp->lowoff] |= ((seqset_t)1 << (FFATTRSLOT + seqnum)))
#define is_seq_private(mp,seqnum) \
- ((mp)->attrstats & (1 << (FFATTRSLOT + seqnum)))
+ ((mp)->attrstats & ((seqset_t)1 << (FFATTRSLOT + seqnum)))
#define make_seq_public(mp,seqnum) \
- ((mp)->attrstats &= ~(1 << (FFATTRSLOT + seqnum)))
+ ((mp)->attrstats &= ~((seqset_t)1 << (FFATTRSLOT + seqnum)))
#define make_seq_private(mp,seqnum) \
- ((mp)->attrstats |= (1 << (FFATTRSLOT + seqnum)))
+ ((mp)->attrstats |= ((seqset_t)1 << (FFATTRSLOT + seqnum)))
#define make_all_public(mp) \
((mp)->attrstats = 0)
extern char *forwcomps;
extern char *inbox;
extern char *incproc;
-extern char *installproc;
extern char *lproc;
extern char *mailproc;
extern char *mh_defaults;
extern char *msgprot;
extern char *mshproc;
extern char *nmhaccessftp;
+extern char *nmhaccessurl;
extern char *nmhstorage;
extern char *nmhcache;
extern char *nmhprivcache;