X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=lib%2Fnotmuch-private.h;h=e46df9a82d719ea4c0e6442dee4f3767203e6a19;hb=a6b0772b60d9191fcc291358eec3d78bfea31f1c;hp=94fc54d76913a1f20e6d229f2c0d6d0ed2fa300a;hpb=0a7181dd163babefaefa9988ed51dc66c892eb3e;p=notmuch diff --git a/lib/notmuch-private.h b/lib/notmuch-private.h index 94fc54d7..e46df9a8 100644 --- a/lib/notmuch-private.h +++ b/lib/notmuch-private.h @@ -136,6 +136,7 @@ typedef enum _notmuch_private_status { /* Then add our own private values. */ NOTMUCH_PRIVATE_STATUS_TERM_TOO_LONG = NOTMUCH_STATUS_LAST_STATUS, NOTMUCH_PRIVATE_STATUS_NO_DOCUMENT_FOUND, + NOTMUCH_PRIVATE_STATUS_BAD_PREFIX, NOTMUCH_PRIVATE_STATUS_LAST_STATUS } notmuch_private_status_t; @@ -181,6 +182,11 @@ typedef struct _notmuch_doc_id_set notmuch_doc_id_set_t; const char * _find_prefix (const char *name); +/* Lookup a prefix value by name, including possibly user defined prefixes + */ +const char * +_notmuch_database_prefix (notmuch_database_t *notmuch, const char *name); + char * _notmuch_message_id_compressed (void *ctx, const char *message_id); @@ -487,6 +493,9 @@ _notmuch_message_list_add_message (notmuch_message_list_t *list, notmuch_messages_t * _notmuch_messages_create (notmuch_message_list_t *list); +bool +_notmuch_messages_has_next (notmuch_messages_t *messages); + /* query.cc */ bool @@ -530,6 +539,20 @@ _notmuch_query_count_documents (notmuch_query_t *query, char * _notmuch_message_id_parse (void *ctx, const char *message_id, const char **next); +/* Parse a message-id, discarding leading and trailing whitespace, and + * '<' and '>' delimiters. + * + * Apply a probably-stricter-than RFC definition of what is allowed in + * a message-id. In particular, forbid whitespace. + * + * Returns a newly talloc'ed string belonging to 'ctx'. + * + * Returns NULL if there is any error parsing the message-id. + */ + +char * +_notmuch_message_id_parse_strict (void *ctx, const char *message_id); + /* message.cc */ @@ -629,6 +652,11 @@ _notmuch_string_map_iterator_value (notmuch_string_map_iterator_t *iterator); void _notmuch_string_map_iterator_destroy (notmuch_string_map_iterator_t *iterator); +/* Create an iterator for user headers. Destroy with + * _notmuch_string_map_iterator_destroy. Actually in database.cc*/ +notmuch_string_map_iterator_t * +_notmuch_database_user_headers (notmuch_database_t *notmuch); + /* tags.c */ notmuch_tags_t * @@ -659,6 +687,10 @@ struct _notmuch_indexopts { _notmuch_crypto_t crypto; }; +#define CONFIG_HEADER_PREFIX "index.header." + +#define EMPTY_STRING(s) ((s)[0] == '\0') + NOTMUCH_END_DECLS #ifdef __cplusplus