notmuch-mutt: replace shell pipeline with internal pipe processing
[notmuch] / util / zlib-extra.h
1 #ifndef _ZLIB_EXTRA_H
2 #define _ZLIB_EXTRA_H
3
4 #include "util.h"
5 #include <zlib.h>
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10
11 /* Like getline, but read from a gzFile. Allocation is with talloc.
12  * Returns:
13  *
14  *   UTIL_SUCCESS, UTIL_OUT_OF_MEMORY, UTIL_ERRNO, UTIL_GZERROR
15  *                      Consult util.h for description
16  *
17  *   UTIL_EOF           End of file encountered before
18  *                      any characters read
19  */
20 util_status_t
21 gz_getline (void *ctx, char **lineptr, ssize_t *bytes_read, gzFile stream);
22
23 /* return a suitable error string based on the return status
24  *  from gz_readline
25  */
26
27 const char *
28 gz_error_string (util_status_t status, gzFile stream);
29
30 /* Call gzerror with a dummy errno argument, the docs don't promise to
31  * support the NULL case */
32 const char *
33 gzerror_str(gzFile file);
34
35 #ifdef __cplusplus
36 }
37 #endif
38
39 #endif