-#define DELETED (1) /* deleted */
-#define SELECTED (2) /* selected for use */
-#define SELECT_EMPTY (3) /* "new" message */
-#define SELECT_UNSEEN (4) /* inc/show "unseen" */
-
-#define MBITS "\020\01EXISTS\02DELETED\03SELECTED\04NEW\05UNSEEN"
-
-/*
- * type for holding the sequence set of a message
- */
+#define SELECTED (1) /* selected for use */
+#define SELECT_EMPTY (2) /* "new" message */
+#define SELECT_UNSEEN (3) /* inc/show "unseen" */
+
+#define MBITS "\020\01EXISTS\02SELECTED\03NEW\04UNSEEN"
+
+/* A vector of bits for tracking the sequence membership of a single
+ * message. Do not access the struct members; use vector.c.
+ * Do not move or copy this struct as it may contain a pointer to
+ * itself; use bvector_copy(). */
+struct bvector {
+ unsigned long *bits;
+ size_t maxsize;
+ unsigned long tiny[2]; /* Default fixed-size storage for bits. */
+};