Remove building with NOCRYPTO option
[minix.git] / external / bsd / file / dist / magic / magdir / compress
blobbeb8ebe66a40b8d8fdb186eaffcbbebe35fec666
1 #------------------------------------------------------------------------------
2 # $File: compress,v 1.62 2014/09/13 14:27:12 christos Exp $
3 # compress:  file(1) magic for pure-compression formats (no archives)
5 # compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, etc.
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.
11 # standard unix compress
12 0       string          \037\235        compress'd data
13 !:mime  application/x-compress
14 !:apple LZIVZIVU
15 >2      byte&0x80       >0              block compressed
16 >2      byte&0x1f       x               %d bits
18 # gzip (GNU zip, not to be confused with Info-ZIP or PKWARE zip archiver)
19 #   Edited by Chris Chittleborough <cchittleborough@yahoo.com.au>, March 2002
20 #       * Original filename is only at offset 10 if "extra field" absent
21 #       * Produce shorter output - notably, only report compression methods
22 #         other than 8 ("deflate", the only method defined in RFC 1952).
23 0       string          \037\213        gzip compressed data
24 !:mime  application/x-gzip
25 !:strength * 2
26 >2      byte            <8              \b, reserved method
27 >2      byte            >8              \b, unknown method
28 >3      byte            &0x01           \b, ASCII
29 >3      byte            &0x02           \b, has CRC
30 >3      byte            &0x04           \b, extra field
31 >3      byte&0xC        =0x08
32 >>10    string          x               \b, was "%s"
33 >3      byte            &0x10           \b, has comment
34 >3      byte            &0x20           \b, encrypted
35 >4      ledate          >0              \b, last modified: %s
36 >8      byte            2               \b, max compression
37 >8      byte            4               \b, max speed
38 >9      byte            =0x00           \b, from FAT filesystem (MS-DOS, OS/2, NT)
39 >9      byte            =0x01           \b, from Amiga
40 >9      byte            =0x02           \b, from VMS
41 >9      byte            =0x03           \b, from Unix
42 >9      byte            =0x04           \b, from VM/CMS
43 >9      byte            =0x05           \b, from Atari
44 >9      byte            =0x06           \b, from HPFS filesystem (OS/2, NT)
45 >9      byte            =0x07           \b, from MacOS
46 >9      byte            =0x08           \b, from Z-System
47 >9      byte            =0x09           \b, from CP/M
48 >9      byte            =0x0A           \b, from TOPS/20
49 >9      byte            =0x0B           \b, from NTFS filesystem (NT)
50 >9      byte            =0x0C           \b, from QDOS
51 >9      byte            =0x0D           \b, from Acorn RISCOS
53 # packed data, Huffman (minimum redundancy) codes on a byte-by-byte basis
54 0       string          \037\036        packed data
55 !:mime  application/octet-stream
56 >2      belong          >1              \b, %d characters originally
57 >2      belong          =1              \b, %d character originally
59 # This magic number is byte-order-independent.
60 0       short           0x1f1f          old packed data
61 !:mime  application/octet-stream
63 # XXX - why *two* entries for "compacted data", one of which is
64 # byte-order independent, and one of which is byte-order dependent?
66 0       short           0x1fff          compacted data
67 !:mime  application/octet-stream
68 # This string is valid for SunOS (BE) and a matching "short" is listed
69 # in the Ultrix (LE) magic file.
70 0       string          \377\037        compacted data
71 !:mime  application/octet-stream
72 0       short           0145405         huf output
73 !:mime  application/octet-stream
75 # bzip2
76 0       string          BZh             bzip2 compressed data
77 !:mime  application/x-bzip2
78 >3      byte            >47             \b, block size = %c00k
80 # lzip
81 0       string          LZIP            lzip compressed data
82 !:mime application/x-lzip
83 >4      byte            x               \b, version: %d
85 # squeeze and crunch
86 # Michael Haardt <michael@cantor.informatik.rwth-aachen.de>
87 0       beshort         0x76FF          squeezed data,
88 >4      string          x               original name %s
89 0       beshort         0x76FE          crunched data,
90 >2      string          x               original name %s
91 0       beshort         0x76FD          LZH compressed data,
92 >2      string          x               original name %s
94 # Freeze
95 0       string          \037\237        frozen file 2.1
96 0       string          \037\236        frozen file 1.0 (or gzip 0.5)
98 # SCO compress -H (LZH)
99 0       string          \037\240        SCO compress -H (LZH) data
101 # European GSM 06.10 is a provisional standard for full-rate speech
102 # transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse
103 # excitation/long term prediction) coding at 13 kbit/s.
105 # There's only a magic nibble (4 bits); that nibble repeats every 33
106 # bytes.  This isn't suited for use, but maybe we can use it someday.
108 # This will cause very short GSM files to be declared as data and
109 # mismatches to be declared as data too!
110 #0      byte&0xF0       0xd0            data
111 #>33    byte&0xF0       0xd0
112 #>66    byte&0xF0       0xd0
113 #>99    byte&0xF0       0xd0
114 #>132   byte&0xF0       0xd0            GSM 06.10 compressed audio
116 # bzip  a block-sorting file compressor
117 #       by Julian Seward <sewardj@cs.man.ac.uk> and others
119 #0      string          BZ              bzip compressed data
120 #>2     byte            x               \b, version: %c
121 #>3     string          =1              \b, compression block size 100k
122 #>3     string          =2              \b, compression block size 200k
123 #>3     string          =3              \b, compression block size 300k
124 #>3     string          =4              \b, compression block size 400k
125 #>3     string          =5              \b, compression block size 500k
126 #>3     string          =6              \b, compression block size 600k
127 #>3     string          =7              \b, compression block size 700k
128 #>3     string          =8              \b, compression block size 800k
129 #>3     string          =9              \b, compression block size 900k
131 # lzop from <markus.oberhumer@jk.uni-linz.ac.at>
132 0       string          \x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a    lzop compressed data
133 >9      beshort         <0x0940
134 >>9     byte&0xf0       =0x00           - version 0.
135 >>9     beshort&0x0fff  x               \b%03x,
136 >>13    byte            1               LZO1X-1,
137 >>13    byte            2               LZO1X-1(15),
138 >>13    byte            3               LZO1X-999,
139 ## >>22 bedate          >0              last modified: %s,
140 >>14    byte            =0x00           os: MS-DOS
141 >>14    byte            =0x01           os: Amiga
142 >>14    byte            =0x02           os: VMS
143 >>14    byte            =0x03           os: Unix
144 >>14    byte            =0x05           os: Atari
145 >>14    byte            =0x06           os: OS/2
146 >>14    byte            =0x07           os: MacOS
147 >>14    byte            =0x0A           os: Tops/20
148 >>14    byte            =0x0B           os: WinNT
149 >>14    byte            =0x0E           os: Win32
150 >9      beshort         >0x0939
151 >>9     byte&0xf0       =0x00           - version 0.
152 >>9     byte&0xf0       =0x10           - version 1.
153 >>9     byte&0xf0       =0x20           - version 2.
154 >>9     beshort&0x0fff  x               \b%03x,
155 >>15    byte            1               LZO1X-1,
156 >>15    byte            2               LZO1X-1(15),
157 >>15    byte            3               LZO1X-999,
158 ## >>25 bedate          >0              last modified: %s,
159 >>17    byte            =0x00           os: MS-DOS
160 >>17    byte            =0x01           os: Amiga
161 >>17    byte            =0x02           os: VMS
162 >>17    byte            =0x03           os: Unix
163 >>17    byte            =0x05           os: Atari
164 >>17    byte            =0x06           os: OS/2
165 >>17    byte            =0x07           os: MacOS
166 >>17    byte            =0x0A           os: Tops/20
167 >>17    byte            =0x0B           os: WinNT
168 >>17    byte            =0x0E           os: Win32
170 # 4.3BSD-Quasijarus Strong Compression
171 # http://minnie.tuhs.org/Quasijarus/compress.html
172 0       string          \037\241        Quasijarus strong compressed data
174 # From: Cory Dikkers <cdikkers@swbell.net>
175 0       string          XPKF            Amiga xpkf.library compressed data
176 0       string          PP11            Power Packer 1.1 compressed data
177 0       string          PP20            Power Packer 2.0 compressed data,
178 >4      belong          0x09090909      fast compression
179 >4      belong          0x090A0A0A      mediocre compression
180 >4      belong          0x090A0B0B      good compression
181 >4      belong          0x090A0C0C      very good compression
182 >4      belong          0x090A0C0D      best compression
184 # 7-zip archiver, from Thomas Klausner (wiz@danbala.tuwien.ac.at)
185 # http://www.7-zip.org or DOC/7zFormat.txt
187 0       string          7z\274\257\047\034      7-zip archive data,
188 >6      byte            x                       version %d
189 >7      byte            x                       \b.%d
190 !:mime  application/x-7z-compressed
192 # Type: LZMA
193 0       lelong&0xffffff =0x5d
194 >12     leshort         0xff                    LZMA compressed data,
195 !:mime  application/x-lzma
196 >>5     lequad          =0xffffffffffffffff     streamed
197 >>5     lequad          !0xffffffffffffffff     non-streamed, size %lld
198 >12     leshort         0                       LZMA compressed data,
199 >>5     lequad          =0xffffffffffffffff     streamed
200 >>5     lequad          !0xffffffffffffffff     non-streamed, size %lld
202 # http://tukaani.org/xz/xz-file-format.txt
203 0       ustring         \xFD7zXZ\x00            XZ compressed data
204 !:mime  application/x-xz
206 # https://github.com/ckolivas/lrzip/blob/master/doc/magic.header.txt
207 0       string          LRZI                    LRZIP compressed data
208 >4      byte            x                       - version %d
209 >5      byte            x                       \b.%d
210 !:mime  application/x-lrzip
212 # http://fastcompression.blogspot.fi/2013/04/lz4-streaming-format-final.html
213 0       lelong          0x184d2204      LZ4 compressed data (v1.4+)
214 !:mime  application/x-lz4
215 # Added by osm0sis@xda-developers.com
216 0       lelong          0x184c2103      LZ4 compressed data (v1.0-v1.3)
217 !:mime  application/x-lz4
218 0       lelong          0x184c2102      LZ4 compressed data (v0.1-v0.9)
219 !:mime  application/x-lz4
221 # AFX compressed files (Wolfram Kleff)
222 2       string          -afx-           AFX compressed file data
224 # Supplementary magic data for the file(1) command to support
225 # rzip(1).  The format is described in magic(5).
227 # Copyright (C) 2003 by Andrew Tridgell.  You may do whatever you want with
228 # this file.
230 0       string          RZIP            rzip compressed data
231 >4      byte            x               - version %d
232 >5      byte            x               \b.%d
233 >6      belong          x               (%d bytes)
235 0       string          ArC\x01         FreeArc archive <http://freearc.org>
237 # Type: DACT compressed files
238 0       long    0x444354C3      DACT compressed data
239 >4      byte    >-1             (version %i.
240 >5      byte    >-1             %i.
241 >6      byte    >-1             %i)
242 >7      long    >0              , original size: %i bytes
243 >15     long    >30             , block size: %i bytes
245 # Valve Pack (VPK) files
246 0       lelong  0x55aa1234      Valve Pak file
247 >0x4    lelong  x               \b, version %u
248 >0x8    lelong  x               \b, %u entries
250 # Snappy framing format
251 # http://code.google.com/p/snappy/source/browse/trunk/framing_format.txt
252 0       string  \377\006\0\0sNaPpY      snappy framed data
253 !:mime  application/x-snappy-framed
255 # qpress, http://www.quicklz.com/
256 0       string  qpress10        qpress compressed data
257 !:mime  application/x-qpress
259 # Zlib https://www.ietf.org/rfc/rfc6713.txt
260 0       beshort%31      =0      
261 >0      byte&0xf        =8
262 >>0     byte&0x80       =0      zlib compressed data
263 !:mime  application/zlib