summaryrefslogtreecommitdiffstats
path: root/tdeio/magic
diff options
context:
space:
mode:
Diffstat (limited to 'tdeio/magic')
-rw-r--r--tdeio/magic1065
1 files changed, 1065 insertions, 0 deletions
diff --git a/tdeio/magic b/tdeio/magic
new file mode 100644
index 000000000..c12cec4ba
--- /dev/null
+++ b/tdeio/magic
@@ -0,0 +1,1065 @@
+# 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 <keith@cerberus.uchicago.edu>
+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 <keith@cerberus.uchicago.edu>
+#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 !<arch>\ndebian application/x-debian-package
+0 string =<ar> application/x-archive
+0 string !<arch> 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 \<MakerFile application/x-frame
+0 string \<MIFFile application/x-frame
+0 string \<MakerDictionary application/x-frame
+0 string \<MakerScreenFon application/x-frame
+0 string \<MML application/x-frame
+0 string \<Book application/x-frame
+0 string \<Maker application/x-frame
+
+#------------------------------------------------------------------------------
+# html: file(1) magic for HTML (HyperText Markup Language) docs
+#
+# from Daniel Quinlan <quinlan@yggdrasil.com>
+#
+0 string \<HEAD text/html
+0 string \<head text/html
+0 string \<BODY text/html
+0 string \<body text/html
+0 string \<TITLE text/html
+0 string \<title text/html
+0 string \<html text/html
+0 string \<HTML text/html
+0 string \<!-- text/html
+0 string \<h1 text/html
+0 string \<H1 text/html
+0 string \<!doctype\ HTML text/html
+0 string \<!DOCTYPE\ HTML text/html
+0 string \<!doctype\ html text/html
+0 string \<!DOCTYPE\ html text/html
+
+# PHP (offset should be "between 0 and 64"...)
+0 string \<?php application/x-php
+
+# Docbook
+0 string \<!doctype\ book\ public\ "-//OASIS//DTD\ DocBook text/docbook
+# Hack: <?xml (with version but no encoding etc.) with a docbook mimetype afterwards.
+0 string \<?xml
+>23 string \<!doctype\ book\ public\ "-//OASIS//DTD\ DocBook text/docbook
+>23 string \<!DOCTYPE\ book\ PUBLIC\ "-//OASIS//DTD\ DocBook text/docbook
+>23 string \<!doctype\ book\ public\ "-//KDE//DTD\ DocBook text/docbook
+>23 string \<!DOCTYPE\ book\ PUBLIC\ "-//KDE//DTD\ DocBook text/docbook
+
+# Extensible markup language (XML), a subset of SGML
+# from Marc Prud'hommeaux (marc@apocalypse.org)
+0 string \<?xml text/xml
+0 string \<?XML text/xml
+0 string \<?Xml text/xml
+
+
+#-----------------------------------------------------------------------------
+# troff stuff
+#
+0 string .\\" application/x-troff
+0 string '\\" application/x-troff
+0 string '.\\" application/x-troff
+0 string \\" application/x-troff
+
+#------------------------------------------------------------------------------
+# images: file(1) magic for image formats (see also "c-lang" for XPM bitmaps)
+#
+# originally from jef@helios.ee.lbl.gov (Jef Poskanzer),
+# additions by janl@ifi.uio.no as well as others. Jan also suggested
+# merging several one- and two-line files into here.
+#
+# XXX - byte order for GIF and TIFF fields?
+# [GRR: TIFF allows both byte orders; GIF is probably little-endian]
+#
+
+# [GRR: what the hell is this doing in here?]
+#0 string xbtoa btoa'd file
+
+# PBMPLUS
+# PBM file
+0 string P1 image/x-portable-bitmap
+# PGM file
+0 string P2 image/x-portable-greymap
+# PPM file
+0 string P3 image/x-portable-pixmap
+# PBM "rawbits" file
+0 string P4 image/x-portable-bitmap
+# PGM "rawbits" file
+0 string P5 image/x-portable-greymap
+# PPM "rawbits" file
+0 string P6 image/x-portable-pixmap
+
+# NIFF (Navy Interchange File Format, a modification of TIFF)
+# [GRR: this *must* go before TIFF]
+0 string IIN1 image/x-niff
+
+0 string II\x2a\x00
+>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 <conklin@talisman.kaleida.com>
+
+# 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 <mpruett@sgi.com>
+#0 belong&0xffffff00 0x1f070000 DIF
+
+# Microsoft Advanced Streaming Format (ASF) <mpruett@sgi.com>
+0 belong 0x3026b275 video/x-ms-asf
+
+# MNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
+0 string \x8aMNG video/x-mng
+
+# JNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
+#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.
+# <downsj@teeny.org>
+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 <sp@osb.hu>
+#
+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 <leonb@research.att.com>):
+#
+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 <g.mcgarry@ieee.org>
+#
+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 <mike@opac.bl.uk>
+#
+# 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 <deller@gmx.de>):
+#
+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;