]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-private.h
Implement notmuch_tags_t on top of new notmuch_terms_t
[notmuch] / notmuch-private.h
index 8b317c2d8a3b9b59189de6982330773d6a7ff17e..602d1a9ece954905c468934e25e8563bbb35f3db 100644 (file)
 #ifndef NOTMUCH_PRIVATE_H
 #define NOTMUCH_PRIVATE_H
 
-#include "notmuch.h"
-
-NOTMUCH_BEGIN_DECLS
-
 #ifndef _GNU_SOURCE
 #define _GNU_SOURCE /* For getline */
 #endif
-
 #include <stdio.h>
+
+#include "notmuch.h"
+
+NOTMUCH_BEGIN_DECLS
+
 #include <stdlib.h>
 #include <stdarg.h>
 #include <sys/types.h>
@@ -45,6 +45,8 @@ NOTMUCH_BEGIN_DECLS
 
 #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 +69,10 @@ 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_THREAD
 } notmuch_value_t;
 
 /* Xapian (with flint backend) complains if we provide a term longer
@@ -91,6 +90,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;
@@ -217,15 +217,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);