Upgrade to file-4.18.
[dragonfly.git] / contrib / file-4 / magic / Magdir / compress
1
2 #------------------------------------------------------------------------------
3 # compress:  file(1) magic for pure-compression formats (no archives)
4 #
5 # compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, etc.
6 #
7 # Formats for various forms of compressed data
8 # Formats for "compress" proper have been moved into "compress.c",
9 # because it tries to uncompress it to figure out what's inside.
10
11 # standard unix compress
12 0       string          \037\235        compress'd data
13 >2      byte&0x80       >0              block compressed
14 >2      byte&0x1f       x               %d bits
15
16 # gzip (GNU zip, not to be confused with Info-ZIP or PKWARE zip archiver)
17 #   Edited by Chris Chittleborough <cchittleborough@yahoo.com.au>, March 2002
18 #       * Original filename is only at offset 10 if "extra field" absent
19 #       * Produce shorter output - notably, only report compression methods
20 #         other than 8 ("deflate", the only method defined in RFC 1952).
21 0       string          \037\213        gzip compressed data
22 >2      byte            <8              \b, reserved method
23 >2      byte            >8              \b, unknown method
24 >3      byte            &0x01           \b, ASCII
25 >3      byte            &0x02           \b, has CRC
26 >3      byte            &0x04           \b, extra field
27 >3      byte&0xC        =0x08
28 >>10    string          x               \b, was "%s"
29 >3      byte            &0x10           \b, has comment
30 >9      byte            =0x00           \b, from FAT filesystem (MS-DOS, OS/2, NT)
31 >9      byte            =0x01           \b, from Amiga
32 >9      byte            =0x02           \b, from VMS
33 >9      byte            =0x03           \b, from Unix
34 >9      byte            =0x04           \b, from VM/CMS
35 >9      byte            =0x05           \b, from Atari
36 >9      byte            =0x06           \b, from HPFS filesystem (OS/2, NT)
37 >9      byte            =0x07           \b, from MacOS
38 >9      byte            =0x08           \b, from Z-System
39 >9      byte            =0x09           \b, from CP/M
40 >9      byte            =0x0A           \b, from TOPS/20
41 >9      byte            =0x0B           \b, from NTFS filesystem (NT)
42 >9      byte            =0x0C           \b, from QDOS
43 >9      byte            =0x0D           \b, from Acorn RISCOS
44 >3      byte            &0x10           \b, comment
45 >3      byte            &0x20           \b, encrypted
46 >4      ledate          >0              \b, last modified: %s
47 >8      byte            2               \b, max compression
48 >8      byte            4               \b, max speed
49
50 # packed data, Huffman (minimum redundancy) codes on a byte-by-byte basis
51 0       string          \037\036        packed data
52 >2      belong          >1              \b, %d characters originally
53 >2      belong          =1              \b, %d character originally
54 #
55 # This magic number is byte-order-independent.
56 0       short           0x1f1f          old packed data
57
58 # XXX - why *two* entries for "compacted data", one of which is
59 # byte-order independent, and one of which is byte-order dependent?
60 #
61 0       short           0x1fff          compacted data
62 # This string is valid for SunOS (BE) and a matching "short" is listed
63 # in the Ultrix (LE) magic file.
64 0       string          \377\037        compacted data
65 0       short           0145405         huf output
66
67 # bzip2
68 0       string          BZh             bzip2 compressed data
69 >3      byte            >47             \b, block size = %c00k
70
71 # squeeze and crunch
72 # Michael Haardt <michael@cantor.informatik.rwth-aachen.de>
73 0       beshort         0x76FF          squeezed data,
74 >4      string          x               original name %s
75 0       beshort         0x76FE          crunched data,
76 >2      string          x               original name %s
77 0       beshort         0x76FD          LZH compressed data,
78 >2      string          x               original name %s
79
80 # Freeze
81 0       string          \037\237        frozen file 2.1
82 0       string          \037\236        frozen file 1.0 (or gzip 0.5)
83
84 # SCO compress -H (LZH)
85 0       string          \037\240        SCO compress -H (LZH) data
86
87 # European GSM 06.10 is a provisional standard for full-rate speech
88 # transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse
89 # excitation/long term prediction) coding at 13 kbit/s.
90 #
91 # There's only a magic nibble (4 bits); that nibble repeats every 33
92 # bytes.  This isn't suited for use, but maybe we can use it someday.
93 #
94 # This will cause very short GSM files to be declared as data and
95 # mismatches to be declared as data too!
96 #0      byte&0xF0       0xd0            data
97 #>33    byte&0xF0       0xd0
98 #>66    byte&0xF0       0xd0
99 #>99    byte&0xF0       0xd0
100 #>132   byte&0xF0       0xd0            GSM 06.10 compressed audio
101
102 # bzip  a block-sorting file compressor
103 #       by Julian Seward <sewardj@cs.man.ac.uk> and others
104 #
105 0       string          BZ              bzip compressed data
106 >2      byte            x               \b, version: %c
107 >3      string          =1              \b, compression block size 100k
108 >3      string          =2              \b, compression block size 200k
109 >3      string          =3              \b, compression block size 300k
110 >3      string          =4              \b, compression block size 400k
111 >3      string          =5              \b, compression block size 500k
112 >3      string          =6              \b, compression block size 600k
113 >3      string          =7              \b, compression block size 700k
114 >3      string          =8              \b, compression block size 800k
115 >3      string          =9              \b, compression block size 900k
116
117 # lzop from <markus.oberhumer@jk.uni-linz.ac.at>
118 0       string          \x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a    lzop compressed data
119 >9      beshort         <0x0940
120 >>9     byte&0xf0       =0x00           - version 0.
121 >>9     beshort&0x0fff  x               \b%03x,
122 >>13    byte            1               LZO1X-1,
123 >>13    byte            2               LZO1X-1(15),
124 >>13    byte            3               LZO1X-999,
125 ## >>22 bedate          >0              last modified: %s,
126 >>14    byte            =0x00           os: MS-DOS
127 >>14    byte            =0x01           os: Amiga
128 >>14    byte            =0x02           os: VMS
129 >>14    byte            =0x03           os: Unix
130 >>14    byte            =0x05           os: Atari
131 >>14    byte            =0x06           os: OS/2
132 >>14    byte            =0x07           os: MacOS
133 >>14    byte            =0x0A           os: Tops/20
134 >>14    byte            =0x0B           os: WinNT
135 >>14    byte            =0x0E           os: Win32
136 >9      beshort         >0x0939
137 >>9     byte&0xf0       =0x00           - version 0.
138 >>9     byte&0xf0       =0x10           - version 1.
139 >>9     byte&0xf0       =0x20           - version 2.
140 >>9     beshort&0x0fff  x               \b%03x,
141 >>15    byte            1               LZO1X-1,
142 >>15    byte            2               LZO1X-1(15),
143 >>15    byte            3               LZO1X-999,
144 ## >>25 bedate          >0              last modified: %s,
145 >>17    byte            =0x00           os: MS-DOS
146 >>17    byte            =0x01           os: Amiga
147 >>17    byte            =0x02           os: VMS
148 >>17    byte            =0x03           os: Unix
149 >>17    byte            =0x05           os: Atari
150 >>17    byte            =0x06           os: OS/2
151 >>17    byte            =0x07           os: MacOS
152 >>17    byte            =0x0A           os: Tops/20
153 >>17    byte            =0x0B           os: WinNT
154 >>17    byte            =0x0E           os: Win32
155
156 # 4.3BSD-Quasijarus Strong Compression
157 # http://minnie.tuhs.org/Quasijarus/compress.html
158 0       string          \037\241        Quasijarus strong compressed data
159
160 # From: Cory Dikkers <cdikkers@swbell.net>
161 0       string          XPKF            Amiga xpkf.library compressed data
162 0       string          PP11            Power Packer 1.1 compressed data
163 0       string          PP20            Power Packer 2.0 compressed data,
164 >4      belong          0x09090909      fast compression
165 >4      belong          0x090A0A0A      mediocre compression
166 >4      belong          0x090A0B0B      good compression
167 >4      belong          0x090A0C0C      very good compression
168 >4      belong          0x090A0C0D      best compression
169
170 # 7-zip archiver, from Thomas Klausner (wiz@danbala.tuwien.ac.at)
171 # http://www.7-zip.org or DOC/7zFormat.txt 
172 #
173 0       string          7z\274\257\047\034      7-zip archive data,
174 >6      byte            x                       version %d
175 >7      byte            x                       \b.%d
176
177 # AFX compressed files (Wolfram Kleff)
178 2       string          -afx-           AFX compressed file data
179
180 # Supplementary magic data for the file(1) command to support
181 # rzip(1).  The format is described in magic(5).
182 #
183 # Copyright (C) 2003 by Andrew Tridgell.  You may do whatever you want with
184 # this file.
185 #
186 0       string          RZIP            rzip compressed data
187 >4      byte            x               - version %d
188 >5      byte            x               \b.%d
189 >6      belong          x               (%d bytes)