+/*
+ * type for holding the sequence set of a message
+ */
+typedef struct bvector *bvector_t;
+
+bvector_t bvector_create (size_t /* initial size in bits, can be 0 */);
+void bvector_copy (bvector_t, bvector_t);
+void bvector_free (bvector_t);
+void bvector_clear (bvector_t, size_t);
+void bvector_clear_all (bvector_t);
+void bvector_set (bvector_t, size_t);
+unsigned int bvector_at (bvector_t, size_t);
+const unsigned long *bvector_bits (bvector_t);
+size_t bvector_maxsize (bvector_t);
+
+typedef struct svector *svector_t;
+
+svector_t svector_create (size_t);
+void svector_free (svector_t);
+char *svector_push_back (svector_t, char *);
+char *svector_at (svector_t, size_t);
+char **svector_find(svector_t, const char *);
+char **svector_strs (svector_t);
+size_t svector_size (svector_t);
+
+typedef struct ivector *ivector_t;
+
+ivector_t ivector_create (size_t);
+void ivector_free (ivector_t);
+int ivector_push_back (ivector_t, int);
+int ivector_at (ivector_t, size_t);
+int *ivector_atp (ivector_t, size_t);
+size_t ivector_size (ivector_t);
+