NAME
	Gz_deflate - gzip packer

DESCRIPTION
	Gz_inflate is a builtin program written in C. It interfaces the
	packing routines in the libz library.

NOTA BENE
	This program is only available if libz was available and found when
	Pike was compiled.

SEE ALSO
	gz_inflate

============================================================================
NAME
	create - initialize gzip packer

SYNTAX
	void create(int X)
	or
	object(Gz_deflate) Gz_deflate(int X)

DESCRIPTION
	This functionion is called when a new Gz_deflate is created.
	If given, X should be a number from 0 to 9 indicating the packing /
	cpu ratio. Zero means no packing, 2-3 is considered 'fast', 6 is
	default and higher is considered 'slow' but gives better packing.

	This function can also be used to re-initialize a gz_deflate object
	so it can be re-used.

============================================================================
NAME
	deflate - pack data

SYNTAX
	string deflate(string data, int flush);

DESCRIPTION
	This function preforms gzip style compression on a string and
	returns the packed data. Streaming can be done by calling this
	functon several time and concatenating the returned data.
	The optional 'flush' argument should be one f the following:

	Gz_deflate->NO_FLUSH      	Only data that doesn't fit in the
	                           	internal buffers is returned.
	Gz_deflate->PARTIAL_FLUSH	All input is packed and returned.
	Gz_deflate->SYNC_FLUSH   	All input is packed and returned.
	                        	Packing is syncronized.
	Gz_deflate->FINISH       	All input is packed and an 'end of
					data' marker is appended.

	Using flushing will degrade packing. Normally NO_FLUSH should be
	used until the end of the data when FINISH should be used. For
	interactive data PARTIAL_FLUSH should be used.

SEE ALSO
	gz_inflate->inflate

============================================================================
