## ## ## _ ## __ _ ___ ____ _(_)___ ## / ' \/ _ `/ _ `/ / __/ ## /_/_/_/\_,_/\_, /_/\__/ ## /___/ ## __ __ __ __ __ ## _ ___ ___ __ ___/ /__ ____ ____ / /___ __/ / / /___/ /__ ## | |/|/ / |/|/ / |/|/ // _ / _ `/ _ `(_- ## URL http://fsinfo.cs.uni-sb.de/~abe/apache-tips/magic ## Last modification: [magic: Mon 19-Nov-2001 3:37:26 (MET) axel@kathrin.dagstuhl.de] ## # Magic data for mod_mime_magic Apache module (originally for file(1) command) # The module is described in htdocs/manual/mod/mod_mime_magic.html # # The format is 4-5 columns: # Column #1: byte number to begin checking from, ">" indicates continuation # Column #2: type of data to match # Column #3: contents of data to match # Column #4: MIME type of result # Column #5: MIME encoding of result (optional) #------------------------------------------------------------------------------ # Localstuff: file(1) magic for locally observed files # Add any locally observed files here. #------------------------------------------------------------------------------ # end local stuff #------------------------------------------------------------------------------ #------------------------------------------------------------------------------ # audio: file(1) magic for sound formats # # from Jan Nicolai Langfeldt , # # Sun/NeXT audio data 0 string .snd >12 belong 1 audio/basic >12 belong 2 audio/basic >12 belong 3 audio/basic >12 belong 4 audio/basic >12 belong 5 audio/basic >12 belong 6 audio/basic >12 belong 7 audio/basic >12 belong 23 audio/x-adpcm # DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format # that uses little-endian encoding and has a different magic number # (0x0064732E in little-endian encoding). 0 lelong 0x0064732E >12 lelong 1 audio/x-dec-basic >12 lelong 2 audio/x-dec-basic >12 lelong 3 audio/x-dec-basic >12 lelong 4 audio/x-dec-basic >12 lelong 5 audio/x-dec-basic >12 lelong 6 audio/x-dec-basic >12 lelong 7 audio/x-dec-basic # compressed (G.721 ADPCM) >12 lelong 23 audio/x-dec-adpcm # Bytes 0-3 of AIFF, AIFF-C, & 8SVX audio files are "FORM" # AIFF audio data 8 string AIFF audio/x-aiff # AIFF-C audio data 8 string AIFC audio/x-aiff # IFF/8SVX audio data 8 string 8SVX audio/x-aiff # MIDI 0 string MThd audio/midi # Creative Labs AUDIO stuff # Standard MIDI data 0 string MThd audio/midi #>9 byte >0 (format %d) #>11 byte >1 using %d channels # Creative Music (CMF) data 0 string CTMF audio/x-cmf # SoundBlaster instrument data 0 string SBI audio/x-sbi # Creative Labs voice data 0 string Creative\ Voice\ File audio/x-cvf ## is this next line right? it came this way... #>19 byte 0x1A #>23 byte >0 - version %d #>22 byte >0 \b.%d # [GRR 950115: is this also Creative Labs? Guessing that first line # should be string instead of unknown-endian long...] #0 long 0x4e54524b MultiTrack sound data #0 string NTRK MultiTrack sound data #>4 long x - version %ld # Microsoft WAVE format (*.wav) # [GRR 950115: probably all of the shorts and longs should be leshort/lelong] # Microsoft RIFF 0 string RIFF audio/unknown # - WAVE format >8 string WAVE audio/x-wav # 0 belong 0x2e7261fd audio/vnd.pn-realaudio # MPEG Layer 3 sound files # Modified the 11/20/97 at 15:59:04 by Christophe Prud'homme # Changed by Axel Beckert from audio/x-mp3 to audio/mpeg 0 belong 0xfffb audio/mpeg # OGG files # Detects Ogg Vorbis compressed audio files. # Needs to be adapted to only detect Vorbis files, not all Ogg files, # but whether this is possible, I don't know. # # Comment by Axel Beckert : # This should bei audio/x-vorbis for vorbis-only ogg files and # application/x-ogg for ogg files that contain also other data. 0 string OggS audio/x-vorbis #------------------------------------------------------------------------------ # KSysV stuff: logfiles and packages belonging to KSysV # # KSysV logfiles 0 string KDE System V Init Editor text/x-ksysv-log # KSysV init packages 4 string KSysV >15 byte >0x01 application/x-ksysv-package #------------------------------------------------------------------------------ # c-lang: file(1) magic for C programs or various scripts # # XPM icons (Greg Roelofs, newt@uchicago.edu) # ideally should go into "images", but entries below would tag XPM as C source 0 string /*\ XPM image/x-xpm 7bit # this first will upset you if you're a PL/1 shop... (are there any left?) # in which case rm it; ascmagic will catch real C programs # C or REXX program text #0 string /* text/x-c # C++ program text #0 string // text/x-c++ #------------------------------------------------------------------------------ # commands: file(1) magic for various shells and interpreters # # Heavily modified the 12-Nov-01 by Axel Beckert # #0 string :\ shell archive or commands for antique kernel text # Bourne Shell 0 string #!/sbin/sh text/x-script.sh 0 string #!\ /sbin/sh text/x-script.sh 0 string #!/bin/sh text/x-script.sh 0 string #!\ /bin/sh text/x-script.sh 0 string #!/bin/bsh text/x-script.sh 0 string #!\ /bin/bsh text/x-script.sh 0 string #!/usr/bin/bsh text/x-script.sh 0 string #!\ /usr/bin/bsh text/x-script.sh 0 string #!/usr/local/bin/bsh text/x-script.sh 0 string #!\ /usr/local/bin/bsh text/x-script.sh 0 string #!/opt/bin/bsh text/x-script.sh 0 string #!\ /opt/bin/bsh text/x-script.sh 0 string #!/opt/local/bin/bsh text/x-script.sh 0 string #!\ /opt/local/bin/bsh text/x-script.sh # Almquist Shell (by Kenneth Almquist, Florian La Roche and others) 0 string #!/bin/ash text/x-script.sh 0 string #!\ /bin/ash text/x-script.sh 0 string #!/usr/bin/ash text/x-script.sh 0 string #!\ /usr/bin/ash text/x-script.sh 0 string #!/usr/local/bin/ash text/x-script.sh 0 string #!\ /usr/local/bin/ash text/x-script.sh 0 string #!/opt/bin/ash text/x-script.sh 0 string #!\ /opt/bin/ash text/x-script.sh 0 string #!/opt/local/bin/ash text/x-script.sh 0 string #!\ /opt/local/bin/ash text/x-script.sh # Bourne Again Shell 0 string #!/bin/bash text/x-script.bash 0 string #!\ /bin/bash text/x-script.bash 0 string #!/sbin/bash text/x-script.bash 0 string #!\ /sbin/bash text/x-script.bash 0 string #!/usr/bin/bash text/x-script.bash 0 string #!\ /usr/bin/bash text/x-script.bash 0 string #!/usr/local/bin/bash text/x-script.bash 0 string #!\ /usr/local/bin/bash text/x-script.bash 0 string #!/opt/bin/bash text/x-script.bash 0 string #!\ /opt/bin/bash text/x-script.bash 0 string #!/opt/local/bin/bash text/x-script.bash 0 string #!\ /opt/local/bin/bash text/x-script.bash # Korn Shell and derivatives 0 string #!/bin/ksh text/x-script.ksh 0 string #!\ /bin/ksh text/x-script.ksh 0 string #!/usr/bin/ksh text/x-script.ksh 0 string #!\ /usr/bin/ksh text/x-script.ksh 0 string #!/bin/jsh text/x-script.ksh 0 string #!\ /bin/jsh text/x-script.ksh 0 string #!/sbin/jsh text/x-script.ksh 0 string #!\ /sbin/jsh text/x-script.ksh 0 string #!/usr/bin/jsh text/x-script.ksh 0 string #!\ /usr/bin/jsh text/x-script.ksh # Z Shell 0 string #!/bin/zsh text/x-script.zsh 0 string #!\ /bin/zsh text/x-script.zsh 0 string #!/usr/bin/zsh text/x-script.zsh 0 string #!\ /usr/bin/zsh text/x-script.zsh 0 string #!/usr/local/bin/zsh text/x-script.zsh 0 string #!\ /usr/local/bin/zsh text/x-script.zsh 0 string #!/opt/bin/zsh text/x-script.zsh 0 string #!\ /opt/bin/zsh text/x-script.zsh 0 string #!/opt/local/bin/zsh text/x-script.zsh 0 string #!\ /opt/local/bin/zsh text/x-script.zsh # C Shell and derivatives 0 string #!/bin/csh text/x-script.csh 0 string #!\ /bin/csh text/x-script.csh 0 string #!/usr/bin/csh text/x-script.csh 0 string #!\ /usr/bin/csh text/x-script.csh 0 string #!/usr/local/bin/csh text/x-script.csh 0 string #!\ /usr/local/bin/csh text/x-script.csh 0 string #!/opt/bin/csh text/x-script.csh 0 string #!\ /opt/bin/csh text/x-script.csh 0 string #!/opt/local/bin/csh text/x-script.csh 0 string #!\ /opt/local/bin/csh text/x-script.csh # Tenex C Shell (aka tcsh) 0 string #!/bin/tcsh text/x-script.csh 0 string #!\ /bin/tcsh text/x-script.csh 0 string #!/usr/bin/tcsh text/x-script.csh 0 string #!\ /usr/bin/tcsh text/x-script.csh 0 string #!/usr/local/bin/tcsh text/x-script.csh 0 string #!\ /usr/local/bin/tcsh text/x-script.csh 0 string #!/opt/bin/tcsh text/x-script.csh 0 string #!\ /opt/bin/tcsh text/x-script.csh 0 string #!/opt/local/bin/tcsh text/x-script.csh 0 string #!\ /opt/local/bin/tcsh text/x-script.csh # Neil Brown's ae Shell 0 string #!/usr/bin/ae text/x-script.ae 0 string #!\ /usr/bin/ae text/x-script.ae 0 string #!/usr/local/bin/ae text/x-script.ae 0 string #!\ /usr/local/bin/ae text/x-script.ae 0 string #!/opt/bin/ae text/x-script.ae 0 string #!\ /opt/bin/ae text/x-script.ae 0 string #!/opt/local/bin/ae text/x-script.ae 0 string #!\ /opt/local/bin/ae text/x-script.ae # awk and derivatives 0 string #!/bin/awk application/x-awk 0 string #!\ /bin/awk application/x-awk 0 string #!/usr/bin/awk application/x-awk 0 string #!\ /usr/bin/awk application/x-awk 0 string #!/usr/local/bin/awk application/x-awk 0 string #!\ /usr/local/bin/awk application/x-awk 0 string #!/opt/bin/awk application/x-awk 0 string #!\ /opt/bin/awk application/x-awk 0 string #!/opt/local/bin/awk application/x-awk 0 string #!\ /opt/local/bin/awk application/x-awk # This isn't only awk. It also can bei PERL. #0 string BEGIN application/x-awk # nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson) 0 string #!/bin/gawk application/x-gawk 0 string #!\ /bin/gawk application/x-gawk 0 string #!/usr/bin/gawk application/x-gawk 0 string #!\ /usr/bin/gawk application/x-gawk 0 string #!/usr/local/bin/gawk application/x-gawk 0 string #!\ /usr/local/bin/gawk application/x-gawk 0 string #!/opt/bin/gawk application/x-gawk 0 string #!\ /opt/bin/gawk application/x-gawk 0 string #!/opt/local/bin/gawk application/x-gawk 0 string #!\ /opt/local/bin/gawk application/x-gawk 0 string #!/bin/nawk application/x-nawk 0 string #!\ /bin/nawk application/x-nawk 0 string #!/usr/bin/nawk application/x-nawk 0 string #!\ /usr/bin/nawk application/x-nawk 0 string #!/usr/local/bin/nawk application/x-nawk 0 string #!\ /usr/local/bin/nawk application/x-nawk 0 string #!/opt/bin/nawk application/x-nawk 0 string #!\ /opt/bin/nawk application/x-nawk 0 string #!/opt/local/bin/nawk application/x-nawk 0 string #!\ /opt/local/bin/nawk application/x-nawk # For Larry Wall's PERL. The ``eval'' line recognizes an outrageously # clever hack for USG systems. # Keith Waclena 0 string #!/bin/perl text/x-script.perl 0 string #!\ /bin/perl text/x-script.perl 0 string eval\ "exec\ /bin/perl text/x-script.perl 0 string #!/usr/bin/perl text/x-script.perl 0 string #!\ /usr/bin/perl text/x-script.perl 0 string eval\ "exec\ /usr/bin/perl text/x-script.perl 0 string #!/usr/local/bin/perl text/x-script.perl 0 string #!\ /usr/local/bin/perl text/x-script.perl 0 string eval\ "exec\ /usr/local/bin/perl text/x-script.perl 0 string #!/bin/perl5 text/x-script.perl 0 string #!\ /bin/perl5 text/x-script.perl 0 string eval\ "exec\ /bin/perl5 text/x-script.perl 0 string #!/usr/bin/perl5 text/x-script.perl 0 string #!\ /usr/bin/perl5 text/x-script.perl 0 string eval\ "exec\ /usr/bin/perl5 text/x-script.perl 0 string #!/usr/local/bin/perl5 text/x-script.perl 0 string #!\ /usr/local/bin/perl5 text/x-script.perl 0 string eval\ "exec\ /usr/local/bin/perl5 text/x-script.perl 0 string #!/opt/bin/perl text/x-script.perl 0 string #!\ /opt/bin/perl text/x-script.perl 0 string eval\ "exec\ /opt/bin/perl text/x-script.perl 0 string #!/opt/local/bin/perl text/x-script.perl 0 string #!\ /opt/local/bin/perl text/x-script.perl 0 string eval\ "exec\ /opt/local/bin/perl text/x-script.perl 0 string #!/bin/perl5 text/x-script.perl 0 string #!\ /bin/perl5 text/x-script.perl 0 string eval\ "exec\ /bin/perl5 text/x-script.perl 0 string #!/opt/bin/perl5 text/x-script.perl 0 string #!\ /opt/bin/perl5 text/x-script.perl 0 string eval\ "exec\ /opt/bin/perl5 text/x-script.perl 0 string #!/opt/local/bin/perl5 text/x-script.perl 0 string #!\ /opt/local/bin/perl5 text/x-script.perl 0 string eval\ "exec\ /opt/local/bin/perl5 text/x-script.perl # PERL Modules and PERL POD. By Axel Beckert 0 string package text/x-script.perl-module 0 string =head1 text/x-pod 0 string =head2 text/x-pod 0 string =item text/x-pod 0 string =over text/x-pod 0 string =pod text/x-pod 0 string =for text/x-pod 0 string =begin text/x-pod # Python # 0 string #!/bin/python text/x-script.python 0 string #!\ /bin/python text/x-script.python 0 string eval\ "exec\ /bin/python text/x-script.python 0 string #!/usr/bin/python text/x-script.python 0 string #!\ /usr/bin/python text/x-script.python 0 string eval\ "exec\ /usr/bin/python text/x-script.python 0 string #!/usr/local/bin/python text/x-script.python 0 string #!\ /usr/local/bin/python text/x-script.python 0 string #!/opt/bin/python text/x-script.python 0 string #!\ /opt/bin/python text/x-script.python 0 string eval\ "exec\ /opt/bin/python text/x-script.python 0 string #!/opt/local/bin/python text/x-script.python 0 string #!\ /opt/local/bin/python text/x-script.python # With the trailing "n" the string would be too long, at least for file 3.37 0 string eval\ "exec\ /usr/local/bin/pytho text/x-script.python 0 string eval\ "exec\ /usr/local/bin/pytho text/x-script.python 0 belong 0x994e0d0a application/x-bytecode.python #------------------------------------------------------------------------------ # compress: file(1) magic for pure-compression formats (no archives) # # compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, whap, etc. # # Formats for various forms of compressed data # Formats for "compress" proper have been moved into "compress.c", # because it tries to uncompress it to figure out what's inside. # standard unix compress 0 string \037\235 application/x-compress # gzip (GNU zip, not to be confused with [Info-ZIP/PKWARE] zip archiver) 0 string \037\213 application/x-gzip # BZIP2 0 string BZh application/x-bzip2 # PKZIP 0 string PK\003\004 application/x-zip # Zoo archiver 20 lelong 0xfdc4a7dc application/x-zoo >4 byte >48 application/x-zoo >>6 byte >47 application/x-zoo >>>7 byte >47 application/x-zoo >32 byte >0 application/x-zoo >>33 byte x application/x-zoo >42 lelong 0xfdc4a7dc application/x-zoo >>70 byte >0 application/x-zoo >>>71 byte x application/x-zoo # According to gzip.h, this is the correct byte order for packed data. 0 string \037\036 application/octet-stream # # This magic number is byte-order-independent. # 0 short 017437 application/octet-stream # XXX - why *two* entries for "compacted data", one of which is # byte-order independent, and one of which is byte-order dependent? # # compacted data 0 short 0x1fff application/octet-stream 0 string \377\037 application/octet-stream # huf output 0 short 0145405 application/octet-stream # Squeeze and Crunch... # These numbers were gleaned from the Unix versions of the programs to # handle these formats. Note that I can only uncrunch, not crunch, and # I didn't have a crunched file handy, so the crunch number is untested. # Keith Waclena #0 leshort 0x76FF squeezed data (CP/M, DOS) #0 leshort 0x76FE crunched data (CP/M, DOS) # Freeze #0 string \037\237 Frozen file 2.1 #0 string \037\236 Frozen file 1.0 (or gzip 0.5) # lzh? #0 string \037\240 LZH compressed data 257 string ustar\0 application/x-tar posix 257 string ustar\040\040\0 application/gnutar gnu 0 short 070707 application/x-cpio 0 string 070701 application/x-cpio 0 string 070702 application/x-cpio 0 short 0143561 application/x-cpio swapped 0 string = application/x-archive 0 string ! application/x-archive >8 string debian application/x-debian-package #------------------------------------------------------------------------------ # # RPM: file(1) magic for Red Hat Packages Erik Troan (ewt@redhat.com) # 0 beshort 0xedab >2 beshort 0xeedb application/x-redhat-package 0 lelong&0x8080ffff 0x0000081a application/x-arc lzw 0 lelong&0x8080ffff 0x0000091a application/x-arc squashed 0 lelong&0x8080ffff 0x0000021a application/x-arc uncompressed 0 lelong&0x8080ffff 0x0000031a application/x-arc packed 0 lelong&0x8080ffff 0x0000041a application/x-arc squeezed 0 lelong&0x8080ffff 0x0000061a application/x-arc crunched 0 leshort 0xea60 application/octet-stream x-arj # LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu) 2 string -lh0- application/x-lharc lh0 2 string -lh1- application/x-lharc lh1 2 string -lz4- application/x-lharc lz4 2 string -lz5- application/x-lharc lz5 # [never seen any but the last; -lh4- reported in comp.compression:] 2 string -lzs- application/x-lha lzs 2 string -lh\ - application/x-lha lh 2 string -lhd- application/x-lha lhd 2 string -lh2- application/x-lha lh2 2 string -lh3- application/x-lha lh3 2 string -lh4- application/x-lha lh4 2 string -lh5- application/x-lha lh5 # Shell archives 10 string #\ This\ is\ a\ shell\ archive application/x-shar x-shell # RAR archiver (Greg Roelofs, newt@uchicago.edu) 0 string Rar! application/x-rar #------------------------------------------------------------------------------ # frame: file(1) magic for FrameMaker files # # This stuff came on a FrameMaker demo tape, most of which is # copyright, but this file is "published" as witness the following: # 0 string \ # 0 string \14 byte 12 (OS/2 1.x format) #>14 byte 64 (OS/2 2.x format) #>14 byte 40 (Windows 3.x format) #0 string IC icon #0 string PI pointer #0 string CI color icon #0 string CP color pointer #0 string BA bitmap array #------------------------------------------------------------------------------ # lisp: file(1) magic for lisp programs # # various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com) 0 string ;; application/x-lisp # Emacs 18 - this is always correct, but not very magical. 0 string \012( application/x-bytecode.elisp # Emacs 19 0 string ;ELC\023\000\000\000 application/x-bytecode.elisp #------------------------------------------------------------------------------ # mail.news: file(1) magic for mail and news # # There are tests to ascmagic.c to cope with mail and news. 0 string Relay-Version: message/rfc822 7bit 0 string #!\ rnews message/rfc822 7bit 0 string N#!\ rnews message/rfc822 7bit 0 string Forward\ to message/rfc822 7bit 0 string Pipe\ to message/rfc822 7bit 0 string Return-Path: message/rfc822 7bit 0 string Path: message/news 8bit 0 string Xref: message/news 8bit 0 string From: message/rfc822 7bit 0 string Article message/news 8bit #------------------------------------------------------------------------------ # msword: file(1) magic for MS Word files # # Contributor claims: # Reversed-engineered MS Word magic numbers # 0 string \376\067\0\043 application/msword 0 string \320\317\021\340\241\261 application/msword 0 string \333\245-\0\0\0 application/msword 2080 string Microsoft\ Word\ 6.0\ Document application/msword 2112 string Microsoft Word document data application/msword # excel 2080 string Microsoft\ Excel\ 5.0\ Worksheet application/msexcel #------------------------------------------------------------------------------ # word perfect # File::MMagic argues about Integer overflow with this hexadecimal number #0 belong 0xff575053c405 application/wordperfect 1 string WPC application/wordperfect #------------------------------------------------------------------------------ # printer: file(1) magic for printer-formatted files # # PostScript 0 string %! application/postscript 0 string %%Page: application/postscript 0 string \004%! application/postscript # Acrobat # (due to clamen@cs.cmu.edu) 0 string %PDF- application/pdf #------------------------------------------------------------------------------ # sc: file(1) magic for "sc" spreadsheet # 38 string Spreadsheet application/x-sc #------------------------------------------------------------------------------ # tex: file(1) magic for TeX files # # XXX - needs byte-endian stuff (big-endian and little-endian DVI?) # # From # Although we may know the offset of certain text fields in TeX DVI # and font files, we can't use them reliably because they are not # zero terminated. [but we do anyway, christos] 0 string \367\002 application/x-dvi #0 string \367\203 TeX generic font data #0 string \367\131 TeX packed font data #0 string \367\312 TeX virtual font data # Maybe we should have a mimetype like x-tex-log, but in any case # text/plain is better than nothing. (David Faure) 0 string This\ is\ TeX, text/plain 0 string This\ is\ METAFONT, text/plain # LaTeX 2.09 / LaTeX2e (by Axel Beckert ) 0 string \\documentclass application/x-latex 0 string \\documentstyle application/x-latex 0 string \\NeedsTeX application/x-latex 0 string \\ProvidesFile application/x-latex 0 string \\ProvidesPackage application/x-latex 0 string \\ProvidesClass application/x-latex 0 string \\usepackage application/x-latex 0 string \\typeout application/x-tex # There is no way to detect TeX Font Metric (*.tfm) files without # breaking them apart and reading the data. The following patterns # match most *.tfm files generated by METAFONT or afm2tfm. 2 string \000\021 application/x-tex-tfm 2 string \000\022 application/x-tex-tfm #>34 string >\0 (%s) # Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com) #0 string \\input\ texinfo Texinfo source text #0 string This\ is\ Info\ file GNU Info text # correct TeX magic for Linux (and maybe more) # from Peter Tobias (tobias@server.et-inf.fho-emden.de) # 0 leshort 0x02f7 application/x-dvi # RTF - Rich Text Format 0 string {\\rtf text/rtf #------------------------------------------------------------------------------ # animation: file(1) magic for animation/movie formats # # animation formats, originally from vax@ccwf.cc.utexas.edu (VaX#n8) # MPEG file 0 belong 0x000001b3 video/mpeg 0 belong 0x000001ba video/mpeg 0 beshort&0xfff0 0xfff0 audio/mpeg # FLI animation format 0 leshort 0xAF11 video/fli # FLC animation format 0 leshort 0xAF12 video/flc # AVI >8 string AVI\ video/avi # # SGI and Apple formats # 0 string MOVI video/sgi 4 string moov video/quicktime moov 4 string mdat video/quicktime mdat # The contributor claims: # I couldn't find a real magic number for these, however, this # -appears- to work. Note that it might catch other files, too, # so BE CAREFUL! # # Note that title and author appear in the two 20-byte chunks # at decimal offsets 2 and 22, respectively, but they are XOR'ed with # 255 (hex FF)! DL format SUCKS BIG ROCKS. # # DL file version 1 , medium format (160x100, 4 images/screen) 0 byte 1 video/unknown 0 byte 2 video/unknown # # Databases # # GDBM magic numbers # Will be maintained as part of the GDBM distribution in the future. # 0 belong 0x13579ace application/x-gdbm 0 lelong 0x13579ace application/x-gdbm 0 string GDBM application/x-gdbm # 0 belong 0x061561 application/x-dbm # # Executables # 0 string \177ELF >4 byte 0 >4 byte 1 >4 byte 2 >5 byte 0 >5 byte 1 >>16 leshort 0 >>16 leshort 1 application/x-object >>16 leshort 2 application/x-executable >>16 leshort 3 application/x-sharedlib >>16 leshort 4 application/x-coredump >5 byte 2 >>16 beshort 0 >>16 beshort 1 application/x-object >>16 beshort 2 application/x-executable >>16 beshort 3 application/x-sharedlib >>16 beshort 4 application/x-coredump # # DOS 0 string MZ application/x-dosexec # # KDE 0 string [Desktop\ Entry] application/x-desktop 0 string [Desktop\ Action application/x-desktop 0 string [KDE\ Desktop\ Entry] application/x-desktop 0 string \#\ Config\ File application/x-desktop 0 string \#\ KDE\ Config\ File application/x-desktop # xmcd database file for kscd 0 string \#\ xmcd text/xmcd #------------------------------------------------------------------------------ # Java 0 short 0xcafe >2 short 0xbabe application/java # news and mail 0 string Return-Path: message/rfc822 0 string Path: message/news 0 string Xref: message/news 0 string From: message/rfc822 0 string Article message/news 0 string BABYL message/x-gnu-rmail 0 string Received: message/rfc822 # vcard / vcalendar 0 string BEGIN:VCALENDAR text/x-vcalendar 0 string begin:vcalendar text/x-vcalendar 0 string BEGIN:VCARD text/x-vcard 0 string begin:vcard text/x-vcard # applix #------------------------------------------------------------------------------ # applix: file(1) magic for Applixware # From: Peter Soos # 0 string *BEGIN application/x-applix >7 string WORDS application/x-applix >7 string GRAPHICS application/x-applix >7 string RASTER application/x-applix >7 string SPREADSHEETS application/x-applix >7 string MACRO application/x-applix >7 string BUILDER application/x-applix #------------------------------------------------------------------------------ # diff: file(1) magic for diff(1) output # 0 string diff\ text/x-diff 0 string ***\ text/x-diff 0 string Only\ in\ text/x-diff 0 string Common\ subdirectories:\ text/x-diff #------------------------------------------------------------------------------ # flash: file(1) magic for Macromedia Flash file format # # See # # http://www.macromedia.com/software/flash/open/ # 0 string FWS application/x-shockwave-flash #------------------------------------------------------------------------------ # wml: file(1) magic for WML (Wireless Markup Language) files # # from Axel Beckert # (Just the first line is legal WML syntax... :-) 0 string \ 0 string gimp\ xcf\ file image/x-xcf