Update to file-4.14. Remove merged patches.
[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, continuation
26 >3      byte            &0x04           \b, extra field
27 >3      byte&0xC        =0x08
28 >>10    string          x               \b, was "%s"
29 >9      byte            =0x00           \b, from MS-DOS
30 >9      byte            =0x01           \b, from Amiga
31 >9      byte            =0x02           \b, from VMS
32 >9      byte            =0x03           \b, from Unix
33 >9      byte            =0x05           \b, from Atari
34 >9      byte            =0x06           \b, from OS/2
35 >9      byte            =0x07           \b, from MacOS
36 >9      byte            =0x0A           \b, from Tops/20
37 >9      byte            =0x0B           \b, from Win/32
38 >3      byte            &0x10           \b, comment
39 >3      byte            &0x20           \b, encrypted
40 ### >4  ledate          x               last modified: %s,
41 >8      byte            2               \b, max compression
42 >8      byte            4               \b, max speed
43
44 # packed data, Huffman (minimum redundancy) codes on a byte-by-byte basis
45 0       string          \037\036        packed data
46 >2      belong          >1              \b, %d characters originally
47 >2      belong          =1              \b, %d character originally
48 #
49 # This magic number is byte-order-independent.
50 0       short           0x1f1f          old packed data
51
52 # XXX - why *two* entries for "compacted data", one of which is
53 # byte-order independent, and one of which is byte-order dependent?
54 #
55 0       short           0x1fff          compacted data
56 # This string is valid for SunOS (BE) and a matching "short" is listed
57 # in the Ultrix (LE) magic file.
58 0       string          \377\037        compacted data
59 0       short           0145405         huf output
60
61 # bzip2
62 0       string          BZh             bzip2 compressed data
63 >3      byte            >47             \b, block size = %c00k
64
65 # squeeze and crunch
66 # Michael Haardt <michael@cantor.informatik.rwth-aachen.de>
67 0       beshort         0x76FF          squeezed data,
68 >4      string          x               original name %s
69 0       beshort         0x76FE          crunched data,
70 >2      string          x               original name %s
71 0       beshort         0x76FD          LZH compressed data,
72 >2      string          x               original name %s
73
74 # Freeze
75 0       string          \037\237        frozen file 2.1
76 0       string          \037\236        frozen file 1.0 (or gzip 0.5)
77
78 # SCO compress -H (LZH)
79 0       string          \037\240        SCO compress -H (LZH) data
80
81 # European GSM 06.10 is a provisional standard for full-rate speech
82 # transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse
83 # excitation/long term prediction) coding at 13 kbit/s.
84 #
85 # There's only a magic nibble (4 bits); that nibble repeats every 33
86 # bytes.  This isn't suited for use, but maybe we can use it someday.
87 #
88 # This will cause very short GSM files to be declared as data and
89 # mismatches to be declared as data too!
90 #0      byte&0xF0       0xd0            data
91 #>33    byte&0xF0       0xd0
92 #>66    byte&0xF0       0xd0
93 #>99    byte&0xF0       0xd0
94 #>132   byte&0xF0       0xd0            GSM 06.10 compressed audio
95
96 # bzip  a block-sorting file compressor
97 #       by Julian Seward <sewardj@cs.man.ac.uk> and others
98 #
99 0       string          BZ              bzip compressed data
100 >2      byte            x               \b, version: %c
101 >3      string          =1              \b, compression block size 100k
102 >3      string          =2              \b, compression block size 200k
103 >3      string          =3              \b, compression block size 300k
104 >3      string          =4              \b, compression block size 400k
105 >3      string          =5              \b, compression block size 500k
106 >3      string          =6              \b, compression block size 600k
107 >3      string          =7              \b, compression block size 700k
108 >3      string          =8              \b, compression block size 800k
109 >3      string          =9              \b, compression block size 900k
110
111 # lzop from <markus.oberhumer@jk.uni-linz.ac.at>
112 0       string          \x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a    lzop compressed data
113 >9      beshort         <0x0940
114 >>9     byte&0xf0       =0x00           - version 0.
115 >>9     beshort&0x0fff  x               \b%03x,
116 >>13    byte            1               LZO1X-1,
117 >>13    byte            2               LZO1X-1(15),
118 >>13    byte            3               LZO1X-999,
119 ## >>22 bedate          >0              last modified: %s,
120 >>14    byte            =0x00           os: MS-DOS
121 >>14    byte            =0x01           os: Amiga
122 >>14    byte            =0x02           os: VMS
123 >>14    byte            =0x03           os: Unix
124 >>14    byte            =0x05           os: Atari
125 >>14    byte            =0x06           os: OS/2
126 >>14    byte            =0x07           os: MacOS
127 >>14    byte            =0x0A           os: Tops/20
128 >>14    byte            =0x0B           os: WinNT
129 >>14    byte            =0x0E           os: Win32
130 >9      beshort         >0x0939
131 >>9     byte&0xf0       =0x00           - version 0.
132 >>9     byte&0xf0       =0x10           - version 1.
133 >>9     byte&0xf0       =0x20           - version 2.
134 >>9     beshort&0x0fff  x               \b%03x,
135 >>15    byte            1               LZO1X-1,
136 >>15    byte            2               LZO1X-1(15),
137 >>15    byte            3               LZO1X-999,
138 ## >>25 bedate          >0              last modified: %s,
139 >>17    byte            =0x00           os: MS-DOS
140 >>17    byte            =0x01           os: Amiga
141 >>17    byte            =0x02           os: VMS
142 >>17    byte            =0x03           os: Unix
143 >>17    byte            =0x05           os: Atari
144 >>17    byte            =0x06           os: OS/2
145 >>17    byte            =0x07           os: MacOS
146 >>17    byte            =0x0A           os: Tops/20
147 >>17    byte            =0x0B           os: WinNT
148 >>17    byte            =0x0E           os: Win32
149
150 # 4.3BSD-Quasijarus Strong Compression
151 # http://minnie.tuhs.org/Quasijarus/compress.html
152 0       string          \037\241        Quasijarus strong compressed data
153
154 # From: Cory Dikkers <cdikkers@swbell.net>
155 0       string          XPKF            Amiga xpkf.library compressed data
156 0       string          PP11            Power Packer 1.1 compressed data
157 0       string          PP20            Power Packer 2.0 compressed data,
158 >4      belong          0x09090909      fast compression
159 >4      belong          0x090A0A0A      mediocre compression
160 >4      belong          0x090A0B0B      good compression
161 >4      belong          0x090A0C0C      very good compression
162 >4      belong          0x090A0C0D      best compression
163
164 # 7-zip archiver, from Thomas Klausner (wiz@danbala.tuwien.ac.at)
165 # http://www.7-zip.org or DOC/7zFormat.txt 
166 #
167 0       string          7z\274\257\047\034      7-zip archive data,
168 >6      byte            x                       version %d
169 >7      byte            x                       \b.%d
170
171 # AFX compressed files (Wolfram Kleff)
172 2       string          -afx-           AFX compressed file data