diff options
Diffstat (limited to 'kio/magic')
-rw-r--r-- | kio/magic | 1065 |
1 files changed, 1065 insertions, 0 deletions
diff --git a/kio/magic b/kio/magic new file mode 100644 index 000000000..c12cec4ba --- /dev/null +++ b/kio/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; |