1 #include <zlib.h>
2 #include <stdlib.h>
3
create_z_stream(void)4 z_stream * create_z_stream(void)
5 {
6 z_stream *ret = malloc(sizeof(z_stream));
7 if (ret) {
8 ret->zalloc = Z_NULL;
9 ret->zfree = Z_NULL;
10 ret->opaque = Z_NULL;
11 ret->next_in = NULL;
12 ret->avail_in = 0;
13 ret->next_out = NULL;
14 ret->avail_out = 0;
15 }
16 return ret;
17 }
18
inflate_init2(z_stream * stream,int window_bits)19 int inflate_init2(z_stream *stream, int window_bits)
20 {
21 return inflateInit2(stream, window_bits);
22 }
23
deflate_init2(z_stream * stream,int level,int methodBits,int memlevel,int strategy)24 int deflate_init2(z_stream *stream, int level, int methodBits,
25 int memlevel, int strategy)
26 {
27 return deflateInit2(stream, level, Z_DEFLATED, methodBits, memlevel, strategy);
28 }
29
inflate_set_dictionary(z_stream * stream,const char * dictionary,unsigned int dictLength)30 int inflate_set_dictionary(z_stream *stream, const char* dictionary,
31 unsigned int dictLength) {
32 return inflateSetDictionary(stream, dictionary, dictLength);
33 }
34
deflate_set_dictionary(z_stream * stream,const char * dictionary,unsigned int dictLength)35 int deflate_set_dictionary(z_stream *stream, const char* dictionary,
36 unsigned int dictLength) {
37 return deflateSetDictionary(stream, dictionary, dictLength);
38 }
39
free_z_stream_inflate(z_stream * stream)40 void free_z_stream_inflate (z_stream *stream)
41 {
42 inflateEnd(stream);
43 free(stream);
44 }
45
set_avail_in(z_stream * stream,char * buff,unsigned int avail)46 void set_avail_in (z_stream *stream, char *buff, unsigned int avail)
47 {
48 stream->next_in = buff;
49 stream->avail_in = avail;
50 }
51
set_avail_out(z_stream * stream,char * buff,unsigned int avail)52 void set_avail_out (z_stream *stream, char *buff, unsigned int avail)
53 {
54 stream->next_out = buff;
55 stream->avail_out = avail;
56 }
57
call_inflate_noflush(z_stream * stream)58 int call_inflate_noflush (z_stream *stream)
59 {
60 return inflate(stream, Z_NO_FLUSH);
61 }
62
get_avail_in(z_stream * stream)63 unsigned int get_avail_in (z_stream *stream)
64 {
65 return stream->avail_in;
66 }
67
get_avail_out(z_stream * stream)68 unsigned int get_avail_out (z_stream *stream)
69 {
70 return stream->avail_out;
71 }
72
get_next_in(z_stream * stream)73 char* get_next_in (z_stream *stream)
74 {
75 return stream->next_in;
76 }
77
free_z_stream_deflate(z_stream * stream)78 void free_z_stream_deflate (z_stream *stream)
79 {
80 deflateEnd(stream);
81 free(stream);
82 }
83
call_deflate_noflush(z_stream * stream)84 int call_deflate_noflush (z_stream *stream)
85 {
86 return deflate(stream, Z_NO_FLUSH);
87 }
88
call_deflate_flush(z_stream * stream)89 int call_deflate_flush (z_stream *stream)
90 {
91 return deflate(stream, Z_SYNC_FLUSH);
92 }
93
call_deflate_finish(z_stream * stream)94 int call_deflate_finish (z_stream *stream)
95 {
96 return deflate(stream, Z_FINISH);
97 }
98