FILTER-DEFLATE(2)FILTER-DEFLATE(2)NAME
deflate, inflate - data compression filters
SYNOPSIS
include "filter.m";
deflate := load Filter Filter->DEFLATEPATH;
inflate := load Filter Filter->INFLATEPATH;
init: fn();
start: fn(param: string): chan of ref Rq;
DESCRIPTION
These implementation modules conform to the Filter module interface for
data-processing filters. For details of the interface, see filter(2).
Deflate implements gzip-compatible stream compression. The param
string argument to start can contain one or more of the following
option characters:
`d' Enable debugging output. Each line of debugging output
is provided in an Rq.Info message.
`v' Enable verbose mode. Each line of verbose output is
provided in an Rq.Info message.
`h' Add a gzip header and footer to the data. With this
flag, the data after filtering will be in exactly the
same format as a gzip file, with accompanying check‐
sum.
`z' Add a zlib header and footer to the data. The footer
contains a checksum.
`0' to `9'
Specifies the level of compression to be used (9 high‐
est). See gzip(1).
Inflate performs the inverse operation to deflate. If the param argu‐
ment to start begins with the character `h' then the input to the fil‐
ter is assumed to be in the standard gzip file format; if it starts
with the character `z' it is assumed to be in zlib format; the output
will be checked for integrity in both cases. While processing a gzip
stream, the Rq.Info message is used to transmit some information; the
type of information is determined by the first word of msg, as follows:
file The rest of msg (after a following space) is the name of
the original filename before compression.
mtime The rest of msg (after a following space) is the modifi‐
cation time of the original file before compression.
SOURCE
/appl/lib/deflate.b
/appl/lib/inflate.b
SEE ALSOgzip(1), filter(2)
Internet RFCs RFC1950, RFC1951, and RFC1952.
FILTER-DEFLATE(2)