X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=lib%2Fnotmuch-private.h;h=012ad25c42cd3845588f9e2cee0b9d4a631900f7;hp=36cc12b0df123c7a0eb79c0d81f8b40db9650d79;hb=1e5b4b72c928d2ed8243be2b4edc20e60e9bd158;hpb=f5db7ad7d243785c274a99734c681e69d13313d0 diff --git a/lib/notmuch-private.h b/lib/notmuch-private.h index 36cc12b0..012ad25c 100644 --- a/lib/notmuch-private.h +++ b/lib/notmuch-private.h @@ -63,6 +63,17 @@ NOTMUCH_BEGIN_DECLS #define STRNCMP_LITERAL(var, literal) \ strncmp ((var), (literal), sizeof (literal) - 1) +/* Robust bit test/set/reset macros */ +#define NOTMUCH_TEST_BIT(val, bit) \ + (((bit) < 0 || (bit) >= CHAR_BIT * sizeof (unsigned long long)) ? 0 \ + : !!((val) & (1ull << (bit)))) +#define NOTMUCH_SET_BIT(valp, bit) \ + (((bit) < 0 || (bit) >= CHAR_BIT * sizeof (unsigned long long)) ? *(valp) \ + : (*(valp) |= (1ull << (bit)))) +#define NOTMUCH_CLEAR_BIT(valp, bit) \ + (((bit) < 0 || (bit) >= CHAR_BIT * sizeof (unsigned long long)) ? *(valp) \ + : (*(valp) &= ~(1ull << (bit)))) + #define unused(x) x __attribute__ ((unused)) #ifdef __cplusplus @@ -297,6 +308,10 @@ _notmuch_message_sync (notmuch_message_t *message); notmuch_status_t _notmuch_message_delete (notmuch_message_t *message); +notmuch_private_status_t +_notmuch_message_initialize_ghost (notmuch_message_t *message, + const char *thread_id); + void _notmuch_message_close (notmuch_message_t *message);