diff options
Diffstat (limited to 'src/zstream.h')
-rw-r--r-- | src/zstream.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/zstream.h b/src/zstream.h new file mode 100644 index 000000000..9b5bf6ace --- /dev/null +++ b/src/zstream.h @@ -0,0 +1,39 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_zstream_h__ +#define INCLUDE_zstream_h__ + +#include <zlib.h> + +#include "common.h" +#include "buffer.h" + +typedef struct { + z_stream z; + const char *in; + size_t in_len; + int zerr; +} git_zstream; + +#define GIT_ZSTREAM_INIT {{0}} + +int git_zstream_init(git_zstream *zstream); +void git_zstream_free(git_zstream *zstream); + +int git_zstream_set_input(git_zstream *zstream, const void *in, size_t in_len); + +size_t git_zstream_suggest_output_len(git_zstream *zstream); + +int git_zstream_get_output(void *out, size_t *out_len, git_zstream *zstream); + +bool git_zstream_done(git_zstream *zstream); + +void git_zstream_reset(git_zstream *zstream); + +int git_zstream_deflatebuf(git_buf *out, const void *in, size_t in_len); + +#endif /* INCLUDE_zstream_h__ */ |