1 <?php ############################### <license>NOT-PD</license> ###############################
6 # this was originally implemented for Nanoweb, but can now be used
7 # within ewiki to enhance the download/upload plugin.
8 # It was assembled from Debians mime-magic data, and is eventually
9 # covered by copyright and a BSD (?) license, please see your local
10 # /usr/share/misc/magic and the file(1) man page.
15 $ewiki_plugins["mime_magic"][] = "ewiki_mime_magic";
19 function ewiki_mime_magic(&$binary_data) {
21 global $mime_magic_data;
23 $fd = substr($binary_data, 0, 3072);
25 foreach ($mime_magic_data as $def) {
27 if ($def[0] >= $f_read) {
33 if ($pos0[0] == ">") {
35 $pos0 = substr($pos0, 1);
37 if (strpos($fd, $def[3], $pos0) !== false) {
45 $part = substr($fd, $pos0, $def[1]);
47 if ($mask = $def[2]) {
49 $value = 1 * ('0x'.bin2hex($part));
51 if (($value & $mask) == $def[3]) {
59 if ($part == $def[3]) {
75 $GLOBALS["mime_magic_data"] = array(
76 array(0, 2, 0, "\x06\x02", "application/x-alan-adventure-game"),
77 array(0, 4, 0, "TADS", "application/x-tads-game"),
78 array(0, 2, 0, "\x01\x10", "application/x-executable-file"),
79 array(0, 2, 0, "\x01\x11", "application/x-executable-file"),
80 array(0, 2, 0, "\x01
\83", "application/x-executable-file"),
81 array(0, 5, 0, "Core\001", "application/x-executable-file"),
82 array(0, 22, 0, "AMANDA: TAPESTART DATE", "application/x-amanda-header"),
83 array(0, 2, 0xfff0, 0xf0ff, "audio/mpeg"),
84 array(4, 2, 0, "¯\x11", "video/fli"),
85 array(4, 2, 0, "¯\x12", "video/flc"),
86 array(0, 4, 0, "MOVI", "video/x-sgi-movie"),
87 array(4, 4, 0, "moov", "video/quicktime"),
88 array(4, 4, 0, "mdat", "video/quicktime"),
89 array(0, 18, 0, "FiLeStArTfIlEsTaRt", "text/x-apple-binscii"),
90 array(0, 3, 0, "\x0aGL", "application/data"),
91 array(0, 2, 0, "\x76\xff", "application/data"),
92 array(0, 6, 0, "NuFile", "application/data"),
93 array(0, 6, 0, "N\xf5F\xe9l\xe5", "application/data"),
94 array(0, 4, 0, "\x00\x16\x05\x00", "application/data"),
95 array(0, 4, 0, "\x07\x16\x05\x00", "application/data"),
96 array(257, 6, 0, "ustar\0", "application/x-tar"),
97 array(257, 8, 0, "ustar\040\040\0", "application/x-gtar"),
98 array(0, 2, 0, "qÇ", "application/x-cpio"),
99 array(0, 2, 0, "Çq", "application/x-bcpio"),
100 array(0, 6, 0, "070707", "application/x-cpio"),
101 array(0, 6, 0, "070701", "application/x-cpio"),
102 array(0, 6, 0, "070702", "application/x-cpio"),
103 array(0, 2, 0, "ÿm", "application/data"),
104 array(0, 2, 0, "ÿe", "application/data"),
105 array(0, 5, 0, "=<ar>", "application/x-ar"),
106 array(0, 19, 0, "!<arch>\n__________E", "application/x-ar"),
107 array(0, 3, 0, "-h-", "application/data"),
108 array(0, 7, 0, "!<arch>", "application/x-ar"),
109 array(0, 4, 0, "<ar>", "application/x-ar"),
110 array(0, 4, 0, ">ra<", "application/x-ar"),
111 array(0, 4, 0, "!<ar", "application/x-ar"),
112 array(0, 4, 0, "\x00\x03
\9bí", "application/data"),
113 array(0, 4, 0, "\x00\x03
\9bî", "application/data"),
114 array(0, 4, 0x8080ffff, 0x81a, "application/x-arc"),
115 array(0, 4, 0x8080ffff, 0x91a, "application/x-arc"),
116 array(0, 4, 0x8080ffff, 0x21a, "application/x-arc"),
117 array(0, 4, 0x8080ffff, 0x31a, "application/x-arc"),
118 array(0, 4, 0x8080ffff, 0x41a, "application/x-arc"),
119 array(0, 4, 0x8080ffff, 0x61a, "application/x-arc"),
120 array(0, 8, 0, "\032archive", "application/data"),
121 array(0, 2, 0, "ê`", "application/x-arj"),
122 array(0, 4, 0, "HPAK", "application/data"),
123 array(0, 8, 0, "\351,\001JAM\ ", "application/data"),
124 array(2, 5, 0, "-lh0-", "application/x-lha"),
125 array(2, 5, 0, "-lh1-", "application/x-lha"),
126 array(2, 5, 0, "-lz4-", "application/x-lha"),
127 array(2, 5, 0, "-lz5-", "application/x-lha"),
128 array(2, 5, 0, "-lzs-", "application/x-lha"),
129 array(2, 5, 0, "-lh\40-", "application/x-lha"),
130 array(2, 5, 0, "-lhd-", "application/x-lha"),
131 array(2, 5, 0, "-lh2-", "application/x-lha"),
132 array(2, 5, 0, "-lh3-", "application/x-lha"),
133 array(2, 5, 0, "-lh4-", "application/x-lha"),
134 array(2, 5, 0, "-lh5-", "application/x-lha"),
135 array(0, 4, 0, "Rar!", "application/x-rar"),
136 array(0, 4, 0, "SQSH", "application/data"),
137 array(0, 4, 0, "UC2\x1a", "application/data"),
138 array(0, 4, 0, "PK\003\004", "application/zip"),
139 array(20, 4, 0, "ýħÜ", "application/x-zoo"),
140 array(10, 25, 0, "# This is a shell archive", "application/x-shar"),
141 array(0, 4, 0, "*STA", "application/data"),
142 array(0, 4, 0, "2278", "application/data"),
143 array(0, 2, 0, "p\x01", "application/x-executable-file"),
144 array(0, 2, 0, "q\x01", "application/x-executable-file"),
145 array(0, 5, 0, "\000\004\036\212\200", "application/core"),
146 array(0, 4, 0, ".snd", "audio/basic"),
147 array(0, 4, 0, "\x00ds.", "audio/basic"),
148 array(0, 4, 0, "MThd", "audio/midi"),
149 array(0, 4, 0, "CTMF", "audio/x-cmf"),
150 array(0, 3, 0, "SBI", "audio/x-sbi"),
151 array(0, 19, 0, "Creative Voice File", "audio/x-voc"),
152 array(0, 4, 0, "KRTN", "audio/x-multitrack"),
153 array(0, 4, 0, "RIFF", "audio/x-wav"),
154 array(0, 4, 0, "EMOD", "audio/x-emod"),
155 array(0, 4, 0, "ýar.", "audio/x-pn-realaudio"),
156 array(0, 3, 0, "MTM", "audio/x-multitrack"),
157 array(0, 2, 0, "if", "audio/x-669-mod"),
158 array(0, 3, 0, "FAR", "audio/mod"),
159 array(0, 5, 0, "MAS_U", "audio/x-multimate-mod"),
160 array(0x2c, 4, 0, "SCRM", "audio/x-st3-mod"),
161 array(0, 22, 0, "GF1PATCH110\0ID#000002\0", "audio/x-gus-patch"),
162 array(0, 22, 0, "GF1PATCH100\0ID#000002\0", "audio/x-gus-patch"),
163 array(0, 2, 0, "JN", "audio/x-669-mod"),
164 array(0, 4, 0, "UN05", "audio/x-mikmod-uni"),
165 array(21, 8, 0, "!SCREAM!", "audio/x-st2-mod"),
166 array(1080, 4, 0, "M.K.", "audio/x-protracker-mod"),
167 array(1080, 4, 0, "M!K!", "audio/x-protracker-mod"),
168 array(1080, 4, 0, "FLT4", "audio/x-startracker-mod"),
169 array(1080, 4, 0, "4CHN", "audio/x-fasttracker-mod"),
170 array(1080, 4, 0, "6CHN", "audio/x-fasttracker-mod"),
171 array(1080, 4, 0, "8CHN", "audio/x-fasttracker-mod"),
172 array(1080, 4, 0, "CD81", "audio/x-oktalyzer-mod"),
173 array(1080, 4, 0, "OKTA", "audio/x-oktalyzer-mod"),
174 array(1080, 4, 0, "16CN", "audio/x-taketracker-mod"),
175 array(1080, 4, 0, "32CN", "audio/x-taketracker-mod"),
176 array(0, 3, 0, "TOC", "audio/x-toc"),
177 array(0, 2, 0, "\x07\x01", "application/x-executable-file"),
178 array(0, 2, 0, "\x01\x06", "application/x-executable-file"),
179 array(0, 2, 0, "\x06\x01", "application/x-executable-file"),
180 array(0, 2, 0, "//", "text/cpp"),
181 array(0, 5, 0, "\\1cw ", "application/data"),
182 array(0, 4, 0, "\\1cw", "application/data"),
183 array(0, 4, 0xffffff00, 0x140185, "application/data"),
184 array(0, 4, 0xffffff00, 0xcb0185, "application/data"),
185 array(0, 2, 0, "\x01}", "application/x-executable-file"),
186 array(0, 2, 0, "\x01
\7f", "application/x-executable-file"),
187 array(4, 4, 0, "pipe", "application/data"),
188 array(4, 4, 0, "prof", "application/data"),
189 array(0, 9, 0, "#!/bin/sh", "application/x-sh"),
190 array(0, 10, 0, "#! /bin/sh", "application/x-sh"),
191 array(0, 11, 0, "#!\ /bin/sh", "application/x-sh"),
192 array(0, 10, 0, "#!/bin/csh", "application/x-csh"),
193 array(0, 11, 0, "#! /bin/csh", "application/x-csh"),
194 array(0, 12, 0, "#!\ /bin/csh", "application/x-csh"),
195 array(0, 10, 0, "#!/bin/ksh", "application/x-ksh"),
196 array(0, 11, 0, "#! /bin/ksh", "application/x-ksh"),
197 array(0, 12, 0, "#!\ /bin/ksh", "application/x-ksh"),
198 array(0, 17, 0, "#!/usr/local/tcsh", "application/x-csh"),
199 array(0, 21, 0, "#!/usr/local/bin/tcsh", "application/x-csh"),
200 array(0, 22, 0, "#! /usr/local/bin/tcsh", "application/x-csh"),
201 array(0, 23, 0, "#!\ /usr/local/bin/tcsh", "application/x-csh"),
202 array(0, 20, 0, "#!/usr/local/bin/zsh", "application/x-zsh"),
203 array(0, 21, 0, "#! /usr/local/bin/zsh", "application/x-zsh"),
204 array(0, 22, 0, "#!\ /usr/local/bin/zsh", "application/x-zsh"),
205 array(0, 20, 0, "#!/usr/local/bin/ash", "application/x-sh"),
206 array(0, 21, 0, "#! /usr/local/bin/ash", "application/x-zsh"),
207 array(0, 22, 0, "#!\ /usr/local/bin/ash", "application/x-zsh"),
208 array(0, 19, 0, "#!/usr/local/bin/ae", "text/script"),
209 array(0, 20, 0, "#! /usr/local/bin/ae", "text/script"),
210 array(0, 21, 0, "#!\ /usr/local/bin/ae", "text/script"),
211 array(0, 11, 0, "#!/bin/nawk", "application/x-awk"),
212 array(0, 12, 0, "#! /bin/nawk", "application/x-awk"),
213 array(0, 13, 0, "#!\ /bin/nawk", "application/x-awk"),
214 array(0, 15, 0, "#!/usr/bin/nawk", "application/x-awk"),
215 array(0, 16, 0, "#! /usr/bin/nawk", "application/x-awk"),
216 array(0, 17, 0, "#!\ /usr/bin/nawk", "application/x-awk"),
217 array(0, 21, 0, "#!/usr/local/bin/nawk", "application/x-awk"),
218 array(0, 22, 0, "#! /usr/local/bin/nawk", "application/x-awk"),
219 array(0, 23, 0, "#!\ /usr/local/bin/nawk", "application/x-awk"),
220 array(0, 11, 0, "#!/bin/gawk", "application/x-awk"),
221 array(0, 12, 0, "#! /bin/gawk", "application/x-awk"),
222 array(0, 13, 0, "#!\ /bin/gawk", "application/x-awk"),
223 array(0, 15, 0, "#!/usr/bin/gawk", "application/x-awk"),
224 array(0, 16, 0, "#! /usr/bin/gawk", "application/x-awk"),
225 array(0, 17, 0, "#!\ /usr/bin/gawk", "application/x-awk"),
226 array(0, 21, 0, "#!/usr/local/bin/gawk", "application/x-awk"),
227 array(0, 22, 0, "#! /usr/local/bin/gawk", "application/x-awk"),
228 array(0, 23, 0, "#!\ /usr/local/bin/gawk", "application/x-awk"),
229 array(0, 10, 0, "#!/bin/awk", "application/x-awk"),
230 array(0, 11, 0, "#! /bin/awk", "application/x-awk"),
231 array(0, 12, 0, "#!\ /bin/awk", "application/x-awk"),
232 array(0, 14, 0, "#!/usr/bin/awk", "application/x-awk"),
233 array(0, 15, 0, "#! /usr/bin/awk", "application/x-awk"),
234 array(0, 16, 0, "#!\ /usr/bin/awk", "application/x-awk"),
235 array(0, 5, 0, "BEGIN", "application/x-awk"),
236 array(0, 11, 0, "#!/bin/perl", "application/x-perl"),
237 array(0, 12, 0, "#! /bin/perl", "application/x-perl"),
238 array(0, 13, 0, "#!\ /bin/perl", "application/x-perl"),
239 array(0, 20, 0, "eval \"exec /bin/perl", "application/x-perl"),
240 array(0, 15, 0, "#!/usr/bin/perl", "application/x-perl"),
241 array(0, 16, 0, "#! /usr/bin/perl", "application/x-perl"),
242 array(0, 17, 0, "#!\ /usr/bin/perl", "application/x-perl"),
243 array(0, 24, 0, "eval \"exec /usr/bin/perl", "application/x-perl"),
244 array(0, 21, 0, "#!/usr/local/bin/perl", "application/x-perl"),
245 array(0, 22, 0, "#! /usr/local/bin/perl", "application/x-perl"),
246 array(0, 23, 0, "#!\ /usr/local/bin/perl", "application/x-perl"),
247 array(0, 30, 0, "eval \"exec /usr/local/bin/perl", "application/x-perl"),
248 array(0, 9, 0, "#!/bin/rc", "text/script"),
249 array(0, 10, 0, "#! /bin/rc", "text/script"),
250 array(0, 11, 0, "#!\ /bin/rc", "text/script"),
251 array(0, 11, 0, "#!/bin/bash", "application/x-sh"),
252 array(0, 12, 0, "#! /bin/bash", "application/x-sh"),
253 array(0, 13, 0, "#!\ /bin/bash", "application/x-sh"),
254 array(0, 21, 0, "#!/usr/local/bin/bash", "application/x-sh"),
255 array(0, 22, 0, "#! /usr/local/bin/bash", "application/x-sh"),
256 array(0, 23, 0, "#!\ /usr/local/bin/bash", "application/x-sh"),
257 array(0, 4, 0, "#! /", "text/script"),
258 array(0, 5, 0, "#!\ /", "text/script"),
259 array(0, 3, 0, "#!/", "text/script"),
260 array(0, 3, 0, "#! ", "text/script"),
261 array(0, 2, 0, "\037\235", "application/compress"),
262 array(0, 2, 0, "\037\213", "application/x-gzip"),
263 array(0, 2, 0, "\037\036", "application/data"),
264 array(0, 2, 0, "\x1f\x1f", "application/data"),
265 array(0, 2, 0, "\x1fÿ", "application/data"),
266 array(0, 2, 0, "\377\037", "application/data"),
267 array(0, 2, 0, "Ë\x05", "application/data"),
268 array(0, 3, 0, "BZh", "application/x-bzip2"),
269 array(0, 2, 0, "ÿv", "application/data"),
270 array(0, 2, 0, "þv", "application/data"),
271 array(0, 2, 0, "ýv", "application/x-lzh"),
272 array(0, 2, 0, "\037\237", "application/data"),
273 array(0, 2, 0, "\037\236", "application/data"),
274 array(0, 2, 0, "\037\240", "application/data"),
275 array(0, 2, 0, "BZ", "application/x-bzip"),
276 array(0, 9, 0, "\x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a", "application/data"),
277 array(0, 4, 0, "W\x12\x01\x00", "application/core"),
278 array(0, 4, 0, "ΚW\x13", "application/x-gdbm"),
279 array(0, 4, 0, "\x13W
\9aÎ", "application/x-gdbm"),
280 array(0, 4, 0, "GDBM", "application/x-gdbm"),
281 array(0, 4, 0, "a\x15\x06\x00", "application/x-db"),
282 array(0, 4, 0, "b1\x05\x00", "application/x-db"),
283 array(0, 23, 0, "=<list>\n<protocol bbn-m", "application/data"),
284 array(0, 5, 0, "diff ", "text/x-patch"),
285 array(0, 4, 0, "*** ", "text/x-patch"),
286 array(0, 8, 0, "Only in ", "text/x-patch"),
287 array(0, 23, 0, "Common subdirectories: ", "text/x-patch"),
288 array(0, 19, 0, "!<arch>\n________64E", "application/data"),
289 array(0, 2, 0, "\x01
\88", "application/x-executable-file"),
290 array(0, 2, 0, "\x01
\8f", "application/x-object-file"),
291 array(0, 3, 0, "\377\377\177", "application/data"),
292 array(0, 3, 0, "\377\377\174", "application/data"),
293 array(0, 3, 0, "\377\377\176", "application/data"),
294 array(0, 3, 0, "\033c\033", "application/data"),
295 array(0, 4, 0, "\x00\x12և", "image/x11"),
296 array(0, 8, 0, "!<PDF>!\n", "application/x-prof"),
297 array(0, 2, 0, "\x05\x01", "application/x-locale"),
298 array(0, 4, 0, "\177ELF", "application/x-executable-file"),
299 array(0, 2, 0, "\x01T", "application/data"),
300 array(0, 2, 0, "\x01U", "application/x-executable-file"),
301 array(0x438, 2, 0, "ïS", "application/x-linux-ext2fs"),
302 array(0, 4, 0, "\366\366\366\366", "application/x-pc-floppy"),
303 array(0774, 2, 0, "¾Ú", "application/data"),
304 array(0x1FE, 2, 0, "ªU", "application/data"),
305 array(0x410, 2, 0, "\x13
\7f", "application/x-filesystem"),
306 array(0x410, 2, 0, "\x13
\8f", "application/x-filesystem"),
307 array(0x410, 2, 0, "\x24h", "application/x-filesystem"),
308 array(0x410, 2, 0, "\x24x", "application/x-filesystem"),
309 array(0, 9, 0, "-rom1fs-\0", "application/x-filesystem"),
310 array(0, 4, 0, "\x1b\x03\x136", "application/x-bootable"),
311 array(0x18b, 4, 0, "OS/2", "application/x-bootable"),
312 array(0, 4, 0, "FONT", "font/x-vfont"),
313 array(0, 2, 0, "\x01\x1e", "font/x-vfont"),
314 array(0, 2, 0, "\x1e\x01", "font/x-vfont"),
315 array(0, 18, 0, "%!PS-AdobeFont-1.0", "font/type1"),
316 array(6, 18, 0, "%!PS-AdobeFont-1.0", "font/type1"),
317 array(0, 10, 0, "STARTFONT\040", "font/x-bdf"),
318 array(0, 4, 0, "\001fcp", "font/x-pcf"),
319 array(0, 5, 0, "D1.0\015", "font/x-speedo"),
320 array(0, 3, 0, "flf", "font/x-figlet"),
321 array(0, 3, 0, "flc", "application/x-font"),
322 array(0, 4, 0, "\x19Y\x02\x14", "font/x-libgrx"),
323 array(0, 4, 0, "NOFÿ", "font/x-dos"),
324 array(7, 4, 0, "AGE\x00", "font/x-dos"),
325 array(7, 4, 0, "DIV\x00", "font/x-dos"),
326 array(0, 10, 0, "<MakerFile", "application/x-framemaker"),
327 array(0, 8, 0, "<MIFFile", "application/x-framemaker"),
328 array(0, 16, 0, "<MakerDictionary", "application/x-framemaker"),
329 array(0, 16, 0, "<MakerScreenFont", "font/x-framemaker"),
330 array(0, 4, 0, "<MML", "application/x-framemaker"),
331 array(0, 9, 0, "<BookFile", "application/x-framemaker"),
332 array(0, 6, 0, "<Maker", "application/x-framemaker"),
333 array(0, 4, 0377777777, 0x860107, "application/x-executable-file"),
334 array(0, 4, 0377777777, 0x860108, "application/x-executable-file"),
335 array(0, 4, 0377777777, 0x86010b, "application/x-executable-file"),
336 array(0, 4, 0377777777, 0x8600cc, "application/x-executable-file"),
337 array(7, 22, 0, "\357\020\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", "application/core"),
338 array(0, 4, 0, "LDHi", "application/data"),
339 array(0, 13, 0, "GIMP Gradient", "application/x-gimp-gradient"),
340 array(0, 8, 0, "gimp xcf", "application/x-gimp-image"),
341 array(20, 4, 0, "GPAT", "application/x-gimp-pattern"),
342 array(20, 4, 0, "GIMP", "application/x-gimp-brush"),
343 array(0, 4, 0, "\336\22\4\225", "application/x-locale"),
344 array(0, 4, 0, "\225\4\22\336", "application/x-locale"),
345 array(0, 2, 0, "
\97\x01", "application/x-executable-file"),
346 array(0, 2, 0, "
\94\x01", "application/x-executable-file"),
347 array(0, 5, 0, "\000\001\000\000\000", "font/ttf"),
348 array(0, 4, 0, "\x0a\x0f\x08\x0e", "application/data"),
349 array(0, 4, 0, "\x0f\x0a\x0e\x08", "application/data"),
350 array(0, 4, 0, "\x08\x0e\x0a\x0f", "application/data"),
351 array(0, 4, 0, "\x0e\x08\x0f\x0a", "application/data"),
352 array(0, 4, 0, "\x06\x01\x10\x02", "application/x-object-file"),
353 array(0, 4, 0, "\x07\x01\x10\x02", "application/x-executable-file"),
354 array(0, 4, 0, "\x08\x01\x10\x02", "application/x-executable-file"),
355 array(0, 4, 0, "\x0b\x01\x10\x02", "application/x-executable-file"),
356 array(0, 4, 0, "\x0e\x01\x10\x02", "application/x-library-file"),
357 array(0, 4, 0, "\x0d\x01\x10\x02", "application/x-library-file"),
358 array(0, 4, 0, "\x06\x01\x14\x02", "application/x-object-file"),
359 array(0, 4, 0, "\x07\x01\x14\x02", "application/x-executable-file"),
360 array(0, 4, 0, "\x08\x01\x14\x02", "application/x-executable-file"),
361 array(0, 4, 0, "\x0b\x01\x14\x02", "application/x-executable-file"),
362 array(0, 4, 0, "\x0e\x01\x14\x02", "application/x-library-file"),
363 array(0, 4, 0, "\x0d\x01\x14\x02", "application/x-object-file"),
364 array(0, 4, 0, "\x06\x01\x0b\x02", "application/x-object-file"),
365 array(0, 4, 0, "\x07\x01\x0b\x02", "application/x-executable-file"),
366 array(0, 4, 0, "\x08\x01\x0b\x02", "application/x-executable-file"),
367 array(0, 4, 0, "\x0b\x01\x0b\x02", "application/x-executable-file"),
368 array(0, 4, 0, "\x0e\x01\x0b\x02", "application/x-library-file"),
369 array(0, 4, 0, "\x0d\x01\x0b\x02", "application/x-library-file"),
370 array(0, 4, 0, "ra<!", "application/x-ar"),
371 array(0, 4, 0, "\x02\x08\x01\x06", "application/x-executable-file"),
372 array(0, 4, 0, "\x02\x08\x01\x07", "application/x-executable-file"),
373 array(0, 4, 0, "\x02\x08\x01\x08", "application/x-executable-file"),
374 array(0, 4, 0, "\x08\x01\x0c\x02", "application/x-executable-file"),
375 array(0, 4, 0, "\x07\x01\x0c\x02", "application/x-executable-file"),
376 array(0, 4, 0, "\x0b\x01\x0c\x02", "application/x-executable-file"),
377 array(0, 4, 0, "\x06\x01\x0c\x02", "application/x-executable-file"),
378 array(0, 4, 0, "\x08\x01\x0a\x02", "application/x-executable-file"),
379 array(0, 4, 0, "\x07\x01\x0a\x02", "application/x-executable-file"),
380 array(0, 4, 0, "\x0e\x01\x0c\x02", "application/x-library-file"),
381 array(0, 4, 0, "\x0d\x01\x0c\x02", "application/x-library-file"),
382 array(0, 4, 0, "\x02\x0aÿe", "application/x-library-file"),
383 array(0, 4, 0, "\x02\x0cÿe", "application/x-library-file"),
384 array(0, 4, 0, "\x02\x08ÿe", "application/x-library-file"),
385 array(0, 4, 0, "\x01X!¦", "application/core"),
386 array(0, 4, 0, "M§îè", "font/x-hp-windows"),
387 array(0, 10, 0, "Bitmapfile", "image/unknown"),
388 array(0, 4, 0, "\x02\x0c\x01\x0c", "application/x-lisp"),
389 array(0, 8, 0, "msgcat01", "application/x-locale"),
390 array(0, 2, 0, "P1", "image/x-portable-bitmap"),
391 array(0, 2, 0, "P2", "image/x-portable-graymap"),
392 array(0, 2, 0, "P3", "image/x-portable-pixmap"),
393 array(0, 2, 0, "P4", "image/x-portable-bitmap"),
394 array(0, 2, 0, "P5", "image/x-portable-graymap"),
395 array(0, 2, 0, "P6", "image/x-portable-pixmap"),
396 array(0, 4, 0, "IIN1", "image/tiff"),
397 array(0, 4, 0, "MM\x00\x2a", "image/tiff"),
398 array(0, 4, 0, "II\x2a\x00", "image/tiff"),
399 array(0, 4, 0, "\x89PNG", "image/x-png"),
400 array(1, 3, 0, "PNG", "image/x-png"),
401 array(0, 4, 0, "GIF8", "image/gif"),
402 array(0, 4, 0, "\361\0\100\273", "image/x-cmu-raster"),
403 array(0, 2, 0, "Øÿ", "image/jpeg"),
404 array(0, 4, 0, "hsi1", "image/x-jpeg-proprietary"),
405 array(0, 2, 0, "BM", "image/x-bmp"),
406 array(0, 2, 0, "IC", "image/x-ico"),
407 array(0, 4, 0, "
\95j¦Y", "x/x-image-sun-raster"),
408 array(0, 2, 0, "Ú\x01", "x/x-image-sgi"),
409 array(2048, 7, 0, "PCD_IPI", "x/x-photo-cd-pack-file"),
410 array(0, 7, 0, "PCD_OPA", "x/x-photo-cd-overfiew-file"),
411 array(0, 2, 0, "\x01H", "application/x-executable-file"),
412 array(0, 2, 0, "\x01I", "application/x-executable-file"),
413 array(0, 2, 0, "\x01J", "application/x-executable-file"),
414 array(0, 2, 0, "\x01R", "application/x-executable-file"),
415 array(0, 2, 0, "\x01L", "application/x-executable-file"),
416 array(0, 2, 0, "\x046", "font/linux-psf"),
417 array(0, 4, 0, "FFIL", "font/ttf"),
418 array(65, 4, 0, "FFIL", "font/ttf"),
419 array(0, 4, 0, "LWFN", "font/type1"),
420 array(65, 4, 0, "LWFN", "font/type1"),
421 array(0, 12, 0, "Return-Path:", "message/rfc822"),
422 array(0, 5, 0, "Path:", "message/news"),
423 array(0, 5, 0, "Xref:", "message/news"),
424 array(0, 5, 0, "From:", "message/rfc822"),
425 array(0, 7, 0, "Article", "message/news"),
426 array(0, 5, 0, "BABYL", "message/x-gnu-rmail"),
427 array(0, 9, 0, "Received:", "message/rfc822"),
428 array(0, 2, 0, "MZ", "application/x-ms-dos-executable"),
429 array(2080, 27, 0, "Microsoft Word 6.0 Document", "text/vnd.ms-word"),
430 array(2080, 26, 0, "Documento Microsoft Word 6", "text/vnd.ms-word"),
431 array(2112, 9, 0, "MSWordDoc", "text/vnd.ms-word"),
432 array(0, 5, 0, "PO^Q`", "text/vnd.ms-word"),
433 array(2080, 29, 0, "Microsoft Excel 5.0 Worksheet", "application/vnd.ms-excel"),
434 array(2114, 5, 0, "Biff5", "application/vnd.ms-excel"),
435 array(1, 3, 0, "WPC", "text/vnd.wordperfect"),
436 array(0, 4, 0377777777, 0x7018600, "NetBSD/i386"),
437 array(0, 4, 0377777777, 0x7018700, "NetBSD/m68k"),
438 array(0, 4, 0377777777, 0x7018800, "NetBSD/m68k4k"),
439 array(0, 4, 0377777777, 0x7018900, "NetBSD/ns32532"),
440 array(0, 4, 0377777777, 0x7018a00, "NetBSD/sparc"),
441 array(0, 4, 0377777777, 0x7018b00, "NetBSD/pmax"),
442 array(0, 4, 0377777777, 0x7018c00, "NetBSD/vax"),
443 array(0, 4, 0377777777, 0x7018e00, "NetBSD/mips"),
444 array(0, 4, 0377777777, 0x7018f00, "NetBSD/arm32"),
445 array(0, 16, 0, "StartFontMetrics", "font/x-sunos-news"),
446 array(0, 9, 0, "StartFont", "font/x-sunos-news"),
447 array(0, 4, 0, "D)z\x13", "font/x-sunos-news"),
448 array(0, 4, 0, "G)z\x13", "font/x-sunos-news"),
449 array(0, 4, 0, "P)z\x13", "font/x-sunos-news"),
450 array(0, 4, 0, "Q)z\x13", "font/x-sunos-news"),
451 array(8, 4, 0, "E+z\x13", "font/x-sunos-news"),
452 array(8, 4, 0, "H+z\x13", "font/x-sunos-news"),
453 array(0, 2, 0, "%!", "application/postscript"),
454 array(0, 3, 0, "\004%!", "application/postscript"),
455 array(0, 3, 0, "\033E\033", "image/x-pcl-hp"),
456 array(0, 14, 0, "<!DOCTYPE HTML", "text/html"),
457 array(0, 14, 0, "<!doctype html", "text/html"),
458 array(0, 5, 0, "<HEAD", "text/html"),
459 array(0, 5, 0, "<head", "text/html"),
460 array(0, 6, 0, "<TITLE", "text/html"),
461 array(0, 6, 0, "<title", "text/html"),
462 array(0, 5, 0, "<html", "text/html"),
463 array(0, 5, 0, "<HTML", "text/html"),
464 array(0, 2, 0, "\367\203", "font/x-tex"),
465 array(0, 2, 0, "\367\131", "font/x-tex"),
466 array(0, 2, 0, "\367\312", "font/x-tex"),
467 array(2, 2, 0, "\000\021", "font/x-tex-tfm"),
468 array(2, 2, 0, "\000\022", "font/x-tex-tfm"),
469 array('>2', 2, 0, "º¾", "application/java"),
470 array(8, 4, 0, "AIFF", "audio/x-aiff"),
471 array(8, 4, 0, "AIFC", "audio/x-aiff"),
472 array(8, 4, 0, "8SVX", "audio/x-aiff"),
473 array('>8', 4, 0, "WAVE", "audio/x-wav"),
474 array('>8', 3, 0, "AVI", "video/x-msvideo"),
475 array(0, 3, 0, "ID3", "audio/mpeg"),
476 array(0, 4, 0, "OggS", "audio/x-ogg"),
477 array(0, 6, 0, "/* XPM", "image/x-xpm"),
478 array(16, 2, 0, "==", "image/x-3ds"),
479 array(0, 11, 0, "#!/bin/tcsh", "application/x-shellscript"),
480 array(0, 12, 0, "#! /bin/tcsh", "application/x-shellscript"),
481 array(0, 18, 0, "#! /usr/local/tcsh", "application/x-shellscript"),
482 array('>8', 6, 0, "debian", "application/x-debian-package"),
483 array('>2', 2, 0, "Ûî", "application/x-rpm"),
484 array(2, 5, 0, "-lh -", "application/x-lha"),
485 array(2, 5, 0, "-lh6-", "application/x-lha"),
486 array(2, 5, 0, "-lh7-", "application/x-lha"),
487 array(0, 15, 0, "<MakerScreenFon", "application/x-frame"),
488 array(0, 5, 0, "<Book", "application/x-frame"),
489 array(0, 3, 0, "<h1", "text/html"),
490 array(0, 3, 0, "<H1", "text/html"),
491 array(0, 14, 0, "<!doctype HTML", "text/html"),
492 array(0, 2, 0, "MM", "image/tiff"),
493 array(0, 2, 0, "II", "image/tiff"),
494 array(0, 6, 0, "GIF94z", "image/unknown"),
495 array(0, 6, 0, "FGF95a", "image/unknown"),
496 array(0, 3, 0, "PBF", "image/unknown"),
497 array(0, 3, 0, "GIF", "image/gif"),
498 array(0, 4, 0, "\376\067\0\043", "application/msword"),
499 array(0, 6, 0, "\320\317\021\340\241\261", "application/msword"),
500 array(0, 6, 0, "\333\245-\0\0\0", "application/msword"),
501 array(0, 2, 0, "\x02÷", "application/x-dvi"),
502 array(0, 2, 0, "¯\x11", "video/fli"),
503 array(0, 2, 0, "¯\x12", "video/flc"),
504 array('>8', 4, 0, "AVI ", "video/avi"),
505 array(0, 1, 0, "\x01", "video/unknown"),
506 array(0, 1, 0, "\x02", "video/unknown"),
507 array(0, 19, 0, "[KDE Desktop Entry]", "application/x-kdelnk"),
508 array(0, 18, 0, "\# KDE Config File", "application/x-kdelnk"),
509 array(0, 7, 0, "\# xmcd", "text/xmcd"),
510 array(0, 4, 0, "\x8aMNG", "video/x-mng"),
511 array(0, 4, 0, "ó\x03\x00\x00", "application/x-executable-file"),
512 array(0, 4, 0, "ç\x03\x00\x00", "application/x-library-file"),
513 array(0, 4, 0, "³\x01\x00\x00", "video/mpeg"),
514 array(0, 4, 0, "º\x01\x00\x00", "video/mpeg"),
515 array(0, 4, 0, "\x00\x00
\81l", "application/x-apl-workspace"),
516 array(0, 4, 0, "\x00\x00ÿm", "application/x-ar"),
517 array(0, 4, 0, "\x00\x00ÿe", "application/data"),
518 array(0, 4, 0, "\x00\x00\x01\x06", "application/x-executable-file"),
519 array(0, 4, 0, "G\x01\x00\x00", "application/x-object-file"),
520 array(0, 4, 0, "K\x01\x00\x00", "application/x-executable-file"),
521 array(0, 4, 0, "M\x01\x00\x00", "application/x-executable-file"),
522 array(0, 4, 0, "O\x01\x00\x00", "application/x-executable-file"),
523 array(24, 4, 0, "kê\x00\x00", "application/data"),
524 array(24, 4, 0, "lê\x00\x00", "application/data"),
525 array(24, 4, 0, "mê\x00\x00", "application/data"),
526 array(24, 4, 0, "nê\x00\x00", "application/data"),
527 array(0, 4, 0, "
\81\x01\x00\x00", "application/x-object-file"),
528 array(0, 4, 0, "
\87\x01\x00\x00", "application/data"),
529 array(24, 4, 0, "\x00\x00êl", "application/x-dump"),
530 array(24, 4, 0, "\x00\x00êk", "application/x-dump"),
531 array(0, 4, 0, "\x00\x00¾1", "text/vnd.ms-word"),
532 array(0, 2, 0, "\x00\x00", "audio/mpeg"),
533 array('>16', 2, 0, "\x00\x01", "application/x-object"),
534 array('>16', 2, 0, "\x00\x02", "application/x-executable"),
535 array('>16', 2, 0, "\x00\x03", "application/x-sharedlib"),
536 array('>16', 2, 0, "\x00\x04", "application/x-coredump"),
537 array(0, 4, 0, "\x00\x00\x00Ì", "application/x-executable-file"),
538 array(0, 4, 0, "\x04\x00\x00\x00", "font/x-snf"),
539 array(0, 4, 0, "\x00\x00\x00\x04", "font/x-snf"),
540 array('>12', 4, 0, "\x01\x00\x00\x00", "audio/basic"),
541 array('>12', 4, 0, "\x02\x00\x00\x00", "audio/basic"),
542 array('>12', 4, 0, "\x03\x00\x00\x00", "audio/basic"),
543 array('>12', 4, 0, "\x04\x00\x00\x00", "audio/basic"),
544 array('>12', 4, 0, "\x05\x00\x00\x00", "audio/basic"),
545 array('>12', 4, 0, "\x06\x00\x00\x00", "audio/basic"),
546 array('>12', 4, 0, "\x07\x00\x00\x00", "audio/basic"),
547 array('>12', 4, 0, "\x17\x00\x00\x00", "audio/x-adpcm"),
548 array('>12', 4, 0, "\x00\x00\x00\x01", "audio/x-dec-basic"),
549 array('>12', 4, 0, "\x00\x00\x00\x02", "audio/x-dec-basic"),
550 array('>12', 4, 0, "\x00\x00\x00\x03", "audio/x-dec-basic"),
551 array('>12', 4, 0, "\x00\x00\x00\x04", "audio/x-dec-basic"),
552 array('>12', 4, 0, "\x00\x00\x00\x05", "audio/x-dec-basic"),
553 array('>12', 4, 0, "\x00\x00\x00\x06", "audio/x-dec-basic"),
554 array('>12', 4, 0, "\x00\x00\x00\x07", "audio/x-dec-basic"),
555 array('>12', 4, 0, "\x00\x00\x00\x17", "audio/x-dec-adpcm")