]> git.notmuchmail.org Git - notmuch/blobdiff - lib/notmuch-private.h
lib: Add GCC visibility(hidden) pragmas to private header files.
[notmuch] / lib / notmuch-private.h
index f9774a4853e6dd561cbefe60bb0beaa44b852c12..5b32f84a75ff4c316fa64e7b278dc973a4d4c851 100644 (file)
@@ -48,6 +48,8 @@ NOTMUCH_BEGIN_DECLS
 
 #include "xutil.h"
 
+#pragma GCC visibility push(hidden)
+
 #ifdef DEBUG
 # define DEBUG_DATABASE_SANITY 1
 # define DEBUG_QUERY 1
@@ -108,6 +110,16 @@ typedef enum {
  * programmatically. */
 #define NOTMUCH_TERM_MAX 245
 
+#define NOTMUCH_METADATA_THREAD_ID_PREFIX "thread_id_"
+
+/* For message IDs we have to be even more restrictive. Beyond fitting
+ * into the term limit, we also use message IDs to construct
+ * metadata-key values. And the documentation says that these should
+ * be restricted to about 200 characters. (The actual limit for the
+ * chert backend at least is 252.)
+ */
+#define NOTMUCH_MESSAGE_ID_MAX (200 - sizeof (NOTMUCH_METADATA_THREAD_ID_PREFIX))
+
 typedef enum _notmuch_private_status {
     /* First, copy all the public status values. */
     NOTMUCH_PRIVATE_STATUS_SUCCESS = NOTMUCH_STATUS_SUCCESS,
@@ -432,6 +444,8 @@ _notmuch_tags_add_tag (notmuch_tags_t *tags, const char *tag);
 void
 _notmuch_tags_prepare_iterator (notmuch_tags_t *tags);
 
+#pragma GCC visibility pop
+
 NOTMUCH_END_DECLS
 
 #endif