+enum {
+ ACL_LOOKUP = 0,
+ ACL_READ,
+ ACL_SEEN,
+ ACL_WRITE,
+ ACL_INSERT,
+ ACL_POST,
+ ACL_CREATE,
+ ACL_DELETE,
+ ACL_ADMIN,
+
+ RIGHTSMAX
+};
+
+/* ugly hack to define macro once (for pager+index) */
+#define CHECK_MX_ACL(c,f,s) if(!mx_acl_check(c,f)) \
+ {\
+ mutt_flushinp (); \
+ mutt_error(_("%s not permitted by ACL."), s); \
+ break; \
+ }
+
+typedef struct {
+ FILE *fp; /* pointer to the message data */
+ char *path; /* path to temp file */
+ short magic; /* type of mailbox this message belongs to */
+ short write; /* nonzero if message is open for writing */
+ struct {
+ unsigned read:1;
+ unsigned flagged:1;
+ unsigned replied:1;
+ } flags;
+ time_t received; /* the time at which this message was received */
+} MESSAGE;
+