1/*- 2 * ---------------------------------------------------------------------------- 3 * "THE BEER-WARE LICENSE" (Revision 42): 4 * <phk@FreeBSD.org> wrote this file. As long as you retain this notice you 5 * can do whatever you want with this stuff. If we meet some day, and you think 6 * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp 7 * ---------------------------------------------------------------------------- 8 * 9 * $FreeBSD$ 10 * 11 */ 12#ifndef _SYS_INFLATE_H_ 13#define _SYS_INFLATE_H_ 14 15#if defined(_KERNEL) || defined(KZIP) 16 17#define GZ_EOF -1 18 19#define GZ_WSIZE 0x8000 20 21/* 22 * Global variables used by inflate and friends. 23 * This structure is used in order to make inflate() reentrant. 24 */ 25struct inflate { 26 /* Public part */ 27 28 /* This pointer is passed along to the two functions below */ 29 void *gz_private; 30 31 /* Fetch next character to be uncompressed */ 32 int (*gz_input)(void *); 33 34 /* Dispose of uncompressed characters */ 35 int (*gz_output)(void *, u_char *, u_long); 36 37 /* Private part */ 38 u_long gz_bb; /* bit buffer */ 39 unsigned gz_bk; /* bits in bit buffer */ 40 unsigned gz_hufts; /* track memory usage */ 41 struct huft *gz_fixed_tl; /* must init to NULL !! */ 42 struct huft *gz_fixed_td; 43 int gz_fixed_bl; 44 int gz_fixed_bd; 45 u_char *gz_slide; 46 unsigned gz_wp; 47}; 48 49int inflate(struct inflate *); 50 51#endif /* _KERNEL || KZIP */ 52 53#endif /* ! _SYS_INFLATE_H_ */ 54