X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-client.h;h=f60f540626d94df074f0294d439892b52bf03b46;hp=d1b7801784f40850fe419b8a374b161694236e74;hb=4c79a2dabe38ac72eb9eb21620f2ffca5f1885c6;hpb=33382c2b5ba2537952a60ea378feff36961e4713 diff --git a/notmuch-client.h b/notmuch-client.h index d1b78017..f60f5406 100644 --- a/notmuch-client.h +++ b/notmuch-client.h @@ -49,9 +49,11 @@ #include #include #include +#include #include "talloc-extra.h" #include "crypto.h" +#include "repair.h" #define unused(x) x ## _unused __attribute__ ((unused)) @@ -169,46 +171,46 @@ void notmuch_exit_if_unsupported_format (void); int -notmuch_count_command (notmuch_config_t *config, int argc, char *argv[]); +notmuch_count_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_dump_command (notmuch_config_t *config, int argc, char *argv[]); +notmuch_dump_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_new_command (notmuch_config_t *config, int argc, char *argv[]); +notmuch_new_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_insert_command (notmuch_config_t *config, int argc, char *argv[]); +notmuch_insert_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_reindex_command (notmuch_config_t *config, int argc, char *argv[]); +notmuch_reindex_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_reply_command (notmuch_config_t *config, int argc, char *argv[]); +notmuch_reply_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_restore_command (notmuch_config_t *config, int argc, char *argv[]); +notmuch_restore_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_search_command (notmuch_config_t *config, int argc, char *argv[]); +notmuch_search_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_address_command (notmuch_config_t *config, int argc, char *argv[]); +notmuch_address_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_setup_command (notmuch_config_t *config, int argc, char *argv[]); +notmuch_setup_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_show_command (notmuch_config_t *config, int argc, char *argv[]); +notmuch_show_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_tag_command (notmuch_config_t *config, int argc, char *argv[]); +notmuch_tag_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_config_command (notmuch_config_t *config, int argc, char *argv[]); +notmuch_config_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_compact_command (notmuch_config_t *config, int argc, char *argv[]); +notmuch_compact_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); const char * notmuch_time_relative_date (const void *ctx, time_t then); @@ -251,14 +253,17 @@ json_quote_str (const void *ctx, const char *str); /* notmuch-config.c */ typedef enum { - NOTMUCH_CONFIG_OPEN = 1 << 0, - NOTMUCH_CONFIG_CREATE = 1 << 1, -} notmuch_config_mode_t; + NOTMUCH_COMMAND_CONFIG_OPEN = 1 << 0, + NOTMUCH_COMMAND_CONFIG_CREATE = 1 << 1, + NOTMUCH_COMMAND_DATABASE_EARLY = 1 << 2, + NOTMUCH_COMMAND_DATABASE_WRITE = 1 << 3, + NOTMUCH_COMMAND_DATABASE_CREATE = 1 << 4, +} notmuch_command_mode_t; notmuch_config_t * notmuch_config_open (void *ctx, const char *filename, - notmuch_config_mode_t config_mode); + notmuch_command_mode_t config_mode); void notmuch_config_close (notmuch_config_t *config); @@ -330,9 +335,11 @@ void notmuch_config_set_search_exclude_tags (notmuch_config_t *config, const char *list[], size_t length); +const char * +_notmuch_config_get_path (notmuch_config_t *config); int -notmuch_run_hook (const char *db_path, const char *hook); +notmuch_run_hook (notmuch_database_t *notmuch, const char *hook); bool debugger_is_active (void); @@ -394,8 +401,10 @@ struct mime_node { struct mime_node_context *ctx; /* Internal: For successfully decrypted multipart parts, the - * decrypted part to substitute for the second child. */ - GMimeObject *decrypted_child; + * decrypted part to substitute for the second child; or, for + * PKCS#7 parts, the part returned after removing/processing the + * PKCS#7 transformation */ + GMimeObject *unwrapped_child; /* Internal: The next child for depth-first traversal and the part * number to assign it (or -1 if unknown). */ @@ -466,7 +475,7 @@ notmuch_database_dump (notmuch_database_t *notmuch, dump_include_t include, bool gzip_output); -/* If status is non-zero (i.e. error) print appropriate +/* If status indicates error print appropriate * messages to stderr. */ @@ -488,6 +497,16 @@ print_status_database (const char *loc, int status_to_exit (notmuch_status_t status); +notmuch_status_t +print_status_gzbytes (const char *loc, + gzFile file, + int bytes); + +/* the __location__ macro is defined in talloc.h */ +#define ASSERT_GZBYTES(file, bytes) ((print_status_gzbytes (__location__, file, bytes)) ? exit (1) : 0) +#define GZPRINTF(file, fmt, ...) ASSERT_GZBYTES (file, gzprintf (file, fmt, ##__VA_ARGS__)); +#define GZPUTS(file, str) ASSERT_GZBYTES(file, gzputs (file, str)); + #include "command-line-arguments.h" extern const char *notmuch_requested_db_uuid;