Blame


1 78e51a8c 2005-01-14 devnull <head>
2 78e51a8c 2005-01-14 devnull <title>flate(3) - Plan 9 from User Space</title>
3 78e51a8c 2005-01-14 devnull <meta content="text/html; charset=utf-8" http-equiv=Content-Type>
4 78e51a8c 2005-01-14 devnull </head>
5 78e51a8c 2005-01-14 devnull <body bgcolor=#ffffff>
6 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0 width=100%>
7 78e51a8c 2005-01-14 devnull <tr height=10><td>
8 78e51a8c 2005-01-14 devnull <tr><td width=20><td>
9 78e51a8c 2005-01-14 devnull <tr><td width=20><td><b>FLATE(3)</b><td align=right><b>FLATE(3)</b>
10 78e51a8c 2005-01-14 devnull <tr><td width=20><td colspan=2>
11 78e51a8c 2005-01-14 devnull <br>
12 78e51a8c 2005-01-14 devnull <p><font size=+1><b>NAME </b></font><br>
13 78e51a8c 2005-01-14 devnull
14 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
15 78e51a8c 2005-01-14 devnull
16 78e51a8c 2005-01-14 devnull deflateinit, deflate, deflatezlib, deflateblock, deflatezlibblock,
17 78e51a8c 2005-01-14 devnull inflateinit, inflate, inflatezlib, inflateblock, inflatezlibblock,
18 78e51a8c 2005-01-14 devnull flateerr, mkcrctab, blockcrc, adler32 &ndash; deflate compression<br>
19 78e51a8c 2005-01-14 devnull
20 78e51a8c 2005-01-14 devnull </table>
21 78e51a8c 2005-01-14 devnull <p><font size=+1><b>SYNOPSIS </b></font><br>
22 78e51a8c 2005-01-14 devnull
23 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
24 78e51a8c 2005-01-14 devnull
25 78e51a8c 2005-01-14 devnull <tt><font size=+1>#include &lt;u.h&gt;<br>
26 78e51a8c 2005-01-14 devnull #include &lt;libc.h&gt;<br>
27 78e51a8c 2005-01-14 devnull #include &lt;flate.h&gt;
28 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
29 78e51a8c 2005-01-14 devnull </font></tt>
30 78e51a8c 2005-01-14 devnull
31 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
32 78e51a8c 2005-01-14 devnull
33 78e51a8c 2005-01-14 devnull <tt><font size=+1>int &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deflateinit(void)
34 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
35 78e51a8c 2005-01-14 devnull </font></tt>
36 78e51a8c 2005-01-14 devnull <tt><font size=+1>int &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deflate(void *wr, int (*w)(void*,void*,int),<br>
37 78e51a8c 2005-01-14 devnull
38 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
39 78e51a8c 2005-01-14 devnull
40 78e51a8c 2005-01-14 devnull
41 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
42 78e51a8c 2005-01-14 devnull
43 78e51a8c 2005-01-14 devnull void *rr, int (*r)(void*,void*,int),<br>
44 78e51a8c 2005-01-14 devnull int level, int debug)
45 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
46 78e51a8c 2005-01-14 devnull
47 78e51a8c 2005-01-14 devnull </table>
48 78e51a8c 2005-01-14 devnull
49 78e51a8c 2005-01-14 devnull </table>
50 78e51a8c 2005-01-14 devnull </font></tt>
51 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
52 78e51a8c 2005-01-14 devnull
53 78e51a8c 2005-01-14 devnull
54 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
55 78e51a8c 2005-01-14 devnull
56 78e51a8c 2005-01-14 devnull
57 78e51a8c 2005-01-14 devnull
58 78e51a8c 2005-01-14 devnull </table>
59 78e51a8c 2005-01-14 devnull
60 78e51a8c 2005-01-14 devnull </table>
61 78e51a8c 2005-01-14 devnull <tt><font size=+1>int &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deflatezlib(void *wr, int (*w)(void*,void*,int),<br>
62 78e51a8c 2005-01-14 devnull
63 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
64 78e51a8c 2005-01-14 devnull
65 78e51a8c 2005-01-14 devnull
66 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
67 78e51a8c 2005-01-14 devnull
68 78e51a8c 2005-01-14 devnull void *rr, int (*r)(void*,void*,int),<br>
69 78e51a8c 2005-01-14 devnull int level, int debug)
70 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
71 78e51a8c 2005-01-14 devnull
72 78e51a8c 2005-01-14 devnull </table>
73 78e51a8c 2005-01-14 devnull
74 78e51a8c 2005-01-14 devnull </table>
75 78e51a8c 2005-01-14 devnull </font></tt>
76 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
77 78e51a8c 2005-01-14 devnull
78 78e51a8c 2005-01-14 devnull
79 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
80 78e51a8c 2005-01-14 devnull
81 78e51a8c 2005-01-14 devnull
82 78e51a8c 2005-01-14 devnull
83 78e51a8c 2005-01-14 devnull </table>
84 78e51a8c 2005-01-14 devnull
85 78e51a8c 2005-01-14 devnull </table>
86 78e51a8c 2005-01-14 devnull <tt><font size=+1>int &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deflateblock(uchar *dst, int dsize,<br>
87 78e51a8c 2005-01-14 devnull
88 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
89 78e51a8c 2005-01-14 devnull
90 78e51a8c 2005-01-14 devnull
91 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
92 78e51a8c 2005-01-14 devnull
93 78e51a8c 2005-01-14 devnull uchar *src, int ssize,<br>
94 78e51a8c 2005-01-14 devnull int level, int debug)
95 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
96 78e51a8c 2005-01-14 devnull
97 78e51a8c 2005-01-14 devnull </table>
98 78e51a8c 2005-01-14 devnull
99 78e51a8c 2005-01-14 devnull </table>
100 78e51a8c 2005-01-14 devnull </font></tt>
101 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
102 78e51a8c 2005-01-14 devnull
103 78e51a8c 2005-01-14 devnull
104 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
105 78e51a8c 2005-01-14 devnull
106 78e51a8c 2005-01-14 devnull
107 78e51a8c 2005-01-14 devnull
108 78e51a8c 2005-01-14 devnull </table>
109 78e51a8c 2005-01-14 devnull
110 78e51a8c 2005-01-14 devnull </table>
111 78e51a8c 2005-01-14 devnull <tt><font size=+1>int &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deflatezlibblock(uchar *dst, int dsize,<br>
112 78e51a8c 2005-01-14 devnull
113 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
114 78e51a8c 2005-01-14 devnull
115 78e51a8c 2005-01-14 devnull
116 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
117 78e51a8c 2005-01-14 devnull
118 78e51a8c 2005-01-14 devnull uchar *src, int ssize,<br>
119 78e51a8c 2005-01-14 devnull int level, int debug)
120 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
121 78e51a8c 2005-01-14 devnull
122 78e51a8c 2005-01-14 devnull </table>
123 78e51a8c 2005-01-14 devnull
124 78e51a8c 2005-01-14 devnull </table>
125 78e51a8c 2005-01-14 devnull </font></tt>
126 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
127 78e51a8c 2005-01-14 devnull
128 78e51a8c 2005-01-14 devnull
129 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
130 78e51a8c 2005-01-14 devnull
131 78e51a8c 2005-01-14 devnull
132 78e51a8c 2005-01-14 devnull
133 78e51a8c 2005-01-14 devnull </table>
134 78e51a8c 2005-01-14 devnull
135 78e51a8c 2005-01-14 devnull </table>
136 78e51a8c 2005-01-14 devnull <tt><font size=+1>int &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inflateinit(void)
137 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
138 78e51a8c 2005-01-14 devnull </font></tt>
139 78e51a8c 2005-01-14 devnull <tt><font size=+1>int &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inflate(void *wr, int (*w)(void*, void*, int),<br>
140 78e51a8c 2005-01-14 devnull
141 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
142 78e51a8c 2005-01-14 devnull
143 78e51a8c 2005-01-14 devnull
144 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
145 78e51a8c 2005-01-14 devnull
146 78e51a8c 2005-01-14 devnull void *getr, int (*get)(void*))
147 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
148 78e51a8c 2005-01-14 devnull
149 78e51a8c 2005-01-14 devnull </table>
150 78e51a8c 2005-01-14 devnull
151 78e51a8c 2005-01-14 devnull </table>
152 78e51a8c 2005-01-14 devnull </font></tt>
153 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
154 78e51a8c 2005-01-14 devnull
155 78e51a8c 2005-01-14 devnull
156 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
157 78e51a8c 2005-01-14 devnull
158 78e51a8c 2005-01-14 devnull
159 78e51a8c 2005-01-14 devnull
160 78e51a8c 2005-01-14 devnull </table>
161 78e51a8c 2005-01-14 devnull
162 78e51a8c 2005-01-14 devnull </table>
163 78e51a8c 2005-01-14 devnull <tt><font size=+1>int &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inflatezlib(void *wr, int (*w)(void*, void*, int),<br>
164 78e51a8c 2005-01-14 devnull
165 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
166 78e51a8c 2005-01-14 devnull
167 78e51a8c 2005-01-14 devnull
168 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
169 78e51a8c 2005-01-14 devnull
170 78e51a8c 2005-01-14 devnull void *getr, int (*get)(void*))
171 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
172 78e51a8c 2005-01-14 devnull
173 78e51a8c 2005-01-14 devnull </table>
174 78e51a8c 2005-01-14 devnull
175 78e51a8c 2005-01-14 devnull </table>
176 78e51a8c 2005-01-14 devnull </font></tt>
177 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
178 78e51a8c 2005-01-14 devnull
179 78e51a8c 2005-01-14 devnull
180 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
181 78e51a8c 2005-01-14 devnull
182 78e51a8c 2005-01-14 devnull
183 78e51a8c 2005-01-14 devnull
184 78e51a8c 2005-01-14 devnull </table>
185 78e51a8c 2005-01-14 devnull
186 78e51a8c 2005-01-14 devnull </table>
187 78e51a8c 2005-01-14 devnull <tt><font size=+1>int &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inflateblock(uchar *dst, int dsize,<br>
188 78e51a8c 2005-01-14 devnull
189 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
190 78e51a8c 2005-01-14 devnull
191 78e51a8c 2005-01-14 devnull
192 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
193 78e51a8c 2005-01-14 devnull
194 78e51a8c 2005-01-14 devnull uchar *src, int ssize)
195 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
196 78e51a8c 2005-01-14 devnull
197 78e51a8c 2005-01-14 devnull </table>
198 78e51a8c 2005-01-14 devnull
199 78e51a8c 2005-01-14 devnull </table>
200 78e51a8c 2005-01-14 devnull </font></tt>
201 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
202 78e51a8c 2005-01-14 devnull
203 78e51a8c 2005-01-14 devnull
204 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
205 78e51a8c 2005-01-14 devnull
206 78e51a8c 2005-01-14 devnull
207 78e51a8c 2005-01-14 devnull
208 78e51a8c 2005-01-14 devnull </table>
209 78e51a8c 2005-01-14 devnull
210 78e51a8c 2005-01-14 devnull </table>
211 78e51a8c 2005-01-14 devnull <tt><font size=+1>int &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inflatezlibblock(uchar *dst, int dsize,<br>
212 78e51a8c 2005-01-14 devnull
213 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
214 78e51a8c 2005-01-14 devnull
215 78e51a8c 2005-01-14 devnull
216 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
217 78e51a8c 2005-01-14 devnull
218 78e51a8c 2005-01-14 devnull uchar *src, int ssize)
219 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
220 78e51a8c 2005-01-14 devnull
221 78e51a8c 2005-01-14 devnull </table>
222 78e51a8c 2005-01-14 devnull
223 78e51a8c 2005-01-14 devnull </table>
224 78e51a8c 2005-01-14 devnull </font></tt>
225 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
226 78e51a8c 2005-01-14 devnull
227 78e51a8c 2005-01-14 devnull
228 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
229 78e51a8c 2005-01-14 devnull
230 78e51a8c 2005-01-14 devnull
231 78e51a8c 2005-01-14 devnull
232 78e51a8c 2005-01-14 devnull </table>
233 78e51a8c 2005-01-14 devnull
234 78e51a8c 2005-01-14 devnull </table>
235 78e51a8c 2005-01-14 devnull <tt><font size=+1>char &nbsp;&nbsp;&nbsp;&nbsp;*flateerr(int error)
236 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
237 78e51a8c 2005-01-14 devnull </font></tt>
238 78e51a8c 2005-01-14 devnull <tt><font size=+1>ulong &nbsp;&nbsp;&nbsp;*mkcrctab(ulong poly)
239 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
240 78e51a8c 2005-01-14 devnull </font></tt>
241 78e51a8c 2005-01-14 devnull <tt><font size=+1>ulong &nbsp;&nbsp;&nbsp;blockcrc(ulong *tab, ulong crc, void *buf, int n)
242 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
243 78e51a8c 2005-01-14 devnull </font></tt>
244 78e51a8c 2005-01-14 devnull <tt><font size=+1>ulong &nbsp;&nbsp;&nbsp;adler32(ulong adler, void *buf, int n)<br>
245 78e51a8c 2005-01-14 devnull </font></tt>
246 78e51a8c 2005-01-14 devnull </table>
247 78e51a8c 2005-01-14 devnull <p><font size=+1><b>DESCRIPTION </b></font><br>
248 78e51a8c 2005-01-14 devnull
249 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
250 78e51a8c 2005-01-14 devnull
251 78e51a8c 2005-01-14 devnull These routines compress and decompress data using the deflate
252 78e51a8c 2005-01-14 devnull compression algorithm, which is used for most gzip, zip, and zlib
253 78e51a8c 2005-01-14 devnull files.
254 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
255 78e51a8c 2005-01-14 devnull
256 78e51a8c 2005-01-14 devnull <i>Deflate</i> compresses input data retrieved by calls to <i>r</i> with arguments
257 78e51a8c 2005-01-14 devnull <i>rr</i>, an input buffer, and a count of bytes to read. <i>R</i> should return
258 78e51a8c 2005-01-14 devnull the number of bytes read; end of input is signaled by returning
259 78e51a8c 2005-01-14 devnull zero, an input error by returning a negative number. The compressed
260 78e51a8c 2005-01-14 devnull output is written to <i>w</i> with arguments <i>wr</i>, the
261 78e51a8c 2005-01-14 devnull output data, and the number of bytes to write. <i>W</i> should return
262 78e51a8c 2005-01-14 devnull the number of bytes written; writing fewer than the requested
263 78e51a8c 2005-01-14 devnull number of bytes is an error. <i>Level</i> indicates the amount of computation
264 78e51a8c 2005-01-14 devnull deflate should do while compressing the data. Higher <i>levels</i> usually
265 78e51a8c 2005-01-14 devnull take more time and produce smaller outputs. Valid
266 78e51a8c 2005-01-14 devnull values are 1 to 9, inclusive; 6 is a good compromise. If <i>debug</i>
267 78e51a8c 2005-01-14 devnull is non-zero, cryptic debugging information is produced on standard
268 78e51a8c 2005-01-14 devnull error.
269 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
270 78e51a8c 2005-01-14 devnull
271 78e51a8c 2005-01-14 devnull <i>Inflate</i> reverses the process, converting compressed data into
272 78e51a8c 2005-01-14 devnull uncompressed output. Input is retrieved one byte at a time by
273 78e51a8c 2005-01-14 devnull calling <i>get</i> with the argument <i>getr</i>. End of input of signaled by
274 78e51a8c 2005-01-14 devnull returning a negative value. The uncompressed output is written
275 78e51a8c 2005-01-14 devnull to <i>w</i>, which has the same interface as for <i>deflate</i>.
276 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
277 78e51a8c 2005-01-14 devnull
278 78e51a8c 2005-01-14 devnull <i>Deflateblock</i> and <i>inflateblock</i> operate on blocks of memory but
279 78e51a8c 2005-01-14 devnull are otherwise similar to <i>deflate</i> and <i>inflate</i>.
280 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
281 78e51a8c 2005-01-14 devnull
282 78e51a8c 2005-01-14 devnull The zlib functions are similar, but operate on files with a zlib
283 78e51a8c 2005-01-14 devnull header and trailer.
284 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
285 78e51a8c 2005-01-14 devnull
286 78e51a8c 2005-01-14 devnull <i>Deflateinit</i> or <i>inflateinit</i> must be called once before any call
287 78e51a8c 2005-01-14 devnull to the corresponding routines.
288 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
289 78e51a8c 2005-01-14 devnull
290 78e51a8c 2005-01-14 devnull If the above routines fail, they return a negative number indicating
291 78e51a8c 2005-01-14 devnull the problem. The possible values are <i>FlateNoMem</i>, <i>FlateInputFail</i>,
292 78e51a8c 2005-01-14 devnull <i>FlateOutputFail</i>, <i>FlateCorrupted</i>, and <i>FlateInternal</i>. <i>Flateerr</i> converts
293 78e51a8c 2005-01-14 devnull the number into a printable message. <i>FlateOk</i> is defined to be
294 78e51a8c 2005-01-14 devnull zero, the successful return value for <i>deflateinit</i>,
295 78e51a8c 2005-01-14 devnull <i>deflate</i>, <i>deflatezlib</i>, <i>inflateinit</i>, <i>inflate</i>, and <i>inflatezlib</i>. The
296 78e51a8c 2005-01-14 devnull block functions return the number of bytes produced when they
297 78e51a8c 2005-01-14 devnull succeed.
298 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
299 78e51a8c 2005-01-14 devnull
300 78e51a8c 2005-01-14 devnull <i>Mkcrctab</i> allocates (using <a href="../man3/malloc.html"><i>malloc</i>(3)</a>), initializes, and returns
301 78e51a8c 2005-01-14 devnull a table for rapid computation of 32 bit CRC values using the polynomial
302 78e51a8c 2005-01-14 devnull <i>poly</i>. <i>Blockcrc</i> uses <i>tab</i>, a table returned by <i>mkcrctab</i>, to update
303 78e51a8c 2005-01-14 devnull <i>crc</i> for the <i>n</i> bytes of data in <i>buf</i>, and returns the new value.
304 78e51a8c 2005-01-14 devnull <i>Crc</i> should initially be zero. <i>Blockcrc</i> pre-conditions and
305 78e51a8c 2005-01-14 devnull post-conditions <i>crc</i> by ones complementation.
306 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
307 78e51a8c 2005-01-14 devnull
308 78e51a8c 2005-01-14 devnull <i>Adler32</i> updates the Adler 32-bit checksum of the <i>n</i> butes of data
309 78e51a8c 2005-01-14 devnull in <i>buf.</i> The initial value of <i>adler</i> (that is, its value after seeing
310 78e51a8c 2005-01-14 devnull zero bytes) should be 1.<br>
311 78e51a8c 2005-01-14 devnull
312 78e51a8c 2005-01-14 devnull </table>
313 78e51a8c 2005-01-14 devnull <p><font size=+1><b>SOURCE </b></font><br>
314 78e51a8c 2005-01-14 devnull
315 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
316 78e51a8c 2005-01-14 devnull
317 78e51a8c 2005-01-14 devnull <tt><font size=+1>/usr/local/plan9/src/libflate<br>
318 78e51a8c 2005-01-14 devnull </font></tt>
319 78e51a8c 2005-01-14 devnull </table>
320 78e51a8c 2005-01-14 devnull
321 78e51a8c 2005-01-14 devnull <td width=20>
322 78e51a8c 2005-01-14 devnull <tr height=20><td>
323 78e51a8c 2005-01-14 devnull </table>
324 78e51a8c 2005-01-14 devnull <!-- TRAILER -->
325 78e51a8c 2005-01-14 devnull <table border=0 cellpadding=0 cellspacing=0 width=100%>
326 78e51a8c 2005-01-14 devnull <tr height=15><td width=10><td><td width=10>
327 78e51a8c 2005-01-14 devnull <tr><td><td>
328 78e51a8c 2005-01-14 devnull <center>
329 78e51a8c 2005-01-14 devnull <a href="../../"><img src="../../dist/spaceglenda100.png" alt="Space Glenda" border=1></a>
330 78e51a8c 2005-01-14 devnull </center>
331 78e51a8c 2005-01-14 devnull </table>
332 78e51a8c 2005-01-14 devnull <!-- TRAILER -->
333 78e51a8c 2005-01-14 devnull </body></html>