1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-01 12:19:28 +00:00
freebsd/sys/sys/inflate.h
Poul-Henning Kamp 6aafb7e048 I belive imgact_gzip is finally reentrant. It is also a whole lot more
readable.

inflate is now much more general, and is there if anybody feels like making
a uncompressing filesystem or something like that (hint hint !)
1994-10-22 11:40:38 +00:00

54 lines
1.4 KiB
C

/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* <phk@login.dkuug.dk> wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* ----------------------------------------------------------------------------
*
* $Id$
*
*/
#ifndef _SYS_INFLATE_H_
#define _SYS_INFLATE_H_
#ifdef KERNEL
#define GZ_EOF -1
#define GZ_WSIZE 0x8000
/*
* Global variables used by inflate and friends.
* This structure is used in order to make inflate() reentrant.
*/
struct inflate {
/* Public part */
/* This pointer is passed along to the two functions below */
void *gz_private;
/* Fetch next character to be uncompressed */
int (*gz_input) (void *);
/* Dispose of uncompressed characters */
int (*gz_output) (void *, u_char *, u_long);
/* Private part */
u_long gz_bb; /* bit buffer */
unsigned gz_bk; /* bits in bit buffer */
unsigned gz_hufts; /* track memory usage */
struct huft *gz_fixed_tl; /* must init to NULL !! */
struct huft *gz_fixed_td;
int gz_fixed_bl;
int gz_fixed_bd;
u_char *gz_slide;
unsigned gz_wp;
};
int inflate __P((struct inflate *));
#endif /* KERNEL */
#endif /* ! _SYS_INFLATE_H_ */