X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;ds=sidebyside;f=notmuch-private.h;h=53ea75fa4d1c7bb09f2f08af50afd821b3ab0c5d;hb=3b8e3ab666a54407f9596a53c66ba8ce623ac91d;hp=4910311b3ea95a231b6ba994a7df03f93ccb9612;hpb=1b5d8984c678add2ab5d1353b94a8229421269df;p=notmuch diff --git a/notmuch-private.h b/notmuch-private.h index 4910311b..53ea75fa 100644 --- a/notmuch-private.h +++ b/notmuch-private.h @@ -21,15 +21,15 @@ #ifndef NOTMUCH_PRIVATE_H #define NOTMUCH_PRIVATE_H -#include "notmuch.h" - -NOTMUCH_BEGIN_DECLS - #ifndef _GNU_SOURCE #define _GNU_SOURCE /* For getline */ #endif - #include + +#include "notmuch.h" + +NOTMUCH_BEGIN_DECLS + #include #include #include @@ -40,11 +40,14 @@ NOTMUCH_BEGIN_DECLS #include #include #include +#include #include #include "xutil.h" +#define COMPILE_TIME_ASSERT(pred) ((void)sizeof(char[1 - 2*!(pred)])) + /* Thanks to Andrew Tridgell's (SAMBA's) talloc for this definition of * unlikely. The talloc source code comes to us via the GNU LGPL v. 3. */ @@ -67,13 +70,9 @@ NOTMUCH_BEGIN_DECLS #endif #endif -/* These value numbers are chosen to be sup compatible (for now at - * least). */ - typedef enum { - NOTMUCH_VALUE_MESSAGE_ID = 0, - NOTMUCH_VALUE_THREAD = 1, - NOTMUCH_VALUE_DATE = 2 + NOTMUCH_VALUE_TIMESTAMP = 0, + NOTMUCH_VALUE_MESSAGE_ID } notmuch_value_t; /* Xapian (with flint backend) complains if we provide a term longer @@ -84,6 +83,7 @@ typedef enum { typedef enum _notmuch_private_status { /* First, copy all the public status values. */ NOTMUCH_PRIVATE_STATUS_SUCCESS = NOTMUCH_STATUS_SUCCESS, + NOTMUCH_PRIVATE_STATUS_OUT_OF_MEMORY = NOTMUCH_STATUS_OUT_OF_MEMORY, NOTMUCH_PRIVATE_STATUS_XAPIAN_EXCEPTION = NOTMUCH_STATUS_XAPIAN_EXCEPTION, NOTMUCH_PRIVATE_STATUS_FILE_NOT_EMAIL = NOTMUCH_STATUS_FILE_NOT_EMAIL, NOTMUCH_PRIVATE_STATUS_NULL_POINTER = NOTMUCH_STATUS_NULL_POINTER, @@ -91,6 +91,7 @@ typedef enum _notmuch_private_status { /* Then add our own private values. */ NOTMUCH_PRIVATE_STATUS_TERM_TOO_LONG, + NOTMUCH_PRIVATE_STATUS_NO_DOCUMENT_FOUND, NOTMUCH_PRIVATE_STATUS_LAST_STATUS } notmuch_private_status_t; @@ -100,24 +101,14 @@ typedef enum _notmuch_private_status { notmuch_message_t * _notmuch_message_create (const void *talloc_owner, notmuch_database_t *notmuch, - unsigned int doc_id); + unsigned int doc_id, + notmuch_private_status_t *status); notmuch_message_t * _notmuch_message_create_for_message_id (const void *talloc_owner, notmuch_database_t *notmuch, - const char *message_id); - -/* XXX: Here temporarily during code movement only. */ -/* "128 bits of thread-id ought to be enough for anybody" */ -#define NOTMUCH_THREAD_ID_BITS 128 -#define NOTMUCH_THREAD_ID_DIGITS (NOTMUCH_THREAD_ID_BITS / 4) -typedef struct _thread_id { - char str[NOTMUCH_THREAD_ID_DIGITS + 1]; -} thread_id_t; - - -void -thread_id_generate (thread_id_t *thread_id); + const char *message_id, + notmuch_status_t *status); /* Lookup a prefix value by name. * @@ -229,15 +220,9 @@ notmuch_parse_date (const char *str, int *tz_offset); /* sha1.c */ -/* Create a hexadecimal string version of the SHA-1 digest of the - * named file. - * - * This function returns a newly allocated string which the caller - * should free() when finished. - * - * If any error occurs while reading the file, (permission denied, - * file not found, etc.), this function returns NULL. - */ +char * +notmuch_sha1_of_string (const char *str); + char * notmuch_sha1_of_file (const char *filename);