7e34fe3a0df73c121b06a2344a50fdce88f95d34
[atutor.git] / mods / wiki / plugins / lib / mime_magic.php
1 <?php ############################### <license>NOT-PD</license> ###############################
2
3
4 /*
5
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.
11
12 */
13
14
15 $ewiki_plugins["mime_magic"][] = "ewiki_mime_magic";
16
17
18
19 function ewiki_mime_magic(&$binary_data) {
20
21    global $mime_magic_data;
22
23    $fd = substr($binary_data, 0, 3072);
24
25    foreach ($mime_magic_data as $def) {
26
27       if ($def[0] >= $f_read) {
28          continue;
29       }
30
31       $pos0 = $def[0];
32
33       if ($pos0[0] == ">") {
34
35          $pos0 = substr($pos0, 1);
36
37          if (strpos($fd, $def[3], $pos0) !== false) {
38
39                return($def[4]);
40          }
41
42       }
43       else {
44
45          $part = substr($fd, $pos0, $def[1]);
46
47          if ($mask = $def[2]) {
48
49             $value = 1 * ('0x'.bin2hex($part));
50
51             if (($value & $mask) == $def[3]) {
52
53                return($def[4]);
54             }
55
56          }
57          else {
58
59             if ($part == $def[3]) {
60
61                return($def[4]);
62             }
63
64          }
65       }
66
67    }
68
69 }
70
71
72
73
74
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")
556  );
557
558
559
560 ?>