# Magic data for KMimeMagic (originally for file(1) command) # # 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 #------------------------------------------------------------------------------ # Localstuff: file(1) magic for locally observed files # Add any locally observed files here. #------------------------------------------------------------------------------ # end local stuff #------------------------------------------------------------------------------ #------------------------------------------------------------------------------ # audio: file(1) magic for sound formats (see also "iff") # # Jan Nicolai Langfeldt (janl@ifi.uio.no), Dan Quinlan (quinlan@yggdrasil.com), # and others # # 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 >12 belong 24 audio/x-adpcm >12 belong 25 audio/x-adpcm >12 belong 26 audio/x-adpcm >12 belong 27 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 0 lelong 0x0064732E >12 lelong 1 audio/x-adpcm >12 lelong 2 audio/x-adpcm >12 lelong 3 audio/x-adpcm >12 lelong 4 audio/x-adpcm >12 lelong 5 audio/x-adpcm >12 lelong 6 audio/x-adpcm >12 lelong 7 audio/x-adpcm # compressed (G.721 ADPCM) >12 lelong 23 audio/x-adpcm # Creative Labs AUDIO stuff 0 string MThd audio/x-midi #0 string CTMF Creative Music (CMF) data #0 string SBI SoundBlaster instrument data #0 string Creative\ Voice\ File Creative Labs voice data # Real Audio (Magic .ra\0375) 0 belong 0x2e7261fd audio/vnd.rn-realaudio 0 string .RMF application/vnd.rn-realmedia # OGG files # For theora at position 87, see bug #109598 0 string OggS application/ogg >28 string \x01vorbis audio/vorbis >28 string fLaC audio/x-oggflac >28 string \x80theora video/x-theora >87 string \x80theora video/x-theora >28 string Speex\ \ audio/x-speex >29 string video video/x-ogm >29 string FLAC audio/x-oggflac # FLAC files 0 string fLaC audio/x-flac # Musepack files 0 string MP+ audio/x-musepack # C64 PSID sound files 0 string PSID audio/prs.sid #------------------------------------------------------------------------------ # riff: file(1) magic for RIFF format # See # # http://www.seanet.com/users/matts/riffmci/riffmci.htm # # RIFF (little-endian) data 0 string RIFF # RIFF MIDI format #>8 string RMID audio/x-midi? # Microsoft WAVE format (*.wav) >8 string WAVE audio/x-wav >>20 leshort 80 audio/mpeg >>20 leshort 85 audio/x-mp3 # Corel Draw Picture #>8 string CDRA Corel Draw Picture # AVI == Audio Video Interleave >8 string AVI\040 video/x-msvideo # RIFF (big-endian) data 0 string RIFX # RIFF MIDI format #>8 string RMID \b, MIDI # Microsoft WAVE format (*.wav) >8 string WAVE audio/x-wav # Corel Draw Picture #>8 string CDRA \b, Corel Draw Picture # AVI == Audio Video Interleave >8 string AVI\040 video/x-msvideo #------------------------------------------------------------------------------ # iff: file(1) magic for Interchange File Format (see also "audio" & "images") # # Daniel Quinlan (quinlan@yggdrasil.com) -- IFF was designed by Electronic # Arts for file interchange. It has also been used by Apple, SGI, and # especially Commodore-Amiga. # # IFF files begin with an 8 byte FORM header, followed by a 4 character # FORM type, which is followed by the first chunk in the FORM. 0 string FORM >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 #>8 string SAMP \b, SAMP sampled audio #>8 string DTYP \b, DTYP datatype description #>8 string PTCH \b, PTCH binary patch # image formats #>8 string ILBMBMHD \b, ILBM interleaved image # other formats #>8 string FTXT \b, FTXT formatted text #------------------------------------------------------------------------------ # 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 # 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 # #0 string :\ shell archive or commands for antique kernel text 0 string #!/bin/sh application/x-shellscript 0 string #!\ /bin/sh application/x-shellscript 0 string #!/bin/csh application/x-shellscript 0 string #!\ /bin/csh application/x-shellscript # korn shell magic, sent by George Wu, gwu@clyde.att.com 0 string #!/bin/ksh application/x-shellscript 0 string #!\ /bin/ksh application/x-shellscript 0 string #!/bin/zsh application/x-shellscript 0 string #!\ /bin/zsh application/x-shellscript 0 string #!/bin/tcsh application/x-shellscript 0 string #!\ /bin/tcsh application/x-shellscript 0 string #!/usr/local/tcsh application/x-shellscript 0 string #!\ /usr/local/tcsh application/x-shellscript 0 string #!/usr/local/bin/tcsh application/x-shellscript 0 string #!\ /usr/local/bin/tcsh application/x-shellscript # /usr/bin paths for ksh, zsh and tcsh 0 string #!/usr/bin/ksh application/x-shellscript 0 string #!\ /usr/bin/ksh application/x-shellscript 0 string #!/usr/bin/zsh application/x-shellscript 0 string #!\ /usr/bin/zsh application/x-shellscript 0 string #!/usr/bin/tcsh application/x-shellscript 0 string #!\ /usr/bin/tcsh application/x-shellscript # bash shell magic, from Peter Tobias (tobias@server.et-inf.fho-emden.de) 0 string #!/bin/bash application/x-shellscript 0 string #!\ /bin/bash application/x-shellscript 0 string #!/usr/local/bin/bash application/x-shellscript 0 string #!\ /usr/local/bin/bash application/x-shellscript 0 string #!\ /bin/env\ bash application/x-shellscript 0 string #!/bin/env\ bash application/x-shellscript 0 string #!\ /usr/bin/env\ bash application/x-shellscript 0 string #!/usr/bin/env\ bash application/x-shellscript # 0 string #!/bin/ash application/x-shellscript 0 string #!\ /bin/ash application/x-shellscript # zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson) 0 string #!/usr/local/bin/zsh application/x-shellscript 0 string #!\ /usr/local/bin/zsh application/x-shellscript 0 string #!/usr/local/bin/ash application/x-shellscript 0 string #!\ /usr/local/bin/ash application/x-shellscript #0 string #!/usr/local/bin/ae Neil Brown's ae #0 string #!\ /usr/local/bin/ae Neil Brown's ae 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 #!/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 #!/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 BEGIN application/x-awk # For Larry Wall's perl language. The ``eval'' line recognizes an # outrageously clever hack for USG systems. # Keith Waclena 0 string #!/bin/perl application/x-perl 0 string #!\ /bin/perl application/x-perl 0 string eval\ "exec\ /bin/perl application/x-perl 0 string #!/usr/bin/perl application/x-perl 0 string #!\ /usr/bin/perl application/x-perl 0 string eval\ "exec\ /usr/bin/perl application/x-perl 0 string #!/usr/local/bin/perl application/x-perl 0 string #!\ /usr/local/bin/perl application/x-perl 0 string eval\ "exec\ /usr/local/bin/perl application/x-perl 0 string #!/bin/env\ perl application/x-perl 0 string #!\ /bin/env\ perl application/x-perl 0 string #!/usr/bin/env\ perl application/x-perl 0 string #!\ /usr/bin/env\ perl application/x-perl # python. # 0 string #!/bin/python application/x-python 0 string #!\ /bin/python application/x-python 0 string eval\ "exec\ /bin/python application/x-python 0 string #!/usr/bin/python application/x-python 0 string #!\ /usr/bin/python application/x-python 0 string eval\ "exec\ /usr/bin/python application/x-python 0 string #!/usr/local/bin/python application/x-python 0 string #!\ /usr/local/bin/python application/x-python 0 string eval\ "exec\ /usr/local/bin/python application/x-python 0 string #!/bin/env\ python application/x-python 0 string #!\ /bin/env\ python application/x-python 0 string #!/usr/bin/env\ python application/x-python 0 string #!\ /usr/bin/env\ python application/x-python # MAGIC as specified in Python/import.c (1.5 to 2.3.0a) # 20121 ( YEAR - 1995 ) + MONTH + DAY (little endian followed by "\r\n" # python 1.5/1.6 byte-compiled 0 belong 0x994e0d0a application/x-python-bytecode # python 2.0 byte-compiled 0 belong 0x87c60d0a application/x-python-bytecode # python 2.1 byte-compiled 0 belong 0x2aeb0d0a application/x-python-bytecode # python 2.2 byte-compiled 0 belong 0x2ded0d0a application/x-python-bytecode # python 2.3 byte-compiled 0 belong 0x3bf20d0a application/x-python-bytecode # ruby 0 string #!/bin/env\ ruby application/x-ruby 0 string #!\ /bin/env\ ruby application/x-ruby 0 string #!/usr/bin/env\ ruby application/x-ruby 0 string #!\ /usr/bin/env\ ruby application/x-ruby #------------------------------------------------------------------------------ # 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 # KOffice documents (gzipped, with an idenfication string in the 'orig filename' header) >10 string KOffice >>18 string application/x-kchart\004\006 application/x-kchart >>18 string application/x-kformula\004\006 application/x-kformula >>18 string application/x-killustrator\004\006 application/x-killustrator >>18 string application/x-kontour\004\006 application/x-kontour >>18 string application/x-kpresenter\004\006 application/x-kpresenter >>18 string application/x-kspread\004\006 application/x-kspread >>18 string application/x-kword\004\006 application/x-kword >>18 string application/x-krita\004\006 application/x-krita >>18 string application/x-kivio\004\006 application/x-kivio >>18 string application/x-karbon\004\006 application/x-karbon # Rosegarden documents (like old KOffice documents, gzipped with id string in header) >10 string audio/x-rosegarden\000 audio/x-rosegarden >10 string audio/x-rosegarden-device\000 audio/x-rosegarden-device #KOffice documents v1.2 and later (may 1 2002) using zip as a wrapper 0 string PK\003\004 application/x-zip >30 string mimetype >>38 string application/x-kchart application/x-kchart >>38 string application/x-kformula application/x-kformula >>38 string application/x-kontour application/x-kontour >>38 string application/x-kpresenter application/x-kpresenter >>38 string application/x-kspread application/x-kspread >>38 string application/x-krita application/x-krita >>38 string application/x-kword application/x-kword >>38 string application/x-kivio application/x-kivio >>38 string application/x-karbon application/x-karbon #KOffice documents writen using the kzip rewrite used 'unx' based #zips; dislocating the mimetype. This was (temporarily) for koffice 1.3 (okt 2003). 0 string PK\003\004 >30 string mimetype >>55 string application/x-kchart application/x-kchart >>55 string application/x-kformula application/x-kformula >>55 string application/x-kontour application/x-kontour >>55 string application/x-kpresenter application/x-kpresenter >>55 string application/x-kspread application/x-kspread >>55 string application/x-krita application/x-krita >>55 string application/x-kword application/x-kword >>55 string application/x-kivio application/x-kivio >>55 string application/x-karbon application/x-karbon # OpenOffice.org 1.1 puts the mimetype into the header too 0 string PK\003\004 >30 string mimetype >>38 string application/vnd.sun.xml.calc application/vnd.sun.xml.calc >>38 string application/vnd.sun.xml.calc.template application/vnd.sun.xml.calc.template >>38 string application/vnd.sun.xml.draw application/vnd.sun.xml.draw >>38 string application/vnd.sun.xml.draw.template application/vnd.sun.xml.draw.template >>38 string application/vnd.sun.xml.impress application/vnd.sun.xml.impress >>38 string application/vnd.sun.xml.impress.template application/vnd.sun.xml.impress.template >>38 string application/vnd.sun.xml.writer application/vnd.sun.xml.writer >>38 string application/vnd.sun.xml.writer.master application/vnd.sun.xml.writer.master >>38 string application/vnd.sun.xml.writer.template application/vnd.sun.xml.writer.template >>38 string application/vnd.sun.xml.base application/vnd.sun.xml.base # OASIS OpenDocument (KOffice >= 1.4 and OpenOffice >= 2.0) 0 string PK\003\004 >30 string mimetype >>38 string application/vnd.oasis.opendocument.chart application/vnd.oasis.opendocument.chart >>38 string application/vnd.oasis.opendocument.formula application/vnd.oasis.opendocument.formula >>38 string application/vnd.oasis.opendocument.graphics application/vnd.oasis.opendocument.graphics >>38 string application/vnd.oasis.opendocument.graphics-template application/vnd.oasis.opendocument.graphics-template >>38 string application/vnd.oasis.opendocument.image application/vnd.oasis.opendocument.image >>38 string application/vnd.oasis.opendocument.presentation application/vnd.oasis.opendocument.presentation >>38 string application/vnd.oasis.opendocument.presentation-template application/vnd.oasis.opendocument.presentation-template >>38 string application/vnd.oasis.opendocument.spreadsheet application/vnd.oasis.opendocument.spreadsheet >>38 string application/vnd.oasis.opendocument.spreadsheet-template application/vnd.oasis.opendocument.spreadsheet-template >>38 string application/vnd.oasis.opendocument.text application/vnd.oasis.opendocument.text >>38 string application/vnd.oasis.opendocument.text-template application/vnd.oasis.opendocument.text-template # BZIP2 0 string BZh application/x-bzip2 # BZIP 0 string BZ application/x-bzip # 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 # ID Software's pak data archive 0 string PACK application/x-pak # 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 #POSIX tar archive 257 string ustar\0 application/x-tar #GNU tar archive 257 string ustar\040\040\0 application/x-tar # The SVR4 "cpio(4)" hints that there are additional formats, but they # are defined as "short"s; I think all the new formats are # character-header formats and thus are strings, not numbers. 0 short 070707 application/x-cpio 0 short 0143561 application/x-cpio 0 string 070707 application/x-cpio 0 string 070701 application/x-cpio 0 string 070702 application/x-cpio 0 string !\ndebian application/x-debian-package 0 string = application/x-archive 0 string ! application/x-archive #------------------------------------------------------------------------------ # # RPM: file(1) magic for Red Hat Packages Erik Troan (ewt@redhat.com) # 0 beshort 0xedab >2 beshort 0xeedb application/x-rpm # lzw 0 lelong&0x8080ffff 0x0000081a application/x-arc # squashed 0 lelong&0x8080ffff 0x0000091a application/x-arc # uncompressed 0 lelong&0x8080ffff 0x0000021a application/x-arc # packed 0 lelong&0x8080ffff 0x0000031a application/x-arc # squeezed 0 lelong&0x8080ffff 0x0000041a application/x-arc # crunched 0 lelong&0x8080ffff 0x0000061a application/x-arc # LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu) 2 string -lh0- application/x-lha 2 string -lh1- application/x-lha 2 string -lz4- application/x-lha 2 string -lz5- application/x-lha # [never seen any but the last; -lh4- reported in comp.compression:] 2 string -lzs- application/x-lha 2 string -lh\40- application/x-lha 2 string -lhd- application/x-lha 2 string -lh2- application/x-lha 2 string -lh3- application/x-lha 2 string -lh4- application/x-lha 2 string -lh5- application/x-lha 2 string -lh6- application/x-lha 2 string -lh7- application/x-lha # ARJ archiver (jason@jarthur.Claremont.EDU) 0 leshort 0xea60 application/x-arj # RAR archiver (Greg Roelofs, newt@uchicago.edu) 0 string Rar! application/x-rar # ZIP archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu) 0 string PK\003\004 application/x-zip # Alternate ZIP string (amc@arwen.cs.berkeley.edu) 0 string PK00PK\003\004 application/x-zip # Zoo archiver 20 lelong 0xfdc4a7dc application/x-zoo # Shell archives 10 string #\ This\ is\ a\ shell\ archive application/x-shellscript # ACE archive 7 string **ACE** application/x-ace #------------------------------------------------------------------------------ # 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 \23 string \23 string \23 string \23 string \8 string CR\x02 image/x-raw # Phase One RAW image, big-endian 32 string MMMMRawT image/x-raw # Phase One RAW image, little-endian 32 string IIIITwaR image/x-raw # Canon RAW image 6 string HEAPCCDR image/x-raw # Canon CR2 image (20D, 1Dmk2, ...) 0 string II*\000\020\000\000\000CR image/x-raw # Minolta RAW image 0 string \x00MRM image/x-raw # Fuji RAW image 0 string FUJIFILM image/x-raw # Rollei RAW image 0 string DSC-Image image/x-raw # Foveon RAW image 0 string FOVb image/x-raw # TIFF and friends # TIFF file, big-endian 0 string MM\x00\x2a image/tiff # TIFF file, little-endian 0 string II\x2a\x00 image/tiff # GIF 0 string GIF image/gif # JPEG images 0 beshort 0xffd8 image/jpeg # JPEG2000 images 0 beshort 0x0101010C6A50 image/jp2 # PNG images 0 string \x89PNG image/png # PC bitmaps (OS/2, Windoze BMP files) (Greg Roelofs, newt@uchicago.edu) 0 string BM #(OS/2 1.x format) >14 byte 12 image/x-bmp #(OS/2 2.x format) >14 byte 64 image/x-bmp # (Windows 3.x format) >14 byte 40 image/x-bmp # PCX images (Nadeem Hasan) 0 byte 10 # Version 2.5 >1 byte 0 image/x-pcx # Version 2.8 w/ palette >1 byte 2 image/x-pcx # Version 2.8 w/o pallete >1 byte 3 image/x-pcx # Version 3.0 >1 byte 5 image/x-pcx #0 string IC icon #0 string PI pointer #0 string CI color icon #0 string CP color pointer #0 string BA bitmap array # Gimp's XCF 0 string gimp\ xcf image/x-xcf-gimp # X11 cursor files 0 string Xcur image/x-xcursor # EXR images 0 lelong 0x762f3101 image/x-exr # SGI images (*.rgb, *.rgba, *.bw, *.sgi) 0 beshort 474 image/x-rgb #------------------------------------------------------------------------------ # lisp: file(1) magic for lisp programs # # various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com) #0 string ;; text/plain # Emacs 18 - this is always correct, but not very magical. 0 string \012( application/x-elc # Emacs 19 0 string ;ELC\023\000\000\000 application/x-elc #------------------------------------------------------------------------------ # 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 0 string #!\ rnews message/rfc822 0 string N#!\ rnews message/rfc822 0 string Forward\ to message/rfc822 0 string Pipe\ to message/rfc822 0 string Return-Path: message/rfc822 0 string Return-Path: message/rfc822 0 string Path: message/news 0 string Xref: message/news 0 string From: message/rfc822 0 string From\x20 application/mbox 0 string Article message/news #0 string BABYL message/x-gnu-rmail 0 string Received: message/rfc822 # TNEF files... 0 lelong 0x223E9F78 application/ms-tnef #------------------------------------------------------------------------------ # mswrite 0 lelong 0xBE31 application/x-mswrite # with OLE objects 0 lelong 0xBE32 application/x-mswrite #------------------------------------------------------------------------------ # msword: file(1) magic for MS Word files # # Contributor claims: # Reversed-engineered MS Word magic numbers # Except that they are generic MSOffice magic numbers ! (DF) 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 0 belong 0xff575053c405 application/wordperfect 1 string WPC application/wordperfect #------------------------------------------------------------------------------ # printer: file(1) magic for printer-formatted files # # PostScript 0 string %! application/postscript >15 string EPS image/x-eps 0 string \004%! application/postscript >16 string EPS image/x-eps # Acrobat 0 string %PDF- application/pdf 0 string \n%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 # XXX promoted from tex so that *.tfm is not mis-identified as mc68k file. # 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 >33 string >\0 application/x-tex-tfm 2 string \000\022 application/x-tex-tfm >33 string >\0 application/x-tex-tfm # 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 # UTF16 (UTF16 docs are not MP3s - see the next audio/x-mp3 check :)) 0 beshort 0xfffe text/plain #------------------------------------------------------------------------------ # animation: file(1) magic for animation/movie formats # # animation formats # MPEG, FLI, DL originally from vax@ccwf.cc.utexas.edu (VaX#n8) # FLC, SGI, Apple originally from Daniel Quinlan (quinlan@yggdrasil.com) # MPEG animation format 0 belong 0x000001b3 video/mpeg 0 belong 0x000001ba video/mpeg # MPEG 1.0 audio (layer III,II,I) 0 beshort&0xfff8 0xfff8 >0 beshort&0x0006 0x0002 audio/x-mp3 >0 beshort&0x0006 0x0004 audio/x-mp2 >0 beshort&0x0006 0x0006 audio/mpeg # MPEG 2.0 audio (layer III,II,I) 0 beshort&0xfff8 0xfff0 >0 beshort&0x0006 0x0002 audio/x-mp3 >0 beshort&0x0006 0x0004 audio/x-mp2 >0 beshort&0x0006 0x0006 audio/mpeg # MPEG 2.5 audio (layer III,II,I) 0 beshort&0xfff8 0xff80 >0 beshort&0x0006 0x0002 audio/x-mp3 >0 beshort&0x0006 0x0004 audio/x-mp2 >0 beshort&0x0006 0x0006 audio/mpeg # MPEG-4 audio 16 string M4A audio/mp4 # FLI animation format 0 leshort 0xAF11 video/x-flic # FLC animation format 0 leshort 0xAF12 video/x-flic # SGI and Apple formats 0 string MOVI video/sgi 4 string moov video/quicktime 4 string mdat video/quicktime 4 string wide video/quicktime 4 string free video/quicktime # DIF digital video file format #0 belong&0xffffff00 0x1f070000 DIF # Microsoft Advanced Streaming Format (ASF) 0 belong 0x3026b275 video/x-ms-asf # MNG Video Format, 0 string \x8aMNG video/x-mng # JNG Video Format, #0 string \x8bJNG JNG video data, # Vivo video (Wolfram Kleff) #3 string \x0D\x0AVersion:Vivo Vivo video data # VRML (Virtual Reality Modelling Language) #0 string/b #VRML\ V1.0\ ascii VRML 1 file #0 string/b #VRML\ V2.0\ utf8 ISO/IEC 14772 VRML 97 file #------------------------------------------------------------------------------ # 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-core >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-core # MS Access database (95 or newer, i.e. MS Jet 3.0 or newer) 4 string Standard\ Jet\ DB application/x-msaccess # # DOS 0 string MZ application/x-msdos-program # # KDE desktop file 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 # SQLite database files 0 string **\ This\ file\ contains\ an\ SQLite application/x-sqlite2 0 string SQLite\ format\ 3 application/x-sqlite3 #------------------------------------------------------------------------------ # Java 0 short 0xcafe >2 short 0xbabe application/x-java # 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 # LDIF / LDAP interchange format 0 string dn:\ cn= text/x-ldif # applix #------------------------------------------------------------------------------ # applix: file(1) magic for Applixware # From: Peter Soos # 0 string *BEGIN >7 string WORDS application/x-applixword >7 string GRAPHICS application/x-applixgraphics #>7 string RASTER application/x-applix >7 string SPREADSHEETS application/x-applixspread #>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 #------------------------------------------------------------------------------ # DjVu (Leon Bottou ): # 4 string FORM >12 string DJVU image/x-djvu >12 string DJVM image/x-djvu >12 string BM44 image/x-djvu >12 string PM44 image/x-djvu #------------------------------------------------------------------------------ # adi: file(1) magic for ADi's objects # From Gregory McGarry # 0 leshort 0x521c application/x-executable # COFF DSP21k >18 lelong &02 application/x-executable # executable, >18 lelong ^02 >>18 lelong &01 application/x-executable # static object, >>18 lelong ^01 application/x-executable # relocatable object, >18 lelong &010 application/x-executable # stripped >18 lelong ^010 application/x-executable # not stripped #------------------------------------------------------------------------------ # alliant: file(1) magic for Alliant FX series a.out files # # If the FX series is the one that had a processor with a 68K-derived # instruction set, the "short" should probably become "beshort" and the # "long" should probably become "belong". # If it's the i860-based one, they should probably become either the # big-endian or little-endian versions, depending on the mode they ran # the 860 in.... # 0 short 0420 application/x-executable # 0420 Alliant virtual executable >2 short &0x0020 application/x-sharedlib # common library >16 long >0 application/x-sharedlib # not stripped 0 short 0421 application/x-executable # 0421 Alliant compact executable >2 short &0x0020 application/x-sharedlib # common library >16 long >0 application/x-sharedlib # not stripped #----------------------------------------------------------- # alpha architecture description # 0 leshort 0603 application/x-executable # COFF format alpha >22 leshort&030000 !020000 application/x-executable # executable >24 leshort 0410 application/x-executable # pure >24 leshort 0413 application/x-executable # paged >22 leshort&020000 !0 application/x-executable # dynamically linked >16 lelong !0 application/x-executable # not stripped >16 lelong 0 application/x-executable # stripped >22 leshort&030000 020000 application/x-sharedlib # shared library >24 leshort 0407 application/x-executable # object # Basic recognition of Digital UNIX core dumps - Mike Bremford # # The actual magic number is just "Core", followed by a 2-byte version # number; however, treating any file that begins with "Core" as a Digital # UNIX core dump file may produce too many false hits, so we include one # byte of the version number as well; DU 5.0 appears only to be up to # version 2. # 0 string Core\001 application/x-core # Alpha COFF format core dump (Digital UNIX) 0 string Core\002 application/x-core # Alpha COFF format core dump (Digital UNIX) #------------------------------------------------------------------------------ # Win95 InternetShortcut (URL): (Helge Deller ): # 1 string InternetShortcut application/x-mswinurl #------------------------------------------------------------------------------ # amigaos: file(1) magic for AmigaOS binary formats: # # From ignatios@cs.uni-bonn.de (Ignatios Souvatzis) # Some formats are still missing: AmigaOS special IFF's, e.g.: FORM....CTLG # (the others should be separate, anyway) # 0 belong 0x000003f3 application/x-executable # AmigaOS loadseg()ble executable/binary 0 belong 0x000003e7 application/x-sharedlib # AmigaOS object/library data 0 string %TGIF application/x-tgif 0 string #FIG application/x-xfig 0 string #LyX\ 1 application/x-lyx #------------------------------------------------------------------------------ # VRML 0 string #VRML model/vrml #------------------------------------------------------------------------------ # KWallet file 0 string KWALLET\012\015\000\015\012 application/x-kde-wallet #------------------------------------------------------------------------------ # ICA Client configuration files 0 string [WFClient] application/x-ica 1 string [WFClient] application/x-ica 0 string [ApplicationServers] application/x-ica 1 string [ApplicationServers] application/x-ica 0 string [ICA application/x-ica 1 string [ICA application/x-ica 0 string [Program\ Neighborhood application/x-ica 1 string [Program\ Neighborhood application/x-ica #------------------------------------------------------------------------------ # CD image files (ISO is imported from file 4.07) 32769 string CD001 application/x-iso 32633 string CD001 application/x-iso # CDR-wins bin-with-cue files #0 belong 0x00FFFFFF application/x-cuebin # FITS (see RFC 4047) # The SIMPLE keyword is always on the first line, NAXIS on the third. # Lines are supposed to be exactly 80 characters long. # FITS files can be different but then they are not application/fits anymore. 0 string SIMPLE\ \ =\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ T application/fits >160 string NAXIS\ \ \ =\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 2 image/fits >160 string NAXIS\ \ \ =\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 3 image/fits # kate: space-indent off; replace-tabs off;