+ const char *query_str,
+ dump_format_t output_format,
+ dump_include_t include,
+ bool gzip_output);
+
+/* If status indicates error print appropriate
+ * messages to stderr.
+ */
+
+notmuch_status_t
+print_status_query (const char *loc,
+ const notmuch_query_t *query,
+ notmuch_status_t status);
+
+notmuch_status_t
+print_status_message (const char *loc,
+ const notmuch_message_t *message,
+ notmuch_status_t status);
+
+notmuch_status_t
+print_status_database (const char *loc,
+ const notmuch_database_t *database,
+ notmuch_status_t status);
+
+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));