xref: /386bsd/usr/src/usr.bin/file/new/Magdir/compress (revision a2142627)
1#
2# Formats for various forms of compressed data
3# Formats for "compress" proper have been moved into "compress.c",
4# because it tries to uncompress it to figure out what's inside.
5#
6# XXX - the two "packed data" versions are byte-swapped versions of
7# one another; is that because the 2-byte magic number is written
8# out in native byte order, with "unpack" figuring out the byte order
9# from the magic number (in which case both can be left as is, or
10# changed to specify a byte order *and* to indicate the byte order of
11# the packing machine), or because the old "file" didn't have any way of
12# having "magic"-file entries that specified a particular byte order?
13#
140	short		017436		packed data
150	short		017037		packed data
16
17#
18# This magic number is byte-order-independent.
19#
200	short		017437		old packed data
21
22#
230	string		\377\037	compacted data
240	short		0145405		huf output
25#
26# Squeeze and Crunch, from Keith Waclena <keith@cerberus.uchicago.edu>
27# These numbers were gleaned from the Unix versions of the programs to
28# handle these formats.  Note that I can only uncrunch, not crunch, and
29# I didn't have a crunched file handy, so the crunch number is untested.
300	short		0x76FF		squeezed data (CP/M, DOS)
310	short		0x76FE		crunched data (CP/M, DOS)
32# Freeze
330	short		0x1f9f		Frozen file 2.1
340	short		0x1f9e		Frozen file 1.0
35#
36# GNU gzip compressor, from christos@deshaw.com (Christos Zoulas)
37#
380       string          \037\213        gzip compressed file method:
39>2      byte            <8              reserved,
40>2      byte            8               deflate,
41>3	byte		&0x1f		flags:
42>3	byte		&0x01		ascii-text,
43>3	byte		&0x02		multi-part,
44>3	byte		&0x04		name-present,
45>3	byte		&0x08		comment-present,
46>3	byte		&0x10		encrypted,
47>4	date		x		last modified: %s,
48>8	byte		x		extra-flags: %x,
49>9	byte		=0x00		os: MS/DOS
50>9	byte		=0x01		os: Amiga
51>9	byte		=0x02		os: VMS
52>9	byte		=0x03		os: Unix
53>9	byte		=0x05		os: Atari
54>9	byte		=0x06		os: OS/2
55>9	byte		=0x07		os: MacOS
56>9	byte		=0x0A		os: Tops/20
57>9	byte		=0x0B		os: Win/32
58