6 typedef struct ZWrite ZWrite;
12 int (*w)(void*, void*, int);
16 zlwrite(void *vzw, void *buf, int n)
21 zw->adler = adler32(zw->adler, buf, n);
22 n = (*zw->w)(zw->wr, buf, n);
29 inflatezlib(void *wr, int (*w)(void*, void*, int), void *getr, int (*get)(void*))
37 return FlateInputFail;
40 return FlateInputFail;
42 if(((c << 8) | i) % 31)
43 return FlateCorrupted;
44 if((c & ZlibMeth) != ZlibDeflate
45 || (c & ZlibCInfo) > ZlibWin32k)
46 return FlateCorrupted;
51 i = inflate(&zw, zlwrite, getr, get);
56 for(i = 0; i < 4; i++){
59 return FlateInputFail;
63 return FlateCorrupted;