typedef struct header
{
- unsigned int security : 12; /* bit 0-8: flags, bit 9,10: application.
+ unsigned int security : 13; /* bit 0-9: flags
+ bit 10-11: application.
+ bit 12: traditional pgp.
see: mutt_crypt.h pgplib.h, smime.h */
unsigned int mime : 1; /* has a MIME-Version header? */
information hiding. */
-
+/* NOTE: adding flags means HEADER.security bit width needs to be increased */
#define ENCRYPT (1 << 0)
#define SIGN (1 << 1)
#define GOODSIGN (1 << 2)
#define KEYBLOCK (1 << 6) /* KEY too generic? */
#define INLINE (1 << 7)
#define OPPENCRYPT (1 << 8) /* Opportunistic encrypt mode */
+#define AUTOCRYPT (1 << 9) /* TODO: should this include the ENCRYPT and SIGN flags */
-#define APPLICATION_PGP (1 << 9)
-#define APPLICATION_SMIME (1 << 10)
+#define APPLICATION_PGP (1 << 10)
+#define APPLICATION_SMIME (1 << 11)
-#define PGP_TRADITIONAL_CHECKED (1 << 11)
+#define PGP_TRADITIONAL_CHECKED (1 << 12)
#define PGPENCRYPT (APPLICATION_PGP | ENCRYPT)
#define PGPSIGN (APPLICATION_PGP | SIGN)