X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/8eabc0badcbff3355d51bdc409bdbc262910d330..c51d837b9bda943c5e0235b92ca3b98803185e17:/h/mh.h diff --git a/h/mh.h b/h/mh.h index ebd124d1..bc3766e4 100644 --- a/h/mh.h +++ b/h/mh.h @@ -1,7 +1,7 @@ /* mh.h -- main header file for all of nmh */ -#include +#include "nmh.h" /* It's undefined behaviour in C99 to convert from a function pointer to * a data-object pointer, e.g. void pointer. gcc's -pedantic warns of @@ -267,45 +267,7 @@ extern struct swit anoyes[]; /* standard yes/no switches */ #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. */ -}; -typedef struct bvector *bvector_t; - -bvector_t bvector_create (void); -void bvector_init(struct bvector *bv) NONNULL(1); -void bvector_copy (bvector_t, bvector_t) NONNULL(1, 2); -void bvector_free (bvector_t) NONNULL(1); -void bvector_fini(struct bvector *bv) NONNULL(1); -void bvector_clear (bvector_t, size_t) NONNULL(1); -void bvector_clear_all (bvector_t) NONNULL(1); -void bvector_set (bvector_t, size_t) NONNULL(1); -unsigned int bvector_at (bvector_t, size_t) NONNULL(1) PURE; -unsigned long bvector_first_bits (bvector_t) NONNULL(1) PURE; - -typedef struct svector *svector_t; - -svector_t svector_create (size_t); -void svector_free (svector_t) NONNULL(1); -char *svector_push_back (svector_t, char *) NONNULL(1); -char *svector_at (svector_t, size_t) NONNULL(1); -char **svector_find(svector_t, const char *) NONNULL(1) PURE; -char **svector_strs (svector_t) NONNULL(1) PURE; -size_t svector_size (svector_t) NONNULL(1) PURE; - -typedef struct ivector *ivector_t; - -ivector_t ivector_create (size_t); -void ivector_free (ivector_t) NONNULL(1); -int ivector_push_back (ivector_t, int) NONNULL(1); -int ivector_at (ivector_t, size_t) NONNULL(1); -int *ivector_atp (ivector_t, size_t) NONNULL(1); +#include "sbr/vector.h" /* * Primary structure of folder/message information @@ -574,4 +536,4 @@ extern char *version_str; extern char *whatnowproc; extern char *whomproc; -#include +#include "prototypes.h"