Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (2) — Inferno 4th Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

gzip(1)

filter(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 checksum. 

‘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 highest). See gzip(1).

Inflate performs the inverse operation to deflate.  If the param argument to start begins with the character ‘h’ then the input to the filter 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 modification time of the original file before compression. 

SOURCE

/appl/lib/deflate.b
/appl/lib/inflate.b

SEE ALSO

gzip(1), filter(2)
Internet RFCs RFC1950, RFC1951, and RFC1952.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026