Rip out internal libmagic, require external.
authorPanu Matilainen <pmatilai@redhat.com>
Tue, 24 Jul 2007 06:59:33 +0000 (09:59 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Tue, 24 Jul 2007 06:59:33 +0000 (09:59 +0300)
This is going to need more sorting out...

237 files changed:
Makefile.am
autogen.sh
configure.ac
file/.cvsignore [deleted file]
file/ChangeLog [deleted file]
file/LEGAL.NOTICE [deleted file]
file/MAINT [deleted file]
file/Makefile.am [deleted file]
file/PORTING [deleted file]
file/README [deleted file]
file/acinclude.m4 [deleted file]
file/autogen.sh [deleted file]
file/configure.ac [deleted file]
file/doc/.cvsignore [deleted file]
file/doc/Makefile.am [deleted file]
file/doc/file.man [deleted file]
file/doc/libmagic.man [deleted file]
file/doc/magic.man [deleted file]
file/magic/.cvsignore [deleted file]
file/magic/Header [deleted file]
file/magic/Localstuff [deleted file]
file/magic/Magdir/acorn [deleted file]
file/magic/Magdir/adi [deleted file]
file/magic/Magdir/adventure [deleted file]
file/magic/Magdir/allegro [deleted file]
file/magic/Magdir/alliant [deleted file]
file/magic/Magdir/alpha [deleted file]
file/magic/Magdir/amanda [deleted file]
file/magic/Magdir/amigaos [deleted file]
file/magic/Magdir/animation [deleted file]
file/magic/Magdir/apl [deleted file]
file/magic/Magdir/apple [deleted file]
file/magic/Magdir/applix [deleted file]
file/magic/Magdir/archive [deleted file]
file/magic/Magdir/asterix [deleted file]
file/magic/Magdir/att3b [deleted file]
file/magic/Magdir/audio [deleted file]
file/magic/Magdir/bFLT [deleted file]
file/magic/Magdir/blender [deleted file]
file/magic/Magdir/blit [deleted file]
file/magic/Magdir/bout [deleted file]
file/magic/Magdir/bsdi [deleted file]
file/magic/Magdir/c-lang [deleted file]
file/magic/Magdir/c64 [deleted file]
file/magic/Magdir/cad [deleted file]
file/magic/Magdir/cddb [deleted file]
file/magic/Magdir/chi [deleted file]
file/magic/Magdir/chord [deleted file]
file/magic/Magdir/cisco [deleted file]
file/magic/Magdir/citrus [deleted file]
file/magic/Magdir/claris [deleted file]
file/magic/Magdir/clipper [deleted file]
file/magic/Magdir/commands [deleted file]
file/magic/Magdir/communications [deleted file]
file/magic/Magdir/compress [deleted file]
file/magic/Magdir/console [deleted file]
file/magic/Magdir/convex [deleted file]
file/magic/Magdir/ctags [deleted file]
file/magic/Magdir/dact [deleted file]
file/magic/Magdir/database [deleted file]
file/magic/Magdir/diamond [deleted file]
file/magic/Magdir/diff [deleted file]
file/magic/Magdir/digital [deleted file]
file/magic/Magdir/dolby [deleted file]
file/magic/Magdir/dump [deleted file]
file/magic/Magdir/dyadic [deleted file]
file/magic/Magdir/editors [deleted file]
file/magic/Magdir/elf [deleted file]
file/magic/Magdir/encore [deleted file]
file/magic/Magdir/epoc [deleted file]
file/magic/Magdir/esri [deleted file]
file/magic/Magdir/fcs [deleted file]
file/magic/Magdir/filesystems [deleted file]
file/magic/Magdir/flash [deleted file]
file/magic/Magdir/fonts [deleted file]
file/magic/Magdir/frame [deleted file]
file/magic/Magdir/freebsd [deleted file]
file/magic/Magdir/fsav [deleted file]
file/magic/Magdir/games [deleted file]
file/magic/Magdir/gcc [deleted file]
file/magic/Magdir/geos [deleted file]
file/magic/Magdir/gimp [deleted file]
file/magic/Magdir/gnu [deleted file]
file/magic/Magdir/grace [deleted file]
file/magic/Magdir/gringotts [deleted file]
file/magic/Magdir/hdf [deleted file]
file/magic/Magdir/hitachi-sh [deleted file]
file/magic/Magdir/hp [deleted file]
file/magic/Magdir/human68k [deleted file]
file/magic/Magdir/ibm370 [deleted file]
file/magic/Magdir/ibm6000 [deleted file]
file/magic/Magdir/iff [deleted file]
file/magic/Magdir/images [deleted file]
file/magic/Magdir/intel [deleted file]
file/magic/Magdir/interleaf [deleted file]
file/magic/Magdir/island [deleted file]
file/magic/Magdir/ispell [deleted file]
file/magic/Magdir/java [deleted file]
file/magic/Magdir/jpeg [deleted file]
file/magic/Magdir/karma [deleted file]
file/magic/Magdir/lecter [deleted file]
file/magic/Magdir/lex [deleted file]
file/magic/Magdir/lif [deleted file]
file/magic/Magdir/linux [deleted file]
file/magic/Magdir/lisp [deleted file]
file/magic/Magdir/mach [deleted file]
file/magic/Magdir/macintosh [deleted file]
file/magic/Magdir/magic [deleted file]
file/magic/Magdir/mail.news [deleted file]
file/magic/Magdir/maple [deleted file]
file/magic/Magdir/mathematica [deleted file]
file/magic/Magdir/matroska [deleted file]
file/magic/Magdir/mcrypt [deleted file]
file/magic/Magdir/mime [deleted file]
file/magic/Magdir/mips [deleted file]
file/magic/Magdir/mirage [deleted file]
file/magic/Magdir/misctools [deleted file]
file/magic/Magdir/mkid [deleted file]
file/magic/Magdir/mlssa [deleted file]
file/magic/Magdir/mmdf [deleted file]
file/magic/Magdir/modem [deleted file]
file/magic/Magdir/motorola [deleted file]
file/magic/Magdir/msdos [deleted file]
file/magic/Magdir/msvc [deleted file]
file/magic/Magdir/natinst [deleted file]
file/magic/Magdir/ncr [deleted file]
file/magic/Magdir/netbsd [deleted file]
file/magic/Magdir/netscape [deleted file]
file/magic/Magdir/news [deleted file]
file/magic/Magdir/nitpicker [deleted file]
file/magic/Magdir/ocaml [deleted file]
file/magic/Magdir/octave [deleted file]
file/magic/Magdir/olf [deleted file]
file/magic/Magdir/os2 [deleted file]
file/magic/Magdir/os9 [deleted file]
file/magic/Magdir/osf1 [deleted file]
file/magic/Magdir/palm [deleted file]
file/magic/Magdir/parix [deleted file]
file/magic/Magdir/pbm [deleted file]
file/magic/Magdir/pdf [deleted file]
file/magic/Magdir/pdp [deleted file]
file/magic/Magdir/perl [deleted file]
file/magic/Magdir/pgp [deleted file]
file/magic/Magdir/pkgadd [deleted file]
file/magic/Magdir/plan9 [deleted file]
file/magic/Magdir/plus5 [deleted file]
file/magic/Magdir/policy [deleted file]
file/magic/Magdir/printer [deleted file]
file/magic/Magdir/project [deleted file]
file/magic/Magdir/psdbms [deleted file]
file/magic/Magdir/psion [deleted file]
file/magic/Magdir/pulsar [deleted file]
file/magic/Magdir/pyramid [deleted file]
file/magic/Magdir/python [deleted file]
file/magic/Magdir/revision [deleted file]
file/magic/Magdir/riff [deleted file]
file/magic/Magdir/rpm [deleted file]
file/magic/Magdir/rtf [deleted file]
file/magic/Magdir/sc [deleted file]
file/magic/Magdir/sccs [deleted file]
file/magic/Magdir/sendmail [deleted file]
file/magic/Magdir/sequent [deleted file]
file/magic/Magdir/sgi [deleted file]
file/magic/Magdir/sgml [deleted file]
file/magic/Magdir/sharc [deleted file]
file/magic/Magdir/sinclair [deleted file]
file/magic/Magdir/sketch [deleted file]
file/magic/Magdir/smalltalk [deleted file]
file/magic/Magdir/sniffer [deleted file]
file/magic/Magdir/softquad [deleted file]
file/magic/Magdir/spec [deleted file]
file/magic/Magdir/spectrum [deleted file]
file/magic/Magdir/sql [deleted file]
file/magic/Magdir/sun [deleted file]
file/magic/Magdir/sysex [deleted file]
file/magic/Magdir/teapot [deleted file]
file/magic/Magdir/terminfo [deleted file]
file/magic/Magdir/tex [deleted file]
file/magic/Magdir/tgif [deleted file]
file/magic/Magdir/ti-8x [deleted file]
file/magic/Magdir/timezone [deleted file]
file/magic/Magdir/troff [deleted file]
file/magic/Magdir/tuxedo [deleted file]
file/magic/Magdir/typeset [deleted file]
file/magic/Magdir/unknown [deleted file]
file/magic/Magdir/uuencode [deleted file]
file/magic/Magdir/varied.out [deleted file]
file/magic/Magdir/varied.script [deleted file]
file/magic/Magdir/vax [deleted file]
file/magic/Magdir/vicar [deleted file]
file/magic/Magdir/virtutech [deleted file]
file/magic/Magdir/visx [deleted file]
file/magic/Magdir/vms [deleted file]
file/magic/Magdir/vmware [deleted file]
file/magic/Magdir/vorbis [deleted file]
file/magic/Magdir/vxl [deleted file]
file/magic/Magdir/wordprocessors [deleted file]
file/magic/Magdir/xdelta [deleted file]
file/magic/Magdir/xenix [deleted file]
file/magic/Magdir/xo65 [deleted file]
file/magic/Magdir/xwindows [deleted file]
file/magic/Magdir/zilog [deleted file]
file/magic/Magdir/zyxel [deleted file]
file/magic/Makefile.am [deleted file]
file/magic/magic.mime [deleted file]
file/magic/magic2mime [deleted file]
file/mkinstalldirs [deleted file]
file/python/.cvsignore [deleted file]
file/python/Makefile.am [deleted file]
file/python/README [deleted file]
file/python/example.py [deleted file]
file/python/py_magic.c [deleted file]
file/python/py_magic.h [deleted file]
file/python/setup.py [deleted file]
file/src/.cvsignore [deleted file]
file/src/.splintrc [deleted file]
file/src/Makefile.am [deleted file]
file/src/apprentice.c [deleted file]
file/src/apptype.c [deleted file]
file/src/ascmagic.c [deleted file]
file/src/compress.c [deleted file]
file/src/file.c [deleted file]
file/src/file.h [deleted file]
file/src/fsmagic.c [deleted file]
file/src/funcs.c [deleted file]
file/src/is_tar.c [deleted file]
file/src/magic.c [deleted file]
file/src/magic.h [deleted file]
file/src/names.h [deleted file]
file/src/patchlevel.h [deleted file]
file/src/print.c [deleted file]
file/src/readelf.c [deleted file]
file/src/readelf.h [deleted file]
file/src/softmagic.c [deleted file]
file/src/tar.h [deleted file]
file/src/test.c [deleted file]
tools/Makefile.am

index de0da0a..7b32b70 100644 (file)
@@ -110,9 +110,7 @@ lint:
                `make -s sources -C build` \
                `make -s sources -C lib` \
                `make -s sources -C rpmdb` \
-               `make -s sources -C rpmio` \
-               `make -s sources -C beecrypt` \
-               `make -s sources -C file/src`
+               `make -s sources -C rpmio` 
 
 CVSTAG = r$(subst .,-,$(VERSION))
 
index 7e710fa..ddeae75 100755 (executable)
@@ -38,14 +38,10 @@ fi
 
 # XXX add missing config.rpath, kludgery around what's apparently 
 # gettext related stuff...
-for d in . file; do
+for d in . ; do
     touch $d/config.rpath
 done
 
-if [ -d file ]; then
-    (echo "--- file"; cd file; ./autogen.sh --noconfigure "$@")
-fi
-
 echo "--- rpm"
 $libtoolize --copy --force
 aclocal
index 34b3f9d..5fd04ca 100644 (file)
@@ -523,25 +523,20 @@ AC_SUBST(WITH_NEON_INCLUDE)
 AC_SUBST(WITH_NEON_LIB)
 
 #=================
-# Check for magic library. Prefer internal, otherwise external.
+# Check for magic library.
 WITH_MAGIC_SUBDIR=
 WITH_MAGIC_INCLUDE=
 WITH_MAGIC_LIB=
 
-if test -d file ; then
-  WITH_RPMFILE=rpmfile
-  WITH_MAGIC_SUBDIR=file
-  WITH_MAGIC_INCLUDE="-I\${top_srcdir}/${WITH_MAGIC_SUBDIR}/src"
-  WITH_MAGIC_LIB="\${top_builddir}/${WITH_MAGIC_SUBDIR}/src/libmagic.la"
-else
-  WITH_RPMFILE=
-  AC_CHECK_HEADER([magic.h], [
+AC_CHECK_HEADER([magic.h], [
     AC_CHECK_LIB(magic, magic_open, [
       WITH_MAGIC_SUBDIR=
       WITH_MAGIC_INCLUDE=
       WITH_MAGIC_LIB="-lmagic"
     ])
-  ])
+])
+if test -z "${WITH_MAGIC_LIB}" ; then
+   AC_MSG_ERROR([rpm requires libmagic]) 
 fi
 
 AC_SUBST(WITH_RPMFILE)
@@ -1291,7 +1286,7 @@ AC_SUBST(RPM)
 
 AC_SUBST(OBJDUMP)
 
-AC_CONFIG_SUBDIRS(file db3)
+AC_CONFIG_SUBDIRS(db3)
 
 AC_CONFIG_FILES([ Doxyfile Makefile rpmrc macros platform rpmpopt
        rpmio/Makefile rpmdb/Makefile lib/Makefile build/Makefile
diff --git a/file/.cvsignore b/file/.cvsignore
deleted file mode 100644 (file)
index db96bcc..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-Makefile
-Makefile.in
-aclocal.m4
-autom4te*
-config.cache
-config.guess
-config.h
-config.h.in
-config.log
-config.status
-config.sub
-configure
-depcomp
-install-sh
-libtool
-ltconfig
-ltmain.sh
-missing
-stamp-h*
-file-*.tar.gz
diff --git a/file/ChangeLog b/file/ChangeLog
deleted file mode 100644 (file)
index 7feae40..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-
-2005-06-25 11:48 Christos Zoulas <christos@zoulas.com>
-
-       * Dynamically allocate the string buffers and make the
-         default read size 256K.
-
-2005-06-01 00:00 Joerg Sonnenberger <joerg@britannica.bec.de>
-
-       * Dragonfly ELF note support
-
-2005-03-14 00:00 Giuliano Bertoletti <gb@symbolic.it>
-
-       * Avoid NULL pointer dereference in time conversion.
-
-2005-03-06 00:00  Joerg Walter <jwalt@mail.garni.ch>
-       
-       * Add indirect magic offset support, and search mode.
-
-2005-01-12 00:00  Stepan Kasal  <kasal@ucw.cz>
-
-        * src/ascmagic.c (file_ascmagic): Fix three bugs about text files:
-          If a CRLF text file happens to have CR at offset HOWMANY - 1
-          (currently 0xffff), it should not be counted as CR line
-          terminator.
-          If a line has length exactly MAXLINELEN, it should not yet be
-          treated as a ``very long line'', as MAXLINELEN is ``longest sane
-          line length''.
-          With CRLF, the line length was not computed correctly, and even
-          lines of length MAXLINELEN - 1 were treated as ``very long''.
-
-2004-12-07 14:15  Christos Zoulas  <christos@zoulas.com>
-
-       * bzip2 needs a lot of input buffer space on some files
-         before it can begin uncompressing. This makes file -z
-         fail on some bz2 files. Fix it by giving it a copy of
-         the file descriptor to read as much as it wants if we
-         have access to it. <christos@zoulas.com>
-
-2004-11-24 12:39  Christos Zoulas  <christos@zoulas.com>
-
-       * Stack smash fix, and ELF more conservative reading.
-         Jakub Bogusz <qboosh@pld-linux.org>
-
-2004-11-20 18:50  Christos Zoulas  <christos@zoulas.com>
-
-       * New FreeBSD version parsing code:
-         Jon Noack <noackjr@alumni.rice.edu>
-
-       * Hackish support for ucs16 strings <christos@zoulas.com>
-
-2004-11-13 03:07  Christos Zoulas  <christos@zoulas.com>
-
-       * print the file name and line number in syntax errors.
-
-2004 10-12 10:50  Christos Zoulas  <christos@zoulas.com>
-
-       * Fix stack overwriting on 0 length strings: Tim Waugh
-           <twaugh@redhat.com> Ned Ludd <solar@gentoo.org>
-
-2004-09-27 11:30  Christos Zoulas  <christos@zoulas.com>
-
-       * Remove 3rd and 4th copyright clause; approved by Ian Darwin.
-
-       * Fix small memory leaks; caught by: Tamas Sarlos 
-           <stamas@csillag.ilab.sztaki.hu>
-
-2004-07-24 16:33  Christos Zoulas  <christos@zoulas.com>
-
-       * magic.mime update Danny Milosavljevic <danny.milo@gmx.net> 
-
-       * FreeBSD version update Oliver Eikemeier <eikemeier@fillmore-labs.com>
-
-       * utime/utimes detection Ian Lance Taylor <ian@wasabisystems.com>
-
-       * errors reading elf magic Jakub Bogusz <qboosh@pld-linux.org>
-
-2004-04-12 10:55  Christos Zoulas  <christos@zoulas.com>
-
-       * make sure that magic formats match magic types during compilation
-
-       * fix broken sgi magic file
-
-2004-04-06 20:36  Christos Zoulas  <christos@zoulas.com>
-
-       * detect present of mbstate_t Petter Reinholdtsen <pere@hungry.com>
-
-       * magic fixes
-
-2004-03-22 15:25  Christos Zoulas  <christos@zoulas.com>
-
-       * Lots of mime fixes
-         (Joerg Ostertag) <ostertag@rechengilde.de>
-
-       * FreeBSD ELF version handling
-         (Edwin Groothuis) <edwin@mavetju.org>
-
-       * correct cleanup in all cases; don't just close the file.
-         (Christos Zoulas) <christos@zoulas.com>
-
-       * add gettext message catalogue support
-         (Michael Piefel) <piefel@debian.org>
-
-       * better printout for unreadable files
-         (Michael Piefel) <piefel@debian.org>
-
-       * compensate for missing MAXPATHLEN
-         (Michael Piefel) <piefel@debian.org>
-
-       * add wide character string length computation
-         (Michael Piefel) <piefel@debian.org>
-
-       * Avoid infinite loops caused by bad elf alignments
-         or name and description note sizes. Reported by
-         (Mikael Magnusson) <mmikael@comhem.se>
-
-2004-03-09 13:55  Christos Zoulas  <christos@zoulas.com>
-
-       * Fix possible memory leak on error and add missing regfree
-         (Dmitry V. Levin) <ldv@altlinux.org>
-
-2003-12-23 12:12  Christos Zoulas  <christos@zoulas.com>
-
-       * fix -k flag (Maciej W. Rozycki)
-
-2003-11-18 14:10  Christos Zoulas  <christos@zoulas.com>
-
-       * Try to give us much info as possible on corrupt elf files.
-         (Willy Tarreau) <willy@w.ods.org>
-       * Updated python bindings (Brett Funderburg)
-          <brettf@deepfile.com>
-
-2003-11-11 15:03  Christos Zoulas  <christos@zoulas.com>
-
-       * Include file.h first, because it includes config.h
-         breaks largefile test macros otherwise.
-         (Paul Eggert <eggert@CS.UCLA.EDU> via
-          Lars Hecking <lhecking@nmrc.ie>)
-
-2003-10-14 21:39  Christos Zoulas  <christos@zoulas.com>
-
-       * Python bindings (Brett Funderburg) <brettf@deepfile.com>
-       * Don't lookup past the end of the buffer
-         (Chad Hanson) <chanson@tcs-sec.com>
-       * Add MAGIC_ERROR and api on magic_errno()
-
-2003-10-08 12:40  Christos Zoulas  <christos@zoulas.com>
-
-       * handle error conditions from compile as fatal
-         (Antti Kantee) <pooka@netbsd.org>
-       * handle magic filename parsing sanely
-       * more magic fixes.
-       * fix a memory leak (Illes Marton) <illes.marton@balabit.hu>
-       * describe magic file handling
-         (Bryan Henderson) <bryanh@giraffe-data.com>
-
-2003-09-12 15:09  Christos Zoulas  <christos@zoulas.com>
-
-       * update magic files.
-       * remove largefile support from file.h; it breaks things on most OS's
-
-2003-08-10 10:25  Christos Zoulas  <christos@zoulas.com>
-
-       * fix unmapping'ing of mmaped files.
-
-2003-07-10 12:03  Christos Zoulas  <christos@zoulas.com>
-
-       * don't exit with -1 on error; always exit 1 (Marty Leisner)
-       * restore utimes code.
-
-2003-06-10 17:03  Christos Zoulas  <christos@zoulas.com>
-
-       * make sure we don't access uninitialized memory.
-       * pass lint
-       * #ifdef __cplusplus in magic.h
-
-2003-05-25 19:23  Christos Zoulas  <christos@zoulas.com>
-
-       * rename cvs magic file to revision to deal with
-         case insensitive filesystems.
-
-2003-05-23 17:03  Christos Zoulas  <christos@zoulas.com>
-
-       * documentation fixes from Michael Piefel <piefel@debian.org>
-       * magic fixes (various)
-       * revert basename magic in .mgc name determination
-       * buffer protection in uncompress,
-         signness issues,
-         close files
-         Maciej W. Rozycki <macro@ds2.pg.gda.pl
-
-2003-04-21 20:12  Christos Zoulas  <christos@zoulas.com>
-
-       * fix zsh magic
-
-2003-04-04 16:59  Christos Zoulas  <christos@zoulas.com>
-
-       * fix operand sort order in string.
-
-2003-04-02 17:30  Christos Zoulas  <christos@zoulas.com>
-
-       * cleanup namespace in magic.h
-
-2003-04-02 13:50  Christos Zoulas  <christos@zoulas.com>
-
-       * Magic additions (Alex Ott)
-       * Fix bug that broke VPATH compilation (Peter Breitenlohner)
-
-2003-03-28 16:03  Christos Zoulas  <christos@zoulas.com>
-
-       * remove packed attribute from magic struct.
-       * make the magic struct properly aligned.
-       * bump version number of compiled files to 2.
-
-2003-03-27 13:10  Christos Zoulas  <christos@zoulas.com>
-
-       * separate tar detection and run it before softmagic.
-       * fix reversed symlink test.
-       * fix version printing.
-       * make separator a string instead of a char.
-       * update manual page and sort options.
-
-2003-03-26 11:00  Christos Zoulas  <christos@zoulas.com>
-
-       * Pass lint
-       * make NULL in magic_file mean stdin
-       * Fix "-" argument to file to pass NULL to magic_file
-       * avoid pointer casts by using memcpy
-       * rename magic_buf -> magic_buffer
-       * keep only the first error
-       * manual page: new sentence, new line
-       * fix typo in api function (magic_buf -> magic_buffer)
diff --git a/file/LEGAL.NOTICE b/file/LEGAL.NOTICE
deleted file mode 100644 (file)
index 0c2c719..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-$Id: LEGAL.NOTICE,v 1.14 2004/09/11 19:15:56 christos Exp $
-Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995.
-Software written by Ian F. Darwin and others;
-maintained 1994-2004 Christos Zoulas.
-
-This software is not subject to any export provision of the United States
-Department of Commerce, and may be exported to any country or planet.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice immediately at the beginning of the file, without modification,
-   this list of conditions, and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
diff --git a/file/MAINT b/file/MAINT
deleted file mode 100644 (file)
index c711117..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-$Id: MAINT,v 1.5 2003/03/23 04:36:37 christos Exp $
-
-Maintenance notes:
-
-I am continuing to maintain the file command. I welcome your help,
-but to make my life easier I'd like to request the following:
-
-- Don't change the version numbers!
-
-If your changes are extensive, I will have to work hard to 
-integrate them into my version.  If you check it into SCCS locally,
-the version numbers will likely be kept. IF you check it into RCS
-or CVS locally, please use -k to keep the version numbers, and
-please use branch deltas (1.21.1, 1.21.2, ...).  If you don't do
-this, I will likely be unable to use your changes; life's just too
-short.
-
-- Do not distribute changed versions.
-
-People trying to be helpful occasionally put up their hacked versions
-of the file command for FTP, then the "archie" server finds and publishes
-the hacked version, and people all over the world get copies of it.
-Within a day or two I am getting email from around the world
-asking me why "my" file command won't compile!!! Needless to say this
-detracts from the limited time I have available to work on the actual
-software.  Therefore I ask you again to please NOT distribute
-your changed version.
-
-
-Thank you for your assistance and cooperation.
-
-Christos Zoulas
-christos@astron.com
diff --git a/file/Makefile.am b/file/Makefile.am
deleted file mode 100644 (file)
index 411966a..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-# don't enforce GNU packaging standards
-AUTOMAKE_OPTIONS = foreign no-dependencies
-
-EXTRA_DIST = ChangeLog LEGAL.NOTICE MAINT PORTING README
-
-SUBDIRS = src magic doc python
diff --git a/file/PORTING b/file/PORTING
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/file/README b/file/README
deleted file mode 100644 (file)
index 0e97732..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-** README for file(1) Command **
-@(#) $Id: README,v 1.33 2003/05/23 21:31:56 christos Exp $
-
-This is Release 4.x of Ian Darwin's (copyright but distributable)
-file(1) command. This version is the standard "file" command for Linux,
-*BSD, and other systems. (See "patchlevel.h" for the exact release number).
-
-The major feature of 4.x is the refactoring of the code into a library,
-and the re-write of the file command in terms of that library. The library
-itself, libmagic can be used by 3rd party programs that wish to identify
-file types without having to fork() and exec() file. The prime contributor
-for 4.0 was M\xe5ns Rullg\xe5rd.
-
-UNIX is a trademark of UNIX System Laboratories.
-
-The prime contributor to Release 3.8 was Guy Harris, who put in megachanges
-including byte-order independence.
-
-The prime contributor to Release 3.0 was Christos Zoulas, who put
-in hundreds of lines of source code changes, including his own
-ANSIfication of the code (I liked my own ANSIfication better, but
-his (__P()) is the "Berkeley standard" way of doing it, and I wanted UCB
-to include the code...), his HP-like "indirection" (a feature of
-the HP file command, I think), and his mods that finally got the
-uncompress (-z) mode finished and working.
-
-This release has compiled in numerous environments; see PORTING
-for a list and problems.
-
-This fine freeware file(1) follows the USG (System V) model of the file
-command, rather than the Research (V7) version or the V7-derived 4.[23]
-Berkeley one. That is, the file /etc/magic contains much of the ritual
-information that is the source of this program's power. My version
-knows a little more magic (including tar archives) than System V; the
-/etc/magic parsing seems to be compatible with the (poorly documented)
-System V /etc/magic format (with one exception; see the man page).
-
-In addition, the /etc/magic file is built from a subdirectory
-for easier(?) maintenance.  I will act as a clearinghouse for
-magic numbers assigned to all sorts of data files that
-are in reasonable circulation. Send your magic numbers,
-in magic(5) format please, to the maintainer, Christos Zoulas.
-
-LEGAL.NOTICE - read this first.
-README - read this second (you are currently reading this file).
-PORTING - read this only if the program won't compile.
-Makefile - read this next, adapt it as needed (particularly
-       the location of the old existing file command and
-       the man page layouts), type "make" to compile, 
-       "make try" to try it out against your old version.
-       Expect some diffs, particularly since your original
-       file(1) may not grok the embedded-space ("\ ") in
-       the current magic file, or may even not use the
-       magic file.
-apprentice.c - parses /etc/magic to learn magic
-ascmagic.c - third & last set of tests, based on hardwired assumptions.
-core - not included in distribution due to mailer limitations.
-debug.c - includes -c printout routine
-file.1 - man page for the command
-magic.4 - man page for the magic file, courtesy Guy Harris.
-       Install as magic.4 on USG and magic.5 on V7 or Berkeley; cf Makefile.
-file.c - main program
-file.h - header file
-fsmagic.c - first set of tests the program runs, based on filesystem info
-is_tar.c, tar.h - knows about tarchives (courtesy John Gilmore).
-magdir - directory of /etc/magic pieces
-       magdir/Makefile - ADJUST THIS FOR YOUR CONFIGURATION
-names.h - header file for ascmagic.c
-softmagic.c - 2nd set of tests, based on /etc/magic
-readelf.[ch] - Stand-alone elf parsing code.
-compress.c - on-the-fly decompression.
-print.c - print results, errors, warnings.
-
-If your gzip sometimes fails to decompress things complaining about a short
-file, apply this patch [which is going to be in the next version of gzip]:
-*** -   Tue Oct 29 02:06:35 1996
---- util.c      Sun Jul 21 21:51:38 1996
-*** 106,111 ****
---- 108,114 ----
-  
-      if (insize == 0) {
-        if (eof_ok) return EOF;
-+       flush_window();
-        read_error();
-      }
-      bytes_in += (ulg)insize;
-
-E-mail: christos@astron.com
-
-Phone: Do not even think of telephoning me about this program. Send cash first!
-
-Parts of this software were developed at SoftQuad Inc., developers
-of SGML/HTML/XML publishing software, in Toronto, Canada.
-SoftQuad was swallowed up by Corel in 2002
-and does not exist any longer.
-
-From: Kees Zeelenberg
-
-An MS-Windows (Win32) port of File-3.36 is available from
-http://gnuwin32.sourceforge.net/
-File is an implementation of the Unix File(1) command.
-It knows the 'magic number' of several thousands of file types.
diff --git a/file/acinclude.m4 b/file/acinclude.m4
deleted file mode 100644 (file)
index 4c27a4b..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
-dnl cloned from autoconf 2.13 acspecific.m4
-AC_DEFUN([AC_C_LONG_LONG],
-[AC_CACHE_CHECK(for long long, ac_cv_c_long_long,
-[if test "$GCC" = yes; then
-  ac_cv_c_long_long=yes
-else
-AC_TRY_RUN([int main() {
-long long foo = 0;
-exit(sizeof(long long) < sizeof(long)); }],
-ac_cv_c_long_long=yes, ac_cv_c_long_long=no)
-fi])
-if test $ac_cv_c_long_long = yes; then
-  AC_DEFINE(HAVE_LONG_LONG)
-fi
-])
-
-dnl from autoconf 2.13 acspecific.m4, with changes to check for daylight
-
-AC_DEFUN([AC_STRUCT_TIMEZONE_DAYLIGHT],
-[AC_REQUIRE([AC_STRUCT_TM])dnl
-AC_CACHE_CHECK([for tm_zone in struct tm], ac_cv_struct_tm_zone,
-[AC_TRY_COMPILE([#include <sys/types.h>
-#include <$ac_cv_struct_tm>], [struct tm tm; tm.tm_zone;],
-  ac_cv_struct_tm_zone=yes, ac_cv_struct_tm_zone=no)])
-if test "$ac_cv_struct_tm_zone" = yes; then
-  AC_DEFINE(HAVE_TM_ZONE,1,[HAVE_TM_ZONE])
-fi
-AC_CACHE_CHECK(for tzname, ac_cv_var_tzname,
-[AC_TRY_LINK(
-changequote(<<, >>)dnl
-<<#include <time.h>
-#ifndef tzname /* For SGI.  */
-extern char *tzname[]; /* RS6000 and others reject char **tzname.  */
-#endif>>,
-changequote([, ])dnl
-[atoi(*tzname);], ac_cv_var_tzname=yes, ac_cv_var_tzname=no)])
-  if test $ac_cv_var_tzname = yes; then
-    AC_DEFINE(HAVE_TZNAME,1,[HAVE_TZNAME])
-  fi
-
-AC_CACHE_CHECK([for tm_isdst in struct tm], ac_cv_struct_tm_isdst,
-[AC_TRY_COMPILE([#include <sys/types.h>
-#include <$ac_cv_struct_tm>], [struct tm tm; tm.tm_isdst;],
-  ac_cv_struct_tm_isdst=yes, ac_cv_struct_tm_isdst=no)])
-if test "$ac_cv_struct_tm_isdst" = yes; then
-  AC_DEFINE(HAVE_TM_ISDST)
-fi
-AC_CACHE_CHECK(for daylight, ac_cv_var_daylight,
-[AC_TRY_LINK(
-changequote(<<, >>)dnl
-<<#include <time.h>
-#ifndef daylight /* In case IRIX #defines this, too  */
-extern int daylight;
-#endif>>,
-changequote([, ])dnl
-[atoi(daylight);], ac_cv_var_daylight=yes, ac_cv_var_daylight=no)])
-  if test $ac_cv_var_daylight = yes; then
-    AC_DEFINE(HAVE_DAYLIGHT)
-  fi
-])
-
-dnl from autoconf 2.13 acgeneral.m4, with patch:
-dnl Date: Fri, 15 Jan 1999 05:52:41 -0800
-dnl Message-ID: <199901151352.FAA18237@shade.twinsun.com>
-dnl From: eggert@twinsun.com (Paul Eggert)
-dnl Subject: autoconf 2.13 AC_CHECK_TYPE doesn't allow shell vars
-dnl Newsgroups: gnu.utils.bug
-dnl
-dnl now include <stdint.h> if available
-
-dnl AC_CHECK_TYPE2_STDC(TYPE, DEFAULT)
-AC_DEFUN([AC_CHECK_TYPE2_STDC],
-[AC_REQUIRE([AC_HEADER_STDC])dnl
-AC_REQUIRE([AC_HEADER_STDINT])dnl
-AC_MSG_CHECKING(for $1)
-AC_CACHE_VAL(ac_cv_type_$1,
-[AC_EGREP_CPP(dnl
-[(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]],
-[#if HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif], eval "ac_cv_type_$1=yes", eval "ac_cv_type_$1=no")])dnl
-if eval "test \"`echo '$ac_cv_type_'$1`\" = yes"; then
-  AC_MSG_RESULT(yes)
-else
-  AC_MSG_RESULT(no)
-  AC_DEFINE_UNQUOTED($1, $2)
-fi
-])
-
-dnl from autoconf 2.13 acgeneral.m4, with additional third argument
-dnl AC_CHECK_SIZEOF_INCLUDES(TYPE [, CROSS-SIZE [, INCLUDES]])
-AC_DEFUN([AC_CHECK_SIZEOF_INCLUDES],
-[dnl The name to #define.
-define([AC_TYPE_NAME], translit(sizeof_$1, [[[a-z *]]], [[[A-Z_P]]]))dnl
-dnl The cache variable name.
-define([AC_CV_NAME], translit(ac_cv_sizeof_$1, [[[ *]]], [[[_p]]]))dnl
-AC_MSG_CHECKING(size of $1)
-AC_CACHE_VAL(AC_CV_NAME,
-[AC_TRY_RUN([$3
-#include <stdio.h>
-main()
-{
-  FILE *f=fopen("conftestval", "w");
-  if (!f) exit(1);
-  fprintf(f, "%d\n", sizeof($1));
-  exit(0);
-}], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$2], , , AC_CV_NAME=$2))])dnl
-AC_MSG_RESULT($AC_CV_NAME)
-AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME)
-undefine([AC_TYPE_NAME])dnl
-undefine([AC_CV_NAME])dnl
-])
-
-dnl AC_CHECK_SIZEOF_STDC_HEADERS(TYPE [, CROSS_SIZE])
-AC_DEFUN([AC_CHECK_SIZEOF_STDC_HEADERS],
-[AC_REQUIRE([AC_HEADER_STDC])dnl
-AC_REQUIRE([AC_HEADER_STDINT])dnl
-AC_CHECK_SIZEOF_INCLUDES($1, $2,
-[#if HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <sys/types.h>
-#ifdef STDC_HEADERS
-#include <stdlib.h>
-#endif
-])
-])
-
-
-dnl AC_CHECK_TYPE_STDC(TYPE, DEFAULT)
-AC_DEFUN([AC_CHECK_TYPE_STDC],
-[AC_REQUIRE([AC_HEADER_STDC])dnl
-AC_REQUIRE([AC_HEADER_STDINT])dnl
-AC_MSG_CHECKING(for $1)
-AC_CACHE_VAL(ac_cv_type_$1,
-[AC_EGREP_CPP(dnl
-[(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]],
-[#if HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif], ac_cv_type_$1=yes, ac_cv_type_$1=no)])dnl
-AC_MSG_RESULT($ac_cv_type_$1)
-if test $ac_cv_type_$1 = no; then
-  AC_DEFINE($1, $2)
-fi
-])
-
-dnl AC_HEADER_STDINT
-AC_DEFUN([AC_HEADER_STDINT], [AC_CHECK_HEADERS(stdint.h)])
-
-#serial 19
-
-dnl By default, many hosts won't let programs access large files;
-dnl one must use special compiler options to get large-file access to work.
-dnl For more details about this brain damage please see:
-dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html
-
-dnl Written by Paul Eggert <eggert@twinsun.com>.
-
-dnl Internal subroutine of AC_SYS_LARGEFILE.
-dnl AC_SYS_LARGEFILE_TEST_INCLUDES
-AC_DEFUN([AC_SYS_LARGEFILE_TEST_INCLUDES],
-  [[#include <sys/types.h>
-    /* Check that off_t can represent 2**63 - 1 correctly.
-       We can't simply "#define LARGE_OFF_T 9223372036854775807",
-       since some C++ compilers masquerading as C compilers
-       incorrectly reject 9223372036854775807.  */
-#   define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-    int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                       && LARGE_OFF_T % 2147483647 == 1)
-                      ? 1 : -1];
-  ]])
-
-dnl Internal subroutine of AC_SYS_LARGEFILE.
-dnl AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, CACHE-VAR, COMMENT, INCLU=
-DES, FUNCTION-BODY)
-AC_DEFUN([AC_SYS_LARGEFILE_MACRO_VALUE],
-  [AC_CACHE_CHECK([for $1 value needed for large files], $3,
-     [$3=no
-      AC_TRY_COMPILE([$5],
-       [$6],
-       ,
-       [AC_TRY_COMPILE([#define $1 $2]
-[$5]
-          ,
-          [$6],
-          [$3=$2])])])
-   if test "[$]$3" != no; then
-     AC_DEFINE_UNQUOTED([$1], [$]$3, [$4])
-   fi])
-
-AC_DEFUN([AC_SYS_LARGEFILE],
-  [AC_REQUIRE([AC_PROG_CC])
-   AC_ARG_ENABLE(largefile,
-     [  --disable-largefile     omit support for large files])
-   if test "$enable_largefile" != no; then
-
-     AC_CACHE_CHECK([for special C compiler options needed for large files=
-],
-       ac_cv_sys_largefile_CC,
-       [ac_cv_sys_largefile_CC=no
-        if test "$GCC" != yes; then
-         # IRIX 6.2 and later do not support large files by default,
-         # so use the C compiler's -n32 option if that helps.
-         AC_TRY_COMPILE(AC_SYS_LARGEFILE_TEST_INCLUDES, , ,
-           [ac_save_CC="$CC"
-            CC="$CC -n32"
-            AC_TRY_COMPILE(AC_SYS_LARGEFILE_TEST_INCLUDES, ,
-              ac_cv_sys_largefile_CC=' -n32')
-            CC="$ac_save_CC"])
-        fi])
-     if test "$ac_cv_sys_largefile_CC" != no; then
-       CC="$CC$ac_cv_sys_largefile_CC"
-     fi
-
-     AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64,
-       ac_cv_sys_file_offset_bits,
-       [Number of bits in a file offset, on hosts where this is settable.],
-       AC_SYS_LARGEFILE_TEST_INCLUDES)
-     AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1,
-       ac_cv_sys_large_files,
-       [Define for large files, on AIX-style hosts.],
-       AC_SYS_LARGEFILE_TEST_INCLUDES)
-   fi
-  ])
-
-AC_DEFUN([AC_FUNC_FSEEKO],
-  [AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE, 1,
-     ac_cv_sys_largefile_source,
-     [Define to make fseeko visible on some hosts (e.g. glibc 2.2).],
-     [#include <stdio.h>], [return !fseeko;])
-   # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug
-   # in glibc 2.1.3, but that breaks too many other things.
-   # If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
-
-   AC_CACHE_CHECK([for fseeko], ac_cv_func_fseeko,
-     [ac_cv_func_fseeko=no
-      AC_TRY_LINK([#include <stdio.h>],
-        [return fseeko && fseeko (stdin, 0, 0);],
-       [ac_cv_func_fseeko=yes])])
-   if test $ac_cv_func_fseeko != no; then
-     AC_DEFINE(HAVE_FSEEKO, 1,
-       [Define if fseeko (and presumably ftello) exists and is declared.])
-   fi])
-
-# serial 9
-
-# From Paul Eggert.
-
-# BeOS 5 has <wchar.h> but does not define mbstate_t,
-# so you can't declare an object of that type.
-# Check for this incompatibility with Standard C.
-
-# Include stdlib.h first, because otherwise this test would fail on Linux
-# (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits
-# a syntax error in wchar.h due to the use of undefined __int32_t.
-AC_DEFUN([AC_MBSTATE_T],
-  [
-   AC_CHECK_HEADERS(stdlib.h)
-  
-   AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t,
-    [AC_TRY_COMPILE([
-#if HAVE_STDLIB_H 
-# include <stdlib.h>
-#endif
-#include <wchar.h>],
-      [mbstate_t x; return sizeof x;],
-      ac_cv_type_mbstate_t=yes,
-      ac_cv_type_mbstate_t=no)])
-   if test $ac_cv_type_mbstate_t = no; then
-     AC_DEFINE(mbstate_t, int,
-               [Define to a type if <wchar.h> does not define.])
-   fi])
-
-
diff --git a/file/autogen.sh b/file/autogen.sh
deleted file mode 100755 (executable)
index c3cbccc..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-
-export CFLAGS
-export LDFLAGS
-
-libtoolize=`which glibtoolize 2>/dev/null`
-case $libtoolize in
-/*) ;;
-*)  libtoolize=`which libtoolize 2>/dev/null`
-    case $libtoolize in
-    /*) ;;
-    *)  libtoolize=libtoolize
-    esac
-esac
-
-$libtoolize --copy --force
-aclocal
-autoheader
-automake -a -c
-autoconf
-
-if [ "$1" = "--noconfigure" ]; then 
-    exit 0;
-fi
-
-if [ X"$@" = X  -a "X`uname -s`" = "XLinux" ]; then
-    if [ -d /usr/share/man ]; then
-       mandir=/usr/share/man
-       infodir=/usr/share/info
-    else
-       mandir=/usr/man
-       infodir=/usr/info
-    fi
-    ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --infodir=${infodir} --mandir=${mandir} --enable-static "$@"
-else
-    ./configure "$@"
-fi
diff --git a/file/configure.ac b/file/configure.ac
deleted file mode 100644 (file)
index f028570..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_INIT
-AC_CONFIG_SRCDIR([src/file.c])
-AM_INIT_AUTOMAKE(file, 4.14)
-AM_CONFIG_HEADER([config.h])
-dnl AM_MAINTAINER_MODE
-
-AC_MSG_CHECKING(for builtin ELF support)
-AC_ARG_ENABLE(elf,
-[  --disable-elf            disable builtin ELF support],
-[if test "${enableval}" = yes; then
-  AC_MSG_RESULT(yes)
-  AC_DEFINE(BUILTIN_ELF)
-else
-  AC_MSG_RESULT(no)
-fi], [
-  # enable by default
-  AC_MSG_RESULT(yes)
-  AC_DEFINE(BUILTIN_ELF)
-])
-
-AC_MSG_CHECKING(for ELF core file support)
-AC_ARG_ENABLE(elf-core,
-[  --disable-elf-core       disable ELF core file support],
-[if test "${enableval}" = yes; then
-  AC_MSG_RESULT(yes)
-  AC_DEFINE(ELFCORE)
-else
-  AC_MSG_RESULT(no)
-fi], [
-  # enable by default
-  AC_MSG_RESULT(yes)
-  AC_DEFINE(ELFCORE)
-])
-
-AC_MSG_CHECKING(for file formats in man section 5)
-AC_ARG_ENABLE(fsect-man5,
-[  --enable-fsect-man5      enable file formats in man section 5],
-[if test "${enableval}" = yes; then
-  AC_MSG_RESULT(yes)
-  fsect=5
-else
-  AC_MSG_RESULT(no)
-  fsect=4
-fi], [
-  # disable by default
-  AC_MSG_RESULT(no)
-  fsect=4
-])
-AC_SUBST(fsect)
-AM_CONDITIONAL(FSECT5, test x$fsect = x5)
-
-dnl Checks for programs.
-AC_PROG_CC
-AC_PROG_INSTALL
-AC_PROG_LN_S
-AC_PROG_LIBTOOL
-
-dnl Templates for autoheader
-AH_TEMPLATE([BUILTIN_ELF],
-           [Use the builtin ELF recognition code])
-AH_TEMPLATE([ELFCORE],
-           [Recognize ELF core files])
-AH_TEMPLATE([HAVE_DAYLIGHT], [])
-AH_TEMPLATE([HAVE_LONG_LONG], [])
-AH_TEMPLATE([HAVE_TM_ISDST], [])
-AH_TEMPLATE([SIZEOF_UINT16_T], [])
-AH_TEMPLATE([SIZEOF_UINT32_T], [])
-AH_TEMPLATE([SIZEOF_UINT64_T], [])
-AH_TEMPLATE([SIZEOF_UINT8_T], [])
-AH_TEMPLATE([int32_t], [])
-AH_TEMPLATE([uint16_t], [])
-AH_TEMPLATE([uint32_t], [])
-AH_TEMPLATE([uint64_t], [])
-AH_TEMPLATE([uint8_t], [])
-
-dnl Checks for headers
-AC_HEADER_STDC
-AC_HEADER_MAJOR
-AC_HEADER_SYS_WAIT
-AC_HEADER_STDINT
-AC_CHECK_HEADERS(fcntl.h locale.h)
-AC_CHECK_HEADERS(sys/mman.h sys/stat.h sys/types.h)
-AC_CHECK_HEADERS(stdint.h inttypes.h)
-AC_CHECK_HEADERS(unistd.h)
-AC_CHECK_HEADERS(getopt.h)
-AC_CHECK_HEADERS(locale.h)
-AC_CHECK_HEADERS(utime.h)
-AC_CHECK_HEADERS(sys/utime.h)
-AC_CHECK_HEADERS(wchar.h)
-
-dnl Checks for typedefs, structures, and compiler characteristics.
-AC_C_CONST
-AC_TYPE_OFF_T
-AC_TYPE_SIZE_T
-AC_DIAGNOSE([obsolete],[AC_STRUCT_ST_RDEV:
-       your code should no longer depend upon `HAVE_ST_RDEV', but
-       `HAVE_STRUCT_STAT_ST_RDEV'.  Remove this warning and
-       the `AC_DEFINE' when you adjust the code.])
-AC_CHECK_MEMBERS([struct stat.st_rdev],[AC_DEFINE(HAVE_ST_RDEV, 1,
-                           [Define to 1 if your `struct stat' has `st_rdev'.
-                            Deprecated, use `HAVE_STRUCT_STAT_ST_RDEV'
-                            instead.])])
-
-AC_STRUCT_TIMEZONE_DAYLIGHT
-AC_SYS_LARGEFILE
-AC_MBSTATE_T
-
-AC_CHECK_TYPE_STDC(uint8_t, unsigned char)
-AC_CHECK_TYPE_STDC(uint16_t, unsigned short)
-AC_CHECK_TYPE_STDC(uint32_t, unsigned int)
-AC_CHECK_TYPE_STDC(int32_t, int)
-AC_C_LONG_LONG
-if test $ac_cv_c_long_long = yes; then
-  long64='unsigned long long';
-else
-  long64='unsigned long';
-fi
-dnl This needs a patch to autoconf 2.13 acgeneral.m4
-AC_CHECK_TYPE2_STDC(uint64_t, $long64)
-
-AC_CHECK_SIZEOF_STDC_HEADERS(uint8_t, 0)
-AC_CHECK_SIZEOF_STDC_HEADERS(uint16_t, 0)
-AC_CHECK_SIZEOF_STDC_HEADERS(uint32_t, 0)
-AC_CHECK_SIZEOF_STDC_HEADERS(uint64_t, 0)
-
-dnl Checks for functions
-AC_CHECK_FUNCS(mmap strerror strtoul mbrtowc mkstemp getopt_long utimes utime wcwidth)
-
-dnl Checks for libraries
-AC_CHECK_LIB(z,gzopen)
-
-# XXX Choose /usr/lib or /usr/lib64 for library installs.
-MARK64=
-case "${target_cpu}" in
-x86_64*|powerpc64*|ppc64*|sparc64*|s390x*)        MARK64=64 ;;
-esac
-AC_SUBST(MARK64)
-
-AC_CONFIG_FILES([Makefile src/Makefile magic/Makefile doc/Makefile python/Makefile])
-AC_OUTPUT
diff --git a/file/doc/.cvsignore b/file/doc/.cvsignore
deleted file mode 100644 (file)
index 313f462..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-Makefile
-Makefile.in
-file.1
-libmagic.3
-magic.4
diff --git a/file/doc/Makefile.am b/file/doc/Makefile.am
deleted file mode 100644 (file)
index d3e28e7..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-MAGIC   = $(pkgdatadir)/magic
-if FSECT5
-man_MAGIC = magic.5
-else
-man_MAGIC = magic.4
-endif
-fsect = @fsect@
-#man_MANS = file.1 $(man_MAGIC) libmagic.3
-noinst_MANS = file.1 $(man_MAGIC) libmagic.3
-
-EXTRA_DIST = file.man magic.man libmagic.man
-CLEANFILES = $(man_MANS)
-
-file.1:        Makefile file.man
-       @rm -f $@
-       sed -e s@__CSECTION__@1@g \
-           -e s@__FSECTION__@${fsect}@g \
-           -e s@__VERSION__@${VERSION}@g \
-           -e s@__MAGIC__@${MAGIC}@g $(srcdir)/file.man > $@
-
-magic.${fsect}: Makefile magic.man
-       @rm -f $@
-       sed -e s@__CSECTION__@1@g \
-           -e s@__FSECTION__@${fsect}@g \
-           -e s@__VERSION__@${VERSION}@g \
-           -e s@__MAGIC__@${MAGIC}@g $(srcdir)/magic.man > $@
-
-libmagic.3: Makefile libmagic.man
-       @rm -f $@
-       sed -e s@__CSECTION__@1@g \
-           -e s@__FSECTION__@${fsect}@g \
-           -e s@__VERSION__@${VERSION}@g \
-           -e s@__MAGIC__@${MAGIC}@g $(srcdir)/libmagic.man > $@
diff --git a/file/doc/file.man b/file/doc/file.man
deleted file mode 100644 (file)
index 22fd61a..0000000
+++ /dev/null
@@ -1,510 +0,0 @@
-.TH FILE __CSECTION__ "Copyright but distributable"
-.\" $Id: file.man,v 1.55 2005/02/09 19:07:30 christos Exp $
-.SH NAME
-file
-\- determine file type
-.SH SYNOPSIS
-.B file
-[
-.B \-bcikLnNprsvz
-]
-[
-.B \-f
-.I namefile
-]
-[
-.B \-F
-.I separator
-]
-[
-.B \-m 
-.I magicfiles
-]
-.I file
-\&...
-.br
-.B file
-.B -C
-[
-.B \-m 
-magicfile ]
-.SH DESCRIPTION
-This manual page documents version __VERSION__ of the
-.B file
-command.
-.PP
-.B File
-tests each argument in an attempt to classify it.
-There are three sets of tests, performed in this order:
-filesystem tests, magic number tests, and language tests.
-The
-.I first
-test that succeeds causes the file type to be printed.
-.PP
-The type printed will usually contain one of the words
-.B text
-(the file contains only
-printing characters and a few common control
-characters and is probably safe to read on an
-.SM ASCII
-terminal),
-.B executable
-(the file contains the result of compiling a program
-in a form understandable to some \s-1UNIX\s0 kernel or another),
-or
-.B data
-meaning anything else (data is usually `binary' or non-printable).
-Exceptions are well-known file formats (core files, tar archives)
-that are known to contain binary data.
-When modifying the file
-.I __MAGIC__
-or the program itself, 
-.B "preserve these keywords" .
-People depend on knowing that all the readable files in a directory
-have the word ``text'' printed.
-Don't do as Berkeley did and change ``shell commands text''
-to ``shell script''.
-Note that the file
-.I __MAGIC__
-is built mechanically from a large number of small files in
-the subdirectory
-.I Magdir
-in the source distribution of this program.
-.PP
-The filesystem tests are based on examining the return from a
-.BR stat (2)
-system call.
-The program checks to see if the file is empty,
-or if it's some sort of special file.
-Any known file types appropriate to the system you are running on
-(sockets, symbolic links, or named pipes (FIFOs) on those systems that
-implement them)
-are intuited if they are defined in
-the system header file
-.IR <sys/stat.h>  .
-.PP
-The magic number tests are used to check for files with data in
-particular fixed formats.
-The canonical example of this is a binary executable (compiled program)
-.I a.out
-file, whose format is defined in 
-.I a.out.h
-and possibly
-.I exec.h
-in the standard include directory.
-These files have a `magic number' stored in a particular place
-near the beginning of the file that tells the \s-1UNIX\s0 operating system
-that the file is a binary executable, and which of several types thereof.
-The concept of `magic number' has been applied by extension to data files.
-Any file with some invariant identifier at a small fixed
-offset into the file can usually be described in this way.
-The information identifying these files is read from the compiled
-magic file
-.I __MAGIC__.mgc ,
-or 
-.I __MAGIC__
-if the compile file does not exist. In addition
-.B file
-will look in
-.I $HOME/.magic.mgc ,
-or
-.I $HOME/.magic
-for magic entries.
-.PP
-If a file does not match any of the entries in the magic file,
-it is examined to see if it seems to be a text file.
-ASCII, ISO-8859-x, non-ISO 8-bit extended-ASCII character sets
-(such as those used on Macintosh and IBM PC systems),
-UTF-8-encoded Unicode, UTF-16-encoded Unicode, and EBCDIC
-character sets can be distinguished by the different
-ranges and sequences of bytes that constitute printable text
-in each set.
-If a file passes any of these tests, its character set is reported.
-ASCII, ISO-8859-x, UTF-8, and extended-ASCII files are identified
-as ``text'' because they will be mostly readable on nearly any terminal;
-UTF-16 and EBCDIC are only ``character data'' because, while
-they contain text, it is text that will require translation
-before it can be read.
-In addition,
-.B file
-will attempt to determine other characteristics of text-type files.
-If the lines of a file are terminated by CR, CRLF, or NEL, instead
-of the Unix-standard LF, this will be reported.
-Files that contain embedded escape sequences or overstriking
-will also be identified.
-.PP
-Once
-.B file
-has determined the character set used in a text-type file,
-it will
-attempt to determine in what language the file is written.
-The language tests look for particular strings (cf
-.IR names.h )
-that can appear anywhere in the first few blocks of a file.
-For example, the keyword
-.B .br
-indicates that the file is most likely a
-.BR troff (1)
-input file, just as the keyword 
-.B struct
-indicates a C program.
-These tests are less reliable than the previous
-two groups, so they are performed last.
-The language test routines also test for some miscellany
-(such as 
-.BR tar (1)
-archives).
-.PP
-Any file that cannot be identified as having been written
-in any of the character sets listed above is simply said to be ``data''.
-.SH OPTIONS
-.TP 8
-.B "\-b, \-\-brief"
-Do not prepend filenames to output lines (brief mode).
-.TP 8
-.B "\-c, \-\-checking\-printout"
-Cause a checking printout of the parsed form of the magic file.
-This is usually used in conjunction with 
-.B \-m
-to debug a new magic file before installing it.
-.TP 8
-.B "\-C, \-\-compile"
-Write a magic.mgc output file that contains a pre-parsed version of
-file.
-.TP 8
-.BI "\-f, \-\-files\-from" " namefile"
-Read the names of the files to be examined from 
-.I namefile
-(one per line) 
-before the argument list.
-Either 
-.I namefile
-or at least one filename argument must be present;
-to test the standard input, use ``\-'' as a filename argument.
-.TP 8
-.BI "\-F, \-\-separator" " separator"
-Use the specified string as the separator between the filename and the
-file result returned. Defaults to ``:''.
-.TP 8
-.B "\-i, \-\-mime"
-Causes the file command to output mime type strings rather than the more
-traditional human readable ones. Thus it may say
-``text/plain; charset=us-ascii''
-rather
-than ``ASCII text''.
-In order for this option to work, file changes the way
-it handles files recognised by the command itself (such as many of the
-text file types, directories etc), and makes use of an alternative
-``magic'' file.
-(See ``FILES'' section, below).
-.TP 8
-.B "\-k, \-\-keep\-going"
-Don't stop at the first match, keep going.
-.TP 8
-.B "\-L, \-\-dereference"
-option causes symlinks to be followed, as the like-named option in
-.BR ls (1).
-(on systems that support symbolic links).
-.TP 8
-.BI "\-m, \-\-magic\-file" " list"
-Specify an alternate list of files containing magic numbers.
-This can be a single file, or a colon-separated list of files.
-If a compiled magic file is found alongside, it will be used instead.
-With the \-i or \-\-mime option, the program adds ".mime" to each file name.
-.TP 8
-.B "\-n, \-\-no\-buffer"
-Force stdout to be flushed after checking each file.
-This is only useful if checking a list of files.
-It is intended to be used by programs that want filetype output from a pipe.
-.TP 8
-.B "\-N, \-\-no\-pad"
-Don't pad filenames so that they align in the output.
-.TP 8
-.B "\-p, \-\-preserve\-date"
-On systems that support
-.BR utime (2)
-or
-.BR utimes(2),
-attempt to preserve the access time of files analyzed, to pretend that
-.BR file (2)
-never read them.
-.TP 8
-.B "\-r, \-\-raw"
-Don't translate unprintable characters to \eooo.
-Normally
-.B file
-translates unprintable characters to their octal representation.
-.TP 8
-.B "\-s, \-\-special\-files"
-Normally,
-.B file
-only attempts to read and determine the type of argument files which
-.BR stat (2)
-reports are ordinary files.
-This prevents problems, because reading special files may have peculiar
-consequences.
-Specifying the
-.BR \-s
-option causes
-.B file
-to also read argument files which are block or character special files.
-This is useful for determining the filesystem types of the data in raw
-disk partitions, which are block special files.
-This option also causes
-.B file
-to disregard the file size as reported by
-.BR stat (2)
-since on some systems it reports a zero size for raw disk partitions.
-.TP 8
-.B "\-v, \-\-version"
-Print the version of the program and exit.
-.TP 8
-.B "\-z, \-\-uncompress"
-Try to look inside compressed files.
-.TP 8
-.B "\-\-help"
-Print a help message and exit.
-.SH FILES
-.TP
-.I __MAGIC__.mgc
-Default compiled list of magic numbers
-.TP
-.I __MAGIC__
-Default list of magic numbers
-.TP
-.I __MAGIC__.mime.mgc
-Default compiled list of magic numbers, used to output mime types when
-the -i option is specified.
-.TP
-.I __MAGIC__.mime
-Default list of magic numbers, used to output mime types when the -i option
-is specified.
-.TP
-.I /etc/magic
-Local additions to magic wisdom.
-
-.SH ENVIRONMENT
-The environment variable
-.B MAGIC
-can be used to set the default magic number file name.
-If that variable is set, then
-.B file
-will not attempt to open
-.B $HOME/.magic .
-.B file
-adds ".mime" and/or ".mgc" to the value of this variable as appropriate.
-.SH SEE ALSO
-.BR magic (__FSECTION__)
-\- description of magic file format.
-.br
-.BR strings (1), " od" (1), " hexdump(1)"
-\- tools for examining non-textfiles.
-.SH STANDARDS CONFORMANCE
-This program is believed to exceed the System V Interface Definition
-of FILE(CMD), as near as one can determine from the vague language
-contained therein. 
-Its behaviour is mostly compatible with the System V program of the same name.
-This version knows more magic, however, so it will produce
-different (albeit more accurate) output in many cases. 
-.PP
-The one significant difference 
-between this version and System V
-is that this version treats any white space
-as a delimiter, so that spaces in pattern strings must be escaped.
-For example,
-.br
->10    string  language impress\       (imPRESS data)
-.br
-in an existing magic file would have to be changed to
-.br
->10    string  language\e impress      (imPRESS data)
-.br
-In addition, in this version, if a pattern string contains a backslash,
-it must be escaped.
-For example
-.br
-0      string          \ebegindata     Andrew Toolkit document
-.br
-in an existing magic file would have to be changed to
-.br
-0      string          \e\ebegindata   Andrew Toolkit document
-.br
-.PP
-SunOS releases 3.2 and later from Sun Microsystems include a
-.BR file (1)
-command derived from the System V one, but with some extensions.
-My version differs from Sun's only in minor ways.
-It includes the extension of the `&' operator, used as,
-for example,
-.br
->16    long&0x7fffffff >0              not stripped
-.SH MAGIC DIRECTORY
-The magic file entries have been collected from various sources,
-mainly USENET, and contributed by various authors.
-Christos Zoulas (address below) will collect additional
-or corrected magic file entries.
-A consolidation of magic file entries 
-will be distributed periodically.
-.PP
-The order of entries in the magic file is significant.
-Depending on what system you are using, the order that
-they are put together may be incorrect.
-If your old
-.B file
-command uses a magic file,
-keep the old magic file around for comparison purposes
-(rename it to 
-.IR __MAGIC__.orig ).
-.SH EXAMPLES
-.nf
-$ file file.c file /dev/{wd0a,hda}
-file.c:   C program text
-file:     ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
-          dynamically linked (uses shared libs), stripped
-/dev/wd0a: block special (0/0)
-/dev/hda: block special (3/0)
-$ file -s /dev/wd0{b,d}
-/dev/wd0b: data
-/dev/wd0d: x86 boot sector
-$ file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10}
-/dev/hda:   x86 boot sector
-/dev/hda1:  Linux/i386 ext2 filesystem
-/dev/hda2:  x86 boot sector
-/dev/hda3:  x86 boot sector, extended partition table
-/dev/hda4:  Linux/i386 ext2 filesystem
-/dev/hda5:  Linux/i386 swap file
-/dev/hda6:  Linux/i386 swap file
-/dev/hda7:  Linux/i386 swap file
-/dev/hda8:  Linux/i386 swap file
-/dev/hda9:  empty
-/dev/hda10: empty
-
-$ file -i file.c file /dev/{wd0a,hda}
-file.c:      text/x-c
-file:        application/x-executable, dynamically linked (uses shared libs),
-not stripped
-/dev/hda:    application/x-not-regular-file
-/dev/wd0a:   application/x-not-regular-file
-
-.fi
-.SH HISTORY
-There has been a 
-.B file
-command in every \s-1UNIX\s0 since at least Research Version 4
-(man page dated November, 1973).
-The System V version introduced one significant major change:
-the external list of magic number types.
-This slowed the program down slightly but made it a lot more flexible.
-.PP
-This program, based on the System V version,
-was written by Ian Darwin <ian@darwinsys.com>
-without looking at anybody else's source code.
-.PP
-John Gilmore revised the code extensively, making it better than
-the first version.
-Geoff Collyer found several inadequacies
-and provided some magic file entries.
-Contributions by the `&' operator by Rob McMahon, cudcv@warwick.ac.uk, 1989.
-.PP
-Guy Harris, guy@netapp.com, made many changes from 1993 to the present.
-.PP
-Primary development and maintenance from 1990 to the present by
-Christos Zoulas (christos@astron.com).
-.PP
-Altered by Chris Lowth, chris@lowth.com, 2000:
-Handle the ``-i'' option to output mime type strings and using an alternative
-magic file and internal logic.
-.PP
-Altered by Eric Fischer (enf@pobox.com), July, 2000,
-to identify character codes and attempt to identify the languages
-of non-ASCII files.
-.PP
-The list of contributors to the "Magdir" directory (source for the
-/etc/magic
-file) is too long to include here.
-You know who you are; thank you.
-.SH LEGAL NOTICE
-Copyright (c) Ian F. Darwin, Toronto, Canada, 1986-1999.
-Covered by the standard Berkeley Software Distribution copyright; see the file
-LEGAL.NOTICE in the source distribution.
-.PP
-The files
-.I tar.h
-and
-.I is_tar.c
-were written by John Gilmore from his public-domain
-.B tar
-program, and are not covered by the above license.
-.SH BUGS
-There must be a better way to automate the construction of the Magic
-file from all the glop in magdir.
-What is it?
-Better yet, the magic file should be compiled into binary (say,
-.BR ndbm (3)
-or, better yet, fixed-length
-.SM ASCII
-strings for use in heterogenous network environments) for faster startup.
-Then the program would run as fast as the Version 7 program of the same name,
-with the flexibility of the System V version.
-.PP
-.B File
-uses several algorithms that favor speed over accuracy,
-thus it can be misled about the contents of
-text
-files.
-.PP
-The support for
-text
-files (primarily for programming languages)
-is simplistic, inefficient and requires recompilation to update.
-.PP
-There should be an ``else'' clause to follow a series of continuation lines.
-.PP
-The magic file and keywords should have regular expression support.
-Their use of
-.SM "ASCII TAB"
-as a field delimiter is ugly and makes
-it hard to edit the files, but is entrenched.
-.PP
-It might be advisable to allow upper-case letters in keywords
-for e.g.,
-.BR troff (1)
-commands vs man page macros.
-Regular expression support would make this easy.
-.PP
-The program doesn't grok \s-2FORTRAN\s0.
-It should be able to figure \s-2FORTRAN\s0 by seeing some keywords which 
-appear indented at the start of line.
-Regular expression support would make this easy.
-.PP
-The list of keywords in 
-.I ascmagic
-probably belongs in the Magic file.
-This could be done by using some keyword like `*' for the offset value.
-.PP
-Another optimisation would be to sort
-the magic file so that we can just run down all the
-tests for the first byte, first word, first long, etc, once we
-have fetched it.
-Complain about conflicts in the magic file entries.
-Make a rule that the magic entries sort based on file offset rather
-than position within the magic file?
-.PP
-The program should provide a way to give an estimate 
-of ``how good'' a guess is.
-We end up removing guesses (e.g. ``From '' as first 5 chars of file) because
-they are not as good as other guesses (e.g. ``Newsgroups:'' versus
-``Return-Path:'').
-Still, if the others don't pan out, it should be possible to use the
-first guess.  
-.PP
-This program is slower than some vendors' file commands.
-The new support for multiple character codes makes it even slower.
-.PP
-This manual page, and particularly this section, is too long.
-.SH AVAILABILITY
-You can obtain the original author's latest version by anonymous FTP
-on
-.B ftp.astron.com
-in the directory
-.I /pub/file/file-X.YZ.tar.gz
diff --git a/file/doc/libmagic.man b/file/doc/libmagic.man
deleted file mode 100644 (file)
index b4b343a..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-.\"
-.\" Copyright (c) Christos Zoulas 2003.
-.\" All Rights Reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice immediately at the beginning of the file, without modification,
-.\"    this list of conditions, and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\" 
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
-.\" ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.Dd March 22, 2003
-.Dt MAGIC 3
-.Os
-.Sh NAME
-.Nm magic_open ,
-.Nm magic_close ,
-.Nm magic_error ,
-.Nm magic_file ,
-.Nm magic_buffer ,
-.Nm magic_setflags ,
-.Nm magic_check ,
-.Nm magic_compile ,
-.Nm magic_load
-.Nd Magic number recognition library.
-.Sh LIBRARY
-.Lb libmagic
-.Sh SYNOPSIS
-.In magic.h
-.Ft magic_t
-.Fn magic_open "int flags"
-.Ft void
-.Fn magic_close "magic_t cookie"
-.Ft const char *
-.Fn magic_error "magic_t cookie"
-.Ft int
-.Fn magic_errno "magic_t cookie"
-.Ft const char *
-.Fn magic_file "magic_t cookie, const char *filename"
-.Ft const char *
-.Fn magic_buffer "magic_t cookie, const void *buffer, size_t length"
-.Ft int
-.Fn magic_setflags "magic_t cookie, int flags"
-.Ft int
-.Fn magic_check "magic_t cookie, const char *filename"
-.Ft int
-.Fn magic_compile "magic_t cookie, const char *filename"
-.Ft int
-.Fn magic_load "magic_t cookie, const char *filename"
-.Sh DESCRIPTION
-These functions
-operate on the magic database file
-which is described
-in
-.Xr magic __FSECTION__ .
-.Pp
-The function
-.Fn magic_open
-creates a magic cookie pointer and returns it. It returns NULL if
-there was an error allocating the magic cookie. The 
-.Ar flags
-argument specifies how the other magic functions should behave:
-.Bl -tag -width MAGIC_COMPRESS
-.It Dv MAGIC_NONE
-No special handling.
-.It Dv MAGIC_DEBUG
-Print debugging messages to stderr.
-.It Dv MAGIC_SYMLINK
-If the file queried is a symlink, follow it.
-.It Dv MAGIC_COMPRESS
-If the file is compressed, unpack it and look at the contents.
-.It Dv MAGIC_DEVICES
-If the file is a block or character special device, then open the device
-and try to look in its contents.
-.It Dv MAGIC_MIME
-Return a mime string, instead of a textual description.
-.It Dv MAGIC_CONTINUE
-Return all matches, not just the first.
-.It Dv MAGIC_CHECK
-Check the magic database for consistency and print warnings to stderr.
-.It Dv MAGIC_PRESERVE_ATIME
-On systems that support
-.Xr utime 2
-or
-.Xr utimes 2 ,
-attempt to preserve the access time of files analyzed.
-.It Dv MAGIC_RAW
-Don't translate unprintable characters to a \eooo octal representation.
-.It Dv MAGIC_ERROR
-Treat operating system errors while trying to open files and follow symlinks
-as real errors, instead of printing them in the magic buffer.
-.El
-.Pp
-The
-.Fn magic_close
-function closes the
-.Xr magic __FSECTION__
-database and deallocates any resources used.
-.Pp
-The
-.Fn magic_error
-function returns a textual explanation of the last error, or NULL if there was
-no error.
-.Pp
-The
-.Fn magic_errno
-function returns the last operating system error number (
-.Xr errno 3 )
-that was encountered by a system call.
-.Pp
-The
-.Fn magic_file
-function returns a textual description of the contents of the
-.Ar filename
-argument, or NULL if an error occurred.
-If the
-.Ar filename
-is NULL, then stdin is used.
-.Pp
-The
-.Fn magic_buffer
-function returns a textual description of the contents of the
-.Ar buffer
-argument with
-.Ar length
-bytes size.
-.Pp
-The
-.Fn magic_setflags
-function, sets the 
-.Ar flags
-described above.
-.Pp
-The
-.Fn magic_check
-function can be used to check the validity of entries in the colon
-separated database files passed in as
-.Ar filename ,
-or NULL for the default database. It returns 0 on success and -1 on
-failure.
-.Pp
-The
-.Fn magic_compile
-function can be used to compile the the colon
-separated list of database files passed in as
-.Ar filename ,
-or NULL for the default database. It returns 0 on success and -1 on
-failure. The compiled files created are named from the
-.Xr basename 1
-of each file argument with ".mgc" appended to it.
-.Pp
-The
-.Fn magic_load
-function must be used to load the the colon
-separated list of database files passed in as
-.Ar filename ,
-or NULL for the default database file
-before any magic queries can performed.
-.Pp
-The default database file is named by the MAGIC environment variable.  If
-that variable is not set, the default database file name is __MAGIC__.
-.Pp
-.Fn magic_load
-adds ".mime" and/or ".mgc" to the database filename as appropriate.
-.Sh RETURN VALUES
-The function
-.Fn magic_open
-returns a magic cookie on success and NULL on failure setting errno to
-an appropriate value. It will set errno to EINVAL if an unsupported
-value for flags was given.
-The
-.Fn magic_load ,
-.Fn magic_compile ,
-and
-.Fn magic_check
-functions return 0 on success and -1 on failure.
-The
-.Fn magic_file ,
-and
-.Fn magic_buffer 
-functions return a string on success and NULL on failure. The
-.Fn magic_error
-function returns a textual description of the errors of the above
-functions, or NULL if there was no error.
-Finally,
-.Fn magic_setflags
-returns -1 on systems that don't support
-.Xr utime 2 ,
-or
-.Xr utimes 2
-when
-.Dv MAGIC_PRESERVE_ATIME
-is set.
-.Sh FILES
-.Bl -tag -width __MAGIC__.mime.mgc -compact
-.It Pa __MAGIC__.mime
-The non-compiled default magic mime database.
-.It Pa __MAGIC__.mime.mgc
-The compiled default magic mime database.
-.It Pa __MAGIC__
-The non-compiled default magic database.
-.It Pa __MAGIC__.mgc
-The compiled default magic database.
-.El
-.Sh SEE ALSO
-.Xr file __CSECTION__ ,
-.Xr magic __FSECTION__ 
-.Sh AUTHORS
-Måns Rullgård Initial libmagic implementation,
-and configuration.
-Christos Zoulas API cleanup, error code and allocation handling.
diff --git a/file/doc/magic.man b/file/doc/magic.man
deleted file mode 100644 (file)
index d0a7d7d..0000000
+++ /dev/null
@@ -1,373 +0,0 @@
-.TH MAGIC __FSECTION__ "Public Domain"
-.\" install as magic.4 on USG, magic.5 on V7 or Berkeley systems.
-.SH NAME
-magic \- file command's magic number file
-.SH DESCRIPTION
-This manual page documents the format of the magic file as
-used by the
-.BR file (__CSECTION__)
-command, version __VERSION__.
-The
-.BR file
-command identifies the type of a file using,
-among other tests,
-a test for whether the file begins with a certain
-.IR "magic number" .
-The file
-.I __MAGIC__
-specifies what magic numbers are to be tested for,
-what message to print if a particular magic number is found,
-and additional information to extract from the file.
-.PP
-Each line of the file specifies a test to be performed.
-A test compares the data starting at a particular offset
-in the file with a 1-byte, 2-byte, or 4-byte numeric value or
-a string.
-If the test succeeds, a message is printed.
-The line consists of the following fields:
-.IP offset \w'message'u+2n
-A number specifying the offset, in bytes, into the file of the data
-which is to be tested.
-.IP type
-The type of the data to be tested.
-The possible values are:
-.RS
-.IP byte \w'message'u+2n
-A one-byte value.
-.IP short
-A two-byte value (on most systems) in this machine's native byte order.
-.IP long
-A four-byte value (on most systems) in this machine's native byte order.
-.IP string
-A string of bytes.
-The string type specification can be optionally followed
-by /[Bbc]*.
-The ``B'' flag compacts whitespace in the target, which must
-contain at least one whitespace character.
-If the magic has
-.I n
-consecutive blanks, the target needs at least
-.I n
-consecutive blanks to match.
-The ``b'' flag treats every blank in the target as an optional blank.
-Finally the ``c'' flag, specifies case insensitive matching: lowercase
-characters in the magic match both lower and upper case characters in the
-targer, whereas upper case characters in the magic, only much uppercase
-characters in the target.
-.IP date
-A four-byte value interpreted as a UNIX date.
-.IP ldate
-A four-byte value interpreted as a UNIX-style date, but interpreted as
-local time rather than UTC.
-.IP beshort
-A two-byte value (on most systems) in big-endian byte order.
-.IP belong
-A four-byte value (on most systems) in big-endian byte order.
-.IP bedate
-A four-byte value (on most systems) in big-endian byte order,
-interpreted as a Unix date.
-.IP leshort
-A two-byte value (on most systems) in little-endian byte order.
-.IP lelong
-A four-byte value (on most systems) in little-endian byte order.
-.IP ledate
-A four-byte value (on most systems) in little-endian byte order,
-interpreted as a UNIX date.
-.IP leldate
-A four-byte value (on most systems) in little-endian byte order,
-interpreted as a UNIX-style date, but interpreted as local time rather
-than UTC.
-.IP regex
-A regular expression match in extended POSIX regular expression syntax
-(much like egrep).
-The type specification can be optionally followed by
-.B /c
-for case-insensitive matches.
-The regular expression is always
-tested against the first
-.B N
-lines, where
-.B N
-is the given offset, thus it
-is only useful for (single-byte encoded) text.
-.B ^
-and
-.B $
-will match the beginning and end of individual lines, respectively,
-not beginning and end of file.
-.IP search
-A literal string search starting at the given offset. It must be followed by
-.B /<number>
-which specifies how many matches shall be attempted (the range).
-This is suitable for searching larger binary expressions with variable
-offsets, using
-.B \e
-escapes for special characters.
-.RE
-.PP
-The numeric types may optionally be followed by
-.B &
-and a numeric value,
-to specify that the value is to be AND'ed with the
-numeric value before any comparisons are done.
-Prepending a
-.B u
-to the type indicates that ordered comparisons should be unsigned.
-.IP test
-The value to be compared with the value from the file.
-If the type is
-numeric, this value
-is specified in C form; if it is a string, it is specified as a C string
-with the usual escapes permitted (e.g. \en for new-line).
-.IP
-Numeric values
-may be preceded by a character indicating the operation to be performed.
-It may be
-.BR = ,
-to specify that the value from the file must equal the specified value,
-.BR < ,
-to specify that the value from the file must be less than the specified
-value,
-.BR > ,
-to specify that the value from the file must be greater than the specified
-value,
-.BR & ,
-to specify that the value from the file must have set all of the bits
-that are set in the specified value,
-.BR ^ ,
-to specify that the value from the file must have clear any of the bits
-that are set in the specified value, or
-.BR x ,
-to specify that any value will match.
-If the character is omitted, it is assumed to be
-.BR = .
-For all tests except
-.B string
-and
-.B regex,
-operation
-.BR !
-specifies that the line matches if the test does
-.B not
-succeed.
-.IP
-Numeric values are specified in C form; e.g.
-.B 13
-is decimal,
-.B 013
-is octal, and
-.B 0x13
-is hexadecimal.
-.IP
-For string values, the byte string from the
-file must match the specified byte string.
-The operators
-.BR = ,
-.B <
-and
-.B >
-(but not
-.BR & )
-can be applied to strings.
-The length used for matching is that of the string argument
-in the magic file.
-This means that a line can match any string, and
-then presumably print that string, by doing
-.B >\e0
-(because all strings are greater than the null string).
-.IP message
-The message to be printed if the comparison succeeds.  If the string
-contains a
-.BR printf (3)
-format specification, the value from the file (with any specified masking
-performed) is printed using the message as the format string.
-.PP
-Some file formats contain additional information which is to be printed
-along with the file type or need additional tests to determine the true
-file type.
-These additional tests are introduced by one or more
-.B >
-characters preceding the offset.
-The number of
-.B >
-on the line indicates the level of the test; a line with no
-.B >
-at the beginning is considered to be at level 0.
-Tests are arranged in a tree-like hierarchy:
-If a the test on a line at level
-.IB n
-succeeds, all following tests at level
-.IB n+1
-are performed, and the messages printed if the tests succeed, untile a line
-with level
-.IB n
-(or less) appears.
-For more complex files, one can use empty messages to get just the
-"if/then" effect, in the following way:
-.sp
-.nf
-    0      string   MZ
-    >0x18  leshort  <0x40   MS-DOS executable
-    >0x18  leshort  >0x3f   extended PC executable (e.g., MS Windows)
-.fi
-.PP
-Offsets do not need to be constant, but can also be read from the file
-being examined.
-If the first character following the last
-.B >
-is a
-.B (
-then the string after the parenthesis is interpreted as an indirect offset.
-That means that the number after the parenthesis is used as an offset in
-the file.
-The value at that offset is read, and is used again as an offset
-in the file.
-Indirect offsets are of the form:
-.BI (( x [.[bslBSL]][+\-][ y ]).
-The value of
-.I x
-is used as an offset in the file. A byte, short or long is read at that offset
-depending on the
-.B [bslBSL]
-type specifier.
-The capitalized types interpret the number as a big endian
-value, whereas the small letter versions interpret the number as a little
-endian value.
-To that number the value of
-.I y
-is added and the result is used as an offset in the file.
-The default type if one is not specified is long.
-.PP
-That way variable length structures can be examined:
-.sp
-.nf
-    # MS Windows executables are also valid MS-DOS executables
-    0           string  MZ
-    >0x18       leshort <0x40   MZ executable (MS-DOS)
-    # skip the whole block below if it is not an extended executable
-    >0x18       leshort >0x3f
-    >>(0x3c.l)  string  PE\e0\e0  PE executable (MS-Windows)
-    >>(0x3c.l)  string  LX\e0\e0  LX executable (OS/2)
-.fi
-.PP
-This strategy of examining has one drawback: You must make sure that
-you eventually print something, or users may get empty output (like, when
-there is neither PE\e0\e0 nor LE\e0\e0 in the above example)
-.PP
-If this indirect offset cannot be used as-is, there are simple calculations
-possible: appending
-.BI [+-*/%&|^]<number>
-inside parentheses allows one to modify
-the value read from the file before it is used as an offset:
-.sp
-.nf
-    # MS Windows executables are also valid MS-DOS executables
-    0           string  MZ
-    # sometimes, the value at 0x18 is less that 0x40 but there's still an
-    # extended executable, simply appended to the file
-    >0x18       leshort <0x40
-    >>(4.s*512) leshort 0x014c  COFF executable (MS-DOS, DJGPP)
-    >>(4.s*512) leshort !0x014c MZ executable (MS-DOS)
-.fi
-.PP
-Sometimes you do not know the exact offset as this depends on the length or
-position (when indirection was used before) of preceding fields. You can
-specify an offset relative to the end of the last uplevel field using
-.BI &
-as a prefix to the offset:
-.sp
-.nf
-    0           string  MZ
-    >0x18       leshort >0x3f
-    >>(0x3c.l)  string  PE\e0\e0    PE executable (MS-Windows)
-    # immediately following the PE signature is the CPU type
-    >>>&0       leshort 0x14c     for Intel 80386
-    >>>&0       leshort 0x184     for DEC Alpha
-.fi
-.PP
-Indirect and relative offsets can be combined:
-.sp
-.nf
-    0             string  MZ
-    >0x18         leshort <0x40
-    >>(4.s*512)   leshort !0x014c MZ executable (MS-DOS)
-    # if it's not COFF, go back 512 bytes and add the offset taken
-    # from byte 2/3, which is yet another way of finding the start
-    # of the extended executable
-    >>>&(2.s-514) string  LE      LE executable (MS Windows VxD driver)
-.fi
-.PP
-Or the other way around:
-.sp
-.nf
-    0                 string  MZ
-    >0x18             leshort >0x3f
-    >>(0x3c.l)        string  LE\e0\e0  LE executable (MS-Windows)
-    # at offset 0x80 (-4, since relative offsets start at the end
-    # of the uplevel match) inside the LE header, we find the absolute
-    # offset to the code area, where we look for a specific signature
-    >>>(&0x7c.l+0x26) string  UPX     \eb, UPX compressed
-.fi
-.PP
-Or even both!
-.sp
-.nf
-    0                string  MZ
-    >0x18            leshort >0x3f
-    >>(0x3c.l)       string  LE\e0\e0 LE executable (MS-Windows)
-    # at offset 0x58 inside the LE header, we find the relative offset
-    # to a data area where we look for a specific signature
-    >>>&(&0x54.l-3)  string  UNACE  \eb, ACE self-extracting archive
-.fi
-.PP
-Finally, if you have to deal with offset/length pairs in your file, even the
-second value in a parenthesed expression can be taken from the file itself,
-using another set of parentheses. Note that this additional indirect offset
-is always relative to the start of the main indirect offset.
-.sp
-.nf
-    0                 string       MZ
-    >0x18             leshort      >0x3f
-    >>(0x3c.l)        string       PE\e0\e0 PE executable (MS-Windows)
-    # search for the PE section called ".idata"...
-    >>>&0xf4          search/0x140 .idata
-    # ...and go to the end of it, calculated from start+length;
-    # these are located 14 and 10 bytes after the section name
-    >>>>(&0xe.l+(-4)) string       PK\e3\e4 \eb, ZIP self-extracting archive
-.fi
-.SH BUGS
-The formats
-.IR long ,
-.IR belong ,
-.IR lelong ,
-.IR short ,
-.IR beshort ,
-.IR leshort ,
-.IR date ,
-.IR bedate ,
-and
-.I ledate
-are system-dependent; perhaps they should be specified as a number
-of bytes (2B, 4B, etc),
-since the files being recognized typically come from
-a system on which the lengths are invariant.
-.PP
-There is (currently) no support for specified-endian data to be used in
-indirect offsets.
-.SH SEE ALSO
-.BR file (__CSECTION__)
-\- the command that reads this file.
-.\"
-.\" From: guy@sun.uucp (Guy Harris)
-.\" Newsgroups: net.bugs.usg
-.\" Subject: /etc/magic's format isn't well documented
-.\" Message-ID: <2752@sun.uucp>
-.\" Date: 3 Sep 85 08:19:07 GMT
-.\" Organization: Sun Microsystems, Inc.
-.\" Lines: 136
-.\"
-.\" Here's a manual page for the format accepted by the "file" made by adding
-.\" the changes I posted to the S5R2 version.
-.\"
-.\" Modified for Ian Darwin's version of the file command.
-.\" @(#)$Id: magic.man,v 1.28 2005/03/17 17:34:15 christos Exp $
diff --git a/file/magic/.cvsignore b/file/magic/.cvsignore
deleted file mode 100644 (file)
index eee4514..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Makefile
-Makefile.in
-magic
-*.mgc
diff --git a/file/magic/Header b/file/magic/Header
deleted file mode 100644 (file)
index 3ca9b0e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-# Magic
-# Magic data for file(1) command.
-# Machine-generated from src/cmd/file/magdir/*; edit there only!
-# Format is described in magic(files), where:
-# files is 5 on V7 and BSD, 4 on SV, and ?? in the SVID.
diff --git a/file/magic/Localstuff b/file/magic/Localstuff
deleted file mode 100644 (file)
index 0fd0c91..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#------------------------------------------------------------------------------
-# Localstuff:  file(1) magic for locally observed files
-#
-# $Id: Localstuff,v 1.4 2003/03/23 04:17:27 christos Exp $
-# Add any locally observed files here.  Remember:
-# text if readable, executable if runnable binary, data if unreadable.
-
-# 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        TeX font metric data
->33    string          >\0             (%s)
-2      string          \000\022        TeX font metric data
->33    string          >\0             (%s)
diff --git a/file/magic/Magdir/acorn b/file/magic/Magdir/acorn
deleted file mode 100644 (file)
index ad89cc6..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#------------------------------------------------------------------------------
-# acorn:  file(1) magic for files found on Acorn systems
-#
-
-# RISC OS Chunk File Format
-# From RISC OS Programmer's Reference Manual, Appendix D
-# We guess the file type from the type of the first chunk.
-0      lelong          0xc3cbc6c5      RISC OS Chunk data
->12    string          OBJ_            \b, AOF object
->12    string          LIB_            \b, ALF library
-
-# RISC OS AIF, contains "SWI OS_Exit" at offset 16.
-16     lelong          0xef000011      RISC OS AIF executable
-
-# RISC OS Draw files
-# From RISC OS Programmer's Reference Manual, Appendix E
-0      string          Draw            RISC OS Draw file data
-
-# RISC OS new format font files
-# From RISC OS Programmer's Reference Manual, Appendix E
-0      string          FONT\0          RISC OS outline font data,
->5     byte            x               version %d
-0      string          FONT\1          RISC OS 1bpp font data,
->5     byte            x               version %d
-0      string          FONT\4          RISC OS 4bpp font data
->5     byte            x               version %d
-
-# RISC OS Music files
-# From RISC OS Programmer's Reference Manual, Appendix E
-0      string          Maestro\r       RISC OS music file
->8     byte            x               version %d
-
diff --git a/file/magic/Magdir/adi b/file/magic/Magdir/adi
deleted file mode 100644 (file)
index 12d7da5..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-
-#------------------------------------------------------------------------------
-# adi: file(1) magic for ADi's objects
-# From Gregory McGarry <g.mcgarry@ieee.org>
-#
-0      leshort         0x521c          COFF DSP21k
->18    lelong          &02             executable,
->18    lelong          ^02
->>18   lelong          &01             static object,
->>18   lelong          ^01             relocatable object,
->18    lelong          &010            stripped
->18    lelong          ^010            not stripped
diff --git a/file/magic/Magdir/adventure b/file/magic/Magdir/adventure
deleted file mode 100644 (file)
index 405d3cc..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-
-#------------------------------------------------------------------------------
-# adventure: file(1) magic for Adventure game files
-#
-# from Allen Garvin <earendil@faeryland.tamu-commerce.edu>
-# Edited by Dave Chapeskie <dchapes@ddm.on.ca> Jun 28, 1998
-# Edited by Chris Chittleborough <cchittleborough@yahoo.com.au>, March 2002
-#
-# ALAN
-# I assume there are other, lower versions, but these are the only ones I
-# saw in the archive.
-0      beshort 0x0206  ALAN game data
->2     byte    <10     version 2.6%d
-
-
-# Infocom (see z-machine)
-#------------------------------------------------------------------------------
-# Z-machine:  file(1) magic for Z-machine binaries.
-#
-# This will match ${TEX_BASE}/texmf/omega/ocp/char2uni/inbig5.ocp which
-# appears to be a version-0 Z-machine binary.
-#
-# The (false match) message is to correct that behavior.  Perhaps it is
-# not needed.
-#
-16     belong&0xfe00f0f0       0x3030  Infocom game data
->0     ubyte                   0       (false match)
->0     ubyte                   >0      (Z-machine %d,
->>2    ubeshort                x       Release %d /
->>18   string                  >\0     Serial %.6s)
-
-#------------------------------------------------------------------------------
-# Glulx:  file(1) magic for Glulx binaries.
-#
-# I haven't checked for false matches yet.
-#
-0      string                  Glul    Glulx game data
->4     beshort                 x       (Version %d
->>6    byte                    x       \b.%d
->>8    byte                    x       \b.%d)
->36    string                  Info    Compiled by Inform
-
-
-
-# For Quetzal and blorb magic see iff
-
-
-# TADS (Text Adventure Development System)
-#  All files are machine-independent (games compile to byte-code) and are tagged
-#  with a version string of the form "V2.<digit>.<digit>\0" (but TADS 3 is
-#  on the way).
-#  Game files start with "TADS2 bin\n\r\032\0" then the compiler version.
-0      string  TADS2\ bin      TADS
->9     belong  !0x0A0D1A00     game data, CORRUPTED
->9     belong   0x0A0D1A00
->>13   string  >\0             %s game data
-#  Resource files start with "TADS2 rsc\n\r\032\0" then the compiler version.
-0      string  TADS2\ rsc      TADS
->9     belong  !0x0A0D1A00     resource data, CORRUPTED
->9     belong   0x0A0D1A00
->>13   string  >\0             %s resource data
-#  Some saved game files start with "TADS2 save/g\n\r\032\0", a little-endian
-#  2-byte length N, the N-char name of the game file *without* a NUL (darn!),
-# "TADS2 save\n\r\032\0" and the interpreter version. 
-0      string  TADS2\ save/g   TADS
->12    belong  !0x0A0D1A00     saved game data, CORRUPTED
->12    belong   0x0A0D1A00
->>(16.s+32) string >\0         %s saved game data
-#  Other saved game files start with "TADS2 save\n\r\032\0" and the interpreter
-#  version.
-0      string  TADS2\ save     TADS
->10    belong  !0x0A0D1A00     saved game data, CORRUPTED
->10    belong   0x0A0D1A00
->>14   string  >\0             %s saved game data
-
diff --git a/file/magic/Magdir/allegro b/file/magic/Magdir/allegro
deleted file mode 100644 (file)
index 41f4ad6..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#------------------------------------------------------------------------------
-# allegro:  file(1) magic for Allegro datafiles
-# Toby Deshane <hac@shoelace.digivill.net>
-#
-0 belong 0x736C6821   Allegro datafile (packed)
-0 belong 0x736C682E   Allegro datafile (not packed/autodetect)
-0 belong 0x736C682B   Allegro datafile (appended exe data)
diff --git a/file/magic/Magdir/alliant b/file/magic/Magdir/alliant
deleted file mode 100644 (file)
index 69cf4b4..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#------------------------------------------------------------------------------
-# 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            0420 Alliant virtual executable
->2     short           &0x0020         common library
->16    long            >0              not stripped
-0      short           0421            0421 Alliant compact executable
->2     short           &0x0020         common library
->16    long            >0              not stripped
diff --git a/file/magic/Magdir/alpha b/file/magic/Magdir/alpha
deleted file mode 100644 (file)
index c0191fb..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#------------------------------------------------------------------------------
-# alpha architecture description
-#
-
-0      leshort         0603            COFF format alpha
->22    leshort&030000  !020000         executable
->24    leshort         0410            pure
->24    leshort         0413            paged
->22    leshort&020000  !0              dynamically linked
->16    lelong          !0              not stripped
->16    lelong          0               stripped
->22    leshort&030000  020000          shared library
->24    leshort         0407            object
->27    byte            x               - version %d
->26    byte            x               \b.%d
->28    byte            x               \b-%d
-
-# 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        Alpha COFF format core dump (Digital UNIX)
->24    string          >\0             \b, from '%s'
-0      string          Core\002        Alpha COFF format core dump (Digital UNIX)
->24    string          >\0             \b, from '%s'
-
diff --git a/file/magic/Magdir/amanda b/file/magic/Magdir/amanda
deleted file mode 100644 (file)
index 2b95650..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#------------------------------------------------------------------------------
-# amanda:  file(1) magic for amanda file format
-#
-0      string  AMANDA:\                AMANDA 
->8     string  TAPESTART\ DATE         tape header file,
->>23   string  X
->>>25  string  >\                      Unused %s
->>23   string  >\                      DATE %s
->8     string  FILE\                   dump file,
->>13   string  >\                      DATE %s
diff --git a/file/magic/Magdir/amigaos b/file/magic/Magdir/amigaos
deleted file mode 100644 (file)
index ba2366c..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#------------------------------------------------------------------------------
-# amigaos:  file(1) magic for AmigaOS binary formats:
-
-#
-# From ignatios@cs.uni-bonn.de (Ignatios Souvatzis)
-#
-0      belong          0x000003fa      AmigaOS shared library
-0      belong          0x000003f3      AmigaOS loadseg()ble executable/binary
-0      belong          0x000003e7      AmigaOS object/library data
-#
-0      beshort         0xe310          Amiga Workbench
->2     beshort         1               
->>48   byte            1               disk icon
->>48   byte            2               drawer icon
->>48   byte            3               tool icon
->>48   byte            4               project icon
->>48   byte            5               garbage icon
->>48   byte            6               device icon
->>48   byte            7               kickstart icon
->>48   byte            8               workbench application icon
->2     beshort         >1              icon, vers. %d
-#
-# various sound formats from the Amiga
-# G=F6tz Waschk <waschk@informatik.uni-rostock.de>
-#
-0      string          FC14            Future Composer 1.4 Module sound file
-0      string          SMOD            Future Composer 1.3 Module sound file
-0      string          AON4artofnoise  Art Of Noise Module sound file
-1      string          MUGICIAN/SOFTEYES Mugician Module sound file
-58     string          SIDMON\ II\ -\ THE      Sidmon 2.0 Module sound file
-0      string          Synth4.0        Synthesis Module sound file
-0      string          ARP.            The Holy Noise Module sound file
-0      string          BeEp\0          JamCracker Module sound file
-0      string          COSO\0          Hippel-COSO Module sound file
-# Too simple (short, pure ASCII, deep), MPi
-#26    string          V.3             Brian Postma's Soundmon Module sound file v3
-#26    string          BPSM            Brian Postma's Soundmon Module sound file v3
-#26    string          V.2             Brian Postma's Soundmon Module sound file v2
-
-# The following are from: "Stefan A. Haubenthal" <polluks@web.de>
-0      beshort         0x0f00          AmigaOS bitmap font
-0      beshort         0x0f03          AmigaOS outline font
-0      belong          0x80001001      AmigaOS outline tag
-0      string          ##\ version     catalog translation
-
-# Amiga disk types
-# 
-0      string          RDSK            Rigid Disk Block
->160   string          x               on %.24s
-0      string          DOS\0           Amiga DOS disk
-0      string          DOS\1           Amiga FFS disk
-0      string          DOS\2           Amiga Inter DOS disk
-0      string          DOS\3           Amiga Inter FFS disk
-0      string          DOS\4           Amiga Fastdir DOS disk
-0      string          DOS\5           Amiga Fastdir FFS disk
-0      string          KICK            Kickstart disk
diff --git a/file/magic/Magdir/animation b/file/magic/Magdir/animation
deleted file mode 100644 (file)
index c669830..0000000
+++ /dev/null
@@ -1,676 +0,0 @@
-
-#------------------------------------------------------------------------------
-# 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)
-
-# SGI and Apple formats
-0      string          MOVI            Silicon Graphics movie file
-4       string          moov            Apple QuickTime
->12     string          mvhd            \b movie (fast start)
->12     string          mdra            \b URL
->12     string          cmov            \b movie (fast start, compressed header)
->12     string          rmra            \b multiple URLs
-4       string          mdat            Apple QuickTime movie (unoptimized)
-4       string          wide            Apple QuickTime movie (unoptimized)
-4       string          skip            Apple QuickTime movie (modified)
-4       string          free            Apple QuickTime movie (modified)
-4       string          idsc            Apple QuickTime image (fast start)
-4       string          idat            Apple QuickTime image (unoptimized)
-4       string          pckg            Apple QuickTime compressed archive
-4      string/B        jP              JPEG 2000 image
-4      string          ftyp            ISO Media
->8     string          isom            \b, MPEG v4 system, version 1
->8     string          iso2            \b, MPEG v4 system, part 12 revision
->8     string          mp41            \b, MPEG v4 system, version 1
->8     string          mp42            \b, MPEG v4 system, version 2
->8     string          mp7t            \b, MPEG v4 system, MPEG v7 XML
->8     string          mp7b            \b, MPEG v4 system, MPEG v7 binary XML
->8     string/B        jp2             \b, JPEG 2000
->8     string          3gp             \b, MPEG v4 system, 3GPP
->>11   byte            4               \b v4 (H.263/AMR GSM 6.10)
->>11   byte            5               \b v5 (H.263/AMR GSM 6.10)
->>11   byte            6               \b v6 (ITU H.264/AMR GSM 6.10)
->8     string          mmp4            \b, MPEG v4 system, 3GPP Mobile
->8     string          avc1            \b, MPEG v4 system, 3GPP JVT AVC
->8     string/B        M4A             \b, MPEG v4 system, iTunes AAC-LC
->8     string/B        M4P             \b, MPEG v4 system, iTunes AES encrypted
->8     string/B        M4B             \b, MPEG v4 system, iTunes bookmarked
->8     string/B        qt              \b, Apple QuickTime movie
-
-# MPEG sequences
-# Scans for all common MPEG header start codes
-0        belong             0x00000001     JVT NAL sequence
->4       byte&0x1F          0x07           \b, H.264 video
->>5      byte               66             \b, baseline
->>5      byte               77             \b, main
->>5      byte               88             \b, extended
->>7      byte               x              \b @ L %u
-0        belong&0xFFFFFF00  0x00000100     MPEG sequence
->3       byte               0xBA
->>4      byte               &0x40          \b, v2, program multiplex
->>4      byte               ^0x40          \b, v1, system multiplex
->3       byte               0xBB           \b, v1/2, multiplex (missing pack header)
->3       byte&0x1F          0x07           \b, H.264 video
->>4      byte               66             \b, baseline
->>4      byte               77             \b, main
->>4      byte               88             \b, extended
->>6      byte               x              \b @ L %u
->3       byte               0xB0           \b, v4
->>5      belong             0x000001B5
->>>9     byte               &0x80
->>>>10   byte&0xF0          16             \b, video
->>>>10   byte&0xF0          32             \b, still texture
->>>>10   byte&0xF0          48             \b, mesh
->>>>10   byte&0xF0          64             \b, face
->>>9     byte&0xF8          8              \b, video
->>>9     byte&0xF8          16             \b, still texture
->>>9     byte&0xF8          24             \b, mesh
->>>9     byte&0xF8          32             \b, face
->>4      byte               1              \b, simple @ L1
->>4      byte               2              \b, simple @ L2
->>4      byte               3              \b, simple @ L3
->>4      byte               4              \b, simple @ L0
->>4      byte               17             \b, simple scalable @ L1
->>4      byte               18             \b, simple scalable @ L2
->>4      byte               33             \b, core @ L1
->>4      byte               34             \b, core @ L2
->>4      byte               50             \b, main @ L2
->>4      byte               51             \b, main @ L3
->>4      byte               53             \b, main @ L4
->>4      byte               66             \b, n-bit @ L2
->>4      byte               81             \b, scalable texture @ L1
->>4      byte               97             \b, simple face animation @ L1
->>4      byte               98             \b, simple face animation @ L2
->>4      byte               99             \b, simple face basic animation @ L1
->>4      byte               100            \b, simple face basic animation @ L2
->>4      byte               113            \b, basic animation text @ L1
->>4      byte               114            \b, basic animation text @ L2
->>4      byte               129            \b, hybrid @ L1
->>4      byte               130            \b, hybrid @ L2
->>4      byte               145            \b, advanced RT simple @ L!
->>4      byte               146            \b, advanced RT simple @ L2
->>4      byte               147            \b, advanced RT simple @ L3
->>4      byte               148            \b, advanced RT simple @ L4
->>4      byte               161            \b, core scalable @ L1
->>4      byte               162            \b, core scalable @ L2
->>4      byte               163            \b, core scalable @ L3
->>4      byte               177            \b, advanced coding efficiency @ L1
->>4      byte               178            \b, advanced coding efficiency @ L2
->>4      byte               179            \b, advanced coding efficiency @ L3
->>4      byte               180            \b, advanced coding efficiency @ L4
->>4      byte               193            \b, advanced core @ L1
->>4      byte               194            \b, advanced core @ L2
->>4      byte               209            \b, advanced scalable texture @ L1
->>4      byte               210            \b, advanced scalable texture @ L2
->>4      byte               211            \b, advanced scalable texture @ L3
->>4      byte               225            \b, simple studio @ L1
->>4      byte               226            \b, simple studio @ L2
->>4      byte               227            \b, simple studio @ L3
->>4      byte               228            \b, simple studio @ L4
->>4      byte               229            \b, core studio @ L1
->>4      byte               230            \b, core studio @ L2
->>4      byte               231            \b, core studio @ L3
->>4      byte               232            \b, core studio @ L4
->>4      byte               240            \b, advanced simple @ L0
->>4      byte               241            \b, advanced simple @ L1
->>4      byte               242            \b, advanced simple @ L2
->>4      byte               243            \b, advanced simple @ L3
->>4      byte               244            \b, advanced simple @ L4
->>4      byte               245            \b, advanced simple @ L5
->>4      byte               247            \b, advanced simple @ L3b
->>4      byte               248            \b, FGS @ L0
->>4      byte               249            \b, FGS @ L1
->>4      byte               250            \b, FGS @ L2
->>4      byte               251            \b, FGS @ L3
->>4      byte               252            \b, FGS @ L4
->>4      byte               253            \b, FGS @ L5
->3       byte               0xB5           \b, v4
->>4      byte               &0x80
->>>5     byte&0xF0          16             \b, video (missing profile header)
->>>5     byte&0xF0          32             \b, still texture (missing profile header)
->>>5     byte&0xF0          48             \b, mesh (missing profile header)
->>>5     byte&0xF0          64             \b, face (missing profile header)
->>4      byte&0xF8          8              \b, video (missing profile header)
->>4      byte&0xF8          16             \b, still texture (missing profile header)
->>4      byte&0xF8          24             \b, mesh (missing profile header)
->>4      byte&0xF8          32             \b, face (missing profile header)
->3       byte               0xB3
->>12     belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
->>12     belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
->>12     belong             0x000001B5     \b, v2,
->>>16    byte&0x0F          1              \b HP
->>>16    byte&0x0F          2              \b Spt
->>>16    byte&0x0F          3              \b SNR
->>>16    byte&0x0F          4              \b MP
->>>16    byte&0x0F          5              \b SP
->>>17    byte&0xF0          64             \b@HL
->>>17    byte&0xF0          96             \b@H-14
->>>17    byte&0xF0          128            \b@ML
->>>17    byte&0xF0          160            \b@LL
->>>17    byte               &0x08          \b progressive
->>>17    byte               ^0x08          \b interlaced
->>>17    byte&0x06          2              \b Y'CbCr 4:2:0 video
->>>17    byte&0x06          4              \b Y'CbCr 4:2:2 video
->>>17    byte&0x06          6              \b Y'CbCr 4:4:4 video
->>11     byte               &0x02
->>>75    byte               &0x01
->>>>140  belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
->>>>140  belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
->>>>140  belong             0x000001B5     \b, v2,
->>>>>144 byte&0x0F          1              \b HP
->>>>>144 byte&0x0F          2              \b Spt
->>>>>144 byte&0x0F          3              \b SNR
->>>>>144 byte&0x0F          4              \b MP
->>>>>144 byte&0x0F          5              \b SP
->>>>>145 byte&0xF0          64             \b@HL
->>>>>145 byte&0xF0          96             \b@H-14
->>>>>145 byte&0xF0          128            \b@ML
->>>>>145 byte&0xF0          160            \b@LL
->>>>>145 byte               &0x08          \b progressive
->>>>>145 byte               ^0x08          \b interlaced
->>>>>145 byte&0x06          2              \b Y'CbCr 4:2:0 video
->>>>>145 byte&0x06          4              \b Y'CbCr 4:2:2 video
->>>>>145 byte&0x06          6              \b Y'CbCr 4:4:4 video
->>76    belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
->>76    belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
->>76    belong             0x000001B5     \b, v2,
->>>80   byte&0x0F          1              \b HP
->>>80   byte&0x0F          2              \b Spt
->>>80   byte&0x0F          3              \b SNR
->>>80   byte&0x0F          4              \b MP
->>>80   byte&0x0F          5              \b SP
->>>81   byte&0xF0          64             \b@HL
->>>81   byte&0xF0          96             \b@H-14
->>>81   byte&0xF0          128            \b@ML
->>>81   byte&0xF0          160            \b@LL
->>>81   byte               &0x08          \b progressive
->>>81   byte               ^0x08          \b interlaced
->>>81   byte&0x06          2              \b Y'CbCr 4:2:0 video
->>>81   byte&0x06          4              \b Y'CbCr 4:2:2 video
->>>81   byte&0x06          6              \b Y'CbCr 4:4:4 video
->>4      belong&0xFFFFFF00  0x78043800     \b, HD-TV 1920P
->>>7     byte&0xF0          0x10           \b, 16:9
->>4      belong&0xFFFFFF00  0x50002D00     \b, SD-TV 1280I
->>>7     byte&0xF0          0x10           \b, 16:9
->>4      belong&0xFFFFFF00  0x30024000     \b, PAL Capture
->>>7     byte&0xF0          0x10           \b, 4:3
->>4      beshort&0xFFF0     0x2C00         \b, 4CIF
->>>5     beshort&0x0FFF     0x01E0         \b NTSC
->>>5     beshort&0x0FFF     0x0240         \b PAL
->>>7     byte&0xF0          0x20           \b, 4:3
->>>7     byte&0xF0          0x30           \b, 16:9
->>>7     byte&0xF0          0x40           \b, 11:5
->>>7     byte&0xF0          0x80           \b, PAL 4:3
->>>7     byte&0xF0          0xC0           \b, NTSC 4:3
->>4      belong&0xFFFFFF00  0x2801E000     \b, LD-TV 640P
->>>7     byte&0xF0          0x10           \b, 4:3
->>4      belong&0xFFFFFF00  0x1400F000     \b, 320x240
->>>7     byte&0xF0          0x10           \b, 4:3
->>4      belong&0xFFFFFF00  0x0F00A000     \b, 240x160
->>>7     byte&0xF0          0x10           \b, 4:3
->>4      belong&0xFFFFFF00  0x0A007800     \b, 160x120
->>>7     byte&0xF0          0x10           \b, 4:3
->>4      beshort&0xFFF0     0x1600         \b, CIF
->>>5     beshort&0x0FFF     0x00F0         \b NTSC
->>>5     beshort&0x0FFF     0x0120         \b PAL
->>>7     byte&0xF0          0x20           \b, 4:3
->>>7     byte&0xF0          0x30           \b, 16:9
->>>7     byte&0xF0          0x40           \b, 11:5
->>>7     byte&0xF0          0x80           \b, PAL 4:3
->>>7     byte&0xF0          0xC0           \b, NTSC 4:3
->>>5     beshort&0x0FFF     0x0240         \b PAL 625
->>>>7    byte&0xF0          0x20           \b, 4:3
->>>>7    byte&0xF0          0x30           \b, 16:9
->>>>7    byte&0xF0          0x40           \b, 11:5
->>4      beshort&0xFFF0     0x2D00         \b, CCIR/ITU
->>>5     beshort&0x0FFF     0x01E0         \b NTSC 525
->>>5     beshort&0x0FFF     0x0240         \b PAL 625
->>>7     byte&0xF0          0x20           \b, 4:3
->>>7     byte&0xF0          0x30           \b, 16:9
->>>7     byte&0xF0          0x40           \b, 11:5
->>4      beshort&0xFFF0     0x1E00         \b, SVCD
->>>5     beshort&0x0FFF     0x01E0         \b NTSC 525
->>>5     beshort&0x0FFF     0x0240         \b PAL 625
->>>7     byte&0xF0          0x20           \b, 4:3
->>>7     byte&0xF0          0x30           \b, 16:9
->>>7     byte&0xF0          0x40           \b, 11:5
->>7      byte&0x0F          1              \b, 23.976 fps
->>7      byte&0x0F          2              \b, 24 fps
->>7      byte&0x0F          3              \b, 25 fps
->>7      byte&0x0F          4              \b, 29.97 fps
->>7      byte&0x0F          5              \b, 30 fps
->>7      byte&0x0F          6              \b, 50 fps
->>7      byte&0x0F          7              \b, 59.94 fps
->>7      byte&0x0F          8              \b, 60 fps
->>11     byte               &0x04          \b, Constrained
-
-# MPEG ADTS Audio (*.mpx/mxa/aac)
-# from dreesen@math.fu-berlin.de
-# modified to fully support MPEG ADTS
-
-# MP3, M1A
-0       beshort&0xFFFE  0xFFFA         MPEG ADTS, layer III, v1
-# rates
->2      byte&0xF0       0x10           \b,  32 kBits
->2      byte&0xF0       0x20           \b,  40 kBits
->2      byte&0xF0       0x30           \b,  48 kBits
->2      byte&0xF0       0x40           \b,  56 kBits
->2      byte&0xF0       0x50           \b,  64 kBits
->2      byte&0xF0       0x60           \b,  80 kBits
->2      byte&0xF0       0x70           \b,  96 kBits
->2      byte&0xF0       0x80           \b, 112 kBits
->2      byte&0xF0       0x90           \b, 128 kBits
->2      byte&0xF0       0xA0           \b, 160 kBits
->2      byte&0xF0       0xB0           \b, 192 kBits
->2      byte&0xF0       0xC0           \b, 224 kBits
->2      byte&0xF0       0xD0           \b, 256 kBits
->2      byte&0xF0       0xE0           \b, 320 kBits
-# timing
->2      byte&0x0C       0x00           \b, 44.1 kHz
->2      byte&0x0C       0x04           \b, 48 kHz
->2      byte&0x0C       0x08           \b, 32 kHz
-# channels/options
->3      byte&0xC0       0x00           \b, Stereo
->3      byte&0xC0       0x40           \b, JntStereo
->3      byte&0xC0       0x80           \b, 2x Monaural
->3      byte&0xC0       0xC0           \b, Monaural
-#>1     byte            ^0x01          \b, Data Verify
-#>2     byte            &0x02          \b, Packet Pad
-#>2     byte            &0x01          \b, Custom Flag
-#>3     byte            &0x08          \b, Copyrighted
-#>3     byte            &0x04          \b, Original Source
-#>3     byte&0x03       1              \b, NR: 50/15 ms
-#>3     byte&0x03       3              \b, NR: CCIT J.17
-
-# MP2, M1A
-0       beshort&0xFFFE  0xFFFC         MPEG ADTS, layer II, v1
-# rates
->2      byte&0xF0       0x10           \b,  32 kBits
->2      byte&0xF0       0x20           \b,  48 kBits
->2      byte&0xF0       0x30           \b,  56 kBits
->2      byte&0xF0       0x40           \b,  64 kBits
->2      byte&0xF0       0x50           \b,  80 kBits
->2      byte&0xF0       0x60           \b,  96 kBits
->2      byte&0xF0       0x70           \b, 112 kBits
->2      byte&0xF0       0x80           \b, 128 kBits
->2      byte&0xF0       0x90           \b, 160 kBits
->2      byte&0xF0       0xA0           \b, 192 kBits
->2      byte&0xF0       0xB0           \b, 224 kBits
->2      byte&0xF0       0xC0           \b, 256 kBits
->2      byte&0xF0       0xD0           \b, 320 kBits
->2      byte&0xF0       0xE0           \b, 384 kBits
-# timing
->2      byte&0x0C       0x00           \b, 44.1 kHz
->2      byte&0x0C       0x04           \b, 48 kHz
->2      byte&0x0C       0x08           \b, 32 kHz
-# channels/options
->3      byte&0xC0       0x00           \b, Stereo
->3      byte&0xC0       0x40           \b, JntStereo
->3      byte&0xC0       0x80           \b, 2x Monaural
->3      byte&0xC0       0xC0           \b, Monaural
-#>1     byte            ^0x01          \b, Data Verify
-#>2     byte            &0x02          \b, Packet Pad
-#>2     byte            &0x01          \b, Custom Flag
-#>3     byte            &0x08          \b, Copyrighted
-#>3     byte            &0x04          \b, Original Source
-#>3     byte&0x03       1              \b, NR: 50/15 ms
-#>3     byte&0x03       3              \b, NR: CCIT J.17
-
-# MPA, M1A
-0       beshort&0xFFFE  0xFFFE         MPEG ADTS, layer I, v1
-# rate
->2      byte&0xF0       0x10           \b,  32 kBits
->2      byte&0xF0       0x20           \b,  64 kBits
->2      byte&0xF0       0x30           \b,  96 kBits
->2      byte&0xF0       0x40           \b, 128 kBits
->2      byte&0xF0       0x50           \b, 160 kBits
->2      byte&0xF0       0x60           \b, 192 kBits
->2      byte&0xF0       0x70           \b, 224 kBits
->2      byte&0xF0       0x80           \b, 256 kBits
->2      byte&0xF0       0x90           \b, 288 kBits
->2      byte&0xF0       0xA0           \b, 320 kBits
->2      byte&0xF0       0xB0           \b, 352 kBits
->2      byte&0xF0       0xC0           \b, 384 kBits
->2      byte&0xF0       0xD0           \b, 416 kBits
->2      byte&0xF0       0xE0           \b, 448 kBits
-# timing
->2      byte&0x0C       0x00           \b, 44.1 kHz
->2      byte&0x0C       0x04           \b, 48 kHz
->2      byte&0x0C       0x08           \b, 32 kHz
-# channels/options
->3      byte&0xC0       0x00           \b, Stereo
->3      byte&0xC0       0x40           \b, JntStereo
->3      byte&0xC0       0x80           \b, 2x Monaural
->3      byte&0xC0       0xC0           \b, Monaural
-#>1     byte            ^0x01          \b, Data Verify
-#>2     byte            &0x02          \b, Packet Pad
-#>2     byte            &0x01          \b, Custom Flag
-#>3     byte            &0x08          \b, Copyrighted
-#>3     byte            &0x04          \b, Original Source
-#>3     byte&0x03       1              \b, NR: 50/15 ms
-#>3     byte&0x03       3              \b, NR: CCIT J.17
-
-# MP3, M2A
-0       beshort&0xFFFE  0xFFF2         MPEG ADTS, layer III, v2
-# rate
->2      byte&0xF0       0x10           \b,   8 kBits
->2      byte&0xF0       0x20           \b,  16 kBits
->2      byte&0xF0       0x30           \b,  24 kBits
->2      byte&0xF0       0x40           \b,  32 kBits
->2      byte&0xF0       0x50           \b,  40 kBits
->2      byte&0xF0       0x60           \b,  48 kBits
->2      byte&0xF0       0x70           \b,  56 kBits
->2      byte&0xF0       0x80           \b,  64 kBits
->2      byte&0xF0       0x90           \b,  80 kBits
->2      byte&0xF0       0xA0           \b,  96 kBits
->2      byte&0xF0       0xB0           \b, 112 kBits
->2      byte&0xF0       0xC0           \b, 128 kBits
->2      byte&0xF0       0xD0           \b, 144 kBits
->2      byte&0xF0       0xE0           \b, 160 kBits
-# timing
->2      byte&0x0C       0x00           \b, 22.05 kHz
->2      byte&0x0C       0x04           \b, 24 kHz
->2      byte&0x0C       0x08           \b, 16 kHz
-# channels/options
->3      byte&0xC0       0x00           \b, Stereo
->3      byte&0xC0       0x40           \b, JntStereo
->3      byte&0xC0       0x80           \b, 2x Monaural
->3      byte&0xC0       0xC0           \b, Monaural
-#>1     byte            ^0x01          \b, Data Verify
-#>2     byte            &0x02          \b, Packet Pad
-#>2     byte            &0x01          \b, Custom Flag
-#>3     byte            &0x08          \b, Copyrighted
-#>3     byte            &0x04          \b, Original Source
-#>3     byte&0x03       1              \b, NR: 50/15 ms
-#>3     byte&0x03       3              \b, NR: CCIT J.17
-
-# MP2, M2A
-0       beshort&0xFFFE  0xFFF4         MPEG ADTS, layer II, v2
-# rate 
->2      byte&0xF0       0x10           \b,   8 kBits
->2      byte&0xF0       0x20           \b,  16 kBits 
->2      byte&0xF0       0x30           \b,  24 kBits
->2      byte&0xF0       0x40           \b,  32 kBits
->2      byte&0xF0       0x50           \b,  40 kBits
->2      byte&0xF0       0x60           \b,  48 kBits
->2      byte&0xF0       0x70           \b,  56 kBits
->2      byte&0xF0       0x80           \b,  64 kBits
->2      byte&0xF0       0x90           \b,  80 kBits
->2      byte&0xF0       0xA0           \b,  96 kBits
->2      byte&0xF0       0xB0           \b, 112 kBits
->2      byte&0xF0       0xC0           \b, 128 kBits
->2      byte&0xF0       0xD0           \b, 144 kBits
->2      byte&0xF0       0xE0           \b, 160 kBits
-# timing
->2      byte&0x0C       0x00           \b, 22.05 kHz
->2      byte&0x0C       0x04           \b, 24 kHz
->2      byte&0x0C       0x08           \b, 16 kHz
-# channels/options
->3      byte&0xC0       0x00           \b, Stereo
->3      byte&0xC0       0x40           \b, JntStereo
->3      byte&0xC0       0x80           \b, 2x Monaural
->3      byte&0xC0       0xC0           \b, Monaural
-#>1     byte            ^0x01          \b, Data Verify
-#>2     byte            &0x02          \b, Packet Pad
-#>2     byte            &0x01          \b, Custom Flag
-#>3     byte            &0x08          \b, Copyrighted
-#>3     byte            &0x04          \b, Original Source
-#>3     byte&0x03       1              \b, NR: 50/15 ms
-#>3     byte&0x03       3              \b, NR: CCIT J.17
-
-# MPA, M2A
-0       beshort&0xFFFE  0xFFF6         MPEG ADTS, layer I, v2
-# rate
->2      byte&0xF0       0x10           \b,  32 kBits
->2      byte&0xF0       0x20           \b,  48 kBits
->2      byte&0xF0       0x30           \b,  56 kBits
->2      byte&0xF0       0x40           \b,  64 kBits
->2      byte&0xF0       0x50           \b,  80 kBits
->2      byte&0xF0       0x60           \b,  96 kBits
->2      byte&0xF0       0x70           \b, 112 kBits
->2      byte&0xF0       0x80           \b, 128 kBits
->2      byte&0xF0       0x90           \b, 144 kBits
->2      byte&0xF0       0xA0           \b, 160 kBits
->2      byte&0xF0       0xB0           \b, 176 kBits
->2      byte&0xF0       0xC0           \b, 192 kBits
->2      byte&0xF0       0xD0           \b, 224 kBits
->2      byte&0xF0       0xE0           \b, 256 kBits
-# timing
->2      byte&0x0C       0x00           \b, 22.05 kHz
->2      byte&0x0C       0x04           \b, 24 kHz
->2      byte&0x0C       0x08           \b, 16 kHz
-# channels/options
->3      byte&0xC0       0x00           \b, Stereo
->3      byte&0xC0       0x40           \b, JntStereo
->3      byte&0xC0       0x80           \b, 2x Monaural
->3      byte&0xC0       0xC0           \b, Monaural
-#>1     byte            ^0x01          \b, Data Verify
-#>2     byte            &0x02          \b, Packet Pad
-#>2     byte            &0x01          \b, Custom Flag
-#>3     byte            &0x08          \b, Copyrighted
-#>3     byte            &0x04          \b, Original Source
-#>3     byte&0x03       1              \b, NR: 50/15 ms
-#>3     byte&0x03       3              \b, NR: CCIT J.17
-
-# MP3, M25A
-0       beshort&0xFFFE  0xFFE2         MPEG ADTS, layer III,  v2.5
-# rate  
->2      byte&0xF0       0x10           \b,   8 kBits
->2      byte&0xF0       0x20           \b,  16 kBits
->2      byte&0xF0       0x30           \b,  24 kBits
->2      byte&0xF0       0x40           \b,  32 kBits
->2      byte&0xF0       0x50           \b,  40 kBits
->2      byte&0xF0       0x60           \b,  48 kBits
->2      byte&0xF0       0x70           \b,  56 kBits
->2      byte&0xF0       0x80           \b,  64 kBits
->2      byte&0xF0       0x90           \b,  80 kBits
->2      byte&0xF0       0xA0           \b,  96 kBits
->2      byte&0xF0       0xB0           \b, 112 kBits
->2      byte&0xF0       0xC0           \b, 128 kBits
->2      byte&0xF0       0xD0           \b, 144 kBits
->2      byte&0xF0       0xE0           \b, 160 kBits
-# timing
->2      byte&0x0C       0x00           \b, 11.025 kHz
->2      byte&0x0C       0x04           \b, 12 kHz
->2      byte&0x0C       0x08           \b, 8 kHz
-# channels/options
->3      byte&0xC0       0x00           \b, Stereo
->3      byte&0xC0       0x40           \b, JntStereo
->3      byte&0xC0       0x80           \b, 2x Monaural
->3      byte&0xC0       0xC0           \b, Monaural
-#>1     byte            ^0x01          \b, Data Verify
-#>2     byte            &0x02          \b, Packet Pad
-#>2     byte            &0x01          \b, Custom Flag
-#>3     byte            &0x08          \b, Copyrighted
-#>3     byte            &0x04          \b, Original Source
-#>3     byte&0x03       1              \b, NR: 50/15 ms
-#>3     byte&0x03       3              \b, NR: CCIT J.17
-
-# AAC (aka MPEG-2 NBC audio) and MPEG-4 audio
-
-# Stored AAC streams (instead of the MP4 format)
-0       string          ADIF           MPEG ADIF, AAC
->4      byte            &0x80
->>13    byte            &0x10          \b, VBR
->>13    byte            ^0x10          \b, CBR
->>16    byte&0x1E       0x02           \b, single stream
->>16    byte&0x1E       0x04           \b, 2 streams
->>16    byte&0x1E       0x06           \b, 3 streams
->>16    byte            &0x08          \b, 4 or more streams
->>16    byte            &0x10          \b, 8 or more streams
->>4    byte            &0x80          \b, Copyrighted
->>13   byte            &0x40          \b, Original Source
->>13   byte            &0x20          \b, Home Flag
->4      byte            ^0x80
->>4     byte            &0x10          \b, VBR
->>4     byte            ^0x10          \b, CBR
->>7     byte&0x1E       0x02           \b, single stream
->>7     byte&0x1E       0x04           \b, 2 streams
->>7     byte&0x1E       0x06           \b, 3 streams
->>7     byte            &0x08          \b, 4 or more streams
->>7     byte            &0x10          \b, 8 or more streams
->>4    byte            &0x40          \b, Original Stream(s)
->>4    byte            &0x20          \b, Home Source
-
-# Live or stored single AAC stream (used with MPEG-2 systems)
-0       beshort&0xFFF6  0xFFF0         MPEG ADTS, AAC
->1      byte            &0x08          \b, v2
->1      byte            ^0x08          \b, v4
-# profile
->>2     byte            &0xC0          \b LTP
->2      byte&0xc0       0x00           \b Main
->2      byte&0xc0       0x40           \b LC
->2      byte&0xc0       0x80           \b SSR
-# timing
->2      byte&0x3c       0x00           \b, 96 kHz
->2      byte&0x3c       0x04           \b, 88.2 kHz
->2      byte&0x3c       0x08           \b, 64 kHz
->2      byte&0x3c       0x0c           \b, 48 kHz
->2      byte&0x3c       0x10           \b, 44.1 kHz
->2      byte&0x3c       0x14           \b, 32 kHz
->2      byte&0x3c       0x18           \b, 24 kHz
->2      byte&0x3c       0x1c           \b, 22.05 kHz
->2      byte&0x3c       0x20           \b, 16 kHz
->2      byte&0x3c       0x24           \b, 12 kHz
->2      byte&0x3c       0x28           \b, 11.025 kHz
->2      byte&0x3c       0x2c           \b, 8 kHz
-# channels
->2      beshort&0x01c0  0x0040         \b, monaural
->2      beshort&0x01c0  0x0080         \b, stereo
->2      beshort&0x01c0  0x00c0         \b, stereo + center
->2      beshort&0x01c0  0x0100         \b, stereo+center+LFE
->2      beshort&0x01c0  0x0140         \b, surround
->2      beshort&0x01c0  0x0180         \b, surround + LFE
->2      beshort         &0x01C0        \b, surround + side
-#>1     byte            ^0x01           \b, Data Verify
-#>2     byte            &0x02           \b, Custom Flag
-#>3     byte            &0x20           \b, Original Stream
-#>3     byte            &0x10           \b, Home Source
-#>3     byte            &0x08           \b, Copyrighted
-
-# Live MPEG-4 audio streams (instead of RTP FlexMux)
-0       beshort&0xFFE0  0x56E0         MPEG-4 LOAS
-#>1     beshort&0x1FFF  x              \b, %u byte packet
->3      byte&0xE0       0x40
->>4     byte&0x3C       0x04           \b, single stream
->>4     byte&0x3C       0x08           \b, 2 streams
->>4     byte&0x3C       0x0C           \b, 3 streams
->>4     byte            &0x08          \b, 4 or more streams
->>4     byte            &0x20          \b, 8 or more streams
->3      byte&0xC0       0
->>4     byte&0x78       0x08           \b, single stream
->>4     byte&0x78       0x10           \b, 2 streams
->>4     byte&0x78       0x18           \b, 3 streams
->>4     byte            &0x20          \b, 4 or more streams
->>4     byte            &0x40          \b, 8 or more streams
-0       beshort         0x4DE1         MPEG-4 LO-EP audio stream
-
-# FLI animation format
-4      leshort         0xAF11                  FLI file
->6     leshort         x                       - %d frames,
->8     leshort         x                       width=%d pixels,
->10    leshort         x                       height=%d pixels,
->12    leshort         x                       depth=%d,
->16    leshort         x                       ticks/frame=%d
-# FLC animation format
-4      leshort         0xAF12                  FLC file
->6     leshort         x                       - %d frames
->8     leshort         x                       width=%d pixels,
->10    leshort         x                       height=%d pixels,
->12    leshort         x                       depth=%d,
->16    leshort         x                       ticks/frame=%d
-
-# DL animation format
-# XXX - collision with most `mips' magic
-#
-# I couldn't find a real magic number for these, however, this
-# -appears- to work.  Note that it might catch other files, too, so be
-# careful!
-#
-# Note that title and author appear in the two 20-byte chunks
-# at decimal offsets 2 and 22, respectively, but they are XOR'ed with
-# 255 (hex FF)!  The DL format is really bad.
-#
-#0     byte    1       DL version 1, medium format (160x100, 4 images/screen)
-#>42   byte    x       - %d screens,
-#>43   byte    x       %d commands
-#0     byte    2       DL version 2
-#>1    byte    1       - large format (320x200,1 image/screen),
-#>1    byte    2       - medium format (160x100,4 images/screen),
-#>1    byte    >2      - unknown format,
-#>42   byte    x       %d screens,
-#>43   byte    x       %d commands
-# Based on empirical evidence, DL version 3 have several nulls following the
-# \003.  Most of them start with non-null values at hex offset 0x34 or so.
-#0     string  \3\0\0\0\0\0\0\0\0\0\0\0        DL version 3
-
-# iso 13818 transport stream
-#
-# from Oskar Schirmer <schirmer@scara.com> Feb 3, 2001 (ISO 13818.1)
-# (the following is a little bit restrictive and works fine for a stream
-#  that starts with PAT properly. it won't work for stream data, that is
-#  cut from an input device data right in the middle, but this shouldn't
-#  disturb)
-# syncbyte      8 bit  0x47
-# error_ind     1 bit  -
-# payload_start 1 bit  1
-# priority      1 bit  -
-# PID          13 bit  0x0000
-# scrambling    2 bit  -
-# adaptfld_ctrl 2 bit  1 or 3
-# conti_count   4 bit  0
-0      belong&0xFF5FFF1F       0x47400010      MPEG transport stream data
->188   byte                    !0x47           CORRUPTED
-
-# DIF digital video file format <mpruett@sgi.com>
-0      belong&0xffffff00       0x1f070000      DIF
->4     byte                    &0x01           (DVCPRO) movie file
->4     byte                    ^0x01           (DV) movie file
->3     byte                    &0x80           (PAL)
->3     byte                    ^0x80           (NTSC)
-
-# Microsoft Advanced Streaming Format (ASF) <mpruett@sgi.com>
-0      belong                  0x3026b275      Microsoft ASF
-
-# MNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
-0      string                  \x8aMNG         MNG video data,
->4     belong                  !0x0d0a1a0a     CORRUPTED,
->4     belong                  0x0d0a1a0a
->>16    belong x                               %ld x
->>20    belong x                               %ld
-
-# JNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
-0      string                  \x8bJNG         JNG video data,
->4     belong                  !0x0d0a1a0a     CORRUPTED,
->4     belong                  0x0d0a1a0a
->>16    belong x                               %ld x
->>20    belong x                               %ld
-
-# 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
-
-#---------------------------------------------------------------------------
-# HVQM4: compressed movie format designed by Hudson for Nintendo GameCube
-# From Mark Sheppard <msheppard@climax.co.uk>, 2002-10-03
-#
-0      string          HVQM4           %s
->6     string          >\0             v%s
->0     byte            x               GameCube movie,
->0x34  ubeshort        x               %d x
->0x36  ubeshort        x               %d,
->0x26  ubeshort        x               %dµs,
->0x42  ubeshort        0               no audio
->0x42  ubeshort        >0              %dHz audio
-
-# From: "Stefan A. Haubenthal" <polluks@web.de>
-0      string          DVDVIDEO-VTS    Video title set,
->0x21  byte            x               v%x
-0      string          DVDVIDEO-VMG    Video manager,
->0x21  byte            x               v%x
diff --git a/file/magic/Magdir/apl b/file/magic/Magdir/apl
deleted file mode 100644 (file)
index 0400431..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-
-#------------------------------------------------------------------------------
-# apl:  file(1) magic for APL (see also "pdp" and "vax" for other APL
-#       workspaces)
-#
-0      long            0100554         APL workspace (Ken's original?)
diff --git a/file/magic/Magdir/apple b/file/magic/Magdir/apple
deleted file mode 100644 (file)
index 5c1c05b..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-
-#------------------------------------------------------------------------------
-# apple:  file(1) magic for Apple file formats
-#
-0      string          FiLeStArTfIlEsTaRt      binscii (apple ][) text
-0      string          \x0aGL                  Binary II (apple ][) data
-0      string          \x76\xff                Squeezed (apple ][) data
-0      string          NuFile                  NuFile archive (apple ][) data
-0      string          N\xf5F\xe9l\xe5         NuFile archive (apple ][) data
-0      belong          0x00051600              AppleSingle encoded Macintosh file
-0      belong          0x00051607              AppleDouble encoded Macintosh file
-
-# Apple Emulator 2IMG format
-#
-0      string          2IMG            Apple ][ 2IMG Disk Image
->4     string          XGS!            \b, XGS
->4     string          CTKG            \b, Catakig
->4     string          ShIm            \b, Sheppy's ImageMaker
->4     string          WOOF            \b, Sweet 16
->4     string          B2TR            \b, Bernie ][ the Rescue
->4     string          !nfc            \b, ASIMOV2
->4     string          x               \b, Unknown Format
->0xc   byte            00              \b, DOS 3.3 sector order
->>0x10 byte            00              \b, Volume 254
->>0x10 byte&0x7f       x               \b, Volume %u
->0xc   byte            01              \b, ProDOS sector order
->>0x14 short           x               \b, %u Blocks
->0xc   byte            02              \b, NIB data
-
-# magic for Newton PDA package formats
-# from Ruda Moura <ruda@helllabs.org>
-0      string  package0        Newton package, NOS 1.x,
->12    belong  &0x80000000     AutoRemove,
->12    belong  &0x40000000     CopyProtect,
->12    belong  &0x10000000     NoCompression,
->12    belong  &0x04000000     Relocation,
->12    belong  &0x02000000     UseFasterCompression,
->16    belong  x               version %d
-
-0      string  package1        Newton package, NOS 2.x,
->12    belong  &0x80000000     AutoRemove,
->12    belong  &0x40000000     CopyProtect,
->12    belong  &0x10000000     NoCompression,
->12    belong  &0x04000000     Relocation,
->12    belong  &0x02000000     UseFasterCompression,
->16    belong  x               version %d
-
-0      string  package4        Newton package,
->8     byte    8               NOS 1.x,
->8     byte    9               NOS 2.x,
->12    belong  &0x80000000     AutoRemove,
->12    belong  &0x40000000     CopyProtect,
->12    belong  &0x10000000     NoCompression,
-
-# The following entries for the Apple II are for files that have
-# been transferred as raw binary data from an Apple, without having
-# been encapsulated by any of the above archivers.
-#
-# In general, Apple II formats are hard to identify because Apple DOS
-# and especially Apple ProDOS have strong typing in the file system and
-# therefore programmers never felt much need to include type information
-# in the files themselves.
-#
-# Eric Fischer <enf@pobox.com>
-
-# AppleWorks word processor:
-#
-# This matches the standard tab stops for an AppleWorks file, but if
-# a file has a tab stop set in the first four columns this will fail.
-#
-# The "O" is really the magic number, but that's so common that it's
-# necessary to check the tab stops that follow it to avoid false positives.
-
-4       string          O====   AppleWorks word processor data
->85     byte&0x01       >0      \b, zoomed
->90     byte&0x01       >0      \b, paginated
->92     byte&0x01       >0      \b, with mail merge
-#>91    byte            x       \b, left margin %d
-
-# AppleWorks database:
-#
-# This isn't really a magic number, but it's the closest thing to one
-# that I could find.  The 1 and 2 really mean "order in which you defined
-# categories" and "left to right, top to bottom," respectively; the D and R
-# mean that the cursor should move either down or right when you press Return.
-
-#30    string          \x01D   AppleWorks database data
-#30    string          \x02D   AppleWorks database data
-#30    string          \x01R   AppleWorks database data
-#30    string          \x02R   AppleWorks database data
-
-# AppleWorks spreadsheet:
-#
-# Likewise, this isn't really meant as a magic number.  The R or C means
-# row- or column-order recalculation; the A or M means automatic or manual
-# recalculation.
-
-#131   string          RA      AppleWorks spreadsheet data
-#131   string          RM      AppleWorks spreadsheet data
-#131   string          CA      AppleWorks spreadsheet data
-#131   string          CM      AppleWorks spreadsheet data
-
-# Applesoft BASIC:
-#
-# This is incredibly sloppy, but will be true if the program was
-# written at its usual memory location of 2048 and its first line
-# number is less than 256.  Yuck.
-
-0       belong&0xff00ff 0x80000 Applesoft BASIC program data
-#>2     leshort         x       \b, first line number %d
-
-# ORCA/EZ assembler:
-# 
-# This will not identify ORCA/M source files, since those have
-# some sort of date code instead of the two zero bytes at 6 and 7
-# XXX Conflicts with ELF
-#4       belong&0xff00ffff       0x01000000      ORCA/EZ assembler source data
-#>5      byte                    x               \b, build number %d
-
-# Broderbund Fantavision
-#
-# I don't know what these values really mean, but they seem to recur.
-# Will they cause too many conflicts?
-
-# Probably :-)
-#2     belong&0xFF00FF         0x040008        Fantavision movie data
-
-# Some attempts at images.
-#
-# These are actually just bit-for-bit dumps of the frame buffer, so
-# there's really no reasonably way to distinguish them except for their
-# address (if preserved) -- 8192 or 16384 -- and their length -- 8192
-# or, occasionally, 8184.
-#
-# Nevertheless this will manage to catch a lot of images that happen
-# to have a solid-colored line at the bottom of the screen.
-
-8144   string  \x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F        Apple II image with white background
-8144   string  \x55\x2A\x55\x2A\x55\x2A\x55\x2A        Apple II image with purple background
-8144   string  \x2A\x55\x2A\x55\x2A\x55\x2A\x55        Apple II image with green background
-8144   string  \xD5\xAA\xD5\xAA\xD5\xAA\xD5\xAA        Apple II image with blue background
-8144   string  \xAA\xD5\xAA\xD5\xAA\xD5\xAA\xD5        Apple II image with orange background
-
-# Beagle Bros. Apple Mechanic fonts
-
-0      belong&0xFF00FFFF       0x6400D000      Apple Mechanic font
-
-# Apple Universal Disk Image Format (UDIF) - dmg files.
-# From Johan Gade.
-# These entries are disabled for now until we fix the following issues.
-#
-# Note there might be some problems with the "VAX COFF executable" 
-# entry. Note this entry should be placed before the mac filesystem section, 
-# particularly the "Apple Partition data" entry.
-#
-# The intended meaning of these tests is, that the file is only of the 
-# specified type if both of the lines are correct - i.e. if the first
-# line matches and the second doesn't then it is not of that type.
-#
-#0     long    0x7801730d
-#>4    long    0x62626060      UDIF read-only zlib-compressed image (UDZO)
-#
-# Note that this entry is recognized correctly by the "Apple Partition 
-# data" entry - however since this entry is more specific - this
-# information seems to be more useful.
-#0     long    0x45520200
-#>0x410        string  disk\ image     UDIF read/write image (UDRW)
-
-# From: Toby Peterson <toby@apple.com>
-0      string  bplist00        Apple binary property list
diff --git a/file/magic/Magdir/applix b/file/magic/Magdir/applix
deleted file mode 100644 (file)
index 9d348d1..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-
-#------------------------------------------------------------------------------
-# applix:  file(1) magic for Applixware
-# From: Peter Soos <sp@osb.hu>
-#
-0      string          *BEGIN          Applixware
->7     string          WORDS                   Words Document
->7     string          GRAPHICS                Graphic
->7     string          RASTER                  Bitmap
->7     string          SPREADSHEETS            Spreadsheet
->7     string          MACRO                   Macro
->7     string          BUILDER                 Builder Object
diff --git a/file/magic/Magdir/archive b/file/magic/Magdir/archive
deleted file mode 100644 (file)
index 7442072..0000000
+++ /dev/null
@@ -1,636 +0,0 @@
-
-#------------------------------------------------------------------------------
-# archive:  file(1) magic for archive formats (see also "msdos" for self-
-#           extracting compressed archives)
-#
-# cpio, ar, arc, arj, hpack, lha/lharc, rar, squish, uc2, zip, zoo, etc.
-# pre-POSIX "tar" archives are handled in the C code.
-
-# POSIX tar archives
-257    string          ustar\0         POSIX tar archive
-257    string          ustar\040\040\0 GNU tar archive
-
-# cpio archives
-#
-# Yes, the top two "cpio archive" formats *are* supposed to just be "short".
-# The idea is to indicate archives produced on machines with the same
-# byte order as the machine running "file" with "cpio archive", and
-# to indicate archives produced on machines with the opposite byte order
-# from the machine running "file" with "byte-swapped cpio archive".
-#
-# 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          cpio archive
-0      short           0143561         byte-swapped cpio archive
-0      string          070707          ASCII cpio archive (pre-SVR4 or odc)
-0      string          070701          ASCII cpio archive (SVR4 with no CRC)
-0      string          070702          ASCII cpio archive (SVR4 with CRC)
-
-# Debian package (needs to go before regular portable archives)
-#
-0      string          =!<arch>\ndebian
->8     string          debian-split    part of multipart Debian package
->8     string          debian-binary   Debian binary package
->68    string          >\0             (format %s)
->81    string          bz2             \b, uses bzip2 compression
->84    string          gz              \b, uses gzip compression
-#>136  ledate          x               created: %s
-
-# other archives
-0      long            0177555         very old archive
-0      short           0177555         very old PDP-11 archive
-0      long            0177545         old archive
-0      short           0177545         old PDP-11 archive
-0      long            0100554         apl workspace
-0      string          =<ar>           archive
-
-# MIPS archive (needs to go before regular portable archives)
-#
-0      string  =!<arch>\n__________E   MIPS archive
->20    string  U                       with MIPS Ucode members
->21    string  L                       with MIPSEL members
->21    string  B                       with MIPSEB members
->19    string  L                       and an EL hash table
->19    string  B                       and an EB hash table
->22    string  X                       -- out of date
-
-0      string          -h-             Software Tools format archive text
-
-#
-# XXX - why are there multiple <ar> thingies?  Note that 0x213c6172 is
-# "!<ar", so, for new-style (4.xBSD/SVR2andup) archives, we have:
-#
-# 0    string          =!<arch>                current ar archive
-# 0    long            0x213c6172      archive file
-#
-# and for SVR1 archives, we have:
-#
-# 0    string          \<ar>           System V Release 1 ar archive
-# 0    string          =<ar>           archive
-#
-# XXX - did Aegis really store shared libraries, breakpointed modules,
-# and absolute code program modules in the same format as new-style
-# "ar" archives?
-#
-0      string          =!<arch>                current ar archive
->8     string          __.SYMDEF       random library
->0     belong          =65538          - pre SR9.5
->0     belong          =65539          - post SR9.5
->0     beshort         2               - object archive
->0     beshort         3               - shared library module
->0     beshort         4               - debug break-pointed module
->0     beshort         5               - absolute code program module
-0      string          \<ar>           System V Release 1 ar archive
-0      string          =<ar>           archive
-#
-# XXX - from "vax", which appears to collect a bunch of byte-swapped
-# thingies, to help you recognize VAX files on big-endian machines;
-# with "leshort", "lelong", and "string", that's no longer necessary....
-#
-0      belong          0x65ff0000      VAX 3.0 archive
-0      belong          0x3c61723e      VAX 5.0 archive
-#
-0      long            0x213c6172      archive file
-0      lelong          0177555         very old VAX archive
-0      leshort         0177555         very old PDP-11 archive
-#
-# XXX - "pdp" claims that 0177545 can have an __.SYMDEF member and thus
-# be a random library (it said 0xff65 rather than 0177545).
-#
-0      lelong          0177545         old VAX archive
->8     string          __.SYMDEF       random library
-0      leshort         0177545         old PDP-11 archive
->8     string          __.SYMDEF       random library
-#
-# From "pdp" (but why a 4-byte quantity?)
-#
-0      lelong          0x39bed         PDP-11 old archive
-0      lelong          0x39bee         PDP-11 4.0 archive
-
-# ARC archiver, from Daniel Quinlan (quinlan@yggdrasil.com)
-#
-# The first byte is the magic (0x1a), byte 2 is the compression type for
-# the first file (0x01 through 0x09), and bytes 3 to 15 are the MS-DOS
-# filename of the first file (null terminated).  Since some types collide
-# we only test some types on basis of frequency: 0x08 (83%), 0x09 (5%),
-# 0x02 (5%), 0x03 (3%), 0x04 (2%), 0x06 (2%).  0x01 collides with terminfo.
-0      lelong&0x8080ffff       0x0000081a      ARC archive data, dynamic LZW
-0      lelong&0x8080ffff       0x0000091a      ARC archive data, squashed
-0      lelong&0x8080ffff       0x0000021a      ARC archive data, uncompressed
-0      lelong&0x8080ffff       0x0000031a      ARC archive data, packed
-0      lelong&0x8080ffff       0x0000041a      ARC archive data, squeezed
-0      lelong&0x8080ffff       0x0000061a      ARC archive data, crunched
-# [JW] stuff taken from idarc, obviously ARC successors:
-0      lelong&0x8080ffff       0x00000a1a      PAK archive data
-0      lelong&0x8080ffff       0x0000141a      ARC+ archive data
-0      lelong&0x8080ffff       0x0000481a      HYP archive data
-
-# Acorn archive formats (Disaster prone simpleton, m91dps@ecs.ox.ac.uk)
-# I can't create either SPARK or ArcFS archives so I have not tested this stuff
-# [GRR:  the original entries collide with ARC, above; replaced with combined
-#  version (not tested)]
-#0     byte            0x1a            RISC OS archive
-#>1    string          archive         (ArcFS format)
-#0     string          \032archive     RISC OS archive (ArcFS format)
-0       string          \032            RISC OS archive (spark format)
-0       string          Archive\000     RISC OS archive (ArcFS format)
-
-# All these were taken from idarc, many could not be verified. Unfortunately,
-# there were many low-quality sigs, i.e. easy to trigger false positives.
-# Please notify me of any real-world fishy/ambiguous signatures and I'll try
-# to get my hands on the actual archiver and see if I find something better. [JW]
-# probably many can be enhanced by finding some 0-byte or control char near the start
-
-# idarc calls this Crush/Uncompressed... *shrug*
-0      string  CRUSH Crush archive data
-# Squeeze It (.sqz)
-0      string  HLSQZ Squeeze It archive data
-# SQWEZ
-0      string  SQWEZ SQWEZ archive data
-# HPack (.hpk)
-0      string  HPAK HPack archive data
-# HAP
-0      string  \x91\x33HF HAP archive data
-# MD/MDCD
-0      string  MDmd MDCD archive data
-# LIM
-0      string  LIM\x1a LIM archive data
-# SAR
-3      string  LH5 SAR archive data
-# BSArc/BS2
-0      string  \212\3SB \0 BSArc/BS2 archive data
-# MAR
-2      string  =-ah MAR archive data
-# ACB
-0      belong&0x00f800ff       0x00800000 ACB archive data
-# CPZ
-# TODO, this is what idarc says: 0     string  \0\0\0 CPZ archive data
-# JRC
-0      string  JRchive JRC archive data
-# Quantum
-0      string  DS\0 Quantum archive data
-# ReSOF
-0      string  PK\3\6 ReSOF archive data
-# QuArk
-0      string  7\4 QuArk archive data
-# YAC
-14     string  YC YAC archive data
-# X1
-0      string  X1 X1 archive data
-0      string  XhDr X1 archive data
-# CDC Codec (.dqt)
-0      belong&0xffffe000       0x76ff2000 CDC Codec archive data
-# AMGC
-0      string  \xad6" AMGC archive data
-# NuLIB
-0      string  NõFélå NuLIB archive data
-# PakLeo
-0      string  LEOLZW PAKLeo archive data
-# ChArc
-0      string  SChF ChArc archive data
-# PSA
-0      string  PSA PSA archive data
-# CrossePAC
-0      string  DSIGDCC CrossePAC archive data
-# Freeze
-0      string  \x1f\x9f\x4a\x10\x0a Freeze archive data
-# KBoom
-0      string  ¨MP¨ KBoom archive data
-# NSQ, must go after CDC Codec
-0      string  \x76\xff NSQ archive data
-# DPA
-0      string  Dirk\ Paehl DPA archive data
-# BA
-# TODO: idarc says "bytes 0-2 == bytes 3-5"
-# TTComp
-0      string  \0\6 TTComp archive data
-# ESP, could this conflict with Easy Software Products' (e.g.ESP ghostscript) documentation?
-0      string  ESP ESP archive data
-# ZPack
-0      string  \1ZPK\1 ZPack archive data
-# Sky
-0      string  \xbc\x40 Sky archive data
-# UFA
-0      string  UFA UFA archive data
-# Dry
-0      string  =-H2O DRY archive data
-# FoxSQZ
-0      string  FOXSQZ FoxSQZ archive data
-# AR7
-0      string  ,AR7 AR7 archive data
-# PPMZ
-0      string  PPMZ PPMZ archive data
-# MS Compress
-4      string  \x88\xf0\x27 MS Compress archive data
-# MP3 (archiver, not lossy audio compression)
-0      string  MP3\x1a MP3-Archiver archive data
-# ZET
-0      string  OZÝ ZET archive data
-# TSComp
-0      string  \x65\x5d\x13\x8c\x08\x01\x03\x00 TSComp archive data
-# ARQ
-0      string  gW\4\1 ARQ archive data
-# Squash
-3      string  OctSqu Squash archive data
-# Terse
-0      string  \5\1\1\0 Terse archive data
-# PUCrunch
-0      string  \x01\x08\x0b\x08\xef\x00\x9e\x32\x30\x36\x31 PUCrunch archive data
-# UHarc
-0      string  UHA UHarc archive data
-# ABComp
-0      string  \2AB ABComp archive data
-0      string  \3AB2 ABComp archive data
-# CMP
-0      string  CO\0 CMP archive data
-# Splint
-0      string  \x93\xb9\x06 Splint archive data
-# InstallShield
-0      string   \x13\x5d\x65\x8c InstallShield Z archive Data
-# Gather
-1      string  GTH Gather archive data
-# BOA
-0      string  BOA BOA archive data
-# RAX
-0      string  ULEB\xa RAX archive data
-# Xtreme
-0      string  ULEB\0 Xtreme archive data
-# Pack Magic
-0      string  @â\1\0 Pack Magic archive data
-# BTS
-0      belong&0xfeffffff       0x1a034465 BTS archive data
-# ELI 5750
-0      string  Ora\  ELI 5750 archive data
-# QFC
-0      string  \x1aFC\x1a QFC archive data
-0      string  \x1aQF\x1a QFC archive data
-# PRO-PACK
-0      string  RNC PRO-PACK archive data
-# 777
-0      string  777 777 archive data
-# LZS221
-0      string  sTaC LZS221 archive data
-# HPA
-0      string  HPA HPA archive data
-# Arhangel
-0      string  LG Arhangel archive data
-# EXP1, uses bzip2
-0      string  0123456789012345BZh EXP1 archive data
-# IMP
-0      string  IMP\xa IMP archive data
-# NRV
-0      string  \x00\x9E\x6E\x72\x76\xFF NRV archive data
-# Squish
-0      string  \x73\xb2\x90\xf4 Squish archive data
-# Par
-0      string  PHILIPP Par archive data
-0      string  PAR Par archive data
-# HIT
-0      string  UB HIT archive data
-# SBX
-0      belong&0xfffff000       0x53423000 SBX archive data
-# NaShrink
-0      string  NSK NaShrink archive data
-# SAPCAR
-0      string  #\ CAR\ archive\ header SAPCAR archive data
-0      string  CAR\ 2.00RG SAPCAR archive data
-# Disintegrator
-0      string  DST Disintegrator archive data
-# ASD
-0      string  ASD ASD archive data
-# InstallShield CAB
-0      string  ISc( InstallShield CAB
-# TOP4
-0      string  T4\x1a TOP4 archive data
-# BatComp left out: sig looks like COM executable
-# so TODO: get real 4dos batcomp file and find sig
-# BlakHole
-0      string  BH\5\7 BlakHole archive data
-# BIX
-0      string  BIX0 BIX archive data
-# ChiefLZA
-0      string  ChfLZ ChiefLZA archive data
-# Blink
-0      string  Blink Blink archive data
-# Logitech Compress
-0      string  \xda\xfa Logitech Compress archive data
-# ARS-Sfx (FIXME: really a SFX? then goto COM/EXE)
-1      string  (C)\ STEPANYUK ARS-Sfx archive data
-# AKT/AKT32
-0      string  AKT32 AKT32 archive data
-0      string  AKT AKT archive data
-# NPack
-0      string  MSTSM NPack archive data
-# PFT
-0      string  \0\x50\0\x14 PFT archive data
-# SemOne
-0      string  SEM SemOne archive data
-# PPMD
-0      string  \x8f\xaf\xac\x84 PPMD archive data
-# FIZ
-0      string  FIZ FIZ archive data
-# MSXiE
-0      belong&0xfffff0f0       0x4d530000 MSXiE archive data
-# DeepFreezer
-0      belong&0xfffffff0       0x797a3030 DeepFreezer archive data
-# DC
-0      string  =<DC- DC archive data
-# TPac
-0      string  \4TPAC\3 TPac archive data
-# Ai
-0      string  Ai\1\1\0 Ai archive data
-0      string  Ai\1\0\0 Ai archive data
-# Ai32
-0      string  Ai\2\0 Ai32 archive data
-0      string  Ai\2\1 Ai32 archive data
-# SBC
-0      string  SBC SBC archive data
-# Ybs
-0      string  YBS Ybs archive data
-# DitPack
-0      string  \x9e\0\0 DitPack archive data
-# DMS
-0      string  DMS! DMS archive data
-# EPC
-0      string  \x8f\xaf\xac\x8c EPC archive data
-# VSARC
-0      string  VS\x1a VSARC archive data
-# PDZ
-0      string  PDZ PDZ archive data
-# ReDuq
-0      string  rdqx ReDuq archive data
-# GCA
-0      string  GCAX GCA archive data
-# PPMN
-0      string  pN PPMN archive data
-# WinImage
-3      string  WINIMAGE WinImage archive data
-# Compressia
-0      string  CMP0CMP Compressia archive data
-# UHBC
-0      string  UHB UHBC archive data
-# WinHKI
-0      string  \x61\x5C\x04\x05 WinHKI archive data
-# WWPack data file
-0      string  WWP WWPack archive data
-# BSN (BSA, PTS-DOS)
-0      string  \xffBSG BSN archive data
-1      string  \xffBSG BSN archive data
-3      string  \xffBSG BSN archive data
-1      string  \0\xae\2 BSN archive data
-1      string  \0\xae\3 BSN archive data
-1      string  \0\xae\7 BSN archive data
-# AIN
-0      string  \x33\x18 AIN archive data
-0      string  \x33\x17 AIN archive data
-# XPA32
-0      string  xpa\0\1 XPA32 archive data
-# SZip (TODO: doesn't catch all versions)
-0      string  SZ\x0a\4 SZip archive data
-# XPack DiskImage
-0      string  jm XPack DiskImage archive data
-# XPack Data
-0      string  xpa XPack archive data
-# XPack Single Data
-0      string  Í\ jm XPack single archive data
-
-# TODO: missing due to unknown magic/magic at end of file:
-#DWC
-#ARG
-#ZAR
-#PC/3270
-#InstallIt
-#RKive
-#RK
-#XPack Diskimage
-
-# These were inspired by idarc, but actually verified
-# Dzip archiver (.dz)
-0      string  DZ Dzip archive data
->2     byte    x \b, version %i
->3     byte    x \b.%i
-# ZZip archiver (.zz)
-0      string  ZZ\ \0\0 ZZip archive data
-0      string  ZZ0 ZZip archive data
-# PAQ archiver (.paq)
-0      string  \xaa\x40\x5f\x77\x1f\xe5\x82\x0d PAQ archive data
-0      string  PAQ PAQ archive data
->3     byte&0xf0       0x30
->>3    byte    x (v%c)
-# JAR archiver (.j), this is the successor to ARJ, not Java's JAR (which is essentially ZIP)
-0xe    string  \x1aJar\x1b JAR (ARJ Software, Inc.) archive data
-0      string  JARCS JAR (ARJ Software, Inc.) archive data
-
-# ARJ archiver (jason@jarthur.Claremont.EDU)
-0      leshort         0xea60          ARJ archive data
->5     byte            x               \b, v%d,
->8     byte            &0x04           multi-volume,
->8     byte            &0x10           slash-switched,
->8     byte            &0x20           backup,
->34    string          x               original name: %s,
->7     byte            0               os: MS-DOS
->7     byte            1               os: PRIMOS
->7     byte            2               os: Unix
->7     byte            3               os: Amiga
->7     byte            4               os: Macintosh
->7     byte            5               os: OS/2
->7     byte            6               os: Apple ][ GS
->7     byte            7               os: Atari ST
->7     byte            8               os: NeXT
->7     byte            9               os: VAX/VMS
->3     byte            >0              %d]
-# [JW] idarc says this is also possible
-2      leshort         0xea60          ARJ archive data
-
-# HA archiver (Greg Roelofs, newt@uchicago.edu)
-# This is a really bad format. A file containing HAWAII will match this...
-#0     string          HA              HA archive data,
-#>2    leshort         =1              1 file,
-#>2    leshort         >1              %u files,
-#>4    byte&0x0f       =0              first is type CPY
-#>4    byte&0x0f       =1              first is type ASC
-#>4    byte&0x0f       =2              first is type HSC
-#>4    byte&0x0f       =0x0e           first is type DIR
-#>4    byte&0x0f       =0x0f           first is type SPECIAL
-# suggestion: at least identify small archives (<1024 files)
-0  belong&0xffff00fc 0x48410000 HA archive data
->2     leshort         =1              1 file,
->2     leshort         >1              %u files,
->4     byte&0x0f       =0              first is type CPY
->4     byte&0x0f       =1              first is type ASC
->4     byte&0x0f       =2              first is type HSC
->4     byte&0x0f       =0x0e           first is type DIR
->4     byte&0x0f       =0x0f           first is type SPECIAL
-
-# HPACK archiver (Peter Gutmann, pgut1@cs.aukuni.ac.nz)
-0      string          HPAK            HPACK archive data
-
-# JAM Archive volume format, by Dmitry.Kohmanyuk@UA.net
-0      string          \351,\001JAM\           JAM archive,
->7     string          >\0                     version %.4s
->0x26  byte            =0x27                   -
->>0x2b string          >\0                     label %.11s,
->>0x27 lelong          x                       serial %08x,
->>0x36 string          >\0                     fstype %.8s
-
-# LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu)
-2      string          -lh0-           LHarc 1.x/ARX archive data [lh0]
-2      string          -lh1-           LHarc 1.x/ARX archive data [lh1]
-2      string          -lz4-           LHarc 1.x archive data [lz4]
-2      string          -lz5-           LHarc 1.x archive data [lz5]
-#      [never seen any but the last; -lh4- reported in comp.compression:]
-2      string          -lzs-           LHa/LZS archive data [lzs]
-2      string          -lh\40-         LHa 2.x? archive data [lh ]
-2      string          -lhd-           LHa 2.x? archive data [lhd]
-2      string          -lh2-           LHa 2.x? archive data [lh2]
-2      string          -lh3-           LHa 2.x? archive data [lh3]
-2      string          -lh4-           LHa (2.x) archive data [lh4]
-2      string          -lh5-           LHa (2.x) archive data [lh5]
-2      string          -lh6-           LHa (2.x) archive data [lh6]
-2      string          -lh7-           LHa (2.x)/LHark archive data [lh7]
->20    byte            x               - header level %d
-# taken from idarc [JW]
-2   string      -lZ         PUT archive data
-2   string      -lz         LZS archive data 
-2   string      -sw1-       Swag archive data
-
-# RAR archiver (Greg Roelofs, newt@uchicago.edu)
-0      string          Rar!            RAR archive data,
->44    byte            x               v%0x,
->35    byte            0               os: MS-DOS
->35    byte            1               os: OS/2
->35    byte            2               os: Win32
->35    byte            3               os: Unix
-# some old version? idarc says:
-0   string      RE\x7e\x5e  RAR archive data
-
-# SQUISH archiver (Greg Roelofs, newt@uchicago.edu)
-0      string          SQSH            squished archive data (Acorn RISCOS)
-
-# UC2 archiver (Greg Roelofs, newt@uchicago.edu)
-# [JW] see exe section for self-extracting version
-0      string          UC2\x1a         UC2 archive data
-
-# ZIP archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu)
-0      string          PK\003\004      Zip archive data
->4     byte            0x09            \b, at least v0.9 to extract
->4     byte            0x0a            \b, at least v1.0 to extract
->4     byte            0x0b            \b, at least v1.1 to extract
->4     byte            0x14            \b, at least v2.0 to extract
-
-# Zoo archiver
-20     lelong          0xfdc4a7dc      Zoo archive data
->4     byte            >48             \b, v%c.
->>6    byte            >47             \b%c
->>>7   byte            >47             \b%c
->32    byte            >0              \b, modify: v%d
->>33   byte            x               \b.%d+
->42    lelong          0xfdc4a7dc      \b,
->>70   byte            >0              extract: v%d
->>>71  byte            x               \b.%d+
-
-# Shell archives
-10     string          #\ This\ is\ a\ shell\ archive  shell archive text
-
-#
-# LBR. NB: May conflict with the questionable 
-#          "binary Computer Graphics Metafile" format.
-#
-0       string  \0\ \ \ \ \ \ \ \ \ \ \ \0\0    LBR archive data
-#
-# PMA (CP/M derivative of LHA)
-#
-2       string          -pm0-           PMarc archive data [pm0]
-2       string          -pm1-           PMarc archive data [pm1]
-2       string          -pm2-           PMarc archive data [pm2]
-2       string          -pms-           PMarc SFX archive (CP/M, DOS)
-5       string          -pc1-           PopCom compressed executable (CP/M)
-
-# From Rafael Laboissiere <rafael@laboissiere.net>
-# The Project Revision Control System (see
-# http://prcs.sourceforge.net) generates a packaged project
-# file which is recognized by the following entry: 
-0      leshort         0xeb81  PRCS packaged project
-
-# Microsoft cabinets 
-# by David Necas (Yeti) <yeti@physics.muni.cz>
-#0     string  MSCF\0\0\0\0    Microsoft cabinet file data,
-#>25   byte    x               v%d
-#>24   byte    x               \b.%d
-# MPi: All CABs have version 1.3, so this is pointless.
-# Better magic in debian-additions.
-
-# GTKtalog catalogs 
-# by David Necas (Yeti) <yeti@physics.muni.cz>
-4      string  gtktalog\       GTKtalog catalog data,
->13    string  3               version 3
->>14   beshort 0x677a          (gzipped)
->>14   beshort !0x677a         (not gzipped)
->13    string  >3              version %s
-
-############################################################################
-# Parity archive reconstruction file, the 'par' file format now used on Usenet.
-0       string          PAR\0  PARity archive data
->48    leshort         =0      - Index file
->48    leshort         >0      - file number %d
-
-# Felix von Leitner <felix-file@fefe.de>
-0      string  d8:announce     BitTorrent file
-
-# Atari MSA archive - Teemu Hukkanen <tjhukkan@iki.fi>
-0       beshort 0x0e0f          Atari MSA archive data
->2      beshort x              \b, %d sectors per track
->4      beshort 0              \b, 1 sided
->4      beshort 1              \b, 2 sided
->6      beshort x              \b, starting track: %d
->8      beshort x              \b, ending track: %d
-
-# Alternate ZIP string (amc@arwen.cs.berkeley.edu)
-0      string  PK00PK\003\004  Zip archive data
-
-# ACE archive (from http://www.wotsit.org/download.asp?f=ace)
-# by Stefan `Sec` Zehl <sec@42.org>
-7      string          **ACE**         ACE archive data
->15    byte    >0              version %d
->16    byte    =0x00           \b, from MS-DOS
->16    byte    =0x01           \b, from OS/2
->16    byte    =0x02           \b, from Win/32
->16    byte    =0x03           \b, from Unix
->16    byte    =0x04           \b, from MacOS
->16    byte    =0x05           \b, from WinNT
->16    byte    =0x06           \b, from Primos
->16    byte    =0x07           \b, from AppleGS
->16    byte    =0x08           \b, from Atari
->16    byte    =0x09           \b, from Vax/VMS
->16    byte    =0x0A           \b, from Amiga
->16    byte    =0x0B           \b, from Next
->14    byte    x               \b, version %d to extract
->5     leshort &0x0080         \b, multiple volumes,
->>17   byte    x               \b (part %d),
->5     leshort &0x0002         \b, contains comment
->5     leshort &0x0200         \b, sfx
->5     leshort &0x0400         \b, small dictionary
->5     leshort &0x0800         \b, multi-volume
->5     leshort &0x1000         \b, contains AV-String
->>30   string\x16*UNREGISTERED\x20VERSION*     (unregistered)
->5     leshort &0x2000         \b, with recovery record
->5     leshort &0x4000         \b, locked
->5     leshort &0x8000         \b, solid
-# Date in MS-DOS format (whatever that is)
-#>18   lelong  x               Created on
-
-# sfArk : compression program for Soundfonts (sf2) by Dirk Jagdmann
-# <doj@cubic.org>
-0x1A   string  sfArk           sfArk compressed Soundfont
->0x15  string  2
->>0x1  string  >\0             Version %s
->>0x2A string  >\0             : %s
-
-# DR-DOS 7.03 Packed File *.??_
-0      string  Packed\ File\  Personal         NetWare Packed File
->12    string  x                               \b, was "%.12s"
-
-# EET archive
-# From: Tilman Sauerbeck <tilman@code-monkey.de>
-0      belong  0x1ee7ff00      EET archive
diff --git a/file/magic/Magdir/asterix b/file/magic/Magdir/asterix
deleted file mode 100644 (file)
index d89504a..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#------------------------------------------------------------------------------
-# asterix:  file(1) magic for Aster*x; SunOS 5.5.1 gave the 4-character
-# strings as "long" - we assume they're just strings:
-# From: guy@netapp.com (Guy Harris)
-#
-0      string          *STA            Aster*x
->7     string          WORD                    Words Document
->7     string          GRAP                    Graphic
->7     string          SPRE                    Spreadsheet
->7     string          MACR                    Macro
-0      string          2278            Aster*x Version 2
->29    byte            0x36                    Words Document
->29    byte            0x35                    Graphic
->29    byte            0x32                    Spreadsheet
->29    byte            0x38                    Macro
-
diff --git a/file/magic/Magdir/att3b b/file/magic/Magdir/att3b
deleted file mode 100644 (file)
index 884ad4a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#------------------------------------------------------------------------------
-# att3b:  file(1) magic for AT&T 3B machines
-#
-# The `versions' should be un-commented if they work for you.
-# (Was the problem just one of endianness?)
-#
-# 3B20
-#
-# The 3B20 conflicts with SCCS.
-#0     beshort         0550            3b20 COFF executable
-#>12   belong          >0              not stripped
-#>22   beshort         >0              - version %ld
-#0     beshort         0551            3b20 COFF executable (TV)
-#>12   belong          >0              not stripped
-#>22   beshort         >0              - version %ld
-#
-# WE32K
-#
-0      beshort         0560            WE32000 COFF
->18    beshort         ^00000020       object
->18    beshort         &00000020       executable
->12    belong          >0              not stripped
->18    beshort         ^00010000       N/A on 3b2/300 w/paging
->18    beshort         &00020000       32100 required
->18    beshort         &00040000       and MAU hardware required
->20    beshort         0407            (impure)
->20    beshort         0410            (pure)
->20    beshort         0413            (demand paged)
->20    beshort         0443            (target shared library)
->22    beshort         >0              - version %ld
-0      beshort         0561            WE32000 COFF executable (TV)
->12    belong          >0              not stripped
-#>18   beshort         &00020000       - 32100 required
-#>18   beshort         &00040000       and MAU hardware required
-#>22   beshort         >0              - version %ld
-#
-# core file for 3b2 
-0      string          \000\004\036\212\200    3b2 core file
->364   string          >\0             of '%s'
diff --git a/file/magic/Magdir/audio b/file/magic/Magdir/audio
deleted file mode 100644 (file)
index 33f1230..0000000
+++ /dev/null
@@ -1,427 +0,0 @@
-
-#------------------------------------------------------------------------------
-# 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            Sun/NeXT audio data:
->12    belong          1               8-bit ISDN mu-law,
->12    belong          2               8-bit linear PCM [REF-PCM],
->12    belong          3               16-bit linear PCM,
->12    belong          4               24-bit linear PCM,
->12    belong          5               32-bit linear PCM,
->12    belong          6               32-bit IEEE floating point,
->12    belong          7               64-bit IEEE floating point,
->12    belong          8               Fragmented sample data,
->12    belong          10              DSP program,
->12    belong          11              8-bit fixed point,
->12    belong          12              16-bit fixed point,
->12    belong          13              24-bit fixed point,
->12    belong          14              32-bit fixed point,
->12    belong          18              16-bit linear with emphasis,
->12    belong          19              16-bit linear compressed,
->12    belong          20              16-bit linear with emphasis and compression,
->12    belong          21              Music kit DSP commands,
->12    belong          23              8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice data encoding),
->12    belong          24              compressed (8-bit CCITT G.722 ADPCM)
->12    belong          25              compressed (3-bit CCITT G.723.3 ADPCM),
->12    belong          26              compressed (5-bit CCITT G.723.5 ADPCM),
->12    belong          27              8-bit A-law (CCITT G.711),
->20    belong          1               mono,
->20    belong          2               stereo,
->20    belong          4               quad,
->16    belong          >0              %d Hz
-
-# 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      DEC audio data:
->12    lelong          1               8-bit ISDN mu-law,
->12    lelong          2               8-bit linear PCM [REF-PCM],
->12    lelong          3               16-bit linear PCM,
->12    lelong          4               24-bit linear PCM,
->12    lelong          5               32-bit linear PCM,
->12    lelong          6               32-bit IEEE floating point,
->12    lelong          7               64-bit IEEE floating point,
->12    belong          8               Fragmented sample data,
->12    belong          10              DSP program,
->12    belong          11              8-bit fixed point,
->12    belong          12              16-bit fixed point,
->12    belong          13              24-bit fixed point,
->12    belong          14              32-bit fixed point,
->12    belong          18              16-bit linear with emphasis,
->12    belong          19              16-bit linear compressed,
->12    belong          20              16-bit linear with emphasis and compression,
->12    belong          21              Music kit DSP commands,
->12    lelong          23              8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice data encoding),
->12    belong          24              compressed (8-bit CCITT G.722 ADPCM)
->12    belong          25              compressed (3-bit CCITT G.723.3 ADPCM),
->12    belong          26              compressed (5-bit CCITT G.723.5 ADPCM),
->12    belong          27              8-bit A-law (CCITT G.711),
->20    lelong          1               mono,
->20    lelong          2               stereo,
->20    lelong          4               quad,
->16    lelong          >0              %d Hz
-
-# Creative Labs AUDIO stuff
-0      string  MThd                    Standard MIDI data
->8     beshort x                       (format %d)
->10    beshort x                       using %d track
->10    beshort         >1              \bs
->12    beshort&0x7fff  x               at 1/%d
->12    beshort&0x8000  >0              SMPTE
-
-0      string  CTMF                    Creative Music (CMF) data
-0      string  SBI                     SoundBlaster instrument data
-0      string  Creative\ Voice\ File   Creative Labs voice data
-# is this next line right?  it came this way...
->19    byte    0x1A
->23    byte    >0                      - version %d
->22    byte    >0                      \b.%d
-
-# first entry is also the string "NTRK"
-0      belong          0x4e54524b      MultiTrack sound data
->4     belong          x               - version %ld
-
-# Extended MOD format (*.emd) (Greg Roelofs, newt@uchicago.edu); NOT TESTED
-# [based on posting 940824 by "Dirk/Elastik", husberg@lehtori.cc.tut.fi]
-0      string          EMOD            Extended MOD sound data,
->4     byte&0xf0       x               version %d
->4     byte&0x0f       x               \b.%d,
->45    byte            x               %d instruments
->83    byte            0               (module)
->83    byte            1               (song)
-
-# Real Audio (Magic .ra\0375)
-0      belong          0x2e7261fd      RealAudio sound file
-0      string          .RMF            RealMedia file
-
-# MTM/669/FAR/S3M/ULT/XM format checking [Aaron Eppert, aeppert@dialin.ind.net]
-# Oct 31, 1995
-# fixed by <doj@cubic.org> 2003-06-24
-# Too short...
-#0     string          MTM             MultiTracker Module sound file
-#0     string          if              Composer 669 Module sound data
-#0     string          JN              Composer 669 Module sound data (extended format)
-0      string          MAS_U           ULT(imate) Module sound data
-
-#0     string          FAR             Module sound data
-#>4    string          >\15            Title: "%s"
-
-0x2c   string          SCRM            ScreamTracker III Module sound data
->0     string          >\0             Title: "%s"
-
-# Gravis UltraSound patches
-# From <ache@nagual.ru>
-
-0      string          GF1PATCH110\0ID#000002\0        GUS patch
-0      string          GF1PATCH100\0ID#000002\0        Old GUS patch
-
-#
-# Taken from loader code from mikmod version 2.14
-# by Steve McIntyre (stevem@chiark.greenend.org.uk)
-# <doj@cubic.org> added title printing on 2003-06-24
-0      string  MAS_UTrack_V00
->14    string  >/0             ultratracker V1.%.1s module sound data
-
-0      string  UN05            MikMod UNI format module sound data
-
-0      string  Extended\ Module: Fasttracker II module sound data
->17    string  >\0             Title: "%s"
-
-21     string/c        =!SCREAM!       Screamtracker 2 module sound data
-21     string  BMOD2STM        Screamtracker 2 module sound data
-1080   string  M.K.            4-channel Protracker module sound data
->0     string  >\0             Title: "%s"
-1080   string  M!K!            4-channel Protracker module sound data
->0     string  >\0             Title: "%s"
-1080   string  FLT4            4-channel Startracker module sound data
->0     string  >\0             Title: "%s"
-1080   string  FLT8            8-channel Startracker module sound data
->0     string  >\0             Title: "%s"
-1080   string  4CHN            4-channel Fasttracker module sound data
->0     string  >\0             Title: "%s"
-1080   string  6CHN            6-channel Fasttracker module sound data
->0     string  >\0             Title: "%s"
-1080   string  8CHN            8-channel Fasttracker module sound data
->0     string  >\0             Title: "%s"
-1080   string  CD81            8-channel Octalyser module sound data
->0     string  >\0             Title: "%s"
-1080   string  OKTA            8-channel Oktalyzer module sound data
->0     string  >\0             Title: "%s"
-# Not good enough.
-#1082  string  CH
-#>1080 string  >/0             %.2s-channel Fasttracker "oktalyzer" module sound data
-1080   string  16CN            16-channel Taketracker module sound data
->0     string  >\0             Title: "%s"
-1080   string  32CN            32-channel Taketracker module sound data
->0     string  >\0             Title: "%s"
-
-# TOC sound files -Trevor Johnson <trevor@jpj.net>
-#
-0       string          TOC             TOC sound file
-
-# sidfiles <pooka@iki.fi>
-# added name,author,(c) and new RSID type by <doj@cubic.org> 2003-06-24
-0      string          SIDPLAY\ INFOFILE       Sidplay info file
-
-0      string          PSID                    PlaySID v2.2+ (AMIGA) sidtune
->4     beshort         >0                      w/ header v%d,
->14    beshort         =1                      single song,
->14    beshort         >1                      %d songs,
->16    beshort         >0                      default song: %d
->0x16  string          >\0                     name: "%s"
->0x36  string          >\0                     author: "%s"
->0x56  string          >\0                     copyright: "%s"
-
-0      string          RSID                    RSID sidtune PlaySID compatible
->4     beshort         >0                      w/ header v%d,
->14    beshort         =1                      single song,
->14    beshort         >1                      %d songs,
->16    beshort         >0                      default song: %d
->0x16  string          >\0                     name: "%s"
->0x36  string          >\0                     author: "%s"
->0x56  string          >\0                     copyright: "%s"
-
-# IRCAM <mpruett@sgi.com>
-# VAX and MIPS files are little-endian; Sun and NeXT are big-endian
-0      belong          0x64a30100              IRCAM file (VAX)
-0      belong          0x64a30200              IRCAM file (Sun)
-0      belong          0x64a30300              IRCAM file (MIPS little-endian)
-0      belong          0x64a30400              IRCAM file (NeXT)
-
-# NIST SPHERE <mpruett@sgi.com>
-0      string          NIST_1A\n\ \ \ 1024\n   NIST SPHERE file
-
-# Sample Vision <mpruett@sgi.com>
-0      string          SOUND\ SAMPLE\ DATA\    Sample Vision file
-
-# Audio Visual Research <tonigonenstein@users.sourceforge.net>
-0      string          2BIT                    Audio Visual Research file,
->12    beshort         =0                      mono,
->12    beshort         =-1                     stereo,
->14    beshort         x                       %d bits
->16    beshort         =0                      unsigned,
->16    beshort         =-1                     signed,
->22    belong&0x00ffffff       x               %d Hz,
->18    beshort         =0                      no loop,
->18    beshort         =-1                     loop,
->21    ubyte           <=127                   note %d,
->22    byte            =0                      replay 5.485 KHz
->22    byte            =1                      replay 8.084 KHz
->22    byte            =2                      replay 10.971 Khz
->22    byte            =3                      replay 16.168 Khz
->22    byte            =4                      replay 21.942 KHz
->22    byte            =5                      replay 32.336 KHz
->22    byte            =6                      replay 43.885 KHz
->22    byte            =7                      replay 47.261 KHz
-
-# SGI SoundTrack <mpruett@sgi.com>
-0      string          _SGI_SoundTrack         SGI SoundTrack project file
-# ID3 version 2 tags <waschk@informatik.uni-rostock.de>
-0      string          ID3     MP3 file with ID3 version 2.
->3     ubyte   <0xff   \b%d.
->4     ubyte   <0xff   \b%d tag
-
-# NSF (NES sound file) magic
-0      string          NESM\x1a        NES Sound File
->14    string          >\0             ("%s" by
->46    string          >\0             %s, copyright
->78    string          >\0             %s),
->5     byte            x               version %d,
->6     byte            x               %d tracks,
->122   byte&0x2        =1              dual PAL/NTSC
->122   byte&0x1        =1              PAL
->122   byte&0x1        =0              NTSC
-
-# Impuse tracker module (audio/x-it)
-0      string          IMPM            Impulse Tracker module sound data -
->4     string          >\0             "%s"
->40    leshort         !0              compatible w/ITv%x
->42    leshort         !0              created w/ITv%x
-
-# Imago Orpheus module (audio/x-imf)
-60     string          IM10            Imago Orpheus module sound data -
->0     string          >\0             "%s"
-
-# From <collver1@attbi.com>
-# These are the /etc/magic entries to decode modules, instruments, and
-# samples in Impulse Tracker's native format.
-
-0      string          IMPS            Impulse Tracker Sample
->18    byte            &2              16 bit
->18    byte            ^2              8 bit
->18    byte            &4              stereo
->18    byte            ^4              mono
-0      string          IMPI            Impulse Tracker Instrument
->28    leshort         !0              ITv%x
->30    byte            !0              %d samples
-
-# Yamaha TX Wave:  file(1) magic for Yamaha TX Wave audio files
-# From <collver1@attbi.com>
-0      string          LM8953          Yamaha TX Wave
->22    byte            0x49            looped
->22    byte            0xC9            non-looped
->23    byte            1               33kHz
->23    byte            2               50kHz
->23    byte            3               16kHz
-
-# scream tracker:  file(1) magic for Scream Tracker sample files
-#
-# From <collver1@attbi.com>
-76     string          SCRS            Scream Tracker Sample
->0     byte            1               sample
->0     byte            2               adlib melody
->0     byte            >2              adlib drum
->31    byte            &2              stereo
->31    byte            ^2              mono
->31    byte            &4              16bit little endian
->31    byte            ^4              8bit
->30    byte            0               unpacked
->30    byte            1               packed
-
-# audio
-# From: Cory Dikkers <cdikkers@swbell.net>
-0      string          MMD0            MED music file, version 0
-0      string          MMD1            OctaMED Pro music file, version 1
-0      string          MMD3            OctaMED Soundstudio music file, version 3
-0      string          OctaMEDCmpr     OctaMED Soundstudio compressed file
-0      string          MED             MED_Song
-0      string          SymM            Symphonie SymMOD music file
-#
-0      string          THX             AHX version
->3     byte            =0              1 module data
->3     byte            =1              2 module data
-#
-0      string          OKTASONG        Oktalyzer module data
-#
-0      string          DIGI\ Booster\ module\0 %s
->20    byte            >0              %c
->>21   byte            >0              \b%c
->>>22  byte            >0              \b%c
->>>>23 byte            >0              \b%c
->610   string          >\0             \b, "%s"
-#
-0      string          DBM0            DIGI Booster Pro Module
->4     byte            >0              V%X.
->>5    byte            x               \b%02X
->16    string          >\0             \b, "%s"
-#
-0      string          FTMN            FaceTheMusic module
->16    string          >\0d            \b, "%s"
-
-# From: <doj@cubic.org> 2003-06-24
-0      string          AMShdr\32       Velvet Studio AMS Module v2.2
-0      string          Extreme         Extreme Tracker AMS Module v1.3
-0      string          DDMF            Xtracker DMF Module
->4     byte            x               v%i
->0xD   string          >\0             Title: "%s"
->0x2B  string          >\0             Composer: "%s"
-0      string          DSM\32          Dynamic Studio Module DSM
-0      string          SONG            DigiTrekker DTM Module
-0      string          DMDL            DigiTrakker MDL Module
-0      string          PSM\32          Protracker Studio PSM Module
-44     string          PTMF            Poly Tracker PTM Module
->0     string          >\32            Title: "%s"
-0      string          MT20            MadTracker 2.0 Module MT2
-0      string          RAD\40by\40REALiTY!! RAD Adlib Tracker Module RAD
-0      string          RTMM            RTM Module
-0x426  string          MaDoKaN96       XMS Adlib Module
->0     string          >\0             Composer: "%s"
-0      string          AMF             AMF Module
->4     string          >\0             Title: "%s"
-0      string          MODINFO1        Open Cubic Player Module Inforation MDZ
-0      string          Extended\40Instrument: Fast Tracker II Instrument
-
-# From: Takeshi Hamasaki <hma@syd.odn.ne.jp>
-# NOA Nancy Codec file
-0      string          \210NOA\015\012\032     NOA Nancy Codec Movie file
-# Yamaha SMAF format
-0      string          MMMD            Yamaha SMAF file
-# Sharp Jisaku Melody format for PDC
-0      string          \001Sharp\040JisakuMelody       SHARP Cell-Phone ringing Melody
->20    string          Ver01.00        Ver. 1.00
->>32   byte            x               , %d tracks
-
-# Free lossless audio codec <http://flac.sourceforge.net>
-# From: Przemyslaw Augustyniak <silvathraec@rpg.pl>
-0      string                  fLaC            FLAC audio bitstream data
->4     byte&0x7f               >0              \b, unknown version
->4     byte&0x7f               0               \b
-# some common bits/sample values
->>20   beshort&0x1f0           0x030           \b, 4 bit
->>20   beshort&0x1f0           0x050           \b, 6 bit
->>20   beshort&0x1f0           0x070           \b, 8 bit
->>20   beshort&0x1f0           0x0b0           \b, 12 bit
->>20   beshort&0x1f0           0x0f0           \b, 16 bit
->>20   beshort&0x1f0           0x170           \b, 24 bit
->>20   byte&0xe                0x0             \b, mono
->>20   byte&0xe                0x2             \b, stereo
->>20   byte&0xe                0x4             \b, 3 channels
->>20   byte&0xe                0x6             \b, 4 channels
->>20   byte&0xe                0x8             \b, 5 channels
->>20   byte&0xe                0xa             \b, 6 channels
->>20   byte&0xe                0xc             \b, 7 channels
->>20   byte&0xe                0xe             \b, 8 channels
-# some common sample rates
->>17   belong&0xfffff0         0x0ac440        \b, 44.1 kHz
->>17   belong&0xfffff0         0x0bb800        \b, 48 kHz
->>17   belong&0xfffff0         0x07d000        \b, 32 kHz
->>17   belong&0xfffff0         0x056220        \b, 22.05 kHz
->>17   belong&0xfffff0         0x05dc00        \b, 24 kHz
->>17   belong&0xfffff0         0x03e800        \b, 16 kHz
->>17   belong&0xfffff0         0x02b110        \b, 11.025 kHz
->>17   belong&0xfffff0         0x02ee00        \b, 12 kHz
->>17   belong&0xfffff0         0x01f400        \b, 8 kHz
->>17   belong&0xfffff0         0x177000        \b, 96 kHz
->>17   belong&0xfffff0         0x0fa000        \b, 64 kHz
->>21   byte&0xf                >0              \b, >4G samples
->>21   byte&0xf                0               \b
->>>22  belong                  >0              \b, %u samples
->>>22  belong                  0               \b, length unknown
-
-# (ISDN) VBOX voice message file (Wolfram Kleff)
-0       string          VBOX            VBOX voice message data
-
-# ReBorn Song Files (.rbs)
-# David J. Singer <doc@deadvirgins.org.uk>
-8       string          RB40             RBS Song file
->29     string          ReBorn           created by ReBorn
->37     string          Propellerhead    created by ReBirth
-
-# Synthesizer Generator and Kimwitu share their file format
-0      string          A#S#C#S#S#L#V#3     Synthesizer Generator or Kimwitu data
-# Kimwitu++ uses a slightly different magic
-0      string          A#S#C#S#S#L#HUB     Kimwitu++ data
-
-# From "Simon Hosie
-0       string  TFMX-SONG       TFMX module sound data
-
-# From danny.milo@gmx.net (Danny Milosavljevic)
-# monkeysaudio for magic.mime
-0      string  MAC\    X/Monkey audio,
->4     leshort >0      version %d,
->6     leshort >0      compression level %d,
->8     leshort >0      flags %x,
->10    leshort >0      channels %d,
->12    lelong  >0      samplerate %d,
->24    lelong  >0      frames %d
-
-# adlib sound files
-# From Gürkan Sengün <gurkan@linuks.mine.nu>, http://www.linuks.mine.nu
-0      string          RAWADATA        RdosPlay RAW
-
-1068   string          RoR             AMUSIC Adlib Tracker
-
-0      string          JCH             EdLib
-
-0      string          mpu401tr        MPU-401 Trakker
-
-0      string          SAdT            Surprise! Adlib Tracker
->4     byte            x               Version %d
-
-0      string          XAD!            eXotic ADlib
-
-0      string          ofTAZ!          eXtra Simple Music
diff --git a/file/magic/Magdir/bFLT b/file/magic/Magdir/bFLT
deleted file mode 100644 (file)
index 5e288d1..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#------------------------------------------------------------------------------
-# bFLT: file(1) magic for BFLT uclinux binary files
-#
-# From Philippe De Muyter <phdm@macqel.be>
-#
-0      string          bFLT            BFLT executable
->4     belong          x               - version %ld
->4     belong          4
->>36   belong&0x1      0x1             ram
->>36   belong&0x2      0x2             gotpic
->>36   belong&0x4      0x4             gzip
->>36   belong&0x8      0x8             gzdata
diff --git a/file/magic/Magdir/blender b/file/magic/Magdir/blender
deleted file mode 100644 (file)
index 01d4e54..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#------------------------------------------------------------------------------
-# blender: file(1) magic for Blender 3D data files
-#
-# Coded by Guillermo S. Romero <gsromero@alumnos.euitt.upm.es> using the
-# data from Ton Roosendaal <ton@blender.nl>. Ton or his company do not
-# support the rule, so mail GSR if problems with it. Rule version: 1.1.
-# You can get latest version with comments and details about the format
-# at http://acd.asoc.euitt.upm.es/~gsromero/3d/blender/magic.blender
-
-0      string  =BLENDER        Blender3D,
->7     string  =_              saved as 32-bits
->7      string =-              saved as 64-bits
->8     string  =v              little endian
->8     string  =V              big endian
->9     byte    x               with version %c.
->10    byte    x               \b%c
->11    byte    x               \b%c
diff --git a/file/magic/Magdir/blit b/file/magic/Magdir/blit
deleted file mode 100644 (file)
index 7a470ed..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#------------------------------------------------------------------------------
-# blit:  file(1) magic for 68K Blit stuff as seen from 680x0 machine
-#
-# Note that this 0407 conflicts with several other a.out formats...
-#
-# XXX - should this be redone with "be" and "le", so that it works on
-# little-endian machines as well?  If so, what's the deal with
-# "VAX-order" and "VAX-order2"?
-#
-#0     long            0407            68K Blit (standalone) executable
-#0     short           0407            VAX-order2 68K Blit (standalone) executable
-0      short           03401           VAX-order 68K Blit (standalone) executable
-0      long            0406            68k Blit mpx/mux executable
-0      short           0406            VAX-order2 68k Blit mpx/mux executable
-0      short           03001           VAX-order 68k Blit mpx/mux executable
-# Need more values for WE32 DMD executables.
-# Note that 0520 is the same as COFF
-#0     short           0520            tty630 layers executable
diff --git a/file/magic/Magdir/bout b/file/magic/Magdir/bout
deleted file mode 100644 (file)
index 4cd6f76..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# i80960 b.out objects and archives
-#
-0      long            0x10d           i960 b.out relocatable object
->16    long            >0              not stripped
-#
-# b.out archive (hp-rt on i960)
-0      string          =!<bout>        b.out archive
->8     string          __.SYMDEF       random library
diff --git a/file/magic/Magdir/bsdi b/file/magic/Magdir/bsdi
deleted file mode 100644 (file)
index ad54759..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------
-# bsdi:  file(1) magic for BSD/OS (from BSDI) objects
-#
-
-0      lelong          0314            386 compact demand paged pure executable
->16    lelong          >0              not stripped
->32    byte            0x6a            (uses shared libs)
-
-0      lelong          0407            386 executable
->16    lelong          >0              not stripped
->32    byte            0x6a            (uses shared libs)
-
-0      lelong          0410            386 pure executable
->16    lelong          >0              not stripped
->32    byte            0x6a            (uses shared libs)
-
-0      lelong          0413            386 demand paged pure executable
->16    lelong          >0              not stripped
->32    byte            0x6a            (uses shared libs)
-
-# same as in SunOS 4.x, except for static shared libraries
-0      belong&077777777        0600413         sparc demand paged
->0     byte            &0x80
->>20   belong          <4096           shared library
->>20   belong          =4096           dynamically linked executable
->>20   belong          >4096           dynamically linked executable
->0     byte            ^0x80           executable
->16    belong          >0              not stripped
->36    belong          0xb4100001      (uses shared libs)
-
-0      belong&077777777        0600410         sparc pure
->0     byte            &0x80           dynamically linked executable
->0     byte            ^0x80           executable
->16    belong          >0              not stripped
->36    belong          0xb4100001      (uses shared libs)
-
-0      belong&077777777        0600407         sparc
->0     byte            &0x80           dynamically linked executable
->0     byte            ^0x80           executable
->16    belong          >0              not stripped
->36    belong          0xb4100001      (uses shared libs)
diff --git a/file/magic/Magdir/c-lang b/file/magic/Magdir/c-lang
deleted file mode 100644 (file)
index 1dcf636..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#------------------------------------------------------------------------------
-# c-lang:  file(1) magic for C programs (or REXX)
-#
-
-# XPM icons (Greg Roelofs, newt@uchicago.edu)
-# if you uncomment "/*" for C/REXX below, also uncomment this entry
-#0     string          /*\ XPM\ */     X pixmap image data
-
-# this first will upset you if you're a PL/1 shop...
-# in which case rm it; ascmagic will catch real C programs
-#0     string          /*              C or REXX program text
-#0     string          //              C++ program text
-
-# From: Mikhail Teterin <mi@aldan.algebra.com> 
-0      string          cscope          cscope reference data
->7     string          x               version %.2s
-# We skip the path here, because it is often long (so file will
-# truncate it) and mostly redundant.
-# The inverted index functionality was added some time betwen
-# versions 11 and 15, so look for -q if version is above 14:
->7     string          >14
->>10   regex           .+\ -q\         with inverted index
->10    regex           .+\ -c\         text (non-compressed)
diff --git a/file/magic/Magdir/c64 b/file/magic/Magdir/c64
deleted file mode 100644 (file)
index 4ca143f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#------------------------------------------------------------------------------
-# c64:  file(1) magic for various commodore 64 related files
-#
-# From <doj@cubic.org>
-
-0x16500        belong          0x12014100      D64 Image
-0x16500        belong          0x12014180      D71 Image
-0x61800 belong         0x28034400      D81 Image
-0      string          C64\40CARTRIDGE CCS C64 Emultar Cartridge Image
-0      belong          0x43154164      X64 Image
-
-0      string          GCR-1541        GCR Image
->8     byte            x               version: $i
->9     byte            x               tracks: %i
-
-9      string          PSUR            ARC archive (c64)
-2      string          -LH1-           LHA archive (c64)
-
-0      string          C64File         PC64 Emulator file
->8     string          >\0             "%s"
-0      string          C64Image        PC64 Freezer Image
-
-0      beshort         0x38CD          C64 PCLink Image
-0      string          CBM\144\0\0     Power 64 C64 Emulator Snapshot
-
-0      belong          0xFF424CFF      WRAptor packer (c64)
diff --git a/file/magic/Magdir/cad b/file/magic/Magdir/cad
deleted file mode 100644 (file)
index 92aa837..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#------------------------------------------------------------------------------
-# autocad:  file(1) magic for cad files
-#
-
-# AutoCAD DWG versions R13/R14 (www.autodesk.com)
-# Written December 01, 2003 by Lester Hightower
-# Based on the DWG File Format Specifications at http://www.opendwg.org/
-0      string         \101\103\061\060\061                AutoCAD
->5     string         \062\000\000\000\000                DWG ver. R13
->5     string         \064\000\000\000\000                DWG ver. R14
-
-# Microstation DGN/CIT Files (www.bentley.com)
-# Written October 30, 2003 by Lester Hightower
-# DGN is the default file extension of Microstation/Intergraph CAD files.
-# CIT is the proprietary raster format (similar to TIFF) used to attach
-# raster underlays to Microstation DGN (vector) drawings.
-# 
-# http://www.wotsit.org/search.asp
-# http://filext.com/detaillist.php?extdetail=DGN
-# http://filext.com/detaillist.php?extdetail=CIT
-#
-# http://www.bentley.com/products/default.cfm?objectid=97F351F5-9C35-4E5E-89C2
-# 3F86C928&method=display&p_objectid=97F351F5-9C35-4E5E-89C280A93F86C928
-# http://www.bentley.com/products/default.cfm?objectid=A5C2FD43-3AC9-4C71-B682
-# 721C479F&method=display&p_objectid=A5C2FD43-3AC9-4C71-B682C7BE721C479F
-0      string         \010\011\376                        Microstation
->3     string         \002
->>30   string         \372\104                            DGN File
->>30   string         \172\104                            DGN File
->>30   string         \026\105                            DGN File
->4     string         \030\000\000                        CIT File
-
-# AutoCad, from Nahuel Greco
-0      string AC1012   AutoCad (release 12)
-0      string AC1014   AutoCad (release 14)
diff --git a/file/magic/Magdir/cddb b/file/magic/Magdir/cddb
deleted file mode 100644 (file)
index 2ea97ee..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-#------------------------------------------------------------------------------
-# CDDB: file(1) magic for CDDB(tm) format CD text data files
-#
-# From <steve@gracenote.com>
-#
-# This is the /etc/magic entry to decode datafiles as used by
-# CDDB-enabled CD player applications.
-#
-
-0       string/b        #\040xmcd               CDDB(tm) format CD text data
diff --git a/file/magic/Magdir/chi b/file/magic/Magdir/chi
deleted file mode 100644 (file)
index ee450f5..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# chi:  file(1) magic for ChiWriter files
-#
-0       string          \\1cw\          ChiWriter file
->5      string          >\0             version %s
-0       string          \\1cw           ChiWriter file
diff --git a/file/magic/Magdir/chord b/file/magic/Magdir/chord
deleted file mode 100644 (file)
index 3639f3c..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-
-#------------------------------------------------------------------------------
-# chord: file(1) magic for Chord music sheet typesetting utility input files
-#
-# From Philippe De Muyter <phdm@macqel.be>
-# File format is actually free, but many distributed files begin with `{title'
-#
-0      string          {title          Chord text file
-
diff --git a/file/magic/Magdir/cisco b/file/magic/Magdir/cisco
deleted file mode 100644 (file)
index 77e3efb..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#------------------------------------------------------------------------------
-# cisco:  file(1) magic for cisco Systems routers
-#
-# Most cisco file-formats are covered by the generic elf code
-#
-# Microcode files are non-ELF, 0x8501 conflicts with NetBSD/alpha.
-0      belong&0xffffff00       0x85011400  cisco IOS microcode
->7     string          >\0                 for '%s'
-0      belong&0xffffff00       0x8501cb00  cisco IOS experimental microcode
->7     string          >\0                 for '%s'
diff --git a/file/magic/Magdir/citrus b/file/magic/Magdir/citrus
deleted file mode 100644 (file)
index 6d44794..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#------------------------------------------------------------------------------
-# citrus locale declaration
-#
-
-0      string          RuneCT          Citrus locale declaration for LC_CTYPE
-
diff --git a/file/magic/Magdir/claris b/file/magic/Magdir/claris
deleted file mode 100644 (file)
index 368b473..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#------------------------------------------------------------------------------
-# claris:  file(1) magic for claris
-# "H. Nanosecond" <aldomel@ix.netcom.com>
-# Claris Works a word processor, etc.
-# Version 3.0
-
-# .pct claris works clip art files
-#0000000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
-#*
-#0001000 #010 250 377 377 377 377 000 213 000 230 000 021 002 377 014 000
-#null to byte 1000 octal
-514    string  \377\377\377\377\000    Claris clip art?
->0     string  \0\0\0\0\0\0\0\0\0\0\0\0\0      yes.
-514    string  \377\377\377\377\001    Claris clip art?
->0     string  \0\0\0\0\0\0\0\0\0\0\0\0\0      yes.
-
-# Claris works files
-# .cwk
-0      string  \002\000\210\003\102\117\102\117\000\001\206 Claris works document
-# .plt
-0      string  \020\341\000\000\010\010        Claris Works pallete files .plt
-
-# .msp a dictionary file I am not sure about this I have only one .msp file
-0      string  \002\271\262\000\040\002\000\164        Claris works dictionary
-
-# .usp are user dictionary bits
-# I am not sure about a magic header:
-#0000000 001 123 160 146 070 125 104 040 136 123 015 012 160 157 144 151
-#        soh   S   p   f   8   U   D  sp   ^   S  cr  nl   p   o   d   i
-#0000020 141 164 162 151 163 164 040 136 123 015 012 144 151 166 040 043
-#          a   t   r   i   s   t  sp   ^   S  cr  nl   d   i   v  sp   #
-
-# .mth Thesaurus
-# starts with \0 but no magic header
-
-# .chy Hyphenation file
-# I am not sure: 000 210 034 000 000
-
-# other claris files
-#./windows/claris/useng.ndx: data
-#./windows/claris/xtndtran.l32: data
-#./windows/claris/xtndtran.lst: data
-#./windows/claris/clworks.lbl: data
-#./windows/claris/clworks.prf: data
-#./windows/claris/userd.spl: data
diff --git a/file/magic/Magdir/clipper b/file/magic/Magdir/clipper
deleted file mode 100644 (file)
index c325cb8..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-
-#------------------------------------------------------------------------------
-# clipper:  file(1) magic for Intergraph (formerly Fairchild) Clipper.
-#
-# XXX - what byte order does the Clipper use?
-#
-# XXX - what's the "!" stuff:
-#
-# >18  short           !074000,000000  C1 R1 
-# >18  short           !074000,004000  C2 R1
-# >18  short           !074000,010000  C3 R1
-# >18  short           !074000,074000  TEST
-#
-# I shall assume it's ANDing the field with the first value and
-# comparing it with the second, and rewrite it as:
-#
-# >18  short&074000    000000          C1 R1 
-# >18  short&074000    004000          C2 R1
-# >18  short&074000    010000          C3 R1
-# >18  short&074000    074000          TEST
-#
-# as SVR3.1's "file" doesn't support anything of the "!074000,000000"
-# sort, nor does SunOS 4.x, so either it's something Intergraph added
-# in CLIX, or something AT&T added in SVR3.2 or later, or something
-# somebody else thought was a good idea; it's not documented in the
-# man page for this version of "magic", nor does it appear to be
-# implemented (at least not after I blew off the bogus code to turn
-# old-style "&"s into new-style "&"s, which just didn't work at all).
-#
-0      short           0575            CLIPPER COFF executable (VAX #)
->20    short           0407            (impure)
->20    short           0410            (5.2 compatible)
->20    short           0411            (pure)
->20    short           0413            (demand paged)
->20    short           0443            (target shared library)
->12    long            >0              not stripped
->22    short           >0              - version %ld
-0      short           0577            CLIPPER COFF executable
->18    short&074000    000000          C1 R1 
->18    short&074000    004000          C2 R1
->18    short&074000    010000          C3 R1
->18    short&074000    074000          TEST
->20    short           0407            (impure)
->20    short           0410            (pure)
->20    short           0411            (separate I&D)
->20    short           0413            (paged)
->20    short           0443            (target shared library)
->12    long            >0              not stripped
->22    short           >0              - version %ld
->48    long&01         01              alignment trap enabled
->52    byte            1               -Ctnc
->52    byte            2               -Ctsw
->52    byte            3               -Ctpw
->52    byte            4               -Ctcb
->53    byte            1               -Cdnc
->53    byte            2               -Cdsw
->53    byte            3               -Cdpw
->53    byte            4               -Cdcb
->54    byte            1               -Csnc
->54    byte            2               -Cssw
->54    byte            3               -Cspw
->54    byte            4               -Cscb
-4      string          pipe            CLIPPER instruction trace
-4      string          prof            CLIPPER instruction profile
diff --git a/file/magic/Magdir/commands b/file/magic/Magdir/commands
deleted file mode 100644 (file)
index 93244b8..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-
-#------------------------------------------------------------------------------
-# commands:  file(1) magic for various shells and interpreters
-#
-0      string          :                       shell archive or script for antique kernel text
-0      string/b        #!\ /bin/sh             Bourne shell script text executable
-0      string/b        #!\ /bin/csh            C shell script text executable
-# korn shell magic, sent by George Wu, gwu@clyde.att.com
-0      string/b        #!\ /bin/ksh            Korn shell script text executable
-0      string/b        #!\ /bin/tcsh           Tenex C shell script text executable
-0      string/b        #!\ /usr/local/tcsh     Tenex C shell script text executable
-0      string/b        #!\ /usr/local/bin/tcsh Tenex C shell script text executable
-
-#
-# zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson)
-0      string/b        #!\ /bin/zsh            Paul Falstad's zsh script text executable
-0      string/b        #!\ /usr/bin/zsh        Paul Falstad's zsh script text executable
-0      string/b        #!\ /usr/local/bin/zsh  Paul Falstad's zsh script text executable
-0      string/b        #!\ /usr/local/bin/ash  Neil Brown's ash script text executable
-0      string/b        #!\ /usr/local/bin/ae   Neil Brown's ae script text executable
-0      string/b        #!\ /bin/nawk           new awk script text executable
-0      string/b        #!\ /usr/bin/nawk       new awk script text executable
-0      string/b        #!\ /usr/local/bin/nawk new awk script text executable
-0      string/b        #!\ /bin/gawk           GNU awk script text executable
-0      string/b        #!\ /usr/bin/gawk       GNU awk script text executable
-0      string/b        #!\ /usr/local/bin/gawk GNU awk script text executable
-#
-0      string/b        #!\ /bin/awk            awk script text executable
-0      string/b        #!\ /usr/bin/awk        awk script text executable
-0      string          BEGIN                   awk script text
-
-# AT&T Bell Labs' Plan 9 shell
-0      string/b        #!\ /bin/rc     Plan 9 rc shell script text executable
-
-# bash shell magic, from Peter Tobias (tobias@server.et-inf.fho-emden.de)
-0      string/b        #!\ /bin/bash   Bourne-Again shell script text executable
-0      string/b        #!\ /usr/local/bin/bash Bourne-Again shell script text executable
-
-# using env
-0      string          #!/usr/bin/env          a
->15    string          >\0                     %s script text executable
-0      string          #!\ /usr/bin/env        a
->16    string          >\0                     %s script text executable
-
-# PHP scripts
-# Ulf Harnhammar <ulfh@update.uu.se>
-0      string/c        =<?php                  PHP script text
-0      string          =<?\n                   PHP script text
-0      string          =<?\r                   PHP script text
-0      string/b        #!\ /usr/local/bin/php  PHP script text executable
-0      string/b        #!\ /usr/bin/php        PHP script text executable
-
-0      string          Zend\x00                PHP script Zend Optimizer data
diff --git a/file/magic/Magdir/communications b/file/magic/Magdir/communications
deleted file mode 100644 (file)
index 81417ec..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#----------------------------------------------------------------------------
-# communication
-
-# TTCN is the Tree and Tabular Combined Notation described in ISO 9646-3.
-# It is used for conformance testing of communication protocols.
-# Added by W. Borgert <debacle@debian.org>.
-0      string          $Suite                  TTCN Abstract Test Suite
->&1    string          $SuiteId
->>&1   string          >\n                     %s
->&2    string          $SuiteId
->>&1   string          >\n                     %s
->&3    string          $SuiteId
->>&1   string          >\n                     %s
-
-# MSC (message sequence charts) are a formal description technique,
-# described in ITU-T Z.120, mainly used for communication protocols.
-# Added by W. Borgert <debacle@debian.org>.
-0      string          mscdocument     Message Sequence Chart (document)
-0      string          msc             Message Sequence Chart (chart)
-0      string          submsc          Message Sequence Chart (subchart)
diff --git a/file/magic/Magdir/compress b/file/magic/Magdir/compress
deleted file mode 100644 (file)
index 39a3d11..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-
-#------------------------------------------------------------------------------
-# compress:  file(1) magic for pure-compression formats (no archives)
-#
-# compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, 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        compress'd data
->2     byte&0x80       >0              block compressed
->2     byte&0x1f       x               %d bits
-
-# gzip (GNU zip, not to be confused with Info-ZIP or PKWARE zip archiver)
-#   Edited by Chris Chittleborough <cchittleborough@yahoo.com.au>, March 2002
-#      * Original filename is only at offset 10 if "extra field" absent
-#      * Produce shorter output - notably, only report compression methods
-#        other than 8 ("deflate", the only method defined in RFC 1952).
-0       string          \037\213        gzip compressed data
->2     byte            <8              \b, reserved method
->2     byte            >8              \b, unknown method
->3     byte            &0x01           \b, ASCII
->3     byte            &0x02           \b, continuation
->3     byte            &0x04           \b, extra field
->3     byte&0xC        =0x08
->>10   string          x               \b, was "%s"
->9     byte            =0x00           \b, from MS-DOS
->9     byte            =0x01           \b, from Amiga
->9     byte            =0x02           \b, from VMS
->9     byte            =0x03           \b, from Unix
->9     byte            =0x05           \b, from Atari
->9     byte            =0x06           \b, from OS/2
->9     byte            =0x07           \b, from MacOS
->9     byte            =0x0A           \b, from Tops/20
->9     byte            =0x0B           \b, from Win/32
->3     byte            &0x10           \b, comment
->3     byte            &0x20           \b, encrypted
-### >4 ledate          x               last modified: %s,
->8     byte            2               \b, max compression
->8     byte            4               \b, max speed
-
-# packed data, Huffman (minimum redundancy) codes on a byte-by-byte basis
-0      string          \037\036        packed data
->2     belong          >1              \b, %d characters originally
->2     belong          =1              \b, %d character originally
-#
-# This magic number is byte-order-independent.
-0      short           0x1f1f          old packed data
-
-# XXX - why *two* entries for "compacted data", one of which is
-# byte-order independent, and one of which is byte-order dependent?
-#
-0      short           0x1fff          compacted data
-# This string is valid for SunOS (BE) and a matching "short" is listed
-# in the Ultrix (LE) magic file.
-0      string          \377\037        compacted data
-0      short           0145405         huf output
-
-# bzip2
-0      string          BZh             bzip2 compressed data
->3     byte            >47             \b, block size = %c00k
-
-# squeeze and crunch
-# Michael Haardt <michael@cantor.informatik.rwth-aachen.de>
-0      beshort         0x76FF          squeezed data,
->4     string          x               original name %s
-0      beshort         0x76FE          crunched data,
->2     string          x               original name %s
-0      beshort         0x76FD          LZH compressed data,
->2     string          x               original name %s
-
-# Freeze
-0      string          \037\237        frozen file 2.1
-0      string          \037\236        frozen file 1.0 (or gzip 0.5)
-
-# SCO compress -H (LZH)
-0      string          \037\240        SCO compress -H (LZH) data
-
-# European GSM 06.10 is a provisional standard for full-rate speech
-# transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse
-# excitation/long term prediction) coding at 13 kbit/s.
-#
-# There's only a magic nibble (4 bits); that nibble repeats every 33
-# bytes.  This isn't suited for use, but maybe we can use it someday.
-#
-# This will cause very short GSM files to be declared as data and
-# mismatches to be declared as data too!
-#0     byte&0xF0       0xd0            data
-#>33   byte&0xF0       0xd0
-#>66   byte&0xF0       0xd0
-#>99   byte&0xF0       0xd0
-#>132  byte&0xF0       0xd0            GSM 06.10 compressed audio
-
-# bzip a block-sorting file compressor
-#      by Julian Seward <sewardj@cs.man.ac.uk> and others
-#
-0      string          BZ              bzip compressed data
->2     byte            x               \b, version: %c
->3     string          =1              \b, compression block size 100k
->3     string          =2              \b, compression block size 200k
->3     string          =3              \b, compression block size 300k
->3     string          =4              \b, compression block size 400k
->3     string          =5              \b, compression block size 500k
->3     string          =6              \b, compression block size 600k
->3     string          =7              \b, compression block size 700k
->3     string          =8              \b, compression block size 800k
->3     string          =9              \b, compression block size 900k
-
-# lzop from <markus.oberhumer@jk.uni-linz.ac.at>
-0      string          \x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a    lzop compressed data
->9     beshort         <0x0940
->>9    byte&0xf0       =0x00           - version 0.
->>9    beshort&0x0fff  x               \b%03x,
->>13   byte            1               LZO1X-1,
->>13   byte            2               LZO1X-1(15),
->>13   byte            3               LZO1X-999,
-## >>22        bedate          >0              last modified: %s,
->>14   byte            =0x00           os: MS-DOS
->>14   byte            =0x01           os: Amiga
->>14   byte            =0x02           os: VMS
->>14   byte            =0x03           os: Unix
->>14   byte            =0x05           os: Atari
->>14   byte            =0x06           os: OS/2
->>14   byte            =0x07           os: MacOS
->>14   byte            =0x0A           os: Tops/20
->>14   byte            =0x0B           os: WinNT
->>14   byte            =0x0E           os: Win32
->9     beshort         >0x0939
->>9    byte&0xf0       =0x00           - version 0.
->>9    byte&0xf0       =0x10           - version 1.
->>9    byte&0xf0       =0x20           - version 2.
->>9    beshort&0x0fff  x               \b%03x,
->>15   byte            1               LZO1X-1,
->>15   byte            2               LZO1X-1(15),
->>15   byte            3               LZO1X-999,
-## >>25        bedate          >0              last modified: %s,
->>17   byte            =0x00           os: MS-DOS
->>17   byte            =0x01           os: Amiga
->>17   byte            =0x02           os: VMS
->>17   byte            =0x03           os: Unix
->>17   byte            =0x05           os: Atari
->>17   byte            =0x06           os: OS/2
->>17   byte            =0x07           os: MacOS
->>17   byte            =0x0A           os: Tops/20
->>17   byte            =0x0B           os: WinNT
->>17   byte            =0x0E           os: Win32
-
-# 4.3BSD-Quasijarus Strong Compression
-# http://minnie.tuhs.org/Quasijarus/compress.html
-0      string          \037\241        Quasijarus strong compressed data
-
-# From: Cory Dikkers <cdikkers@swbell.net>
-0      string          XPKF            Amiga xpkf.library compressed data
-0      string          PP11            Power Packer 1.1 compressed data
-0      string          PP20            Power Packer 2.0 compressed data,
->4     belong          0x09090909      fast compression
->4     belong          0x090A0A0A      mediocre compression
->4     belong          0x090A0B0B      good compression
->4     belong          0x090A0C0C      very good compression
->4     belong          0x090A0C0D      best compression
-
-# 7-zip archiver, from Thomas Klausner (wiz@danbala.tuwien.ac.at)
-# http://www.7-zip.org or DOC/7zFormat.txt 
-#
-0      string          7z\274\257\047\034      7-zip archive data,
->6     byte            x                       version %d
->7     byte            x                       \b.%d
-
-# AFX compressed files (Wolfram Kleff)
-2      string          -afx-           AFX compressed file data
diff --git a/file/magic/Magdir/console b/file/magic/Magdir/console
deleted file mode 100644 (file)
index ccade69..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-#------------------------------------------------------------------------------
-# Console game magic
-# Toby Deshane <hac@shoelace.digivill.net>
-#    ines:  file(1) magic for Marat's iNES Nintendo Entertainment System
-#           ROM dump format
-
-0 string NES\032 iNES ROM dump,
->4 byte  x     %dx16k PRG
->5 byte  x     \b, %dx8k CHR
->6 byte&0x01  =0x1  \b, [Vert.]
->6 byte&0x01  =0x0  \b, [Horiz.]
->6 byte&0x02  =0x2  \b, [SRAM]
->6 byte&0x04  =0x4  \b, [Trainer]
->6 byte&0x04  =0x8  \b, [4-Scr]
-
-#------------------------------------------------------------------------------
-# gameboy:  file(1) magic for the Nintendo (Color) Gameboy raw ROM format
-#
-0x104 belong 0xCEED6666 Gameboy ROM:
->0x134 string >\0 "%.16s"
->0x146 byte 0x03  \b,[SGB]
->0x147 byte 0x00  \b, [ROM ONLY]
->0x147 byte 0x01  \b, [ROM+MBC1]
->0x147 byte 0x02  \b, [ROM+MBC1+RAM]
->0x147 byte 0x03  \b, [ROM+MBC1+RAM+BATT]
->0x147 byte 0x05  \b, [ROM+MBC2]
->0x147 byte 0x06  \b, [ROM+MBC2+BATTERY]
->0x147 byte 0x08  \b, [ROM+RAM]
->0x147 byte 0x09  \b, [ROM+RAM+BATTERY]
->0x147 byte 0x0B  \b, [ROM+MMM01]
->0x147 byte 0x0C  \b, [ROM+MMM01+SRAM]
->0x147 byte 0x0D  \b, [ROM+MMM01+SRAM+BATT]
->0x147 byte 0x0F  \b, [ROM+MBC3+TIMER+BATT]
->0x147 byte 0x10  \b, [ROM+MBC3+TIMER+RAM+BATT]
->0x147 byte 0x11  \b, [ROM+MBC3]
->0x147 byte 0x12  \b, [ROM+MBC3+RAM]
->0x147 byte 0x13  \b, [ROM+MBC3+RAM+BATT]
->0x147 byte 0x19  \b, [ROM+MBC5]
->0x147 byte 0x1A  \b, [ROM+MBC5+RAM]
->0x147 byte 0x1B  \b, [ROM+MBC5+RAM+BATT]
->0x147 byte 0x1C  \b, [ROM+MBC5+RUMBLE]
->0x147 byte 0x1D  \b, [ROM+MBC5+RUMBLE+SRAM]
->0x147 byte 0x1E  \b, [ROM+MBC5+RUMBLE+SRAM+BATT]
->0x147 byte 0x1F  \b, [Pocket Camera]
->0x147 byte 0xFD  \b, [Bandai TAMA5]
->0x147 byte 0xFE  \b, [Hudson HuC-3]
->0x147 byte 0xFF  \b, [Hudson HuC-1]
-
->0x148 byte 0     \b, ROM: 256Kbit
->0x148 byte 1     \b, ROM: 512Kbit
->0x148 byte 2     \b, ROM: 1Mbit
->0x148 byte 3     \b, ROM: 2Mbit
->0x148 byte 4     \b, ROM: 4Mbit
->0x148 byte 5     \b, ROM: 8Mbit
->0x148 byte 6     \b, ROM: 16Mbit
->0x148 byte 0x52  \b, ROM: 9Mbit
->0x148 byte 0x53  \b, ROM: 10Mbit
->0x148 byte 0x54  \b, ROM: 12Mbit
-
->0x149 byte 1     \b, RAM: 16Kbit
->0x149 byte 2     \b, RAM: 64Kbit
->0x149 byte 3     \b, RAM: 128Kbit
->0x149 byte 4     \b, RAM: 1Mbit
-
-#>0x14e long  x     \b, CRC: %x
-
-#------------------------------------------------------------------------------
-# genesis:  file(1) magic for the Sega MegaDrive/Genesis raw ROM format
-#
-0x100 string SEGA  Sega MegaDrive/Genesis raw ROM dump
->0x120 string >\0 Name: "%.16s"
->0x110 string >\0 %.16s
->0x1B0 string RA with SRAM
-
-#------------------------------------------------------------------------------
-# genesis:  file(1) magic for the Super MegaDrive ROM dump format
-#
-0x280 string EAGN  Super MagicDrive ROM dump
->0 byte x %dx16k blocks
->2 byte 0 \b, last in series or standalone
->2 byte >0 \b, split ROM
->8 byte 0xAA
->9 byte 0xBB
-
-#------------------------------------------------------------------------------
-# genesis:  file(1) alternate magic for the Super MegaDrive ROM dump format
-#
-0x280 string EAMG  Super MagicDrive ROM dump
->0 byte x %dx16k blocks
->2 byte x \b, last in series or standalone
->8 byte 0xAA
->9 byte 0xBB
-
-#------------------------------------------------------------------------------
-# smsgg:  file(1) magic for Sega Master System and Game Gear ROM dumps
-#
-# Does not detect all images.  Very preliminary guesswork.  Need more data
-# on format.
-#
-# FIXME: need a little more info...;P
-#
-#0 byte 0xF3
-#>1 byte 0xED  Sega Master System/Game Gear ROM dump
-#>1 byte 0x31  Sega Master System/Game Gear ROM dump
-#>1 byte 0xDB  Sega Master System/Game Gear ROM dump
-#>1 byte 0xAF  Sega Master System/Game Gear ROM dump
-#>1 byte 0xC3  Sega Master System/Game Gear ROM dump
-
-#------------------------------------------------------------------------------
-# dreamcast:  file(1) uncertain magic for the Sega Dreamcast VMU image format
-#
-0 belong 0x21068028   Sega Dreamcast VMU game image
-0 string LCDi         Dream Animator file
-
-#------------------------------------------------------------------------------
-# v64: file(1) uncertain magic for the V64 format N64 ROM dumps
-#
-0 belong 0x37804012    V64 Nintendo 64 ROM dump
-
-#------------------------------------------------------------------------------
-# msx: file(1) magic for MSX game cartridge dumps
-# Too simple - MPi
-#0 beshort 0x4142 MSX game cartridge dump 
-
-#------------------------------------------------------------------------------
-# Sony Playstation executables (Adam Sjoegren <asjo@diku.dk>) :
-0      string  PS-X\ EXE       Sony Playstation executable
-#  Area:
->113   string  x               (%s)
-
-#------------------------------------------------------------------------------
-# Microsoft Xbox executables .xbe (Esa Hyytiä <ehyytia@cc.hut.fi>)
-0       string          XBEH            XBE, Microsoft Xbox executable
-# probabilistic checks whether signed or not
->0x0004 ulelong =0x0
->>&2    ulelong =0x0
->>>&2   ulelong =0x0  \b, not signed
->0x0004 ulelong >0
->>&2    ulelong >0
->>>&2   ulelong >0    \b, signed
-# expect base address of 0x10000
->0x0104               ulelong =0x10000
->>(0x0118-0x0FF60)    ulelong&0x80000007  0x80000007 \b, all regions
->>(0x0118-0x0FF60)    ulelong&0x80000007  !0x80000007
->>>(0x0118-0x0FF60)   ulelong >0           (regions:
->>>>(0x0118-0x0FF60)  ulelong &0x00000001  NA
->>>>(0x0118-0x0FF60)  ulelong &0x00000002  Japan
->>>>(0x0118-0x0FF60)  ulelong &0x00000004  Rest_of_World
->>>>(0x0118-0x0FF60)  ulelong &0x80000000  Manufacturer
->>>(0x0118-0x0FF60)   ulelong >0           \b)
-
-# --------------------------------
-# Microsoft Xbox data file formats
-0       string          XIP0            XIP, Microsoft Xbox data
-0       string          XTF0            XTF, Microsoft Xbox data
-
-# Atari Lynx cartridge dump (EXE/BLL header)
-# From: "Stefan A. Haubenthal" <polluks@web.de>
-
-0      beshort         0x8008          Lynx cartridge,
->2     beshort         x               RAM start $%04x
->6     string          BS93
-
-
-
-
diff --git a/file/magic/Magdir/convex b/file/magic/Magdir/convex
deleted file mode 100644 (file)
index b1235d7..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#------------------------------------------------------------------------------
-# convex:  file(1) magic for Convex boxes
-#
-# Convexes are big-endian.
-#
-# /*\
-#  * Below are the magic numbers and tests added for Convex.
-#  * Added at beginning, because they are expected to be used most.
-# \*/
-0      belong  0507    Convex old-style object
->16    belong  >0      not stripped
-0      belong  0513    Convex old-style demand paged executable
->16    belong  >0      not stripped
-0      belong  0515    Convex old-style pre-paged executable
->16    belong  >0      not stripped
-0      belong  0517    Convex old-style pre-paged, non-swapped executable
->16    belong  >0      not stripped
-0      belong  0x011257        Core file
-#
-# The following are a series of dump format magic numbers.  Each one
-# corresponds to a drastically different dump format.  The first on is
-# the original dump format on a 4.1 BSD or earlier file system.  The
-# second marks the change between the 4.1 file system and the 4.2 file
-# system.  The Third marks the changing of the block size from 1K
-# to 2K to be compatible with an IDC file system.  The fourth indicates
-# a dump that is dependent on Convex Storage Manager, because data in
-# secondary storage is not physically contained within the dump.
-# The restore program uses these number to determine how the data is
-# to be extracted.
-#
-24     belong  =60011  dump format, 4.1 BSD or earlier
-24     belong  =60012  dump format, 4.2 or 4.3 BSD without IDC
-24     belong  =60013  dump format, 4.2 or 4.3 BSD (IDC compatible)
-24     belong  =60014  dump format, Convex Storage Manager by-reference dump
-#
-# what follows is a bunch of bit-mask checks on the flags field of the opthdr.
-# If there is no `=' sign, assume just checking for whether the bit is set?
-#
-0      belong  0601            Convex SOFF
->88    belong&0x000f0000       =0x00000000     c1
->88    belong                  &0x00010000     c2
->88    belong                  &0x00020000     c2mp
->88    belong                  &0x00040000     parallel
->88    belong                  &0x00080000     intrinsic
->88    belong                  &0x00000001     demand paged
->88    belong                  &0x00000002     pre-paged
->88    belong                  &0x00000004     non-swapped
->88    belong                  &0x00000008     POSIX
-#
->84    belong                  &0x80000000     executable
->84    belong                  &0x40000000     object
->84    belong&0x20000000       =0              not stripped
->84    belong&0x18000000       =0x00000000     native fpmode
->84    belong&0x18000000       =0x10000000     ieee fpmode
->84    belong&0x18000000       =0x18000000     undefined fpmode
-#
-0      belong                  0605            Convex SOFF core
-#
-0      belong                  0607            Convex SOFF checkpoint
->88    belong&0x000f0000       =0x00000000     c1
->88    belong                  &0x00010000     c2
->88    belong                  &0x00020000     c2mp
->88    belong                  &0x00040000     parallel
->88    belong                  &0x00080000     intrinsic
->88    belong                  &0x00000008     POSIX
-#
->84    belong&0x18000000       =0x00000000     native fpmode
->84    belong&0x18000000       =0x10000000     ieee fpmode
->84    belong&0x18000000       =0x18000000     undefined fpmode
diff --git a/file/magic/Magdir/ctags b/file/magic/Magdir/ctags
deleted file mode 100644 (file)
index 84c5b7f..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-
-# ----------------------------------------------------------------------------
-# ctags:  file (1) magic for Exuberant Ctags files
-# From: Alexander Mai <mai@migdal.ikp.physik.tu-darmstadt.de>
-0       string  =!_TAG   Exuberant Ctags tag file text
diff --git a/file/magic/Magdir/dact b/file/magic/Magdir/dact
deleted file mode 100644 (file)
index 5cca8d9..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-
-#------------------------------------------------------------------------------
-# dact:  file(1) magic for DACT compressed files
-#
-0      long            0x444354C3      DACT compressed data
->4     byte            >-1             (version %i.
->5     byte            >-1             $BS%i.
->6     byte            >-1             $BS%i)
->7     long            >0              $BS, original size: %i bytes
->15    long            >30             $BS, block size: %i bytes
diff --git a/file/magic/Magdir/database b/file/magic/Magdir/database
deleted file mode 100644 (file)
index aef8469..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-
-#------------------------------------------------------------------------------
-# database:  file(1) magic for various databases
-#
-# extracted from header/code files by Graeme Wilford (eep2gw@ee.surrey.ac.uk)
-#
-#
-# GDBM magic numbers
-#  Will be maintained as part of the GDBM distribution in the future.
-#  <downsj@teeny.org>
-0      belong  0x13579ace      GNU dbm 1.x or ndbm database, big endian
-0      lelong  0x13579ace      GNU dbm 1.x or ndbm database, little endian
-0      string  GDBM            GNU dbm 2.x database
-#
-# Berkeley DB
-#
-# Ian Darwin's file /etc/magic files: big/little-endian version.
-#
-# Hash 1.85/1.86 databases store metadata in network byte order.
-# Btree 1.85/1.86 databases store the metadata in host byte order.
-# Hash and Btree 2.X and later databases store the metadata in host byte order.
-
-0      long    0x00061561      Berkeley DB
->8     belong  4321
->>4    belong  >2              1.86
->>4    belong  <3              1.85
->>4    belong  >0              (Hash, version %d, native byte-order)
->8     belong  1234
->>4    belong  >2              1.86
->>4    belong  <3              1.85
->>4    belong  >0              (Hash, version %d, little-endian)
-
-0      belong  0x00061561      Berkeley DB
->8     belong  4321
->>4    belong  >2              1.86
->>4    belong  <3              1.85
->>4    belong  >0              (Hash, version %d, big-endian)
->8     belong  1234
->>4    belong  >2              1.86
->>4    belong  <3              1.85
->>4    belong  >0              (Hash, version %d, native byte-order)
-
-0      long    0x00053162      Berkeley DB 1.85/1.86
->4     long    >0              (Btree, version %d, native byte-order)
-0      belong  0x00053162      Berkeley DB 1.85/1.86
->4     belong  >0              (Btree, version %d, big-endian)
-0      lelong  0x00053162      Berkeley DB 1.85/1.86
->4     lelong  >0              (Btree, version %d, little-endian)
-
-12     long    0x00061561      Berkeley DB
->16    long    >0              (Hash, version %d, native byte-order)
-12     belong  0x00061561      Berkeley DB
->16    belong  >0              (Hash, version %d, big-endian)
-12     lelong  0x00061561      Berkeley DB
->16    lelong  >0              (Hash, version %d, little-endian)
-
-12     long    0x00053162      Berkeley DB
->16    long    >0              (Btree, version %d, native byte-order)
-12     belong  0x00053162      Berkeley DB
->16    belong  >0              (Btree, version %d, big-endian)
-12     lelong  0x00053162      Berkeley DB
->16    lelong  >0              (Btree, version %d, little-endian)
-
-12     long    0x00042253      Berkeley DB
->16    long    >0              (Queue, version %d, native byte-order)
-12     belong  0x00042253      Berkeley DB
->16    belong  >0              (Queue, version %d, big-endian)
-12     lelong  0x00042253      Berkeley DB
->16    lelong  >0              (Queue, version %d, little-endian)
-
-# From Max Bowsher.
-12     long    0x00040988      Berkeley DB
->16    long    >0              (Log, version %d, native byte-order)
-12     belong  0x00040988      Berkeley DB 
->16    belong  >0              (Log, version %d, big-endian)
-12     lelong  0x00040988      Berkeley DB
->16    lelong  >0              (Log, version %d, little-endian)
-
-#
-#
-# Round Robin Database Tool by Tobias Oetiker <oetiker@ee.ethz.ch>
-0      string  RRD             RRDTool DB
->4     string  x               version %s
-#----------------------------------------------------------------------
-# ROOT: file(1) magic for ROOT databases
-#
-0       string  root\0  ROOT file
->4      belong  x       Version %d
->33     belong  x       (Compression: %d)
-
-# XXX: Weak magic.
-# Alex Ott <ott@jet.msk.su>
-## Paradox file formats
-#2       leshort       0x0800  Paradox 
-#>0x39   byte          3       v. 3.0 
-#>0x39   byte          4       v. 3.5 
-#>0x39   byte          9       v. 4.x 
-#>0x39   byte          10      v. 5.x 
-#>0x39   byte          11      v. 5.x 
-#>0x39   byte          12      v. 7.x 
-#>>0x04          byte          0       indexed .DB data file 
-#>>0x04          byte          1       primary index .PX file 
-#>>0x04          byte          2       non-indexed .DB data file 
-#>>0x04          byte          3       non-incrementing secondary index .Xnn file 
-#>>0x04          byte          4       secondary index .Ynn file 
-#>>0x04          byte          5       incrementing secondary index .Xnn file 
-#>>0x04          byte          6       non-incrementing secondary index .XGn file 
-#>>0x04          byte          7       secondary index .YGn file 
-#>>>0x04         byte          8       incrementing secondary index .XGn file 
-## XBase database files
-#0      byte       0x02        
-#>8     leshort          >0
-#>>12   leshort    0   FoxBase 
-#>>>0x04       lelong          0               (no records)
-#>>>0x04       lelong          >0              (%ld records)
-#
-#0      byte       0x03        
-#>8     leshort          >0
-#>>12   leshort    0   FoxBase+, FoxPro, dBaseIII+, dBaseIV, no memo 
-#>>>0x04       lelong          0               (no records)
-#>>>0x04       lelong          >0              (%ld records)
-#
-#0      byte       0x04        
-#>8     leshort          >0
-#>>12   leshort    0   dBASE IV no memo file 
-#>>>0x04       lelong          0               (no records)
-#>>>0x04       lelong          >0              (%ld records)
-#
-#0      byte       0x05        
-#>8     leshort          >0
-#>>12   leshort    0   dBASE V no memo file 
-#>>>0x04       lelong          0               (no records)
-#>>>0x04       lelong          >0              (%ld records)
-#
-#0      byte       0x30
-#>8     leshort          >0
-#>>12   leshort    0   Visual FoxPro 
-#>>>0x04       lelong          0               (no records)
-#>>>0x04       lelong          >0              (%ld records)
-#
-#0      byte       0x43
-#>8     leshort          >0
-#>>12   leshort    0   FlagShip with memo var size 
-#>>>0x04       lelong          0               (no records)
-#>>>0x04       lelong          >0              (%ld records)
-#
-#0      byte       0x7b
-#>8     leshort          >0
-#>>12   leshort    0   dBASEIV with memo 
-#>>>0x04       lelong          0               (no records)
-#>>>0x04       lelong          >0              (%ld records)
-#
-#0      byte       0x83        
-#>8     leshort          >0
-#>>12   leshort    0   FoxBase+, dBaseIII+ with memo 
-#>>>0x04       lelong          0               (no records)
-#>>>0x04       lelong          >0              (%ld records)
-#
-#0      byte       0x8b
-#>8     leshort          >0
-#>>12   leshort    0   dBaseIV with memo 
-#>>>0x04       lelong          0               (no records)
-#>>>0x04       lelong          >0              (%ld records)
-#
-#0      byte       0x8e        
-#>8     leshort          >0
-#>>12   leshort    0   dBaseIV with SQL Table 
-#>>>0x04       lelong          0               (no records)
-#>>>0x04       lelong          >0              (%ld records)
-#
-#0      byte       0xb3
-#>8     leshort          >0
-#>>12   leshort    0   FlagShip with .dbt memo 
-#>>>0x04       lelong          0               (no records)
-#>>>0x04       lelong          >0              (%ld records)
-#
-#0      byte       0xf5
-#>8     leshort          >0
-#>>12   leshort    0   FoxPro with memo 
-#>>>0x04       lelong          0               (no records)
-#>>>0x04       lelong          >0              (%ld records)
-#
-#0     leshort         0x0006          DBase 3 index file
-
-# MS Access database
-4        string        Standard\ Jet\ DB       Microsoft Access Database
-
-# TDB database from Samba et al - Martin Pool <mbp@samba.org>
-0      string  TDB\ file               TDB database
->32    lelong  0x2601196D              version 6, little-endian
->>36   lelong  x                       hash size %d bytes
-
-# SE Linux policy database
-0       lelong  0xf97cff8c      SE Linux policy
->16     lelong  x               v%d
->20     lelong  1      MLS
->24     lelong  x       %d symbols
->28     lelong  x       %d ocons
-
-# ICE authority file data (Wolfram Kleff)
-2      string          ICE             ICE authority data
-
-# X11 Xauthority file (Wolfram Kleff)
-10     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
-11     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
-12     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
-13     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
-14     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
-15     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
-16     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
-17     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
-18     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
diff --git a/file/magic/Magdir/diamond b/file/magic/Magdir/diamond
deleted file mode 100644 (file)
index 1abd01e..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-#------------------------------------------------------------------------------
-# diamond:  file(1) magic for Diamond system
-#
-# ... diamond is a multi-media mail and electronic conferencing system....
-#
-# XXX - I think it was either renamed Slate, or replaced by Slate....
-#
-#      The full deal is too long...
-#0     string  <list>\n<protocol\ bbn-multimedia-format>       Diamond Multimedia Document
-0      string  =<list>\n<protocol\ bbn-m       Diamond Multimedia Document
diff --git a/file/magic/Magdir/diff b/file/magic/Magdir/diff
deleted file mode 100644 (file)
index 9e65146..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-
-#------------------------------------------------------------------------------
-# diff:  file(1) magic for diff(1) output
-#
-0      string          diff\   'diff' output text
-0      string          ***\            'diff' output text
-0      string          Only\ in\       'diff' output text
-0      string          Common\ subdirectories:\        'diff' output text
diff --git a/file/magic/Magdir/digital b/file/magic/Magdir/digital
deleted file mode 100644 (file)
index 615ef7a..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#  Digital UNIX - Info
-#
-0      string  =!<arch>\n________64E   Alpha archive
->22    string  X                       -- out of date
-#
-# Alpha COFF Based Executables
-# The stripped stuff really needs to be an 8 byte (64 bit) compare,
-# but this works
-0      leshort         0x183           COFF format alpha
->22    leshort&020000  &010000         sharable library,
->22    leshort&020000  ^010000         dynamically linked,
->24    leshort         0410            pure
->24    leshort         0413            demand paged
->8     lelong          >0              executable or object module, not stripped
->8     lelong          0
->>12   lelong          0               executable or object module, stripped
->>12   lelong          >0              executable or object module, not stripped
->27     byte            >0              - version %d.
->26     byte            >0              %d-
->28     leshort         >0              %d
-#
-# The next is incomplete, we could tell more about this format,
-# but its not worth it.
-0      leshort         0x188   Alpha compressed COFF
-0      leshort         0x18f   Alpha u-code object
-#
-#
-# Some other interesting Digital formats,
-0      string  \377\377\177            ddis/ddif
-0      string  \377\377\174            ddis/dots archive
-0      string  \377\377\176            ddis/dtif table data
-0      string  \033c\033               LN03 output
-0      long    04553207                X image
-#
-0      string  =!<PDF>!\n              profiling data file
-#
-# Locale data tables (MIPS and Alpha).
-#
-0      short           0x0501          locale data table
->6     short           0x24            for MIPS
->6     short           0x40            for Alpha
diff --git a/file/magic/Magdir/dolby b/file/magic/Magdir/dolby
deleted file mode 100644 (file)
index 230f738..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-# ATSC A/53 aka AC-3 aka Dolby Digital <ashitaka@gmx.at>
-# from http://www.atsc.org/standards/a_52a.pdf
-# corrections, additions, etc. are always welcome!
-#
-# syncword
-0       beshort         0x0b77  ATSC A/52 aka AC-3 aka Dolby Digital stream,
-# fscod
->4      byte&0xc0       0x00    48 kHz,
->4      byte&0xc0       0x40    44.1 kHz,
->4      byte&0xc0       0x80    32 kHz,
-# is this one used for 96 kHz?
->4      byte&0xc0       0xc0    reserved frequency,
-#
->5     byte&7 = 0              \b, complete main (CM)
->5     byte&7 = 1              \b, music and effects (ME)
->5     byte&7 = 2              \b, visually impaired (VI)
->5     byte&7 = 3              \b, hearing impaired (HI)
->5     byte&7 = 4              \b, dialogue (D)
->5     byte&7 = 5              \b, commentary (C)
->5     byte&7 = 6              \b, emergency (E)
-# acmod
->6      byte&0xe0       0x00    1+1 front,
->6      byte&0xe0       0x20    1 front/0 rear,
->6      byte&0xe0       0x40    2 front/0 rear,
->6      byte&0xe0       0x60    3 front/0 rear,
->6      byte&0xe0       0x80    2 front/1 rear,
->6      byte&0xe0       0xa0    3 front/1 rear,
->6      byte&0xe0       0xc0    2 front/2 rear,
->6      byte&0xe0       0xe0    3 front/2 rear,
-# lfeon (these may be incorrect)
->7      byte&0x40       0x00    LFE off,
->7      byte&0x40       0x40    LFE on,
-#
->4     byte&0x3e = 0x00        \b, 32 kbit/s
->4     byte&0x3e = 0x02        \b, 40 kbit/s
->4     byte&0x3e = 0x04        \b, 48 kbit/s
->4     byte&0x3e = 0x06        \b, 56 kbit/s
->4     byte&0x3e = 0x08        \b, 64 kbit/s
->4     byte&0x3e = 0x0a        \b, 80 kbit/s
->4     byte&0x3e = 0x0c        \b, 96 kbit/s
->4     byte&0x3e = 0x0e        \b, 112 kbit/s
->4     byte&0x3e = 0x10        \b, 128 kbit/s
->4     byte&0x3e = 0x12        \b, 160 kbit/s
->4     byte&0x3e = 0x14        \b, 192 kbit/s
->4     byte&0x3e = 0x16        \b, 224 kbit/s
->4     byte&0x3e = 0x18        \b, 256 kbit/s
->4     byte&0x3e = 0x1a        \b, 320 kbit/s
->4     byte&0x3e = 0x1c        \b, 384 kbit/s
->4     byte&0x3e = 0x1e        \b, 448 kbit/s
->4     byte&0x3e = 0x20        \b, 512 kbit/s
->4     byte&0x3e = 0x22        \b, 576 kbit/s
->4     byte&0x3e = 0x24        \b, 640 kbit/s
-# dsurmod (these may be incorrect)
->6      beshort&0x0180  0x0000  Dolby Surround not indicated
->6      beshort&0x0180  0x0080  not Dolby Surround encoded
->6      beshort&0x0180  0x0100  Dolby Surround encoded
->6      beshort&0x0180  0x0180  reserved Dolby Surround mode
diff --git a/file/magic/Magdir/dump b/file/magic/Magdir/dump
deleted file mode 100644 (file)
index 628ead8..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-
-#------------------------------------------------------------------------------
-# dump:  file(1) magic for dump file format--for new and old dump filesystems
-#
-# We specify both byte orders in order to recognize byte-swapped dumps.
-#
-24     belong  60012           new-fs dump file (big endian),
->4     bedate  x               Previous dump %s,
->8     bedate  x               This dump %s,
->12    belong  >0              Volume %ld,
->692   belong  0               Level zero, type:
->692   belong  >0              Level %d, type:
->0     belong  1               tape header,
->0     belong  2               beginning of file record,
->0     belong  3               map of inodes on tape,
->0     belong  4               continuation of file record,
->0     belong  5               end of volume,
->0     belong  6               map of inodes deleted,
->0     belong  7               end of medium (for floppy),
->676   string  >\0             Label %s,
->696   string  >\0             Filesystem %s,
->760   string  >\0             Device %s,
->824   string  >\0             Host %s,
->888   belong  >0              Flags %x
-
-24     belong  60011           old-fs dump file (big endian),
-#>4    bedate  x               Previous dump %s,
-#>8    bedate  x               This dump %s,
->12    belong  >0              Volume %ld,
->692   belong  0               Level zero, type:
->692   belong  >0              Level %d, type:
->0     belong  1               tape header,
->0     belong  2               beginning of file record,
->0     belong  3               map of inodes on tape,
->0     belong  4               continuation of file record,
->0     belong  5               end of volume,
->0     belong  6               map of inodes deleted,
->0     belong  7               end of medium (for floppy),
->676   string  >\0             Label %s,
->696   string  >\0             Filesystem %s,
->760   string  >\0             Device %s,
->824   string  >\0             Host %s,
->888   belong  >0              Flags %x
-
-24     lelong  60012           new-fs dump file (little endian),
->4     ledate  x               This dump %s,
->8     ledate  x               Previous dump %s,
->12    lelong  >0              Volume %ld,
->692   lelong  0               Level zero, type:
->692   lelong  >0              Level %d, type:
->0     lelong  1               tape header,
->0     lelong  2               beginning of file record,
->0     lelong  3               map of inodes on tape,
->0     lelong  4               continuation of file record,
->0     lelong  5               end of volume,
->0     lelong  6               map of inodes deleted,
->0     lelong  7               end of medium (for floppy),
->676   string  >\0             Label %s,
->696   string  >\0             Filesystem %s,
->760   string  >\0             Device %s,
->824   string  >\0             Host %s,
->888   lelong  >0              Flags %x
-
-24     lelong  60011           old-fs dump file (little endian),
-#>4    ledate  x               Previous dump %s,
-#>8    ledate  x               This dump %s,
->12    lelong  >0              Volume %ld,
->692   lelong  0               Level zero, type:
->692   lelong  >0              Level %d, type:
->0     lelong  1               tape header,
->0     lelong  2               beginning of file record,
->0     lelong  3               map of inodes on tape,
->0     lelong  4               continuation of file record,
->0     lelong  5               end of volume,
->0     lelong  6               map of inodes deleted,
->0     lelong  7               end of medium (for floppy),
->676   string  >\0             Label %s,
->696   string  >\0             Filesystem %s,
->760   string  >\0             Device %s,
->824   string  >\0             Host %s,
->888   lelong  >0              Flags %x
diff --git a/file/magic/Magdir/dyadic b/file/magic/Magdir/dyadic
deleted file mode 100644 (file)
index e8a9d25..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-
-#------------------------------------------------------------------------------
-# Dyadic: file(1) magic for Dyalog APL.
-#
-0      byte    0xaa
->1     byte    <4              Dyalog APL
->>1    byte    0x00            incomplete workspace
->>1    byte    0x01            component file
->>1    byte    0x02            external variable
->>1    byte    0x03            workspace
->>2    byte    x               version %d
->>3    byte    x               .%d
diff --git a/file/magic/Magdir/editors b/file/magic/Magdir/editors
deleted file mode 100644 (file)
index 7edbe8b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-
-#------------------------------------------------------------------------------
-# T602 editor documents 
-# by David Necas <yeti@physics.muni.cz>
-0      string  @CT\    T602 document data,
->4     string  0       Kamenicky
->4     string  1       CP 852
->4     string  2       KOI8-CS
->4     string  >2      unknown encoding
-
-# Vi IMproved Encrypted file 
-# by David Necas <yeti@physics.muni.cz>
-0      string  VimCrypt~       Vim encrypted file data
diff --git a/file/magic/Magdir/elf b/file/magic/Magdir/elf
deleted file mode 100644 (file)
index 67e5270..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-
-#------------------------------------------------------------------------------
-# elf:  file(1) magic for ELF executables
-#
-# We have to check the byte order flag to see what byte order all the
-# other stuff in the header is in.
-#
-# What're the correct byte orders for the nCUBE and the Fujitsu VPP500?
-#
-# updated by Daniel Quinlan (quinlan@yggdrasil.com)
-0      string          \177ELF         ELF
->4     byte            0               invalid class
->4     byte            1               32-bit
-# only for MIPS - in the future, the ABI field of e_flags should be used.
->>18   leshort         8
->>>36  lelong          &0x20           N32
->>18   leshort         10
->>>36  lelong          &0x20           N32
->>18   beshort         8
->>>36  belong          &0x20           N32
->>18   beshort         10
->>>36  belong          &0x20           N32
->4     byte            2               64-bit
->5     byte            0               invalid byte order
->5     byte            1               LSB
-# The official e_machine number for MIPS is now #8, regardless of endianness.
-# The second number (#10) will be deprecated later. For now, we still
-# say something if #10 is encountered, but only gory details for #8.
->>18    leshort                8
-# only for 32-bit
->>>4   byte            1
->>>>36  lelong&0xf0000000      0x00000000      MIPS-I
->>>>36  lelong&0xf0000000      0x10000000      MIPS-II
->>>>36  lelong&0xf0000000      0x20000000      MIPS-III
->>>>36  lelong&0xf0000000      0x30000000      MIPS-IV
->>>>36  lelong&0xf0000000      0x40000000      MIPS-V
->>>>36  lelong&0xf0000000      0x60000000      MIPS32
->>>>36  lelong&0xf0000000      0x70000000      MIPS64
->>>>36  lelong&0xf0000000      0x80000000      MIPS32 rel2
->>>>36  lelong&0xf0000000      0x90000000      MIPS64 rel2
-# only for 64-bit
->>>4   byte            2
->>>>48  lelong&0xf0000000      0x00000000      MIPS-I
->>>>48  lelong&0xf0000000      0x10000000      MIPS-II
->>>>48  lelong&0xf0000000      0x20000000      MIPS-III
->>>>48  lelong&0xf0000000      0x30000000      MIPS-IV
->>>>48  lelong&0xf0000000      0x40000000      MIPS-V
->>>>48  lelong&0xf0000000      0x60000000      MIPS32
->>>>48  lelong&0xf0000000      0x70000000      MIPS64 
->>>>48  lelong&0xf0000000      0x80000000      MIPS32 rel2
->>>>48  lelong&0xf0000000      0x90000000      MIPS64 rel2
->>16   leshort         0               no file type,
->>16   leshort         1               relocatable,
->>16   leshort         2               executable,
->>16   leshort         3               shared object,
-# Core handling from Peter Tobias <tobias@server.et-inf.fho-emden.de>
-# corrections by Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de>
->>16   leshort         4               core file
-# Core file detection is not reliable.
-#>>>(0x38+0xcc) string >\0             of '%s'
-#>>>(0x38+0x10) lelong >0              (signal %d),
->>16   leshort         &0xff00         processor-specific,
->>18   leshort         0               no machine,
->>18   leshort         1               AT&T WE32100 - invalid byte order,
->>18   leshort         2               SPARC - invalid byte order,
->>18   leshort         3               Intel 80386,
->>18   leshort         4               Motorola
->>>36  lelong          &0x01000000     68000 - invalid byte order,
->>>36  lelong          &0x00810000     CPU32 - invalid byte order,
->>>36  lelong          0               68020 - invalid byte order,
->>18   leshort         5               Motorola 88000 - invalid byte order,
->>18   leshort         6               Intel 80486,
->>18   leshort         7               Intel 80860,
->>18   leshort         8               MIPS,
->>18   leshort         9               Amdahl - invalid byte order,
->>18   leshort         10              MIPS (deprecated),
->>18   leshort         11              RS6000 - invalid byte order,
->>18   leshort         15              PA-RISC - invalid byte order,
->>>50  leshort         0x0214          2.0
->>>48  leshort         &0x0008         (LP64),
->>18   leshort         16              nCUBE,
->>18   leshort         17              Fujitsu VPP500,
->>18   leshort         18              SPARC32PLUS,
->>18   leshort         20              PowerPC,
->>18   leshort         22              IBM S/390,
->>18   leshort         36              NEC V800,
->>18   leshort         37              Fujitsu FR20,
->>18   leshort         38              TRW RH-32,
->>18   leshort         39              Motorola RCE,
->>18   leshort         40              ARM,
->>18   leshort         41              Alpha,
->>18   leshort         0xa390          IBM S/390 (obsolete),
->>18   leshort         42              Hitachi SH,
->>18   leshort         43              SPARC V9 - invalid byte order,
->>18   leshort         44              Siemens Tricore Embedded Processor,
->>18   leshort         45              Argonaut RISC Core, Argonaut Technologies Inc.,
->>18   leshort         46              Hitachi H8/300,
->>18   leshort         47              Hitachi H8/300H,
->>18   leshort         48              Hitachi H8S,
->>18   leshort         49              Hitachi H8/500,
->>18   leshort         50              IA-64,
->>18   leshort         51              Stanford MIPS-X,
->>18   leshort         52              Motorola Coldfire,
->>18   leshort         53              Motorola M68HC12,
->>18   leshort         62              AMD x86-64,
->>18   leshort         75              Digital VAX,
->>18   leshort         88              Renesas M32R,
->>18   leshort         97              NatSemi 32k,
->>18   leshort         0x9026          Alpha (unofficial),
->>20   lelong          0               invalid version
->>20   lelong          1               version 1
->>36   lelong          1               MathCoPro/FPU/MAU Required
->5     byte            2               MSB
-# only for MIPS - see comment in little-endian section above.
->>18    beshort                8
-# only for 32-bit
->>>4   byte            1
->>>>36  belong&0xf0000000      0x00000000      MIPS-I
->>>>36  belong&0xf0000000      0x10000000      MIPS-II
->>>>36  belong&0xf0000000      0x20000000      MIPS-III
->>>>36  belong&0xf0000000      0x30000000      MIPS-IV
->>>>36  belong&0xf0000000      0x40000000      MIPS-V
->>>>36  belong&0xf0000000      0x60000000      MIPS32
->>>>36  belong&0xf0000000      0x70000000      MIPS64
->>>>36  belong&0xf0000000      0x80000000      MIPS32 rel2
->>>>36  belong&0xf0000000      0x90000000      MIPS64 rel2
-# only for 64-bit
->>>4   byte            2
->>>>48 belong&0xf0000000       0x00000000      MIPS-I
->>>>48 belong&0xf0000000       0x10000000      MIPS-II
->>>>48 belong&0xf0000000       0x20000000      MIPS-III
->>>>48 belong&0xf0000000       0x30000000      MIPS-IV
->>>>48 belong&0xf0000000       0x40000000      MIPS-V
->>>>48 belong&0xf0000000       0x60000000      MIPS32
->>>>48 belong&0xf0000000       0x70000000      MIPS64 
->>>>48 belong&0xf0000000       0x80000000      MIPS32 rel2
->>>>48 belong&0xf0000000       0x90000000      MIPS64 rel2
->>16   beshort         0               no file type,
->>16   beshort         1               relocatable,
->>16   beshort         2               executable,
->>16   beshort         3               shared object,
->>16   beshort         4               core file,
-#>>>(0x38+0xcc) string >\0             of '%s'
-#>>>(0x38+0x10) belong >0              (signal %d),
->>16   beshort         &0xff00         processor-specific,
->>18   beshort         0               no machine,
->>18   beshort         1               AT&T WE32100,
->>18   beshort         2               SPARC,
->>18   beshort         3               Intel 80386 - invalid byte order,
->>18   beshort         4               Motorola
->>>36  belong          &0x01000000     68000,
->>>36  belong          &0x00810000     CPU32,
->>>36  belong          0               68020,
->>18   beshort         5               Motorola 88000,
->>18   beshort         6               Intel 80486 - invalid byte order,
->>18   beshort         7               Intel 80860,
->>18   beshort         8               MIPS,
->>18   beshort         9               Amdahl,
->>18   beshort         10              MIPS (deprecated),
->>18   beshort         11              RS6000,
->>18   beshort         15              PA-RISC
->>>50  beshort         0x0214          2.0
->>>48  beshort         &0x0008         (LP64)
->>18   beshort         16              nCUBE,
->>18   beshort         17              Fujitsu VPP500,
->>18   beshort         18              SPARC32PLUS,
->>>36  belong&0xffff00 &0x000100       V8+ Required,
->>>36  belong&0xffff00 &0x000200       Sun UltraSPARC1 Extensions Required,
->>>36  belong&0xffff00 &0x000400       HaL R1 Extensions Required,
->>>36  belong&0xffff00 &0x000800       Sun UltraSPARC3 Extensions Required,
->>18   beshort         20              PowerPC or cisco 4500,
->>18   beshort         21              cisco 7500,
->>18   beshort         22              IBM S/390,
->>18   beshort         24              cisco SVIP,
->>18   beshort         25              cisco 7200,
->>18   beshort         36              NEC V800 or cisco 12000,
->>18   beshort         37              Fujitsu FR20,
->>18   beshort         38              TRW RH-32,
->>18   beshort         39              Motorola RCE,
->>18   beshort         40              ARM,
->>18   beshort         41              Alpha,
->>18   beshort         42              Hitachi SH,
->>18   beshort         43              SPARC V9,
->>18   beshort         44              Siemens Tricore Embedded Processor,
->>18   beshort         45              Argonaut RISC Core, Argonaut Technologies Inc.,
->>18   beshort         46              Hitachi H8/300,
->>18   beshort         47              Hitachi H8/300H,
->>18   beshort         48              Hitachi H8S,
->>18   beshort         49              Hitachi H8/500,
->>18   beshort         50              IA-64,
->>18   beshort         51              Stanford MIPS-X,
->>18   beshort         52              Motorola Coldfire,
->>18   beshort         53              Motorola M68HC12,
->>18   beshort         73              Cray NV1,
->>18   beshort         75              Digital VAX,
->>18   beshort         88              Renesas M32R,
->>18   beshort         97              NatSemi 32k,
->>18   beshort         0x9026          Alpha (unofficial),
->>18   beshort         0xa390          IBM S/390 (obsolete),
->>20   belong          0               invalid version
->>20   belong          1               version 1
->>36   belong          1               MathCoPro/FPU/MAU Required
-# Up to now only 0, 1 and 2 are defined; I've seen a file with 0x83, it seemed
-# like proper ELF, but extracting the string had bad results.
->4      byte            <0x80
->>8    string          >\0             (%s)
->8     string          \0
->>7    byte            0               (SYSV)
->>7    byte            1               (HP-UX)
->>7    byte            2               (NetBSD)
->>7    byte            3               (GNU/Linux)
->>7    byte            4               (GNU/Hurd)
->>7    byte            5               (86Open)
->>7    byte            6               (Solaris)
->>7    byte            7               (Monterey)
->>7    byte            8               (IRIX)
->>7    byte            9               (FreeBSD)
->>7    byte            10              (Tru64)
->>7    byte            11              (Novell Modesto)
->>7    byte            12              (OpenBSD)
->>7    byte            97              (ARM)
->>7    byte            255             (embedded)
diff --git a/file/magic/Magdir/encore b/file/magic/Magdir/encore
deleted file mode 100644 (file)
index 63cb5d4..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#------------------------------------------------------------------------------
-# encore:  file(1) magic for Encore machines
-#
-# XXX - needs to have the byte order specified (NS32K was little-endian,
-# dunno whether they run the 88K in little-endian mode or not).
-#
-0      short           0x154           Encore
->20    short           0x107           executable
->20    short           0x108           pure executable
->20    short           0x10b           demand-paged executable
->20    short           0x10f           unsupported executable
->12    long            >0              not stripped
->22    short           >0              - version %ld
->22    short           0               -
-#>4    date            x               stamp %s
-0      short           0x155           Encore unsupported executable
->12    long            >0              not stripped
->22    short           >0              - version %ld
->22    short           0               -
-#>4    date            x               stamp %s
diff --git a/file/magic/Magdir/epoc b/file/magic/Magdir/epoc
deleted file mode 100644 (file)
index 29bd947..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-
-#------------------------------------------------------------------------------
-# Epoc 32 : file(1) magic for Epoc Documents [psion/osaris
-# Stefan Praszalowicz (hpicollo@worldnet.fr)
-#0     lelong          0x10000037      Epoc32
->4     lelong          0x1000006D
->>8    lelong          0x1000007F      Word
->>8    lelong          0x10000088      Sheet
->>8    lelong          0x1000007D      Sketch
->>8    lelong          0x10000085      TextEd
diff --git a/file/magic/Magdir/esri b/file/magic/Magdir/esri
deleted file mode 100644 (file)
index 35c3492..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#------------------------------------------------------------------------------
-# ESRI Shapefile format (.shp .shx .dbf=DBaseIII)
-# Based on info from
-# <URL:http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf>
-0      belong  9994    ESRI Shapefile
->4     belong  =0
->8     belong  =0
->12    belong  =0
->16    belong  =0
->20    belong  =0
->28    lelong  x       version %d
->24    belong  x       length %d
->32    lelong  =0      type Null Shape
->32    lelong  =1      type Point
->32    lelong  =3      type PolyLine
->32    lelong  =5      type Polygon
->32    lelong  =8      type MultiPoint
->32    lelong  =11     type PointZ
->32    lelong  =13     type PolyLineZ
->32    lelong  =15     type PolygonZ
->32    lelong  =18     type MultiPointZ
->32    lelong  =21     type PointM
->32    lelong  =23     type PolyLineM
->32    lelong  =25     type PolygonM
->32    lelong  =28     type MultiPointM
->32    lelong  =31     type MultiPatch
diff --git a/file/magic/Magdir/fcs b/file/magic/Magdir/fcs
deleted file mode 100644 (file)
index ac4b02c..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-
-#------------------------------------------------------------------------------
-# fcs: file(1) magic for FCS (Flow Cytometry Standard) data files
-# From Roger Leigh <roger@whinlatter.uklinux.net>
-0       string          FCS1.0          Flow Cytometry Standard (FCS) data, version 1.0
-0       string          FCS2.0          Flow Cytometry Standard (FCS) data, version 2.0
-0       string          FCS3.0          Flow Cytometry Standard (FCS) data, version 3.0
-
diff --git a/file/magic/Magdir/filesystems b/file/magic/Magdir/filesystems
deleted file mode 100644 (file)
index 41fdc26..0000000
+++ /dev/null
@@ -1,589 +0,0 @@
-
-#------------------------------------------------------------------------------
-# filesystems:  file(1) magic for different filesystems
-#
-0      string  \366\366\366\366        PC formatted floppy with no filesystem
-# Sun disk labels
-# From /usr/include/sun/dklabel.h:
-0774   beshort         0xdabe          Sun disk label
->0     string          x               '%s
->>31   string          >\0             \b%s
->>>63          string          >\0             \b%s
->>>>95         string          >\0             \b%s
->0     string          x               \b'
->0734  short           >0              %d rpm,
->0736  short           >0              %d phys cys,
->0740  short           >0              %d alts/cyl,
->0746  short           >0              %d interleave,
->0750  short           >0              %d data cyls,
->0752  short           >0              %d alt cyls,
->0754  short           >0              %d heads/partition,
->0756  short           >0              %d sectors/track,
->0764  long            >0              start cyl %ld,
->0770  long            x               %ld blocks
-# Is there a boot block written 1 sector in?
->512    belong&077777777       0600407 \b, boot block present
-# DOS Emulator image is 128 byte header + harddisc image
-0      string  DOSEMU\0                        
->0x27E leshort 0xAA55                  DOS Emulator image
-0x1FE  leshort 0xAA55                  x86 boot sector
->2     string  OSBS                    \b, OS/BS MBR
-# J\xf6rg Jenderek <joerg.jenderek@gmx.net>
->0x8C  string  Invalid\ partition\ table       \b, MS-DOS MBR
-# dr-dos with some upper-, lowercase variants
->0x9D  string  Invalid\ partition\ table$      
->>181  string  No\ Operating\ System$          
->>>201 string  Operating\ System\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03
->0x9D  string  Invalid\ partition\ table$      
->>181  string  No\ operating\ system$          
->>>201 string  Operating\ system\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03
->342   string  Invalid\ partition\ table$      
->>366  string  No\ operating\ system$          
->>>386 string  Operating\ system\ load\ error$ \b, DR-DOS MBR, version 7.01 to 7.03
->295   string  NEWLDR\0                                
->>302  string  Bad\ PT\ $                              
->>>310 string  No\ OS\ $                               
->>>>317        string  OS\ load\ err$                          
->>>>>329       string  Moved\ or\ missing\ IBMBIO.LDR\n\r      
->>>>>>358      string  Press\ any\ key\ to\ continue.\n\r$     
->>>>>>>387     string  Copyright\ (c)\ 1984,1998       
->>>>>>>>411    string  Caldera\ Inc.\0         \b, DR-DOS MBR (IBMBIO.LDR)
->0x10F string  Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 4.10.1998, 4.10.2222
->0x8B  string  Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 5.00 to 4.00.950
->300   string  Invalid\ partition\ table\0     
->>324  string  Error\ loading\ operating\ system\0
->>>355 string  Missing\ operating\ system\0            \b, Microsoft Windows XP MBR
-#??>>>389      string  Invalid\ system\ disk           
->300   string  Ung\201ltige\ Partitionstabelle
-#split string to avoid error: String too long
->>328  string  Fehler\ beim\ Laden\    
->>>346 string  des\ Betriebssystems    
->>>>366        string  Betriebssystem\ nicht\ vorhanden        \b, Microsoft Windows XP MBR (german)
->0x145 string  Default:\ F                             \b, FREE-DOS MBR
->64    string  no\ active\ partition\ found    
->>96   string  read\ error\ while\ reading\ drive      \b, FREE-DOS Beta9 MBR
-# bootloader, bootmanager
->43    string  SMART\ BTMGRFAT12\ \ \          
->>430  string  SBMK\ Bad!\r                    
->>>3   string  SBM                             \b, Smart Boot Manager
->>>>6  string  >\0                             \b, version %s
->382   string  XOSLLOADXCF                     \b, EXtended Operating System Loader
->6     string  LILO                            \b, LInux i386 boot LOader
->>120  string  LILO                            \b, version 22.3.4 SuSe
->>172  string  LILO                            \b, version 22.5.8 Debian
->402   string  Geom\0Hard\ Disk\0Read\0\ Error\0
->>394  string  stage1                          \b, GRand Unified Bootloader (0.5.95)
->380   string  Geom\0Hard\ Disk\0Read\0\ Error\0
->>374  string  GRUB\ \0                        \b, GRand Unified Bootloader
->382   string  Geom\0Hard\ Disk\0Read\0\ Error\0
->>376  string  GRUB\ \0                        \b, GRand Unified Bootloader (0.93)
->383   string  Geom\0Hard\ Disk\0Read\0\ Error\0
->>377  string  GRUB\ \0                        \b, GRand Unified Bootloader (0.94)
->480   string  Boot\ failed\r                  
->>495  string  LDLINUX\ SYS                    \b, SYSLINUX bootloader (2.06)
->395   string  chksum\0\ ERROR!\0              \b, Gujin bootloader
->185   string  FDBOOT\ Version\                        
->>204  string  \rNo\ Systemdisk.\                      
->>>220 string  Booting\ from\ harddisk.\n\r            
->>>245 string  Cannot\ load\ from\ harddisk.\n\r       
->>>>273 string Insert\ Systemdisk\                     
->>>>>291 string and\ press\ any\ key.\n\r              \b, FDBOOT harddisk Bootloader
->>>>>>200 string       >\0                             \b, version %-3s
->242   string  Bootsector\ from\ C.H.\ Hochst\204      
->>278  string  No\ Systemdisk.\                        
->>>293 string  Booting\ from\ harddisk.\n\r            
->>>441 string  Cannot\ load\ from\ harddisk.\n\r       
->>>>469 string Insert\ Systemdisk\                     
->>>>>487 string and\ press\ any\ key.\n\r              \b, WinImage harddisk Bootloader
->>>>>>209 string       >\0                             \b, version %-4.4s
->(1.b+2)       ubyte           0xe                     
->>(1.b+3)      ubyte           0x1f                    
->>>(1.b+4)     ubyte           0xbe                    
->>>>(1.b+5)    ubyte           0x77                    
->>>>(1.b+6)    ubyte           0x7c                    
->>>>>(1.b+7)   ubyte           0xac                    
->>>>>>(1.b+8)  ubyte           0x22                    
->>>>>>>(1.b+9) ubyte           0xc0                    
->>>>>>>>(1.b+10)       ubyte   0x74                    
->>>>>>>>>(1.b+11)      ubyte   0xb                     
->>>>>>>>>>(1.b+12)     ubyte   0x56                    
->>>>>>>>>>(1.b+13)     ubyte   0xb4                    \b, mkdosfs boot message display
-# XP
->430   string  NTLDR\ is\ missing\xFF\r\n              
->>449  string  Disk\ error\xFF\r\n                     
->>>462 string  Press\ any\ key\ to\ restart\r          \b, Microsoft Windows XP Bootloader
-# DOS names like NTLDR,CMLDR,$LDR$ are 8 right space padded bytes+3 bytes
->>>>417                ubyte           <0x7E                   
->>>>>417       string          >\                      %-.5s
->>>>>>422      ubyte           <0x7E                   
->>>>>>>422     string          >\                      \b%-.3s
->>>>>>425      string          >\                      \b.%-.3s
-#
->>>>368                ubyte           <0x7E                   
->>>>>368       string          >\                      %-.5s
->>>>>>373      ubyte           <0x7E                   
->>>>>>>373     string          >\                      \b%-.3s
->>>>>>376      string          >\                      \b.%-.3s
-#
->430   string  NTLDR\ nicht\ gefunden\xFF\r\n          
->>453  string  Datentr\204gerfehler\xFF\r\n            
->>>473 string  Neustart\ mit\ beliebiger\ Taste\r      \b, Microsoft Windows XP Bootloader (german)
->>>>417                ubyte           <0x7E                   
->>>>>417       string          >\                      %-.5s
->>>>>>422      ubyte           <0x7E                   
->>>>>>>422     string          >\                      \b%-.3s
->>>>>>425      string          >\                      \b.%-.3s
-#
->>>>368                ubyte           <0x7E                   
->>>>>368       string          >\                      %-.5s
->>>>>>373      ubyte           <0x7E                   
->>>>>>>373     string          >\                      \b%-.3s
->>>>>>376      string          >\                      \b.%-.3s
-#
->430   string  NTLDR\ fehlt\xFF\r\n                    
->>444  string  Datentr\204gerfehler\xFF\r\n            
->>>464 string  Neustart\ mit\ beliebiger\ Taste\r      \b, Microsoft Windows XP Bootloader (2.german)
->>>>417                ubyte           <0x7E                   
->>>>>417       string          >\                      %-.5s
->>>>>>422      ubyte           <0x7E                   
->>>>>>>422     string          >\                      \b%-.3s
->>>>>>425      string          >\                      \b.%-.3s
-#
->430   string  NTLDR\ fehlt\xFF\r\n                    
->>444  string  Medienfehler\xFF\r\n                    
->>>459 string  Neustart:\ Taste\ dr\201cken\r          \b, Microsoft Windows XP Bootloader (3.german)
->>>>368                ubyte           <0x7E                   
->>>>>368       string          >\                      %-.5s
->>>>>>373      ubyte           <0x7E                   
->>>>>>>373     string          >\                      \b%-.3s
->>>>>>376      string          >\                      \b.%-.3s
->>>>417                ubyte           <0x7E                   
->>>>>417       string          >\                      %-.5s
->>>>>>422      ubyte           <0x7E                   
->>>>>>>422     string          >\                      \b%-.3s
->>>>>>425      string          >\                      \b.%-.3s
-#
->430   string  Datentr\204ger\ entfernen\xFF\r\n       
->>454  string  Medienfehler\xFF\r\n                    
->>>469 string  Neustart:\ Taste\ dr\201cken\r          \b, Microsoft Windows XP Bootloader (4.german)
->>>>368                ubyte           <0x7E                   
->>>>>368       string          >\                      %-.5s
->>>>>>373      ubyte           <0x7E                   
->>>>>>>373     string          >\                      \b%-.3s
->>>>>>376      string          >\                      \b.%-.3s
-#>3    string  NTFS\ \ \ \                             
->389   string  Fehler\ beim\ Lesen\ 
->>407  string  des\ Datentr\204gers
->>>426 string  NTLDR\ fehlt                            
->>>>440        string  NTLDR\ ist\ komprimiert
->>>>>464 string        Neustart\ mit\ Strg+Alt+Entf\r          \b, Microsoft Windows XP Bootloader NTFS (german)
-#>3    string  NTFS\ \ \ \                             
->313   string  A\ disk\ read\ error\ occurred.\r
->>345  string  A\ kernel\ file\ is\ missing\   
->>>370 string  from\ the\ disk.\r              
->>>>484        string  NTLDR\ is\ compressed           
->>>>>429 string        Insert\ a\ system\ diskette\    
->>>>>>454 string and\ restart\r\nthe\ system.\r                \b, Microsoft Windows XP Bootloader NTFS
-# DOS loader variants different languages,offsets
->472   string  IO\ \ \ \ \ \ SYSMSDOS\ \ \ SYS         
->>497  string  WINBOOT\ SYS                            
->>389  string  Invalid\ system\ disk\xFF\r\n           
->>>411 string  Disk\ I/O\ error                        
->>>>428        string  Replace\ the\ disk,\ and\               
->>>>>455 string        press\ any\ key                         \b, Microsoft Windows 98 Bootloader
-#
->>390  string  Invalid\ system\ disk\xFF\r\n           
->>>412 string  Disk\ I/O\ error\xFF\r\n                
->>>>429        string  Replace\ the\ disk,\ and\               
->>>>>451 string        then\ press\ any\ key\r                 \b, Microsoft Windows 98 Bootloader
->>388  string  Ungueltiges\ System\ \xFF\r\n           
->>>410 string  E/A-Fehler\ \ \ \ \xFF\r\n              
->>>>427        string  Datentraeger\ wechseln\ und\            
->>>>>453 string        Taste\ druecken\r                       \b, Microsoft Windows 95/98/ME Bootloader (german)
-#
->>390  string  Ungueltiges\ System\ \xFF\r\n           
->>>412 string  E/A-Fehler\ \ \ \ \xFF\r\n              
->>>>429        string  Datentraeger\ wechseln\ und\            
->>>>>455 string        Taste\ druecken\r                       \b, Microsoft Windows 95/98/ME Bootloader (German)
-#
->>389  string  Ungueltiges\ System\ \xFF\r\n           
->>>411 string  E/A-Fehler\ \ \ \ \xFF\r\n              
->>>>428        string  Datentraeger\ wechseln\ und\            
->>>>>454 string        Taste\ druecken\r                       \b, Microsoft Windows 95/98/ME Bootloader (GERMAN)
->479   string  IO\ \ \ \ \ \ SYSMSDOS\ \ \ SYS         
->>416  string  Kein\ System\ oder\                     
->>>433 string  Laufwerksfehler                         
->>>>450        string  Wechseln\ und\ Taste\ dr\201cken        \b, Microsoft DOS Bootloader (german)
->486   string  IO\ \ \ \ \ \ SYSMSDOS\ \ \ SYS         
->>416  string  Non-System\ disk\ or\                   
->>>435 string  disk\ error\r                           
->>>>447        string  Replace\ and\ press\ any\ key\          
->>>>>473 string        when\ ready\r                           \b, Microsoft DOS Bootloader
->480   string  IO\ \ \ \ \ \ SYSMSDOS\ \ \ SYS         
->>393  string  Non-System\ disk\ or\                   
->>>412 string  disk\ error\r                           
->>>>424        string  Replace\ and\ press\ any\ key\          
->>>>>450 string        when\ ready\r                           \b, Microsoft DOS bootloader
-#>43   string  \224R-LOADER\ \ SYS                     =label                                  
->54    string  SYS
->>324  string  VASKK
->>>495 string  NEWLDR\0                                \b, DR-DOS Bootloader (LOADER.SYS)
-#
->70    string  IBMBIO\ \ COM                           
->>472  string  Cannot\ load\ DOS!\                     
->>>489 string  Any\ key\ to\ retry                     \b, DR-DOS Bootloader
->>471  string  Cannot\ load\ DOS\                      
->>487  string  press\ key\ to\ retry                   \b, Open-DOS Bootloader
->444   string  KERNEL\ \ SYS                                   
->>314  string  BOOT\ error!                            \b, FREE-DOS Bootloader
->499   string  KERNEL\ \ SYS                           
->>305  string  BOOT\ err!\0                            \b, Free-DOS Bootloader
->449   string  KERNEL\ \ SYS                           
->>319  string  BOOT\ error!                            \b, FREE-DOS 5.0 Bootloader
->124   string  FreeDOS\0                               
->>331  string  \ err\0                                 \b, FREE-DOS BETa 9 Bootloader
-# DOS names like KERNEL.SYS,KERNEL16.SYS,KERNEL32.SYS,METAKERN.SYS are 8 right space padded bytes+3 bytes
->>>497         string          >\                      %-.6s
->>>>503                string          >\                      \b%-.1s
->>>>504                string          >\                      \b%-.1s
->>>505         string          >\                      \b.%-.3s
->>333  string  \ err\0                                 \b, FREE-DOS BEta 9 Bootloader
->>>497         string          >\                      %-.6s
->>>>503                string          >\                      \b%-.1s
->>>>504                string          >\                      \b%-.1s
->>>505         string          >\                      \b.%-.3s
->>334  string  \ err\0                                 \b, FREE-DOS Beta 9 Bootloader
->>>497         string          >\                      %-.6s
->>>>503                string          >\                      \b%-.1s
->>>>504                string          >\                      \b%-.1s
->>>505         string          >\                      \b.%-.3s
-# loader end
->0     string  \0\0\0\0                \b, extended partition table
-# JuMP short     bootcodeoffset NOP assembler instructions will usually be EB xx 90
-# older drives may use E9 xx xx
->0             lelong&0x009000EB       0x009000EB 
->0             lelong&0x000000E9       0x000000E9 
->>1            ubyte                   >37     \b, code offset 0x%x
-# mtools-3.9.8/msdos.h
-# usual values are marked with comments to get only informations of strange FAT systems
-# valid sectorsize are from 32 to 2048
->>>11          uleshort        <2049   
->>>>11         uleshort        >31     
->>>>>3         string          >\0             \b, OEM-ID "%8.8s"
->>>>>11                uleshort        >512            \b, Bytes/sector %u
-#>>>>>11       uleshort        =512            \b, Bytes/sector %u=512 (usual)
->>>>>11                uleshort        <512            \b, Bytes/sector %u
->>>>>13                ubyte           >1              \b, sectors/cluster %u
-#>>>>>13       ubyte           =1              \b, sectors/cluster %u (usual on Floppies)
->>>>>14                uleshort        >32             \b, reserved sectors %u
-#>>>>>14       uleshort        =32             \b, reserved sectors %u (usual Fat32)
-#>>>>>14       uleshort        >1              \b, reserved sectors %u
-#>>>>>14       uleshort        =1              \b, reserved sectors %u (usual FAT12,FAT16)
->>>>>14                uleshort        <1              \b, reserved sectors %u
->>>>>16                ubyte           >2              \b, FATs %u
-#>>>>>16       ubyte           =2              \b, FATs %u (usual)
->>>>>16                ubyte           =1              \b, FAT  %u
->>>>>16                ubyte           >0
->>>>>17                uleshort        >0              \b, root entries %u
-#>>>>>17       uleshort        =0              \b, root entries %u=0 (usual Fat32)
->>>>>19                uleshort        >0              \b, sectors %u (volumes <=32 MB) 
-#>>>>>19       uleshort        =0              \b, sectors %u=0 (usual Fat32)
->>>>>21                ubyte           >0xF0           \b, Media descriptor 0x%x
-#>>>>>21       ubyte           =0xF0           \b, Media descriptor 0x%x (usual floppy)
->>>>>21                ubyte           <0xF0           \b, Media descriptor 0x%x
->>>>>22                uleshort        >0              \b, sectors/FAT %u
-#>>>>>22       uleshort        =0              \b, sectors/FAT %u=0 (usual Fat32)
->>>>>26                ubyte           >2              \b, heads %u
-#>>>>>26       ubyte           =2              \b, heads %u (usual floppy)
->>>>>26                ubyte           =1              \b, heads %u
->>>>>28                ulelong         >0              \b, hidden sectors %u
-#>>>>>28       ulelong         =0              \b, hidden sectors %u (usual floppy)
->>>>>32                ulelong         >0              \b, sectors %u (volumes > 32 MB) 
-#>>>>>32       ulelong         =0              \b, sectors %u (volumes > 32 MB) 
-# FAT<32 specific 
-# NOT le FAT3=NOT 3TAF=0xCCABBEB9
->>>>>82                ulelong&0xCCABBEB9      >0
->>>>>>36       ubyte           >0x80           \b, physical drive 0x%x
-#>>>>>>36      ubyte           =0x80           \b, physical drive 0x%x=0x80 (usual harddisk)
->>>>>>36       ubyte&0x7F      >0              \b, physical drive 0x%x
-#>>>>>>36      ubyte           =0              \b, physical drive 0x%x=0 (usual floppy)
->>>>>>37       ubyte           >0              \b, reserved 0x%x
-#>>>>>>37      ubyte           =0              \b, reserved 0x%x
->>>>>>38       ubyte           >0x29           \b, dos < 4.0 BootSector (0x%x)
->>>>>>38       ubyte           <0x29           \b, dos < 4.0 BootSector (0x%x)
->>>>>>38       ubyte           =0x29
->>>>>>>39      ulelong         x               \b, serial number 0x%x
->>>>>>>43      string          <NO\ NAME       \b, label: "%11.11s"
->>>>>>>43      string          >NO\ NAME       \b, label: "%11.11s"
->>>>>>>43      string          =NO\ NAME       \b, unlabeled
->>>>>>54       string          FAT1            \b, FAT
->>>>>>>54      string          FAT12           \b (12 bit)
->>>>>>>54      string          FAT16           \b (16 bit)
-# FAT32 specific
->>>>>82                string          FAT32           \b, FAT (32 bit)
->>>>>>36       ulelong         x               \b, sectors/FAT %u
->>>>>>40       uleshort        >0              \b, extension flags %u
-#>>>>>>40      uleshort        =0              \b, extension flags %u
->>>>>>42       uleshort        >0              \b, fsVersion %u
-#>>>>>>42      uleshort        =0              \b, fsVersion %u (usual)
->>>>>>44       ulelong         >2              \b, rootdir cluster %u
-#>>>>>>44      ulelong         =2              \b, rootdir cluster %u
-#>>>>>>44      ulelong         =1              \b, rootdir cluster %u
->>>>>>48       uleshort        >1              \b, infoSector %u
-#>>>>>>48      uleshort        =1              \b, infoSector %u (usual)
->>>>>>48       uleshort        <1              \b, infoSector %u
->>>>>>50       uleshort        >6              \b, Backup boot sector %u
-#>>>>>>50      uleshort        =6              \b, Backup boot sector %u (usual) 
->>>>>>50       uleshort        <6              \b, Backup boot sector %u
->>>>>>54       ulelong         >0              \b, reserved1 0x%x
->>>>>>58       ulelong         >0              \b, reserved2 0x%x
->>>>>>62       ulelong         >0              \b, reserved3 0x%x
-# same structure as FAT1X 
->>>>>>64       ubyte           >0x80           \b, physical drive 0x%x
-#>>>>>>64      ubyte           =0x80           \b, physical drive 0x%x=80 (usual harddisk)
->>>>>>64       ubyte&0x7F      >0              \b, physical drive 0x%x
-#>>>>>>64      ubyte           =0              \b, physical drive 0x%x=0 (usual floppy)
->>>>>>65       ubyte           >0              \b, reserved 0x%x
->>>>>>66       ubyte           >0x29           \b, dos < 4.0 BootSector (0x%x)
->>>>>>66       ubyte           <0x29           \b, dos < 4.0 BootSector (0x%x)
->>>>>>66       ubyte           =0x29
->>>>>>>67      ulelong         x               \b, serial number 0x%x
->>>>>>>71      string          <NO\ NAME       \b, label: "%11.11s"
->>>>>>71       string          >NO\ NAME       \b, label: "%11.11s"
->>>>>>71       string          =NO\ NAME       \b, unlabeled
-### FATs end
->0x200 lelong  0x82564557              \b, BSD disklabel
-# FATX 
-0              string          FATX            FATX filesystem data
-
-
-# Minix filesystems - Juan Cespedes <cespedes@debian.org>
-0x410  leshort         0x137f          Minix filesystem
-0x410  beshort         0x137f          Minix filesystem (big endian),
->0x402 beshort         !0              \b, %d zones
->0x1e  string          minix           \b, bootable
-0x410  leshort         0x138f          Minix filesystem, 30 char names
-0x410  leshort         0x2468          Minix filesystem, version 2
-0x410  leshort         0x2478          Minix filesystem, version 2, 30 char names
-
-# romfs filesystems - Juan Cespedes <cespedes@debian.org>
-0      string          -rom1fs-\0      romfs filesystem, version 1
->8     belong  x                       %d bytes,
->16    string  x                       named %s.
-
-# netboot image - Juan Cespedes <cespedes@debian.org>
-0      lelong          0x1b031336L     Netboot image,
->4     lelong&0xFFFFFF00       0
->>4    lelong&0x100    0x000           mode 2
->>4    lelong&0x100    0x100           mode 3
->4     lelong&0xFFFFFF00       !0      unknown mode
-
-0x18b  string  OS/2    OS/2 Boot Manager
-
-9564   lelong          0x00011954      Unix Fast File system (little-endian),
->8404  string          x               last mounted on %s,
-#>9504 ledate          x               last checked at %s,
->8224  ledate          x               last written at %s,
->8401  byte            x               clean flag %d,
->8228  lelong          x               number of blocks %d,
->8232  lelong          x               number of data blocks %d,
->8236  lelong          x               number of cylinder groups %d,
->8240  lelong          x               block size %d,
->8244  lelong          x               fragment size %d,
->8252  lelong          x               minimum percentage of free blocks %d,
->8256  lelong          x               rotational delay %dms,
->8260  lelong          x               disk rotational speed %drps,
->8320  lelong          0               TIME optimization
->8320  lelong          1               SPACE optimization
-
-9564   belong          0x00011954      Unix Fast File system (big-endian),
->7168   long           0x4c41424c      Apple UFS Volume
->>7186  string         x               named %s,
->>7176  belong         x               volume label version %d,
->>7180  bedate         x               created on %s,
->8404  string          x               last mounted on %s,
-#>9504 bedate          x               last checked at %s,
->8224  bedate          x               last written at %s,
->8401  byte            x               clean flag %d,
->8228  belong          x               number of blocks %d,
->8232  belong          x               number of data blocks %d,
->8236  belong          x               number of cylinder groups %d,
->8240  belong          x               block size %d,
->8244  belong          x               fragment size %d,
->8252  belong          x               minimum percentage of free blocks %d,
->8256  belong          x               rotational delay %dms,
->8260  belong          x               disk rotational speed %drps,
->8320  belong          0               TIME optimization
->8320  belong          1               SPACE optimization
-
-# ext2/ext3 filesystems - Andreas Dilger <adilger@turbolabs.com>
-0x438  leshort         0xEF53          Linux
->0x44c lelong          x               rev %d
->0x43e leshort         x               \b.%d
->0x45c lelong          ^0x0000004      ext2 filesystem data
->>0x43a        leshort         ^0x0000001      (mounted or unclean)
->0x45c lelong          &0x0000004      ext3 filesystem data
->>0x460        lelong          &0x0000004      (needs journal recovery)
->0x43a leshort         &0x0000002      (errors)
->0x460 lelong          &0x0000001      (compressed)
-#>0x460        lelong          &0x0000002      (filetype)
-#>0x464        lelong          &0x0000001      (sparse_super)
->0x464 lelong          &0x0000002      (large files)
-
-# SGI disk labels - Nathan Scott <nathans@debian.org>
-0      belong          0x0BE5A941      SGI disk label (volume header)
-
-# SGI XFS filesystem - Nathan Scott <nathans@debian.org>
-0      belong          0x58465342      SGI XFS filesystem data
->0x4   belong          x               (blksz %d,
->0x68  beshort         x               inosz %d,
->0x64  beshort         ^0x2004         v1 dirs)
->0x64  beshort         &0x2004         v2 dirs)
-
-############################################################################
-# Minix-ST kernel floppy
-0x800  belong          0x46fc2700      Atari-ST Minix kernel image
->19    string          \240\5\371\5\0\011\0\2\0        \b, 720k floppy
->19    string          \320\2\370\5\0\011\0\1\0        \b, 360k floppy
-
-############################################################################
-# Hmmm, is this a better way of detecting _standard_ floppy images ?
-19     string          \320\2\360\3\0\011\0\1\0        DOS floppy 360k
->0x1FE leshort         0xAA55          \b, x86 hard disk boot sector
-19     string          \240\5\371\3\0\011\0\2\0        DOS floppy 720k
->0x1FE leshort         0xAA55          \b, x86 hard disk boot sector
-19     string          \100\013\360\011\0\022\0\2\0    DOS floppy 1440k
->0x1FE leshort         0xAA55          \b, x86 hard disk boot sector
-
-19     string          \240\5\371\5\0\011\0\2\0        DOS floppy 720k, IBM
->0x1FE leshort         0xAA55          \b, x86 hard disk boot sector
-19     string          \100\013\371\5\0\011\0\2\0      DOS floppy 1440k, mkdosfs
->0x1FE leshort         0xAA55          \b, x86 hard disk boot sector
-
-19     string          \320\2\370\5\0\011\0\1\0        Atari-ST floppy 360k
-19     string          \240\5\371\5\0\011\0\2\0        Atari-ST floppy 720k
-
-#  Valid media descriptor bytes for MS-DOS:
-#
-#     Byte   Capacity   Media Size and Type
-#     -------------------------------------------------
-#
-#     F0     2.88 MB    3.5-inch, 2-sided, 36-sector
-#     F0     1.44 MB    3.5-inch, 2-sided, 18-sector
-#     F9     720K       3.5-inch, 2-sided, 9-sector
-#     F9     1.2 MB     5.25-inch, 2-sided, 15-sector
-#     FD     360K       5.25-inch, 2-sided, 9-sector
-#     FF     320K       5.25-inch, 2-sided, 8-sector
-#     FC     180K       5.25-inch, 1-sided, 9-sector
-#     FE     160K       5.25-inch, 1-sided, 8-sector
-#     FE     250K       8-inch, 1-sided, single-density
-#     FD     500K       8-inch, 2-sided, single-density
-#     FE     1.2 MB     8-inch, 2-sided, double-density
-#     F8     -----      Fixed disk 
-#
-#     FC     xxxK       Apricot 70x1x9 boot disk.
-#
-# Originally a bitmap:
-#  xxxxxxx0    Not two sided
-#  xxxxxxx1    Double sided
-#  xxxxxx0x    Not 8 SPT
-#  xxxxxx1x    8 SPT
-#  xxxxx0xx    Not Removable drive
-#  xxxxx1xx    Removable drive
-#  11111xxx    Must be one.
-#
-# But now it's rather random:
-#  111111xx    Low density disk
-#        00    SS, Not 8 SPT
-#        01    DS, Not 8 SPT
-#        10    SS, 8 SPT
-#        11    DS, 8 SPT
-#
-#  11111001    Double density 3½ floppy disk, high density 5¼
-#  11110000    High density 3½ floppy disk
-#  11111000    Hard disk any format
-#
-
-# CDROM Filesystems
-32769    string    CD001     ISO 9660 CD-ROM filesystem data
-# "application id" which appears to be used as a volume label
->32808  string    >\0       '%s'
->34816  string    \000CD001\001EL\ TORITO\ SPECIFICATION    (bootable)
-37633    string    CD001     ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors)
-32776    string    CDROM     High Sierra CD-ROM filesystem data
-
-# cramfs filesystem - russell@coker.com.au
-0       lelong    0x28cd3d45      Linux Compressed ROM File System data, little endian
->4      lelong  x size %d
->8      lelong  &1 version #2
->8      lelong  &2 sorted_dirs
->8      lelong  &4 hole_support
->32     lelong  x CRC 0x%x,
->36     lelong  x edition %d,
->40     lelong  x %d blocks,
->44     lelong  x %d files
-
-0       belong    0x28cd3d45      Linux Compressed ROM File System data, big endian
->4      belong  x size %d
->8      belong  &1 version #2
->8      belong  &2 sorted_dirs
->8      belong  &4 hole_support
->32     belong  x CRC 0x%x,
->36     belong  x edition %d,
->40     belong  x %d blocks,
->44     belong  x %d files
-
-# reiserfs - russell@coker.com.au
-0x10034                string  ReIsErFs        ReiserFS V3.5
-0x10034                string  ReIsEr2Fs       ReiserFS V3.6
->0x1002c       leshort x               block size %d
->0x10032       leshort &2              (mounted or unclean)
->0x10000       lelong  x               num blocks %d
->0x10040       lelong  1               tea hash
->0x10040       lelong  2               yura hash
->0x10040       lelong  3               r5 hash
-
-# JFFS - russell@coker.com.au
-0      lelong  0x34383931      Linux Journalled Flash File system, little endian
-0      belong  0x34383931      Linux Journalled Flash File system, big endian
-
-# EST flat binary format (which isn't, but anyway)
-# From: Mark Brown <broonie@sirena.org.uk>
-0      string  ESTFBINR        EST flat binary
-
-# Aculab VoIP firmware
-# From: Mark Brown <broonie@sirena.org.uk>
-0      string  VoIP\ Startup\ and      Aculab VoIP firmware
->35    string  x       format %s
-
-# PPCBoot image file
-# From: Mark Brown <broonie@sirena.org.uk>
-0      belong  0x27051956      PPCBoot image
->4     string  PPCBoot
->>12   string  x               version %s
-
-# JFFS2 file system
-0       leshort         0x1984                  Linux old jffs2 filesystem data little endian
-0       lelong          0xe0011985              Linux jffs2 filesystem data little endian
-
-# Squashfs
-0      string  sqsh    Squashfs filesystem, big endian,
->28    beshort x       version %d.
->30    beshort x       \b%d,
->8     belong  x       %d bytes,
->4     belong  x       %d inodes,
->28    beshort <2
->>32   beshort x       blocksize: %d bytes,
->28    beshort >1
->>51   belong  x       blocksize: %d bytes,
->39    bedate  x       created: %s
-0      string  hsqs    Squashfs filesystem, little endian,
->28    leshort x       version %d.
->30    leshort x       \b%d,
->8     lelong  x       %d bytes,
->4     lelong  x       %d inodes,
->28    leshort <2
->>32   leshort x       blocksize: %d bytes,
->28    leshort >1
->>51   lelong  x       blocksize: %d bytes,
->39    ledate  x       created: %s
diff --git a/file/magic/Magdir/flash b/file/magic/Magdir/flash
deleted file mode 100644 (file)
index 2f343d8..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-
-#------------------------------------------------------------------------------
-# flash:       file(1) magic for Macromedia Flash file format
-#
-# See
-#
-#      http://www.macromedia.com/software/flash/open/
-#
-0      string          FWS             Macromedia Flash data,
->3     byte            x               version %d
-0      string          CWS             Macromedia Flash data (compressed),
->3     byte            x               version %d
-#
-# From Dave Wilson
-0      string AGD4\xbe\xb8\xbb\xcb\x00 Macromedia Freehand 9 Document
diff --git a/file/magic/Magdir/fonts b/file/magic/Magdir/fonts
deleted file mode 100644 (file)
index 6a1ad34..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-
-#------------------------------------------------------------------------------
-# fonts:  file(1) magic for font data
-#
-0      string          FONT            ASCII vfont text
-0      short           0436            Berkeley vfont data
-0      short           017001          byte-swapped Berkeley vfont data
-
-# PostScript fonts (must precede "printer" entries), quinlan@yggdrasil.com
-0      string          %!PS-AdobeFont-1.       PostScript Type 1 font text
->20    string          >\0                     (%s)
-6      string          %!PS-AdobeFont-1.       PostScript Type 1 font program data
-
-# X11 font files in SNF (Server Natural Format) format
-0      belong          00000004                X11 SNF font data, MSB first
-0      lelong          00000004                X11 SNF font data, LSB first
-
-# X11 Bitmap Distribution Format, from Daniel Quinlan (quinlan@yggdrasil.com)
-0      string          STARTFONT\040           X11 BDF font text
-
-# X11 fonts, from Daniel Quinlan (quinlan@yggdrasil.com)
-# PCF must come before SGI additions ("MIPSEL MIPS-II COFF" collides)
-0      string          \001fcp                 X11 Portable Compiled Font data
->12    byte            0x02                    \b, LSB first
->12    byte            0x0a                    \b, MSB first
-0      string          D1.0\015                X11 Speedo font data
-
-#------------------------------------------------------------------------------
-# FIGlet fonts and controlfiles
-# From figmagic supplied with Figlet version 2.2
-# "David E. O'Brien" <obrien@FreeBSD.ORG>
-0      string          flf             FIGlet font
->3     string          >2a             version %-2.2s
-0      string          flc             FIGlet controlfile
->3     string          >2a             version %-2.2s
-
-# libGrx graphics lib fonts, from Albert Cahalan (acahalan@cs.uml.edu)
-# Used with djgpp (DOS Gnu C++), sometimes Linux or Turbo C++
-0      belong          0x14025919      libGrx font data,
->8     leshort         x               %dx
->10    leshort         x               \b%d
->40    string          x               %s
-# Misc. DOS VGA fonts, from Albert Cahalan (acahalan@cs.uml.edu)
-0      belong          0xff464f4e      DOS code page font data collection
-7      belong          0x00454741      DOS code page font data
-7      belong          0x00564944      DOS code page font data (from Linux?)
-4098   string          DOSFONT         DOSFONT2 encrypted font data
-
-# downloadable fonts for browser (prints type) anthon@mnt.org
-0      string          PFR1            PFR1 font
->102   string          >0              \b: %s
-
-# True Type fonts
-0      string  \000\001\000\000\000    TrueType font data
-
-0      string          \007\001\001\000Copyright\ (c)\ 199     Adobe Multiple Master font
-0      string          \012\001\001\000Copyright\ (c)\ 199     Adobe Multiple Master font
-
-# Opentype font data from Avi Bercovich
-0      string          OTTO            OpenType font data 
-
diff --git a/file/magic/Magdir/frame b/file/magic/Magdir/frame
deleted file mode 100644 (file)
index 1b397df..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#------------------------------------------------------------------------------
-# 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     FrameMaker document
->11    string          5.5              (5.5
->11    string          5.0              (5.0
->11    string          4.0              (4.0
->11    string          3.0              (3.0
->11    string          2.0              (2.0
->11    string          1.0              (1.0
->14    byte            x                 %c)
-0      string          \<MIFFile       FrameMaker MIF (ASCII) file
->9     string          4.0              (4.0)
->9     string          3.0              (3.0)
->9     string          2.0              (2.0)
->9     string          1.0              (1.x)
-0      string          \<MakerDictionary       FrameMaker Dictionary text
->17    string          3.0              (3.0)
->17    string          2.0              (2.0)
->17    string          1.0              (1.x)
-0      string          \<MakerScreenFont       FrameMaker Font file
->17    string          1.01             (%s)
-0      string          \<MML           FrameMaker MML file
-0      string          \<BookFile      FrameMaker Book file
->10    string          3.0              (3.0
->10    string          2.0              (2.0
->10    string          1.0              (1.0
->13    byte            x                 %c)
-# XXX - this book entry should be verified, if you find one, uncomment this
-#0     string          \<Book\         FrameMaker Book (ASCII) file
-#>6    string          3.0              (3.0)
-#>6    string          2.0              (2.0)
-#>6    string          1.0              (1.0)
-0      string          \<Maker Intermediate Print File FrameMaker IPL file
diff --git a/file/magic/Magdir/freebsd b/file/magic/Magdir/freebsd
deleted file mode 100644 (file)
index ee710fa..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-
-#------------------------------------------------------------------------------
-# freebsd:  file(1) magic for FreeBSD objects
-#
-# All new-style FreeBSD magic numbers are in host byte order (i.e.,
-# little-endian on x86).
-#
-# XXX - this comes from the file "freebsd" in a recent FreeBSD version of
-# "file"; it, and the NetBSD stuff in "netbsd", appear to use different
-# schemes for distinguishing between executable images, shared libraries,
-# and object files.
-#
-# FreeBSD says:
-#
-#    Regardless of whether it's pure, demand-paged, or none of the
-#    above:
-#
-#      if the entry point is < 4096, then it's a shared library if
-#      the "has run-time loader information" bit is set, and is
-#      position-independent if the "is position-independent" bit
-#      is set;
-#
-#      if the entry point is >= 4096 (or >4095, same thing), then it's
-#      an executable, and is dynamically-linked if the "has run-time
-#      loader information" bit is set.
-#
-# On x86, NetBSD says:
-#
-#    If it's neither pure nor demand-paged:
-#
-#      if it has the "has run-time loader information" bit set, it's
-#      a dynamically-linked executable;
-#
-#      if it doesn't have that bit set, then:
-#
-#          if it has the "is position-independent" bit set, it's
-#          position-independent;
-#
-#          if the entry point is non-zero, it's an executable, otherwise
-#          it's an object file.
-#
-#    If it's pure:
-#
-#      if it has the "has run-time loader information" bit set, it's
-#      a dynamically-linked executable, otherwise it's just an
-#      executable.
-#
-#    If it's demand-paged:
-#
-#      if it has the "has run-time loader information" bit set,
-#      then:
-#
-#          if the entry point is < 4096, it's a shared library;
-#
-#          if the entry point is = 4096 or > 4096 (i.e., >= 4096),
-#          it's a dynamically-linked executable);
-#
-#      if it doesn't have the "has run-time loader information" bit
-#      set, then it's just an executable.
-#
-# (On non-x86, NetBSD does much the same thing, except that it uses
-# 8192 on 68K - except for "68k4k", which is presumably "68K with 4K
-# pages - SPARC, and MIPS, presumably because Sun-3's and Sun-4's
-# had 8K pages; dunno about MIPS.)
-#
-# I suspect the two will differ only in perverse and uninteresting cases
-# ("shared" libraries that aren't demand-paged and whose pages probably
-# won't actually be shared, executables with entry points <4096).
-#
-# I leave it to those more familiar with FreeBSD and NetBSD to figure out
-# what the right answer is (although using ">4095", FreeBSD-style, is
-# probably better than separately checking for "=4096" and ">4096",
-# NetBSD-style).  (The old "netbsd" file analyzed FreeBSD demand paged
-# executables using the NetBSD technique.)
-#
-0      lelong&0377777777       041400407       FreeBSD/i386
->20    lelong                  <4096
->>3    byte&0xC0               &0x80           shared library
->>3    byte&0xC0               0x40            PIC object
->>3    byte&0xC0               0x00            object
->20    lelong                  >4095
->>3    byte&0x80               0x80            dynamically linked executable
->>3    byte&0x80               0x00            executable
->16    lelong                  >0              not stripped
-
-0      lelong&0377777777       041400410       FreeBSD/i386 pure
->20    lelong                  <4096
->>3    byte&0xC0               &0x80           shared library
->>3    byte&0xC0               0x40            PIC object
->>3    byte&0xC0               0x00            object
->20    lelong                  >4095
->>3    byte&0x80               0x80            dynamically linked executable
->>3    byte&0x80               0x00            executable
->16    lelong                  >0              not stripped
-
-0      lelong&0377777777       041400413       FreeBSD/i386 demand paged
->20    lelong                  <4096
->>3    byte&0xC0               &0x80           shared library
->>3    byte&0xC0               0x40            PIC object
->>3    byte&0xC0               0x00            object
->20    lelong                  >4095
->>3    byte&0x80               0x80            dynamically linked executable
->>3    byte&0x80               0x00            executable
->16    lelong                  >0              not stripped
-
-0      lelong&0377777777       041400314       FreeBSD/i386 compact demand paged
->20    lelong                  <4096
->>3    byte&0xC0               &0x80           shared library
->>3    byte&0xC0               0x40            PIC object
->>3    byte&0xC0               0x00            object
->20    lelong                  >4095
->>3    byte&0x80               0x80            dynamically linked executable
->>3    byte&0x80               0x00            executable
->16    lelong                  >0              not stripped
-
-# XXX gross hack to identify core files
-# cores start with a struct tss; we take advantage of the following:
-# byte 7:     highest byte of the kernel stack pointer, always 0xfe
-#      8/9:   kernel (ring 0) ss value, always 0x0010
-#      10 - 27: ring 1 and 2 ss/esp, unused, thus always 0
-#      28:    low order byte of the current PTD entry, always 0 since the
-#             PTD is page-aligned
-#
-7      string  \357\020\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0        FreeBSD/i386 a.out core file
->1039  string  >\0     from '%s'
-
-# /var/run/ld.so.hints
-# What are you laughing about?
-0      lelong                  011421044151    ld.so hints file (Little Endian
->4     lelong                  >0              \b, version %d)
->4     belong                  <=0             \b)
-0      belong                  011421044151    ld.so hints file (Big Endian
->4     belong                  >0              \b, version %d)
->4     belong                  <=0             \b)
-
-#
-# Files generated by FreeBSD scrshot(1)/vidcontrol(1) utilities
-#
-0      string  SCRSHOT_        scrshot(1) screenshot,
->8     byte    x               version %d,
->9     byte    2               %d bytes in header,
->>10   byte    x               %d chars wide by
->>11   byte    x               %d chars high
diff --git a/file/magic/Magdir/fsav b/file/magic/Magdir/fsav
deleted file mode 100644 (file)
index 4218936..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#------------------------------------------------------------------------------
-# fsav:  file(1) magic for datafellows fsav virus definition files
-# Anthon van der Neut (anthon@mnt.org)
-0      beshort         0x1575          fsav (linux) macro virus
->8     leshort         >0              (%d-
->11    byte            >0              \b%02d-
->10    byte            >0              \b%02d)
-
-# comment this out for now because it regognizes every file where
-# the eighth character is \n
-#8     byte            0x0a
-#>12   byte            0x07
-#>11   leshort         >0              fsav (linux) virus (%d-
-#>10   byte            0               \b01-
-#>10   byte            1               \b02-
-#>10   byte            2               \b03-
-#>10   byte            3               \b04-
-#>10   byte            4               \b05-
-#>10   byte            5               \b06-
-#>10   byte            6               \b07-
-#>10   byte            7               \b08-
-#>10   byte            8               \b08-
-#>10   byte            9               \b10-
-#>10   byte            10              \b11-
-#>10   byte            11              \b12-
-#>9    byte            >0              \b%02d)
diff --git a/file/magic/Magdir/games b/file/magic/Magdir/games
deleted file mode 100644 (file)
index 2dc17da..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-#------------------------------------------------------------------------------
-# games:  file(1) for games
-
-# Thomas M. Ott (ThMO)
-1      string  =WAD            DOOM data,
->0     string  =I              main wad
->0     string  =P              patch wad
->0     byte    x               unknown junk
-
-# Fabio Bonelli <fabiobonelli@libero.it>
-# Quake II - III data files
-0       string  IDP2           Quake II 3D Model file,
->20     long    x               %lu skin(s),
->8      long    x               (%lu x
->12     long    x              %lu),
->40     long    x               %lu frame(s),
->16     long    x               Frame size %lu bytes,
->24     long   x               %lu vertices/frame,
->28     long    x              %lu texture coordinates,
->32     long    x               %lu triangles/frame
-
-0       string  IBSP            Quake
->4      long    0x26            II Map file (BSP)
->4      long    0x2E           III Map file (BSP)
-
-0       string  IDS2            Quake II SP2 sprite file
-
-#---------------------------------------------------------------------------
-# Doom and Quake
-# submitted by Nicolas Patrois
-
-# DOOM
-
-0       string  IWAD    DOOM or DOOM ][ world
-0       string  PWAD    DOOM or DOOM ][ extension world
-
-0       string  \xcb\x1dBoom\xe6\xff\x03\x01    Boom or linuxdoom demo
-# some doom lmp files don't match, I've got one beginning with \x6d\x02\x01\x01
-
-24      string  LxD\ 203        Linuxdoom save
->0      string  x       , name=%s
->44     string  x       , world=%s
-
-# Quake
-
-0       string  PACK    Quake I or II world or extension
-
-#0       string  -1\x0a  Quake I demo
-#>30     string  x        version %.4s
-#>61     string  x        level %s       
-
-#0       string  5\x0a   Quake I save
-
-# The levels
-
-# Quake 1
-
-0      string  5\x0aIntroduction             Quake I save: start Introduction
-0      string  5\x0athe_Slipgate_Complex     Quake I save: e1m1 The slipgate complex
-0      string  5\x0aCastle_of_the_Damned     Quake I save: e1m2 Castle of the damned
-0      string  5\x0athe_Necropolis           Quake I save: e1m3 The necropolis
-0      string  5\x0athe_Grisly_Grotto        Quake I save: e1m4 The grisly grotto
-0      string  5\x0aZiggurat_Vertigo         Quake I save: e1m8 Ziggurat vertigo (secret)
-0      string  5\x0aGloom_Keep               Quake I save: e1m5 Gloom keep
-0      string  5\x0aThe_Door_To_Chthon       Quake I save: e1m6 The door to Chthon
-0      string  5\x0aThe_House_of_Chthon      Quake I save: e1m7 The house of Chthon
-0      string  5\x0athe_Installation         Quake I save: e2m1 The installation
-0      string  5\x0athe_Ogre_Citadel         Quake I save: e2m2 The ogre citadel
-0      string  5\x0athe_Crypt_of_Decay       Quake I save: e2m3 The crypt of decay (dopefish lives!)
-0      string  5\x0aUnderearth               Quake I save: e2m7 Underearth (secret)
-0      string  5\x0athe_Ebon_Fortress        Quake I save: e2m4 The ebon fortress
-0      string  5\x0athe_Wizard's_Manse       Quake I save: e2m5 The wizard's manse
-0      string  5\x0athe_Dismal_Oubliette     Quake I save: e2m6 The dismal oubliette
-0      string  5\x0aTermination_Central      Quake I save: e3m1 Termination central
-0      string  5\x0aVaults_of_Zin            Quake I save: e3m2 Vaults of Zin
-0      string  5\x0athe_Tomb_of_Terror       Quake I save: e3m3 The tomb of terror
-0      string  5\x0aSatan's_Dark_Delight     Quake I save: e3m4 Satan's dark delight
-0      string  5\x0athe_Haunted_Halls        Quake I save: e3m7 The haunted halls (secret)
-0      string  5\x0aWind_Tunnels             Quake I save: e3m5 Wind tunnels
-0      string  5\x0aChambers_of_Torment      Quake I save: e3m6 Chambers of torment
-0      string  5\x0athe_Sewage_System        Quake I save: e4m1 The sewage system
-0      string  5\x0aThe_Tower_of_Despair     Quake I save: e4m2 The tower of despair
-0      string  5\x0aThe_Elder_God_Shrine     Quake I save: e4m3 The elder god shrine
-0      string  5\x0athe_Palace_of_Hate       Quake I save: e4m4 The palace of hate
-0      string  5\x0aHell's_Atrium            Quake I save: e4m5 Hell's atrium
-0      string  5\x0athe_Nameless_City        Quake I save: e4m8 The nameless city (secret)
-0      string  5\x0aThe_Pain_Maze            Quake I save: e4m6 The pain maze
-0      string  5\x0aAzure_Agony              Quake I save: e4m7 Azure agony
-0      string  5\x0aShub-Niggurath's_Pit     Quake I save: end Shub-Niggurath's pit
-
-# Quake DeathMatch levels
-
-0      string  5\x0aPlace_of_Two_Deaths         Quake I save: dm1 Place of two deaths
-0      string  5\x0aClaustrophobopolis          Quake I save: dm2 Claustrophobopolis
-0      string  5\x0aThe_Abandoned_Base          Quake I save: dm3 The abandoned base
-0      string  5\x0aThe_Bad_Place               Quake I save: dm4 The bad place
-0      string  5\x0aThe_Cistern                 Quake I save: dm5 The cistern
-0      string  5\x0aThe_Dark_Zone               Quake I save: dm6 The dark zone
-
-# Scourge of Armagon
-
-0      string  5\x0aCommand_HQ               Quake I save: start Command HQ
-0      string  5\x0aThe_Pumping_Station      Quake I save: hip1m1 The pumping station
-0      string  5\x0aStorage_Facility         Quake I save: hip1m2 Storage facility
-0      string  5\x0aMilitary_Complex         Quake I save: hip1m5 Military complex (secret)
-0      string  5\x0athe_Lost_Mine            Quake I save: hip1m3 The lost mine
-0      string  5\x0aResearch_Facility        Quake I save: hip1m4 Research facility
-0      string  5\x0aAncient_Realms           Quake I save: hip2m1 Ancient realms
-0      string  5\x0aThe_Gremlin's_Domain     Quake I save: hip2m6 The gremlin's domain (secret)
-0      string  5\x0aThe_Black_Cathedral      Quake I save: hip2m2 The black cathedral
-0      string  5\x0aThe_Catacombs            Quake I save: hip2m3 The catacombs
-0      string  5\x0athe_Crypt__              Quake I save: hip2m4 The crypt
-0      string  5\x0aMortum's_Keep            Quake I save: hip2m5 Mortum's keep
-0      string  5\x0aTur_Torment              Quake I save: hip3m1 Tur torment
-0      string  5\x0aPandemonium              Quake I save: hip3m2 Pandemonium
-0      string  5\x0aLimbo                    Quake I save: hip3m3 Limbo
-0      string  5\x0athe_Edge_of_Oblivion     Quake I save: hipdm1 The edge of oblivion (secret)
-0      string  5\x0aThe_Gauntlet             Quake I save: hip3m4 The gauntlet
-0      string  5\x0aArmagon's_Lair           Quake I save: hipend Armagon's lair
-
-# Malice
-
-0      string  5\x0aThe_Academy      Quake I save: start The academy
-0      string  5\x0aThe_Lab          Quake I save: d1 The lab
-0      string  5\x0aArea_33          Quake I save: d1b Area 33
-0      string  5\x0aSECRET_MISSIONS  Quake I save: d3b Secret missions
-0      string  5\x0aThe_Hospital     Quake I save: d10 The hospital (secret)
-0      string  5\x0aThe_Genetics_Lab Quake I save: d11 The genetics lab (secret)
-0      string  5\x0aBACK_2_MALICE    Quake I save: d4b Back to Malice
-0      string  5\x0aArea44           Quake I save: d1c Area 44
-0      string  5\x0aTakahiro_Towers  Quake I save: d2 Takahiro towers
-0      string  5\x0aA_Rat's_Life     Quake I save: d3 A rat's life
-0      string  5\x0aInto_The_Flood   Quake I save: d4 Into the flood
-0      string  5\x0aThe_Flood        Quake I save: d5 The flood
-0      string  5\x0aNuclear_Plant    Quake I save: d6 Nuclear plant
-0      string  5\x0aThe_Incinerator_Plant    Quake I save: d7 The incinerator plant
-0      string  5\x0aThe_Foundry              Quake I save: d7b The foundry
-0      string  5\x0aThe_Underwater_Base      Quake I save: d8 The underwater base
-0      string  5\x0aTakahiro_Base            Quake I save: d9 Takahiro base
-0      string  5\x0aTakahiro_Laboratories    Quake I save: d12 Takahiro laboratories
-0      string  5\x0aStayin'_Alive    Quake I save: d13 Stayin' alive
-0      string  5\x0aB.O.S.S._HQ      Quake I save: d14 B.O.S.S. HQ
-0      string  5\x0aSHOWDOWN!        Quake I save: d15 Showdown!
-
-# Malice DeathMatch levels
-
-0      string  5\x0aThe_Seventh_Precinct        Quake I save: ddm1 The seventh precinct
-0      string  5\x0aSub_Station                 Quake I save: ddm2 Sub station
-0      string  5\x0aCrazy_Eights!               Quake I save: ddm3 Crazy eights!
-0      string  5\x0aEast_Side_Invertationa      Quake I save: ddm4 East side invertationa
-0      string  5\x0aSlaughterhouse              Quake I save: ddm5 Slaughterhouse
-0      string  5\x0aDOMINO                      Quake I save: ddm6 Domino
-0      string  5\x0aSANDRA'S_LADDER             Quake I save: ddm7 Sandra's ladder
-
-
-0      string  MComprHD        MAME CHD compressed hard disk image,
->12    belong  x               version %lu
diff --git a/file/magic/Magdir/gcc b/file/magic/Magdir/gcc
deleted file mode 100644 (file)
index ee726f3..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#------------------------------------------------------------------------------
-# gcc:  file(1) magic for GCC special files
-#
-0      string          gpch            GCC precompiled header
-
-# The version field is annoying.  It's 3 characters, not zero-terminated.
->5     byte            x                       (version %c
->6     byte            x                       \b%c
->7     byte            x                       \b%c)
-
-# 67 = 'C', 111 = 'o', 43 = '+', 79 = 'O'
->4     byte            67                      for C
->4     byte            111                     for Objective C
->4     byte            43                      for C++
->4     byte            79                      for Objective C++
diff --git a/file/magic/Magdir/geos b/file/magic/Magdir/geos
deleted file mode 100644 (file)
index af1df7b..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#------------------------------------------------------------------------------
-# GEOS files (Vidar Madsen, vidar@gimp.org)
-# semi-commonly used in embedded and handheld systems.
-0      belong  0xc745c153      GEOS
->40    byte    1       executable
->40    byte    2       VMFile
->40    byte    3       binary
->40    byte    4       directory label
->40    byte    <1      unknown
->40    byte    >4      unknown
->4     string  >\0     \b, name "%s"
-#>44   short   x       \b, version %d
-#>46   short   x       \b.%d
-#>48   short   x       \b, rev %d
-#>50   short   x       \b.%d
-#>52   short   x       \b, proto %d
-#>54   short   x       \br%d
-#>168  string  >\0     \b, copyright "%s"
diff --git a/file/magic/Magdir/gimp b/file/magic/Magdir/gimp
deleted file mode 100644 (file)
index 9a9d61e..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#------------------------------------------------------------------------------
-# GIMP Gradient: file(1) magic for the GIMP's gradient data files
-# by Federico Mena <federico@nuclecu.unam.mx>
-
-0       string          GIMP\ Gradient  GIMP gradient data
-
-#------------------------------------------------------------------------------
-# XCF:  file(1) magic for the XCF image format used in the GIMP developed
-#       by Spencer Kimball and Peter Mattis
-#       ('Bucky' LaDieu, nega@vt.edu)
-
-0      string          gimp\ xcf       GIMP XCF image data,
->9     string          file            version 0,
->9     string          v               version
->>10   string          >\0             %s,
->14    belong          x               %lu x
->18    belong          x               %lu,
->22     belong          0               RGB Color
->22     belong          1               Greyscale
->22     belong          2               Indexed Color
->22    belong          >2              Unknown Image Type.
-
-#------------------------------------------------------------------------------
-# XCF:  file(1) magic for the patterns used in the GIMP, developed
-#       by Spencer Kimball and Peter Mattis
-#       ('Bucky' LaDieu, nega@vt.edu)
-
-20      string          GPAT            GIMP pattern data,
->24     string          x               %s
-
-#------------------------------------------------------------------------------
-# XCF:  file(1) magic for the brushes used in the GIMP, developed
-#       by Spencer Kimball and Peter Mattis
-#       ('Bucky' LaDieu, nega@vt.edu)
-
-20      string          GIMP            GIMP brush data
diff --git a/file/magic/Magdir/gnu b/file/magic/Magdir/gnu
deleted file mode 100644 (file)
index 42d9c7b..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#------------------------------------------------------------------------------
-# gnu:  file(1) magic for various GNU tools
-#
-# GNU nlsutils message catalog file format
-#
-0      string          \336\22\4\225   GNU message catalog (little endian),
->4     lelong          x               revision %d,
->8     lelong          x               %d messages
-0      string          \225\4\22\336   GNU message catalog (big endian),
->4     belong          x               revision %d,
->8     belong          x               %d messages
-# message catalogs, from Mitchum DSouza <m.dsouza@mrc-apu.cam.ac.uk>
-0      string          *nazgul*        Nazgul style compiled message catalog
->8     lelong          >0              \b, version %ld
-
-# GnuPG
-# The format is very similar to pgp
-0      string          \001gpg                 GPG key trust database
->4     byte            x                       version %d
-0      beshort         0x8502                  GPG encrypted data
-# This magic is not particularly good, as the keyrings don't have true
-# magic. Nevertheless, it covers many keyrings.
-0       beshort         0x9901                  GPG key public ring
-
-# Gnumeric spreadsheet
-# This entry is only semi-helpful, as Gnumeric compresses its files, so
-# they will ordinarily reported as "compressed", but at least -z helps
-39      string          =<gmr:Workbook           Gnumeric spreadsheet
-
-# From: James Youngman <jay@gnu.org> 
-# gnu find magic
-0      string  \0LOCATE        GNU findutils locate database data
->7     string  >\0             \b, format %s
->7     string  02              \b (frcode)
diff --git a/file/magic/Magdir/grace b/file/magic/Magdir/grace
deleted file mode 100644 (file)
index a5f1433..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#------------------------------------------------------------------------------
-# ACE/gr and Grace type files - PLEASE DO NOT REMOVE THIS LINE
-#
-# ACE/gr binary
-0      string  \000\000\0001\000\000\0000\000\000\0000\000\000\0002\000\000\0000\000\000\0000\000\000\0003             old ACE/gr binary file
->39    byte    >0                      - version %c
-# ACE/gr ascii
-0      string  #\ xvgr\ parameter\ file        ACE/gr ascii file
-0      string  #\ xmgr\ parameter\ file        ACE/gr ascii file
-0      string  #\ ACE/gr\ parameter\ file      ACE/gr ascii file
-# Grace projects
-0      string  #\ Grace\ project\ file         Grace project file
->23    string  @version\                       (version
->>32   byte    >0                              %c
->>33   string  >\0                             \b.%.2s
->>35   string  >\0                             \b.%.2s)
-# ACE/gr fit description files
-0      string  #\ ACE/gr\ fit\ description\    ACE/gr fit description file
-# end of ACE/gr and Grace type files - PLEASE DO NOT REMOVE THIS LINE
diff --git a/file/magic/Magdir/gringotts b/file/magic/Magdir/gringotts
deleted file mode 100644 (file)
index 6e833a3..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#------------------------------------------------------------------------------
-# gringotts:  file(1) magic for Gringotts
-# http://devel.pluto.linux.it/projects/Gringotts/
-# author: Germano Rizzo <mano@pluto.linux.it>
-#GRG3????Y
-0      string  GRG             Gringotts data file
-#file format 1
->3     string          1               v.1, MCRYPT S2K, SERPENT crypt, SHA-256 hash, ZLib lvl.9
-#file format 2
->3     string          2               v.2, MCRYPT S2K, 
->>8    byte&0x70       0x00            RIJNDAEL-128 crypt,
->>8    byte&0x70       0x10            SERPENT crypt,
->>8    byte&0x70       0x20            TWOFISH crypt, 
->>8    byte&0x70       0x30            CAST-256 crypt,
->>8    byte&0x70       0x40            SAFER+ crypt,
->>8    byte&0x70       0x50            LOKI97 crypt,
->>8    byte&0x70       0x60            3DES crypt,
->>8    byte&0x70       0x70            RIJNDAEL-256 crypt,
->>8    byte&0x08       0x00            SHA1 hash,
->>8    byte&0x08       0x08            RIPEMD-160 hash,
->>8    byte&0x04       0x00            ZLib
->>8    byte&0x04       0x04            BZip2
->>8    byte&0x03       0x00            lvl.0
->>8    byte&0x03       0x01            lvl.3
->>8    byte&0x03       0x02            lvl.6
->>8    byte&0x03       0x03            lvl.9
-#file format 3
->3     string          3               v.3, OpenPGP S2K, 
->>8    byte&0x70       0x00            RIJNDAEL-128 crypt,
->>8    byte&0x70       0x10            SERPENT crypt,
->>8    byte&0x70       0x20            TWOFISH crypt, 
->>8    byte&0x70       0x30            CAST-256 crypt,
->>8    byte&0x70       0x40            SAFER+ crypt,
->>8    byte&0x70       0x50            LOKI97 crypt,
->>8    byte&0x70       0x60            3DES crypt,
->>8    byte&0x70       0x70            RIJNDAEL-256 crypt,
->>8    byte&0x08       0x00            SHA1 hash,
->>8    byte&0x08       0x08            RIPEMD-160 hash,
->>8    byte&0x04       0x00            ZLib
->>8    byte&0x04       0x04            BZip2
->>8    byte&0x03       0x00            lvl.0
->>8    byte&0x03       0x01            lvl.3
->>8    byte&0x03       0x02            lvl.6
->>8    byte&0x03       0x03            lvl.9
-#file format >3
->3     string          >3              v.%.1s (unknown details)
diff --git a/file/magic/Magdir/hdf b/file/magic/Magdir/hdf
deleted file mode 100644 (file)
index 10a21b6..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# Hierarchical Data Format, used to facilitate scientific data exchange
-# specifications at http://hdf.ncsa.uiuc.edu/
-
-0      belong          0x0e031301      Hierarchical Data Format (version 4) data
-0      string          \211HDF\r\n\032 Hierarchical Data Format (version 5) data
diff --git a/file/magic/Magdir/hitachi-sh b/file/magic/Magdir/hitachi-sh
deleted file mode 100644 (file)
index a096eeb..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#------------------------------------------------------------------------------
-# hitach-sh: file(1) magic for Hitachi Super-H
-#
-# Super-H COFF
-#
-0      beshort         0x0500          Hitachi SH big-endian COFF
->18    beshort&0x0002  =0x0000         object
->18    beshort&0x0002  =0x0002         executable
->18    beshort&0x0008  =0x0008         \b, stripped
->18    beshort&0x0008  =0x0000         \b, not stripped
-#
-0      leshort         0x0550          Hitachi SH little-endian COFF
->18    leshort&0x0002  =0x0000         object
->18    leshort&0x0002  =0x0002         executable
->18    leshort&0x0008  =0x0008         \b, stripped
->18    leshort&0x0008  =0x0000         \b, not stripped
-
diff --git a/file/magic/Magdir/hp b/file/magic/Magdir/hp
deleted file mode 100644 (file)
index 052f09a..0000000
+++ /dev/null
@@ -1,395 +0,0 @@
-
-#------------------------------------------------------------------------------
-# hp:  file(1) magic for Hewlett Packard machines (see also "printer")
-#
-# XXX - somebody should figure out whether any byte order needs to be
-# applied to the "TML" stuff; I'm assuming the Apollo stuff is
-# big-endian as it was mostly 68K-based.
-#
-# I think the 500 series was the old stack-based machines, running a
-# UNIX environment atop the "SUN kernel"; dunno whether it was
-# big-endian or little-endian.
-#
-# Daniel Quinlan (quinlan@yggdrasil.com): hp200 machines are 68010 based;
-# hp300 are 68020+68881 based; hp400 are also 68k.  The following basic
-# HP magic is useful for reference, but using "long" magic is a better
-# practice in order to avoid collisions.
-#
-# Guy Harris (guy@netapp.com): some additions to this list came from
-# HP-UX 10.0's "/usr/include/sys/unistd.h" (68030, 68040, PA-RISC 1.1,
-# 1.2, and 2.0).  The 1.2 and 2.0 stuff isn't in the HP-UX 10.0
-# "/etc/magic", though, except for the "archive file relocatable library"
-# stuff, and the 68030 and 68040 stuff isn't there at all - are they not
-# used in executables, or have they just not yet updated "/etc/magic"
-# completely?
-#
-# 0    beshort         200             hp200 (68010) BSD binary
-# 0    beshort         300             hp300 (68020+68881) BSD binary
-# 0    beshort         0x20c           hp200/300 HP-UX binary
-# 0    beshort         0x20d           hp400 (68030) HP-UX binary
-# 0    beshort         0x20e           hp400 (68040?) HP-UX binary
-# 0    beshort         0x20b           PA-RISC1.0 HP-UX binary
-# 0    beshort         0x210           PA-RISC1.1 HP-UX binary
-# 0    beshort         0x211           PA-RISC1.2 HP-UX binary
-# 0    beshort         0x214           PA-RISC2.0 HP-UX binary
-
-#
-# The "misc" stuff needs a byte order; the archives look suspiciously
-# like the old 177545 archives (0xff65 = 0177545).
-#
-#### Old Apollo stuff
-0      beshort         0627            Apollo m68k COFF executable
->18    beshort         ^040000         not stripped
->22    beshort         >0              - version %ld
-0      beshort         0624            apollo a88k COFF executable
->18    beshort         ^040000         not stripped
->22    beshort         >0              - version %ld
-0       long            01203604016     TML 0123 byte-order format
-0       long            01702407010     TML 1032 byte-order format
-0       long            01003405017     TML 2301 byte-order format
-0       long            01602007412     TML 3210 byte-order format
-#### PA-RISC 1.1
-0      belong          0x02100106      PA-RISC1.1 relocatable object
-0      belong          0x02100107      PA-RISC1.1 executable
->168   belong          &0x00000004     dynamically linked
->(144) belong          0x054ef630      dynamically linked
->96    belong          >0              - not stripped
-
-0      belong          0x02100108      PA-RISC1.1 shared executable
->168   belong&0x4      0x4             dynamically linked
->(144) belong          0x054ef630      dynamically linked
->96    belong          >0              - not stripped
-
-0      belong          0x0210010b      PA-RISC1.1 demand-load executable
->168   belong&0x4      0x4             dynamically linked
->(144) belong          0x054ef630      dynamically linked
->96    belong          >0              - not stripped
-
-0      belong          0x0210010e      PA-RISC1.1 shared library
->96    belong          >0              - not stripped
-
-0      belong          0x0210010d      PA-RISC1.1 dynamic load library
->96    belong          >0              - not stripped
-
-#### PA-RISC 2.0
-0      belong          0x02140106      PA-RISC2.0 relocatable object
-
-0       belong         0x02140107      PA-RISC2.0 executable
->168   belong          &0x00000004     dynamically linked
->(144) belong          0x054ef630      dynamically linked
->96    belong          >0              - not stripped
-
-0       belong         0x02140108      PA-RISC2.0 shared executable
->168   belong          &0x00000004     dynamically linked
->(144) belong          0x054ef630      dynamically linked
->96    belong          >0              - not stripped
-
-0       belong         0x0214010b      PA-RISC2.0 demand-load executable
->168   belong          &0x00000004     dynamically linked
->(144) belong          0x054ef630      dynamically linked
->96    belong          >0              - not stripped
-
-0       belong         0x0214010e      PA-RISC2.0 shared library
->96    belong          >0              - not stripped
-
-0       belong         0x0214010d      PA-RISC2.0 dynamic load library
->96    belong          >0              - not stripped
-
-#### 800
-0      belong          0x020b0106      PA-RISC1.0 relocatable object
-
-0      belong          0x020b0107      PA-RISC1.0 executable
->168   belong&0x4      0x4             dynamically linked
->(144) belong          0x054ef630      dynamically linked
->96    belong          >0              - not stripped
-
-0      belong          0x020b0108      PA-RISC1.0 shared executable
->168   belong&0x4      0x4             dynamically linked
->(144) belong          0x054ef630      dynamically linked
->96    belong          >0              - not stripped
-
-0      belong          0x020b010b      PA-RISC1.0 demand-load executable
->168   belong&0x4      0x4             dynamically linked
->(144) belong          0x054ef630      dynamically linked
->96    belong          >0              - not stripped
-
-0      belong          0x020b010e      PA-RISC1.0 shared library
->96    belong          >0              - not stripped
-
-0      belong          0x020b010d      PA-RISC1.0 dynamic load library
->96    belong          >0              - not stripped
-
-0      belong          0x213c6172      archive file
->68    belong          0x020b0619      - PA-RISC1.0 relocatable library
->68    belong          0x02100619      - PA-RISC1.1 relocatable library
->68    belong          0x02110619      - PA-RISC1.2 relocatable library
->68    belong          0x02140619      - PA-RISC2.0 relocatable library
-
-#### 500
-0      long            0x02080106      HP s500 relocatable executable
->16    long            >0              - version %ld
-
-0      long            0x02080107      HP s500 executable
->16    long            >0              - version %ld
-
-0      long            0x02080108      HP s500 pure executable
->16    long            >0              - version %ld
-
-#### 200
-0      belong          0x020c0108      HP s200 pure executable
->4     beshort         >0              - version %ld
->8     belong          &0x80000000     save fp regs
->8     belong          &0x40000000     dynamically linked
->8     belong          &0x20000000     debuggable
->36    belong          >0              not stripped
-
-0      belong          0x020c0107      HP s200 executable
->4     beshort         >0              - version %ld
->8     belong          &0x80000000     save fp regs
->8     belong          &0x40000000     dynamically linked
->8     belong          &0x20000000     debuggable
->36    belong          >0              not stripped
-
-0      belong          0x020c010b      HP s200 demand-load executable
->4     beshort         >0              - version %ld
->8     belong          &0x80000000     save fp regs
->8     belong          &0x40000000     dynamically linked
->8     belong          &0x20000000     debuggable
->36    belong          >0              not stripped
-
-0      belong          0x020c0106      HP s200 relocatable executable
->4     beshort         >0              - version %ld
->6     beshort         >0              - highwater %d
->8     belong          &0x80000000     save fp regs
->8     belong          &0x20000000     debuggable
->8     belong          &0x10000000     PIC
-
-0      belong          0x020a0108      HP s200 (2.x release) pure executable
->4     beshort         >0              - version %ld
->36    belong          >0              not stripped
-
-0      belong          0x020a0107      HP s200 (2.x release) executable
->4     beshort         >0              - version %ld
->36    belong          >0              not stripped
-
-0      belong          0x020c010e      HP s200 shared library
->4     beshort         >0              - version %ld
->6     beshort         >0              - highwater %d
->36    belong          >0              not stripped
-
-0      belong          0x020c010d      HP s200 dynamic load library
->4     beshort         >0              - version %ld
->6     beshort         >0              - highwater %d
->36    belong          >0              not stripped
-
-#### MISC
-0      long            0x0000ff65      HP old archive
-0      long            0x020aff65      HP s200 old archive
-0      long            0x020cff65      HP s200 old archive
-0      long            0x0208ff65      HP s500 old archive
-
-0      long            0x015821a6      HP core file
-
-0      long            0x4da7eee8      HP-WINDOWS font
->8     byte            >0              - version %ld
-0      string          Bitmapfile      HP Bitmapfile
-
-0      string          IMGfile CIS     compimg HP Bitmapfile
-# XXX - see "lif"
-#0     short           0x8000          lif file
-0      long            0x020c010c      compiled Lisp
-
-0      string          msgcat01        HP NLS message catalog,
->8     long            >0              %d messages
-
-# addendum to /etc/magic with HP-48sx file-types by phk@data.fls.dk 1jan92
-0      string          HPHP48-         HP48 binary
->7     byte            >0              - Rev %c
->8     beshort         0x1129          (ADR)
->8     beshort         0x3329          (REAL)
->8     beshort         0x5529          (LREAL)
->8     beshort         0x7729          (COMPLX)
->8     beshort         0x9d29          (LCOMPLX)
->8     beshort         0xbf29          (CHAR)
->8     beshort         0xe829          (ARRAY)
->8     beshort         0x0a2a          (LNKARRAY)
->8     beshort         0x2c2a          (STRING)
->8     beshort         0x4e2a          (HXS)
->8     beshort         0x742a          (LIST)
->8     beshort         0x962a          (DIR)
->8     beshort         0xb82a          (ALG)
->8     beshort         0xda2a          (UNIT)
->8     beshort         0xfc2a          (TAGGED)
->8     beshort         0x1e2b          (GROB)
->8     beshort         0x402b          (LIB)
->8     beshort         0x622b          (BACKUP)
->8     beshort         0x882b          (LIBDATA)
->8     beshort         0x9d2d          (PROG)
->8     beshort         0xcc2d          (CODE)
->8     beshort         0x482e          (GNAME)
->8     beshort         0x6d2e          (LNAME)
->8     beshort         0x922e          (XLIB)
-0      string          %%HP:           HP48 text
->6     string          T(0)            - T(0)
->6     string          T(1)            - T(1)
->6     string          T(2)            - T(2)
->6     string          T(3)            - T(3)
->10    string          A(D)            A(D)
->10    string          A(R)            A(R)
->10    string          A(G)            A(G)
->14    string          F(.)            F(.);
->14    string          F(,)            F(,);
-
-# hpBSD magic numbers
-0      beshort         200             hp200 (68010) BSD
->2     beshort         0407            impure binary
->2     beshort         0410            read-only binary
->2     beshort         0413            demand paged binary
-0      beshort         300             hp300 (68020+68881) BSD
->2     beshort         0407            impure binary
->2     beshort         0410            read-only binary
->2     beshort         0413            demand paged binary
-#
-# From David Gero <dgero@nortelnetworks.com>
-# HP-UX 10.20 core file format from /usr/include/sys/core.h
-# Unfortunately, HP-UX uses corehead blocks without specifying the order
-# There are four we care about:
-#     CORE_KERNEL, which starts with the string "HP-UX"
-#     CORE_EXEC, which contains the name of the command
-#     CORE_PROC, which contains the signal number that caused the core dump
-#     CORE_FORMAT, which contains the version of the core file format (== 1)
-# The only observed order in real core files is KERNEL, EXEC, FORMAT, PROC
-# but we include all 6 variations of the order of the first 3, and
-# assume that PROC will always be last
-# Order 1: KERNEL, EXEC, FORMAT, PROC
-0x10           string  HP-UX
->0             belong  2
->>0xC          belong  0x3C
->>>0x4C                belong  0x100
->>>>0x58       belong  0x44
->>>>>0xA0      belong  1
->>>>>>0xAC     belong  4
->>>>>>>0xB0    belong  1
->>>>>>>>0xB4   belong  4               core file
->>>>>>>>>0x90  string  >\0             from '%s'
->>>>>>>>>0xC4  belong  3               - received SIGQUIT
->>>>>>>>>0xC4  belong  4               - received SIGILL
->>>>>>>>>0xC4  belong  5               - received SIGTRAP
->>>>>>>>>0xC4  belong  6               - received SIGABRT
->>>>>>>>>0xC4  belong  7               - received SIGEMT
->>>>>>>>>0xC4  belong  8               - received SIGFPE
->>>>>>>>>0xC4  belong  10              - received SIGBUS
->>>>>>>>>0xC4  belong  11              - received SIGSEGV
->>>>>>>>>0xC4  belong  12              - received SIGSYS
->>>>>>>>>0xC4  belong  33              - received SIGXCPU
->>>>>>>>>0xC4  belong  34              - received SIGXFSZ
-# Order 2: KERNEL, FORMAT, EXEC, PROC
->>>0x4C                belong  1
->>>>0x58       belong  4
->>>>>0x5C      belong  1
->>>>>>0x60     belong  0x100
->>>>>>>0x6C    belong  0x44
->>>>>>>>0xB4   belong  4               core file
->>>>>>>>>0xA4  string  >\0             from '%s'
->>>>>>>>>0xC4  belong  3               - received SIGQUIT
->>>>>>>>>0xC4  belong  4               - received SIGILL
->>>>>>>>>0xC4  belong  5               - received SIGTRAP
->>>>>>>>>0xC4  belong  6               - received SIGABRT
->>>>>>>>>0xC4  belong  7               - received SIGEMT
->>>>>>>>>0xC4  belong  8               - received SIGFPE
->>>>>>>>>0xC4  belong  10              - received SIGBUS
->>>>>>>>>0xC4  belong  11              - received SIGSEGV
->>>>>>>>>0xC4  belong  12              - received SIGSYS
->>>>>>>>>0xC4  belong  33              - received SIGXCPU
->>>>>>>>>0xC4  belong  34              - received SIGXFSZ
-# Order 3: FORMAT, KERNEL, EXEC, PROC
-0x24           string  HP-UX
->0             belong  1
->>0xC          belong  4
->>>0x10                belong  1
->>>>0x14       belong  2
->>>>>0x20      belong  0x3C
->>>>>>0x60     belong  0x100
->>>>>>>0x6C    belong  0x44
->>>>>>>>0xB4   belong  4               core file
->>>>>>>>>0xA4  string  >\0             from '%s'
->>>>>>>>>0xC4  belong  3               - received SIGQUIT
->>>>>>>>>0xC4  belong  4               - received SIGILL
->>>>>>>>>0xC4  belong  5               - received SIGTRAP
->>>>>>>>>0xC4  belong  6               - received SIGABRT
->>>>>>>>>0xC4  belong  7               - received SIGEMT
->>>>>>>>>0xC4  belong  8               - received SIGFPE
->>>>>>>>>0xC4  belong  10              - received SIGBUS
->>>>>>>>>0xC4  belong  11              - received SIGSEGV
->>>>>>>>>0xC4  belong  12              - received SIGSYS
->>>>>>>>>0xC4  belong  33              - received SIGXCPU
->>>>>>>>>0xC4  belong  34              - received SIGXFSZ
-# Order 4: EXEC, KERNEL, FORMAT, PROC
-0x64           string  HP-UX
->0             belong  0x100
->>0xC          belong  0x44
->>>0x54                belong  2
->>>>0x60       belong  0x3C
->>>>>0xA0      belong  1
->>>>>>0xAC     belong  4
->>>>>>>0xB0    belong  1
->>>>>>>>0xB4   belong  4               core file
->>>>>>>>>0x44  string  >\0             from '%s'
->>>>>>>>>0xC4  belong  3               - received SIGQUIT
->>>>>>>>>0xC4  belong  4               - received SIGILL
->>>>>>>>>0xC4  belong  5               - received SIGTRAP
->>>>>>>>>0xC4  belong  6               - received SIGABRT
->>>>>>>>>0xC4  belong  7               - received SIGEMT
->>>>>>>>>0xC4  belong  8               - received SIGFPE
->>>>>>>>>0xC4  belong  10              - received SIGBUS
->>>>>>>>>0xC4  belong  11              - received SIGSEGV
->>>>>>>>>0xC4  belong  12              - received SIGSYS
->>>>>>>>>0xC4  belong  33              - received SIGXCPU
->>>>>>>>>0xC4  belong  34              - received SIGXFSZ
-# Order 5: FORMAT, EXEC, KERNEL, PROC
-0x78           string  HP-UX
->0             belong  1
->>0xC          belong  4
->>>0x10                belong  1
->>>>0x14       belong  0x100
->>>>>0x20      belong  0x44
->>>>>>0x68     belong  2
->>>>>>>0x74    belong  0x3C
->>>>>>>>0xB4   belong  4               core file
->>>>>>>>>0x58  string  >\0             from '%s'
->>>>>>>>>0xC4  belong  3               - received SIGQUIT
->>>>>>>>>0xC4  belong  4               - received SIGILL
->>>>>>>>>0xC4  belong  5               - received SIGTRAP
->>>>>>>>>0xC4  belong  6               - received SIGABRT
->>>>>>>>>0xC4  belong  7               - received SIGEMT
->>>>>>>>>0xC4  belong  8               - received SIGFPE
->>>>>>>>>0xC4  belong  10              - received SIGBUS
->>>>>>>>>0xC4  belong  11              - received SIGSEGV
->>>>>>>>>0xC4  belong  12              - received SIGSYS
->>>>>>>>>0xC4  belong  33              - received SIGXCPU
->>>>>>>>>0xC4  belong  34              - received SIGXFSZ
-# Order 6: EXEC, FORMAT, KERNEL, PROC
->0             belong  0x100
->>0xC          belong  0x44
->>>0x54                belong  1
->>>>0x60       belong  4
->>>>>0x64      belong  1
->>>>>>0x68     belong  2
->>>>>>>0x74    belong  0x2C
->>>>>>>>0xB4   belong  4               core file
->>>>>>>>>0x44  string  >\0             from '%s'
->>>>>>>>>0xC4  belong  3               - received SIGQUIT
->>>>>>>>>0xC4  belong  4               - received SIGILL
->>>>>>>>>0xC4  belong  5               - received SIGTRAP
->>>>>>>>>0xC4  belong  6               - received SIGABRT
->>>>>>>>>0xC4  belong  7               - received SIGEMT
->>>>>>>>>0xC4  belong  8               - received SIGFPE
->>>>>>>>>0xC4  belong  10              - received SIGBUS
->>>>>>>>>0xC4  belong  11              - received SIGSEGV
->>>>>>>>>0xC4  belong  12              - received SIGSYS
->>>>>>>>>0xC4  belong  33              - received SIGXCPU
->>>>>>>>>0xC4  belong  34              - received SIGXFSZ
-
-# From: AMAKAWA Shuhei <sa264@cam.ac.uk>
-0      string  HPHP49-                 HP49 binary
-
diff --git a/file/magic/Magdir/human68k b/file/magic/Magdir/human68k
deleted file mode 100644 (file)
index d8070f7..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#------------------------------------------------------------------------------
-# human68k:  file(1) magic for Human68k (X680x0 DOS) binary formats
-# Magic too short!
-#0             string  HU              Human68k
-#>68           string  LZX             LZX compressed
-#>>72          string  >\0             (version %s)
-#>(8.L+74)     string  LZX             LZX compressed
-#>>(8.L+78)    string  >\0             (version %s)
-#>60           belong  >0              binded
-#>(8.L+66)     string  #HUPAIR         hupair
-#>0            string  HU              X executable
-#>(8.L+74)     string  #LIBCV1         - linked PD LIBC ver 1
-#>4            belong  >0              - base address 0x%x
-#>28           belong  >0              not stripped
-#>32           belong  >0              with debug information
-#0             beshort 0x601a          Human68k Z executable
-#0             beshort 0x6000          Human68k object file
-#0             belong  0xd1000000      Human68k ar binary archive
-#0             belong  0xd1010000      Human68k ar ascii archive
-#0             beshort 0x0068          Human68k lib archive
-#4             string  LZX             Human68k LZX compressed
-#>8            string  >\0             (version %s)
-#>4            string  LZX             R executable
-#2             string  #HUPAIR         Human68k hupair R executable
diff --git a/file/magic/Magdir/ibm370 b/file/magic/Magdir/ibm370
deleted file mode 100644 (file)
index 8cd9da2..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#------------------------------------------------------------------------------
-# ibm370:  file(1) magic for IBM 370 and compatibles.
-#
-# "ibm370" said that 0x15d == 0535 was "ibm 370 pure executable".
-# What the heck *is* "USS/370"?
-# AIX 4.1's "/etc/magic" has
-#
-#      0       short           0535            370 sysV executable 
-#      >12     long            >0              not stripped
-#      >22     short           >0              - version %d
-#      >30     long            >0              - 5.2 format
-#      0       short           0530            370 sysV pure executable 
-#      >12     long            >0              not stripped
-#      >22     short           >0              - version %d
-#      >30     long            >0              - 5.2 format
-#
-# instead of the "USS/370" versions of the same magic numbers.
-#
-0      beshort         0537            370 XA sysV executable 
->12    belong          >0              not stripped
->22    beshort         >0              - version %d
->30    belong          >0              - 5.2 format
-0      beshort         0532            370 XA sysV pure executable 
->12    belong          >0              not stripped
->22    beshort         >0              - version %d
->30    belong          >0              - 5.2 format
-0      beshort         054001          370 sysV pure executable
->12    belong          >0              not stripped
-0      beshort         055001          370 XA sysV pure executable
->12    belong          >0              not stripped
-0      beshort         056401          370 sysV executable
->12    belong          >0              not stripped
-0      beshort         057401          370 XA sysV executable
->12    belong          >0              not stripped
-0       beshort                0531            SVR2 executable (Amdahl-UTS)
->12    belong          >0              not stripped
->24     belong         >0              - version %ld
-0      beshort         0534            SVR2 pure executable (Amdahl-UTS)
->12    belong          >0              not stripped
->24    belong          >0              - version %ld
-0      beshort         0530            SVR2 pure executable (USS/370)
->12    belong          >0              not stripped
->24    belong          >0              - version %ld
-0      beshort         0535            SVR2 executable (USS/370)
->12    belong          >0              not stripped
->24    belong          >0              - version %ld
diff --git a/file/magic/Magdir/ibm6000 b/file/magic/Magdir/ibm6000
deleted file mode 100644 (file)
index 6870c31..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#------------------------------------------------------------------------------
-# ibm6000:  file(1) magic for RS/6000 and the RT PC.
-#
-0      beshort         0x01df          executable (RISC System/6000 V3.1) or obj module
->12    belong          >0              not stripped
-# Breaks sun4 statically linked execs.
-#0      beshort                0x0103          executable (RT Version 2) or obj module
-#>2    byte            0x50            pure
-#>28   belong          >0              not stripped
-#>6    beshort         >0              - version %ld
-0      beshort         0x0104          shared library
-0      beshort         0x0105          ctab data
-0      beshort         0xfe04          structured file
-0      string          0xabcdef        AIX message catalog
-0      belong          0x000001f9      AIX compiled message catalog
-0      string          \<aiaff>        archive
-0      string          \<bigaf>        archive (big format)
-
diff --git a/file/magic/Magdir/iff b/file/magic/Magdir/iff
deleted file mode 100644 (file)
index 62cef0d..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#------------------------------------------------------------------------------
-# 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            IFF data
-#>4    belong          x               \b, FORM is %d bytes long
-# audio formats
->8     string          AIFF            \b, AIFF audio
->8     string          AIFC            \b, AIFF-C compressed audio
->8     string          8SVX            \b, 8SVX 8-bit sampled sound voice
->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
->>20   beshort         x               \b, %d x
->>22   beshort         x               %d
->8     string          RGBN            \b, RGBN 12-bit RGB image
->8     string          RGB8            \b, RGB8 24-bit RGB image
->8     string          DR2D            \b, DR2D 2-D object
->8     string          TDDD            \b, TDDD 3-D rendering
-# other formats
->8     string          FTXT            \b, FTXT formatted text
->8     string          CTLG            \b, CTLG message catalog
->8     string          PREF            \b, PREF preferences
-
-# These go at the end of the iff rules
-#
-# I don't see why these might collide with anything else.
-#
-# Interactive Fiction related formats
-#
->8     string          IFRS            \b, Blorb Interactive Fiction
->>24   string          Exec            with executable chunk
->8     string          IFZS            \b, Z-machine or Glulx saved game file (Quetzal)
diff --git a/file/magic/Magdir/images b/file/magic/Magdir/images
deleted file mode 100644 (file)
index 1b46fed..0000000
+++ /dev/null
@@ -1,534 +0,0 @@
-
-#------------------------------------------------------------------------------
-# images:  file(1) magic for image formats (see also "iff")
-#
-# 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.
-#
-# little magic: PCX (first byte is 0x0a)
-
-# Targa - matches `povray', `ppmtotga' and `xv' outputs
-# by Philippe De Muyter <phdm@macqel.be>
-# at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11
-# at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise
-# at 3, leshort Index is 0 for povray, ppmtotga and xv outputs
-# `xv' recognizes only a subset of the following (RGB with pixelsize = 24)
-# `tgatoppm' recognizes a superset (Index may be anything)
-1      belong&0xfff7ffff       0x01010000      Targa image data - Map
->2     byte&8                  8               - RLE
->12    leshort                 >0              %hd x
->14    leshort                 >0              %hd
-1      belong&0xfff7ffff       0x00020000      Targa image data - RGB
->2     byte&8                  8               - RLE
->12    leshort                 >0              %hd x
->14    leshort                 >0              %hd
-1      belong&0xfff7ffff       0x00030000      Targa image data - Mono
->2     byte&8                  8               - RLE
->12    leshort                 >0              %hd x
->14    leshort                 >0              %hd
-
-# PBMPLUS images
-# The next byte following the magic is always whitespace.
-0      string          P1              Netpbm PBM image text
-0      string          P2              Netpbm PGM image text
-0      string          P3              Netpbm PPM image text
-0      string          P4              Netpbm PBM "rawbits" image data
-0      string          P5              Netpbm PGM "rawbits" image data
-0      string          P6              Netpbm PPM "rawbits" image data
-0      string          P7              Netpbm PAM image file
-
-# From: bryanh@giraffe-data.com (Bryan Henderson)
-0      string          \117\072        Solitaire Image Recorder format
->4     string          \013            MGI Type 11
->4     string          \021            MGI Type 17
-0      string          .MDA            MicroDesign data
->21    byte            48              version 2
->21    byte            51              version 3
-0      string          .MDP            MicroDesign page data
->21    byte            48              version 2
->21    byte            51              version 3
-
-# NIFF (Navy Interchange File Format, a modification of TIFF) images
-0      string          IIN1            NIFF image data
-
-# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com)
-# The second word of TIFF files is the TIFF version number, 42, which has
-# never changed.  The TIFF specification recommends testing for it.
-0      string          MM\x00\x2a      TIFF image data, big-endian
-0      string          II\x2a\x00      TIFF image data, little-endian
-
-# PNG [Portable Network Graphics, or "PNG's Not GIF"] images
-# (Greg Roelofs, newt@uchicago.edu)
-# (Albert Cahalan, acahalan@cs.uml.edu)
-#
-# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ...
-#
-0      string          \x89PNG         PNG image data,
->4     belong          !0x0d0a1a0a     CORRUPTED,
->4     belong          0x0d0a1a0a
->>16   belong          x               %ld x
->>20   belong          x               %ld,
->>24   byte            x               %d-bit
->>25   byte            0               grayscale,
->>25   byte            2               \b/color RGB,
->>25   byte            3               colormap,
->>25   byte            4               gray+alpha,
->>25   byte            6               \b/color RGBA,
-#>>26  byte            0               deflate/32K,
->>28   byte            0               non-interlaced
->>28   byte            1               interlaced
-1      string          PNG             PNG image data, CORRUPTED
-
-# GIF
-0      string          GIF8            GIF image data
->4     string          7a              \b, version 8%s,
->4     string          9a              \b, version 8%s,
->6     leshort         >0              %hd x
->8     leshort         >0              %hd
-#>10   byte            &0x80           color mapped,
-#>10   byte&0x07       =0x00           2 colors
-#>10   byte&0x07       =0x01           4 colors
-#>10   byte&0x07       =0x02           8 colors
-#>10   byte&0x07       =0x03           16 colors
-#>10   byte&0x07       =0x04           32 colors
-#>10   byte&0x07       =0x05           64 colors
-#>10   byte&0x07       =0x06           128 colors
-#>10   byte&0x07       =0x07           256 colors
-
-# ITC (CMU WM) raster files.  It is essentially a byte-reversed Sun raster,
-# 1 plane, no encoding.
-0      string          \361\0\100\273  CMU window manager raster image data
->4     lelong          >0              %d x
->8     lelong          >0              %d,
->12    lelong          >0              %d-bit
-
-# Magick Image File Format
-0      string          id=ImageMagick  MIFF image data
-
-# Artisan
-0      long            1123028772      Artisan image data
->4     long            1               \b, rectangular 24-bit
->4     long            2               \b, rectangular 8-bit with colormap
->4     long            3               \b, rectangular 32-bit (24-bit with matte)
-
-# FIG (Facility for Interactive Generation of figures), an object-based format
-0      string          #FIG            FIG image text
->5     string          x               \b, version %.3s
-
-# PHIGS
-0      string          ARF_BEGARF              PHIGS clear text archive
-0      string          @(#)SunPHIGS            SunPHIGS
-# version number follows, in the form m.n
->40    string          SunBin                  binary
->32    string          archive                 archive
-
-# GKS (Graphics Kernel System)
-0      string          GKSM            GKS Metafile
->24    string          SunGKS          \b, SunGKS
-
-# CGM image files
-0      string          BEGMF           clear text Computer Graphics Metafile
-# XXX - questionable magic
-0      beshort&0xffe0  0x0020          binary Computer Graphics Metafile
-0      beshort         0x3020          character Computer Graphics Metafile
-
-# MGR bitmaps  (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de)
-0      string  yz      MGR bitmap, modern format, 8-bit aligned
-0      string  zz      MGR bitmap, old format, 1-bit deep, 16-bit aligned
-0      string  xz      MGR bitmap, old format, 1-bit deep, 32-bit aligned
-0      string  yx      MGR bitmap, modern format, squeezed
-
-# Fuzzy Bitmap (FBM) images
-0      string          %bitmap\0       FBM image data
->30    long            0x31            \b, mono
->30    long            0x33            \b, color
-
-# facsimile data
-1      string          PC\ Research,\ Inc      group 3 fax data
->29    byte            0               \b, normal resolution (204x98 DPI)
->29    byte            1               \b, fine resolution (204x196 DPI)
-# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at>
-0      string          Sfff            structured fax file
-
-
-# PC bitmaps (OS/2, Windoze BMP files)  (Greg Roelofs, newt@uchicago.edu)
-0      string          BM              PC bitmap data
->14    leshort         12              \b, OS/2 1.x format
->>18   leshort         x               \b, %d x
->>20   leshort         x               %d
->14    leshort         64              \b, OS/2 2.x format
->>18   leshort         x               \b, %d x
->>20   leshort         x               %d
->14    leshort         40              \b, Windows 3.x format
->>18   lelong          x               \b, %d x
->>22   lelong          x               %d x
->>28   leshort         x               %d
-# Too simple - MPi
-#0     string          IC              PC icon data
-#0     string          PI              PC pointer image data
-#0     string          CI              PC color icon data
-#0     string          CP              PC color pointer image data
-# Conflicts with other entries [BABYL]
-#0     string          BA              PC bitmap array data
-
-# XPM icons (Greg Roelofs, newt@uchicago.edu)
-# note possible collision with C/REXX entry in c-lang; currently commented out
-0      string          /*\ XPM\ */     X pixmap image text
-
-# Utah Raster Toolkit RLE images (janl@ifi.uio.no)
-0      leshort         0xcc52          RLE image data,
->6     leshort         x               %d x
->8     leshort         x               %d
->2     leshort         >0              \b, lower left corner: %d
->4     leshort         >0              \b, lower right corner: %d
->10    byte&0x1        =0x1            \b, clear first
->10    byte&0x2        =0x2            \b, no background
->10    byte&0x4        =0x4            \b, alpha channel
->10    byte&0x8        =0x8            \b, comment
->11    byte            >0              \b, %d color channels
->12    byte            >0              \b, %d bits per pixel
->13    byte            >0              \b, %d color map channels
-
-# image file format (Robert Potter, potter@cs.rochester.edu)
-0      string          Imagefile\ version-     iff image data
-# this adds the whole header (inc. version number), informative but longish
->10    string          >\0             %s
-
-# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com)
-0      belong          0x59a66a95      Sun raster image data
->4     belong          >0              \b, %d x
->8     belong          >0              %d,
->12    belong          >0              %d-bit,
-#>16   belong          >0              %d bytes long,
->20    belong          0               old format,
-#>20   belong          1               standard,
->20    belong          2               compressed,
->20    belong          3               RGB,
->20    belong          4               TIFF,
->20    belong          5               IFF,
->20    belong          0xffff          reserved for testing,
->24    belong          0               no colormap
->24    belong          1               RGB colormap
->24    belong          2               raw colormap
-#>28   belong          >0              colormap is %d bytes long
-
-# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com)
-#
-# See
-#      http://reality.sgi.com/grafica/sgiimage.html
-#
-0      beshort         474             SGI image data
-#>2    byte            0               \b, verbatim
->2     byte            1               \b, RLE
-#>3    byte            1               \b, normal precision
->3     byte            2               \b, high precision
->4     beshort         x               \b, %d-D
->6     beshort         x               \b, %d x
->8     beshort         x               %d
->10    beshort         x               \b, %d channel
->10    beshort         !1              \bs
->80    string          >0              \b, "%s"
-
-0      string          IT01            FIT image data
->4     belong          x               \b, %d x
->8     belong          x               %d x
->12    belong          x               %d
-#
-0      string          IT02            FIT image data
->4     belong          x               \b, %d x
->8     belong          x               %d x
->12    belong          x               %d
-#
-2048   string          PCD_IPI         Kodak Photo CD image pack file
->0xe02 byte&0x03       0x00            , landscape mode
->0xe02 byte&0x03       0x01            , portrait mode
->0xe02 byte&0x03       0x02            , landscape mode
->0xe02 byte&0x03       0x03            , portrait mode
-0      string          PCD_OPA         Kodak Photo CD overview pack file
-
-# FITS format.  Jeff Uphoff <juphoff@tarsier.cv.nrao.edu>
-# FITS is the Flexible Image Transport System, the de facto standard for
-# data and image transfer, storage, etc., for the astronomical community.
-# (FITS floating point formats are big-endian.)
-0      string  SIMPLE\ \ =     FITS image data
->109   string  8               \b, 8-bit, character or unsigned binary integer
->108   string  16              \b, 16-bit, two's complement binary integer
->107   string  \ 32            \b, 32-bit, two's complement binary integer
->107   string  -32             \b, 32-bit, floating point, single precision
->107   string  -64             \b, 64-bit, floating point, double precision
-
-# other images
-0      string  This\ is\ a\ BitMap\ file       Lisp Machine bit-array-file
-0      string          =!!             Bennet Yee's "face" format
-
-# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image
-# stuff.
-#
-0      beshort         0x1010          PEX Binary Archive
-
-# Visio drawings
-03000  string  Visio\ (TM)\ Drawing    %s
-
-# Tgif files
-0      string  \%TGIF\ x               Tgif file version %s
-
-# DICOM medical imaging data
-128    string  DICM                    DICOM medical imaging data
-
-# XWD - X Window Dump file.
-#   As described in /usr/X11R6/include/X11/XWDFile.h
-#   used by the xwd program.
-#   Bradford Castalia, idaeim, 1/01
-4      belong  7                       XWD X Window Dump image data
->100   string  >\0                     \b, "%s"
->16    belong  x                       \b, %dx
->20    belong  x                       \b%dx
->12    belong  x                       \b%d
-
-# PDS - Planetary Data System
-#   These files use Parameter Value Language in the header section.
-#   Unfortunately, there is no certain magic, but the following
-#   strings have been found to be most likely.
-0      string  NJPL1I00                PDS (JPL) image data
-2      string  NJPL1I                  PDS (JPL) image data
-0      string  CCSD3ZF                 PDS (CCSD) image data
-2      string  CCSD3Z                  PDS (CCSD) image data
-0      string  PDS_                    PDS image data
-0      string  LBLSIZE=                PDS (VICAR) image data
-
-# pM8x: ATARI STAD compressed bitmap format
-#
-# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001
-# p M 8 5/6 xx yy zz data...
-# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed.
-# bytes either run horizontally (pM85) or vertically (pM86). yy is the
-# most frequent byte, xx and zz are runlength escape codes, where xx is
-# used for runs of yy.
-#
-0      string  pM85            Atari ST STAD bitmap image data (hor)
->5     byte    0x00            (white background)
->5     byte    0xFF            (black background)
-0      string  pM86            Atari ST STAD bitmap image data (vert)
->5     byte    0x00            (white background)
->5     byte    0xFF            (black background)
-
-# XXX:
-# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other
-# magic.
-# SGI RICE image file <mpruett@sgi.com>
-#0     beshort 0x5249          RICE image
-#>2    beshort x               v%d
-#>4    beshort x               (%d x
-#>6    beshort x               %d)
-#>8    beshort 0               8 bit
-#>8    beshort 1               10 bit
-#>8    beshort 2               12 bit
-#>8    beshort 3               13 bit
-#>10   beshort 0               4:2:2
-#>10   beshort 1               4:2:2:4
-#>10   beshort 2               4:4:4
-#>10   beshort 3               4:4:4:4
-#>12   beshort 1               RGB
-#>12   beshort 2               CCIR601
-#>12   beshort 3               RP175
-#>12   beshort 4               YUV
-
-#------------------------------------------------------------------------------
-#
-# Marco Schmidt (marcoschmidt@users.sourceforge.net) -- an image  file format
-# for the EPOC operating system, which is used with PDAs like those from Psion
-#
-# see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description
-# of various EPOC file formats
-
-0      string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file
-
-# PCX image files
-# From: Dan Fandrich <dan@coneharvesters.com>
-0      beshort         0x0a00  PCX ver. 2.5 image data
-0      beshort         0x0a02  PCX ver. 2.8 image data, with palette
-0      beshort         0x0a03  PCX ver. 2.8 image data, without palette
-0      beshort         0x0a04  PCX for Windows image data
-0      beshort         0x0a05  PCX ver. 3.0 image data
->4     leshort         x      bounding box [%hd,
->6     leshort         x      %hd] -
->8     leshort         x      [%hd,
->10    leshort         x      %hd],
->65    byte            >1      %d planes each of
->3     byte            x       %hhd-bit
->68    byte            0       image,
->68    byte            1       colour,
->68    byte            2       grayscale,
->68    byte            >2      image,
->68    byte            <0      image,
->12    leshort         >0      %hd x
->>14   leshort         x      %hd dpi,
->2     byte            0       uncompressed
->2     byte            1       RLE compressed
-
-# Adobe Photoshop
-0      string          8BPS Adobe Photoshop Image
-
-# XV thumbnail indicator (ThMO)
-0      string          P7\ 332         XV thumbnail image data
-
-# NITF is defined by United States MIL-STD-2500A
-0      string  NITF    National Imagery Transmission Format
->25    string  >\0     dated %.14s
-
-# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff)
-0      belong          0x00010008      GEM Image data
->12    beshort         x               %d x
->14    beshort         x               %d,
->4     beshort         x               %d planes,
->8     beshort         x               %d x
->10    beshort         x               %d pixelsize
-
-# GEM Metafile (Wolfram Kleff)
-0      lelong          0x0018FFFF      GEM Metafile data
->4     leshort         x               version %d
-
-#
-# SMJPEG. A custom Motion JPEG format used by Loki Entertainment
-# Software Torbjorn Andersson <d91tan@Update.UU.SE>.
-#
-0      string  \0\nSMJPEG      SMJPEG
->8     belong  x               %d.x data
-# According to the specification you could find any number of _TXT
-# headers here, but I can't think of any way of handling that. None of
-# the SMJPEG files I tried it on used this feature. Even if such a
-# file is encountered the output should still be reasonable.
->16    string  _SND            \b,
->>24   beshort >0              %d Hz
->>26   byte    8               8-bit
->>26   byte    16              16-bit
->>28   string  NONE            uncompressed
-# >>28 string  APCM            ADPCM compressed
->>27   byte    1               mono
->>28   byte    2               stereo
-# Help! Isn't there any way to avoid writing this part twice?
->>32   string  _VID            \b,
-# >>>48        string  JFIF            JPEG
->>>40  belong  >0              %d frames
->>>44  beshort >0              (%d x
->>>46  beshort >0              %d)
->16    string  _VID            \b,
-# >>32 string  JFIF            JPEG
->>24   belong  >0              %d frames
->>28   beshort >0              (%d x
->>30   beshort >0              %d)
-
-0      string  Paint\ Shop\ Pro\ Image\ File   Paint Shop Pro Image File
-
-# "thumbnail file" (icon)
-# descended from "xv", but in use by other applications as well (Wolfram Kleff)
-0       string          P7\ 332         XV "thumbnail file" (icon) data
-
-# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?)
-0       string          KiSS            KISS/GS
->4      byte            16              color
->>5     byte            x               %d bit
->>8     leshort         x               %d colors
->>10    leshort         x               %d groups
->4      byte            32              cell
->>5     byte            x               %d bit
->>8     leshort         x               %d x
->>10    leshort         x               %d
->>12    leshort         x               +%d
->>14    leshort         x               +%d
-
-# Webshots (www.webshots.com), by John Harrison
-0       string          C\253\221g\230\0\0\0 Webshots Desktop .wbz file
-
-# Hercules DASD image files
-# From Jan Jaeger <jj@septa.nl>
-0       string  CKD_P370        Hercules CKD DASD image file
->8      long    x               \b, %d heads per cylinder
->12     long    x               \b, track size %d bytes
->16     byte    x               \b, device type 33%2.2X
-
-0       string  CKD_C370        Hercules compressed CKD DASD image file
->8      long    x               \b, %d heads per cylinder
->12     long    x               \b, track size %d bytes
->16     byte    x               \b, device type 33%2.2X
-
-0       string  CKD_S370        Hercules CKD DASD shadow file
->8      long    x               \b, %d heads per cylinder
->12     long    x               \b, track size %d bytes
->16     byte    x               \b, device type 33%2.2X
-
-# Squeak images and - etoffi@softhome.net
-0 string \146\031\0\0  Squeak image data
-0 string 'From\040Squeak  Squeak program text
-
-# partimage: file(1) magic for PartImage files (experimental, incomplete)
-# Author: Hans-Joachim Baader <hjb@pro-linux.de>
-0              string  PaRtImAgE-VoLuMe        PartImage
->0x0020                string  0.6.1           file version %s
->>0x0060       lelong  >-1             volume %ld
-#>>0x0064 8 byte identifier
-#>>0x007c reserved
->>0x0200       string  >\0             type %s
->>0x1400       string  >\0             device %s,
->>0x1600       string  >\0             original filename %s,
-# Some fields omitted
->>0x2744       lelong  0               not compressed
->>0x2744       lelong  1               gzip compressed
->>0x2744       lelong  2               bzip2 compressed
->>0x2744       lelong  >2              compressed with unknown algorithm
->0x0020                string  >0.6.1          file version %s
->0x0020                string  <0.6.1          file version %s
-
-# DCX is multi-page PCX, using a simple header of up to 1024
-# offsets for the respective PCX components.
-# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>
-0      lelong  987654321       DCX multi-page PCX image data
-
-# Simon Walton <simonw@matteworld.com>
-# Kodak Cineon format for scanned negatives
-# http://www.kodak.com/US/en/motion/support/dlad/
-0      lelong  0xd75f2a80      Cineon image data
->200   belong  >0              \b, %ld x
->204   belong  >0              %ld
-
-
-# Bio-Rad .PIC is an image format used by microscope control systems
-# and related image processing software used by biologists.
-# From: Vebjorn Ljosa <vebjorn@ljosa.com>
-54     leshort 12345           Bio-Rad .PIC Image File
->0     leshort >0              %hd x
->2     leshort >0              %hd,
->4     leshort =1              1 image in file
->4     leshort >1              %hd images in file
-
-# From Jan "Yenya" Kasprzak <kas@fi.muni.cz>
-# The description of *.mrw format can be found at
-# http://www.dalibor.cz/minolta/raw_file_format.htm
-0      string  \000MRM                 Minolta Dimage camera raw image data
-
-# From: stephane.loeuillet@tiscali.f
-# http://www.djvuzone.org/
-0      string  AT&TFORM                DjVu Image file
-
-# From: Jason Bacon <bacon@smithers.neuro.mcw.edu>
-0      beshort 0x3020                  character Computer Graphics Metafile
-
-# From Marc Espie
-0      lelong  20000630                OpenEXR image data
-
-# From: Tom Hilinski <tom.hilinski@comcast.net>
-# http://www.unidata.ucar.edu/packages/netcdf/
-0      string  CDF\001                 NetCDF Data Format data
-
-#-----------------------------------------------------------------------
-# Hierarchical Data Format, used to facilitate scientific data exchange
-# specifications at http://hdf.ncsa.uiuc.edu/
-0      belong  0x0e031301      Hierarchical Data Format (version 4) data
-0      string  \211HDF\r\n\032 Hierarchical Data Format (version 5) data
-
-# The boot loaders syslinux and isolinux use a RLE based image format
-# called SLL16 to store splash screens.
-0      lelong          0x1413f33d      Syslinux SLL16 image data,
->4     leshort         >0              %hd x
->6     leshort         >0              %hd
diff --git a/file/magic/Magdir/intel b/file/magic/Magdir/intel
deleted file mode 100644 (file)
index 00942c2..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#------------------------------------------------------------------------------
-# intel:  file(1) magic for x86 Unix
-#
-# Various flavors of x86 UNIX executable/object (other than Xenix, which
-# is in "microsoft").  DOS is in "msdos"; the ambitious soul can do
-# Windows as well.
-#
-# Windows NT belongs elsewhere, as you need x86 and MIPS and Alpha and
-# whatever comes next (HP-PA Hummingbird?).  OS/2 may also go elsewhere
-# as well, if, as, and when IBM makes it portable.
-#
-# The `versions' should be un-commented if they work for you.
-# (Was the problem just one of endianness?)
-#
-0      leshort         0502            basic-16 executable
->12    lelong          >0              not stripped
-#>22   leshort         >0              - version %ld
-0      leshort         0503            basic-16 executable (TV)
->12    lelong          >0              not stripped
-#>22   leshort         >0              - version %ld
-0      leshort         0510            x86 executable
->12    lelong          >0              not stripped
-0      leshort         0511            x86 executable (TV)
->12    lelong          >0              not stripped
-0      leshort         =0512           iAPX 286 executable small model (COFF)
->12    lelong          >0              not stripped
-#>22   leshort         >0              - version %ld
-0      leshort         =0522           iAPX 286 executable large model (COFF)
->12    lelong          >0              not stripped
-#>22   leshort         >0              - version %ld
-# SGI labeled the next entry as "iAPX 386 executable" --Dan Quinlan
-0      leshort         =0514           80386 COFF executable
->12    lelong          >0              not stripped
->22    leshort         >0              - version %ld
-
-# rom: file(1) magic for BIOS ROM Extensions found in intel machines
-#      mapped into memory between 0xC0000 and 0xFFFFF
-# From Gürkan Sengün <gurkan@linuks.mine.nu>, www.linuks.mine.nu
-0        beshort         0x55AA       BIOS (ia32) ROM Ext.
->5       string          USB          USB
->7       string          LDR          UNDI image
->30      string          IBM          IBM comp. Video
->26      string          Adaptec      Adaptec
->28      string          Adaptec      Adaptec
->42      string          PROMISE      Promise
->2       byte            x            (%d*512)
diff --git a/file/magic/Magdir/interleaf b/file/magic/Magdir/interleaf
deleted file mode 100644 (file)
index 3eea3cf..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-
-#------------------------------------------------------------------------------
-# interleaf:  file(1) magic for InterLeaf TPS:
-#
-0      string          =\210OPS        Interleaf saved data
-0      string          =<!OPS          Interleaf document text
->5     string          ,\ Version\ =   \b, version
->>17   string          >\0             %.3s
diff --git a/file/magic/Magdir/island b/file/magic/Magdir/island
deleted file mode 100644 (file)
index 9903cdd..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-
-#------------------------------------------------------------------------------
-# island:  file(1) magic for IslandWite/IslandDraw, from SunOS 5.5.1
-# "/etc/magic":
-# From: guy@netapp.com (Guy Harris)
-#
-4      string          pgscriptver     IslandWrite document
-13     string          DrawFile        IslandDraw document
-
diff --git a/file/magic/Magdir/ispell b/file/magic/Magdir/ispell
deleted file mode 100644 (file)
index 592f064..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-
-#------------------------------------------------------------------------------
-# ispell:  file(1) magic for ispell
-#
-# Ispell 3.0 has a magic of 0x9601 and ispell 3.1 has 0x9602.  This magic
-# will match 0x9600 through 0x9603 in *both* little endian and big endian.
-# (No other current magic entries collide.)
-#
-# Updated by Daniel Quinlan (quinlan@yggdrasil.com)
-#
-0      leshort&0xFFFC  0x9600          little endian ispell
->0     byte            0               hash file (?),
->0     byte            1               3.0 hash file,
->0     byte            2               3.1 hash file,
->0     byte            3               hash file (?),
->2     leshort         0x00            8-bit, no capitalization, 26 flags
->2     leshort         0x01            7-bit, no capitalization, 26 flags
->2     leshort         0x02            8-bit, capitalization, 26 flags
->2     leshort         0x03            7-bit, capitalization, 26 flags
->2     leshort         0x04            8-bit, no capitalization, 52 flags
->2     leshort         0x05            7-bit, no capitalization, 52 flags
->2     leshort         0x06            8-bit, capitalization, 52 flags
->2     leshort         0x07            7-bit, capitalization, 52 flags
->2     leshort         0x08            8-bit, no capitalization, 128 flags
->2     leshort         0x09            7-bit, no capitalization, 128 flags
->2     leshort         0x0A            8-bit, capitalization, 128 flags
->2     leshort         0x0B            7-bit, capitalization, 128 flags
->2     leshort         0x0C            8-bit, no capitalization, 256 flags
->2     leshort         0x0D            7-bit, no capitalization, 256 flags
->2     leshort         0x0E            8-bit, capitalization, 256 flags
->2     leshort         0x0F            7-bit, capitalization, 256 flags
->4     leshort         >0              and %d string characters
-0      beshort&0xFFFC  0x9600          big endian ispell
->1     byte            0               hash file (?),
->1     byte            1               3.0 hash file,
->1     byte            2               3.1 hash file,
->1     byte            3               hash file (?),
->2     beshort         0x00            8-bit, no capitalization, 26 flags
->2     beshort         0x01            7-bit, no capitalization, 26 flags
->2     beshort         0x02            8-bit, capitalization, 26 flags
->2     beshort         0x03            7-bit, capitalization, 26 flags
->2     beshort         0x04            8-bit, no capitalization, 52 flags
->2     beshort         0x05            7-bit, no capitalization, 52 flags
->2     beshort         0x06            8-bit, capitalization, 52 flags
->2     beshort         0x07            7-bit, capitalization, 52 flags
->2     beshort         0x08            8-bit, no capitalization, 128 flags
->2     beshort         0x09            7-bit, no capitalization, 128 flags
->2     beshort         0x0A            8-bit, capitalization, 128 flags
->2     beshort         0x0B            7-bit, capitalization, 128 flags
->2     beshort         0x0C            8-bit, no capitalization, 256 flags
->2     beshort         0x0D            7-bit, no capitalization, 256 flags
->2     beshort         0x0E            8-bit, capitalization, 256 flags
->2     beshort         0x0F            7-bit, capitalization, 256 flags
->4     beshort         >0              and %d string characters
-# ispell 4.0 hash files  kromJx <kromJx@crosswinds.net>
-# Ispell 4.0
-0       string          ISPL            ispell
->4      long            x               hash file version %d,
->8      long            x               lexletters %d,
->12     long            x               lexsize %d,
->16     long            x               hashsize %d,
->20     long            x               stblsize %d
diff --git a/file/magic/Magdir/java b/file/magic/Magdir/java
deleted file mode 100644 (file)
index f9b7091..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#------------------------------------------------------------
-# Java ByteCode
-# From Larry Schwimmer (schwim@cs.stanford.edu)
-# Handled in Mach now
-#0     belong          0xcafebabe      compiled Java class data,
-#>6    beshort x       version %d.
-#>4    beshort x       \b%d
-#------------------------------------------------------------
-# Java serialization
-# From Martin Pool (m.pool@pharos.com.au)
-0      beshort         0xaced          Java serialization data
->2     beshort         >0x0004         \b, version %d
diff --git a/file/magic/Magdir/jpeg b/file/magic/Magdir/jpeg
deleted file mode 100644 (file)
index af646d6..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-
-#------------------------------------------------------------------------------
-# JPEG images
-# SunOS 5.5.1 had
-#
-#      0       string          \377\330\377\340        JPEG file
-#      0       string          \377\330\377\356        JPG file
-#
-# both of which turn into "JPEG image data" here.
-#
-0      beshort         0xffd8          JPEG image data
->6     string          JFIF            \b, JFIF standard
-# The following added by Erik Rossen <rossen@freesurf.ch> 1999-09-06
-# in a vain attempt to add image size reporting for JFIF.  Note that these
-# tests are not fool-proof since some perfectly valid JPEGs are currently
-# impossible to specify in magic(4) format.
-# First, a little JFIF version info:
->>11   byte            x               \b %d.
->>12   byte            x               \b%02d
-# Next, the resolution or aspect ratio of the image:
-#>>13  byte            0               \b, aspect ratio
-#>>13  byte            1               \b, resolution (DPI)
-#>>13  byte            2               \b, resolution (DPCM)
-#>>4   beshort         x               \b, segment length %d
-# Next, show thumbnail info, if it exists:
->>18   byte            !0              \b, thumbnail %dx
->>>19  byte            x               \b%d
-
-# EXIF moved down here to avoid reporting a bogus version number,
-# and EXIF version number printing added.
-#   - Patrik R=E5dman <patrik+file-magic@iki.fi>
->6     string          Exif            \b, EXIF standard
-# Look for EXIF IFD offset in IFD 0, and then look for EXIF version tag in EXIF IFD.
-# All possible combinations of entries have to be enumerated, since no looping
-# is possible. And both endians are possible...
-# The combinations included below are from real-world JPEGs.
-# Little-endian
->>12   string          II              
-# IFD 0 Entry #5:
->>>70  leshort         0x8769          
-# EXIF IFD Entry #1:
->>>>(78.l+14)  leshort 0x9000          
->>>>>(78.l+23) byte    x               %c
->>>>>(78.l+24) byte    x               \b.%c
->>>>>(78.l+25) byte    !0x30           \b%c
-# IFD 0 Entry #9:
->>>118 leshort         0x8769          
-# EXIF IFD Entry #3:
->>>>(126.l+38) leshort 0x9000          
->>>>>(126.l+47)        byte    x               %c
->>>>>(126.l+48)        byte    x               \b.%c
->>>>>(126.l+49)        byte    !0x30           \b%c
-# IFD 0 Entry #10
->>>130 leshort         0x8769          
-# EXIF IFD Entry #3:
->>>>(138.l+38) leshort 0x9000          
->>>>>(138.l+47)        byte    x               %c
->>>>>(138.l+48)        byte    x               \b.%c
->>>>>(138.l+49)        byte    !0x30           \b%c
-# EXIF IFD Entry #4:
->>>>(138.l+50) leshort 0x9000          
->>>>>(138.l+59)        byte    x               %c
->>>>>(138.l+60)        byte    x               \b.%c
->>>>>(138.l+61)        byte    !0x30           \b%c
-# EXIF IFD Entry #5:
->>>>(138.l+62) leshort 0x9000          
->>>>>(138.l+71)        byte    x               %c
->>>>>(138.l+72)        byte    x               \b.%c
->>>>>(138.l+73)        byte    !0x30           \b%c
-# IFD 0 Entry #11
->>>142 leshort         0x8769          
-# EXIF IFD Entry #3:
->>>>(150.l+38) leshort 0x9000          
->>>>>(150.l+47)        byte    x               %c
->>>>>(150.l+48)        byte    x               \b.%c
->>>>>(150.l+49)        byte    !0x30           \b%c
-# EXIF IFD Entry #4:
->>>>(150.l+50) leshort 0x9000          
->>>>>(150.l+59)        byte    x               %c
->>>>>(150.l+60)        byte    x               \b.%c
->>>>>(150.l+61)        byte    !0x30           \b%c
-# EXIF IFD Entry #5:
->>>>(150.l+62) leshort 0x9000          
->>>>>(150.l+71)        byte    x               %c
->>>>>(150.l+72)        byte    x               \b.%c
->>>>>(150.l+73)        byte    !0x30           \b%c
-# Big-endian
->>12   string          MM              
-# IFD 0 Entry #9:
->>>118 beshort         0x8769          
-# EXIF IFD Entry #1:
->>>>(126.L+14) beshort 0x9000          
->>>>>(126.L+23)        byte    x               %c
->>>>>(126.L+24)        byte    x               \b.%c
->>>>>(126.L+25)        byte    !0x30           \b%c
-# EXIF IFD Entry #3:
->>>>(126.L+38) beshort 0x9000          
->>>>>(126.L+47)        byte    x               %c
->>>>>(126.L+48)        byte    x               \b.%c
->>>>>(126.L+49)        byte    !0x30           \b%c
-# IFD 0 Entry #10
->>>130 beshort         0x8769          
-# EXIF IFD Entry #3:
->>>>(138.L+38) beshort 0x9000          
->>>>>(138.L+47)        byte    x               %c
->>>>>(138.L+48)        byte    x               \b.%c
->>>>>(138.L+49)        byte    !0x30           \b%c
-# EXIF IFD Entry #5:
->>>>(138.L+62) beshort 0x9000          
->>>>>(138.L+71)        byte    x               %c
->>>>>(138.L+72)        byte    x               \b.%c
->>>>>(138.L+73)        byte    !0x30           \b%c
-# IFD 0 Entry #11
->>>142 beshort         0x8769          
-# EXIF IFD Entry #4:
->>>>(150.L+50) beshort 0x9000          
->>>>>(150.L+59)        byte    x               %c
->>>>>(150.L+60)        byte    x               \b.%c
->>>>>(150.L+61)        byte    !0x30           \b%c
-# Here things get sticky.  We can do ONE MORE marker segment with
-# indirect addressing, and that's all.  It would be great if we could
-# do pointer arithemetic like in an assembler language.  Christos?
-# And if there was some sort of looping construct to do searches, plus a few
-# named accumulators, it would be even more effective...
-# At least we can show a comment if no other segments got inserted before:
->(4.S+5)       byte            0xFE
->>(4.S+8)      string          >\0             \b, comment: "%s"
-#>(4.S+5)      byte            0xFE            \b, comment
-#>>(4.S+6)     beshort         x               \b length=%d
-#>>(4.S+8)     string          >\0             \b, "%s"
-# Or, we can show the encoding type (I've included only the three most common)
-# and image dimensions if we are lucky and the SOFn (image segment) is here:
->(4.S+5)       byte            0xC0            \b, baseline
->>(4.S+6)      byte            x               \b, precision %d
->>(4.S+7)      beshort         x               \b, %dx
->>(4.S+9)      beshort         x               \b%d
->(4.S+5)       byte            0xC1            \b, extended sequential
->>(4.S+6)      byte            x               \b, precision %d
->>(4.S+7)      beshort         x               \b, %dx
->>(4.S+9)      beshort         x               \b%d
->(4.S+5)       byte            0xC2            \b, progressive
->>(4.S+6)      byte            x               \b, precision %d
->>(4.S+7)      beshort         x               \b, %dx
->>(4.S+9)      beshort         x               \b%d
-# I've commented-out quantisation table reporting.  I doubt anyone cares yet.
-#>(4.S+5)      byte            0xDB            \b, quantisation table
-#>>(4.S+6)     beshort         x               \b length=%d
-#>14   beshort         x               \b, %d x
-#>16   beshort         x               \b %d
-
-# HSI is Handmade Software's proprietary JPEG encoding scheme
-0      string          hsi1            JPEG image data, HSI proprietary
-
-# From: David Santinoli <david@santinoli.com>
-0      string          \x00\x00\x00\x0C\x6A\x50\x20\x20\x0D\x0A\x87\x0A        JPEG 2000 image data
diff --git a/file/magic/Magdir/karma b/file/magic/Magdir/karma
deleted file mode 100644 (file)
index 89e7772..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-
-#------------------------------------------------------------------------------
-# karma:  file(1) magic for Karma data files
-#
-# From <rgooch@atnf.csiro.au>
-
-0      string          KarmaRHD Version        Karma Data Structure Version
->16    belong          x               %lu
diff --git a/file/magic/Magdir/lecter b/file/magic/Magdir/lecter
deleted file mode 100644 (file)
index 87c186b..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-#------------------------------------------------------------------------------
-# DEC SRC Virtual Paper: Lectern files
-# Karl M. Hegbloom <karlheg@inetarena.com>
-0      string  lect    DEC SRC Virtual Paper Lectern file
diff --git a/file/magic/Magdir/lex b/file/magic/Magdir/lex
deleted file mode 100644 (file)
index 7b6d0f7..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-#------------------------------------------------------------------------------
-# lex:  file(1) magic for lex
-#
-#      derived empirically, your offsets may vary!
-53     string          yyprevious      C program text (from lex)
->3     string          >\0              for %s
-# C program text from GNU flex, from Daniel Quinlan <quinlan@yggdrasil.com>
-21     string          generated\ by\ flex     C program text (from flex)
-# lex description file, from Daniel Quinlan <quinlan@yggdrasil.com>
-0      string          %{              lex description text
diff --git a/file/magic/Magdir/lif b/file/magic/Magdir/lif
deleted file mode 100644 (file)
index cf20e49..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# lif:  file(1) magic for lif
-#
-# (Daniel Quinlan <quinlan@yggdrasil.com>)
-#
-0      beshort         0x8000          lif file
diff --git a/file/magic/Magdir/linux b/file/magic/Magdir/linux
deleted file mode 100644 (file)
index 0294a06..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-
-#------------------------------------------------------------------------------
-# linux:  file(1) magic for Linux files
-#
-# Values for Linux/i386 binaries, from Daniel Quinlan <quinlan@yggdrasil.com>
-# The following basic Linux magic is useful for reference, but using
-# "long" magic is a better practice in order to avoid collisions.
-#
-# 2    leshort         100             Linux/i386
-# >0   leshort         0407            impure executable (OMAGIC)
-# >0   leshort         0410            pure executable (NMAGIC)
-# >0   leshort         0413            demand-paged executable (ZMAGIC)
-# >0   leshort         0314            demand-paged executable (QMAGIC)
-#
-0      lelong          0x00640107      Linux/i386 impure executable (OMAGIC)
->16    lelong          0               \b, stripped
-0      lelong          0x00640108      Linux/i386 pure executable (NMAGIC)
->16    lelong          0               \b, stripped
-0      lelong          0x0064010b      Linux/i386 demand-paged executable (ZMAGIC)
->16    lelong          0               \b, stripped
-0      lelong          0x006400cc      Linux/i386 demand-paged executable (QMAGIC)
->16    lelong          0               \b, stripped
-#
-0      string          \007\001\000    Linux/i386 object file
->20    lelong          >0x1020         \b, DLL library
-# Linux-8086 stuff:
-0      string          \01\03\020\04   Linux-8086 impure executable
->28    long            !0              not stripped
-0      string          \01\03\040\04   Linux-8086 executable
->28    long            !0              not stripped
-#
-0      string          \243\206\001\0  Linux-8086 object file
-#
-0      string          \01\03\020\20   Minix-386 impure executable
->28    long            !0              not stripped
-0      string          \01\03\040\20   Minix-386 executable
->28    long            !0              not stripped
-# core dump file, from Bill Reynolds <bill@goshawk.lanl.gov>
-216    lelong          0421            Linux/i386 core file
->220   string          >\0             of '%s'
->200   lelong          >0              (signal %d)
-#
-# LILO boot/chain loaders, from Daniel Quinlan <quinlan@yggdrasil.com>
-# this can be overridden by the DOS executable (COM) entry
-2      string          LILO            Linux/i386 LILO boot/chain loader
-#
-# PSF fonts, from H. Peter Anvin <hpa@yggdrasil.com>
-0      leshort         0x0436          Linux/i386 PC Screen Font data,
->2     byte            0               256 characters, no directory,
->2     byte            1               512 characters, no directory,
->2     byte            2               256 characters, Unicode directory,
->2     byte            3               512 characters, Unicode directory,
->3     byte            >0              8x%d
-# Linux swap file, from Daniel Quinlan <quinlan@yggdrasil.com>
-4086   string          SWAP-SPACE      Linux/i386 swap file
-# From: Jeff Bailey <jbailey@ubuntu.com>
-# Linux swap file with swsusp1 image, from Jeff Bailey <jbailey@ubuntu.com>
-4076   string          SWAPSPACE2S1SUSPEND     Linux/i386 swap file (new style) with SWSUSP1 image
-# according to man page of mkswap (8) March 1999
-4086   string          SWAPSPACE2      Linux/i386 swap file (new style)
->0x400 long            x               %d (4K pages)
->0x404 long            x               size %d pages
-# ECOFF magic for OSF/1 and Linux (only tested under Linux though)
-#
-#      from Erik Troan (ewt@redhat.com) examining od dumps, so this
-#              could be wrong
-#      updated by David Mosberger (davidm@azstarnet.com) based on
-#      GNU BFD and MIPS info found below.
-#
-0      leshort         0x0183          ECOFF alpha
->24    leshort         0407            executable
->24    leshort         0410            pure
->24    leshort         0413            demand paged
->8     long            >0              not stripped
->8     long            0               stripped
->23    leshort         >0              - version %ld.
-#
-# Linux kernel boot images, from Albert Cahalan <acahalan@cs.uml.edu>
-# and others such as Axel Kohlmeyer <akohlmey@rincewind.chemie.uni-ulm.de>
-# and Nicolás Lichtmaier <nick@debian.org>
-# All known start with: b8 c0 07 8e d8 b8 00 90 8e c0 b9 00 01 29 f6 29
-# Linux kernel boot images (i386 arch) (Wolfram Kleff)
-514    string          HdrS            Linux kernel
->510   leshort         0xAA55          x86 boot executable
->>518  leshort         >=3D0x200
->>529  byte            0               zImage,
->>>529 byte            1               bzImage,
->>>(526.s+0x200) string        >\0             version %s,
->>498  leshort         1               RO-rootFS,
->>498  leshort         0               RW-rootFS,
->>508  leshort         >0              root_dev 0x%X,
->>502  leshort         >0              swap_dev 0x%X,
->>504  leshort         >0              RAMdisksize %u KB,
->>506  leshort         0xFFFF          Normal VGA
->>506  leshort         0xFFFE          Extended VGA
->>506  leshort         0xFFFD          Prompt for Videomode
->>506  leshort         >0              Video mode %d
-# This also matches new kernels, which were caught above by "HdrS".
-0              belong  0xb8c0078e      Linux kernel
->0x1e3         string  Loading         version 1.3.79 or older
->0x1e9         string  Loading         from prehistoric times
-
-# System.map files - Nicolás Lichtmaier <nick@debian.org>
-8      string  \ A\ _text      Linux kernel symbol map text
-
-# LSM entries - Nicolás Lichtmaier <nick@debian.org>
-0      string  Begin3  Linux Software Map entry text
-0      string  Begin4  Linux Software Map entry text (new format)
-
-# From Matt Zimmerman
-0       belong  0x4f4f4f4d      User-mode Linux COW file
->4      belong  x               \b, version %d
->8      string  >\0             \b, backing file %s
-
-############################################################################
-# Linux kernel versions
-
-0              string          \xb8\xc0\x07\x8e\xd8\xb8\x00\x90        Linux
->497           leshort         0               x86 boot sector
->>514          belong          0x8e    of a kernel from the dawn of time!
->>514          belong          0x908ed8b4      version 0.99-1.1.42
->>514          belong          0x908ed8b8      for memtest86
-
->497           leshort         !0              x86 kernel
->>504          leshort         >0              RAMdisksize=%u KB
->>502          leshort         >0              swap=0x%X
->>508          leshort         >0              root=0x%X
->>>498         leshort         1               \b-ro
->>>498         leshort         0               \b-rw
->>506          leshort         0xFFFF          vga=normal
->>506          leshort         0xFFFE          vga=extended
->>506          leshort         0xFFFD          vga=ask
->>506          leshort         >0              vga=%d
->>514          belong          0x908ed881      version 1.1.43-1.1.45
->>514          belong          0x15b281cd
->>>0xa8e       belong          0x55AA5a5a      version 1.1.46-1.2.13,1.3.0
->>>0xa99       belong          0x55AA5a5a      version 1.3.1,2
->>>0xaa3       belong          0x55AA5a5a      version 1.3.3-1.3.30
->>>0xaa6       belong          0x55AA5a5a      version 1.3.31-1.3.41
->>>0xb2b       belong          0x55AA5a5a      version 1.3.42-1.3.45
->>>0xaf7       belong          0x55AA5a5a      version 1.3.46-1.3.72
->>514          string          HdrS
->>>518         leshort         >0x1FF
->>>>529                byte            0               \b, zImage
->>>>529                byte            1               \b, bzImage
->>>>(526.s+0x200) string       >\0             \b, version %s
-
-# Linux boot sector thefts.
-0              belong          0xb8c0078e      Linux
->0x1e6         belong          0x454c4b53      ELKS Kernel
->0x1e6         belong          !0x454c4b53     style boot sector
-
-############################################################################
-# Linux 8086 executable
-0      lelong&0xFF0000FF 0xC30000E9    Linux-Dev86 executable, headerless
->5     string          .               
->>4    string          >\0             \b, libc version %s
-
-0      lelong&0xFF00FFFF 0x4000301     Linux-8086 executable
->2     byte&0x01       !0              \b, unmapped zero page
->2     byte&0x20       0               \b, impure
->2     byte&0x20       !0
->>2    byte&0x10       !0              \b, A_EXEC
->2     byte&0x02       !0              \b, A_PAL
->2     byte&0x04       !0              \b, A_NSYM
->2     byte&0x08       !0              \b, A_STAND
->2     byte&0x40       !0              \b, A_PURE
->2     byte&0x80       !0              \b, A_TOVLY
->28     long            !0              \b, not stripped
->37    string          .               
->>36   string          >\0             \b, libc version %s
-
-# 0    lelong&0xFF00FFFF 0x10000301    ld86 I80386 executable
-# 0    lelong&0xFF00FFFF 0xB000301     ld86 M68K executable
-# 0    lelong&0xFF00FFFF 0xC000301     ld86 NS16K executable
-# 0    lelong&0xFF00FFFF 0x17000301    ld86 SPARC executable
-
-# SYSLINUX boot logo files (from 'ppmtolss16' sources)
-# http://syslinux.zytor.com/
-#
-0      lelong  =0x1413f33d             SYSLINUX' LSS16 image data
->4     leshort x                       \b, width %d
->6     leshort x                       \b, height %d
diff --git a/file/magic/Magdir/lisp b/file/magic/Magdir/lisp
deleted file mode 100644 (file)
index 42698c0..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#------------------------------------------------------------------------------
-# lisp:  file(1) magic for lisp programs
-#
-# various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com)
-
-# This is a guess, but a good one.
-0      string  ;;                      Lisp/Scheme program text
-
-# Emacs 18 - this is always correct, but not very magical.
-0      string  \012(                   Emacs v18 byte-compiled Lisp data
-# Emacs 19+ - ver. recognition added by Ian Springer
-# Also applies to XEmacs 19+ .elc files; could tell them apart if we had regexp
-# support or similar - Chris Chittleborough <cchittleborough@yahoo.com.au>
-0      string  ;ELC                    
->4     byte    >19                     
->4     byte    <32                     Emacs/XEmacs v%d byte-compiled Lisp data
-
-# Files produced by CLISP Common Lisp From: Bruno Haible <haible@ilog.fr>
-0      string  (SYSTEM::VERSION\040'   CLISP byte-compiled Lisp program text
-0      long    0x70768BD2              CLISP memory image data
-0      long    0xD28B7670              CLISP memory image data, other endian
-
-# Files produced by GNU gettext
-0      long    0xDE120495              GNU-format message catalog data
-0      long    0x950412DE              GNU-format message catalog data
-
-#.com and .bin for MIT scheme 
-0      string  \372\372\372\372        MIT scheme (library?)
-
-# From: David Allouche <david@allouche.net>
-0      string  \<TeXmacs|      TeXmacs document text
diff --git a/file/magic/Magdir/mach b/file/magic/Magdir/mach
deleted file mode 100644 (file)
index 6289a2d..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-#------------------------------------------------------------------------------
-# mach file description
-#
-# Since Java bytecode and Mach-O fat-files have the same magic number the test
-# must be preformed in the same "magic" sequence to get both right.  The long
-# at offset 4 in a fat file tells the number of architectures.  The short at
-# offset 4 in a Java bytecode file is the compiler minor version and the
-# short at offset 6 is the compiler major version.  Since there are only 
-# only 18 labeled Mach-O architectures at current, and the first released 
-# Java class format was version 43.0, we can safely choose any number
-# between 18 and 39 to test the number of architectures against
-# (and use as a hack).
-#
-0      belong          0xcafebabe
->4     belong          >19             compiled Java class data,
->>6     beshort                x               version %d.
->>4     beshort                x               \b%d
->4     belong          1               Mach-O fat file with 1 architecture
->4     belong          >1
-# The following is necessary to support java class files.
->>4    belong          <20             Mach-O fat file with %ld architectures
-#>>4   belong          <0xffff         Mach-O fat file with %ld architectures
-#
-0      lelong&0xfeffffff       0xfeedface      Mach-O
->0     byte            0xcf            64-bit
->12    lelong          1               object
->12    lelong          2               executable
->12    lelong          3               fixed virtual memory shared library
->12    lelong          4               core
->12    lelong          5               preload executable
->12    lelong          6               dynamically linked shared library
->12    lelong          7               dynamic linker
->12    lelong          8               bundle
->12    lelong          9               dynamically linked shared library stub
->12    lelong          >9
->>12   lelong          x               filetype=%ld
->4     lelong          <0
->>4    lelong          x               architecture=%ld
->4     lelong          1               vax
->4     lelong          2               romp
->4     lelong          3               architecture=3
->4     lelong          4               ns32032
->4     lelong          5               ns32332
->4     lelong          6               m68k
->4     lelong          7               i386
->4     lelong          8               mips
->4     lelong          9               ns32532
->4     lelong          10              architecture=10
->4     lelong          11              hppa
->4     lelong          12              acorn
->4     lelong          13              m88k
->4     lelong          14              sparc
->4     lelong          15              i860-big
->4     lelong          16              i860
->4     lelong          17              rs6000
->4     lelong          18              ppc
->4     lelong          16777234        ppc64
->4     lelong          >16777234
->>4    lelong          x               architecture=%ld
-#
-0      belong&0xfffffffe       0xfeedface      Mach-O
->3     byte            0xcf            64-bit
->12    belong          1               object
->12    belong          2               executable
->12    belong          3               fixed virtual memory shared library
->12    belong          4               core
->12    belong          5               preload executable
->12    belong          6               dynamically linked shared library
->12    belong          7               dynamic linker
->12    belong          8               bundle
->12    belong          9               dynamically linked shared library stub
->12    belong          >9
->>12   belong          x               filetype=%ld
->4     belong          <0
->>4    belong          x               architecture=%ld
->4     belong          1               vax
->4     belong          2               romp
->4     belong          3               architecture=3
->4     belong          4               ns32032
->4     belong          5               ns32332
->4     belong          6               for m68k architecture
-# from NeXTstep 3.0 <mach/machine.h>
-# i.e. mc680x0_all, ignore
-# >>8  belong          1               (mc68030)
->>8    belong          2               (mc68040)
->>8    belong          3               (mc68030 only)
->4     belong          7               i386
->4     belong          8               mips
->4     belong          9               ns32532
->4     belong          10              architecture=10
->4     belong          11              hppa
->4     belong          12              acorn
->4     belong          13              m88k
->4     belong          14              sparc
->4     belong          15              i860-big
->4     belong          16              i860
->4     belong          17              rs6000
->4     belong          18              ppc
->4     belong          16777234        ppc64
->4     belong          >16777234
->>4    belong          x               architecture=%ld
diff --git a/file/magic/Magdir/macintosh b/file/magic/Magdir/macintosh
deleted file mode 100644 (file)
index 5d96376..0000000
+++ /dev/null
@@ -1,360 +0,0 @@
-
-#------------------------------------------------------------------------------
-# macintosh description
-#
-# BinHex is the Macintosh ASCII-encoded file format (see also "apple")
-# Daniel Quinlan, quinlan@yggdrasil.com
-11     string  must\ be\ converted\ with\ BinHex       BinHex binary text
->41    string  x                                       \b, version %.3s
-
-# Stuffit archives are the de facto standard of compression for Macintosh
-# files obtained from most archives. (franklsm@tuns.ca)
-0      string          SIT!                    StuffIt Archive (data)
->2     string          x                       : %s
-0      string          SITD                    StuffIt Deluxe (data)
->2     string          x                       : %s
-0      string          Seg                     StuffIt Deluxe Segment (data)
->2     string          x                       : %s
-
-# Newer StuffIt archives (grant@netbsd.org)
-0      string          StuffIt                 StuffIt Archive
-#>162  string          >0                      : %s
-
-# Macintosh Applications and Installation binaries (franklsm@tuns.ca)
-0      string          APPL                    Macintosh Application (data)
->2     string          x                       \b: %s
-
-# Macintosh System files (franklsm@tuns.ca)
-0      string          zsys                    Macintosh System File (data)
-0      string          FNDR                    Macintosh Finder (data)
-0      string          libr                    Macintosh Library (data)
->2     string          x                       : %s
-0      string          shlb                    Macintosh Shared Library (data)
->2     string          x                       : %s
-0      string          cdev                    Macintosh Control Panel (data)
->2     string          x                       : %s
-0      string          INIT                    Macintosh Extension (data)
->2     string          x                       : %s
-0      string          FFIL                    Macintosh Truetype Font (data)
->2     string          x                       : %s
-0      string          LWFN                    Macintosh Postscript Font (data)
->2     string          x                       : %s
-
-# Additional Macintosh Files (franklsm@tuns.ca)
-0      string          PACT                    Macintosh Compact Pro Archive (data)
->2     string          x                       : %s
-0      string          ttro                    Macintosh TeachText File (data)
->2     string          x                       : %s
-0      string          TEXT                    Macintosh TeachText File (data)
->2     string          x                       : %s
-0      string          PDF                     Macintosh PDF File (data)
->2     string          x                       : %s
-
-# MacBinary format (Eric Fischer, enf@pobox.com)
-#
-# Unfortunately MacBinary doesn't really have a magic number prior
-# to the MacBinary III format.  The checksum is really the way to
-# do it, but the magic file format isn't up to the challenge.
-#
-# 0    byte            0
-# 1    byte                            # filename length
-# 2    string                          # filename
-# 65    string                         # file type
-# 69   string                          # file creator
-# 73   byte                            # Finder flags
-# 74   byte            0
-# 75   beshort                         # vertical posn in window
-# 77   beshort                         # horiz posn in window
-# 79   beshort                         # window or folder ID
-# 81    byte                           # protected?
-# 82   byte            0
-# 83   belong                          # length of data segment
-# 87   belong                          # length of resource segment
-# 91   belong                          # file creation date
-# 95   belong                          # file modification date
-# 99   beshort                         # length of comment after resource
-# 101  byte                            # new Finder flags
-# 102  string          mBIN            # (only in MacBinary III)
-# 106  byte                            # char. code of file name
-# 107  byte                            # still more Finder flags
-# 116  belong                          # total file length
-# 120  beshort                         # length of add'l header
-# 122  byte            129             # for MacBinary II
-# 122  byte            130             # for MacBinary III
-# 123  byte            129             # minimum version that can read fmt
-# 124  beshort                         # checksum
-#
-# This attempts to use the version numbers as a magic number, requiring
-# that the first one be 0x80, 0x81, 0x82, or 0x83, and that the second
-# be 0x81.  This works for the files I have, but maybe not for everyone's.
-
-# Unfortunately, this magic is quite weak - MPi
-#122   beshort&0xFCFF  0x8081          Macintosh MacBinary data
-
-# MacBinary I doesn't have the version number field at all, but MacBinary II
-# has been in use since 1987 so I hope there aren't many really old files
-# floating around that this will miss.  The original spec calls for using
-# the nulls in 0, 74, and 82 as the magic number.
-#
-# Another possibility, that would also work for MacBinary I, is to use
-# the assumption that 65-72 will all be ASCII (0x20-0x7F), that 73 will
-# have bits 1 (changed), 2 (busy), 3 (bozo), and 6 (invisible) unset,
-# and that 74 will be 0.  So something like
-# 
-# 71   belong&0x80804EFF 0x00000000    Macintosh MacBinary data
-# 
-# >73  byte&0x01       0x01            \b, inited
-# >73  byte&0x02       0x02            \b, changed
-# >73  byte&0x04       0x04            \b, busy
-# >73  byte&0x08       0x08            \b, bozo
-# >73  byte&0x10       0x10            \b, system
-# >73  byte&0x10       0x20            \b, bundle
-# >73  byte&0x10       0x40            \b, invisible
-# >73  byte&0x10       0x80            \b, locked
-
-#>65   string          x               \b, type "%4.4s"
-
-#>65   string          8BIM            (PhotoShop)
-#>65   string          ALB3            (PageMaker 3)
-#>65   string          ALB4            (PageMaker 4)
-#>65   string          ALT3            (PageMaker 3)
-#>65   string          APPL            (application)
-#>65   string          AWWP            (AppleWorks word processor)
-#>65   string          CIRC            (simulated circuit)
-#>65   string          DRWG            (MacDraw)
-#>65   string          EPSF            (Encapsulated PostScript)
-#>65   string          FFIL            (font suitcase)
-#>65   string          FKEY            (function key)
-#>65   string          FNDR            (Macintosh Finder)
-#>65   string          GIFf            (GIF image)
-#>65   string          Gzip            (GNU gzip)
-#>65   string          INIT            (system extension)
-#>65   string          LIB\            (library)
-#>65   string          LWFN            (PostScript font)
-#>65   string          MSBC            (Microsoft BASIC)
-#>65   string          PACT            (Compact Pro archive)
-#>65   string          PDF\            (Portable Document Format)
-#>65   string          PICT            (picture)
-#>65   string          PNTG            (MacPaint picture)
-#>65   string          PREF            (preferences)
-#>65   string          PROJ            (Think C project)
-#>65   string          QPRJ            (Think Pascal project)
-#>65   string          SCFL            (Defender scores)
-#>65   string          SCRN            (startup screen)
-#>65   string          SITD            (StuffIt Deluxe)
-#>65   string          SPn3            (SuperPaint)
-#>65   string          STAK            (HyperCard stack)
-#>65   string          Seg\            (StuffIt segment)
-#>65   string          TARF            (Unix tar archive)
-#>65   string          TEXT            (ASCII)
-#>65   string          TIFF            (TIFF image)
-#>65   string          TOVF            (Eudora table of contents)
-#>65   string          WDBN            (Microsoft Word word processor)
-#>65   string          WORD            (MacWrite word processor)
-#>65   string          XLS\            (Microsoft Excel)
-#>65   string          ZIVM            (compress (.Z))
-#>65   string          ZSYS            (Pre-System 7 system file)
-#>65   string          acf3            (Aldus FreeHand)
-#>65   string          cdev            (control panel)
-#>65   string          dfil            (Desk Acessory suitcase)
-#>65   string          libr            (library)
-#>65   string          nX^d            (WriteNow word processor)
-#>65   string          nX^w            (WriteNow dictionary)
-#>65   string          rsrc            (resource)
-#>65   string          scbk            (Scrapbook)
-#>65   string          shlb            (shared library)
-#>65   string          ttro            (SimpleText read-only)
-#>65   string          zsys            (system file)
-
-#>69   string          x               \b, creator "%4.4s"
-
-# Somewhere, Apple has a repository of registered Creator IDs.  These are
-# just the ones that I happened to have files from and was able to identify.
-
-#>69   string          8BIM            (Adobe Photoshop)
-#>69   string          ALD3            (PageMaker 3)
-#>69   string          ALD4            (PageMaker 4)
-#>69   string          ALFA            (Alpha editor)
-#>69   string          APLS            (Apple Scanner)
-#>69   string          APSC            (Apple Scanner)
-#>69   string          BRKL            (Brickles)
-#>69   string          BTFT            (BitFont)
-#>69   string          CCL2            (Common Lisp 2)
-#>69   string          CCL\            (Common Lisp)
-#>69   string          CDmo            (The Talking Moose)
-#>69   string          CPCT            (Compact Pro)
-#>69   string          CSOm            (Eudora)
-#>69   string          DMOV            (Font/DA Mover)
-#>69   string          DSIM            (DigSim)
-#>69   string          EDIT            (Macintosh Edit)
-#>69   string          ERIK            (Macintosh Finder)
-#>69   string          EXTR            (self-extracting archive)
-#>69   string          Gzip            (GNU gzip)
-#>69   string          KAHL            (Think C)
-#>69   string          LWFU            (LaserWriter Utility)
-#>69   string          LZIV            (compress)
-#>69   string          MACA            (MacWrite)
-#>69   string          MACS            (Macintosh operating system)
-#>69   string          MAcK            (MacKnowledge terminal emulator)
-#>69   string          MLND            (Defender)
-#>69   string          MPNT            (MacPaint)
-#>69   string          MSBB            (Microsoft BASIC (binary))
-#>69   string          MSWD            (Microsoft Word)
-#>69   string          NCSA            (NCSA Telnet)
-#>69   string          PJMM            (Think Pascal)
-#>69   string          PSAL            (Hunt the Wumpus)
-#>69   string          PSI2            (Apple File Exchange)
-#>69   string          R*ch            (BBEdit)
-#>69   string          RMKR            (Resource Maker)
-#>69   string          RSED            (Resource Editor)
-#>69   string          Rich            (BBEdit)
-#>69   string          SIT!            (StuffIt)
-#>69   string          SPNT            (SuperPaint)
-#>69   string          Unix            (NeXT Mac filesystem)
-#>69   string          VIM!            (Vim editor)
-#>69   string          WILD            (HyperCard)
-#>69   string          XCEL            (Microsoft Excel)
-#>69   string          aCa2            (Fontographer)
-#>69   string          aca3            (Aldus FreeHand)
-#>69   string          dosa            (Macintosh MS-DOS file system)
-#>69   string          movr            (Font/DA Mover)
-#>69   string          nX^n            (WriteNow)
-#>69   string          pdos            (Apple ProDOS file system)
-#>69   string          scbk            (Scrapbook)
-#>69   string          ttxt            (SimpleText)
-#>69   string          ufox            (Foreign File Access)
-
-# Just in case...
-
-102    string          mBIN            MacBinary III data with surprising version number
-
-# sas magic from Bruce Foster (bef@nwu.edu)
-#
-#0     string          SAS             SAS
-#>8    string          x               %s
-0      string          SAS             SAS
->24    string          DATA            data file
->24    string          CATALOG         catalog
->24    string          INDEX           data file index
->24    string          VIEW            data view
-# sas 7+ magic from Reinhold Koch (reinhold.koch@roche.com)
-#
-0x54    string          SAS             SAS 7+
->0x9C   string          DATA            data file
->0x9C   string          CATALOG         catalog
->0x9C   string          INDEX           data file index
->0x9C   string          VIEW            data view
-
-# spss magic for SPSS system and portable files, 
-#       from Bruce Foster (bef@nwu.edu).
-
-0      long            0xc1e2c3c9      SPSS Portable File
->40    string          x               %s
-
-0      string          $FL2            SPSS System File
->24    string          x               %s
-
-# Macintosh filesystem data
-# From "Tom N Harris" <telliamed@mac.com>
-# Fixed HFS+ and Partition map magic: Ethan Benson <erbenson@alaska.net>
-# The MacOS epoch begins on 1 Jan 1904 instead of 1 Jan 1970, so these
-# entries depend on the data arithmetic added after v.35
-# There's also some Pascal strings in here, ditto...
-
-# The boot block signature, according to IM:Files, is 
-# "for HFS volumes, this field always contains the value 0x4C4B."
-# But if this is true for MFS or HFS+ volumes, I don't know.
-# Alternatively, the boot block is supposed to be zeroed if it's
-# unused, so a simply >0 should suffice.
-
-0x400  beshort                 0xD2D7          Macintosh MFS data
->0     beshort                 0x4C4B          (bootable)
->0x40a beshort                 &0x8000         (locked)
->0x402 beldate-0x7C25B080      x               created: %s,
->0x406 beldate-0x7C25B080      >0              last backup: %s,
->0x414 belong                  x               block size: %d,
->0x412 beshort                 x               number of blocks: %d,
->0x424 pstring                 x               volume name: %s
-
-# "BD" is has many false positives
-#0x400 beshort                 0x4244          Macintosh HFS data
-#>0    beshort                 0x4C4B          (bootable)
-#>0x40a        beshort                 &0x8000         (locked)
-#>0x40a        beshort                 ^0x0100         (mounted)
-#>0x40a        beshort                 &0x0200         (spared blocks)
-#>0x40a        beshort                 &0x0800         (unclean)
-#>0x47C        beshort                 0x482B          (Embedded HFS+ Volume)
-#>0x402        beldate-0x7C25B080      x               created: %s,
-#>0x406        beldate-0x7C25B080      x               last modified: %s,
-#>0x440        beldate-0x7C25B080      >0              last backup: %s,
-#>0x414        belong                  x               block size: %d,
-#>0x412        beshort                 x               number of blocks: %d,
-#>0x424        pstring                 x               volume name: %s
-
-0x400  beshort                 0x482B          Macintosh HFS Extended
->&0    beshort                 x               version %d data
->0     beshort                 0x4C4B          (bootable)
->0x404 belong                  ^0x00000100     (mounted)
->&2    belong                  &0x00000200     (spared blocks)
->&2    belong                  &0x00000800     (unclean)
->&2    belong                  &0x00008000     (locked)
->&6    string                  x               last mounted by: '%.4s',
-# really, that should be treated as a belong and we print a string
-# based on the value. TN1150 only mentions '8.10' for "MacOS 8.1"
->&14   beldate-0x7C25B080      x               created: %s,
-# only the creation date is local time, all other timestamps in HFS+ are UTC.
->&18   bedate-0x7C25B080       x               last modified: %s,
->&22   bedate-0x7C25B080       >0              last backup: %s,
->&26   bedate-0x7C25B080       >0              last checked: %s,
->&38   belong                  x               block size: %d,
->&42   belong                  x               number of blocks: %d,
->&46   belong                  x               free blocks: %d
-
-# I don't think this is really necessary since it doesn't do much and 
-# anything with a valid driver descriptor will also have a valid
-# partition map
-#0             beshort         0x4552          Apple Device Driver data
-#>&24          beshort         =1              \b, MacOS
-
-# Is that the partition type a cstring or a pstring? Well, IM says "strings 
-# shorter than 32 bytes must be terminated with NULL" so I'll treat it as a 
-# cstring. Of course, partitions can contain more than four entries, but 
-# what're you gonna do?
-0x200          beshort         0x504D          Apple Partition data
->0x2           beshort         x               block size: %d,
->0x230         string          x               first type: %s,
->0x210         string          x               name: %s,
->0x254         belong          x               number of blocks: %d,
->0x400         beshort         0x504D          
->>0x430                string          x               second type: %s,
->>0x410                string          x               name: %s,
->>0x454                belong          x               number of blocks: %d,
->>0x800                beshort         0x504D          
->>>0x830       string          x               third type: %s,
->>>0x810       string          x               name: %s,
->>>0x854       belong          x               number of blocks: %d,
->>>0xa00       beshort         0x504D          
->>>>0xa30      string          x               fourth type: %s,
->>>>0xa10      string          x               name: %s,
->>>>0xa54      belong          x               number of blocks: %d
-# AFAIK, only the signature is different
-0x200          beshort         0x5453          Apple Old Partition data
->0x2           beshort         x               block size: %d,
->0x230         string          x               first type: %s,
->0x210         string          x               name: %s,
->0x254         belong          x               number of blocks: %d,
->0x400         beshort         0x504D          
->>0x430                string          x               second type: %s,
->>0x410                string          x               name: %s,
->>0x454                belong          x               number of blocks: %d,
->>0x800                beshort         0x504D          
->>>0x830       string          x               third type: %s,
->>>0x810       string          x               name: %s,
->>>0x854       belong          x               number of blocks: %d,
->>>0xa00       beshort         0x504D          
->>>>0xa30      string          x               fourth type: %s,
->>>>0xa10      string          x               name: %s,
->>>>0xa54      belong          x               number of blocks: %d
-
-# From: Remi Mommsen <mommsen@slac.stanford.edu>
-0              string          BOMStore        Mac OS X bill of materials (BOM) fil
diff --git a/file/magic/Magdir/magic b/file/magic/Magdir/magic
deleted file mode 100644 (file)
index 3bf4e2e..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-
-#------------------------------------------------------------------------------
-# magic:  file(1) magic for magic files
-#
-0      string          #\ Magic        magic text file for file(1) cmd
-0      lelong          0xF11E041C      magic binary file for file(1) cmd
->4     lelong          x               (version %d) (little endian)
-0      belong          0xF11E041C      magic binary file for file(1) cmd
->4     belong          x               (version %d) (big endian)
diff --git a/file/magic/Magdir/mail.news b/file/magic/Magdir/mail.news
deleted file mode 100644 (file)
index f08261c..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#------------------------------------------------------------------------------
-# mail.news:  file(1) magic for mail and news
-#
-# Unfortunately, saved netnews also has From line added in some news software.
-#0     string          From            mail text
-# There are tests to ascmagic.c to cope with mail and news.
-0      string          Relay-Version:  old news text
-0      string          #!\ rnews       batched news text
-0      string          N#!\ rnews      mailed, batched news text
-0      string          Forward\ to     mail forwarding text
-0      string          Pipe\ to        mail piping text
-0      string          Return-Path:    smtp mail text
-0      string          Path:           news text
-0      string          Xref:           news text
-0      string          From:           news or mail text
-0      string          Article         saved news text
-0      string          BABYL           Emacs RMAIL text
-0      string          Received:       RFC 822 mail text
-0      string          MIME-Version:   MIME entity text
-#0     string          Content-        MIME entity text
-
-# TNEF files...
-0      lelong          0x223E9F78      Transport Neutral Encapsulation Format
-
-# From: Kevin Sullivan <ksulliva@psc.edu>
-0      string          *mbx*           MBX mail folder
-
-# From: Simon Matter <simon.matter@invoca.ch>
-0      string          \241\002\213\015skiplist\ file\0\0\0    Cyrus skiplist DB
-
-# JAM(mbp) Fidonet message area databases
-# JHR file
-0      string  JAM\0                   JAM message area header file
->12    leshort >0                      (%d messages)
-
-# Squish Fidonet message area databases
-# SQD file (requires at least one message in the area)
-# XXX: Weak magic
-#256   leshort 0xAFAE4453              Squish message area data file
-#>4    leshort >0                      (%d messages)
diff --git a/file/magic/Magdir/maple b/file/magic/Magdir/maple
deleted file mode 100644 (file)
index eea4794..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-
-#------------------------------------------------------------------------------
-# maple:  file(1) magic for maple files
-# "H. Nanosecond" <aldomel@ix.netcom.com>
-# Maple V release 4, a multi-purpose math program
-#
-
-# maple library .lib
-0      string  \000MVR4\nI     MapleVr4 library
-
-# .ind
-# no magic for these :-(
-# they are compiled indexes for maple files
-
-# .hdb 
-0      string  \000\004\000\000        Maple help database
-
-# .mhp
-# this has the form <PACKAGE=name>
-0      string  \<PACKAGE=      Maple help file
-0      string  \<HELP\ NAME=   Maple help file
-0      string  \n\<HELP\ NAME= Maple help file with extra carriage return at start (yuck)
-#0     string  #\ Newton       Maple help file, old style
-0      string  #\ daub Maple help file, old style
-#0     string  #===========    Maple help file, old style
-
-# .mws
-0      string  \000\000\001\044\000\221        Maple worksheet
-#this is anomalous
-0      string  WriteNow\000\002\000\001\000\000\000\000\100\000\000\000\000\000        Maple worksheet, but weird
-# this has the form {VERSION 2 3 "IBM INTEL NT" "2.3" }\n
-# that is {VERSION major_version miunor_version computer_type version_string}
-0      string  {VERSION\       Maple worksheet
->9     string  >\0     version %.1s.
->>10   string
->>>11  string  >\0     %.1s
-
-# .mps
-0      string  \0\0\001$       Maple something
-# from byte 4 it is either 'nul E' or 'soh R'
-# I think 'nul E' means a file that was saved as  a different name
-# a sort of revision marking
-# 'soh R' means new 
->4     string  \000\105        An old revision
->4     string  \001\122        The latest save
-
-# .mpl
-# some of these are the same as .mps above
-#0000000 000 000 001 044 000 105 same as .mps
-#0000000 000 000 001 044 001 122 same as .mps
-
-0      string  #\n##\ <SHAREFILE=      Maple something
-0      string  \n#\n##\ <SHAREFILE=    Maple something
-0      string  ##\ <SHAREFILE= Maple something
-0      string  #\r##\ <SHAREFILE=      Maple something
-0      string  \r#\r##\ <SHAREFILE=    Maple something
-0      string  #\ \r##\ <DESCRIBE>     Maple something anomalous.
diff --git a/file/magic/Magdir/mathematica b/file/magic/Magdir/mathematica
deleted file mode 100644 (file)
index b9d3405..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-
-#------------------------------------------------------------------------------
-# mathematica:  file(1) magic for mathematica files
-# "H. Nanosecond" <aldomel@ix.netcom.com>
-# Mathematica a multi-purpose math program
-# versions 2.2 and 3.0
-
-#mathematica .mb
-0      string  \064\024\012\000\035\000\000\000        Mathematica version 2 notebook
-0      string  \064\024\011\000\035\000\000\000        Mathematica version 2 notebook
-
-# .ma
-# multiple possibilites:
-
-0      string  (*^\n\n::[\011frontEndVersion\ =\       Mathematica notebook
-#>41   string  >\0     %s
-
-#0     string  (*^\n\n::[\011palette   Mathematica notebook version 2.x
-
-#0     string  (*^\n\n::[\011Information       Mathematica notebook version 2.x
-#>675  string  >\0     %s #doesn't work well
-
-# there may be 'cr' instread of 'nl' in some does this matter?
-
-# generic:
-0      string  (*^\r\r::[\011  Mathematica notebook version 2.x
-0      string  \(\*\^\r\n\r\n\:\:\[\011        Mathematica notebook version 2.x
-0      string  (*^\015                 Mathematica notebook version 2.x
-0      string  (*^\n\r\n\r::[\011      Mathematica notebook version 2.x
-0      string  (*^\r::[\011    Mathematica notebook version 2.x
-0      string  (*^\r\n::[\011  Mathematica notebook version 2.x
-0      string  (*^\n\n::[\011  Mathematica notebook version 2.x
-0      string  (*^\n::[\011    Mathematica notebook version 2.x
-
-
-# Mathematica .mx files
-
-#0     string  (*This\ is\ a\ Mathematica\ binary\ dump\ file.\ It\ can\ be\ loaded\ with\ Get.*)      Mathematica binary file
-0      string  (*This\ is\ a\ Mathematica\ binary\     Mathematica binary file
-#>71   string \000\010\010\010\010\000\000\000\000\000\000\010\100\010\000\000\000     
-# >71... is optional
->88    string  >\0     from %s
-
-
-# Mathematica files PBF:
-# 115 115 101 120 102 106 000 001 000 000 000 203 000 001 000
-0      string  MMAPBF\000\001\000\000\000\203\000\001\000      Mathematica PBF (fonts I think)
-
-# .ml files  These are menu resources I think
-# these start with "[0-9][0-9][0-9]\ A~[0-9][0-9][0-9]\ 
-# how to put that into a magic rule?
-4      string  \ A~    MAthematica .ml file
-
-# .nb files
-#too long 0    string  (***********************************************************************\n\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Mathematica-Compatible Notebook     Mathematica 3.0 notebook
-0      string  (***********************        Mathematica 3.0 notebook
-
-# other (* matches it is a comment start in these langs
-0      string  (*      Mathematica, or Pascal,  Modula-2 or 3 code text
-
-#########################
-# MatLab v5
-0       string  MATLAB  Matlab v5 mat-file
->126    short   0x494d  (big endian)
->>124   beshort x       version 0x%04x
->126    short   0x4d49  (little endian)
->>124   leshort x       version 0x%04x
-
diff --git a/file/magic/Magdir/matroska b/file/magic/Magdir/matroska
deleted file mode 100644 (file)
index ca00db4..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-
-#------------------------------------------------------------------------------
-# matroska:  file(1) magic for Matroska files
-#
-# See http://www.matroska.org/
-#
-
-# EBML id:
-0              belong          0x1a45dfa3
-# DocType id:
->5             beshort         0x4282
-# DocType contents:
->>8            string          matroska        Matroska data
-
diff --git a/file/magic/Magdir/mcrypt b/file/magic/Magdir/mcrypt
deleted file mode 100644 (file)
index e862f59..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#------------------------------------------------------------------------------
-# Mavroyanopoulos Nikos <nmav@hellug.gr>
-# mcrypt:   file(1) magic for mcrypt 2.2.x;
-0      string          \0m\3           mcrypt 2.5 encrypted data,
->4     string          >\0             algorithm: %s,
->>&1   leshort         >0              keysize: %d bytes,
->>>&0  string          >\0             mode: %s,
-
-0      string          \0m\2           mcrypt 2.2 encrypted data,
->3     byte            0               algorithm: blowfish-448,
->3     byte            1               algorithm: DES,
->3     byte            2               algorithm: 3DES,
->3     byte            3               algorithm: 3-WAY,
->3     byte            4               algorithm: GOST,
->3     byte            6               algorithm: SAFER-SK64,
->3     byte            7               algorithm: SAFER-SK128,
->3     byte            8               algorithm: CAST-128,
->3     byte            9               algorithm: xTEA,
->3     byte            10              algorithm: TWOFISH-128,
->3     byte            11              algorithm: RC2,
->3     byte            12              algorithm: TWOFISH-192,
->3     byte            13              algorithm: TWOFISH-256,
->3     byte            14              algorithm: blowfish-128,
->3     byte            15              algorithm: blowfish-192,
->3     byte            16              algorithm: blowfish-256,
->3     byte            100             algorithm: RC6,
->3     byte            101             algorithm: IDEA,
->4     byte            0               mode: CBC,
->4     byte            1               mode: ECB,
->4     byte            2               mode: CFB,
->4     byte            3               mode: OFB,
->4     byte            4               mode: nOFB,
->5     byte            0               keymode: 8bit
->5     byte            1               keymode: 4bit
->5     byte            2               keymode: SHA-1 hash
->5     byte            3               keymode: MD5 hash
diff --git a/file/magic/Magdir/mime b/file/magic/Magdir/mime
deleted file mode 100644 (file)
index 0102709..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#------------------------------------------------------------------------------
-# mime:  file(1) magic for MIME encoded files
-#
-0      string          Content-Type:\
->14    string          >\0             %s
-0      string          Content-Type:
->13    string          >\0             %s
diff --git a/file/magic/Magdir/mips b/file/magic/Magdir/mips
deleted file mode 100644 (file)
index 9333bde..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-
-#------------------------------------------------------------------------------
-# mips:  file(1) magic for Silicon Graphics (MIPS, IRIS, IRIX, etc.)
-#                         Dec Ultrix (MIPS)
-# all of SGI's *current* machines and OSes run in big-endian mode on the
-# MIPS machines, as far as I know.
-#
-# XXX - what is the blank "-" line?
-#
-# kbd file definitions
-0      string  kbd!map         kbd map file
->8     byte    >0              Ver %d:
->10    short   >0              with %d table(s)
-0      belong  0407            old SGI 68020 executable
-0      belong  0410            old SGI 68020 pure executable
-0      beshort 0x8765          disk quotas file
-0      beshort 0x0506          IRIS Showcase file
->2     byte    0x49            -
->3     byte    x               - version %ld
-0      beshort 0x0226          IRIS Showcase template
->2     byte    0x63            -
->3     byte    x               - version %ld
-0      belong  0x5343464d      IRIS Showcase file
->4     byte    x               - version %ld
-0      belong  0x5443464d      IRIS Showcase template
->4     byte    x               - version %ld
-0      belong  0xdeadbabe      IRIX Parallel Arena
->8     belong  >0              - version %ld
-#
-0      beshort 0x0160          MIPSEB ECOFF executable
->20    beshort 0407            (impure)
->20    beshort 0410            (swapped)
->20    beshort 0413            (paged)
->8     belong  >0              not stripped
->8     belong  0               stripped
->22    byte    x               - version %ld
->23    byte    x               \b.%ld
-#
-0      beshort 0x0162          MIPSEL-BE ECOFF executable
->20    beshort 0407            (impure)
->20    beshort 0410            (swapped)
->20    beshort 0413            (paged)
->8     belong  >0              not stripped
->8     belong  0               stripped
->23    byte    x               - version %d
->22    byte    x               \b.%ld
-#
-0      beshort 0x6001          MIPSEB-LE ECOFF executable
->20    beshort 03401           (impure)
->20    beshort 04001           (swapped)
->20    beshort 05401           (paged)
->8     belong  >0              not stripped
->8     belong  0               stripped
->23    byte    x               - version %d
->22    byte    x               \b.%ld
-#
-0      beshort 0x6201          MIPSEL ECOFF executable
->20    beshort 03401           (impure)
->20    beshort 04001           (swapped)
->20    beshort 05401           (paged)
->8     belong  >0              not stripped
->8     belong  0               stripped
->23    byte    x               - version %ld
->22    byte    x               \b.%ld
-#
-# MIPS 2 additions
-#
-0      beshort 0x0163          MIPSEB MIPS-II ECOFF executable
->20    beshort 0407            (impure)
->20    beshort 0410            (swapped)
->20    beshort 0413            (paged)
->8     belong  >0              not stripped
->8     belong  0               stripped
->22    byte    x               - version %ld
->23    byte    x               \b.%ld
-#
-0      beshort 0x0166          MIPSEL-BE MIPS-II ECOFF executable
->20    beshort 0407            (impure)
->20    beshort 0410            (swapped)
->20    beshort 0413            (paged)
->8     belong  >0              not stripped
->8     belong  0               stripped
->22    byte    x               - version %ld
->23    byte    x               \b.%ld
-#
-0      beshort 0x6301          MIPSEB-LE MIPS-II ECOFF executable
->20    beshort 03401           (impure)
->20    beshort 04001           (swapped)
->20    beshort 05401           (paged)
->8     belong  >0              not stripped
->8     belong  0               stripped
->23    byte    x               - version %ld
->22    byte    x               \b.%ld
-#
-0      beshort 0x6601          MIPSEL MIPS-II ECOFF executable
->20    beshort 03401           (impure)
->20    beshort 04001           (swapped)
->20    beshort 05401           (paged)
->8     belong  >0              not stripped
->8     belong  0               stripped
->23    byte    x               - version %ld
->22    byte    x               \b.%ld
-#
-# MIPS 3 additions
-#
-0      beshort 0x0140          MIPSEB MIPS-III ECOFF executable
->20    beshort 0407            (impure)
->20    beshort 0410            (swapped)
->20    beshort 0413            (paged)
->8     belong  >0              not stripped
->8     belong  0               stripped
->22    byte    x               - version %ld
->23    byte    x               \b.%ld
-#
-0      beshort 0x0142          MIPSEL-BE MIPS-III ECOFF executable
->20    beshort 0407            (impure)
->20    beshort 0410            (swapped)
->20    beshort 0413            (paged)
->8     belong  >0              not stripped
->8     belong  0               stripped
->22    byte    x               - version %ld
->23    byte    x               \b.%ld
-#
-0      beshort 0x4001          MIPSEB-LE MIPS-III ECOFF executable
->20    beshort 03401           (impure)
->20    beshort 04001           (swapped)
->20    beshort 05401           (paged)
->8     belong  >0              not stripped
->8     belong  0               stripped
->23    byte    x               - version %ld
->22    byte    x               \b.%ld
-#
-0      beshort 0x4201          MIPSEL MIPS-III ECOFF executable
->20    beshort 03401           (impure)
->20    beshort 04001           (swapped)
->20    beshort 05401           (paged)
->8     belong  >0              not stripped
->8     belong  0               stripped
->23    byte    x               - version %ld
->22    byte    x               \b.%ld
-#
-0      beshort 0x180           MIPSEB Ucode
-0      beshort 0x182           MIPSEL-BE Ucode
-# 32bit core file
-0      belong  0xdeadadb0      IRIX core dump
->4     belong  1               of
->16    string  >\0             '%s'
-# 64bit core file
-0      belong  0xdeadad40      IRIX 64-bit core dump
->4     belong  1               of
->16    string  >\0             '%s'
-# N32bit core file
-0       belong 0xbabec0bb      IRIX N32 core dump
->4      belong 1               of
->16     string >\0             '%s'
-# New style crash dump file
-0      string  \x43\x72\x73\x68\x44\x75\x6d\x70        IRIX vmcore dump of
->36    string  >\0                                     '%s'
-# Trusted IRIX info
-0      string  SGIAUDIT        SGI Audit file
->8     byte    x               - version %d
->9     byte    x               \b.%ld
-#
-0      string  WNGZWZSC        Wingz compiled script
-0      string  WNGZWZSS        Wingz spreadsheet
-0      string  WNGZWZHP        Wingz help file
-#
-0      string  \#Inventor V    IRIS Inventor 1.0 file
-0      string  \#Inventor V2   Open Inventor 2.0 file
-# GLF is OpenGL stream encoding
-0      string  glfHeadMagic();         GLF_TEXT
-4      belong  0x7d000000              GLF_BINARY_LSB_FIRST
-4      belong  0x0000007d              GLF_BINARY_MSB_FIRST
-# GLS is OpenGL stream encoding; GLS is the successor of GLF
-0      string  glsBeginGLS(            GLS_TEXT
-4      belong  0x10000000              GLS_BINARY_LSB_FIRST
-4      belong  0x00000010              GLS_BINARY_MSB_FIRST
diff --git a/file/magic/Magdir/mirage b/file/magic/Magdir/mirage
deleted file mode 100644 (file)
index 73c3747..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# mirage:  file(1) magic for Mirage executables
-#
-# XXX - byte order?
-#
-0      long    31415           Mirage Assembler m.out executable
diff --git a/file/magic/Magdir/misctools b/file/magic/Magdir/misctools
deleted file mode 100644 (file)
index c32d52c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#-----------------------------------------------------------------------------
-# misctools:  file(1) magic for miscelanous UNIX tools.
-#
-0      string          %%!!            X-Post-It-Note text
-0      string          BEGIN:VCALENDAR         vCalendar calendar file
diff --git a/file/magic/Magdir/mkid b/file/magic/Magdir/mkid
deleted file mode 100644 (file)
index dfb2d93..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-
-#------------------------------------------------------------------------------
-# mkid:  file(1) magic for mkid(1) databases
-#
-# ID is the binary tags database produced by mkid(1).
-#
-# XXX - byte order?
-#
-0      string          \311\304        ID tags data
->2     short           >0              version %d
diff --git a/file/magic/Magdir/mlssa b/file/magic/Magdir/mlssa
deleted file mode 100644 (file)
index 21ab61e..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# mlssa: file(1) magic for MLSSA datafiles
-#
-0              lelong          0xffffabcd      MLSSA datafile,
->4             leshort         x               algorithm %d,
->10            lelong          x               %d samples
diff --git a/file/magic/Magdir/mmdf b/file/magic/Magdir/mmdf
deleted file mode 100644 (file)
index 72cd9f3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-
-#------------------------------------------------------------------------------
-# mmdf:  file(1) magic for MMDF mail files
-#
-0      string  \001\001\001\001        MMDF mailbox
diff --git a/file/magic/Magdir/modem b/file/magic/Magdir/modem
deleted file mode 100644 (file)
index 73e747e..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#------------------------------------------------------------------------------
-# modem:  file(1) magic for modem programs
-#
-# From: Florian La Roche <florian@knorke.saar.de>
-4      string          Research,       Digifax-G3-File
->29    byte            1               , fine resolution
->29    byte            0               , normal resolution
-
-0      short           0x0100          raw G3 data, byte-padded
-0      short           0x1400          raw G3 data
-#
-# Magic data for vgetty voice formats
-# (Martin Seine & Marc Eberhard)
-
-#
-# raw modem data version 1
-#
-0    string    RMD1      raw modem data
->4   string    >\0       (%s /
->20  short     >0        compression type 0x%04x)
-
-#
-# portable voice format 1
-#
-0    string    PVF1\n         portable voice format
->5   string    >\0       (binary %s)
-
-#
-# portable voice format 2
-#
-0    string    PVF2\n         portable voice format
->5   string >\0          (ascii %s)
-
diff --git a/file/magic/Magdir/motorola b/file/magic/Magdir/motorola
deleted file mode 100644 (file)
index bfe7ea0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-
-#------------------------------------------------------------------------------
-# motorola:  file(1) magic for Motorola 68K and 88K binaries
-#
-# 68K
-#
-0      beshort         0520            mc68k COFF
->18    beshort         ^00000020       object
->18    beshort         &00000020       executable
->12    belong          >0              not stripped
->168   string          .lowmem         Apple toolbox
->20    beshort         0407            (impure)
->20    beshort         0410            (pure)
->20    beshort         0413            (demand paged)
->20    beshort         0421            (standalone)
-0      beshort         0521            mc68k executable (shared)
->12    belong          >0              not stripped
-0      beshort         0522            mc68k executable (shared demand paged)
->12    belong          >0              not stripped
-#
-# Motorola/UniSoft 68K Binary Compatibility Standard (BCS)
-#
-0      beshort         0554            68K BCS executable
-#
-# 88K
-#
-# Motorola/88Open BCS
-#
-0      beshort         0555            88K BCS executable
-#
-# Motorola S-Records, from Gerd Truschinski <gt@freebsd.first.gmd.de>
-0   string      S0          Motorola S-Record; binary data in text format
-
-# ATARI ST relocatable PRG
-#
-# from Oskar Schirmer <schirmer@scara.com> Feb 3, 2001
-# (according to Roland Waldi, Oct 21, 1987)
-# besides the magic 0x601a, the text segment size is checked to be
-# not larger than 1 MB (which is a lot on ST).
-# The additional 0x601b distinction I took from Doug Lee's magic.
-0      belong&0xFFFFFFF0       0x601A0000      Atari ST M68K contiguous executable
->2     belong                  x               (txt=%ld,
->6     belong                  x               dat=%ld,
->10    belong                  x               bss=%ld,
->14    belong                  x               sym=%ld)
-0      belong&0xFFFFFFF0       0x601B0000      Atari ST M68K non-contig executable
->2     belong                  x               (txt=%ld,
->6     belong                  x               dat=%ld,
->10    belong                  x               bss=%ld,
->14    belong                  x               sym=%ld)
-
-# Atari ST/TT... program format (sent by Wolfram Kleff <kleff@cs.uni-bonn.de>)
-0       beshort         0x601A          Atari 68xxx executable,
->2      belong          x               text len %lu,
->6      belong          x               data len %lu,
->10     belong          x               BSS len %lu,
->14     belong          x               symboltab len %lu,
->18     belong          0
->22     belong          &0x01           fastload flag,
->22     belong          &0x02           may be loaded to alternate RAM,
->22     belong          &0x04           malloc may be from alternate RAM,
->22     belong          x               flags: 0x%lX,
->26     beshort         0               no relocation tab
->26     beshort         !0              + relocation tab
->30     string          SFX             [Self-Extracting LZH SFX archive]
->38     string          SFX             [Self-Extracting LZH SFX archive]
->44     string          ZIP!            [Self-Extracting ZIP SFX archive]
-
-0       beshort         0x0064          Atari 68xxx CPX file
->8      beshort         x               (version %04lx)
diff --git a/file/magic/Magdir/msdos b/file/magic/Magdir/msdos
deleted file mode 100644 (file)
index b3e91d9..0000000
+++ /dev/null
@@ -1,523 +0,0 @@
-
-#------------------------------------------------------------------------------
-# msdos:  file(1) magic for MS-DOS files
-#
-
-# .BAT files (Daniel Quinlan, quinlan@yggdrasil.com)
-0      string/c        @echo\ off      MS-DOS batch file text
-
-# OS/2 batch files are REXX. the second regex is a bit generic, oh well
-# the matched commands seem to be common in REXX and uncommon elsewhere
-100 regex/c =^\\s*call\s+rxfuncadd.*sysloadfu OS/2 REXX batch file text
-100 regex/c =^\\s*say\ ['"] OS/2 REXX batch file text
-
-0      leshort         0x14c   MS Windows COFF Intel 80386 object file
-#>4    ledate          x       stamp %s
-0      leshort         0x166   MS Windows COFF MIPS R4000 object file
-#>4    ledate          x       stamp %s
-0      leshort         0x184   MS Windows COFF Alpha object file
-#>4    ledate          x       stamp %s
-0      leshort         0x268   MS Windows COFF Motorola 68000 object file
-#>4    ledate          x       stamp %s
-0      leshort         0x1f0   MS Windows COFF PowerPC object file
-#>4    ledate          x       stamp %s
-0      leshort         0x290   MS Windows COFF PA-RISC object file
-#>4    ledate          x       stamp %s
-
-# XXX - according to Microsoft's spec, at an offset of 0x3c in a
-# PE-format executable is the offset in the file of the PE header;
-# unfortunately, that's a little-endian offset, and there's no way
-# to specify an indirect offset with a specified byte order.
-# So, for now, we assume the standard MS-DOS stub, which puts the
-# PE header at 0x80 = 128.
-#
-# Required OS version and subsystem version were 4.0 on some NT 3.51
-# executables built with Visual C++ 4.0, so it's not clear that
-# they're interesting.  The user version was 0.0, but there's
-# probably some linker directive to set it.  The linker version was
-# 3.0, except for one ".exe" which had it as 4.20 (same damn linker!).
-#
-# many of the compressed formats were extraced from IDARC 1.23 source code
-#
-0      string  MZ
->0 string MZ\0\0\0\0\0\0\0\0\0\0PE\0\0 PE executable for MS Windows
->>&18  leshort&0x2000  >0      (DLL)
->>&88  leshort         0       (unknown subsystem)
->>&88  leshort         1       (native)
->>&88  leshort         2       (GUI)
->>&88  leshort         3       (console)
->>&88  leshort         7       (POSIX)
->>&0   leshort         0x0     unknown processor
->>&0   leshort         0x14c   Intel 80386
->>&0   leshort         0x166   MIPS R4000
->>&0   leshort         0x184   Alpha
->>&0   leshort         0x268   Motorola 68000
->>&0   leshort         0x1f0   PowerPC
->>&0   leshort         0x290   PA-RISC
->>&18  leshort&0x0100  >0      32-bit
->>&18  leshort&0x1000  >0      system file
->>&0xf4 search/0x140 \x0\x40\x1\x0
->>>(&0.l+(4)) string MSCF \b, WinHKI CAB self-extracting archive
-
->0x18  leshort >0x3f
->>(0x3c.l) string PE\0\0 PE executable
-# hooray, there's a DOS extender using the PE format, with a valid PE
-# executable inside (which just prints a message and exits if run in win)
->>>(8.s*16) string 32STUB for MS-DOS, 32rtm DOS extender
->>>(8.s*16) string !32STUB for MS Windows
->>>>(0x3c.l+22)        leshort&0x2000  >0      (DLL)
->>>>(0x3c.l+92)        leshort         0       (unknown subsystem)
->>>>(0x3c.l+92)        leshort         1       (native)
->>>>(0x3c.l+92)        leshort         2       (GUI)
->>>>(0x3c.l+92)        leshort         3       (console)
->>>>(0x3c.l+92)        leshort         7       (POSIX)
->>>>(0x3c.l+4) leshort         0x0     unknown processor
->>>>(0x3c.l+4) leshort         0x14c   Intel 80386
->>>>(0x3c.l+4) leshort         0x166   MIPS R4000
->>>>(0x3c.l+4) leshort         0x184   Alpha
->>>>(0x3c.l+4) leshort         0x268   Motorola 68000
->>>>(0x3c.l+4) leshort         0x1f0   PowerPC
->>>>(0x3c.l+4) leshort         0x290   PA-RISC
->>>>(0x3c.l+22)        leshort&0x0100  >0      32-bit
->>>>(0x3c.l+22)        leshort&0x1000  >0      system file
-
->>>>(0x3c.l+0xf8)      string          UPX0 \b, UPX compressed
->>>>(0x3c.l+0xf8)      search/0x140    PEC2 \b, PECompact2 compressed
->>>>(0x3c.l+0xf8)      search/0x140    UPX2
->>>>>(&0x10.l+(-4))    string          PK\3\4 \b, ZIP self-extracting archive (Info-Zip)
->>>>(0x3c.l+0xf8)      search/0x140    .idata
->>>>>(&0xe.l+(-4))     string          PK\3\4 \b, ZIP self-extracting archive (Info-Zip)
->>>>>(&0xe.l+(-4))     string          ZZ0 \b, ZZip self-extracting archive
->>>>>(&0xe.l+(-4))     string          ZZ1 \b, ZZip self-extracting archive
->>>>(0x3c.l+0xf8)      search/0x140    .rsrc
->>>>>(&0x0f.l+(-4))    string          a\\\4\5 \b, WinHKI self-extracting archive
->>>>>(&0x0f.l+(-4))    string          Rar! \b, RAR self-extracting archive
->>>>>(&0x0f.l+(-4))    search/0x3000   MSCF \b, InstallShield self-extracting archive
->>>>>(&0x0f.l+(-4))    search/32       Nullsoft \b, Nullsoft Installer self-extracting archive
->>>>(0x3c.l+0xf8)      search/0x140    .data
->>>>>(&0x0f.l)         string          WEXTRACT \b, MS CAB-Installer self-extracting archive
->>>>(0x3c.l+0xf8)      search/0x140    .petite\0 \b, Petite compressed
->>>>>(0x3c.l+0xf7)     byte            x
->>>>>>(&0x104.l+(-4))  string          =!sfx! \b, ACE self-extracting archive
->>>>(0x3c.l+0xf8)      search/0x140    .WISE \b, WISE installer self-extracting archive
->>>>(0x3c.l+0xf8)      search/0x140    .dz\0\0\0 \b, Dzip self-extracting archive
->>>>(0x3c.l+0xf8)      search/0x140    .reloc
->>>>>(&0xe.l+(-4))     search/0x180    PK\3\4 \b, ZIP self-extracting archive (WinZip)
-
->>>>&(0x3c.l+0xf8)     search/0x100    _winzip_ \b, ZIP self-extracting archive (WinZip)
->>>>&(0x3c.l+0xf8)     search/0x100    SharedD \b, Microsoft Installer self-extracting archive
->>>>0x30               string          Inno \b, InnoSetup self-extracting archive
-
->>(0x3c.l)             string          NE NE executable
->>>(0x3c.l+0x36)       byte            0 (unknown OS)
->>>(0x3c.l+0x36)       byte            1 for OS/2 1.x
->>>(0x3c.l+0x36)       byte            2 for MS Windows 3.x
->>>(0x3c.l+0x36)       byte            3 for MS-DOS
->>>(0x3c.l+0x36)       byte            >3 (unknown OS)
->>>(0x3c.l+0x36)       byte            0x81 for MS-DOS, Phar Lap DOS extender
->>>(0x3c.l+0x0c)       leshort&0x8003  0x8002 (DLL)
->>>(0x3c.l+0x0c)       leshort&0x8003  0x8001 (driver)
->>>&(&0x24.s-1)                string          ARJSFX \b, ARJ self-extracting archive
->>>(0x3c.l+0x70)       search/0x80     WinZip(R)\ Self-Extractor \b, ZIP self-extracting archive (WinZip)
-
->>(0x3c.l)             string          LX\0\0 LX executable
->>>(0x3c.l+0x0a)       leshort         <1 (unknown OS)
->>>(0x3c.l+0x0a)       leshort         1 for OS/2
->>>(0x3c.l+0x0a)       leshort         2 for MS Windows
->>>(0x3c.l+0x0a)       leshort         3 for DOS
->>>(0x3c.l+0x0a)       leshort         >3 (unknown OS)
->>>(0x3c.l+0x10)       lelong&0x28000  =0x8000 (DLL)
->>>(0x3c.l+0x10)       lelong&0x20000  >0 (device driver)
->>>(0x3c.l+0x10)       lelong&0x300    0x300 (GUI)
->>>(0x3c.l+0x10)       lelong&0x28300  <0x300 (console)
->>>(0x3c.l+0x08)       leshort         1 i80286
->>>(0x3c.l+0x08)       leshort         2 i80386
->>>(0x3c.l+0x08)       leshort         3 i80486
->>>(8.s*16)            string          emx \b, emx
->>>>&1                 string          x %s
->>>&(&0x54.l-3)                string          arjsfx \b, ARJ self-extracting archive
-
-# MS Windows system file, supposedly a collection of LE executables
->>(0x3c.l)             string          W3 W3 executable for MS Windows
-
->>(0x3c.l)             string          LE\0\0 LE executable
->>>(0x3c.l+0x0a)       leshort         1
-# some DOS extenders use LE files with OS/2 header
->>>>0x240              search/0x100    DOS/4G for MS-DOS, DOS4GW DOS extender
->>>>0x240              search/0x200    WATCOM\ C/C++ for MS-DOS, DOS4GW DOS extender
->>>>0x440              search/0x100    CauseWay\ DOS\ Extender for MS-DOS, CauseWay DOS extender
->>>>0x40               search/0x40     PMODE/W for MS-DOS, PMODE/W DOS extender
->>>>0x40               search/0x40     STUB/32A for MS-DOS, DOS/32A DOS extender (stub)
->>>>0x40               search/0x80     STUB/32C for MS-DOS, DOS/32A DOS extender (configurable stub)
->>>>0x40               search/0x80     DOS/32A for MS-DOS, DOS/32A DOS extender (embedded)
-# this is a wild guess; hopefully it is a specific signature
->>>>&0x24              lelong          <0x50
->>>>>(&0x4c.l)         string          \xfc\xb8WATCOM
->>>>>>&0               search/8        3\xdbf\xb9 \b, 32Lite compressed
-# another wild guess: if real OS/2 LE executables exist, they probably have higher start EIP
-#>>>>(0x3c.l+0x1c)     lelong          >0x10000 for OS/2
-# fails with DOS-Extenders.
->>>(0x3c.l+0x0a)       leshort         2 for MS Windows
->>>(0x3c.l+0x0a)       leshort         3 for MS-DOS
->>>(0x3c.l+0x0a)       leshort         4 for MS Windows (VxD)
->>>(&0x7c.l+0x26)      string          UPX \b, UPX compressed
->>>&(&0x54.l-3)                string          UNACE \b, ACE self-extracting archive
-
-# looks like ASCII, probably some embedded copyright message.
-# and definitely not NE/LE/LX/PE
->>0x3c         lelong  >0x20000000
->>>(4.s*512)   leshort !0x014c MZ executable for MS-DOS
-# header data too small for extended executable
->2             long    !0
->>0x18         leshort <0x40
->>>(4.s*512)   leshort !0x014c
-
->>>>&(2.s-514) string  !LE
->>>>>&-2       string  !BW MZ executable for MS-DOS
->>>>&(2.s-514) string  LE LE executable
->>>>>0x240     search/0x100    DOS/4G for MS-DOS, DOS4GW DOS extender
-# educated guess since indirection is still not capable enough for complex offset
-# calculations (next embedded executable would be at &(&2*512+&0-2)
-# I suspect there are only LE executables in these multi-exe files
->>>>&(2.s-514) string  BW
->>>>>0x240     search/0x100    DOS/4G LE executable for MS-DOS, DOS4GW DOS extender (embedded)
->>>>>0x240     search/0x100    !DOS/4G BW executable collection for MS-DOS
-
-# This sequence skips to the first COFF segment, usually .text
->(4.s*512)     leshort         0x014c COFF executable
->>(8.s*16)     string          go32stub for MS-DOS, DJGPP go32 DOS extender
->>(8.s*16)     string          emx
->>>&1          string          x for DOS, Win or OS/2, emx %s
->>&(&0x42.l-3) byte            x 
->>>&0x26       string          UPX \b, UPX compressed
-# and yet another guess: small .text, and after large .data is unusal, could be 32lite
->>&0x2c                search/0xa0     .text
->>>&0x0b       lelong          <0x2000
->>>>&0         lelong          >0x6000 \b, 32lite compressed
-
->(8.s*16) string $WdX \b, WDos/X DOS extender
-
-# .EXE formats (Greg Roelofs, newt@uchicago.edu)
-#
->0x35   string  \x8e\xc0\xb9\x08\x00\xf3\xa5\x4a\x75\xeb\x8e\xc3\x8e\xd8\x33\xff\xbe\x30\x00\x05 \b, aPack compressed
->0xe7  string  LH/2\ Self-Extract \b, %s
->0x1c  string  diet \b, diet compressed
->0x1c  string  LZ09 \b, LZEXE v0.90 compressed
->0x1c  string  LZ91 \b, LZEXE v0.91 compressed
->0x1c   string  tz \b, TinyProg compressed
->0x1e  string  PKLITE \b, %s compressed
->0x64   string  W\ Collis\0\0 \b, Compack compressed
->0x24  string  LHa's\ SFX \b, LHa self-extracting archive
->0x24  string  LHA's\ SFX \b, LHa self-extracting archive
->0x24   string  \ $ARX \b, ARX self-extracting archive
->0x24   string  \ $LHarc \b, LHarc self-extracting archive
->0x20   string  SFX\ by\ LARC \b, LARC self-extracting archive
->1638  string  -lh5- \b, LHa self-extracting archive v2.13S
->0x17888 string        Rar! \b, RAR self-extracting archive
->0x40   string aPKG \b, aPackage self-extracting archive
-
->32      string AIN
->>35     string 2              \b, AIN 2.x compressed
->>35     string <2             \b, AIN 1.x compressed
->>35     string >2             \b, AIN 1.x compressed
->28      string UC2X           \b, UCEXE compressed
->28      string WWP\           \b, WWPACK compressed
-
-# skip to the end of the exe
->(4.s*512)     long    x 
->>&(2.s-517)   byte    x 
->>>&0  string          PK\3\4 \b, ZIP self-extracting archive
->>>&0  string          Rar! \b, RAR self-extracting archive
->>>&0  string          =!\x11 \b, AIN 2.x self-extracting archive
->>>&0  string          =!\x12 \b, AIN 2.x self-extracting archive
->>>&0  string          =!\x17 \b, AIN 1.x self-extracting archive
->>>&0  string          =!\x18 \b, AIN 1.x self-extracting archive
->>>&7  search/400      **ACE** \b, ACE self-extracting archive
->>>&0  search/0x480    UC2SFX\ Header \b, UC2 self-extracting archive
-
->0x1c  string          RJSX \b, ARJ self-extracting archive
-# winarj stores a message in the stub instead of the sig in the MZ header
->0x20  search/0xe0     aRJsfX \b, ARJ self-extracting archive
-
-# a few unknown ZIP sfxes, no idea if they are needed or if they are
-# already captured by the generic patterns above
->122           string          Windows\ self-extracting\ ZIP   \b, ZIP self-extracting archive
->(8.s*16)      search/0x20     PKSFX \b, ZIP self-extracting archive (PKZIP)
-# TODO: how to add this? >FileSize-34 string Windows\ Self-Installing\ Executable \b, ZIP self-extracting archive
-#
-
-# TELVOX Teleinformatica CODEC self-extractor for OS/2:
->49801 string  \x79\xff\x80\xff\x76\xff        \b, CODEC archive v3.21
->>49824        leshort         =1                      \b, 1 file
->>49824        leshort         >1                      \b, %u files
-
-# .COM formats (Daniel Quinlan, quinlan@yggdrasil.com)
-# Uncommenting only the first two lines will cover about 2/3 of COM files,
-# but it isn't feasible to match all COM files since there must be at least
-# two dozen different one-byte "magics".
-0      byte            0xe9            MS-DOS executable (COM)
->6     string          SFX\ of\ LHarc  (%s)
-0      byte            0x8c            MS-DOS executable (COM)
-# 0xeb conflicts with "sequent" magic
-0      byte            0xeb            MS-DOS executable (COM)
->4     string          \ $ARX          \b, ARX self-extracting archive
->4     string          \ $LHarc        \b, LHarc self-extracting archive
->0x20e string          SFX\ by\ LARC   \b, LARC self-extracting archive
-0      byte            0xb8            COM executable for MS-DOS
-# many compressed/converted COMs start with a copy loop instead of a jump
-0x6    search/0xa      \xfc\x57\xf3\xa5\xc3    COM executable for MS-DOS
-0x6    search/0xa      \xfc\x57\xf3\xa4\xc3    COM executable for MS-DOS
->0x18  search/0x10     \x50\xa4\xff\xd5\x73    \b, aPack compressed
-0x3c   string          W\ Collis\0\0           COM executable for MS-DOS, Compack compressed
-# FIXME: missing diet .com compression
-
-# miscellaneous formats
-0      string          LZ              MS-DOS executable (built-in)
-#0     byte            0xf0            MS-DOS program library data
-#
-
-#
-# Windows Registry files.
-#
-0      string          regf            Windows NT registry file
-0      string          CREG            Windows 95 registry file
-
-
-# AAF files:
-# <stuartc@rd.bbc.co.uk> Stuart Cunningham
-0      string  \320\317\021\340\241\261\032\341AAFB\015\000OM\006\016\053\064\001\001\001\377                  AAF legacy file using MS Structured Storage
->30    byte    9               (512B sectors)
->30    byte    12              (4kB sectors)
-0      string  \320\317\021\340\241\261\032\341\001\002\001\015\000\002\000\000\006\016\053\064\003\002\001\001                        AAF file using MS Structured Storage
->30    byte    9               (512B sectors)
->30    byte    12              (4kB sectors)
-
-# Popular applications
-2080   string  Microsoft\ Word\ 6.0\ Document  %s
-2080   string  Documento\ Microsoft\ Word\ 6 Spanish Microsoft Word 6 document data
-# Pawel Wiecek <coven@i17linuxb.ists.pwr.wroc.pl> (for polish Word)
-2112   string  MSWordDoc                       Microsoft Word document data
-#
-0      belong  0x31be0000                      Microsoft Word Document
-#
-0       string  PO^Q`                          Microsoft Word 6.0 Document
-#
-0      string  \376\067\0\043                  Microsoft Office Document
-0      string  \320\317\021\340\241\261\032\341        Microsoft Office Document
-0      string  \333\245-\0\0\0                 Microsoft Office Document
-#
-2080   string  Microsoft\ Excel\ 5.0\ Worksheet        %s
-2080   string  Foglio\ di\ lavoro\ Microsoft\ Exce     %s
-#
-# Pawel Wiecek <coven@i17linuxb.ists.pwr.wroc.pl> (for polish Excel)
-2114   string  Biff5           Microsoft Excel 5.0 Worksheet
-# Italian MS-Excel
-2121   string  Biff5           Microsoft Excel 5.0 Worksheet
-0      string  \x09\x04\x06\x00\x00\x00\x10\x00        Microsoft Excel Worksheet
-#
-0      belong  0x00001a00      Lotus 1-2-3
->4     belong  0x00100400      wk3 document data
->4     belong  0x02100400      wk4 document data
->4     belong  0x07800100      fm3 or fmb document data
->4     belong  0x07800000      fm3 or fmb document data
-#
-0      belong  0x00000200      Lotus 1-2-3
->4     belong  0x06040600      wk1 document data
->4     belong  0x06800200      fmt document data
-
-# Help files
-0      string  ?_\3\0          MS Windows Help Data
-
-#  DeIsL1.isu what this is I don't know
-0      string  \161\250\000\000\001\002        DeIsL1.isu whatever that is
-
-# Winamp .avs
-#0     string  Nullsoft\ AVS\ Preset\ \060\056\061\032 A plug in for Winamp ms-windows Freeware media player
-0      string  Nullsoft\ AVS\ Preset\  Winamp plug in
-
-# Hyper terminal:
-0      string  HyperTerminal\  hyperterm
->15    string  1.0\ --\ HyperTerminal\ data\ file      MS-windows Hyperterminal
-
-# Windows Metafont .WMF
-0      string  \327\315\306\232\000\000\000\000\000\000        ms-windows metafont .wmf
-
-#tz3 files whatever that is (MS Works files)
-0      string  \003\001\001\004\070\001\000\000        tz3 ms-works file
-0      string  \003\002\001\004\070\001\000\000        tz3 ms-works file
-0      string  \003\003\001\004\070\001\000\000        tz3 ms-works file
-
-# PGP sig files .sig
-#0 string \211\000\077\003\005\000\063\237\127 065 to  \027\266\151\064\005\045\101\233\021\002 PGP sig
-0 string \211\000\077\003\005\000\063\237\127\065\027\266\151\064\005\045\101\233\021\002 PGP sig
-0 string \211\000\077\003\005\000\063\237\127\066\027\266\151\064\005\045\101\233\021\002 PGP sig
-0 string \211\000\077\003\005\000\063\237\127\067\027\266\151\064\005\045\101\233\021\002 PGP sig
-0 string \211\000\077\003\005\000\063\237\127\070\027\266\151\064\005\045\101\233\021\002 PGP sig
-0 string \211\000\077\003\005\000\063\237\127\071\027\266\151\064\005\045\101\233\021\002 PGP sig
-0 string \211\000\225\003\005\000\062\122\207\304\100\345\042 PGP sig
-
-# windows zips files .dmf
-0      string  MDIF\032\000\010\000\000\000\372\046\100\175\001\000\001\036\001\000 MS Windows special zipped file
-
-
-# Windows help file FTG FTS
-0      string  \164\146\115\122\012\000\000\000\001\000\000\000        MS Windows help cache
-
-# grp old windows 3.1 group files
-0 string  \120\115\103\103     MS Windows 3.1 group files
-
-
-# lnk files windows symlinks
-0      string  \114\000\000\000\001\024\002\000\000\000\000\000\300\000\000\000\000\000\000\106        MS Windows shortcut
-
-#ico files
-0      string  \102\101\050\000\000\000\056\000\000\000\000\000\000\000        Icon for MS Windows
-
-# Windows icons (Ian Springer <ips@fpk.hp.com>)
-0      string  \000\000\001\000        MS Windows icon resource
->4     byte    1                       - 1 icon
->4     byte    >1                      - %d icons
->>6    byte    >0                      \b, %dx
->>>7   byte    >0                      \b%d
->>8    byte    0                       \b, 256-colors
->>8    byte    >0                      \b, %d-colors
-
-
-# .chr files
-0      string  PK\010\010BGI   Borland font 
->4     string  >\0     %s
-# then there is a copyright notice
-
-
-# .bgi files
-0      string  pk\010\010BGI   Borland device 
->4     string  >\0     %s
-# then there is a copyright notice
-
-
-# recycled/info the windows trash bin index
-9      string  \000\000\000\030\001\000\000\000 MS Windows recycled bin info
-
-
-##### put in Either Magic/font or Magic/news
-# Acroread or something  files wrongly identified as G3  .pfm
-# these have the form \000 \001 any? \002 \000 \000
-# or \000 \001 any? \022 \000 \000
-#0     string  \000\001 pfm?
-#>3    string  \022\000\000Copyright\  yes
-#>3    string  \002\000\000Copyright\  yes
-#>3    string  >\0     oops, not a font file. Cancel that.
-#it clashes with ttf files so put it lower down.
-
-# From Doug Lee via a FreeBSD pr
-9      string          GERBILDOC       First Choice document
-9      string          GERBILDB        First Choice database
-9      string          GERBILCLIP      First Choice database
-0      string          GERBIL          First Choice device file
-9      string          RABBITGRAPH     RabbitGraph file
-0      string          DCU1            Borland Delphi .DCU file
-0      string          =!<spell>       MKS Spell hash list (old format)
-0      string          =!<spell2>      MKS Spell hash list
-# Too simple - MPi
-#0     string          AH              Halo(TM) bitmapped font file
-0      lelong          0x08086b70      TurboC BGI file
-0      lelong          0x08084b50      TurboC Font file
-
-# WARNING: below line conflicts with Infocom game data Z-machine 3
-0      byte            0x03            DBase 3 data file
->0x04  lelong          0               (no records)
->0x04  lelong          >0              (%ld records)
-0      byte            0x83            DBase 3 data file with memo(s)
->0x04  lelong          0               (no records)
->0x04  lelong          >0              (%ld records)
-0      leshort         0x0006          DBase 3 index file
-0      string          PMCC            Windows 3.x .GRP file
-1      string          RDC-meg         MegaDots 
->8     byte            >0x2F           version %c
->9     byte            >0x2F           \b.%c file
-0      lelong          0x4C
->4     lelong          0x00021401      Windows shortcut file
-
-# DOS EPS Binary File Header
-# From: Ed Sznyter <ews@Black.Market.NET>
-0      belong          0xC5D0D3C6      DOS EPS Binary File
->4     long            >0              Postscript starts at byte %d
->>8    long            >0              length %d
->>>12  long            >0              Metafile starts at byte %d
->>>>16 long            >0              length %d
->>>20  long            >0              TIFF starts at byte %d
->>>>24 long            >0              length %d
-
-# TNEF magic From "Joomy" <joomy@se-ed.net> 
-0      leshort         0x223e9f78      TNEF
-
-# HtmlHelp files (.chm)
-0      string  ITSF\003\000\000\000\x60\000\000\000\001\000\000\000    MS Windows HtmlHelp Data
-
-# GFA-BASIC (Wolfram Kleff)
-2      string          GFA-BASIC3      GFA-BASIC 3 data
-
-#------------------------------------------------------------------------------
-# From Stuart Caie <kyzer@4u.net> (developer of cabextract)
-# Microsoft Cabinet files
-0      string          MSCF\0\0\0\0    Microsoft Cabinet archive data
->8     lelong          x               \b, %u bytes
->28    leshort         1               \b, 1 file
->28    leshort         >1              \b, %u files
-
-# InstallShield Cabinet files
-0      string          ISc(            InstallShield Cabinet archive data
->5     byte&0xf0       =0x60           version 6,
->5     byte&0xf0       !0x60           version 4/5,
->(12.l+40)     lelong  x               %u files
-
-# Windows CE package files
-0      string          MSCE\0\0\0\0    Microsoft WinCE install header
->20    lelong          0               \b, architecture-independent
->20    lelong          103             \b, Hitachi SH3
->20    lelong          104             \b, Hitachi SH4
->20    lelong          0xA11           \b, StrongARM
->20    lelong          4000            \b, MIPS R4000
->20    lelong          10003           \b, Hitachi SH3
->20    lelong          10004           \b, Hitachi SH3E
->20    lelong          10005           \b, Hitachi SH4
->20    lelong          70001           \b, ARM 7TDMI
->52    leshort         1               \b, 1 file
->52    leshort         >1              \b, %u files
->56    leshort         1               \b, 1 registry entry
->56    leshort         >1              \b, %u registry entries
-
-# Outlook Personal Folders
-0      lelong  0x4E444221      Microsoft Outlook binary email folder
-
-# From: Dirk Jagdmann <doj@cubic.org>
-0      lelong  0x00035f3f      Windows 3.x help file
-
-# Christophe Monniez
-0      string  Client\ UrlCache\ MMF   Microsoft Internet Explorer Cache File
->20    string  >\0                     Version %s
-0      string  \xCF\xAD\x12\xFE        Microsoft Outlook Express DBX File
->4     byte    =0xC5                   Message database
->4     byte    =0xC6                   Folder database
->4     byte    =0xC7                   Accounts informations
->4     byte    =0x30                   Offline database
-
-
-# Windows Enhanced Metafile (EMF)
-# See msdn.microsoft.com/archive/en-us/dnargdi/html/msdn_enhmeta.asp 
-# for further information. Note that "0 lelong 1" should be true i.e.
-# the first double word in the file should be 1. With the extended
-# syntax available by some file commands you could write:
-# 0 lelong 1
-# &40 ulelong 0x464D4520 Windows Enhanced Metafile (EMF) image data
-40     ulelong 0x464D4520      Windows Enhanced Metafile (EMF) image data
->44    ulelong x               version 0x%x.
-# If the description has a length greater than zero, it exists and is 
-# found at offset (*64).
->64    ulelong >0              Description available at offset 0x%x
->>60   ulelong >0              (length 0x%x)
-# Note it would be better to print out the description, which is found 
-# as below. Unfortunately the following only prints out the first couple
-# of characters instead of all the "description length"
-# number of characters -- indicated by the ulelong at offset 60.
->>(64.l)  lestring16 >0 Description: %15.15s
diff --git a/file/magic/Magdir/msvc b/file/magic/Magdir/msvc
deleted file mode 100644 (file)
index 95853fe..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#------------------------------------------------------------------------------
-# msvc:  file(1) magic for msvc
-# "H. Nanosecond" <aldomel@ix.netcom.com>
-# Microsoft visual C
-# 
-# I have version 1.0
-
-# .aps
-0      string  HWB\000\377\001\000\000\000     Microsoft Visual C .APS file
-
-# .ide
-#too long 0    string  \102\157\162\154\141\156\144\040\103\053\053\040\120\162\157\152\145\143\164\040\106\151\154\145\012\000\032\000\002\000\262\000\272\276\372\316        MSVC .ide
-0      string  \102\157\162\154\141\156\144\040\103\053\053\040\120\162\157    MSVC .ide
-
-# .res
-0      string  \000\000\000\000\040\000\000\000\377    MSVC .res
-0      string  \377\003\000\377\001\000\020\020\350    MSVC .res
-0      string  \377\003\000\377\001\000\060\020\350    MSVC .res
-
-#.lib
-0      string  \360\015\000\000        Microsoft Visual C library
-0      string  \360\075\000\000        Microsoft Visual C library
-0      string  \360\175\000\000        Microsoft Visual C library
-
-#.pch
-0      string  DTJPCH0\000\022\103\006\200     Microsoft Visual C .pch
-
-# .pdb
-# too long 0   string  Microsoft\ C/C++\ program\ database\ 
-0      string  Microsoft\ C/C++\       MSVC program database
->18    string  program\ database\      
->33    string  >\0     ver %s
-
-#.sbr
-0      string  \000\002\000\007\000    MSVC .sbr
->5     string  >\0     %s
-
-#.bsc
-0      string  \002\000\002\001        MSVC .bsc
-
-#.wsp
-0      string  1.00\ .0000.0000\000\003        MSVC .wsp version 1.0000.0000
-# these seem to start with the version and contain menus
diff --git a/file/magic/Magdir/natinst b/file/magic/Magdir/natinst
deleted file mode 100644 (file)
index 5deb9de..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#-----------------------------------------------------------------------------
-# natinst:  file(1) magic for National Instruments Code Files
-
-#
-# From <egamez@fcfm.buap.mx> Enrique Gámez-Flores
-# version 1
-# Many formats still missing, we use, for the moment LabVIEW
-# We guess VXI format file. VISA, LabWindowsCVI, BridgeVIEW, etc, are missing
-#
-0       string          RSRC            National Instruments,
-# Check if it's a LabVIEW File
->8      string          LV              LabVIEW File,
-# Check wich kind of file is
->>10    string          SB              Code Resource File, data
->>10    string          IN              Virtual Instrument Program, data
->>10    string          AR              VI Library, data
-# This is for Menu Libraries
->8      string          LMNULBVW        Portable File Names, data
-# This is for General Resources
->8      string          rsc             Resources File, data
-# This is for VXI Package
-0       string          VMAP            National Instruments, VXI File, data
diff --git a/file/magic/Magdir/ncr b/file/magic/Magdir/ncr
deleted file mode 100644 (file)
index 987c94e..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-
-#------------------------------------------------------------------------------
-# ncr:  file(1) magic for NCR Tower objects
-#
-# contributed by
-# Michael R. Wayne  ***  TMC & Associates  ***  INTERNET: wayne@ford-vax.arpa
-# uucp: {philabs | pyramid} !fmsrl7!wayne   OR   wayne@fmsrl7.UUCP
-#
-0      beshort         000610  Tower/XP rel 2 object
->12       belong               >0      not stripped
->20       beshort              0407    executable
->20       beshort              0410    pure executable
->22       beshort              >0      - version %ld
-0      beshort         000615  Tower/XP rel 2 object
->12       belong               >0      not stripped
->20       beshort              0407    executable
->20       beshort              0410    pure executable
->22       beshort              >0      - version %ld
-0      beshort         000620  Tower/XP rel 3 object
->12       belong               >0      not stripped
->20       beshort              0407    executable
->20       beshort              0410    pure executable
->22       beshort              >0      - version %ld
-0      beshort         000625  Tower/XP rel 3 object
->12       belong               >0      not stripped
->20       beshort              0407    executable
->20       beshort              0410    pure executable
->22       beshort              >0      - version %ld
-0      beshort         000630  Tower32/600/400 68020 object
->12       belong               >0      not stripped
->20       beshort              0407    executable
->20       beshort              0410    pure executable
->22       beshort              >0      - version %ld
-0      beshort         000640  Tower32/800 68020
->18       beshort              &020000 w/68881 object
->18       beshort              &040000 compatible object
->18       beshort              &~060000        object
->20       beshort              0407    executable
->20       beshort              0413    pure executable
->12       belong               >0      not stripped
->22       beshort              >0      - version %ld
-0      beshort         000645  Tower32/800 68010
->18       beshort              &040000 compatible object
->18       beshort              &~060000 object
->20       beshort              0407    executable
->20       beshort              0413    pure executable
->12       belong               >0      not stripped
->22       beshort              >0      - version %ld
diff --git a/file/magic/Magdir/netbsd b/file/magic/Magdir/netbsd
deleted file mode 100644 (file)
index b6aae1a..0000000
+++ /dev/null
@@ -1,246 +0,0 @@
-
-#------------------------------------------------------------------------------
-# netbsd:  file(1) magic for NetBSD objects
-#
-# All new-style magic numbers are in network byte order.
-#
-
-0      lelong                  000000407       a.out NetBSD little-endian object file
->16    lelong                  >0              not stripped
-0      belong                  000000407       a.out NetBSD big-endian object file
->16    belong                  >0              not stripped
-
-0      belong&0377777777       041400413       a.out NetBSD/i386 demand paged
->0     byte                    &0x80           
->>20   lelong                  <4096           shared library
->>20   lelong                  =4096           dynamically linked executable
->>20   lelong                  >4096           dynamically linked executable
->0     byte                    ^0x80           executable
->16    lelong                  >0              not stripped
-0      belong&0377777777       041400410       a.out NetBSD/i386 pure
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80           executable
->16    lelong                  >0              not stripped
-0      belong&0377777777       041400407       a.out NetBSD/i386
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80
->>0    byte                    &0x40           position independent
->>20   lelong                  !0              executable
->>20   lelong                  =0              object file
->16    lelong                  >0              not stripped
-0      belong&0377777777       041400507       a.out NetBSD/i386 core
->12    string                  >\0             from '%s'
->32    lelong                  !0              (signal %d)
-
-0      belong&0377777777       041600413       a.out NetBSD/m68k demand paged
->0     byte                    &0x80           
->>20   belong                  <8192           shared library
->>20   belong                  =8192           dynamically linked executable
->>20   belong                  >8192           dynamically linked executable
->0     byte                    ^0x80           executable
->16    belong                  >0              not stripped
-0      belong&0377777777       041600410       a.out NetBSD/m68k pure
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80           executable
->16    belong                  >0              not stripped
-0      belong&0377777777       041600407       a.out NetBSD/m68k
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80
->>0    byte                    &0x40           position independent
->>20   belong                  !0              executable
->>20   belong                  =0              object file
->16    belong                  >0              not stripped
-0      belong&0377777777       041600507       a.out NetBSD/m68k core
->12    string                  >\0             from '%s'
->32    belong                  !0              (signal %d)
-
-0      belong&0377777777       042000413       a.out NetBSD/m68k4k demand paged
->0     byte                    &0x80           
->>20   belong                  <4096           shared library
->>20   belong                  =4096           dynamically linked executable
->>20   belong                  >4096           dynamically linked executable
->0     byte                    ^0x80           executable
->16    belong                  >0              not stripped
-0      belong&0377777777       042000410       a.out NetBSD/m68k4k pure
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80           executable
->16    belong                  >0              not stripped
-0      belong&0377777777       042000407       a.out NetBSD/m68k4k
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80
->>0    byte                    &0x40           position independent
->>20   belong                  !0              executable
->>20   belong                  =0              object file
->16    belong                  >0              not stripped
-0      belong&0377777777       042000507       a.out NetBSD/m68k4k core
->12    string                  >\0             from '%s'
->32    belong                  !0              (signal %d)
-
-0      belong&0377777777       042200413       a.out NetBSD/ns32532 demand paged
->0     byte                    &0x80           
->>20   lelong                  <4096           shared library
->>20   lelong                  =4096           dynamically linked executable
->>20   lelong                  >4096           dynamically linked executable
->0     byte                    ^0x80           executable
->16    lelong                  >0              not stripped
-0      belong&0377777777       042200410       a.out NetBSD/ns32532 pure
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80           executable
->16    lelong                  >0              not stripped
-0      belong&0377777777       042200407       a.out NetBSD/ns32532
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80
->>0    byte                    &0x40           position independent
->>20   lelong                  !0              executable
->>20   lelong                  =0              object file
->16    lelong                  >0              not stripped
-0      belong&0377777777       042200507       a.out NetBSD/ns32532 core
->12    string                  >\0             from '%s'
->32    lelong                  !0              (signal %d)
-
-0      belong&0377777777       045200507       a.out NetBSD/powerpc core
->12    string                  >\0             from '%s'
-
-0      belong&0377777777       042400413       a.out NetBSD/sparc demand paged
->0     byte                    &0x80           
->>20   belong                  <8192           shared library
->>20   belong                  =8192           dynamically linked executable
->>20   belong                  >8192           dynamically linked executable
->0     byte                    ^0x80           executable
->16    belong                  >0              not stripped
-0      belong&0377777777       042400410       a.out NetBSD/sparc pure
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80           executable
->16    belong                  >0              not stripped
-0      belong&0377777777       042400407       a.out NetBSD/sparc
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80
->>0    byte                    &0x40           position independent
->>20   belong                  !0              executable
->>20   belong                  =0              object file
->16    belong                  >0              not stripped
-0      belong&0377777777       042400507       a.out NetBSD/sparc core
->12    string                  >\0             from '%s'
->32    belong                  !0              (signal %d)
-
-0      belong&0377777777       042600413       a.out NetBSD/pmax demand paged
->0     byte                    &0x80           
->>20   lelong                  <4096           shared library
->>20   lelong                  =4096           dynamically linked executable
->>20   lelong                  >4096           dynamically linked executable
->0     byte                    ^0x80           executable
->16    lelong                  >0              not stripped
-0      belong&0377777777       042600410       a.out NetBSD/pmax pure
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80           executable
->16    lelong                  >0              not stripped
-0      belong&0377777777       042600407       a.out NetBSD/pmax
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80
->>0    byte                    &0x40           position independent
->>20   lelong                  !0              executable
->>20   lelong                  =0              object file
->16    lelong                  >0              not stripped
-0      belong&0377777777       042600507       a.out NetBSD/pmax core
->12    string                  >\0             from '%s'
->32    lelong                  !0              (signal %d)
-
-0      belong&0377777777       043000413       a.out NetBSD/vax 1k demand paged
->0     byte                    &0x80           
->>20   lelong                  <4096           shared library
->>20   lelong                  =4096           dynamically linked executable
->>20   lelong                  >4096           dynamically linked executable
->0     byte                    ^0x80           executable
->16    lelong                  >0              not stripped
-0      belong&0377777777       043000410       a.out NetBSD/vax 1k pure
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80           executable
->16    lelong                  >0              not stripped
-0      belong&0377777777       043000407       a.out NetBSD/vax 1k
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80
->>0    byte                    &0x40           position independent
->>20   lelong                  !0              executable
->>20   lelong                  =0              object file
->16    lelong                  >0              not stripped
-0      belong&0377777777       043000507       a.out NetBSD/vax 1k core
->12    string                  >\0             from '%s'
->32    lelong                  !0              (signal %d)
-
-0      belong&0377777777       045400413       a.out NetBSD/vax 4k demand paged
->0     byte                    &0x80           
->>20   lelong                  <4096           shared library
->>20   lelong                  =4096           dynamically linked executable
->>20   lelong                  >4096           dynamically linked executable
->0     byte                    ^0x80           executable
->16    lelong                  >0              not stripped
-0      belong&0377777777       045400410       a.out NetBSD/vax 4k pure
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80           executable
->16    lelong                  >0              not stripped
-0      belong&0377777777       045400407       a.out NetBSD/vax 4k
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80
->>0    byte                    &0x40           position independent
->>20   lelong                  !0              executable
->>20   lelong                  =0              object file
->16    lelong                  >0              not stripped
-0      belong&0377777777       045400507       a.out NetBSD/vax 4k core
->12    string                  >\0             from '%s'
->32    lelong                  !0              (signal %d)
-
-# NetBSD/alpha does not support (and has never supported) a.out objects,
-# so no rules are provided for them.  NetBSD/alpha ELF objects are 
-# dealt with in "elf".
-0      lelong          0x00070185              ECOFF NetBSD/alpha binary
->10    leshort         0x0001                  not stripped
->10    leshort         0x0000                  stripped
-0      belong&0377777777       043200507       a.out NetBSD/alpha core
->12    string                  >\0             from '%s'
->32    lelong                  !0              (signal %d)
-
-0      belong&0377777777       043400413       a.out NetBSD/mips demand paged
->0     byte                    &0x80           
->>20   belong                  <8192           shared library
->>20   belong                  =8192           dynamically linked executable
->>20   belong                  >8192           dynamically linked executable
->0     byte                    ^0x80           executable
->16    belong                  >0              not stripped
-0      belong&0377777777       043400410       a.out NetBSD/mips pure
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80           executable
->16    belong                  >0              not stripped
-0      belong&0377777777       043400407       a.out NetBSD/mips
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80
->>0    byte                    &0x40           position independent
->>20   belong                  !0              executable
->>20   belong                  =0              object file
->16    belong                  >0              not stripped
-0      belong&0377777777       043400507       a.out NetBSD/mips core
->12    string                  >\0             from '%s'
->32    belong                  !0              (signal %d)
-
-0      belong&0377777777       043600413       a.out NetBSD/arm32 demand paged
->0     byte                    &0x80
->>20   lelong                  <4096           shared library
->>20   lelong                  =4096           dynamically linked executable
->>20   lelong                  >4096           dynamically linked executable
->0     byte                    ^0x80           executable
->16    lelong                  >0              not stripped
-0      belong&0377777777       043600410       a.out NetBSD/arm32 pure
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80           executable
->16    lelong                  >0              not stripped
-0      belong&0377777777       043600407       a.out NetBSD/arm32
->0     byte                    &0x80           dynamically linked executable
->0     byte                    ^0x80
->>0    byte                    &0x40           position independent
->>20   lelong                  !0              executable
->>20   lelong                  =0              object file
->16    lelong                  >0              not stripped
-# NetBSD/arm26 has always used ELF objects, but it shares a core file
-# format with NetBSD/arm32.
-0      belong&0377777777       043600507       a.out NetBSD/arm core
->12    string                  >\0             from '%s'
->32    lelong                  !0              (signal %d)
diff --git a/file/magic/Magdir/netscape b/file/magic/Magdir/netscape
deleted file mode 100644 (file)
index f14227d..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#------------------------------------------------------------------------------
-# netscape:  file(1) magic for Netscape files
-# "H. Nanosecond" <aldomel@ix.netcom.com>
-# version 3 and 4 I think
-#
-
-# Netscape Address book  .nab
-0      string \000\017\102\104\000\000\000\000\000\000\001\000\000\000\000\002\000\000\000\002\000\000\004\000 Netscape Address book
-
-# Netscape Communicator address book
-0   string   \000\017\102\111 Netscape Communicator address book
-
-# .snm Caches
-0      string          #\ Netscape\ folder\ cache      Netscape folder cache
-0      string  \000\036\204\220\000    Netscape folder cache
-# .n2p 
-# Net 2 Phone 
-#0     string  123\130\071\066\061\071\071\071\060\070\061\060\061\063\060
-0      string  SX961999        Net2phone
-
-#
-#This is files ending in .art, FIXME add more rules
-0       string          JG\004\016\0\0\0\0      ART
diff --git a/file/magic/Magdir/news b/file/magic/Magdir/news
deleted file mode 100644 (file)
index 0ac4fa2..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-
-#------------------------------------------------------------------------------
-# news:  file(1) magic for SunOS NeWS fonts (not "news" as in "netnews")
-#
-0      string          StartFontMetrics        ASCII font metrics
-0      string          StartFont       ASCII font bits
-0      belong          0x137A2944      NeWS bitmap font
-0      belong          0x137A2947      NeWS font family
-0      belong          0x137A2950      scalable OpenFont binary
-0      belong          0x137A2951      encrypted scalable OpenFont binary
-8      belong          0x137A2B45      X11/NeWS bitmap font
-8      belong          0x137A2B48      X11/NeWS font family
diff --git a/file/magic/Magdir/nitpicker b/file/magic/Magdir/nitpicker
deleted file mode 100644 (file)
index c40daec..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#------------------------------------------------------------------------------
-# nitpicker:  file(1) magic for Flowfiles.
-# From: Christian Jachmann <C.Jachmann@gmx.net> http://www.nitpicker.de
-0      string  NPFF    NItpicker Flow File 
->4     byte    x       V%d.
->5     byte    x       %d
->6     bedate  x       started: %s
->10    bedate  x       stopped: %s
->14    belong  x       Bytes: %u
->18    belong  x       Bytes1: %u
->22    belong  x       Flows: %u
->26    belong  x       Pkts: %u
diff --git a/file/magic/Magdir/ocaml b/file/magic/Magdir/ocaml
deleted file mode 100644 (file)
index f8ba976..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-
-#------------------------------------------------------------------------------
-# ocaml: file(1) magic for Objective Caml files.
-0      string  Caml1999        Objective caml
->8     string  X               exec file
->8     string  I               interface file (.cmi)
->8     string  O               object file (.cmo)
->8     string  A               library file (.cma)
->8     string  Y               native object file (.cmx)
->8     string  Z               native library file (.cmxa)
->8     string  M               abstract syntax tree implementation file
->8     string  N               abstract syntax tree interface file
->9     string  >\0             (Version %3.3s).
diff --git a/file/magic/Magdir/octave b/file/magic/Magdir/octave
deleted file mode 100644 (file)
index 3093148..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-#------------------------------------------------------------------------------
-# octave binary data file(1) magic, from Dirk Eddelbuettel <edd@debian.org>
-0      string          Octave-1-L      Octave binary data (little endian)
-0      string          Octave-1-B      Octave binary data (big endian)
diff --git a/file/magic/Magdir/olf b/file/magic/Magdir/olf
deleted file mode 100644 (file)
index e698c36..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-
-#------------------------------------------------------------------------------
-# olf:  file(1) magic for OLF executables
-#
-# We have to check the byte order flag to see what byte order all the
-# other stuff in the header is in.
-#
-# MIPS R3000 may also be for MIPS R2000.
-# What're the correct byte orders for the nCUBE and the Fujitsu VPP500?
-#
-# Created by Erik Theisen <etheisen@openbsd.org>
-# Based on elf from Daniel Quinlan <quinlan@yggdrasil.com>
-0      string          \177OLF         OLF
->4     byte            0               invalid class
->4     byte            1               32-bit
->4     byte            2               64-bit
->7     byte            0               invalid os
->7     byte            1               OpenBSD
->7     byte            2               NetBSD
->7     byte            3               FreeBSD
->7     byte            4               4.4BSD
->7     byte            5               Linux
->7     byte            6               SVR4
->7     byte            7               esix
->7     byte            8               Solaris
->7     byte            9               Irix
->7     byte            10              SCO
->7     byte            11              Dell
->7     byte            12              NCR
->5     byte            0               invalid byte order
->5     byte            1               LSB
->>16   leshort         0               no file type,
->>16   leshort         1               relocatable,
->>16   leshort         2               executable,
->>16   leshort         3               shared object,
-# Core handling from Peter Tobias <tobias@server.et-inf.fho-emden.de>
-# corrections by Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de>
->>16   leshort         4               core file
->>>(0x38+0xcc) string  >\0             of '%s'
->>>(0x38+0x10) lelong  >0              (signal %d),
->>16   leshort         &0xff00         processor-specific,
->>18   leshort         0               no machine,
->>18   leshort         1               AT&T WE32100 - invalid byte order,
->>18   leshort         2               SPARC - invalid byte order,
->>18   leshort         3               Intel 80386,
->>18   leshort         4               Motorola 68000 - invalid byte order,
->>18   leshort         5               Motorola 88000 - invalid byte order,
->>18   leshort         6               Intel 80486,
->>18   leshort         7               Intel 80860,
->>18   leshort         8               MIPS R3000_BE - invalid byte order,
->>18   leshort         9               Amdahl - invalid byte order,
->>18   leshort         10              MIPS R3000_LE,
->>18   leshort         11              RS6000 - invalid byte order,
->>18   leshort         15              PA-RISC - invalid byte order,
->>18   leshort         16              nCUBE,
->>18   leshort         17              VPP500,
->>18   leshort         18              SPARC32PLUS,
->>18   leshort         20              PowerPC,
->>18   leshort         0x9026          Alpha,
->>20   lelong          0               invalid version
->>20   lelong          1               version 1
->>36   lelong          1               MathCoPro/FPU/MAU Required
->8     string          >\0             (%s)
->5     byte            2               MSB
->>16   beshort         0               no file type,
->>16   beshort         1               relocatable,
->>16   beshort         2               executable,
->>16   beshort         3               shared object,
->>16   beshort         4               core file,
->>>(0x38+0xcc) string  >\0             of '%s'
->>>(0x38+0x10) belong  >0              (signal %d),
->>16   beshort         &0xff00         processor-specific,
->>18   beshort         0               no machine,
->>18   beshort         1               AT&T WE32100,
->>18   beshort         2               SPARC,
->>18   beshort         3               Intel 80386 - invalid byte order,
->>18   beshort         4               Motorola 68000,
->>18   beshort         5               Motorola 88000,
->>18   beshort         6               Intel 80486 - invalid byte order,
->>18   beshort         7               Intel 80860,
->>18   beshort         8               MIPS R3000_BE,
->>18   beshort         9               Amdahl,
->>18   beshort         10              MIPS R3000_LE - invalid byte order,
->>18   beshort         11              RS6000,
->>18   beshort         15              PA-RISC,
->>18   beshort         16              nCUBE,
->>18   beshort         17              VPP500,
->>18   beshort         18              SPARC32PLUS,
->>18   beshort         20              PowerPC or cisco 4500,
->>18   beshort         21              cisco 7500,
->>18   beshort         24              cisco SVIP,
->>18   beshort         25              cisco 7200,
->>18   beshort         36              cisco 12000,
->>18   beshort         0x9026          Alpha,
->>20   belong          0               invalid version
->>20   belong          1               version 1
->>36   belong          1               MathCoPro/FPU/MAU Required
diff --git a/file/magic/Magdir/os2 b/file/magic/Magdir/os2
deleted file mode 100644 (file)
index e492031..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#------------------------------------------------------------------------------
-# os2:  file(1) magic for OS/2 files
-#
-
-# Provided 1998/08/22 by
-# David Mediavilla <davidme.news@REMOVEIFNOTSPAMusa.net>
-1      string  InternetShortcut        MS Windows 95 Internet shortcut text
->24    string  >\                      (URL=<%s>)
-
-# OS/2 URL objects
-# Provided 1998/08/22 by
-# David Mediavilla <davidme.news@REMOVEIFNOTSPAMusa.net>
-#0     string  http:                   OS/2 URL object text
-#>5    string  >\                      (WWW) <http:%s>
-#0     string  mailto:                 OS/2 URL object text
-#>7    string  >\                      (email) <%s>
-#0     string  news:                   OS/2 URL object text
-#>5    string  >\                      (Usenet) <%s>
-#0     string  ftp:                    OS/2 URL object text
-#>4    string  >\                      (FTP) <ftp:%s>
-#0     string  file:                   OS/2 URL object text
-#>5    string  >\                      (Local file) <%s>
-
-# >>>>> OS/2 INF/HLP <<<<<  (source: Daniel Dissett ddissett@netcom.com)
-# Carl Hauser (chauser.parc@xerox.com) and 
-# Marcus Groeber (marcusg@ph-cip.uni-koeln.de)
-# list the following header format in inf02a.doc:
-#
-#  int16 ID;           // ID magic word (5348h = "HS")
-#  int8  unknown1;     // unknown purpose, could be third letter of ID
-#  int8  flags;        // probably a flag word...
-#                      //  bit 0: set if INF style file
-#                      //  bit 4: set if HLP style file
-#                      // patching this byte allows reading HLP files
-#                      // using the VIEW command, while help files 
-#                      // seem to work with INF settings here as well.
-#  int16 hdrsize;      // total size of header
-#  int16 unknown2;     // unknown purpose
-# 
-0   string  HSP\x01\x9b\x00 OS/2 INF
->107 string >0                      (%s)
-0   string  HSP\x10\x9b\x00     OS/2 HLP
->107 string >0                      (%s)
-
-# OS/2 INI (this is a guess)
-0  string   \xff\xff\xff\xff\x14\0\0\0  OS/2 INI
diff --git a/file/magic/Magdir/os9 b/file/magic/Magdir/os9
deleted file mode 100644 (file)
index ed2ed2c..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-#
-# Copyright (c) 1996 Ignatios Souvatzis. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions and the following disclaimer in the
-#    documentation and/or other materials provided with the distribution.
-# 3. All advertising materials mentioning features or use of this software
-#    must display the following acknowledgement:
-#      This product includes software developed by Ignatios Souvatzis for
-#      the NetBSD project.
-# 4. The name of the author may not be used to endorse or promote products
-#    derived from this software without specific prior written permission.
-#
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-#
-#
-# OS9/6809 module descriptions:
-#
-0      beshort         0x87CD  OS9/6809 module:
-#
->6     byte&0x0f       0x00    non-executable
->6     byte&0x0f       0x01    machine language
->6     byte&0x0f       0x02    BASIC I-code
->6     byte&0x0f       0x03    Pascal P-code
->6     byte&0x0f       0x04    C I-code
->6     byte&0x0f       0x05    COBOL I-code
->6     byte&0x0f       0x06    Fortran I-code
-#
->6     byte&0xf0       0x10    program executable
->6     byte&0xf0       0x20    subroutine
->6     byte&0xf0       0x30    multi-module
->6     byte&0xf0       0x40    data module
-#
->6     byte&0xf0       0xC0    system module
->6     byte&0xf0       0xD0    file manager
->6     byte&0xf0       0xE0    device driver
->6     byte&0xf0       0xF0    device descriptor
-#
-# OS9/m68k stuff (to be continued)
-#
-0      beshort         0x4AFC  OS9/68K module:
-#
-# attr
->0x14  byte&0x80       0x80    re-entrant
->0x14  byte&0x40       0x40    ghost
->0x14  byte&0x20       0x20    system-state
-#
-# lang:
-#
->0x13  byte            1       machine language
->0x13  byte            2       BASIC I-code
->0x13  byte            3       Pascal P-code
->0x13  byte            4       C I-code
->0x13  byte            5       COBOL I-code
->0x13  byte            6       Fortran I-code
-#
-#
-# type:
-#
->0x12  byte            1       program executable
->0x12  byte            2       subroutine
->0x12  byte            3       multi-module
->0x12  byte            4       data module
->0x12  byte            11      trap library
->0x12  byte            12      system module
->0x12  byte            13      file manager
->0x12  byte            14      device driver
->0x12  byte            15      device descriptor
diff --git a/file/magic/Magdir/osf1 b/file/magic/Magdir/osf1
deleted file mode 100644 (file)
index 31166c1..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#
-# Mach magic number info
-#
-0      long            0xefbe  OSF/Rose object
-# I386 magic number info
-#
-0      short           0565    i386 COFF object
diff --git a/file/magic/Magdir/palm b/file/magic/Magdir/palm
deleted file mode 100644 (file)
index 79af1f0..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-
-#------------------------------------------------------------------------------
-# palm:  file(1) magic for PalmOS {.prc,.pdb}: applications, docfiles, and hacks
-#
-# Brian Lalor <blalor@hcirisc.cs.binghamton.edu>
-
-# appl
-60      belong                  0x6170706c      PalmOS application
->0      string                  >\0             "%s"
-# TEXt
-60      belong                  0x54455874      AportisDoc file
->0      string                  >\0             "%s"
-# HACK
-60      belong                  0x4841434b      HackMaster hack
->0      string                  >\0             "%s"
-
-# Variety of PalmOS document types
-# Michael-John Turner <mj@debian.org>
-# Thanks to Hasan Umit Ezerce <humit@tr-net.net.tr> for his DocType
-60     string                  BVokBDIC        BDicty PalmOS document
->0     string                  >\0             "%s"
-60     string                  DB99DBOS        DB PalmOS document
->0     string                  >\0             "%s"
-60     string                  vIMGView        FireViewer/ImageViewer PalmOS document
->0     string                  >\0             "%s"
-60     string                  PmDBPmDB        HanDBase PalmOS document
->0     string                  >\0             "%s"
-60     string                  InfoINDB        InfoView PalmOS document
->0     string                  >\0             "%s"
-60     string                  ToGoToGo        iSilo PalmOS document
->0     string                  >\0             "%s"
-60     string                  JfDbJBas        JFile PalmOS document
->0     string                  >\0             "%s"
-60     string                  JfDbJFil        JFile Pro PalmOS document
->0     string                  >\0             "%s"
-60     string                  DATALSdb        List PalmOS document
->0     string                  >\0             "%s"
-60     string                  Mdb1Mdb1        MobileDB PalmOS document
->0     string                  >\0             "%s"
-60     string                  PNRdPPrs        PeanutPress PalmOS document
->0     string                  >\0             "%s"
-60     string                  DataPlkr        Plucker PalmOS document
->0     string                  >\0             "%s"
-60     string                  DataSprd        QuickSheet PalmOS document
->0     string                  >\0             "%s"
-60     string                  SM01SMem        SuperMemo PalmOS document
->0     string                  >\0             "%s"
-60     string                  DataTlPt        TealDoc PalmOS document
->0     string                  >\0             "%s"
-60     string                  InfoTlIf        TealInfo PalmOS document
->0     string                  >\0             "%s"
-60     string                  DataTlMl        TealMeal PalmOS document
->0     string                  >\0             "%s"
-60     string                  DataTlPt        TealPaint PalmOS document
->0     string                  >\0             "%s"
-60     string                  dataTDBP        ThinkDB PalmOS document
->0     string                  >\0             "%s"
-60     string                  TdatTide        Tides PalmOS document
->0     string                  >\0             "%s"
-60     string                  ToRaTRPW        TomeRaider PalmOS document
->0     string                  >\0             "%s"
-
-# A GutenPalm zTXT etext for use on Palm Pilots (http://gutenpalm.sf.net)
-# For version 1.xx zTXTs, outputs version and numbers of bookmarks and
-#   annotations.
-# For other versions, just outputs version.
-#
-60             string          zTXT            A GutenPalm zTXT e-book
->0             string          >\0             "%s"
->(0x4E.L)      byte            0
->>(0x4E.L+1)   byte            x               (v0.%02d)
->(0x4E.L)      byte            1
->>(0x4E.L+1)   byte            x               (v1.%02d)
->>>(0x4E.L+10) beshort         >0
->>>>(0x4E.L+10) beshort                <2              - 1 bookmark
->>>>(0x4E.L+10) beshort                >1              - %d bookmarks
->>>(0x4E.L+14) beshort         >0
->>>>(0x4E.L+14) beshort                <2              - 1 annotation
->>>>(0x4E.L+14) beshort                >1              - %d annotations
->(0x4E.L)      byte            >1              (v%d.
->>(0x4E.L+1)   byte            x               %02d)
-
-# Palm OS .prc file types
-60             string          libr            Palm OS dynamic library data
->0             string          >\0             "%s"
-60             string          ptch            Palm OS operating system patch data
->0             string          >\0             "%s"
-
-# Mobipocket (www.mobipocket.com), donated by Carl Witty
-60     string                  BOOKMOBI        Mobipocket E-book
->0     string                  >\0             "%s"
diff --git a/file/magic/Magdir/parix b/file/magic/Magdir/parix
deleted file mode 100644 (file)
index 09965d1..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-
-#------------------------------------------------------------------------------
-#
-# Parix COFF executables
-# From: Ignatios Souvatzis <ignatios@cs.uni-bonn.de>
-#
-0      beshort&0xfff   0xACE   PARIX
->0     byte&0xf0       0x80    T800
->0     byte&0xf0       0x90    T9000
->19    byte&0x02       0x02    executable
->19    byte&0x02       0x00    object
->19    byte&0x0c       0x00    not stripped
diff --git a/file/magic/Magdir/pbm b/file/magic/Magdir/pbm
deleted file mode 100644 (file)
index 98c15f7..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# pbm:  file(1) magic for Portable Bitmap files
-#
-# XXX - byte order?
-#
-0      short   0x2a17  "compact bitmap" format (Poskanzer)
diff --git a/file/magic/Magdir/pdf b/file/magic/Magdir/pdf
deleted file mode 100644 (file)
index a1aef13..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#------------------------------------------------------------------------------
-# pdf:  file(1) magic for Portable Document Format
-#
-
-0      string          %PDF-           PDF document
->5     byte            x               \b, version %c
->7     byte            x               \b.%c
diff --git a/file/magic/Magdir/pdp b/file/magic/Magdir/pdp
deleted file mode 100644 (file)
index 5452005..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#------------------------------------------------------------------------------
-# pdp:  file(1) magic for PDP-11 executable/object and APL workspace
-#
-0      lelong          0101555         PDP-11 single precision APL workspace
-0      lelong          0101554         PDP-11 double precision APL workspace
-#
-# PDP-11 a.out
-#
-0      leshort         0407            PDP-11 executable
->8     leshort         >0              not stripped
->15    byte            >0              - version %ld
-
-0      leshort         0401            PDP-11 UNIX/RT ldp
-0      leshort         0405            PDP-11 old overlay
-
-0      leshort         0410            PDP-11 pure executable
->8     leshort         >0              not stripped
->15    byte            >0              - version %ld
-
-0      leshort         0411            PDP-11 separate I&D executable
->8     leshort         >0              not stripped
->15    byte            >0              - version %ld
-
-0      leshort         0437            PDP-11 kernel overlay
-
-# These last three are derived from 2.11BSD file(1)
-0      leshort         0413            PDP-11 demand-paged pure executable
->8     leshort         >0              not stripped
-
-0      leshort         0430            PDP-11 overlaid pure executable
->8     leshort         >0              not stripped
-
-0      leshort         0431            PDP-11 overlaid separate executable
->8     leshort         >0              not stripped
diff --git a/file/magic/Magdir/perl b/file/magic/Magdir/perl
deleted file mode 100644 (file)
index 417220e..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#------------------------------------------------------------------------------
-# perl:  file(1) magic for Larry Wall's perl language.
-#
-# The ``eval'' line recognizes an outrageously clever hack for USG systems.
-# Keith Waclena <keith@cerberus.uchicago.edu>
-# Send additions to <perl5-porters@perl.org>
-0      string/b        #!\ /bin/perl                   perl script text executable
-0      string          eval\ "exec\ /bin/perl          perl script text
-0      string/b        #!\ /usr/bin/perl               perl script text executable
-0      string          eval\ "exec\ /usr/bin/perl      perl script text
-0      string/b        #!\ /usr/local/bin/perl         perl script text
-0      string          eval\ "exec\ /usr/local/bin/perl        perl script text executable
-0      string          eval\ '(exit\ $?0)'\ &&\ eval\ 'exec    perl script text
-
-# a couple more, by me
-# XXX: christos matches
-#0     regex           package         Perl5 module source text (via regex)
-0      string          package         Perl5 module source text
-
-# Perl Storable data files.
-0      string  perl-store      perl Storable(v0.6) data
->4     byte    >0      (net-order %d)
->>4    byte    &01     (network-ordered)
->>4    byte    =3      (major 1)
->>4    byte    =2      (major 1)
-
-0      string  pst0    perl Storable(v0.7) data
->4     byte    >0
->>4    byte    &01     (network-ordered)
->>4    byte    =5      (major 2)
->>4    byte    =4      (major 2)
->>5    byte    >0      (minor %d)
diff --git a/file/magic/Magdir/pgp b/file/magic/Magdir/pgp
deleted file mode 100644 (file)
index 038d098..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-
-#------------------------------------------------------------------------------
-# pgp:  file(1) magic for Pretty Good Privacy
-#
-0       beshort         0x9900                  PGP key public ring
-0       beshort         0x9501                  PGP key security ring
-0       beshort         0x9500                  PGP key security ring
-0      beshort         0xa600                  PGP encrypted data
-0       string          -----BEGIN\040PGP       PGP armored data
->15     string          PUBLIC\040KEY\040BLOCK- public key block
->15     string          MESSAGE-                message
->15     string          SIGNED\040MESSAGE-      signed message
->15     string          PGP\040SIGNATURE-       signature
diff --git a/file/magic/Magdir/pkgadd b/file/magic/Magdir/pkgadd
deleted file mode 100644 (file)
index dc8ef5d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-
-#------------------------------------------------------------------------------
-# pkgadd:  file(1) magic for SysV R4 PKG Datastreams
-#
-0       string          #\ PaCkAgE\ DaTaStReAm  pkg Datastream (SVR4)
diff --git a/file/magic/Magdir/plan9 b/file/magic/Magdir/plan9
deleted file mode 100644 (file)
index 58fb071..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#------------------------------------------------------------------------------
-# plan9:  file(1) magic for AT&T Bell Labs' Plan 9 executables
-# From: "Stefan A. Haubenthal" <polluks@web.de>
-#
-0      belong          0x00000107      Plan 9 executable, Motorola 68k
-0      belong          0x000001EB      Plan 9 executable, Intel 386
-0      belong          0x00000247      Plan 9 executable, Intel 960
-0      belong          0x000002AB      Plan 9 executable, SPARC
-0      belong          0x00000407      Plan 9 executable, MIPS R3000
-0      belong          0x0000048B      Plan 9 executable, AT&T DSP 3210
-0      belong          0x00000517      Plan 9 executable, MIPS R4000 BE
-0      belong          0x000005AB      Plan 9 executable, AMD 29000
-0      belong          0x00000647      Plan 9 executable, ARM 7-something
-0      belong          0x000006EB      Plan 9 executable, PowerPC
-0      belong          0x00000797      Plan 9 executable, MIPS R4000 LE
-0      belong          0x0000084B      Plan 9 executable, DEC Alpha
diff --git a/file/magic/Magdir/plus5 b/file/magic/Magdir/plus5
deleted file mode 100644 (file)
index acf3bf4..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#------------------------------------------------------------------------------
-# plus5:  file(1) magic for Plus Five's UNIX MUMPS
-#
-# XXX - byte order?  Paging Hokey....
-#
-0      short           0x259           mumps avl global
->2     byte            >0              (V%d)
->6     byte            >0              with %d byte name
->7     byte            >0              and %d byte data cells
-0      short           0x25a           mumps blt global
->2     byte            >0              (V%d)
->8     short           >0              - %d byte blocks
->15    byte            0x00            - P/D format
->15    byte            0x01            - P/K/D format
->15    byte            0x02            - K/D format
->15    byte            >0x02           - Bad Flags
diff --git a/file/magic/Magdir/policy b/file/magic/Magdir/policy
deleted file mode 100644 (file)
index 50a6122..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-# SE Linux policy database
-0       lelong  0xf97cff8c      SE Linux policy
->16     lelong  x               v%d
->20     lelong  1              MLS
->24     lelong  x              %d symbols
->28     lelong  x              %d ocons
diff --git a/file/magic/Magdir/printer b/file/magic/Magdir/printer
deleted file mode 100644 (file)
index 77ba780..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-
-#------------------------------------------------------------------------------
-# printer:  file(1) magic for printer-formatted files
-#
-
-# PostScript, updated by Daniel Quinlan (quinlan@yggdrasil.com)
-0      string          %!              PostScript document text
->2     string          PS-Adobe-       conforming
->>11   string          >\0             at level %.3s
->>>15  string          EPS             - type %s
->>>15  string          Query           - type %s
->>>15  string          ExitServer      - type %s
-# Some PCs have the annoying habit of adding a ^D as a document separator
-0      string          \004%!          PostScript document text
->3     string          PS-Adobe-       conforming
->>12   string          >\0             at level %.3s
->>>16  string          EPS             - type %s
->>>16  string          Query           - type %s
->>>16  string          ExitServer      - type %s
-0      string          \033%-12345X%!PS        PostScript document
-
-
-# DOS EPS Binary File Header
-# From: Ed Sznyter <ews@Black.Market.NET>
-0       belong          0xC5D0D3C6      DOS EPS Binary File
->4      long            >0              Postscript starts at byte %d
->>8     long            >0              length %d
->>>12   long            >0              Metafile starts at byte %d
->>>>16  long            >0              length %d
->>>20   long            >0              TIFF starts at byte %d
->>>>24  long            >0              length %d
-
-# Adobe's PostScript Printer Description (PPD) files
-#       Yves Arrouye <arrouye@marin.fdn.fr>
-#
-0      string          *PPD-Adobe:    PPD file
->13    string          x              \b, ve
-
-# HP Printer Job Language
-0      string          \033%-12345X@PJL        HP Printer Job Language data
-# HP Printer Job Language
-# The header found on Win95 HP plot files is the "Silliest Thing possible" 
-# (TM)
-# Every driver puts the language at some random position, with random case
-# (LANGUAGE and Language)
-# For example the LaserJet 5L driver puts the "PJL ENTER LANGUAGE" in line 10
-# From: Uwe Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
-# 
-0      string          \033%-12345X@PJL        HP Printer Job Language data
->&0    string          >\0                     %s                      
->>&0   string          >\0                     %s                      
->>>&0  string          >\0                     %s              
->>>>&0 string          >\0                     %s              
-#>15   string          \ ENTER\ LANGUAGE\ =
-#>31   string          PostScript              PostScript
-
-# HP Printer Control Language, Daniel Quinlan (quinlan@yggdrasil.com)
-0      string          \033E\033       HP PCL printer data
->3     string          \&l0A           - default page size
->3     string          \&l1A           - US executive page size
->3     string          \&l2A           - US letter page size
->3     string          \&l3A           - US legal page size
->3     string          \&l26A          - A4 page size
->3     string          \&l80A          - Monarch envelope size
->3     string          \&l81A          - No. 10 envelope size
->3     string          \&l90A          - Intl. DL envelope size
->3     string          \&l91A          - Intl. C5 envelope size
->3     string          \&l100A         - Intl. B5 envelope size
->3     string          \&l-81A         - No. 10 envelope size (landscape)
->3     string          \&l-90A         - Intl. DL envelope size (landscape)
-
-# IMAGEN printer-ready files:
-0      string  @document(              Imagen printer
-# this only works if "language xxx" is first item in Imagen header.
->10    string  language\ impress       (imPRESS data)
->10    string  language\ daisy         (daisywheel text)
->10    string  language\ diablo        (daisywheel text)
->10    string  language\ printer       (line printer emulation)
->10    string  language\ tektronix     (Tektronix 4014 emulation)
-# Add any other languages that your Imagen uses - remember
-# to keep the word `text' if the file is human-readable.
-# [GRR 950115:  missing "postscript" or "ultrascript" (whatever it was called)]
-#
-# Now magic for IMAGEN font files...
-0      string          Rast            RST-format raster font data
->45    string          >0              face %s
-# From Jukka Ukkonen
-0      string          \033[K\002\0\0\017\033(a\001\0\001\033(g        Canon Bubble Jet BJC formatted data
-
-# From <mike@flyn.org>
-# These are the /etc/magic entries to decode data sent to an Epson printer.
-0       string          \x1B\x40\x1B\x28\x52\x08\x00\x00REMOTE1P        Epson Stylus Color 460 data
-
-
-#------------------------------------------------------------------------------
-# zenographics:  file(1) magic for Zenographics ZjStream printer data
-# Rick Richardson  rickr@mn.rr.com
-0      string          JZJZ
->0x12  string          ZZ              Zenographics ZjStream printer data (big-endian)
-0      string          ZJZJ
->0x12  string          ZZ              Zenographics ZjStream printer data (little-endian)
-
-
-#------------------------------------------------------------------------------
-# Oak Technologies printer stream
-# Rick Richardson <rickr@mn.rr.com>
-0       string          OAK
->0x07  byte            0
->0x0b  byte            0       Oak Technologies printer stream
-
-# This would otherwise be recognized as PostScript - nick@debian.org
-0      string          %!VMF           SunClock's Vector Map Format data
-
-#------------------------------------------------------------------------------
-# HP LaserJet 1000 series downloadable firmware file
-0      string  \xbe\xefABCDEFGH        HP LaserJet 1000 series downloadable firmware   
-
-# From: Paolo <oopla@users.sf.net>
-# Epson ESC/Page, ESC/PageColor 
-0      string  \x1b\x01@EJL    Epson ESC/Page language printer data
diff --git a/file/magic/Magdir/project b/file/magic/Magdir/project
deleted file mode 100644 (file)
index 04e8865..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-
-#------------------------------------------------------------------------------
-# project:  file(1) magic for Project management
-# 
-# Magic strings for ftnchek project files. Alexander Mai
-0      string  FTNCHEK_\ P     project file for ftnchek
->10    string  1               version 2.7
->10    string  2               version 2.8 to 2.10
->10    string  3               version 2.11 or later
diff --git a/file/magic/Magdir/psdbms b/file/magic/Magdir/psdbms
deleted file mode 100644 (file)
index f36121f..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# psdbms:  file(1) magic for psdatabase
-#
-0      belong&0xff00ffff       0x56000000      ps database
->1     string  >\0     version %s
->4     string  >\0     from kernel %s
diff --git a/file/magic/Magdir/psion b/file/magic/Magdir/psion
deleted file mode 100644 (file)
index 5e6ab1a..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#------------------------------------------------------------------------------
-# psion:  file(1) magic for Psion handhelds data
-# from: Peter Breitenlohner <peb@mppmu.mpg.de>
-#
-0      lelong          0x10000037      Psion Series 5
->4     lelong          0x10000039      font file
->4     lelong          0x1000003A      printer driver
->4     lelong          0x1000003B      clipboard
->4     lelong          0x10000042      multi-bitmap image
->4     lelong          0x1000006A      application infomation file
->4     lelong          0x1000006D
->>8    lelong          0x1000007D      sketch image
->>8    lelong          0x1000007E      voice note
->>8    lelong          0x1000007F      word file
->>8    lelong          0x10000085      OPL program
->>8    lelong          0x10000088      sheet file
->>8    lelong          0x100001C4      EasyFax initialisation file
->4     lelong          0x10000073      OPO module
->4     lelong          0x10000074      OPL application
->4     lelong          0x1000008A      exported multi-bitmap image
-
-0      lelong          0x10000041      Psion Series 5 ROM multi-bitmap image
-
-0      lelong          0x10000050      Psion Series 5
->4     lelong          0x1000006D      database
->4     lelong          0x100000E4      ini file
-
-0      lelong          0x10000079      Psion Series 5 binary:
->4     lelong          0x00000000      DLL
->4     lelong          0x10000049      comms hardware library
->4     lelong          0x1000004A      comms protocol library
->4     lelong          0x1000005D      OPX
->4     lelong          0x1000006C      application
->4     lelong          0x1000008D      DLL
->4     lelong          0x100000AC      logical device driver
->4     lelong          0x100000AD      physical device driver
->4     lelong          0x100000E5      file transfer protocol
->4     lelong          0x100000E5      file transfer protocol
->4     lelong          0x10000140      printer defintion
->4     lelong          0x10000141      printer defintion
-
-0      lelong          0x1000007A      Psion Series 5 executable
diff --git a/file/magic/Magdir/pulsar b/file/magic/Magdir/pulsar
deleted file mode 100644 (file)
index a4a5c21..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-
-#------------------------------------------------------------------------------
-# pulsar:  file(1) magic for Pulsar POP3 daemon binary files
-#
-# http://pulsar.sourceforge.net
-# mailto:rok.papez@lugos.si
-#
-
-0      belong  0x1ee7f11e      Pulsar POP3 daemon mailbox cache file.
->4     ubelong x               Version: %d.
->8     ubelong x               \b%d
-
diff --git a/file/magic/Magdir/pyramid b/file/magic/Magdir/pyramid
deleted file mode 100644 (file)
index fe16608..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-#------------------------------------------------------------------------------
-# pyramid:  file(1) magic for Pyramids
-#
-# XXX - byte order?
-#
-0      long            0x50900107      Pyramid 90x family executable
-0      long            0x50900108      Pyramid 90x family pure executable
->16    long            >0              not stripped
-0      long            0x5090010b      Pyramid 90x family demand paged pure executable
->16    long            >0              not stripped
diff --git a/file/magic/Magdir/python b/file/magic/Magdir/python
deleted file mode 100644 (file)
index ec4c121..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-
-#------------------------------------------------------------------------------
-# python:  file(1) magic for python
-#
-# From: David Necas <yeti@physics.muni.cz>
-# often the module starts with a multiline string
-0      string          """     a python script text executable
-# MAGIC as specified in Python/import.c (1.5 to 2.3.0a)
-# 20121  ( YEAR - 1995 ) + MONTH  + DAY (little endian followed by "\r\n"
-0      belong          0x994e0d0a      python 1.5/1.6 byte-compiled
-0      belong          0x87c60d0a      python 2.0 byte-compiled
-0      belong          0x2aeb0d0a      python 2.1 byte-compiled
-0      belong          0x2ded0d0a      python 2.2 byte-compiled
-0      belong          0x3bf20d0a      python 2.3 byte-compiled
diff --git a/file/magic/Magdir/revision b/file/magic/Magdir/revision
deleted file mode 100644 (file)
index 8b57aa3..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-#------------------------------------------------------------------------------
-# file(1) magic for revision control files
-# From Hendrik Scholz <hendrik@scholz.net>
-0   string /1\ :pserver:    cvs password text file
-
-
-# Subversion (SVN) dumps
-# Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de>
-0       string  SVN-fs-dump-format-version:     Subversion dumpfile
->28     string  >\0                             (version: %s)
diff --git a/file/magic/Magdir/riff b/file/magic/Magdir/riff
deleted file mode 100644 (file)
index 1f1deec..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-
-#------------------------------------------------------------------------------
-# riff:  file(1) magic for RIFF format
-# See
-#
-#      http://www.seanet.com/users/matts/riffmci/riffmci.htm
-#
-# AVI section extended by Patrik Rådman <patrik+file-magic@iki.fi>
-#
-0      string          RIFF            RIFF (little-endian) data
-# RIFF Palette format
->8     string          PAL             \b, palette
->>16   leshort         x               \b, version %d
->>18   leshort         x               \b, %d entries
-# RIFF Device Independent Bitmap format
->8     string          RDIB            \b, device-independent bitmap
->>16   string          BM              
->>>30  leshort         12              \b, OS/2 1.x format
->>>>34 leshort         x               \b, %d x
->>>>36 leshort         x               %d
->>>30  leshort         64              \b, OS/2 2.x format
->>>>34 leshort         x               \b, %d x
->>>>36 leshort         x               %d
->>>30  leshort         40              \b, Windows 3.x format
->>>>34 lelong          x               \b, %d x
->>>>38 lelong          x               %d x
->>>>44 leshort         x               %d
-# RIFF MIDI format
->8     string          RMID            \b, MIDI
-# RIFF Multimedia Movie File format
->8     string          RMMP            \b, multimedia movie
-# Microsoft WAVE format (*.wav)
->8     string          WAVE            \b, WAVE audio
->>20   leshort         1               \b, Microsoft PCM
->>>34  leshort         >0              \b, %d bit
->>20   leshort         2               \b, Microsoft ADPCM
->>20   leshort         6               \b, ITU G.711 A-law
->>20   leshort         7               \b, ITU G.711 mu-law
->>20   leshort         17              \b, IMA ADPCM
->>20   leshort         20              \b, ITU G.723 ADPCM (Yamaha)
->>20   leshort         49              \b, GSM 6.10
->>20   leshort         64              \b, ITU G.721 ADPCM
->>20   leshort         80              \b, MPEG
->>20   leshort         85              \b, MPEG Layer 3
->>22   leshort         =1              \b, mono
->>22   leshort         =2              \b, stereo
->>22   leshort         >2              \b, %d channels
->>24   lelong          >0              %d Hz
-# Corel Draw Picture
->8     string          CDRA            \b, Corel Draw Picture
-# AVI == Audio Video Interleave
->8     string          AVI\040         \b, AVI
->>12    string          LIST
->>>20   string          hdrlavih
->>>>&36 lelong          x               \b, %lu x
->>>>&40 lelong          x               %lu,
->>>>&4  lelong          >1000000        <1 fps,
->>>>&4  lelong          1000000         1.00 fps,
->>>>&4  lelong          500000          2.00 fps,
->>>>&4  lelong          333333          3.00 fps,
->>>>&4  lelong          250000          4.00 fps,
->>>>&4  lelong          200000          5.00 fps,
->>>>&4  lelong          166667          6.00 fps,
->>>>&4  lelong          142857          7.00 fps,
->>>>&4  lelong          125000          8.00 fps,
->>>>&4  lelong          111111          9.00 fps,
->>>>&4  lelong          100000          10.00 fps,
-# ]9.9,10.1[
->>>>&4  lelong          <101010
->>>>>&-4        lelong  >99010
->>>>>>&-4       lelong  !100000         ~10 fps,
->>>>&4  lelong          83333           12.00 fps,
-# ]11.9,12.1[
->>>>&4  lelong          <84034
->>>>>&-4        lelong  >82645
->>>>>>&-4       lelong  !83333          ~12 fps,
->>>>&4  lelong          66667           15.00 fps,
-# ]14.9,15.1[
->>>>&4  lelong          <67114
->>>>>&-4        lelong  >66225
->>>>>>&-4       lelong  !66667          ~15 fps,
->>>>&4  lelong          50000           20.00 fps,
->>>>&4  lelong          41708           23.98 fps,
->>>>&4  lelong          41667           24.00 fps,
-# ]23.9,24.1[
->>>>&4  lelong          <41841
->>>>>&-4        lelong  >41494
->>>>>>&-4       lelong  !41708
->>>>>>>&-4      lelong  !41667          ~24 fps,
->>>>&4  lelong          40000           25.00 fps,
-# ]24.9,25.1[
->>>>&4  lelong          <40161
->>>>>&-4        lelong  >39841
->>>>>>&-4       lelong  !40000          ~25 fps,
->>>>&4  lelong          33367           29.97 fps,
->>>>&4  lelong          33333           30.00 fps,
-# ]29.9,30.1[
->>>>&4  lelong          <33445
->>>>>&-4        lelong  >33223
->>>>>>&-4       lelong  !33367
->>>>>>>&-4      lelong  !33333          ~30 fps,
->>>>&4  lelong          <32224          >30 fps,
-##>>>>&4  lelong          x               (%lu)
-##>>>>&20 lelong          x               %lu frames,
-# Note: The tests below assume that the AVI has 1 or 2 streams,
-#       "vids" optionally followed by "auds".
-#       (Should cover 99.9% of all AVIs.)
-# assuming avih length = 56
->>>88   string  LIST
->>>>96  string  strlstrh
->>>>>108        string  vids    video:
->>>>>>&0        lelong  0               uncompressed
-# skip past vids strh
->>>>>>(104.l+108)       string  strf
->>>>>>>(104.l+132)      lelong          1       RLE 8bpp
->>>>>>>(104.l+132)      string/c        cvid    Cinepak
->>>>>>>(104.l+132)      string/c        i263    Intel I.263
->>>>>>>(104.l+132)      string/c        iv32    Indeo 3.2
->>>>>>>(104.l+132)      string/c        iv41    Indeo 4.1
->>>>>>>(104.l+132)      string/c        iv50    Indeo 5.0
->>>>>>>(104.l+132)      string/c        mp42    Microsoft MPEG-4 v2
->>>>>>>(104.l+132)      string/c        mp43    Microsoft MPEG-4 v3
->>>>>>>(104.l+132)      string/c        mjpg    Motion JPEG
->>>>>>>(104.l+132)      string/c        div3    DivX 3
->>>>>>>>112             string/c        div3    Low-Motion
->>>>>>>>112             string/c        div4    Fast-Motion
->>>>>>>(104.l+132)      string/c        divx    DivX 4
->>>>>>>(104.l+132)      string/c        dx50    DivX 5
->>>>>>>(104.l+132)      string/c        xvid    XviD
->>>>>>>(104.l+132)      string/c        h264    X.264
->>>>>>>(104.l+132)      lelong  0
-##>>>>>>>(104.l+132)      string  x       (%.4s)
-# skip past first (video) LIST
->>>>(92.l+96)   string  LIST
->>>>>(92.l+104) string  strlstrh
->>>>>>(92.l+116)        string          auds    \b, audio:
-# auds strh length = 56:
->>>>>>>(92.l+172)       string          strf
->>>>>>>>(92.l+180)      leshort 0x0001  uncompressed PCM
->>>>>>>>(92.l+180)      leshort 0x0002  ADPCM
->>>>>>>>(92.l+180)      leshort 0x0055  MPEG-1 Layer 3
->>>>>>>>(92.l+180)      leshort 0x2000  Dolby AC3
->>>>>>>>(92.l+180)      leshort 0x0161  DivX
-##>>>>>>>>(92.l+180)      leshort x       (0x%.4x)
->>>>>>>>(92.l+182)      leshort 1       (mono,
->>>>>>>>(92.l+182)      leshort 2       (stereo,
->>>>>>>>(92.l+182)      leshort >2      (%d channels,
->>>>>>>>(92.l+184)      lelong  x       %d Hz)
-# auds strh length = 64:
->>>>>>>(92.l+180)       string          strf
->>>>>>>>(92.l+188)      leshort 0x0001  uncompressed PCM
->>>>>>>>(92.l+188)      leshort 0x0002  ADPCM
->>>>>>>>(92.l+188)      leshort 0x0055  MPEG-1 Layer 3
->>>>>>>>(92.l+188)      leshort 0x2000  Dolby AC3
->>>>>>>>(92.l+188)      leshort 0x0161  DivX
-##>>>>>>>>(92.l+188)      leshort x       (0x%.4x)
->>>>>>>>(92.l+190)      leshort 1       (mono,
->>>>>>>>(92.l+190)      leshort 2       (stereo,
->>>>>>>>(92.l+190)      leshort >2      (%d channels,
->>>>>>>>(92.l+192)      lelong  x       %d Hz)
-# Animated Cursor format
->8     string          ACON            \b, animated cursor
-# SoundFont 2 <mpruett@sgi.com>
->8     string          sfbk            SoundFont/Bank
-# MPEG-1 wrapped in a RIFF, apparently
->8      string          CDXA            \b, wrapped MPEG-1 (CDXA)
->8     string          4XMV            \b, 4X Movie file 
-
-#
-# XXX - some of the below may only appear in little-endian form.
-#
-# Also "MV93" appears to be for one form of Macromedia Director
-# files, and "GDMF" appears to be another multimedia format.
-#
-0      string          RIFX            RIFF (big-endian) data
-# RIFF Palette format
->8     string          PAL             \b, palette
->>16   beshort         x               \b, version %d
->>18   beshort         x               \b, %d entries
-# RIFF Device Independent Bitmap format
->8     string          RDIB            \b, device-independent bitmap
->>16   string          BM              
->>>30  beshort         12              \b, OS/2 1.x format
->>>>34 beshort         x               \b, %d x
->>>>36 beshort         x               %d
->>>30  beshort         64              \b, OS/2 2.x format
->>>>34 beshort         x               \b, %d x
->>>>36 beshort         x               %d
->>>30  beshort         40              \b, Windows 3.x format
->>>>34 belong          x               \b, %d x
->>>>38 belong          x               %d x
->>>>44 beshort         x               %d
-# RIFF MIDI format
->8     string          RMID            \b, MIDI
-# RIFF Multimedia Movie File format
->8     string          RMMP            \b, multimedia movie
-# Microsoft WAVE format (*.wav)
->8     string          WAVE            \b, WAVE audio
->>20   leshort         1               \b, Microsoft PCM
->>>34  leshort         >0              \b, %d bit
->>22   beshort         =1              \b, mono
->>22   beshort         =2              \b, stereo
->>22   beshort         >2              \b, %d channels
->>24   belong          >0              %d Hz
-# Corel Draw Picture
->8     string          CDRA            \b, Corel Draw Picture
-# AVI == Audio Video Interleave
->8     string          AVI\040         \b, AVI
-# Animated Cursor format
->8     string          ACON            \b, animated cursor
-# Notation Interchange File Format (big-endian only)
->8     string          NIFF            \b, Notation Interchange File Format
-# SoundFont 2 <mpruett@sgi.com>
->8     string          sfbk            SoundFont/Bank
diff --git a/file/magic/Magdir/rpm b/file/magic/Magdir/rpm
deleted file mode 100644 (file)
index 09ee51b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#------------------------------------------------------------------------------
-#
-# RPM: file(1) magic for Red Hat Packages   Erik Troan (ewt@redhat.com)
-#
-0      beshort         0xedab
->2     beshort         0xeedb          RPM
->>4    byte            x               v%d
->>6    beshort         0               bin
->>6    beshort         1               src
->>8    beshort         1               i386
->>8    beshort         2               Alpha
->>8    beshort         3               Sparc
->>8    beshort         4               MIPS
->>8    beshort         5               PowerPC
->>8    beshort         6               68000
->>8    beshort         7       SGI
->>8    beshort         8               RS6000
->>8    beshort         9               IA64
->>8    beshort         10              Sparc64
->>8    beshort         11              MIPSel
->>8    beshort         12              ARM
->>10   string          x               %s
diff --git a/file/magic/Magdir/rtf b/file/magic/Magdir/rtf
deleted file mode 100644 (file)
index 8e2d416..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-
-#------------------------------------------------------------------------------
-# rtf: file(1) magic for Rich Text Format (RTF)
-#
-# Duncan P. Simpson, D.P.Simpson@dcs.warwick.ac.uk
-#
-0      string          {\\rtf          Rich Text Format data,
->5     byte            x               version %c,
->6     string          \\ansi          ANSI
->6     string          \\mac           Apple Macintosh
->6     string          \\pc            IBM PC, code page 437
->6     string          \\pca           IBM PS/2, code page 850
diff --git a/file/magic/Magdir/sc b/file/magic/Magdir/sc
deleted file mode 100644 (file)
index 98599f2..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sc:  file(1) magic for "sc" spreadsheet
-#
-38     string          Spreadsheet     sc spreadsheet file
diff --git a/file/magic/Magdir/sccs b/file/magic/Magdir/sccs
deleted file mode 100644 (file)
index 11d50b2..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sccs:  file(1) magic for SCCS archives
-#
-# SCCS archive structure:
-# \001h01207
-# \001s 00276/00000/00000
-# \001d D 1.1 87/09/23 08:09:20 ian 1 0
-# \001c date and time created 87/09/23 08:09:20 by ian
-# \001e
-# \001u
-# \001U
-# ... etc.
-# Now '\001h' happens to be the same as the 3B20's a.out magic number (0550).
-# *Sigh*. And these both came from various parts of the USG.
-# Maybe we should just switch everybody from SCCS to RCS!
-# Further, you can't just say '\001h0', because the five-digit number
-# is a checksum that could (presumably) have any leading digit,
-# and we don't have regular expression matching yet. 
-# Hence the following official kludge:
-8      string          \001s\                  SCCS archive data
diff --git a/file/magic/Magdir/sendmail b/file/magic/Magdir/sendmail
deleted file mode 100644 (file)
index 7880ab5..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sendmail:  file(1) magic for sendmail config files
-#
-# XXX - byte order?
-#
-0      byte    046       Sendmail frozen configuration 
->16    string  >\0       - version %s
-0      short   0x271c    Sendmail frozen configuration
->16    string  >\0       - version %s
-
-#------------------------------------------------------------------------------
-# sendmail:  file(1) magic for sendmail m4(1) files
-#
-# From Hendrik Scholz <hendrik@scholz.net>
-# i.e. files in /usr/share/sendmail/cf/
-#
-0   string  divert(-1)\n    sendmail m4 text file
-
diff --git a/file/magic/Magdir/sequent b/file/magic/Magdir/sequent
deleted file mode 100644 (file)
index e6f7b52..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sequent:  file(1) magic for Sequent machines
-#
-# Sequent information updated by Don Dwiggins <atsun!dwiggins>.
-# For Sequent's multiprocessor systems (incomplete).
-0      lelong  0x00ea          BALANCE NS32000 .o
->16    lelong  >0              not stripped
->124   lelong  >0              version %ld
-0      lelong  0x10ea          BALANCE NS32000 executable (0 @ 0)
->16    lelong  >0              not stripped
->124   lelong  >0              version %ld
-0      lelong  0x20ea          BALANCE NS32000 executable (invalid @ 0)
->16    lelong  >0              not stripped
->124   lelong  >0              version %ld
-0      lelong  0x30ea          BALANCE NS32000 standalone executable
->16    lelong  >0              not stripped
->124   lelong  >0              version %ld
-#
-# Symmetry information added by Jason Merrill <jason@jarthur.claremont.edu>.
-# Symmetry magic nums will not be reached if DOS COM comes before them;
-# byte 0xeb is matched before these get a chance.
-0      leshort 0x12eb          SYMMETRY i386 .o
->16    lelong  >0              not stripped
->124   lelong  >0              version %ld
-0      leshort 0x22eb          SYMMETRY i386 executable (0 @ 0)
->16    lelong  >0              not stripped
->124   lelong  >0              version %ld
-0      leshort 0x32eb          SYMMETRY i386 executable (invalid @ 0)
->16    lelong  >0              not stripped
->124   lelong  >0              version %ld
-0      leshort 0x42eb          SYMMETRY i386 standalone executable
->16    lelong  >0              not stripped
->124   lelong  >0              version %ld
diff --git a/file/magic/Magdir/sgi b/file/magic/Magdir/sgi
deleted file mode 100644 (file)
index 43cb63f..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sgi:  file(1) magic for Silicon Graphics applications
-
-#
-#
-# Performance Co-Pilot file types
-0      string  PmNs                            PCP compiled namespace (V.0)
-0      string  PmN                             PCP compiled namespace
->3     string  >\0                             (V.%1.1s)
-3      lelong  0x84500526                      PCP archive
->7     byte    x                               (V.%d)
->20    lelong  -2                              temporal index
->20    lelong  -1                              metadata
->20    lelong  0                               log volume #0
->20    lelong  >0                              log volume #%ld
->24    string  >\0                             host: %s
-0      string  PCPFolio                        PCP 
->9     string  Version:                        Archive Folio
->18    string  >\0                             (V.%s)
-0      string  #pmchart                        PCP pmchart view
->9     string  Version
->17    string  >\0                             (V%-3.3s)
-0      string  pmview                          PCP pmview config
->7     string  Version
->15    string  >\0                             (V%-3.3s)
-0      string  #pmlogger                       PCP pmlogger config
->10    string  Version
->18    string  >\0                             (V%1.1s)
-0      string  PcPh                            PCP Help 
->4     string  1                               Index
->4     string  2                               Text
->5     string  >\0                             (V.%1.1s)
-0      string  #pmieconf-rules                 PCP pmieconf rules
->16    string  >\0                             (V.%1.1s)
-3      string  pmieconf-pmie                   PCP pmie config
->17    string  >\0                             (V.%1.1s)
-
-# SpeedShop data files
-0      lelong  0x13130303                      SpeedShop data file
-
-# mdbm files
-0      lelong  0x01023962                      mdbm file, version 0 (obsolete)
-0      string  mdbm                            mdbm file,
->5     byte    x                               version %d,
->6     byte    x                               2^%d pages,
->7     byte    x                               pagesize 2^%d,
->17    byte    x                               hash %d,
->11    byte    x                               dataformat %d
-
-# Alias Maya files
-0      string  //Maya ASCII    Alias Maya Ascii File,
->13    string  >\0     version %s
-8      string  MAYAFOR4        Alias Maya Binary File,
->32    string  >\0     version %s scene
-8      string  MayaFOR4        Alias Maya Binary File,
->32    string  >\0     version %s scene
-8      string  CIMG            Alias Maya Image File
-8      string  DEEP            Alias Maya Image File
diff --git a/file/magic/Magdir/sgml b/file/magic/Magdir/sgml
deleted file mode 100644 (file)
index 9f33529..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sgml:  file(1) magic for Standard Generalized Markup Language
-# HyperText Markup Language (HTML) is an SGML document type,
-# from Daniel Quinlan (quinlan@yggdrasil.com)
-# adapted to string extenstions by Anthon van der Neut <anthon@mnt.org)
-0   string/cB  \<!DOCTYPE\ html        HTML document text
-0   string/cb  \<head                  HTML document text
-0   string/cb  \<title                 HTML document text
-0   string/cb  \<html                  HTML document text
-
-# Extensible markup language (XML), a subset of SGML
-# from Marc Prud'hommeaux (marc@apocalypse.org)
-0      string/cb       \<?xml                  XML document text
-0      string          \<?xml\ version "       XML
-0      string          \<?xml\ version="       XML
->15    string          >\0                     %.3s document text
->>23   string          \<xsl:stylesheet        (XSL stylesheet)
->>24   string          \<xsl:stylesheet        (XSL stylesheet)
-0      string/b        \<?xml                  XML document text
-0      string/cb       \<?xml                  broken XML document text
-
-
-# SGML, mostly from rph@sq
-0   string/cb  \<!doctype              exported SGML document text
-0   string/cb  \<!subdoc               exported SGML subdocument text
-0   string/cb  \<!--                   exported SGML document text
-
-# Web browser cookie files
-# (Mozilla, Galeon, Netscape 4, Konqueror..)
-# Ulf Harnhammar <ulfh@update.uu.se>
-0      string  #\ HTTP\ Cookie\ File   Web browser cookie text
-0      string  #\ Netscape\ HTTP\ Cookie\ File Netscape cookie text
-0      string  #\ KDE\ Cookie\ File    Konqueror cookie text
diff --git a/file/magic/Magdir/sharc b/file/magic/Magdir/sharc
deleted file mode 100644 (file)
index 8c2cae4..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#------------------------------------------------------------------------
-# file(1) magic for sharc files
-#
-# SHARC DSP, MIDI SysEx and RiscOS filetype definitions added by 
-# FutureGroove Music (dsp@futuregroove.de)
-
-#------------------------------------------------------------------------
-0      string                  Draw            RiscOS Drawfile
-0      string                  PACK            RiscOS PackdDir archive
-
-#------------------------------------------------------------------------
-# SHARC DSP stuff (based on the FGM SHARC DSP SDK)
-
-0      string                  =!              Assembler source
-0      string                  Analog          ADi asm listing file
-0      string                  .SYSTEM         SHARC architecture file
-0      string                  .system         SHARC architecture file
-
-0      leshort                 0x521C          SHARC COFF binary
->2     leshort                 >1              , %hd sections
->>12   lelong                  >0              , not stripped
diff --git a/file/magic/Magdir/sinclair b/file/magic/Magdir/sinclair
deleted file mode 100644 (file)
index fbad852..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sinclair:  file(1) sinclair QL
-
-# additions to /etc/magic by Thomas M. Ott (ThMO)
-
-# Sinclair QL floppy disk formats (ThMO)
-0      string  =QL5            QL disk dump data,
->3     string  =A              720 KB,
->3     string  =B              1.44 MB,
->3     string  =C              3.2 MB,
->4     string  >\0             label:%.10s
-
-# Sinclair QL OS dump (ThMO)
-# (NOTE: if `file' would be able to use indirect references in a endian format
-#       differing from the natural host format, this could be written more
-#       reliably and faster...)
-#
-# we *can't* lookup QL OS code dumps, because `file' is UNABLE to read more
-# than the first 8K of a file... #-(
-#
-#0             belong  =0x30000
-#>49124                belong  <47104
-#>>49128               belong  <47104
-#>>>49132      belong  <47104
-#>>>>49136     belong  <47104  QL OS dump data,
-#>>>>>49148    string  >\0     type %.3s,
-#>>>>>49142    string  >\0     version %.4s
-
-# Sinclair QL firmware executables (ThMO)
-0      string  NqNqNq`\004     QL firmware executable (BCPL)
-
-# Sinclair QL libraries (was ThMO)
-0      beshort 0xFB01          QDOS object
->2     pstring x               '%s'
-
-# Sinclair QL executables (was ThMO)
-4      belong  0x4AFB          QDOS executable
->9     pstring x               '%s'
-
-# Sinclair QL ROM (ThMO)
-0      belong  =0x4AFB0001     QL plugin-ROM data,
->9     pstring =\0             un-named
->9     pstring >\0             named: %s
diff --git a/file/magic/Magdir/sketch b/file/magic/Magdir/sketch
deleted file mode 100644 (file)
index d31d184..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-
-#------------------------------------------------------------------------------
-# Sketch Drawings: http://sketch.sourceforge.net/ 
-# From: Edwin Mons <e@ik.nu>
-0      string  ##Sketch        Sketch document text
diff --git a/file/magic/Magdir/smalltalk b/file/magic/Magdir/smalltalk
deleted file mode 100644 (file)
index b882759..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#-----------------------------------------------
-# GNU Smalltalk image, starting at version 1.6.2
-# From: catull_us@yahoo.com
-#
-0      string  GSTIm\0\0       GNU SmallTalk
-# little-endian
->7     byte&1  =0              LE image version
->>10   byte    x               %d.
->>9    byte    x               \b%d.
->>8    byte    x               \b%d
-#>>12  lelong  x               , data: %ld
-#>>16  lelong  x               , table: %ld
-#>>20  lelong  x               , memory: %ld
-# big-endian
->7     byte&1  =1              BE image version
->>8    byte    x               %d.
->>9    byte    x               \b%d.
->>10   byte    x               \b%d
-#>>12  belong  x               , data: %ld
-#>>16  belong  x               , table: %ld
-#>>20  belong  x               , memory: %ld
-
-
diff --git a/file/magic/Magdir/sniffer b/file/magic/Magdir/sniffer
deleted file mode 100644 (file)
index 282c44f..0000000
+++ /dev/null
@@ -1,297 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sniffer:  file(1) magic for packet capture files
-#
-# From: guy@alum.mit.edu (Guy Harris)
-#
-
-#
-# Microsoft Network Monitor 1.x capture files.
-#
-0      string          RTSS            NetMon capture file
->5     byte            x               - version %d
->4     byte            x               \b.%d
->6     leshort         0               (Unknown)
->6     leshort         1               (Ethernet)
->6     leshort         2               (Token Ring)
->6     leshort         3               (FDDI)
->6     leshort         4               (ATM)
-
-#
-# Microsoft Network Monitor 2.x capture files.
-#
-0      string          GMBU            NetMon capture file
->5     byte            x               - version %d
->4     byte            x               \b.%d
->6     leshort         0               (Unknown)
->6     leshort         1               (Ethernet)
->6     leshort         2               (Token Ring)
->6     leshort         3               (FDDI)
->6     leshort         4               (ATM)
-
-#
-# Network General Sniffer capture files.
-# Sorry, make that "Network Associates Sniffer capture files."
-# Sorry, make that "Network General old DOS Sniffer capture files."
-#
-0      string          TRSNIFF\ data\ \ \ \ \032       Sniffer capture file
->33    byte            2               (compressed)
->23    leshort         x               - version %d
->25    leshort         x               \b.%d
->32    byte            0               (Token Ring)
->32    byte            1               (Ethernet)
->32    byte            2               (ARCNET)
->32    byte            3               (StarLAN)
->32    byte            4               (PC Network broadband)
->32    byte            5               (LocalTalk)
->32    byte            6               (Znet)
->32    byte            7               (Internetwork Analyzer)
->32    byte            9               (FDDI)
->32    byte            10              (ATM)
-
-#
-# Cinco Networks NetXRay capture files.
-# Sorry, make that "Network General Sniffer Basic capture files."
-# Sorry, make that "Network Associates Sniffer Basic capture files."
-# Sorry, make that "Network Associates Sniffer Basic, and Windows
-# Sniffer Pro", capture files."
-# Sorry, make that "Network General Sniffer capture files."
-#
-0      string          XCP\0           NetXRay capture file
->4     string          >\0             - version %s
->44    leshort         0               (Ethernet)
->44    leshort         1               (Token Ring)
->44    leshort         2               (FDDI)
->44    leshort         3               (WAN)
->44    leshort         8               (ATM)
->44    leshort         9               (802.11)
-
-#
-# "libpcap" capture files.
-# (We call them "tcpdump capture file(s)" for now, as "tcpdump" is
-# the main program that uses that format, but there are other programs
-# that use "libpcap", or that use the same capture file format.)
-#
-0      ubelong         0xa1b2c3d4      tcpdump capture file (big-endian)
->4     beshort         x               - version %d
->6     beshort         x               \b.%d
->20    belong          0               (No link-layer encapsulation
->20    belong          1               (Ethernet
->20    belong          2               (3Mb Ethernet
->20    belong          3               (AX.25
->20    belong          4               (ProNET
->20    belong          5               (CHAOS
->20    belong          6               (Token Ring
->20    belong          7               (BSD ARCNET
->20    belong          8               (SLIP
->20    belong          9               (PPP
->20    belong          10              (FDDI
->20    belong          11              (RFC 1483 ATM
->20    belong          12              (raw IP
->20    belong          13              (BSD/OS SLIP
->20    belong          14              (BSD/OS PPP
->20    belong          19              (Linux ATM Classical IP
->20    belong          50              (PPP or Cisco HDLC
->20    belong          51              (PPP-over-Ethernet
->20    belong          99              (Symantec Enterprise Firewall
->20    belong          100             (RFC 1483 ATM
->20    belong          101             (raw IP
->20    belong          102             (BSD/OS SLIP
->20    belong          103             (BSD/OS PPP
->20    belong          104             (BSD/OS Cisco HDLC
->20    belong          105             (802.11
->20    belong          106             (Linux Classical IP over ATM
->20    belong          107             (Frame Relay
->20    belong          108             (OpenBSD loopback
->20    belong          109             (OpenBSD IPsec encrypted
->20    belong          112             (Cisco HDLC
->20    belong          113             (Linux "cooked"
->20    belong          114             (LocalTalk
->20    belong          117             (OpenBSD PFLOG
->20    belong          119             (802.11 with Prism header
->20    belong          122             (RFC 2625 IP over Fibre Channel
->20    belong          123             (SunATM
->20    belong          127             (802.11 with radiotap header
->20    belong          129             (Linux ARCNET
->20    belong          138             (Apple IP over IEEE 1394
->20    belong          140             (MTP2
->20    belong          141             (MTP3
->20    belong          143             (DOCSIS
->20    belong          144             (IrDA
->20    belong          147             (Private use 0
->20    belong          148             (Private use 1
->20    belong          149             (Private use 2
->20    belong          150             (Private use 3
->20    belong          151             (Private use 4
->20    belong          152             (Private use 5
->20    belong          153             (Private use 6
->20    belong          154             (Private use 7
->20    belong          155             (Private use 8
->20    belong          156             (Private use 9
->20    belong          157             (Private use 10
->20    belong          158             (Private use 11
->20    belong          159             (Private use 12
->20    belong          160             (Private use 13
->20    belong          161             (Private use 14
->20    belong          162             (Private use 15
->20    belong          163             (802.11 with AVS header
->16    belong          x               \b, capture length %d)
-0      ulelong         0xa1b2c3d4      tcpdump capture file (little-endian)
->4     leshort         x               - version %d
->6     leshort         x               \b.%d
->20    lelong          0               (No link-layer encapsulation
->20    lelong          1               (Ethernet
->20    lelong          2               (3Mb Ethernet
->20    lelong          3               (AX.25
->20    lelong          4               (ProNET
->20    lelong          5               (CHAOS
->20    lelong          6               (Token Ring
->20    lelong          7               (ARCNET
->20    lelong          8               (SLIP
->20    lelong          9               (PPP
->20    lelong          10              (FDDI
->20    lelong          11              (RFC 1483 ATM
->20    lelong          12              (raw IP
->20    lelong          13              (BSD/OS SLIP
->20    lelong          14              (BSD/OS PPP
->20    lelong          19              (Linux ATM Classical IP
->20    lelong          50              (PPP or Cisco HDLC
->20    lelong          51              (PPP-over-Ethernet
->20    lelong          99              (Symantec Enterprise Firewall
->20    lelong          100             (RFC 1483 ATM
->20    lelong          101             (raw IP
->20    lelong          102             (BSD/OS SLIP
->20    lelong          103             (BSD/OS PPP
->20    lelong          104             (BSD/OS Cisco HDLC
->20    lelong          105             (802.11
->20    lelong          106             (Linux Classical IP over ATM
->20    lelong          107             (Frame Relay
->20    lelong          108             (OpenBSD loopback
->20    lelong          109             (OpenBSD IPsec encrypted
->20    lelong          112             (Cisco HDLC
->20    lelong          113             (Linux "cooked"
->20    lelong          114             (LocalTalk
->20    lelong          117             (OpenBSD PFLOG
->20    lelong          119             (802.11 with Prism header
->20    lelong          122             (RFC 2625 IP over Fibre Channel
->20    lelong          123             (SunATM
->20    lelong          127             (802.11 with radiotap header
->20    lelong          129             (Linux ARCNET
->20    lelong          138             (Apple IP over IEEE 1394
->20    lelong          140             (MTP2
->20    lelong          141             (MTP3
->20    lelong          143             (DOCSIS
->20    lelong          144             (IrDA
->20    lelong          147             (Private use 0
->20    lelong          148             (Private use 1
->20    lelong          149             (Private use 2
->20    lelong          150             (Private use 3
->20    lelong          151             (Private use 4
->20    lelong          152             (Private use 5
->20    lelong          153             (Private use 6
->20    lelong          154             (Private use 7
->20    lelong          155             (Private use 8
->20    lelong          156             (Private use 9
->20    lelong          157             (Private use 10
->20    lelong          158             (Private use 11
->20    lelong          159             (Private use 12
->20    lelong          160             (Private use 13
->20    lelong          161             (Private use 14
->20    lelong          162             (Private use 15
->20    lelong          163             (802.11 with AVS header
->16    lelong          x               \b, capture length %d)
-
-#
-# "libpcap"-with-Alexey-Kuznetsov's-patches capture files.
-# (We call them "tcpdump capture file(s)" for now, as "tcpdump" is
-# the main program that uses that format, but there are other programs
-# that use "libpcap", or that use the same capture file format.)
-#
-0      ubelong         0xa1b2cd34      extended tcpdump capture file (big-endian)
->4     beshort         x               - version %d
->6     beshort         x               \b.%d
->20    belong          0               (No link-layer encapsulation
->20    belong          1               (Ethernet
->20    belong          2               (3Mb Ethernet
->20    belong          3               (AX.25
->20    belong          4               (ProNET
->20    belong          5               (CHAOS
->20    belong          6               (Token Ring
->20    belong          7               (ARCNET
->20    belong          8               (SLIP
->20    belong          9               (PPP
->20    belong          10              (FDDI
->20    belong          11              (RFC 1483 ATM
->20    belong          12              (raw IP
->20    belong          13              (BSD/OS SLIP
->20    belong          14              (BSD/OS PPP
->16    belong          x               \b, capture length %d)
-0      ulelong         0xa1b2cd34      extended tcpdump capture file (little-endian)
->4     leshort         x               - version %d
->6     leshort         x               \b.%d
->20    lelong          0               (No link-layer encapsulation
->20    lelong          1               (Ethernet
->20    lelong          2               (3Mb Ethernet
->20    lelong          3               (AX.25
->20    lelong          4               (ProNET
->20    lelong          5               (CHAOS
->20    lelong          6               (Token Ring
->20    lelong          7               (ARCNET
->20    lelong          8               (SLIP
->20    lelong          9               (PPP
->20    lelong          10              (FDDI
->20    lelong          11              (RFC 1483 ATM
->20    lelong          12              (raw IP
->20    lelong          13              (BSD/OS SLIP
->20    lelong          14              (BSD/OS PPP
->16    lelong          x               \b, capture length %d)
-
-#
-# AIX "iptrace" capture files.
-#
-0      string          iptrace\ 1.0    "iptrace" capture file
-0      string          iptrace\ 2.0    "iptrace" capture file
-
-#
-# Novell LANalyzer capture files.
-#
-0      leshort         0x1001          LANalyzer capture file
-0      leshort         0x1007          LANalyzer capture file
-
-#
-# HP-UX "nettl" capture files.
-#
-0      string          \x54\x52\x00\x64\x00    "nettl" capture file
-
-#
-# RADCOM WAN/LAN Analyzer capture files.
-#
-0      string          \x42\xd2\x00\x34\x12\x66\x22\x88        RADCOM WAN/LAN Analyzer capture file
-
-#
-# NetStumbler log files.  Not really packets, per se, but about as
-# close as you can get.  These are log files from NetStumbler, a
-# Windows program, that scans for 802.11b networks.
-#
-0      string          NetS            NetStumbler log file
->8     lelong          x               \b, %d stations found
-
-#
-# EtherPeek/AiroPeek "version 9" capture files.
-#
-0      string          \177ver         EtherPeek/AiroPeek capture file
-
-#
-# Visual Networks traffic capture files.
-#
-0      string          \x05VNF         Visual Networks traffic capture file
-
-#
-# Network Instruments Observer capture files.
-#
-0      string          ObserverPktBuffe        Network Instruments Observer capture file
-
-#
-# Files from Accellent Group's 5View products.
-#
-0      string          \xaa\xaa\xaa\xaa        5View capture file
diff --git a/file/magic/Magdir/softquad b/file/magic/Magdir/softquad
deleted file mode 100644 (file)
index aa16904..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-
-#------------------------------------------------------------------------------
-# softquad:  file(1) magic for SoftQuad Publishing Software
-#
-# Author/Editor and RulesBuilder
-#
-# XXX - byte order?
-#
-0      string          \<!SQ\ DTD>     Compiled SGML rules file
->9     string          >\0              Type %s
-0      string          \<!SQ\ A/E>     A/E SGML Document binary
->9     string          >\0              Type %s
-0      string          \<!SQ\ STS>     A/E SGML binary styles file
->9     string          >\0              Type %s
-0      short           0xc0de          Compiled PSI (v1) data
-0      short           0xc0da          Compiled PSI (v2) data
->3     string          >\0             (%s)
-# Binary sqtroff font/desc files...
-0      short           0125252         SoftQuad DESC or font file binary
->2     short           >0              - version %d
-# Bitmaps...
-0      string          SQ\ BITMAP1     SoftQuad Raster Format text
-#0     string          SQ\ BITMAP2     SoftQuad Raster Format data
-# sqtroff intermediate language (replacement for ditroff int. lang.)
-0      string          X\              SoftQuad troff Context intermediate
->2     string          495             for AT&T 495 laser printer
->2     string          hp              for Hewlett-Packard LaserJet
->2     string          impr            for IMAGEN imPRESS
->2     string          ps              for PostScript
diff --git a/file/magic/Magdir/spec b/file/magic/Magdir/spec
deleted file mode 100644 (file)
index bfda306..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#------------------------------------------------------------------------------
-# spec:  file(1) magic for SPEC raw results (*.raw, *.rsf)
-#
-# Cloyce D. Spradling <cloyce@headgear.org>
-
-0      string  spec                    SPEC
->4     string  .cpu                    CPU
->>8    string  <:                      \b%.4s
->>12   string  .                       raw result text
-
-17     string  version=SPECjbb         SPECjbb
->32    string  <:                      \b%.4s
->>37   string  <:                      v%.4s raw result text
-
-0      string  BEGIN\040SPECWEB        SPECweb
->13    string  <:                      \b%.2s
->>15   string  _SSL                    \b_SSL
->>>20  string  <:                      v%.4s raw result text
->>16   string  <:                      v%.4s raw result text
diff --git a/file/magic/Magdir/spectrum b/file/magic/Magdir/spectrum
deleted file mode 100644 (file)
index ab9fd04..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#------------------------------------------------------------------------------
-# spectrum:  file(1) magic for Spectrum emulator files.
-#
-# John Elliott <jce@seasip.demon.co.uk>
-
-#
-# Spectrum +3DOS header
-#
-0       string          PLUS3DOS\032    Spectrum +3 data
->15     byte            0               - BASIC program
->15     byte            1               - number array
->15     byte            2               - character array
->15     byte            3               - memory block
->>16    belong          0x001B0040      (screen)
->15     byte            4               - Tasword document
->15     string          TAPEFILE        - ZXT tapefile
-#
-# Tape file. This assumes the .TAP starts with a Spectrum-format header,
-# which nearly all will.
-#
-0       string          \023\000\000    Spectrum .TAP data
->4      string          x               "%-10.10s"
->3      byte            0               - BASIC program
->3      byte            1               - number array
->3      byte            2               - character array
->3      byte            3               - memory block
->>14    belong          0x001B0040      (screen)
-
-# The following three blocks are from pak21-spectrum@srcf.ucam.org
-# TZX tape images
-0      string          ZXTape!\x1a     Spectrum .TZX data
->8     byte            x               version %d
->9     byte            x               .%d
-
-# RZX input recording files
-0      string          RZX!            Spectrum .RZX data
->4     byte            x               version %d
->5     byte            x               .%d
-
-# And three sorts of disk image
-0      string          MV\ -\ CPCEMU\ Disk-Fil Amstrad/Spectrum .DSK data
-0      string          MV\ -\ CPC\ format\ Dis Amstrad/Spectrum DU54 .DSK data
-0      string          EXTENDED\ CPC\ DSK\ Fil Amstrad/Spectrum Extended .DSK data
diff --git a/file/magic/Magdir/sql b/file/magic/Magdir/sql
deleted file mode 100644 (file)
index 016e030..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sql:  file(1) magic for SQL files
-#
-# From: "Marty Leisner" <mleisner@eng.mc.xerox.com>
-# Recognize some MySQL files.
-#
-0      beshort                 0xfe01          MySQL table definition file
->2     byte                    x               Version %d
-0      belong&0xffffff00       0xfefe0300      MySQL MISAM index file
->3     byte                    x               Version %d
-0      belong&0xffffff00       0xfefe0700      MySQL MISAM compressed data file
->3     byte                    x               Version %d
-0      belong&0xffffff00       0xfefe0500      MySQL ISAM index file
->3     byte                    x               Version %d
-0      belong&0xffffff00       0xfefe0600      MySQL ISAM compressed data file
->3     byte                    x               Version %d
-0      string                  \376bin         MySQL replication log
-
-#------------------------------------------------------------------------------
-# iRiver H Series database file 
-# From Ken Guest <ken@linux.ie>
-# As observed from iRivNavi.iDB and unencoded firmware
-#
-0   string             iRivDB  iRiver Database file
->11  string    >\0     Version %s
->39  string            iHP-100 [H Series]
-
-#------------------------------------------------------------------------------
-# SQLite database file 
-# From Ken Guest <ken@linux.ie>
-#
-0   string  SQLite  SQLite database
->14 string >\0  (Version %s)
diff --git a/file/magic/Magdir/sun b/file/magic/Magdir/sun
deleted file mode 100644 (file)
index 4c43b27..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sun:  file(1) magic for Sun machines
-#
-# Values for big-endian Sun (MC680x0, SPARC) binaries on pre-5.x
-# releases.  (5.x uses ELF.)
-#
-0      belong&077777777        0600413         sparc demand paged
->0     byte            &0x80
->>20   belong          <4096           shared library
->>20   belong          =4096           dynamically linked executable
->>20   belong          >4096           dynamically linked executable
->0     byte            ^0x80           executable
->16    belong          >0              not stripped
-0      belong&077777777        0600410         sparc pure
->0     byte            &0x80           dynamically linked executable
->0     byte            ^0x80           executable
->16    belong          >0              not stripped
-0      belong&077777777        0600407         sparc
->0     byte            &0x80           dynamically linked executable
->0     byte            ^0x80           executable
->16    belong          >0              not stripped
-
-0      belong&077777777        0400413         mc68020 demand paged
->0     byte            &0x80
->>20   belong          <4096           shared library
->>20   belong          =4096           dynamically linked executable
->>20   belong          >4096           dynamically linked executable
->16    belong          >0              not stripped
-0      belong&077777777        0400410         mc68020 pure
->0     byte            &0x80           dynamically linked executable
->0     byte            ^0x80           executable
->16    belong          >0              not stripped
-0      belong&077777777        0400407         mc68020
->0     byte            &0x80           dynamically linked executable
->0     byte            ^0x80           executable
->16    belong          >0              not stripped
-
-0      belong&077777777        0200413         mc68010 demand paged
->0     byte            &0x80
->>20   belong          <4096           shared library
->>20   belong          =4096           dynamically linked executable
->>20   belong          >4096           dynamically linked executable
->16    belong          >0              not stripped
-0      belong&077777777        0200410         mc68010 pure
->0     byte            &0x80           dynamically linked executable
->0     byte            ^0x80           executable
->16    belong          >0              not stripped
-0      belong&077777777        0200407         mc68010
->0     byte            &0x80           dynamically linked executable
->0     byte            ^0x80           executable
->16    belong          >0              not stripped
-
-# reworked these to avoid anything beginning with zero becoming "old sun-2"
-0      belong          0407            old sun-2 executable
->16    belong          >0              not stripped
-0      belong          0410            old sun-2 pure executable
->16    belong          >0              not stripped
-0      belong          0413            old sun-2 demand paged executable
->16    belong          >0              not stripped
-
-#
-# Core files.  "SPARC 4.x BCP" means "core file from a SunOS 4.x SPARC
-# binary executed in compatibility mode under SunOS 5.x".
-#
-0      belong          0x080456        SunOS core file
->4     belong          432             (SPARC)
->>132  string          >\0             from '%s'
->>116  belong          =3              (quit)
->>116  belong          =4              (illegal instruction)
->>116  belong          =5              (trace trap)
->>116  belong          =6              (abort)
->>116  belong          =7              (emulator trap)
->>116  belong          =8              (arithmetic exception)
->>116  belong          =9              (kill)
->>116  belong          =10             (bus error)
->>116  belong          =11             (segmentation violation)
->>116  belong          =12             (bad argument to system call)
->>116  belong          =29             (resource lost)
->>120  belong          x               (T=%dK,
->>124  belong          x               D=%dK,
->>128  belong          x               S=%dK)
->4     belong          826             (68K)
->>128  string          >\0             from '%s'
->4     belong          456             (SPARC 4.x BCP)
->>152  string          >\0             from '%s'
-# Sun SunPC
-0      long            0xfa33c08e      SunPC 4.0 Hard Disk
-0      string          #SUNPC_CONFIG   SunPC 4.0 Properties Values
-# Sun snoop (see RFC 1761, which describes the capture file format).
-#
-0      string          snoop           Snoop capture file
->8     belong          >0              - version %ld
->12    belong          0               (IEEE 802.3)
->12    belong          1               (IEEE 802.4)
->12    belong          2               (IEEE 802.5)
->12    belong          3               (IEEE 802.6)
->12    belong          4               (Ethernet)
->12    belong          5               (HDLC)
->12    belong          6               (Character synchronous)
->12    belong          7               (IBM channel-to-channel adapter)
->12    belong          8               (FDDI)
->12    belong          9               (Unknown)
-
-# Microsoft ICM color profile
-36     string          acspMSFT        Microsoft ICM Color Profile
-# Sun KCMS
-36     string          acsp            Kodak Color Management System, ICC Profile
-
-#---------------------------------------------------------------------------
-# The following entries have been tested by Duncan Laurie <duncan@sun.com> (a
-# lead Sun/Cobalt developer) who agrees that they are good and worthy of
-# inclusion.
-
-# Boot ROM images for Sun/Cobalt Linux server appliances
-0       string  Cobalt\ Networks\ Inc.\nFirmware\ v     Paged COBALT boot rom
->38     string x        V%.4s
-
-# New format for Sun/Cobalt boot ROMs is annoying, it stores the version code
-# at the very end where file(1) can't get it.
-0       string CRfs     COBALT boot rom data (Flat boot rom or file system)
-
-
diff --git a/file/magic/Magdir/sysex b/file/magic/Magdir/sysex
deleted file mode 100644 (file)
index e2a4bd8..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-#------------------------------------------------------------------------
-# sysex: file(1) magic for MIDI sysex files
-#
-# 
-0      byte                    0xF0            SysEx File -
-
-# North American Group
->1     byte                    0x01            Sequential
->1     byte                    0x02            IDP
->1     byte                    0x03            OctavePlateau
->1     byte                    0x04            Moog
->1     byte                    0x05            Passport
->1     byte                    0x06            Lexicon
->1     byte                    0x07            Kurzweil
->1     byte                    0x08            Fender
->1     byte                    0x09            Gulbransen
->1     byte                    0x0a            AKG
->1     byte                    0x0b            Voyce
->1     byte                    0x0c            Waveframe
->1     byte                    0x0d            ADA
->1     byte                    0x0e            Garfield
->1     byte                    0x0f            Ensoniq
->1     byte                    0x10            Oberheim
->1     byte                    0x11            Apple
->1     byte                    0x12            GreyMatter
->1     byte                    0x14            PalmTree
->1     byte                    0x15            JLCooper
->1     byte                    0x16            Lowrey
->1     byte                    0x17            AdamsSmith
->1     byte                    0x18            E-mu
->1     byte                    0x19            Harmony
->1     byte                    0x1a            ART
->1     byte                    0x1b            Baldwin
->1     byte                    0x1c            Eventide
->1     byte                    0x1d            Inventronics
->1     byte                    0x1f            Clarity
-
-# European Group
->1     byte                    0x21            SIEL
->1     byte                    0x22            Synthaxe
->1     byte                    0x24            Hohner
->1     byte                    0x25            Twister
->1     byte                    0x26            Solton
->1     byte                    0x27            Jellinghaus
->1     byte                    0x28            Southworth
->1     byte                    0x29            PPG
->1     byte                    0x2a            JEN
->1     byte                    0x2b            SSL
->1     byte                    0x2c            AudioVertrieb
-
->1     byte                    0x2f            ELKA
->>3    byte                    0x09            EK-44
-
->1     byte                    0x30            Dynacord
->1     byte                    0x33            Clavia
->1     byte                    0x39            Soundcraft
-
->1     byte                    0x3e            Waldorf
->>3    byte                    0x7f            Microwave I
-
-# Japanese Group
->1     byte                    0x40            Kawai
->>3    byte                    0x20            K1
->>3    byte                    0x22            K4
-
->1     byte                    0x41            Roland
->>3    byte                    0x14            D-50
->>3    byte                    0x2b            U-220
->>3    byte                    0x02            TR-707
-
->1     byte                    0x42            Korg
->>3    byte                    0x19            M1
-
->1     byte                    0x43            Yamaha
->1     byte                    0x44            Casio
->1     byte                    0x46            Kamiya
->1     byte                    0x47            Akai
->1     byte                    0x48            Victor
->1     byte                    0x49            Mesosha
->1     byte                    0x4b            Fujitsu
->1     byte                    0x4c            Sony
->1     byte                    0x4e            Teac
->1     byte                    0x50            Matsushita
->1     byte                    0x51            Fostex
->1     byte                    0x52            Zoom
->1     byte                    0x54            Matsushita
->1     byte                    0x57            Acoustic tech. lab.
-
->1     belong&0xffffff00       0x00007400      Ta Horng
->1     belong&0xffffff00       0x00007500      e-Tek
->1     belong&0xffffff00       0x00007600      E-Voice
->1     belong&0xffffff00       0x00007700      Midisoft
->1     belong&0xffffff00       0x00007800      Q-Sound
->1     belong&0xffffff00       0x00007900      Westrex
->1     belong&0xffffff00       0x00007a00      Nvidia*
->1     belong&0xffffff00       0x00007b00      ESS
->1     belong&0xffffff00       0x00007c00      Mediatrix
->1     belong&0xffffff00       0x00007d00      Brooktree
->1     belong&0xffffff00       0x00007e00      Otari
->1     belong&0xffffff00       0x00007f00      Key Electronics
->1     belong&0xffffff00       0x00010000      Shure
->1     belong&0xffffff00       0x00010100      AuraSound
->1     belong&0xffffff00       0x00010200      Crystal
->1     belong&0xffffff00       0x00010300      Rockwell
->1     belong&0xffffff00       0x00010400      Silicon Graphics
->1     belong&0xffffff00       0x00010500      Midiman
->1     belong&0xffffff00       0x00010600      PreSonus
->1     belong&0xffffff00       0x00010800      Topaz
->1     belong&0xffffff00       0x00010900      Cast Lightning
->1     belong&0xffffff00       0x00010a00      Microsoft
->1     belong&0xffffff00       0x00010b00      Sonic Foundry
->1     belong&0xffffff00       0x00010c00      Line 6
->1     belong&0xffffff00       0x00010d00      Beatnik Inc.
->1     belong&0xffffff00       0x00010e00      Van Koerving
->1     belong&0xffffff00       0x00010f00      Altech Systems
->1     belong&0xffffff00       0x00011000      S & S Research
->1     belong&0xffffff00       0x00011100      VLSI Technology
->1     belong&0xffffff00       0x00011200      Chromatic
->1     belong&0xffffff00       0x00011300      Sapphire
->1     belong&0xffffff00       0x00011400      IDRC
->1     belong&0xffffff00       0x00011500      Justonic Tuning
->1     belong&0xffffff00       0x00011600      TorComp
->1     belong&0xffffff00       0x00011700      Newtek Inc.
->1     belong&0xffffff00       0x00011800      Sound Sculpture
->1     belong&0xffffff00       0x00011900      Walker Technical
->1     belong&0xffffff00       0x00011a00      Digital Harmony
->1     belong&0xffffff00       0x00011b00      InVision
->1     belong&0xffffff00       0x00011c00      T-Square
->1     belong&0xffffff00       0x00011d00      Nemesys
->1     belong&0xffffff00       0x00011e00      DBX
->1     belong&0xffffff00       0x00011f00      Syndyne
->1     belong&0xffffff00       0x00012000      Bitheadz        
->1     belong&0xffffff00       0x00012100      Cakewalk
->1     belong&0xffffff00       0x00012200      Staccato
->1     belong&0xffffff00       0x00012300      National Semicon.
->1     belong&0xffffff00       0x00012400      Boom Theory
->1     belong&0xffffff00       0x00012500      Virtual DSP Corp
->1     belong&0xffffff00       0x00012600      Antares
->1     belong&0xffffff00       0x00012700      Angel Software
->1     belong&0xffffff00       0x00012800      St Louis Music
->1     belong&0xffffff00       0x00012900      Lyrrus dba G-VOX
->1     belong&0xffffff00       0x00012a00      Ashley Audio
->1     belong&0xffffff00       0x00012b00      Vari-Lite
->1     belong&0xffffff00       0x00012c00      Summit Audio
->1     belong&0xffffff00       0x00012d00      Aureal Semicon.
->1     belong&0xffffff00       0x00012e00      SeaSound
->1     belong&0xffffff00       0x00012f00      U.S. Robotics
->1     belong&0xffffff00       0x00013000      Aurisis
->1     belong&0xffffff00       0x00013100      Nearfield Multimedia
->1     belong&0xffffff00       0x00013200      FM7 Inc.
->1     belong&0xffffff00       0x00013300      Swivel Systems
->1     belong&0xffffff00       0x00013400      Hyperactive
->1     belong&0xffffff00       0x00013500      MidiLite
->1     belong&0xffffff00       0x00013600      Radical
->1     belong&0xffffff00       0x00013700      Roger Linn
->1     belong&0xffffff00       0x00013800      Helicon
->1     belong&0xffffff00       0x00013900      Event
->1     belong&0xffffff00       0x00013a00      Sonic Network
->1     belong&0xffffff00       0x00013b00      Realtime Music
->1     belong&0xffffff00       0x00013c00      Apogee Digital
-
->1     belong&0xffffff00       0x00202b00      Medeli Electronics
->1     belong&0xffffff00       0x00202c00      Charlie Lab
->1     belong&0xffffff00       0x00202d00      Blue Chip Music
->1     belong&0xffffff00       0x00202e00      BEE OH Corp
->1     belong&0xffffff00       0x00202f00      LG Semicon America
->1     belong&0xffffff00       0x00203000      TESI
->1     belong&0xffffff00       0x00203100      EMAGIC
->1     belong&0xffffff00       0x00203200      Behringer
->1     belong&0xffffff00       0x00203300      Access Music
->1     belong&0xffffff00       0x00203400      Synoptic
->1     belong&0xffffff00       0x00203500      Hanmesoft Corp
->1     belong&0xffffff00       0x00203600      Terratec
->1     belong&0xffffff00       0x00203700      Proel SpA
->1     belong&0xffffff00       0x00203800      IBK MIDI
->1     belong&0xffffff00       0x00203900      IRCAM
->1     belong&0xffffff00       0x00203a00      Propellerhead Software
->1     belong&0xffffff00       0x00203b00      Red Sound Systems
->1     belong&0xffffff00       0x00203c00      Electron ESI AB
->1     belong&0xffffff00       0x00203d00      Sintefex Audio
->1     belong&0xffffff00       0x00203e00      Music and More
->1     belong&0xffffff00       0x00203f00      Amsaro
->1     belong&0xffffff00       0x00204000      CDS Advanced Technology
->1     belong&0xffffff00       0x00204100      Touched by Sound
->1     belong&0xffffff00       0x00204200      DSP Arts
->1     belong&0xffffff00       0x00204300      Phil Rees Music
->1     belong&0xffffff00       0x00204400      Stamer Musikanlagen GmbH
->1     belong&0xffffff00       0x00204500      Soundart
->1     belong&0xffffff00       0x00204600      C-Mexx Software
->1     belong&0xffffff00       0x00204700      Klavis Tech.
->1     belong&0xffffff00       0x00204800      Noteheads AB
-
-0      string                  T707            Roland TR-707 Data
diff --git a/file/magic/Magdir/teapot b/file/magic/Magdir/teapot
deleted file mode 100644 (file)
index d9554bf..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-#------------------------------------------------------------------------------
-# teapot:  file(1) magic for "teapot" spreadsheet
-#
-0       string          #!teapot\012xdr      teapot work sheet (XDR format)
diff --git a/file/magic/Magdir/terminfo b/file/magic/Magdir/terminfo
deleted file mode 100644 (file)
index 2226ce8..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-
-#------------------------------------------------------------------------------
-# terminfo:  file(1) magic for terminfo
-#
-# XXX - byte order for screen images?
-#
-0      string          \032\001        Compiled terminfo entry
-0      short           0433            Curses screen image
-0      short           0434            Curses screen image
diff --git a/file/magic/Magdir/tex b/file/magic/Magdir/tex
deleted file mode 100644 (file)
index a6c734e..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-
-#------------------------------------------------------------------------------
-# tex:  file(1) magic for TeX files
-#
-# 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        TeX DVI file
->16    string          >\0             (%s)
-0      string          \367\203        TeX generic font data
-0      string          \367\131        TeX packed font data
->3     string          >\0             (%s)
-0      string          \367\312        TeX virtual font data
-0      string          This\ is\ TeX,  TeX transcript text
-0      string          This\ is\ METAFONT,     METAFONT transcript text
-
-# 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        TeX font metric data
->33    string          >\0             (%s)
-2      string          \000\022        TeX font metric data
->33    string          >\0             (%s)
-
-# Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com)
-0      string          \\input\ texinfo        Texinfo source text
-0      string          This\ is\ Info\ file    GNU Info text
-
-# TeX documents, from Daniel Quinlan (quinlan@yggdrasil.com)
-0      string          \\input         TeX document text
-0      string          \\section       LaTeX document text
-0      string          \\setlength     LaTeX document text
-0      string          \\documentstyle LaTeX document text
-0      string          \\chapter       LaTeX document text
-0      string          \\documentclass LaTeX 2e document text
-0      string          \\relax         LaTeX auxiliary file
-0      string          \\contentsline  LaTeX  table of contents
-0      string          %\ -*-latex-*-  LaTeX document text
-
-# Tex document, from Hendrik Scholz <hendrik@scholz.net>
-0   string      \\ifx       TeX document text
-
-# Index and glossary files
-0      string          \\indexentry    LaTeX raw index file
-0      string          \\begin{theindex}       LaTeX sorted index
-0      string          \\glossaryentry LaTeX raw glossary
-0      string          \\begin{theglossary}    LaTeX sorted glossary
-0      string          This\ is\ makeindex     Makeindex log file
-
-# End of TeX
-
-#------------------------------------------------------------------------------
-# file(1) magic for BibTex text files
-# From Hendrik Scholz <hendrik@scholz.net>
-
-0   string/c @article{        BibTeX text file
-0   string/c @book{           BibTeX text file
-0   string/c @inbook{         BibTeX text file
-0   string/c @incollection{   BibTeX text file
-0   string/c @inproceedings{  BibTeX text file
-0   string/c @manual{         BibTeX text file
-0   string/c @misc{           BibTeX text file
-0   string/c @preamble{       BibTeX text file
-0   string/c @phdthesis{      BibTeX text file
-0   string/c @techreport{     BibTeX text file
-0   string/c @unpublished{    BibTeX text file
-
-73  string %%%\ \ BibTeX-file{ BibTex text file (with full header)
-
-73  string %%%\ \ @BibTeX-style-file{   BibTeX style text file (with full header)
-
-0   string %\ BibTeX\ standard\ bibliography\      BibTeX standard bibliography style text file
-
-0   string %\ BibTeX\ `     BibTeX custom bibliography style text file
-
-0   string  @c\ @mapfile{   TeX font aliases text file
-
diff --git a/file/magic/Magdir/tgif b/file/magic/Magdir/tgif
deleted file mode 100644 (file)
index a6ffe36..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#------------------------------------------------------------------------------
-# file(1) magic for tgif(1) files
-# From Hendrik Scholz <hendrik@scholz.net>
-
-0   string  %TGIF\ 4   tgif version 4 object file
-
diff --git a/file/magic/Magdir/ti-8x b/file/magic/Magdir/ti-8x
deleted file mode 100644 (file)
index 89e2204..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-# ------------------------------------------------------------------------
-# ti-8x: file(1) magic for the TI-8x and TI-9x Graphing Calculators.
-#
-# From: Ryan McGuire (rmcguire@freenet.columbus.oh.us).
-#
-# Update: Romain Lievin (roms@lpg.ticalc.org).
-#
-# NOTE: This list is not complete.
-# Files for the TI-80 and TI-81 are pretty rare. I'm not going to put the
-# program/group magic numbers in here because I cannot find any.
-0              string          **TI80**        TI-80 Graphing Calculator File.
-0              string          **TI81**        TI-81 Graphing Calculator File.
-#
-# Magic Numbers for the TI-73
-#
-0              string          **TI73**        TI-73 Graphing Calculator
->0x00003B      byte            0x00            (real number)
->0x00003B      byte            0x01            (list)
->0x00003B      byte            0x02            (matrix)
->0x00003B      byte            0x03            (equation)
->0x00003B      byte            0x04            (string)
->0x00003B      byte            0x05            (program)
->0x00003B      byte            0x06            (assembly program)
->0x00003B      byte            0x07            (picture)
->0x00003B      byte            0x08            (gdb)
->0x00003B      byte            0x0C            (complex number)
->0x00003B      byte            0x0F            (window settings)
->0x00003B      byte            0x10            (zoom)
->0x00003B      byte            0x11            (table setup)
->0x00003B      byte            0x13            (backup)
-
-# Magic Numbers for the TI-82
-#
-0              string          **TI82**        TI-82 Graphing Calculator
->0x00003B      byte            0x00            (real)
->0x00003B      byte            0x01            (list)
->0x00003B      byte            0x02            (matrix)
->0x00003B      byte            0x03            (Y-variable)
->0x00003B      byte            0x05            (program)
->0x00003B      byte            0x06            (protected prgm)
->0x00003B      byte            0x07            (picture)
->0x00003B      byte            0x08            (gdb)
->0x00003B      byte            0x0B            (window settings)
->0x00003B      byte            0x0C            (window settings)
->0x00003B      byte            0x0D            (table setup)
->0x00003B      byte            0x0E            (screenshot)
->0x00003B      byte            0x0F            (backup)
-#
-# Magic Numbers for the TI-83
-#
-0              string          **TI83**        TI-83 Graphing Calculator
->0x00003B      byte            0x00            (real)
->0x00003B      byte            0x01            (list)
->0x00003B      byte            0x02            (matrix)
->0x00003B      byte            0x03            (Y-variable)
->0x00003B      byte            0x04            (string)
->0x00003B      byte            0x05            (program)
->0x00003B      byte            0x06            (protected prgm)
->0x00003B      byte            0x07            (picture)
->0x00003B      byte            0x08            (gdb)
->0x00003B      byte            0x0B            (window settings)
->0x00003B      byte            0x0C            (window settings)
->0x00003B      byte            0x0D            (table setup)
->0x00003B      byte            0x0E            (screenshot)
->0x00003B      byte            0x13            (backup)
-#
-# Magic Numbers for the TI-83+
-#
-0              string          **TI83F*        TI-83+ Graphing Calculator
->0x00003B      byte            0x00            (real number)
->0x00003B      byte            0x01            (list)
->0x00003B      byte            0x02            (matrix)
->0x00003B      byte            0x03            (equation)
->0x00003B      byte            0x04            (string)
->0x00003B      byte            0x05            (program)
->0x00003B      byte            0x06            (assembly program)
->0x00003B      byte            0x07            (picture)
->0x00003B      byte            0x08            (gdb)
->0x00003B      byte            0x0C            (complex number)
->0x00003B      byte            0x0F            (window settings)
->0x00003B      byte            0x10            (zoom)
->0x00003B      byte            0x11            (table setup)
->0x00003B      byte            0x13            (backup)
->0x00003B      byte            0x15            (application variable)
->0x00003B      byte            0x17            (group of variable)
-
-#
-# Magic Numbers for the TI-85
-#
-0              string          **TI85**        TI-85 Graphing Calculator
->0x00003B      byte            0x00            (real number)
->0x00003B      byte            0x01            (complex number)
->0x00003B      byte            0x02            (real vector)
->0x00003B      byte            0x03            (complex vector)
->0x00003B      byte            0x04            (real list)
->0x00003B      byte            0x05            (complex list)
->0x00003B      byte            0x06            (real matrix)
->0x00003B      byte            0x07            (complex matrix)
->0x00003B      byte            0x08            (real constant)
->0x00003B      byte            0x09            (complex constant)
->0x00003B      byte            0x0A            (equation)
->0x00003B      byte            0x0C            (string)
->0x00003B      byte            0x0D            (function GDB)
->0x00003B      byte            0x0E            (polar GDB)
->0x00003B      byte            0x0F            (parametric GDB)
->0x00003B      byte            0x10            (diffeq GDB)
->0x00003B      byte            0x11            (picture)
->0x00003B      byte            0x12            (program)
->0x00003B      byte            0x13            (range)
->0x00003B      byte            0x17            (window settings)
->0x00003B      byte            0x18            (window settings)
->0x00003B      byte            0x19            (window settings)
->0x00003B      byte            0x1A            (window settings)
->0x00003B      byte            0x1B            (zoom)
->0x00003B      byte            0x1D            (backup)
->0x00003B      byte            0x1E            (unknown)
->0x00003B      byte            0x2A            (equation)
->0x000032      string          ZS4             - ZShell Version 4 File.
->0x000032      string          ZS3             - ZShell Version 3 File.
-#
-# Magic Numbers for the TI-86
-#
-0              string          **TI86**        TI-86 Graphing Calculator
->0x00003B      byte            0x00            (real number)
->0x00003B      byte            0x01            (complex number)
->0x00003B      byte            0x02            (real vector)
->0x00003B      byte            0x03            (complex vector)
->0x00003B      byte            0x04            (real list)
->0x00003B      byte            0x05            (complex list)
->0x00003B      byte            0x06            (real matrix)
->0x00003B      byte            0x07            (complex matrix)
->0x00003B      byte            0x08            (real constant)
->0x00003B      byte            0x09            (complex constant)
->0x00003B      byte            0x0A            (equation)
->0x00003B      byte            0x0C            (string)
->0x00003B      byte            0x0D            (function GDB)
->0x00003B      byte            0x0E            (polar GDB)
->0x00003B      byte            0x0F            (parametric GDB)
->0x00003B      byte            0x10            (diffeq GDB)
->0x00003B      byte            0x11            (picture)
->0x00003B      byte            0x12            (program)
->0x00003B      byte            0x13            (range)
->0x00003B      byte            0x17            (window settings)
->0x00003B      byte            0x18            (window settings)
->0x00003B      byte            0x19            (window settings)
->0x00003B      byte            0x1A            (window settings)
->0x00003B      byte            0x1B            (zoom)
->0x00003B      byte            0x1D            (backup)
->0x00003B      byte            0x1E            (unknown)
->0x00003B      byte            0x2A            (equation)
-#
-# Magic Numbers for the TI-89
-#
-0              string          **TI89**        TI-89 Graphing Calculator
->0x000048      byte            0x00            (expression)
->0x000048      byte            0x04            (list)
->0x000048      byte            0x06            (matrix)
->0x000048      byte            0x0A            (data)
->0x000048      byte            0x0B            (text)
->0x000048      byte            0x0C            (string)
->0x000048      byte            0x0D            (graphic data base)
->0x000048      byte            0x0E            (figure)
->0x000048      byte            0x10            (picture)
->0x000048      byte            0x12            (program)
->0x000048      byte            0x13            (function)
->0x000048      byte            0x14            (macro)
->0x000048      byte            0x1C            (zipped)
->0x000048      byte            0x21            (assembler)
-#
-# Magic Numbers for the TI-92
-#
-0              string          **TI92**        TI-92 Graphing Calculator
->0x000048      byte            0x00            (expression)
->0x000048      byte            0x04            (list)
->0x000048      byte            0x06            (matrix)
->0x000048      byte            0x0A            (data)
->0x000048      byte            0x0B            (text)
->0x000048      byte            0x0C            (string)
->0x000048      byte            0x0D            (graphic data base)
->0x000048      byte            0x0E            (figure)
->0x000048      byte            0x10            (picture)
->0x000048      byte            0x12            (program)
->0x000048      byte            0x13            (function)
->0x000048      byte            0x14            (macro)
->0x000048      byte            0x1D            (backup)
-#
-# Magic Numbers for the TI-92+/V200
-#
-0              string          **TI92P*        TI-92+/V200 Graphing Calculator
->0x000048      byte            0x00            (expression)
->0x000048      byte            0x04            (list)
->0x000048      byte            0x06            (matrix)
->0x000048      byte            0x0A            (data)
->0x000048      byte            0x0B            (text)
->0x000048      byte            0x0C            (string)
->0x000048      byte            0x0D            (graphic data base)
->0x000048      byte            0x0E            (figure)
->0x000048      byte            0x10            (picture)
->0x000048      byte            0x12            (program)
->0x000048      byte            0x13            (function)
->0x000048      byte            0x14            (macro)
->0x000048      byte            0x1C            (zipped)
->0x000048      byte            0x21            (assembler)
-#
-# Magic Numbers for the TI-73/83+/89/92+/V200 FLASH upgrades
-#
-0x0000016      string          Advanced        TI-XX Graphing Calculator (FLASH)
-0              string          **TIFL**        TI-XX Graphing Calculator (FLASH)
->8             byte            >0              - Revision %d
->>9            byte            x               \b.%d,
->12            byte            >0              Revision date %02x
->>13           byte            x               \b/%02x
->>14           beshort         x               \b/%04x,
->17            string          >/0             name: '%s',
->48            byte            0x74            device: TI-73,
->48            byte            0x73            device: TI-83+,
->48            byte            0x98            device: TI-89,
->48            byte            0x88            device: TI-92+,
->49            byte            0x23            type: OS upgrade,
->49            byte            0x24            type: application,
->49            byte            0x25            type: certificate,
->49            byte            0x3e            type: license,
->74            lelong          >0              size: %ld bytes
-
-# VTi & TiEmu skins (TI Graphing Calculators).
-# From: Romain Lievin (roms@lpg.ticalc.org).
-# Magic Numbers for the VTi skins
-0               string          VTI            Virtual TI skin
->3             string          v               - Version
->>4            byte            >0              \b %c
->>6            byte            x               \b.%c
-# Magic Numbers for the TiEmu skins
-0              string          TiEmu           TiEmu skin
->6              string          v               - Version
->>7             byte            >0              \b %c
->>9             byte            x               \b.%c
->>10           byte            x               \b%c
diff --git a/file/magic/Magdir/timezone b/file/magic/Magdir/timezone
deleted file mode 100644 (file)
index 40e7558..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-
-#------------------------------------------------------------------------------
-# timezone:  file(1) magic for timezone data
-#
-# from Daniel Quinlan (quinlan@yggdrasil.com)
-# this should work on Linux, SunOS, and maybe others
-# Added new official magic number for recent versions of the Olson code
-0      string  TZif    timezone data
-0      string  \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0      old timezone data
-0      string  \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0      old timezone data
-0      string  \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0      old timezone data
-0      string  \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0      old timezone data
-0      string  \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0      old timezone data
-0      string  \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0      old timezone data
diff --git a/file/magic/Magdir/troff b/file/magic/Magdir/troff
deleted file mode 100644 (file)
index 01ad88a..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#------------------------------------------------------------------------------
-# troff:  file(1) magic for *roff
-#
-# updated by Daniel Quinlan (quinlan@yggdrasil.com)
-
-# troff input
-0      string          .\\"            troff or preprocessor input text
-0      string          '\\"            troff or preprocessor input text
-0      string          '.\\"           troff or preprocessor input text
-0      string          \\"             troff or preprocessor input text
-0      string          '''             troff or preprocessor input text
-
-# ditroff intermediate output text
-0      string          x\ T            ditroff output text
->4     string          cat             for the C/A/T phototypesetter
->4     string          ps              for PostScript
->4     string          dvi             for DVI
->4     string          ascii           for ASCII
->4     string          lj4             for LaserJet 4
->4     string          latin1          for ISO 8859-1 (Latin 1)
->4     string          X75             for xditview at 75dpi
->>7    string          -12             (12pt)
->4     string          X100            for xditview at 100dpi
->>8    string          -12             (12pt)
-
-# output data formats
-0      string          \100\357        very old (C/A/T) troff output data
diff --git a/file/magic/Magdir/tuxedo b/file/magic/Magdir/tuxedo
deleted file mode 100644 (file)
index 119afa6..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#
-#------------------------------------------------------------------------------
-# tuxedo:      file(1) magic for BEA TUXEDO data files
-#
-# from Ian Springer <ispringer@hotmail.com>
-#
-0      string          \0\0\1\236\0\0\0\0\0\0\0\0\0\0\0\0      BEA TUXEDO DES mask data
diff --git a/file/magic/Magdir/typeset b/file/magic/Magdir/typeset
deleted file mode 100644 (file)
index 2eda7c3..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# typeset:  file(1) magic for other typesetting
-#
-0      string          Interpress/Xerox        Xerox InterPress data
->16    string          /                       (version
->>17   string          >\0                     %s)
diff --git a/file/magic/Magdir/unknown b/file/magic/Magdir/unknown
deleted file mode 100644 (file)
index 910cea4..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#------------------------------------------------------------------------------
-# unknown:  file(1) magic for unknown machines
-#
-# XXX - this probably should be pruned, as it'll match PDP-11 and
-# VAX image formats.
-#
-# 0x107 is 0407; 0x108 is 0410; both are PDP-11 (executable and pure,
-# respectively).
-#
-# 0x109 is 0411; that's PDP-11 split I&D, but the PDP-11 version doesn't
-# have the "version %ld", which may be a bogus COFFism (I don't think
-# there ever was COFF for the PDP-11).
-#
-# 0x10B is 0413; that's VAX demand-paged, but this is a short, not a
-# long, as it would be on a VAX.
-#
-# 0x10C is 0414 and 0x10E is 416; those *are* unknown.
-#
-0      short           0x107           unknown machine executable
->8     short           >0              not stripped
->15    byte            >0              - version %ld
-0      short           0x108           unknown pure executable
->8     short           >0              not stripped
->15    byte            >0              - version %ld
-0      short           0x109           PDP-11 separate I&D
->8     short           >0              not stripped
->15    byte            >0              - version %ld
-0      short           0x10b           unknown pure executable
->8     short           >0              not stripped
->15    byte            >0              - version %ld
-0      long            0x10c           unknown demand paged pure executable
->16    long            >0              not stripped
-0      long            0x10e           unknown readable demand paged pure executable
diff --git a/file/magic/Magdir/uuencode b/file/magic/Magdir/uuencode
deleted file mode 100644 (file)
index 7e88619..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-
-#------------------------------------------------------------------------------
-# uuencode:  file(1) magic for ASCII-encoded files
-#
-
-# GRR:  the first line of xxencoded files is identical to that in uuencoded
-# files, but the first character in most subsequent lines is 'h' instead of
-# 'M'.  (xxencoding uses lowercase letters in place of most of uuencode's
-# punctuation and survives BITNET gateways better.)  If regular expressions
-# were supported, this entry could possibly be split into two with
-# "begin\040\.\*\012M" or "begin\040\.\*\012h" (where \. and \* are REs).
-0      string          begin\040       uuencoded or xxencoded text
-
-# btoa(1) is an alternative to uuencode that requires less space.
-0      string          xbtoa\ Begin    btoa'd text
-
-# ship(1) is another, much cooler alternative to uuencode.
-# Greg Roelofs, newt@uchicago.edu
-0      string          $\012ship       ship'd binary text
-
-# bencode(8) is used to encode compressed news batches (Bnews/Cnews only?)
-# Greg Roelofs, newt@uchicago.edu
-0      string  Decode\ the\ following\ with\ bdeco     bencoded News text
-
-# BinHex is the Macintosh ASCII-encoded file format (see also "apple")
-# Daniel Quinlan, quinlan@yggdrasil.com
-11     string  must\ be\ converted\ with\ BinHex       BinHex binary text
->41    string  x                                       \b, version %.3s
-
-# GRR:  is MIME BASE64 encoding handled somewhere?
diff --git a/file/magic/Magdir/varied.out b/file/magic/Magdir/varied.out
deleted file mode 100644 (file)
index 791c941..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#------------------------------------------------------------------------------
-# varied.out:  file(1) magic for various USG systems
-#
-#      Herewith many of the object file formats used by USG systems.
-#      Most have been moved to files for a particular processor,
-#      and deleted if they duplicate other entries.
-#
-0      short           0610            Perkin-Elmer executable
-# AMD 29K
-0      beshort         0572            amd 29k coff noprebar executable
-0      beshort         01572           amd 29k coff prebar executable
-0      beshort         0160007         amd 29k coff archive
-# Cray
-6      beshort         0407            unicos (cray) executable
-# Ultrix 4.3
-596    string          \130\337\377\377        Ultrix core file
->600   string          >\0             from '%s'
-# BeOS and MAcOS PEF executables
-# From: hplus@zilker.net (Jon Watte)
-0      string          Joy!peffpwpc    header for PowerPC PEF executable
-#
-# ava assembler/linker Uros Platise <uros.platise@ijs.si>
-0       string          avaobj  AVR assembler object code
->7      string          >\0     version '%s'
-# gnu gmon magic From: Eugen Dedu <dedu@ese-metz.fr>
-0      string          gmon            GNU prof performance data
->4     long            x               - version %ld
-# From: Dave Pearson <davep@davep.org>
-# Harbour <URL:http://www.harbour-project.org/> HRB files.
-0      string          \xc0HRB         Harbour HRB file
->4     short           x               version %d
diff --git a/file/magic/Magdir/varied.script b/file/magic/Magdir/varied.script
deleted file mode 100644 (file)
index a3e0972..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#------------------------------------------------------------------------------
-# varied.script:  file(1) magic for various interpreter scripts
-
-0      string          #!\ /                   a
->3     string          >\0                     %s script text executable
-0      string          #!\     /               a
->3     string          >\0                     %s script text executable
-0      string          #!/                     a
->2     string          >\0                     %s script text executable
-0      string          #!\                     script text executable
->3     string          >\0                     for %s
-
diff --git a/file/magic/Magdir/vax b/file/magic/Magdir/vax
deleted file mode 100644 (file)
index 7dd86cc..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#------------------------------------------------------------------------------
-# vax:  file(1) magic for VAX executable/object and APL workspace
-#
-0      lelong          0101557         VAX single precision APL workspace
-0      lelong          0101556         VAX double precision APL workspace
-
-#
-# VAX a.out (32V, BSD)
-#
-0      lelong          0407            VAX executable
->16    lelong          >0              not stripped
-
-0      lelong          0410            VAX pure executable
->16    lelong          >0              not stripped
-
-0      lelong          0413            VAX demand paged pure executable
->16    lelong          >0              not stripped
-
-0      lelong          0420            VAX demand paged (first page unmapped) pure executable
->16    lelong          >0              not stripped
-
-#
-# VAX COFF
-#
-# The `versions' should be un-commented if they work for you.
-# (Was the problem just one of endianness?)
-#
-0      leshort         0570            VAX COFF executable
->12    lelong          >0              not stripped
->22    leshort         >0              - version %ld
-0      leshort         0575            VAX COFF pure executable
->12    lelong          >0              not stripped
->22    leshort         >0              - version %ld
diff --git a/file/magic/Magdir/vicar b/file/magic/Magdir/vicar
deleted file mode 100644 (file)
index ab216ee..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#------------------------------------------------------------------------------
-# vicar:  file(1) magic for VICAR files.
-#
-# From: Ossama Othman <othman@astrosun.tn.cornell.edu
-# VICAR is JPL's in-house spacecraft image processing program
-# VICAR image
-0      string  LBLSIZE=        VICAR image data
->32    string  BYTE            \b, 8 bits  = VAX byte
->32    string  HALF            \b, 16 bits = VAX word     = Fortran INTEGER*2
->32    string  FULL            \b, 32 bits = VAX longword = Fortran INTEGER*4
->32    string  REAL            \b, 32 bits = VAX longword = Fortran REAL*4
->32    string  DOUB            \b, 64 bits = VAX quadword = Fortran REAL*8
->32    string  COMPLEX         \b, 64 bits = VAX quadword = Fortran COMPLEX*8
-# VICAR label file
-43     string  SFDU_LABEL      VICAR label file
diff --git a/file/magic/Magdir/virtutech b/file/magic/Magdir/virtutech
deleted file mode 100644 (file)
index cea8443..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#------------------------------------------------------------------------------
-# Virtutech Compressed Random Access File Format
-#
-# From <gustav@virtutech.com>
-0      string          \211\277\036\203        Virtutech CRAFF
->4     belong          x               v%d
->20    belong          0               uncompressed
->20    belong          1               bzipp2ed
->20    belong          2               gzipped
->24    belong          0               not clean
diff --git a/file/magic/Magdir/visx b/file/magic/Magdir/visx
deleted file mode 100644 (file)
index 4919964..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#------------------------------------------------------------------------------
-# visx:  file(1) magic for Visx format files
-#
-0      short           0x5555          VISX image file
->2     byte            0               (zero)
->2     byte            1               (unsigned char)
->2     byte            2               (short integer)
->2     byte            3               (float 32)
->2     byte            4               (float 64)
->2     byte            5               (signed char)
->2     byte            6               (bit-plane)
->2     byte            7               (classes)
->2     byte            8               (statistics)
->2     byte            10              (ascii text)
->2     byte            15              (image segments)
->2     byte            100             (image set)
->2     byte            101             (unsigned char vector)
->2     byte            102             (short integer vector)
->2     byte            103             (float 32 vector)
->2     byte            104             (float 64 vector)
->2     byte            105             (signed char vector)
->2     byte            106             (bit plane vector)
->2     byte            121             (feature vector)
->2     byte            122             (feature vector library)
->2     byte            124             (chain code)
->2     byte            126             (bit vector)
->2     byte            130             (graph)
->2     byte            131             (adjacency graph)
->2     byte            132             (adjacency graph library)
->2     string          .VISIX          (ascii text)
diff --git a/file/magic/Magdir/vms b/file/magic/Magdir/vms
deleted file mode 100644 (file)
index c91186f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#------------------------------------------------------------------------------
-# vms:  file(1) magic for VMS executables (experimental)
-#
-# VMS .exe formats, both VAX and AXP (Greg Roelofs, newt@uchicago.edu)
-
-# GRR 950122:  I'm just guessing on these, based on inspection of the headers
-# of three executables each for Alpha and VAX architectures.  The VAX files
-# all had headers similar to this:
-#
-#   00000  b0 00 30 00 44 00 60 00  00 00 00 00 30 32 30 35  ..0.D.`.....0205
-#   00010  01 01 00 00 ff ff ff ff  ff ff ff ff 00 00 00 00  ................
-#
-0      string  \xb0\0\x30\0    VMS VAX executable
->44032 string  PK\003\004      \b, Info-ZIP SFX archive v5.12 w/decryption
-#
-# The AXP files all looked like this, except that the byte at offset 0x22
-# was 06 in some of them and 07 in others:
-#
-#   00000  03 00 00 00 00 00 00 00  ec 02 00 00 10 01 00 00  ................
-#   00010  68 00 00 00 98 00 00 00  b8 00 00 00 00 00 00 00  h...............
-#   00020  00 00 07 00 00 00 00 00  00 00 00 00 00 00 00 00  ................
-#   00030  00 00 00 00 01 00 00 00  00 00 00 00 00 00 00 00  ................
-#   00040  00 00 00 00 ff ff ff ff  ff ff ff ff 02 00 00 00  ................
-#
-0      belong  0x03000000      VMS Alpha executable
->75264 string  PK\003\004      \b, Info-ZIP SFX archive v5.12 w/decryption
diff --git a/file/magic/Magdir/vmware b/file/magic/Magdir/vmware
deleted file mode 100644 (file)
index 6af543c..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-
-# -----------------------------------------------------------
-# VMware specific files (deducted from version 1.1 and log file entries)
-# Anthon van der Neut (anthon@mnt.org)
-0      belong  0x4d52564e      VMware nvram 
-0      belong  0x434f5744      VMware
->4     byte    3               virtual disk 
->>32   lelong  x               (%d/
->>36   lelong  x               \b%d/
->>40   lelong  x               \b%d)
->4     byte    2               undoable disk
->>32   string  >\0             (%s)
diff --git a/file/magic/Magdir/vorbis b/file/magic/Magdir/vorbis
deleted file mode 100644 (file)
index 5957ea0..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-
-#------------------------------------------------------------------------------
-# vorbis:  file(1) magic for Ogg/Vorbis files
-#
-# From Felix von Leitner <leitner@fefe.de>
-# Extended by Beni Cherniavsky <cben@crosswinds.net>
-# Further extended by Greg Wooledge <greg@wooledge.org>
-#
-# Most (everything but the number of channels and bitrate) is commented
-# out with `##' as it's not interesting to the average user.  The most
-# probable things advanced users would want to uncomment are probably
-# the number of comments and the encoder version.
-#
-# --- Ogg Framing ---
-0              string          OggS            Ogg data
->4             byte            !0              UNKNOWN REVISION %u
-##>4           byte            0               revision 0
->4             byte            0
-##>>14         lelong          x               (Serial %lX)
-# non-Vorbis content: FLAC (Free Lossless Audio Codec, http://flac.sourceforge.net)
->>28           string          fLaC            \b, FLAC audio
-# non-Vorbis content: Theora
->>28           string          \x80theora      \b, Theora video
-# non-Vorbis content: Speex
->>28           string          Speex\ \ \      \b, Speex audio
-# non-Vorbis content: OGM
->>28           string          \x01video\0\0\0 \b, OGM video
->>>37          string/c        div3            (DivX 3)
->>>37          string/c        divx            (DivX 4)
->>>37          string/c        dx50            (DivX 5)
->>>37          string/c        xvid            (XviD)
-# --- First vorbis packet - general header ---
->>28           string          \x01vorbis      \b, Vorbis audio,
->>>35          lelong          !0              UNKNOWN VERSION %lu,
-##>>>35                lelong          0               version 0,
->>>35          lelong          0
->>>>39         ubyte           1               mono,
->>>>39         ubyte           2               stereo,
->>>>39         ubyte           >2              %u channels,
->>>>40         lelong          x               %lu Hz
-# Minimal, nominal and maximal bitrates specified when encoding
->>>>48         string          <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff       \b,
-# The above tests if at least one of these is specified:
->>>>>52                lelong          !-1
-# Vorbis RC2 has a bug which puts -1000 in the min/max bitrate fields
-# instead of -1.
-# Vorbis 1.0 uses 0 instead of -1.
->>>>>>52       lelong          !0
->>>>>>>52      lelong          !-1000
->>>>>>>>52     lelong          x               <%lu
->>>>>48                lelong          !-1
->>>>>>48       lelong          x               ~%lu
->>>>>44                lelong          !-1
->>>>>>44       lelong          !-1000
->>>>>>>44      lelong          !0
->>>>>>>>44     lelong          x               >%lu
->>>>>48                string          <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff       bps
-# -- Second vorbis header packet - the comments
-# A kludge to read the vendor string.  It's a counted string, not a
-# zero-terminated one, so file(1) can't read it in a generic way.
-# libVorbis is the only one existing currently, so I detect specifically
-# it.  The interesting value is the cvs date (8 digits decimal).
-# Post-RC1 Ogg files have the second header packet (and thus the version)
-# in a different place, so we must use an indirect offset.
->>>(84.b+85)           string          \x03vorbis
->>>>(84.b+96)          string/c        Xiphophorus\ libVorbis\ I       \b, created by: Xiphophorus libVorbis I
->>>>>(84.b+120)                string          >00000000       
-# Map to beta version numbers:
->>>>>>(84.b+120)       string          <20000508       (<beta1, prepublic)
->>>>>>(84.b+120)       string          20000508        (1.0 beta 1 or beta 2)
->>>>>>(84.b+120)       string          >20000508
->>>>>>>(84.b+120)      string          <20001031       (beta2-3)
->>>>>>(84.b+120)       string          20001031        (1.0 beta 3)
->>>>>>(84.b+120)       string          >20001031
->>>>>>>(84.b+120)      string          <20010225       (beta3-4)
->>>>>>(84.b+120)       string          20010225        (1.0 beta 4)
->>>>>>(84.b+120)       string          >20010225
->>>>>>>(84.b+120)      string          <20010615       (beta4-RC1)
->>>>>>(84.b+120)       string          20010615        (1.0 RC1)
->>>>>>(84.b+120)       string          20010813        (1.0 RC2)
->>>>>>(84.b+120)       string          20010816        (RC2 - Garf tuned v1)
->>>>>>(84.b+120)       string          20011014        (RC2 - Garf tuned v2)
->>>>>>(84.b+120)       string          20011217        (1.0 RC3)
->>>>>>(84.b+120)       string          20011231        (1.0 RC3)
-# Some pre-1.0 CVS snapshots still had "Xiphphorus"...
->>>>>>(84.b+120)       string          >20011231       (pre-1.0 CVS)
-# For the 1.0 release, Xiphophorus is replaced by Xiph.Org
->>>>(84.b+96)          string/c        Xiph.Org\ libVorbis\ I  \b, created by: Xiph.Org libVorbis I
->>>>>(84.b+117)                string          >00000000       
->>>>>>(84.b+117)       string          <20020717       (pre-1.0 CVS)
->>>>>>(84.b+117)       string          20020717        (1.0)
->>>>>>(84.b+117)       string          20030909        (1.0.1)
->>>>>>(84.b+117)       string          20040629        (1.1.0 RC1)
diff --git a/file/magic/Magdir/vxl b/file/magic/Magdir/vxl
deleted file mode 100644 (file)
index d3f5561..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-
-#------------------------------------------------------------------------------
-# VXL: file(1) magic for VXL binary IO data files
-#
-# from Ian Scott <scottim@sf.net>
-#
-# VXL is a collection of C++ libraries for Computer Vision.
-# See the vsl chapter in the VXL Book for more info
-# http://www.isbe.man.ac.uk/public_vxl_doc/books/vxl/book.html
-# http:/vxl.sf.net
-
-2      lelong  0x472b2c4e      VXL data file,
->0     leshort >0              schema version no %d
diff --git a/file/magic/Magdir/wordprocessors b/file/magic/Magdir/wordprocessors
deleted file mode 100644 (file)
index 9b122c1..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-
-#------------------------------------------------------------------------------
-# wordprocessors:  file(1) magic fo word processors.
-#
-####### PWP file format used on Smith Corona Personal Word Processors:
-2      string  \040\040\040\040\040\040\040\040\040\040\040ML4D\040\'92        Smith Corona PWP
->24    byte    2       \b, single spaced
->24    byte    3       \b, 1.5 spaced
->24    byte    4       \b, double spaced
->25    byte    0x42    \b, letter
->25    byte    0x54    \b, legal
->26    byte    0x46    \b, A4
-
-#WordPerfect type files Version 1.6 - PLEASE DO NOT REMOVE THIS LINE
-0      string  \377WPC\020\000\000\000\022\012\001\001\000\000\000\000 (WP) loadable text
->15    byte    0       Optimized for Intel
->15    byte    1       Optimized for Non-Intel
-1      string  WPC     (Corel/WP)
->8     short   257     WordPerfect macro
->8     short   258     WordPerfect help file
->8     short   259     WordPerfect keyboard file
->8     short   266     WordPerfect document
->8     short   267     WordPerfect dictionary
->8     short   268     WordPerfect thesaurus
->8     short   269     WordPerfect block
->8     short   270     WordPerfect rectangular block
->8     short   271     WordPerfect column block
->8     short   272     WordPerfect printer data
->8     short   275     WordPerfect printer data
->8     short   276     WordPerfect driver resource data
->8     short   279     WordPerfect hyphenation code
->8     short   280     WordPerfect hyphenation data
->8     short   281     WordPerfect macro resource data
->8     short   283     WordPerfect hyphenation lex
->8     short   285     WordPerfect wordlist
->8     short   286     WordPerfect equation resource data
->8     short   289     WordPerfect spell rules
->8     short   290     WordPerfect dictionary rules
->8     short   295     WordPerfect spell rules (Microlytics)
->8     short   299     WordPerfect settings file
->8     short   301     WordPerfect 4.2 document
->8     short   325     WordPerfect dialog file
->8     short   332     WordPerfect button bar
->8     short   513     Shell macro
->8     short   522     Shell definition
->8     short   769     Notebook macro
->8     short   770     Notebook help file
->8     short   771     Notebook keyboard file
->8     short   778     Notebook definition
->8     short   1026    Calculator help file
->8     short   1538    Calendar help file
->8     short   1546    Calendar data file
->8     short   1793    Editor macro
->8     short   1794    Editor help file
->8     short   1795    Editor keyboard file
->8     short   1817    Editor macro resource file
->8     short   2049    Macro editor macro
->8     short   2050    Macro editor help file
->8     short   2051    Macro editor keyboard file
->8     short   2305    PlanPerfect macro
->8     short   2306    PlanPerfect help file
->8     short   2307    PlanPerfect keyboard file
->8     short   2314    PlanPerfect worksheet
->8     short   2319    PlanPerfect printer definition
->8     short   2322    PlanPerfect graphic definition
->8     short   2323    PlanPerfect data
->8     short   2324    PlanPerfect temporary printer
->8     short   2329    PlanPerfect macro resource data
->8     byte    11      Mail
->8     short   2818    help file
->8     short   2821    distribution list
->8     short   2826    out box
->8     short   2827    in box
->8     short   2836    users archived mailbox
->8     short   2837    archived message database
->8     short   2838    archived attachments
->8     short   3083    Printer temporary file
->8     short   3330    Scheduler help file
->8     short   3338    Scheduler in file
->8     short   3339    Scheduler out file
->8     short   3594    GroupWise settings file
->8     short   3601    GroupWise directory services
->8     short   3627    GroupWise settings file
->8     short   4362    Terminal resource data
->8     short   4363    Terminal resource data
->8     short   4395    Terminal resource data
->8     short   4619    GUI loadable text
->8     short   4620    graphics resource data
->8     short   4621    printer settings file
->8     short   4622    port definition file
->8     short   4623    print queue parameters
->8     short   4624    compressed file
->8     short   5130    Network service msg file
->8     short   5131    Network service msg file
->8     short   5132    Async gateway login msg
->8     short   5134    GroupWise message file
->8     short   7956    GroupWise admin domain database
->8     short   7957    GroupWise admin host database
->8     short   7959    GroupWise admin remote host database
->8     short   7960    GroupWise admin ADS deferment data file
->8     short   8458    IntelliTAG (SGML) compiled DTD
->8     long    18219264        WordPerfect graphic image (1.0)
->8     long    18219520        WordPerfect graphic image (2.0)
-#end of WordPerfect type files Version 1.6 - PLEASE DO NOT REMOVE THIS LINE
-
-# Hangul (Korean) Word Processor File
-0      string  HWP\ Document\ File     Hangul (Korean) Word Processor File
-
-# CosmicBook, from Benoît Rouits
-0       string  CSBK    Ted Neslson's CosmicBook hypertext file
-
diff --git a/file/magic/Magdir/xdelta b/file/magic/Magdir/xdelta
deleted file mode 100644 (file)
index 80c92da..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-
-#------------------------------------------------------------------------------
-# file(1) magic(5) data for xdelta  Josh MacDonald <jmacd@CS.Berkeley.EDU>
-#
-0      string  %XDELTA%        XDelta binary patch file 0.14
-0      string  %XDZ000%        XDelta binary patch file 0.18
-0      string  %XDZ001%        XDelta binary patch file 0.20
-0      string  %XDZ002%        XDelta binary patch file 1.0
-0      string  %XDZ003%        XDelta binary patch file 1.0.4
-0      string  %XDZ004%        XDelta binary patch file 1.1
diff --git a/file/magic/Magdir/xenix b/file/magic/Magdir/xenix
deleted file mode 100644 (file)
index 1acadec..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-
-#------------------------------------------------------------------------------
-# xenix:  file(1) magic for Microsoft Xenix
-#
-# "Middle model" stuff, and "Xenix 8086 relocatable or 80286 small
-# model" lifted from "magic.xenix", with comment "derived empirically;
-# treat as folklore until proven"
-#
-# "small model", "large model", "huge model" stuff lifted from XXX
-#
-# XXX - "x.out" collides with PDP-11 archives
-#
-0      string          core            core file (Xenix)
-0      byte            0x80            8086 relocatable (Microsoft)
-0      leshort         0xff65          x.out
->2     string          __.SYMDEF        randomized
->0     byte            x               archive
-0      leshort         0x206           Microsoft a.out
->8     leshort         1               Middle model
->0x1e  leshort         &0x10           overlay
->0x1e  leshort         &0x2            separate
->0x1e  leshort         &0x4            pure
->0x1e  leshort         &0x800          segmented
->0x1e  leshort         &0x400          standalone
->0x1e  leshort         &0x8            fixed-stack
->0x1c  byte            &0x80           byte-swapped
->0x1c  byte            &0x40           word-swapped
->0x10  lelong          >0              not-stripped
->0x1e  leshort         ^0xc000         pre-SysV
->0x1e  leshort         &0x4000         V2.3
->0x1e  leshort         &0x8000         V3.0
->0x1c  byte            &0x4            86
->0x1c  byte            &0xb            186
->0x1c  byte            &0x9            286
->0x1c  byte            &0xa            386
->0x1f  byte            <0x040          small model
->0x1f  byte            =0x048          large model     
->0x1f  byte            =0x049          huge model 
->0x1e  leshort         &0x1            executable
->0x1e  leshort         ^0x1            object file
->0x1e  leshort         &0x40           Large Text
->0x1e  leshort         &0x20           Large Data
->0x1e  leshort         &0x120          Huge Objects Enabled
->0x10  lelong          >0              not stripped
-
-0      leshort         0x140           old Microsoft 8086 x.out
->0x3   byte            &0x4            separate
->0x3   byte            &0x2            pure
->0     byte            &0x1            executable
->0     byte            ^0x1            relocatable
->0x14  lelong          >0              not stripped
-
-0      lelong          0x206           b.out
->0x1e  leshort         &0x10           overlay
->0x1e  leshort         &0x2            separate
->0x1e  leshort         &0x4            pure
->0x1e  leshort         &0x800          segmented
->0x1e  leshort         &0x400          standalone
->0x1e  leshort         &0x1            executable
->0x1e  leshort         ^0x1            object file
->0x1e  leshort         &0x4000         V2.3
->0x1e  leshort         &0x8000         V3.0
->0x1c  byte            &0x4            86
->0x1c  byte            &0xb            186
->0x1c  byte            &0x9            286
->0x1c  byte            &0x29           286
->0x1c  byte            &0xa            386
->0x1e  leshort         &0x4            Large Text
->0x1e  leshort         &0x2            Large Data
->0x1e  leshort         &0x102          Huge Objects Enabled
-
-0      leshort         0x580           XENIX 8086 relocatable or 80286 small model
diff --git a/file/magic/Magdir/xo65 b/file/magic/Magdir/xo65
deleted file mode 100644 (file)
index 1020cee..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-
-#------------------------------------------------------------------------------
-# xo65 object files
-# From: "Ullrich von Bassewitz" <uz@cc65.org>
-#
-0      string          \x55\x7A\x6E\x61        xo65 object,
->4     leshort         x                       version %d,
->6     leshort&0x0001 =0x0001                  with debug info
->6     leshort&0x0001 =0x0000                  no debug info
-
-# xo65 library files
-0      string          \x6E\x61\x55\x7A        xo65 library,
->4     leshort         x                       version %d
-
-# o65 object files
-0      string          \x01\x00\x6F\x36\x35    o65
->6     leshort&0x1000  =0x0000                 executable,
->6     leshort&0x1000  =0x1000                 object,
->5     byte            x                       version %d,
->6     leshort&0x8000  =0x8000                 65816,
->6     leshort&0x8000  =0x0000                 6502,
->6     leshort&0x2000  =0x2000                 32 bit,
->6     leshort&0x2000  =0x0000                 16 bit,
->6     leshort&0x4000  =0x4000                 page reloc,
->6     leshort&0x4000  =0x0000                 byte reloc,
->6     leshort&0x0003  =0x0000                 alignment 1
->6     leshort&0x0003  =0x0001                 alignment 2
->6     leshort&0x0003  =0x0002                 alignment 4
->6     leshort&0x0003  =0x0003                 alignment 256
diff --git a/file/magic/Magdir/xwindows b/file/magic/Magdir/xwindows
deleted file mode 100644 (file)
index 1805d45..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#------------------------------------------------------------------------------
-# xwindows:  file(1) magic for various X/Window system file formats.
-
-# Compiled X Keymap 
-# XKM (compiled X keymap) files (including version and byte ordering)
-1      string  mkx                             Compiled XKB Keymap: lsb,
->0     byte    >0                              version %d
->0     byte    =0                              obsolete
-0      string  xkm                             Compiled XKB Keymap: msb,
->3     byte    >0                              version %d
->0     byte    =0                              obsolete
-
-# xfsdump archive
-0      string  xFSdump0                        xfsdump archive
->8     long    x       (version %d)
-
-# Jaleo XFS files
-0      long    395726                          Jaleo XFS file
->4     long    x                               - version %ld
->8     long    x                               - [%ld -
->20    long    x                               \b%ldx
->24    long    x                               \b%ldx
->28    long    1008                            \bYUV422]
->28    long    1000                            \bRGB24]
diff --git a/file/magic/Magdir/zilog b/file/magic/Magdir/zilog
deleted file mode 100644 (file)
index b746e20..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-#------------------------------------------------------------------------------
-# zilog:  file(1) magic for Zilog Z8000.
-#
-# Was it big-endian or little-endian?  My Product Specification doesn't
-# say.
-#
-0      long            0xe807          object file (z8000 a.out)
-0      long            0xe808          pure object file (z8000 a.out)
-0      long            0xe809          separate object file (z8000 a.out)
-0      long            0xe805          overlay object file (z8000 a.out)
diff --git a/file/magic/Magdir/zyxel b/file/magic/Magdir/zyxel
deleted file mode 100644 (file)
index 12a6abd..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#------------------------------------------------------------------------------
-# zyxel:  file(1) magic for ZyXEL modems
-#
-# From <rob@pe1chl.ampr.org>
-# These are the /etc/magic entries to decode datafiles as used for the
-# ZyXEL U-1496E DATA/FAX/VOICE modems.  (This header conforms to a
-# ZyXEL-defined standard)
-
-0      string          ZyXEL\002       ZyXEL voice data
->10    byte            0               - CELP encoding
->10    byte&0x0B       1               - ADPCM2 encoding
->10    byte&0x0B       2               - ADPCM3 encoding
->10    byte&0x0B       3               - ADPCM4 encoding
->10    byte&0x0B       8               - New ADPCM3 encoding
->10    byte&0x04       4               with resync
diff --git a/file/magic/Makefile.am b/file/magic/Makefile.am
deleted file mode 100644 (file)
index 50cba09..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-#pkgdata_DATA = magic magic.mime magic.mgc magic.mime.mgc
-pkglibdir =  @prefix@/lib/rpm
-pkglib_DATA = magic magic.mime magic.mgc magic.mime.mgc
-
-EXTRA_DIST = magic2mime Localstuff Header magic.mime $(magic_FRAGMENTS)
-
-CLEANFILES =  magic magic.mgc magic.mime.mgc
-
-magic: Header Localstuff $(magic_FRAGMENTS)
-       cat $(srcdir)/Header $(srcdir)/Localstuff > $@
-       for frag in $(magic_FRAGMENTS); do \
-         if test -f $(srcdir)/$$frag; then \
-           f=$(srcdir)/$$frag; \
-         else \
-           f=$$frag; \
-         fi; \
-          cat $$f; \
-       done >> $@
-
-magic.mgc: magic
-       $(top_builddir)/src/file -C -m magic
-
-magic.mime.mgc: magic.mime
-       $(top_builddir)/src/file -C -m $(srcdir)/magic.mime
-
-magic_FRAGMENTS = \
-Magdir/acorn \
-Magdir/adi \
-Magdir/adventure \
-Magdir/allegro \
-Magdir/alliant \
-Magdir/alpha \
-Magdir/amanda \
-Magdir/amigaos \
-Magdir/animation \
-Magdir/apl \
-Magdir/apple \
-Magdir/applix \
-Magdir/archive \
-Magdir/asterix \
-Magdir/att3b \
-Magdir/audio \
-Magdir/bFLT \
-Magdir/blender \
-Magdir/blit \
-Magdir/bout \
-Magdir/bsdi \
-Magdir/cad \
-Magdir/c-lang \
-Magdir/c64 \
-Magdir/cddb \
-Magdir/chi \
-Magdir/chord \
-Magdir/cisco \
-Magdir/citrus \
-Magdir/claris \
-Magdir/clipper \
-Magdir/spec \
-Magdir/commands \
-Magdir/communications \
-Magdir/compress \
-Magdir/console \
-Magdir/convex \
-Magdir/ctags \
-Magdir/dact \
-Magdir/database \
-Magdir/diamond \
-Magdir/diff \
-Magdir/digital \
-Magdir/dolby \
-Magdir/dump \
-Magdir/editors \
-Magdir/elf \
-Magdir/encore \
-Magdir/epoc \
-Magdir/esri \
-Magdir/fcs \
-Magdir/filesystems \
-Magdir/flash \
-Magdir/fonts \
-Magdir/frame \
-Magdir/freebsd \
-Magdir/fsav \
-Magdir/games \
-Magdir/geos \
-Magdir/gcc \
-Magdir/gimp \
-Magdir/gnu \
-Magdir/grace \
-Magdir/gringotts \
-Magdir/hdf \
-Magdir/hitachi-sh \
-Magdir/hp \
-Magdir/human68k \
-Magdir/ibm370 \
-Magdir/ibm6000 \
-Magdir/iff \
-Magdir/images \
-Magdir/intel \
-Magdir/interleaf \
-Magdir/island \
-Magdir/ispell \
-Magdir/java \
-Magdir/jpeg \
-Magdir/karma \
-Magdir/lecter \
-Magdir/lex \
-Magdir/lif \
-Magdir/linux \
-Magdir/lisp \
-Magdir/mach \
-Magdir/macintosh \
-Magdir/magic \
-Magdir/mail.news \
-Magdir/maple \
-Magdir/mathematica \
-Magdir/matroska \
-Magdir/mcrypt \
-Magdir/mime \
-Magdir/mips \
-Magdir/mirage \
-Magdir/misctools \
-Magdir/mkid \
-Magdir/mlssa \
-Magdir/mmdf \
-Magdir/modem \
-Magdir/motorola \
-Magdir/msdos \
-Magdir/msvc \
-Magdir/natinst \
-Magdir/ncr \
-Magdir/netbsd \
-Magdir/netscape \
-Magdir/news \
-Magdir/nitpicker \
-Magdir/ocaml \
-Magdir/octave \
-Magdir/olf \
-Magdir/os2 \
-Magdir/os9 \
-Magdir/osf1 \
-Magdir/palm \
-Magdir/parix \
-Magdir/pbm \
-Magdir/pdf \
-Magdir/pdp \
-Magdir/perl \
-Magdir/pgp \
-Magdir/pkgadd \
-Magdir/plan9 \
-Magdir/plus5 \
-Magdir/policy \
-Magdir/printer \
-Magdir/project \
-Magdir/psdbms \
-Magdir/psion \
-Magdir/pulsar \
-Magdir/pyramid \
-Magdir/python \
-Magdir/revision \
-Magdir/riff \
-Magdir/rpm \
-Magdir/rtf \
-Magdir/sc \
-Magdir/sccs \
-Magdir/sendmail \
-Magdir/sequent \
-Magdir/sgi \
-Magdir/sgml \
-Magdir/sharc \
-Magdir/sinclair \
-Magdir/sketch \
-Magdir/smalltalk \
-Magdir/sniffer \
-Magdir/dyadic \
-Magdir/softquad \
-Magdir/spectrum \
-Magdir/sql \
-Magdir/sun \
-Magdir/sysex \
-Magdir/teapot \
-Magdir/terminfo \
-Magdir/tex \
-Magdir/tgif \
-Magdir/ti-8x \
-Magdir/timezone \
-Magdir/troff \
-Magdir/tuxedo \
-Magdir/typeset \
-Magdir/unknown \
-Magdir/uuencode \
-Magdir/varied.out \
-Magdir/varied.script \
-Magdir/vax \
-Magdir/vicar \
-Magdir/virtutech \
-Magdir/visx \
-Magdir/vms \
-Magdir/vmware \
-Magdir/vorbis \
-Magdir/vxl \
-Magdir/wordprocessors \
-Magdir/xdelta \
-Magdir/xenix \
-Magdir/xo65 \
-Magdir/xwindows \
-Magdir/zilog \
-Magdir/zyxel
diff --git a/file/magic/magic.mime b/file/magic/magic.mime
deleted file mode 100644 (file)
index 334e4e8..0000000
+++ /dev/null
@@ -1,922 +0,0 @@
-# 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
-#    Column #5: MIME encoding of result (optional)
-
-#------------------------------------------------------------------------------
-# Localstuff:  file(1) magic for locally observed files
-# Add any locally observed files here.
-
-# Real Audio (Magic .ra\0375)
-0      belong          0x2e7261fd      audio/x-pn-realaudio
-0      string          .RMF            application/vnd.rn-realmedia
-
-#video/x-pn-realvideo
-#video/vnd.rn-realvideo
-#application/vnd.rn-realmedia
-#      sigh, there are many mimes for that but the above are the most common.
-
-# Taken from magic, converted to magic.mime
-# mime types according to http://www.geocities.com/nevilo/mod.htm:
-#      audio/it        .it
-#      audio/x-zipped-it       .itz
-#      audio/xm        fasttracker modules
-#      audio/x-s3m     screamtracker modules
-#      audio/s3m       screamtracker modules
-#      audio/x-zipped-mod      mdz
-#      audio/mod       mod
-#      audio/x-mod     All modules (mod, s3m, 669, mtm, med, xm, it, mdz, stm, itz, xmz, s3z)
-
-# Taken from loader code from mikmod version 2.14
-# by Steve McIntyre (stevem@chiark.greenend.org.uk)
-# <doj@cubic.org> added title printing on 2003-06-24
-0      string  MAS_UTrack_V00
->14    string  >/0             audio/x-mod
-#audio/x-tracker-module
-
-#0     string  UN05            MikMod UNI format module sound data
-
-0      string  Extended\ Module: audio/x-mod
-#audio/x-tracker-module
-##>17  string  >\0             Title: "%s"
-
-21     string/c        !SCREAM!        audio/x-mod
-#audio/x-screamtracker-module
-21     string  BMOD2STM        audio/x-mod
-#audio/x-screamtracker-module
-1080   string  M.K.            audio/x-mod
-#audio/x-protracker-module
-#>0    string  >\0             Title: "%s"
-1080   string  M!K!            audio/x-mod
-#audio/x-protracker-module
-#>0    string  >\0             Title: "%s"
-1080   string  FLT4            audio/x-mod
-#audio/x-startracker-module
-#>0    string  >\0             Title: "%s"
-1080   string  FLT8            audio/x-mod
-#audio/x-startracker-module
-#>0    string  >\0             Title: "%s"
-1080   string  4CHN            audio/x-mod
-#audio/x-fasttracker-module
-#>0    string  >\0             Title: "%s"
-1080   string  6CHN            audio/x-mod
-#audio/x-fasttracker-module
-#>0    string  >\0             Title: "%s"
-1080   string  8CHN            audio/x-mod
-#audio/x-fasttracker-module
-#>0    string  >\0             Title: "%s"
-1080   string  CD81            audio/x-mod
-#audio/x-oktalyzer-tracker-module
-#>0    string  >\0             Title: "%s"
-1080   string  OKTA            audio/x-mod
-#audio/x-oktalyzer-tracker-module
-#>0    string  >\0             Title: "%s"
-# Not good enough.
-#1082  string  CH
-#>1080 string  >/0             %.2s-channel Fasttracker "oktalyzer" module sound data
-1080   string  16CN            audio/x-mod
-#audio/x-taketracker-module
-#>0    string  >\0             Title: "%s"
-1080   string  32CN            audio/x-mod
-#audio/x-taketracker-module
-#>0    string  >\0             Title: "%s"
-
-# Impuse tracker module (it)
-0      string          IMPM            audio/x-mod
-#>4    string          >\0             "%s"
-#>40   leshort         !0              compatible w/ITv%x
-#>42   leshort         !0              created w/ITv%x
-
-#------------------------------------------------------------------------------
-# end local stuff
-#------------------------------------------------------------------------------
-
-# xml based formats!
-
-# svg
-
-0      string          \<?xml
-#                      text/xml
->38    string          \<\!DOCTYPE\040svg      image/svg+xml
-
-
-# xml
-0      string          \<?xml                  text/xml
-
-
-#------------------------------------------------------------------------------
-# Java
-
-0      short           0xcafe
->2     short           0xbabe          application/java
-
-#------------------------------------------------------------------------------
-# audio:  file(1) magic for sound formats
-#
-# from Jan Nicolai Langfeldt <janl@ifi.uio.no>,
-#
-
-# Sun/NeXT audio data
-0      string          .snd
->12    belong          1               audio/basic
->12    belong          2               audio/basic
->12    belong          3               audio/basic
->12    belong          4               audio/basic
->12    belong          5               audio/basic
->12    belong          6               audio/basic
->12    belong          7               audio/basic
-
->12    belong          23              audio/x-adpcm
-
-# DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format
-# that uses little-endian encoding and has a different magic number
-# (0x0064732E in little-endian encoding).
-0      lelong          0x0064732E      
->12    lelong          1               audio/x-dec-basic
->12    lelong          2               audio/x-dec-basic
->12    lelong          3               audio/x-dec-basic
->12    lelong          4               audio/x-dec-basic
->12    lelong          5               audio/x-dec-basic
->12    lelong          6               audio/x-dec-basic
->12    lelong          7               audio/x-dec-basic
-#                                       compressed (G.721 ADPCM)
->12    lelong          23              audio/x-dec-adpcm
-
-# Bytes 0-3 of AIFF, AIFF-C, & 8SVX audio files are "FORM"
-#                                      AIFF audio data
-8      string          AIFF            audio/x-aiff    
-#                                      AIFF-C audio data
-8      string          AIFC            audio/x-aiff    
-#                                      IFF/8SVX audio data
-8      string          8SVX            audio/x-aiff    
-
-
-
-# Creative Labs AUDIO stuff
-#                                      Standard MIDI data
-0      string  MThd                    audio/unknown   
-#>9    byte    >0                      (format %d)
-#>11   byte    >1                      using %d channels
-#                                      Creative Music (CMF) data
-0      string  CTMF                    audio/unknown   
-#                                      SoundBlaster instrument data
-0      string  SBI                     audio/unknown   
-#                                      Creative Labs voice data
-0      string  Creative\ Voice\ File   audio/unknown   
-## is this next line right?  it came this way...
-#>19   byte    0x1A
-#>23   byte    >0                      - version %d
-#>22   byte    >0                      \b.%d
-
-# [GRR 950115:  is this also Creative Labs?  Guessing that first line
-#  should be string instead of unknown-endian long...]
-#0     long            0x4e54524b      MultiTrack sound data
-#0     string          NTRK            MultiTrack sound data
-#>4    long            x               - version %ld
-
-# Microsoft WAVE format (*.wav)
-# [GRR 950115:  probably all of the shorts and longs should be leshort/lelong]
-#                                      Microsoft RIFF
-0      string          RIFF
-#                                      - WAVE format
->8     string          WAVE            audio/x-wav
->8     string/B        AVI             video/x-msvideo
-#
->8     string          CDRA            image/x-coreldraw
-
-# AAC (aka MPEG-2 NBC)
-0       beshort&FFF6    0xFFF0          audio/X-HX-AAC-ADTS
-0       string          ADIF            audio/X-HX-AAC-ADIF
-0       beshort&0xFFE0  0x56E0          audio/MP4A-LATM
-0       beshort         0x4DE1          audio/MP4A-LATM
-
-# MPEG Layer 3 sound files
-0       beshort&0xfffe  =0xfffa         audio/mpeg
-#MP3 with ID3 tag
-0      string          ID3             audio/mpeg
-# Ogg/Vorbis
-0      string          OggS            application/ogg
-
-#------------------------------------------------------------------------------
-# 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-xpmi 7bit
-
-# 3DS (3d Studio files)
-16     beshort         0x3d3d          image/x-3ds
-
-# 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/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
-# 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
-
-#
-# zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson)
-0       string          #!/bin/zsh             application/x-shellscript
-0       string          #!/usr/bin/zsh         application/x-shellscript
-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
-
-#------------------------------------------------------------------------------
-# 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
-
-0              string                  PK\003\004              application/x-zip
-
-# RAR archiver (Greg Roelofs, newt@uchicago.edu)
-0      string          Rar!            application/x-rar
-
-# According to gzip.h, this is the correct byte order for packed data.
-0      string          \037\036        application/octet-stream
-#
-# This magic number is byte-order-independent.
-#
-0      short           017437          application/octet-stream
-
-# XXX - why *two* entries for "compacted data", one of which is
-# byte-order independent, and one of which is byte-order dependent?
-#
-# compacted data
-0      short           0x1fff          application/octet-stream
-0      string          \377\037        application/octet-stream
-# huf output
-0      short           0145405         application/octet-stream
-
-# Squeeze and Crunch...
-# These numbers were gleaned from the Unix versions of the programs to
-# handle these formats.  Note that I can only uncrunch, not crunch, and
-# I didn't have a crunched file handy, so the crunch number is untested.
-#                              Keith Waclena <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
-
-257    string          ustar\0         application/x-tar       posix
-257    string          ustar\040\040\0         application/x-tar       gnu
-
-0      short           070707          application/x-cpio
-0      short           0143561         application/x-cpio      swapped
-
-0      string          =<ar>           application/x-archive
-0      string          !<arch>         application/x-archive
->8     string          debian          application/x-debian-package
-
-#------------------------------------------------------------------------------
-#
-# RPM: file(1) magic for Red Hat Packages   Erik Troan (ewt@redhat.com)
-#
-0       beshort         0xedab
->2      beshort         0xeedb          application/x-rpm
-
-0      lelong&0x8080ffff       0x0000081a      application/x-arc       lzw
-0      lelong&0x8080ffff       0x0000091a      application/x-arc       squashed
-0      lelong&0x8080ffff       0x0000021a      application/x-arc       uncompressed
-0      lelong&0x8080ffff       0x0000031a      application/x-arc       packed
-0      lelong&0x8080ffff       0x0000041a      application/x-arc       squeezed
-0      lelong&0x8080ffff       0x0000061a      application/x-arc       crunched
-
-0      leshort 0xea60  application/x-arj
-
-# LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu)
-2      string  -lh0-   application/x-lharc     lh0
-2      string  -lh1-   application/x-lharc     lh1
-2      string  -lz4-   application/x-lharc     lz4
-2      string  -lz5-   application/x-lharc     lz5
-#      [never seen any but the last; -lh4- reported in comp.compression:]
-2      string  -lzs-   application/x-lha       lzs
-2      string  -lh\ -  application/x-lha       lh
-2      string  -lhd-   application/x-lha       lhd
-2      string  -lh2-   application/x-lha       lh2
-2      string  -lh3-   application/x-lha       lh3
-2      string  -lh4-   application/x-lha       lh4
-2      string  -lh5-   application/x-lha       lh5
-2      string  -lh6-   application/x-lha       lh6
-2      string  -lh7-   application/x-lha       lh7
-# Shell archives
-10     string  #\ This\ is\ a\ shell\ archive  application/octet-stream        x-shell
-
-#------------------------------------------------------------------------------
-# 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/cB       \<!DOCTYPE\ html        text/html
-0      string/cb       \<head  text/html
-0      string/cb       \<title text/html
-0       string/bc      \<html  text/html
-0      string          \<!--   text/html
-0      string/c        \<h1    text/html
-
-0      string          \<?xml                  text/xml
-
-#------------------------------------------------------------------------------
-# 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 7bit
-#                                      PGM file
-0      string          P2              image/x-portable-greymap        7bit
-#                                      PPM file
-0      string          P3              image/x-portable-pixmap 7bit
-#                                      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
-
-# TIFF and friends
-#                                      TIFF file, big-endian
-0      string          MM              image/tiff
-#                                      TIFF file, little-endian
-0      string          II              image/tiff
-
-# possible GIF replacements; none yet released!
-# (Greg Roelofs, newt@uchicago.edu)
-#
-# GRR 950115:  this was mine ("Zip GIF"):
-#                                      ZIF image (GIF+deflate alpha)
-0      string          GIF94z          image/unknown
-#
-# GRR 950115:  this is Jeremy Wohl's Free Graphics Format (better):
-#                                      FGF image (GIF+deflate beta)
-0      string          FGF95a          image/unknown
-#
-# GRR 950115:  this is Thomas Boutell's Portable Bitmap Format proposal
-# (best; not yet implemented):
-#                                      PBF image (deflate compression)
-0      string          PBF             image/unknown
-
-# GIF
-0      string          GIF             image/gif
-
-# JPEG images
-0      beshort         0xffd8          image/jpeg
-
-# PC bitmaps (OS/2, Windoze BMP files)  (Greg Roelofs, newt@uchicago.edu)
-0      string          BM              image/x-ms-bmp
-#>14   byte            12              (OS/2 1.x format)
-#>14   byte            64              (OS/2 2.x format)
-#>14   byte            40              (Windows 3.x format)
-#0     string          IC              icon
-#0     string          PI              pointer
-#0     string          CI              color icon
-#0     string          CP              color pointer
-#0     string          BA              bitmap array
-
-# CDROM Filesystems
-32769    string    CD001     application/x-iso9660
-
-# Newer StuffIt archives (grant@netbsd.org)
-0      string          StuffIt                 application/x-stuffit
-#>162  string          >0                      : %s
-
-# BinHex is the Macintosh ASCII-encoded file format (see also "apple")
-# Daniel Quinlan, quinlan@yggdrasil.com
-11     string  must\ be\ converted\ with\ BinHex\ 4    application/mac-binhex40
-##>41  string  x                                       \b, version %.3s
-
-
-#------------------------------------------------------------------------------
-# lisp:  file(1) magic for lisp programs
-#
-# various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com)
-0      string  ;;                      text/plain      8bit
-# 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  7bit
-0      string          #!\ rnews       message/rfc822  7bit
-0      string          N#!\ rnews      message/rfc822  7bit
-0      string          Forward\ to     message/rfc822  7bit
-0      string          Pipe\ to        message/rfc822  7bit
-0      string          Return-Path:    message/rfc822  7bit
-0      string          Received:       message/rfc822
-0      string          Path:           message/news    8bit
-0      string          Xref:           message/news    8bit
-0      string          From:           message/rfc822  7bit
-0      string          Article         message/news    8bit
-#------------------------------------------------------------------------------
-# msword: file(1) magic for MS Word files
-#
-# Contributor claims:
-# Reversed-engineered MS Word magic numbers
-#
-
-0      string          \376\067\0\043                  application/msword
-0      string          \320\317\021\340\241\261        application/msword
-0      string          \333\245-\0\0\0                 application/msword
-
-
-
-#------------------------------------------------------------------------------
-# printer:  file(1) magic for printer-formatted files
-#
-
-# PostScript
-0      string          %!              application/postscript
-0      string          \004%!          application/postscript
-
-# Acrobat
-# (due to clamen@cs.cmu.edu)
-0      string          %PDF-           application/pdf
-
-#------------------------------------------------------------------------------
-# sc:  file(1) magic for "sc" spreadsheet
-#
-38     string          Spreadsheet     application/x-sc
-
-#------------------------------------------------------------------------------
-# tex:  file(1) magic for TeX files
-#
-# XXX - needs byte-endian stuff (big-endian and little-endian DVI?)
-#
-# From <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
-#0     string          This\ is\ TeX,  TeX transcript text     
-#0     string          This\ is\ METAFONT,     METAFONT transcript text
-
-# There is no way to detect TeX Font Metric (*.tfm) files without
-# breaking them apart and reading the data.  The following patterns
-# match most *.tfm files generated by METAFONT or afm2tfm.
-2      string          \000\021        application/x-tex-tfm
-2      string          \000\022        application/x-tex-tfm
-#>34   string          >\0             (%s)
-
-# Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com)
-0      string          \\input\ texinfo                text/x-texinfo
-0      string          This\ is\ Info\ file    text/x-info
-
-# correct TeX magic for Linux (and maybe more)
-# from Peter Tobias (tobias@server.et-inf.fho-emden.de)
-#
-0      leshort         0x02f7          application/x-dvi
-
-# RTF - Rich Text Format
-0      string          {\\rtf          text/rtf
-
-#------------------------------------------------------------------------------
-# animation:  file(1) magic for animation/movie formats
-#
-# animation formats, originally from vax@ccwf.cc.utexas.edu (VaX#n8)
-#                                              MPEG file
-# MPEG sequences
-0       belong             0x000001BA
->4      byte               &0x40          video/mp2p
->4      byte               ^0x40          video/mpeg
-0       belong             0x000001BB     video/mpeg
-0       belong             0x000001B0     video/mp4v-es
-0       belong             0x000001B5     video/mp4v-es
-0       belong             0x000001B3     video/mpv
-0       belong&0xFF5FFF1F  0x47400010     video/mp2t
-0       belong             0x00000001
->4      byte&1F            0x07           video/h264
-
-# FLI animation format
-0      leshort         0xAF11                          video/fli
-# FLC animation format
-0      leshort         0xAF12                          video/flc
-#
-# SGI and Apple formats
-# Added ISO mimes
-0      string          MOVI          video/sgi
-4      string          moov          video/quicktime
-4      string          mdat          video/quicktime
-4      string          wide          video/quicktime
-4      string          skip          video/quicktime
-4      string          free          video/quicktime
-4      string          idsc          image/x-quicktime
-4      string          idat          image/x-quicktime
-4      string          pckg          application/x-quicktime
-4      string/B        jP            image/jp2
-4      string          ftyp
->8     string          isom          video/mp4
->8     string          mp41          video/mp4
->8     string          mp42          video/mp4
->8     string/B        jp2           image/jp2
->8     string          3gp           video/3gpp
->8      string          avc1          video/3gpp
->8     string          mmp4          video/mp4
->8     string/B        M4A           audio/mp4
->8     string/B        qt            video/quicktime
-# The contributor claims:
-#   I couldn't find a real magic number for these, however, this
-#   -appears- to work.  Note that it might catch other files, too,
-#   so BE CAREFUL!
-#
-# Note that title and author appear in the two 20-byte chunks
-# at decimal offsets 2 and 22, respectively, but they are XOR'ed with
-# 255 (hex FF)! DL format SUCKS BIG ROCKS.
-#
-#                                              DL file version 1 , medium format (160x100, 4 images/screen)
-0      byte            1                       video/unknown
-0      byte            2                       video/unknown
-#
-# Databases
-#
-# GDBM magic numbers
-#  Will be maintained as part of the GDBM distribution in the future.
-#  <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 
->16    leshort         0               application/octet-stream
->16    leshort         1               application/x-object
->16    leshort         2               application/x-executable
->16    leshort         3               application/x-sharedlib
->16    leshort         4               application/x-coredump
->16    beshort         0               application/octet-stream
->16    beshort         1               application/x-object
->16    beshort         2               application/x-executable
->16    beshort         3               application/x-sharedlib
->16    beshort         4               application/x-coredump
-#
-# DOS
-0              string                  MZ                              application/x-dosexec
-#
-# KDE
-0              string  [KDE\ Desktop\ Entry]   application/x-kdelnk
-0              string  \#\ KDE\ Config\ File   application/x-kdelnk
-# xmcd database file for kscd
-0              string  \#\ xmcd                text/xmcd
-
-#------------------------------------------------------------------------------
-# pkgadd:  file(1) magic for SysV R4 PKG Datastreams
-#
-0       string          #\ PaCkAgE\ DaTaStReAm  application/x-svr4-package
-
-#PNG Image Format
-0      string          \x89PNG                 image/png
-
-# MNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
-0      string          \x8aMNG                 video/x-mng
-0      string          \x8aJNG                 video/x-jng
-
-#------------------------------------------------------------------------------
-# Hierarchical Data Format, used to facilitate scientific data exchange
-# specifications at http://hdf.ncsa.uiuc.edu/
-0      belong          0x0e031301      Hierarchical Data Format (version 4) data
-0      string          \211HDF\r\n\032 Hierarchical Data Format (version 5) data
-
-# Adobe Photoshop
-0      string          8BPS                    image/x-photoshop
-
-# Felix von Leitner <felix-file@fefe.de>
-0      string          d8:announce             application/x-bittorrent
-
-
-# lotus 1-2-3 document
-0      belong  0x00001a00      application/x-123
-0      belong  0x00000200      application/x-123
-
-# MS Access database
-4      string  Standard\ Jet\ DB       application/msaccess
-
-## magic for XBase files
-#0      byte       0x02        
-#>8     leshort          >0
-#>>12   leshort    0   application/x-dbf
-#
-#0      byte       0x03        
-#>8     leshort          >0
-#>>12   leshort    0   application/x-dbf
-#
-#0      byte       0x04        
-#>8     leshort          >0
-#>>12   leshort    0   application/x-dbf
-#
-#0      byte       0x05        
-#>8     leshort          >0
-#>>12   leshort    0   application/x-dbf
-#
-#0      byte       0x30
-#>8     leshort          >0
-#>>12   leshort    0   application/x-dbf
-#
-#0      byte       0x43
-#>8     leshort          >0
-#>>12   leshort    0   application/x-dbf
-#
-#0      byte       0x7b
-#>8     leshort          >0
-#>>12   leshort    0   application/x-dbf
-#
-#0      byte       0x83        
-#>8     leshort          >0
-#>>12   leshort    0   application/x-dbf
-#
-#0      byte       0x8b
-#>8     leshort          >0
-#>>12   leshort    0   application/x-dbf
-#
-#0      byte       0x8e        
-#>8     leshort          >0
-#>>12   leshort    0   application/x-dbf
-#
-#0      byte       0xb3
-#>8     leshort          >0
-#>>12   leshort    0   application/x-dbf
-#
-#0      byte       0xf5
-#>8     leshort          >0
-#>>12   leshort    0   application/x-dbf
-#
-#0     leshort         0x0006          application/x-dbt
-
-# Debian has entries for the old PGP formats:
-# pgp:  file(1) magic for Pretty Good Privacy
-# see http://lists.gnupg.org/pipermail/gnupg-devel/1999-September/016052.html
-0       beshort         0x9900                  text/PGP key public ring
-0       beshort         0x9501                  text/PGP key security ring
-0       beshort         0x9500                  text/PGP key security ring
-0       beshort         0xa600                  text/PGP encrypted data
-0       string          -----BEGIN\040PGP       text/PGP armored data 
->15     string          PUBLIC\040KEY\040BLOCK- public key block
->15     string          MESSAGE-                message
->15     string          SIGNED\040MESSAGE-      signed message
->15     string          PGP\040SIGNATURE-       signature
-0       beshort         0x8501                  data
-#
-# GnuPG Magic:
-# 
-0       beshort         0x9901                  text/GnuPG key public ring
-0       beshort         0x8501                  text/OpenPGP data
-
-# flash:        file(1) magic for Macromedia Flash file format
-#
-# See
-#
-#       http://www.macromedia.com/software/flash/open/
-#
-0      string          FWS             
->3     byte            x                       application/x-shockwave-flash
-
-# The following paramaters are created for Namazu.
-# <http://www.namazu.org/>
-#
-# 1999/08/13
-#0     string          \<!--\ MHonArc          text/html; x-type=mhonarc
-0      string          BZh                     application/x-bzip2
-
-# 1999/09/09
-# VRML (suggested by Masao Takaku)
-0      string          #VRML\ V1.0\ ascii      model/vrml
-0      string          #VRML\ V2.0\ utf8       model/vrml
-
-#------------------------------------------------------------------------------
-# ichitaro456: file(1) magic for Just System Word Processor Ichitaro
-#
-# Contributor kenzo-:
-# Reversed-engineered JS Ichitaro magic numbers
-#
-
-0      string          DOC
->43    byte            0x14            application/ichitaro4
->144   string  JDASH           application/ichitaro4
-
-0      string          DOC
->43    byte            0x15            application/ichitaro5
-
-0      string          DOC
->43    byte            0x16            application/ichitaro6
-
-#------------------------------------------------------------------------------
-# office97: file(1) magic for MicroSoft Office files
-#
-# Contributor kenzo-:
-# Reversed-engineered MS Office magic numbers
-#
-
-#0       string          \320\317\021\340\241\261\032\341
-#>48     byte            0x1B            application/excel
-
-2080   string  Microsoft\ Excel\ 5.0\ Worksheet        application/excel
-2114   string  Biff5                                   application/excel
-
-0       string \224\246\056            application/msword
-
-0      belong  0x31be0000              application/msword
-
-0      string  PO^Q`                   application/msword
-
-0      string  \320\317\021\340\241\261\032\341
->546   string  bjbj                    application/msword
->546   string  jbjb                    application/msword
-
-512    string  R\0o\0o\0t\0\ \0E\0n\0t\0r\0y   application/msword
-
-2080   string  Microsoft\ Word\ 6.0\ Document  application/msword
-2080   string  Documento\ Microsoft\ Word\ 6   application/msword
-2112   string  MSWordDoc                       application/msword
-
-#0     string  \320\317\021\340\241\261\032\341        application/powerpoint
-0      string  \320\317\021\340\241\261\032\341        application/msword
-
-0       string  #\ PaCkAgE\ DaTaStReAm  application/x-svr4-package
-
-
-# WinNT/WinCE PE files (Warner Losh, imp@village.org)
-#
-128            string  PE\000\000      application/octet-stream
-0              string  PE\000\000      application/octet-stream
-
-# miscellaneous formats
-0              string  LZ              application/octet-stream
-
-
-# .EXE formats (Greg Roelofs, newt@uchicago.edu)
-#
-0              string  MZ
->24            string  @               application/octet-stream
-
-0              string  MZ
->30            string  Copyright\ 1989-1990\ PKWARE\ Inc.      application/x-zip
-
-0              string  MZ
->30            string  PKLITE\ Copr.   application/x-zip
-
-0              string  MZ
->36            string  LHa's\ SFX      application/x-lha
-
-0              string  MZ              application/octet-stream
-
-# LHA archiver
-2              string  -lh
->6             string  -               application/x-lha
-
-
-# Zoo archiver
-20             lelong  0xfdc4a7dc      application/x-zoo
-
-# ARC archiver
-0              lelong&0x8080ffff       0x0000081a      application/x-arc
-0              lelong&0x8080ffff       0x0000091a      application/x-arc
-0              lelong&0x8080ffff       0x0000021a      application/x-arc
-0              lelong&0x8080ffff       0x0000031a      application/x-arc
-0              lelong&0x8080ffff       0x0000041a      application/x-arc
-0              lelong&0x8080ffff       0x0000061a      application/x-arc
-
-# Microsoft Outlook's Transport Neutral Encapsulation Format (TNEF)
-0              lelong  0x223e9f78      application/ms-tnef
-
-# From: stephane.loeuillet@tiscali.f
-# http://www.djvuzone.org/
-0      string          AT&TFORM        image/x.djvu
-
-# Danny Milosavljevic <danny.milo@gmx.net>
-# this are adrift (adventure game standard) game files, extension .taf
-# depending on version magic continues with 0x93453E6139FA (V 4.0)
-# 0x9445376139FA (V 3.90)
-# 0x9445366139FA (V 3.80)
-# this is from source (http://www.adrift.org.uk/) and I have some taf
-# files, and checked them.
-#0     belong  0x3C423FC9
-#>4    belong  0x6A87C2CF      application/x-adrift
-#0     string  \000\000\001\000        image/x-ico
-
-# Quark Xpress 3 Files:
-# (made the mimetype up) 
-0      string  \0\0MMXPR3\0    application/x-quark-xpress-3
-
-# EET archive
-# From: Tilman Sauerbeck <tilman@code-monkey.de>
-0      belong  0x1ee7ff00      application/x-eet
-
-# Gnumeric spreadsheet
-# This entry is only semi-helpful, as Gnumeric compresses its files, so
-# they will ordinarily reported as "compressed", but at least -z helps
-39      string          =<gmr:Workbook           application/x-gnumeric
-
diff --git a/file/magic/magic2mime b/file/magic/magic2mime
deleted file mode 100755 (executable)
index c83ee59..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#! /usr/local/bin/perl
-# -*- PERL -*-
-# $Id: magic2mime,v 1.2 2003/03/23 04:17:27 christos Exp $
-# Copyright (c) 1996, 1997 vax@linkdead.paranoia.com (VaX#n8)
-#
-# Usage: echo 'your-file-output-here' | file_to_ctype.pl
-#        file -b files... | file_to_ctype.pl
-# It acts like a filter, reading from STDIN and any files on the command
-# line, printing to STDOUT.
-
-## refs
-# http://www.faqs.org/faqs/mail/mime-faq/part1/index.html
-#  comp.mail.mime FAQ
-# ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/media-types
-#  assigned content-types
-# ftp://ftp.uu.net/inet/rfc/rfc-index
-#  RFC index; search for MIME
-
-@mapping =
-(
-       # defaults
-    'data', 'application/octet-stream',
-    'text', 'text/plain',
-       # more specific
-       '^Rich Text Format data', 'text/richtext',
-       '^HTML document text', 'text/html',
-       '^exported SGML document text', 'text/sgml',
-       'mail text', 'message/rfc822',
-       'news text', 'message/news',
-       '^PostScript document text', 'application/postscript',
-       '^BinHex binary text', 'application/mac-binhex40',
-       '^Zip archive data', 'application/zip',
-       '^Microsoft Word', 'application/msword',
-       '^PGP key', 'application/pgp-keys',
-       '^PGP encrypted', 'application/pgp-encrypted',
-       '^PGP armored data signature', 'application/pgp-signature',
-    '^JPEG image', 'image/jpeg',
-    '^GIF image', 'image/gif',
-       '^PNG image', 'image/png',
-    '^TIFF image', 'image/tiff',
-       'Computer Graphics Metafile', 'image/cgf',
-       '^Sun/NeXT audio data', 'audio/basic',
-    '^MPEG', 'video/mpeg',
-    '^Apple QuickTime movie', 'video/quicktime',
-       # made up by me
-    '^bitmap', 'image/x-bitmap',
-    '^PC bitmap data, Windows 3.x format', 'image/x-msw3bmp',
-    '^FLI', 'video/x-fli',
-    '^FLC', 'video/x-flc',
-    'AVI data', 'video/x-avi',
-    'WAVE', 'audio/x-wav',
-    'VOC', 'audio/x-voc',
-);
-
-local($mimetype,$index,$regexp);
-while (<>)
-  {
-    chop;
-    $index = $#mapping - 1;
-    while ($index > -1 && !defined($mimetype))
-      {
-         $mimetype = $mapping[$index + 1] if (/$mapping[$index]/);
-         $index -= 2;
-      }
-    print "$mimetype\n";
-       undef $mimetype; # hack
-  }
-0;
diff --git a/file/mkinstalldirs b/file/mkinstalldirs
deleted file mode 100644 (file)
index 8ab885e..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-errstatus=0
-dirmode=""
-
-usage="\
-Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
-
-# process command line arguments
-while test $# -gt 0 ; do
-   case "${1}" in
-     -h | --help | --h* )                      # -h for help
-       echo "${usage}" 1>&2; exit 0 ;;
-     -m )                                      # -m PERM arg
-       shift
-       test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
-       dirmode="${1}"
-       shift ;;
-     -- ) shift; break ;;                      # stop option processing
-     -* ) echo "${usage}" 1>&2; exit 1 ;;      # unknown option
-     * )  break ;;                             # first non-opt arg
-   esac
-done
-
-for file
-do
-  if test -d "$file"; then
-    shift
-  else
-    break
-  fi
-done
-
-case $# in
-0) exit 0 ;;
-esac
-
-case $dirmode in
-'')
-  if mkdir -p -- . 2>/dev/null; then
-    echo "mkdir -p -- $*"
-    exec mkdir -p -- "$@"
-  fi ;;
-*)
-  if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
-    echo "mkdir -m $dirmode -p -- $*"
-    exec mkdir -m "$dirmode" -p -- "$@"
-  fi ;;
-esac
-
-for file
-do
-   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
-   shift
-
-   pathcomp=
-   for d
-   do
-     pathcomp="$pathcomp$d"
-     case "$pathcomp" in
-       -* ) pathcomp=./$pathcomp ;;
-     esac
-
-     if test ! -d "$pathcomp"; then
-       echo "mkdir $pathcomp"
-
-       mkdir "$pathcomp" || lasterr=$?
-
-       if test ! -d "$pathcomp"; then
-         errstatus=$lasterr
-       else
-         if test ! -z "$dirmode"; then
-            echo "chmod $dirmode $pathcomp"
-
-            lasterr=""
-            chmod "$dirmode" "$pathcomp" || lasterr=$?
-
-            if test ! -z "$lasterr"; then
-              errstatus=$lasterr
-            fi
-         fi
-       fi
-     fi
-
-     pathcomp="$pathcomp/"
-   done
-done
-
-exit $errstatus
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 3
-# End:
-# mkinstalldirs ends here
diff --git a/file/python/.cvsignore b/file/python/.cvsignore
deleted file mode 100644 (file)
index c126443..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-*.lo
-.deps
-.depend
-.depend-done
-Makefile
-Makefile.in
diff --git a/file/python/Makefile.am b/file/python/Makefile.am
deleted file mode 100644 (file)
index 6052d9c..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-
-EXTRA_DIST = README example.py py_magic.c py_magic.h setup.py
diff --git a/file/python/README b/file/python/README
deleted file mode 100644 (file)
index ba22eb0..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-This directory contains Python bindings to allow you to access the
-libmagic api. At the moment their status is "experimental" and
-they are not built by default. You may need to edit include and library
-search paths in setup.py so that python's distutils build process can 
-find the magic header and lib files.
-
-In order to be able to compile magic-python you need to have python
-and the python-dev packages installed.
-
-Python libraries are always built for a particular version of Python
-(2.2, 2.3, etc), and libraries built for one version will not be seen
-by another.
-
-To build:
-
-$ python setup.py build
-
-Now, you can install the modules:
-
-$ cp build/lib.*/magic.so /usr/lib/python2.3/lib-dynload/
-
-(the directory /usr/lib/python2.3 may vary, depending on your installation)
-
-magic-python should work now!
-
diff --git a/file/python/example.py b/file/python/example.py
deleted file mode 100644 (file)
index fc41a86..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-import magic
-
-ms = magic.open(magic.MAGIC_NONE)
-ms.load()
-type =  ms.file("/path/to/some/file")
-print type
-
-f = file("/path/to/some/file", "r")
-buffer = f.read(4096)
-f.close()
-
-type = ms.buffer(buffer)
-print type
-
-ms.close()
-
diff --git a/file/python/py_magic.c b/file/python/py_magic.c
deleted file mode 100644 (file)
index 46562e6..0000000
+++ /dev/null
@@ -1,351 +0,0 @@
-/*
-   Python wrappers for magic functions.
-
-   Copyright (C) Brett Funderburg, Deepfile Corp. Austin, TX, US 2003
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-   1. Redistributions of source code must retain the above copyright
-      notice immediately at the beginning of the file, without modification,
-      this list of conditions, and the following disclaimer.
-   2. Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in the
-      documentation and/or other materials provided with the distribution.
-   3. The name of the author may not be used to endorse or promote products
-      derived from this software without specific prior written permission.
-    
-   THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-   ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
-   ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-   OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-   LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-   OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   SUCH DAMAGE.
-*/
-
-#include <Python.h>
-#include <magic.h>
-#include "py_magic.h"
-
-/* Exceptions raised by this module */
-
-PyObject* magic_error_obj;
-
-/* Create a new magic_cookie_hnd object */
-PyObject* new_magic_cookie_handle(magic_t cookie)
-{
-    magic_cookie_hnd* mch;
-
-    mch = PyObject_New(magic_cookie_hnd, &magic_cookie_type);
-
-    mch->cookie = cookie;
-
-    return (PyObject*)mch;
-}
-
-static char _magic_open__doc__[] =
-"Returns a magic cookie on success and None on failure.\n";
-static PyObject* py_magic_open(PyObject* self, PyObject* args)
-{
-    int flags = 0;
-    magic_t cookie;
-
-    if(!PyArg_ParseTuple(args, "i", &flags))
-        return NULL;
-
-    if(!(cookie = magic_open(flags))) {
-        PyErr_SetString(magic_error_obj, "failure initializing magic cookie");
-        return NULL;
-    }
-
-    return new_magic_cookie_handle(cookie);
-}
-
-static char _magic_close__doc__[] =
-"Closes the magic database and deallocates any resources used.\n";
-static PyObject* py_magic_close(PyObject* self, PyObject* args)
-{
-    magic_cookie_hnd* hnd = (magic_cookie_hnd*)self;
-
-    magic_close(hnd->cookie);
-
-    Py_INCREF(Py_None);
-    return Py_None;
-}
-
-static char _magic_error__doc__[] =
-"Returns a textual explanation of the last error or None \
- if there was no error.\n";
-static PyObject* py_magic_error(PyObject* self, PyObject* args)
-{
-    magic_cookie_hnd* hnd = (magic_cookie_hnd*)self;
-    const char* message = NULL;
-    PyObject* result = Py_None;
-
-    message = magic_error(hnd->cookie);
-
-    if(message != NULL)
-        result = PyString_FromString(message);
-    else
-        Py_INCREF(Py_None);
-
-    return result;
-}
-
-static char _magic_errno__doc__[] =
-"Returns a numeric error code. If return value is 0, an internal \
- magic error occurred. If return value is non-zero, the value is \
- an OS error code. Use the errno module or os.strerror() can be used \
- to provide detailed error information.\n";
-static PyObject* py_magic_errno(PyObject* self, PyObject* args)
-{
-    magic_cookie_hnd* hnd = (magic_cookie_hnd*)self;
-    return PyInt_FromLong(magic_errno(hnd->cookie));
-}
-
-static char _magic_file__doc__[] =
-"Returns a textual description of the contents of the argument passed \
- as a filename or None if an error occurred and the MAGIC_ERROR flag \
- is set. A call to errno() will return the numeric error code.\n";
-static PyObject* py_magic_file(PyObject* self, PyObject* args)
-{
-    magic_cookie_hnd* hnd = (magic_cookie_hnd*)self;
-    char* filename = NULL;
-    const char* message = NULL;
-    PyObject* result = Py_None;
-
-    if(!(PyArg_ParseTuple(args, "s", &filename)))
-        return NULL;
-
-    message = magic_file(hnd->cookie, filename);
-
-    if(message != NULL)
-        result = PyString_FromString(message);
-    else
-        Py_INCREF(Py_None);
-
-    return result;
-}
-
-static char _magic_buffer__doc__[] =
-"Returns a textual description of the contents of the argument passed \
- as a buffer or None if an error occurred and the MAGIC_ERROR flag \
- is set. A call to errno() will return the numeric error code.\n";
-static PyObject* py_magic_buffer(PyObject* self, PyObject* args)
-{
-    magic_cookie_hnd* hnd = (magic_cookie_hnd*)self;
-    void* buffer = NULL;
-    int buffer_length = 0;
-    const char* message = NULL;
-    PyObject* result = Py_None;
-
-    if(!(PyArg_ParseTuple(args, "s#", (char**)&buffer, &buffer_length)))
-        return NULL;
-
-    message = magic_buffer(hnd->cookie, buffer, buffer_length);
-
-    if(message != NULL)
-        result = PyString_FromString(message);
-    else
-        Py_INCREF(Py_None);
-
-    return result;
-}
-
-static char _magic_setflags__doc__[] =
-"Set flags on the cookie object.\n \
- Returns -1 on systems that don't support utime(2) or utimes(2) \
- when MAGIC_PRESERVE_ATIME is set.\n";
-static PyObject* py_magic_setflags(PyObject* self, PyObject* args)
-{
-    magic_cookie_hnd* hnd = (magic_cookie_hnd*)self;
-    int flags;
-    int result;
-
-    if(!(PyArg_ParseTuple(args, "i", &flags)))
-        return NULL;
-
-    result = magic_setflags(hnd->cookie, flags);
-
-    return PyInt_FromLong(result);
-}
-
-static char _magic_check__doc__[] =
-"Check the validity of entries in the colon separated list of \
- database files passed as argument or the default database file \
- if no argument.\n Returns 0 on success and -1 on failure.\n";
-static PyObject* py_magic_check(PyObject* self, PyObject* args)
-{
-    magic_cookie_hnd* hnd = (magic_cookie_hnd*)self;
-    char* filename = NULL;
-    int result;
-
-    if(!(PyArg_ParseTuple(args, "|s", &filename)))
-        return NULL;
-
-    result = magic_check(hnd->cookie, filename);
-
-    return PyInt_FromLong(result);
-}
-
-static char _magic_compile__doc__[] =
-"Compile entries in the colon separated list of database files \
- passed as argument or the default database file if no argument.\n \
- Returns 0 on success and -1 on failure.\n \
- The compiled files created are named from the basename(1) of each file \
- argument with \".mgc\" appended to it.\n";
-static PyObject* py_magic_compile(PyObject* self, PyObject* args)
-{
-    magic_cookie_hnd* hnd = (magic_cookie_hnd*)self;
-    char* filename = NULL;
-    int result;
-
-    if(!(PyArg_ParseTuple(args, "|s", &filename)))
-        return NULL;
-
-    result = magic_compile(hnd->cookie, filename);
-
-    return PyInt_FromLong(result);
-}
-
-static char _magic_load__doc__[] =
-"Must be called to load entries in the colon separated list of database files \
- passed as argument or the default database file if no argument before \
- any magic queries can be performed.\n \
- Returns 0 on success and -1 on failure.\n";
-static PyObject* py_magic_load(PyObject* self, PyObject* args)
-{
-    magic_cookie_hnd* hnd = (magic_cookie_hnd*)self;
-    char* filename = NULL;
-    int result;
-
-    if(!(PyArg_ParseTuple(args, "|s", &filename)))
-        return NULL;
-
-    result = magic_load(hnd->cookie, filename);
-
-    return PyInt_FromLong(result);
-}
-
-/* object methods */
-
-static PyMethodDef magic_cookie_hnd_methods[] = {
-    { "close", (PyCFunction)py_magic_close,
-      METH_NOARGS, _magic_close__doc__ },
-    { "error", (PyCFunction)py_magic_error,
-      METH_NOARGS, _magic_error__doc__ },
-    { "file", (PyCFunction)py_magic_file,
-      METH_VARARGS, _magic_file__doc__ },
-    { "buffer", (PyCFunction)py_magic_buffer,
-      METH_VARARGS, _magic_buffer__doc__ },
-    { "setflags", (PyCFunction)py_magic_setflags,
-      METH_VARARGS, _magic_setflags__doc__ },
-    { "check", (PyCFunction)py_magic_check,
-      METH_VARARGS, _magic_check__doc__ },
-    { "compile", (PyCFunction)py_magic_compile,
-      METH_VARARGS, _magic_compile__doc__ },
-    { "load", (PyCFunction)py_magic_load,
-      METH_VARARGS, _magic_load__doc__ },
-    { "errno", (PyCFunction)py_magic_errno,
-      METH_NOARGS, _magic_errno__doc__ },
-    { NULL, NULL }
-};
-
-/* module level methods */
-
-static PyMethodDef magic_methods[] = {
-    { "open", (PyCFunction)py_magic_open,
-      METH_VARARGS, _magic_open__doc__ },
-    { NULL, NULL }
-};
-
-static void py_magic_dealloc(PyObject* self)
-{
-    PyObject_Del(self);
-}
-
-static PyObject* py_magic_getattr(PyObject* self, char* attrname)
-{
-    return Py_FindMethod(magic_cookie_hnd_methods, self, attrname);
-}
-
-PyTypeObject magic_cookie_type = {
-    PyObject_HEAD_INIT(NULL)
-    0,
-    "Magic cookie",
-    sizeof(magic_cookie_hnd),
-    0,
-    py_magic_dealloc, /* tp_dealloc */
-    0,                /* tp_print */
-    py_magic_getattr, /* tp_getattr */
-    0,                /* tp_setattr */
-    0,                /* tp_compare */
-    0,                /* tp_repr */
-    0,                /* tp_as_number */
-    0,                /* tp_as_sequence */
-    0,                /* tp_as_mapping */
-    0,                /* tp_hash */
-};
-
-/* Initialize constants */
-
-static struct const_vals {
-    const char* const name;
-    unsigned int value;
-} module_const_vals[] = {
-    { "MAGIC_NONE", MAGIC_NONE },
-    { "MAGIC_DEBUG", MAGIC_DEBUG },
-    { "MAGIC_SYMLINK", MAGIC_SYMLINK },
-    { "MAGIC_COMPRESS", MAGIC_COMPRESS },
-    { "MAGIC_DEVICES", MAGIC_DEVICES },
-    { "MAGIC_MIME", MAGIC_MIME },
-    { "MAGIC_CONTINUE", MAGIC_CONTINUE },
-    { "MAGIC_CHECK", MAGIC_CHECK },
-    { "MAGIC_PRESERVE_ATIME", MAGIC_PRESERVE_ATIME },
-    { "MAGIC_ERROR", MAGIC_ERROR},
-    { NULL }
-};
-
-static void const_init(PyObject* dict)
-{
-    struct const_vals* tmp;
-    PyObject *obj;
-
-    for(tmp = module_const_vals; tmp->name; ++tmp) {
-        obj = PyInt_FromLong(tmp->value);
-        PyDict_SetItemString(dict, tmp->name, obj);
-        Py_DECREF(obj);
-    }
-}
-
-/*
- * Module initialization
- */
-
-void initmagic(void)
-{
-    PyObject* module;
-    PyObject* dict;
-
-    /* Initialize module */
-
-    module = Py_InitModule("magic", magic_methods);
-    dict = PyModule_GetDict(module);
-
-    magic_error_obj = PyErr_NewException("magic.error", NULL, NULL);
-    PyDict_SetItemString(dict, "error", magic_error_obj);
-
-    magic_cookie_type.ob_type = &PyType_Type;
-
-    /* Initialize constants */
-
-    const_init(dict);
-
-    if(PyErr_Occurred())
-        Py_FatalError("can't initialize module magic");
-}
diff --git a/file/python/py_magic.h b/file/python/py_magic.h
deleted file mode 100644 (file)
index a11a900..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-   Python wrappers for magic functions.
-
-   Copyright (C) Brett Funderburg, Deepfile Corp. Austin, TX, US 2003
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-   1. Redistributions of source code must retain the above copyright
-      notice immediately at the beginning of the file, without modification,
-      this list of conditions, and the following disclaimer.
-   2. Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in the
-      documentation and/or other materials provided with the distribution.
-   3. The name of the author may not be used to endorse or promote products
-      derived from this software without specific prior written permission.
-    
-   THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-   ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
-   ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-   OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-   LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-   OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   SUCH DAMAGE.
-*/
-
-#ifndef _PY_MAGIC_H
-#define _PY_MAGIC_H
-
-typedef struct {
-    PyObject_HEAD
-    magic_t cookie;
-} magic_cookie_hnd;
-
-extern PyTypeObject magic_cookie_type;
-
-#endif /* _PY_MAGIC_H */
diff --git a/file/python/setup.py b/file/python/setup.py
deleted file mode 100644 (file)
index 7c86194..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-# Python distutils build script for magic extension
-from distutils.core import setup, Extension
-
-magic_module = Extension('magic',
-    libraries = ['magic'],
-    library_dirs = ['./','../','../src','/usr/lib/'],
-    include_dirs = ['./','../','../src','/usr/include/'],
-    sources = ['py_magic.c'])
-
-setup (name = 'Magic file extensions',
-    version = '0.1',
-    author = 'Brett Funderburg',
-    author_email = 'brettf@deepfile.com',
-    license = 'BSD',
-    description = 'libmagic python bindings',
-    ext_modules = [magic_module])
diff --git a/file/src/.cvsignore b/file/src/.cvsignore
deleted file mode 100644 (file)
index 3c4c8b1..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-*.lo
-libmagic.la
-.deps
-.depend
-.depend-done
-.libs
-Makefile
-Makefile.in
-listobjs
-file
-file-*.tar.gz
diff --git a/file/src/.splintrc b/file/src/.splintrc
deleted file mode 100644 (file)
index fbbb555..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
--I. -I.. -I../../zlib -DHAVE_CONFIG_H -DSTDC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGFILE_SOURCE -D__STDC__=1 -DHAVE_STRUCT_STAT_ST_RDEV -DSIZEOF_UINT64_T=8
-
-#+partial
-+forcehints
-
-
--warnposix
-
-+unixlib
-
--unrecogcomments       # XXX ignore doxygen markings
-
-+strict                        # lclint level
-
-# --- in progress
--bounds
-
--branchstate
--compdef
--compmempass
--compdestroy
--evalorder
--formatconst
--macroredef
--modobserver           # 9
--modunconnomods
--mustmod               # 2
--nullderef
--nullpass
--nullstate
--predboolptr
--redef
--retvalint
--retvalother
--sizeoftype
--type
--uniondef
--unrecog
--usereleased
-+voidabstract
-
--temptrans
-
--whileempty
-
--constuse
--declundef
--exportlocal
--exportfcn
--exportheader          # 50
--exporttype
--fcnuse
--fielduse
--typeuse
--varuse
-
-# --- not-yet at strict level
--bitwisesigned         # 86
--elseifcomplete                # 2
--forblock              # 6
--ifblock               # 231
--incondefs             # 64
--namechecks            # tedious ANSI compliance checks
--ptrarith              # tedious
-
--mustdefine            # 25
--shiftimplementation   # 148 ctype.h
-
--strictops             # 37
--whileblock            # 16
-
-# --- not-yet at checks level
--mustfree              # 26
--usedef                        # 31
-
-# --- not-yet at standard level
-+boolint               # 38
-+charint               # 147
-+ignorequals           # 49
-+matchanyintegral      # 77
diff --git a/file/src/Makefile.am b/file/src/Makefile.am
deleted file mode 100644 (file)
index bf99685..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-LINT = splint
-BUILT_SOURCES = listobjs
-
-EXTRA_DIST = test.c
-
-INCLUDES = -I. 
-
-pkglibdir =  @prefix@/lib/rpm
-MAGIC    = $(pkglibdir)/magic
-
-AM_CPPFLAGS = -DMAGIC='"$(MAGIC)"'
-
-include_HEADERS = # magic.h
-noinst_HEADERS = file.h magic.h names.h patchlevel.h readelf.h tar.h
-
-#lib_LTLIBRARIES = libmagic.la
-#usrlibdir = $(libdir)@MARK64@
-#usrlib_LTLIBRARIES = libmagic.la
-noinst_LTLIBRARIES = libmagic.la
-
-libmagic_la_SOURCES = magic.c apprentice.c softmagic.c ascmagic.c \
-       compress.c is_tar.c readelf.c print.c fsmagic.c \
-       funcs.c apptype.c
-libmagic_la_LDFLAGS = -version-info 1:0:0
-
-noinst_PROGRAMS = file
-file_SOURCES = file.c
-file_LDFLAGS = 
-file_LDADD = libmagic.la
-
-listobjs:
-       @echo $(libmagic_la_SOURCES:.c=.lo) > $@
-
-.PHONY: lint
-lint:
-       $(LINT)  $(DEFS) $(INCLUDES) $(file_SOURCES) $(libmagic_la_SOURCES) $(include_HEADERS) $(noinst_HEADERS)
-
-.PHONY: sources
-sources:
-       @echo $(libmagic_la_SOURCES:%=file/src/%)
diff --git a/file/src/apprentice.c b/file/src/apprentice.c
deleted file mode 100644 (file)
index 785affc..0000000
+++ /dev/null
@@ -1,1282 +0,0 @@
-/*
- * Copyright (c) Ian F. Darwin 1986-1995.
- * Software written by Ian F. Darwin and others;
- * maintained 1995-present by Christos Zoulas and others.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * apprentice - make one pass through /etc/magic, learning its secrets.
- */
-
-#include "file.h"
-#include "magic.h"
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <string.h>
-#include <ctype.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/param.h>
-#ifdef QUICK
-#include <sys/mman.h>
-#endif
-
-#ifndef        lint
-FILE_RCSID("@(#)$Id: apprentice.c,v 1.84 2005/03/25 18:03:18 christos Exp $")
-#endif /* lint */
-
-#define        EATAB {while (isascii((unsigned char) *l) && \
-                     isspace((unsigned char) *l))  ++l;}
-#define LOWCASE(l) (isupper((unsigned char) (l)) ? \
-                       tolower((unsigned char) (l)) : (l))
-/*
- * Work around a bug in headers on Digital Unix.
- * At least confirmed for: OSF1 V4.0 878
- */
-#if defined(__osf__) && defined(__DECC)
-#ifdef MAP_FAILED
-#undef MAP_FAILED
-#endif
-#endif
-
-#ifndef MAP_FAILED
-#define MAP_FAILED (void *) -1
-#endif
-
-#ifndef MAP_FILE
-#define MAP_FILE 0
-#endif
-
-#ifndef MAXPATHLEN
-#define MAXPATHLEN     1024
-#endif
-
-#define IS_PLAINSTRING(t) ((t) == FILE_STRING || (t) == FILE_PSTRING || \
-    (t) == FILE_BESTRING16 || (t) == FILE_LESTRING16)
-    
-#define IS_STRING(t) (IS_PLAINSTRING(t) || (t) == FILE_REGEX || \
-    (t) == FILE_SEARCH)
-
-/*@unchecked@*/
-private size_t maxmagic = 0;
-/*@unchecked@*/
-private size_t magicsize = sizeof(struct magic);
-
-private int getvalue(struct magic_set *ms, struct magic *m, char **p)
-       /*@globals fileSystem @*/
-       /*@modifies ms, m, *p, fileSystem @*/;
-private int hextoint(int)
-       /*@*/;
-/*@null@*/
-private char *getstr(struct magic_set *ms, /*@returned@*/ char *s, char *p, int plen, int *slen)
-       /*@modifies ms, *p, *slen @*/;
-private int parse(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp, char *l, int action)
-       /*@globals maxmagic, fileSystem @*/
-       /*@modifies ms, *magicp, *nmagicp, maxmagic, fileSystem @*/;
-private void eatsize(char **p)
-       /*@modifies *p @*/;
-private int apprentice_1(struct magic_set *ms, const char *fn, int action, struct mlist *mlist)
-       /*@globals fileSystem, internalState @*/
-       /*@modifies ms, mlist, fileSystem, internalState @*/;
-private int apprentice_file(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp,
-    const char *fn, int action)
-       /*@globals maxmagic, fileSystem @*/
-       /*@modifies ms, *magicp, *nmagicp, maxmagic, fileSystem @*/;
-private void byteswap(struct magic *magic, uint32_t nmagic)
-       /*@modifies magic @*/;
-private void bs1(struct magic *m)
-       /*@modifies m @*/;
-private uint16_t swap2(uint16_t sv)
-       /*@*/;
-private uint32_t swap4(uint32_t sv)
-       /*@*/;
-private char *mkdbname(const char *fn, /*@returned@*/ char *buf, size_t, int)
-       /*@modifies buf @*/;
-private int apprentice_map(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp,
-    const char *fn)
-       /*@globals fileSystem, internalState @*/
-       /*@modifies ms, *magicp, *nmagicp, fileSystem, internalState @*/;
-private int apprentice_compile(struct magic_set *ms, struct magic **magicp, uint32_t * nmagicp,
-    const char *fn)
-       /*@globals fileSystem, internalState @*/
-       /*@modifies ms, fileSystem, internalState @*/;
-private int check_format(struct magic_set *ms, struct magic *m)
-       /*@globals fileSystem @*/
-       /*@modifies fileSystem @*/;
-
-#ifdef COMPILE_ONLY
-
-int main(int, char *[]);
-
-int
-main(int argc, char *argv[])
-{
-       int ret;
-       struct magic_set *ms;
-       char *progname;
-
-       if ((progname = strrchr(argv[0], '/')) != NULL)
-               progname++;
-       else
-               progname = argv[0];
-
-       if (argc != 2) {
-               (void)fprintf(stderr, "Usage: %s file\n", progname);
-               return 1;
-       }
-
-       if ((ms = magic_open(MAGIC_CHECK)) == NULL) {
-               (void)fprintf(stderr, "%s: %s\n", progname, strerror(errno));
-               return 1;
-       }
-       ret = magic_compile(ms, argv[1]) == -1 ? 1 : 0;
-       if (ret == 1)
-               (void)fprintf(stderr, "%s: %s\n", progname, magic_error(ms));
-       magic_close(ms);
-       return ret;
-}
-#endif /* COMPILE_ONLY */
-
-
-/*
- * Handle one file.
- */
-private int
-apprentice_1(struct magic_set *ms, const char *fn, int action,
-    struct mlist *mlist)
-{
-       struct magic *magic = NULL;
-       uint32_t nmagic = 0;
-       struct mlist *ml;
-       int rv = -1;
-       int mapped;
-
-       if (magicsize != FILE_MAGICSIZE) {
-               file_error(ms, 0, "magic element size %lu != %lu",
-                   (unsigned long)sizeof(*magic),
-                   (unsigned long)FILE_MAGICSIZE);
-               return -1;
-       }
-
-       if (action == FILE_COMPILE) {
-               rv = apprentice_file(ms, &magic, &nmagic, fn, action);
-               if (rv != 0)
-                       return -1;
-               rv = apprentice_compile(ms, &magic, &nmagic, fn);
-               free(magic);
-               return rv;
-       }
-#ifndef COMPILE_ONLY
-       if ((rv = apprentice_map(ms, &magic, &nmagic, fn)) == -1) {
-               if (ms->flags & MAGIC_CHECK)
-                       file_magwarn(ms, "using regular magic file `%s'", fn);
-               rv = apprentice_file(ms, &magic, &nmagic, fn, action);
-               if (rv != 0)
-                       return -1;
-               mapped = 0;
-       }
-
-       if (rv == -1)
-               return rv;
-       mapped = rv;
-            
-       if (magic == NULL || nmagic == 0) {
-               file_delmagic(magic, mapped, nmagic);
-               return -1;
-       }
-
-       if ((ml = malloc(sizeof(*ml))) == NULL) {
-               file_delmagic(magic, mapped, nmagic);
-               file_oomem(ms);
-               return -1;
-       }
-
-       ml->magic = magic;
-       ml->nmagic = nmagic;
-       ml->mapped = mapped;
-
-       mlist->prev->next = ml;
-       ml->prev = mlist->prev;
-       ml->next = mlist;
-       mlist->prev = ml;
-
-       return 0;
-#endif /* COMPILE_ONLY */
-}
-
-protected void
-file_delmagic(struct magic *p, int type, size_t entries)
-{
-       if (p == NULL)
-               return;
-       switch (type) {
-       case 2:
-               p--;
-               (void)munmap((void *)p, sizeof(*p) * (entries + 1));
-               break;
-       case 1:
-               p--;
-               /*@fallthrough@*/
-       case 0:
-               free(p);
-               break;
-       default:
-               abort();
-       }
-}
-
-
-/* const char *fn: list of magic files */
-protected struct mlist *
-file_apprentice(struct magic_set *ms, const char *fn, int action)
-{
-       char *p, *mfn, *afn = NULL;
-       int file_err, errs = -1;
-       struct mlist *mlist;
-
-       if (fn == NULL)
-               fn = getenv("MAGIC");
-       if (fn == NULL)
-               fn = MAGIC;
-
-       if ((fn = mfn = strdup(fn)) == NULL) {
-               file_oomem(ms);
-               return NULL;
-       }
-
-       if ((mlist = malloc(sizeof(*mlist))) == NULL) {
-               free(mfn);
-               file_oomem(ms);
-               return NULL;
-       }
-       mlist->next = mlist->prev = mlist;
-
-       while (fn) {
-               p = strchr(fn, PATHSEP);
-               if (p)
-                       *p++ = '\0';
-               if (*fn == '\0')
-                       break;
-               if (ms->flags & MAGIC_MIME) {
-                       if ((afn = malloc(strlen(fn) + 5 + 1)) == NULL) {
-                               free(mfn);
-                               free(mlist);
-                               file_oomem(ms);
-                               return NULL;
-                       }
-                       (void)strcpy(afn, fn);
-                       (void)strcat(afn, ".mime");
-                       fn = afn;
-               }
-               file_err = apprentice_1(ms, fn, action, mlist);
-               if (file_err > errs)
-                       errs = file_err;
-               if (afn) {
-                       free(afn);
-                       afn = NULL;
-               }
-               fn = p;
-       }
-       if (errs == -1) {
-               free(mfn);
-               free(mlist);
-               mlist = NULL;
-               file_error(ms, 0, "could not find any magic files!");
-               return NULL;
-       }
-       free(mfn);
-       return mlist;
-}
-
-/*
- * parse from a file
- * const char *fn: name of magic file
- */
-private int
-apprentice_file(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp,
-    const char *fn, int action)
-{
-       private const char hdr[] =
-               "cont\toffset\ttype\topcode\tmask\tvalue\tdesc";
-       FILE *f;
-       char line[BUFSIZ+1];
-       int errs = 0;
-
-       f = fopen(ms->file = fn, "r");
-       if (f == NULL) {
-               if (errno != ENOENT)
-                       file_error(ms, errno, "cannot read magic file `%s'",
-                           fn);
-               return -1;
-       }
-
-        maxmagic = MAXMAGIS;
-       *magicp = (struct magic *) calloc(maxmagic, sizeof(struct magic));
-       if (*magicp == NULL) {
-               (void)fclose(f);
-               file_oomem(ms);
-               return -1;
-       }
-
-       /* print silly verbose header for USG compat. */
-       if (action == FILE_CHECK)
-               (void)fprintf(stderr, "%s\n", hdr);
-
-       /* parse it */
-       for (ms->line = 1; fgets(line, BUFSIZ, f) != NULL; ms->line++) {
-               size_t len;
-               if (line[0]=='#')       /* comment, do not parse */
-                       continue;
-               len = strlen(line);
-               if (len < 2) /* null line, garbage, etc */
-                       continue;
-               line[len - 1] = '\0'; /* delete newline */
-               if (parse(ms, magicp, nmagicp, line, action) != 0)
-                       errs = 1;
-       }
-
-       (void)fclose(f);
-       if (errs) {
-               free(*magicp);
-               *magicp = NULL;
-               *nmagicp = 0;
-       }
-       return errs;
-}
-
-/*
- * extend the sign bit if the comparison is to be signed
- */
-protected uint32_t
-file_signextend(struct magic_set *ms, struct magic *m, uint32_t v)
-{
-       if (!(m->flag & UNSIGNED))
-               switch(m->type) {
-               /*
-                * Do not remove the casts below.  They are
-                * vital.  When later compared with the data,
-                * the sign extension must have happened.
-                */
-               case FILE_BYTE:
-                       v = (char) v;
-                       break;
-               case FILE_SHORT:
-               case FILE_BESHORT:
-               case FILE_LESHORT:
-                       v = (short) v;
-                       break;
-               case FILE_DATE:
-               case FILE_BEDATE:
-               case FILE_LEDATE:
-               case FILE_LDATE:
-               case FILE_BELDATE:
-               case FILE_LELDATE:
-               case FILE_LONG:
-               case FILE_BELONG:
-               case FILE_LELONG:
-                       v = (int32_t) v;
-                       break;
-               case FILE_STRING:
-               case FILE_PSTRING:
-               case FILE_BESTRING16:
-               case FILE_LESTRING16:
-               case FILE_REGEX:
-               case FILE_SEARCH:
-                       break;
-               default:
-                       if (ms->flags & MAGIC_CHECK)
-                           file_magwarn(ms, "cannot happen: m->type=%d\n",
-                                   m->type);
-                       return ~0U;
-               }
-       return v;
-}
-
-/*
- * parse one line from magic file, put into magic[index++] if valid
- */
-private int
-parse(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp, char *l,
-    int action)
-{
-       int i = 0;
-       struct magic *m;
-       char *t;
-/*@observer@*/
-       private const char *fops = FILE_OPS;
-       uint32_t val;
-
-#define ALLOC_INCR     200
-       if (*nmagicp + 1 >= maxmagic){
-               maxmagic += ALLOC_INCR;
-/*@-unqualifiedtrans@*/
-               if ((m = (struct magic *) realloc(*magicp,
-                   sizeof(struct magic) * maxmagic)) == NULL) {
-                       file_oomem(ms);
-                       if (*magicp)
-                               free(*magicp);
-                       return -1;
-               }
-/*@=unqualifiedtrans@*/
-               *magicp = m;
-               memset(&(*magicp)[*nmagicp], 0, sizeof(struct magic)
-                   * ALLOC_INCR);
-       }
-       m = &(*magicp)[*nmagicp];
-       m->flag = 0;
-       m->cont_level = 0;
-
-       while (*l == '>') {
-               ++l;            /* step over */
-               m->cont_level++; 
-       }
-
-       if (m->cont_level != 0 && *l == '&') {
-                ++l;            /* step over */
-                m->flag |= OFFADD;
-        }
-       if (m->cont_level != 0 && *l == '(') {
-               ++l;            /* step over */
-               m->flag |= INDIR;
-               if (m->flag & OFFADD)
-                       m->flag = (m->flag & ~OFFADD) | INDIROFFADD;
-       }
-       if (m->cont_level != 0 && *l == '&') {
-                ++l;            /* step over */
-                m->flag |= OFFADD;
-        }
-
-       /* get offset, then skip over it */
-       m->offset = (uint32_t)strtoul(l, &t, 0);
-        if (l == t)
-               if (ms->flags & MAGIC_CHECK)
-                       file_magwarn(ms, "offset `%s' invalid", l);
-        l = t;
-
-       if (m->flag & INDIR) {
-               m->in_type = FILE_LONG;
-               m->in_offset = 0;
-               /*
-                * read [.lbs][+-]nnnnn)
-                */
-               if (*l == '.') {
-                       l++;
-                       switch (*l) {
-                       case 'l':
-                               m->in_type = FILE_LELONG;
-                               break;
-                       case 'L':
-                               m->in_type = FILE_BELONG;
-                               break;
-                       case 'h':
-                       case 's':
-                               m->in_type = FILE_LESHORT;
-                               break;
-                       case 'H':
-                       case 'S':
-                               m->in_type = FILE_BESHORT;
-                               break;
-                       case 'c':
-                       case 'b':
-                       case 'C':
-                       case 'B':
-                               m->in_type = FILE_BYTE;
-                               break;
-                       default:
-                               if (ms->flags & MAGIC_CHECK)
-                                       file_magwarn(ms,
-                                           "indirect offset type `%c' invalid",
-                                           *l);
-                               break;
-                       }
-                       l++;
-               }
-               if (*l == '~') {
-                       m->in_op |= FILE_OPINVERSE;
-                       l++;
-               }
-               switch (*l) {
-               case '&':
-                       m->in_op |= FILE_OPAND;
-                       l++;
-                       break;
-               case '|':
-                       m->in_op |= FILE_OPOR;
-                       l++;
-                       break;
-               case '^':
-                       m->in_op |= FILE_OPXOR;
-                       l++;
-                       break;
-               case '+':
-                       m->in_op |= FILE_OPADD;
-                       l++;
-                       break;
-               case '-':
-                       m->in_op |= FILE_OPMINUS;
-                       l++;
-                       break;
-               case '*':
-                       m->in_op |= FILE_OPMULTIPLY;
-                       l++;
-                       break;
-               case '/':
-                       m->in_op |= FILE_OPDIVIDE;
-                       l++;
-                       break;
-               case '%':
-                       m->in_op |= FILE_OPMODULO;
-                       l++;
-                       break;
-               }
-               if (*l == '(') {
-                       m->in_op |= FILE_OPINDIRECT;
-                       l++;
-               }
-               if (isdigit((unsigned char)*l) || *l == '-') 
-                       m->in_offset = (int32_t)strtol(l, &t, 0);
-               else
-                       t = l;
-               if (*t++ != ')' ||
-                   ((m->in_op & FILE_OPINDIRECT) && *t++ != ')')) 
-                       if (ms->flags & MAGIC_CHECK)
-                               file_magwarn(ms,
-                                   "missing ')' in indirect offset");
-               l = t;
-       }
-
-
-       while (isascii((unsigned char)*l) && isdigit((unsigned char)*l))
-               ++l;
-       EATAB;
-
-#define NBYTE          4
-#define NSHORT         5
-#define NLONG          4
-#define NSTRING        6
-#define NDATE          4
-#define NBESHORT       7
-#define NBELONG                6
-#define NBEDATE                6
-#define NLESHORT       7
-#define NLELONG                6
-#define NLEDATE                6
-#define NPSTRING       7
-#define NLDATE         5
-#define NBELDATE       7
-#define NLELDATE       7
-#define NREGEX         5
-#define NBESTRING16    10
-#define NLESTRING16    10
-#define NSEARCH                6
-
-       if (*l == 'u') {
-               ++l;
-               m->flag |= UNSIGNED;
-       }
-
-       /* get type, skip it */
-       if (strncmp(l, "char", NBYTE)==0) {     /* HP/UX compat */
-               m->type = FILE_BYTE;
-               l += NBYTE;
-       } else if (strncmp(l, "byte", NBYTE)==0) {
-               m->type = FILE_BYTE;
-               l += NBYTE;
-       } else if (strncmp(l, "short", NSHORT)==0) {
-               m->type = FILE_SHORT;
-               l += NSHORT;
-       } else if (strncmp(l, "long", NLONG)==0) {
-               m->type = FILE_LONG;
-               l += NLONG;
-       } else if (strncmp(l, "string", NSTRING)==0) {
-               m->type = FILE_STRING;
-               l += NSTRING;
-       } else if (strncmp(l, "date", NDATE)==0) {
-               m->type = FILE_DATE;
-               l += NDATE;
-       } else if (strncmp(l, "beshort", NBESHORT)==0) {
-               m->type = FILE_BESHORT;
-               l += NBESHORT;
-       } else if (strncmp(l, "belong", NBELONG)==0) {
-               m->type = FILE_BELONG;
-               l += NBELONG;
-       } else if (strncmp(l, "bedate", NBEDATE)==0) {
-               m->type = FILE_BEDATE;
-               l += NBEDATE;
-       } else if (strncmp(l, "leshort", NLESHORT)==0) {
-               m->type = FILE_LESHORT;
-               l += NLESHORT;
-       } else if (strncmp(l, "lelong", NLELONG)==0) {
-               m->type = FILE_LELONG;
-               l += NLELONG;
-       } else if (strncmp(l, "ledate", NLEDATE)==0) {
-               m->type = FILE_LEDATE;
-               l += NLEDATE;
-       } else if (strncmp(l, "pstring", NPSTRING)==0) {
-               m->type = FILE_PSTRING;
-               l += NPSTRING;
-       } else if (strncmp(l, "ldate", NLDATE)==0) {
-               m->type = FILE_LDATE;
-               l += NLDATE;
-       } else if (strncmp(l, "beldate", NBELDATE)==0) {
-               m->type = FILE_BELDATE;
-               l += NBELDATE;
-       } else if (strncmp(l, "leldate", NLELDATE)==0) {
-               m->type = FILE_LELDATE;
-               l += NLELDATE;
-       } else if (strncmp(l, "regex", NREGEX)==0) {
-               m->type = FILE_REGEX;
-               l += NREGEX;
-       } else if (strncmp(l, "bestring16", NBESTRING16)==0) {
-               m->type = FILE_BESTRING16;
-               l += NBESTRING16;
-       } else if (strncmp(l, "lestring16", NLESTRING16)==0) {
-               m->type = FILE_LESTRING16;
-               l += NLESTRING16;
-       } else if (strncmp(l, "search", NSEARCH)==0) {
-               m->type = FILE_SEARCH;
-               l += NSEARCH;
-       } else {
-               if (ms->flags & MAGIC_CHECK)
-                       file_magwarn(ms, "type `%s' invalid", l);
-               return -1;
-       }
-       /* New-style anding: "0 byte&0x80 =0x80 dynamically linked" */
-       /* New and improved: ~ & | ^ + - * / % -- exciting, isn't it? */
-       if (*l == '~') {
-               if (!IS_STRING(m->type))
-                       m->mask_op |= FILE_OPINVERSE;
-               ++l;
-       }
-       if ((t = strchr(fops,  *l)) != NULL) {
-               uint32_t op = (uint32_t)(t - fops);
-               if (op != FILE_OPDIVIDE || !IS_PLAINSTRING(m->type)) {
-                       ++l;
-                       m->mask_op |= op;
-                       val = (uint32_t)strtoul(l, &l, 0);
-                       m->mask = file_signextend(ms, m, val);
-                       eatsize(&l);
-               } else {
-                       m->mask = 0L;
-                       while (!isspace((unsigned char)*++l)) {
-                               switch (*l) {
-                               case CHAR_IGNORE_LOWERCASE:
-                                       m->mask |= STRING_IGNORE_LOWERCASE;
-                                       /*@switchbreak@*/ break;
-                               case CHAR_COMPACT_BLANK:
-                                       m->mask |= STRING_COMPACT_BLANK;
-                                       /*@switchbreak@*/ break;
-                               case CHAR_COMPACT_OPTIONAL_BLANK:
-                                       m->mask |=
-                                           STRING_COMPACT_OPTIONAL_BLANK;
-                                       /*@switchbreak@*/ break;
-                               default:
-                                       if (ms->flags & MAGIC_CHECK)
-                                               file_magwarn(ms,
-                                               "string extension `%c' invalid",
-                                               *l);
-                                       return -1;
-                               }
-                       }
-                       ++l;
-               }
-       }
-       /*
-        * We used to set mask to all 1's here, instead let's just not do
-        * anything if mask = 0 (unless you have a better idea)
-        */
-       EATAB;
-  
-       switch (*l) {
-       case '>':
-       case '<':
-       /* Old-style anding: "0 byte &0x80 dynamically linked" */
-       case '&':
-       case '^':
-       case '=':
-               m->reln = *l;
-               ++l;
-               if (*l == '=') {
-                  /* HP compat: ignore &= etc. */
-                  ++l;
-               }
-               break;
-       case '!':
-               m->reln = *l;
-               ++l;
-               break;
-       default:
-               if (*l == 'x' && ((isascii((unsigned char)l[1]) && 
-                   isspace((unsigned char)l[1])) || !l[1])) {
-                       m->reln = *l;
-                       ++l;
-                       goto GetDesc;   /* Bill The Cat */
-               }
-               m->reln = '=';
-               break;
-       }
-       EATAB;
-  
-       if (getvalue(ms, m, &l))
-               return -1;
-       /*
-        * TODO finish this macro and start using it!
-        * #define offsetcheck {if (offset > HOWMANY-1) 
-        *      magwarn("offset too big"); }
-        */
-
-       /*
-        * now get last part - the description
-        */
-GetDesc:
-       EATAB;
-       if (l[0] == '\b') {
-               ++l;
-               m->nospflag = 1;
-       } else if ((l[0] == '\\') && (l[1] == 'b')) {
-               ++l;
-               ++l;
-               m->nospflag = 1;
-       } else
-               m->nospflag = 0;
-       while ((m->desc[i++] = *l++) != '\0' && i < MAXDESC)
-               /* NULLBODY */;
-
-       if (ms->flags & MAGIC_CHECK) {
-               if (!check_format(ms, m))
-                       return -1;
-       }
-#ifndef COMPILE_ONLY
-       if (action == FILE_CHECK) {
-               file_mdump(m);
-       }
-#endif
-       ++(*nmagicp);           /* make room for next */
-       return 0;
-}
-
-/*
- * Check that the optional printf format in description matches
- * the type of the magic.
- */
-private int
-check_format(struct magic_set *ms, struct magic *m)
-{
-/*@-nullassign@*/
-/*@observer@*/
-       static const char *formats[] = { FILE_FORMAT_STRING };
-/*@=nullassign@*/
-/*@observer@*/
-       static const char *names[] = { FILE_FORMAT_NAME };
-       char *ptr;
-
-       for (ptr = m->desc; *ptr; ptr++)
-               if (*ptr == '%')
-                       break;
-       if (*ptr == '\0') {
-               /* No format string; ok */
-               return 1;
-       }
-       if (m->type >= sizeof(formats)/sizeof(formats[0])) {
-               file_magwarn(ms, "Internal error inconsistency between m->type"
-                   " and format strings");
-               return 0;
-       }
-       if (formats[m->type] == NULL) {
-               file_magwarn(ms, "No format string for `%s' with description "
-                   "`%s'", m->desc, names[m->type]);
-               return 0;
-       }
-       for (; *ptr; ptr++) {
-               if (*ptr == 'l' || *ptr == 'h') {
-                       /* XXX: we should really fix this one day */
-                       continue;
-               }
-               if (islower((unsigned char)*ptr) || *ptr == 'X')
-                       break;
-       }
-       if (*ptr == '\0') {
-               /* Missing format string; bad */
-               file_magwarn(ms, "Invalid format `%s' for type `%s'",
-                       m->desc, names[m->type]);
-               return 0;
-       }
-       if (strchr(formats[m->type], *ptr) == NULL) {
-               file_magwarn(ms, "Printf format `%c' is not valid for type `%s'"
-                   " in description `%s'",
-                       *ptr, names[m->type], m->desc);
-               return 0;
-       }
-       return 1;
-}
-
-/* 
- * Read a numeric value from a pointer, into the value union of a magic 
- * pointer, according to the magic type.  Update the string pointer to point 
- * just after the number read.  Return 0 for success, non-zero for failure.
- */
-private int
-getvalue(struct magic_set *ms, struct magic *m, char **p)
-{
-       int slen;
-
-       switch (m->type) {
-       case FILE_BESTRING16:
-       case FILE_LESTRING16:
-       case FILE_STRING:
-       case FILE_PSTRING:
-       case FILE_REGEX:
-       case FILE_SEARCH:
-               *p = getstr(ms, *p, m->value.s, sizeof(m->value.s), &slen);
-               if (*p == NULL) {
-                       if (ms->flags & MAGIC_CHECK)
-                               file_magwarn(ms, "cannot get string from `%s'",
-                                   m->value.s);
-                       return -1;
-               }
-               m->vallen = slen;
-               return 0;
-       default:
-               if (m->reln != 'x') {
-                       m->value.l = file_signextend(ms, m,
-                           (uint32_t)strtoul(*p, p, 0));
-                       eatsize(p);
-               }
-               return 0;
-       }
-}
-
-/*
- * Convert a string containing C character escapes.  Stop at an unescaped
- * space or tab.
- * Copy the converted version to "p", returning its length in *slen.
- * Return updated scan pointer as function result.
- */
-private char *
-getstr(struct magic_set *ms, char *s, char *p, int plen, int *slen)
-{
-       char    *origs = s, *origp = p;
-       char    *pmax = p + plen - 1;
-       int     c;
-       int     val;
-
-       while ((c = *s++) != '\0') {
-               if (isspace((unsigned char) c))
-                       break;
-               if (p >= pmax) {
-                       file_error(ms, 0, "string too long: `%s'", origs);
-                       return NULL;
-               }
-               if(c == '\\') {
-                       switch(c = *s++) {
-
-                       case '\0':
-                               goto out;
-
-                       default:
-                               *p++ = (char) c;
-                               /*@switchbreak@*/ break;
-
-                       case 'n':
-                               *p++ = '\n';
-                               /*@switchbreak@*/ break;
-
-                       case 'r':
-                               *p++ = '\r';
-                               /*@switchbreak@*/ break;
-
-                       case 'b':
-                               *p++ = '\b';
-                               /*@switchbreak@*/ break;
-
-                       case 't':
-                               *p++ = '\t';
-                               /*@switchbreak@*/ break;
-
-                       case 'f':
-                               *p++ = '\f';
-                               /*@switchbreak@*/ break;
-
-                       case 'v':
-                               *p++ = '\v';
-                               /*@switchbreak@*/ break;
-
-                       /* \ and up to 3 octal digits */
-                       case '0':
-                       case '1':
-                       case '2':
-                       case '3':
-                       case '4':
-                       case '5':
-                       case '6':
-                       case '7':
-                               val = c - '0';
-                               c = *s++;  /* try for 2 */
-                               if(c >= '0' && c <= '7') {
-                                       val = (val<<3) | (c - '0');
-                                       c = *s++;  /* try for 3 */
-                                       if(c >= '0' && c <= '7')
-                                               val = (val<<3) | (c-'0');
-                                       else
-                                               --s;
-                               }
-                               else
-                                       --s;
-                               *p++ = (char)val;
-                               /*@switchbreak@*/ break;
-
-                       /* \x and up to 2 hex digits */
-                       case 'x':
-                               val = 'x';      /* Default if no digits */
-                               c = hextoint(*s++);     /* Get next char */
-                               if (c >= 0) {
-                                       val = c;
-                                       c = hextoint(*s++);
-                                       if (c >= 0)
-                                               val = (val << 4) + c;
-                                       else
-                                               --s;
-                               } else
-                                       --s;
-                               *p++ = (char)val;
-                               /*@switchbreak@*/ break;
-                       }
-               } else
-                       *p++ = (char)c;
-       }
-out:
-       *p = '\0';
-       *slen = p - origp;
-       return s;
-}
-
-
-/* Single hex char to int; -1 if not a hex char. */
-private int
-hextoint(int c)
-{
-       if (!isascii((unsigned char) c))
-               return -1;
-       if (isdigit((unsigned char) c))
-               return c - '0';
-       if ((c >= 'a')&&(c <= 'f'))
-               return c + 10 - 'a';
-       if (( c>= 'A')&&(c <= 'F'))
-               return c + 10 - 'A';
-       return -1;
-}
-
-
-/*
- * Print a string containing C character escapes.
- */
-protected void
-file_showstr(FILE *fp, const char *s, size_t len)
-{
-       char    c;
-
-       for (;;) {
-               c = *s++;
-               if (len == ~0U) {
-                       if (c == '\0')
-                               break;
-               }
-               else  {
-                       if (len-- == 0)
-                               break;
-               }
-               if(c >= 040 && c <= 0176)       /* TODO isprint && !iscntrl */
-                       (void) fputc(c, fp);
-               else {
-                       (void) fputc('\\', fp);
-                       switch (c) {
-                       
-                       case '\n':
-                               (void) fputc('n', fp);
-                               /*@switchbreak@*/ break;
-
-                       case '\r':
-                               (void) fputc('r', fp);
-                               /*@switchbreak@*/ break;
-
-                       case '\b':
-                               (void) fputc('b', fp);
-                               /*@switchbreak@*/ break;
-
-                       case '\t':
-                               (void) fputc('t', fp);
-                               /*@switchbreak@*/ break;
-
-                       case '\f':
-                               (void) fputc('f', fp);
-                               /*@switchbreak@*/ break;
-
-                       case '\v':
-                               (void) fputc('v', fp);
-                               /*@switchbreak@*/ break;
-
-                       default:
-                               (void) fprintf(fp, "%.3o", c & 0377);
-                               /*@switchbreak@*/ break;
-                       }
-               }
-       }
-}
-
-/*
- * eatsize(): Eat the size spec from a number [eg. 10UL]
- */
-private void
-eatsize(char **p)
-{
-       char *l = *p;
-
-       if (LOWCASE(*l) == 'u') 
-               l++;
-
-       switch (LOWCASE(*l)) {
-       case 'l':    /* long */
-       case 's':    /* short */
-       case 'h':    /* short */
-       case 'b':    /* char/byte */
-       case 'c':    /* char/byte */
-               l++;
-               /*@fallthrough@*/
-       default:
-               break;
-       }
-
-       *p = l;
-}
-
-/*
- * handle a compiled file.
- */
-private int
-apprentice_map(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp,
-    const char *fn)
-{
-       int fd;
-       struct stat st;
-       uint32_t *ptr;
-       uint32_t version;
-       int needsbyteswap;
-       char buf[MAXPATHLEN];
-       char *dbname = mkdbname(fn, buf, sizeof(buf), 0);
-       void *mm = NULL;
-
-       if (dbname == NULL)
-               return -1;
-
-       if ((fd = open(dbname, O_RDONLY)) == -1)
-               return -1;
-
-       if (fstat(fd, &st) == -1) {
-               file_error(ms, errno, "cannot stat `%s'", dbname);
-               goto error;
-       }
-       if (st.st_size < 16) {
-               file_error(ms, 0, "file `%s' is too small", dbname);
-               goto error;
-       }
-
-#ifdef QUICK
-       if ((mm = mmap(0, (size_t)st.st_size, PROT_READ|PROT_WRITE,
-           MAP_PRIVATE|MAP_FILE, fd, (off_t)0)) == MAP_FAILED) {
-               file_error(ms, errno, "cannot map `%s'", dbname);
-               goto error;
-       }
-#define RET    2
-#else
-       if ((mm = malloc((size_t)st.st_size)) == NULL) {
-               file_oomem(ms);
-               goto error;
-       }
-       if (read(fd, mm, (size_t)st.st_size) != (size_t)st.st_size) {
-               file_badread(ms);
-               goto error;
-       }
-#define RET    1
-#endif
-       *magicp = mm;
-       (void)close(fd);
-       fd = -1;
-       ptr = (uint32_t *)(void *)*magicp;
-       if (*ptr != MAGICNO) {
-               if (swap4(*ptr) != MAGICNO) {
-                       file_error(ms, 0, "bad magic in `%s'");
-                       goto error;
-               }
-               needsbyteswap = 1;
-       } else
-               needsbyteswap = 0;
-       if (needsbyteswap)
-               version = swap4(ptr[1]);
-       else
-               version = ptr[1];
-       if (version != VERSIONNO) {
-               file_error(ms, 0, "version mismatch (%d != %d) in `%s'",
-                   version, VERSIONNO, dbname);
-               goto error;
-       }
-       *nmagicp = (uint32_t)(st.st_size / sizeof(struct magic)) - 1;
-       (*magicp)++;
-       if (needsbyteswap)
-               byteswap(*magicp, *nmagicp);
-       return RET;
-
-error:
-       if (fd != -1)
-               (void)close(fd);
-       if (mm) {
-#ifdef QUICK
-               (void)munmap((void *)mm, (size_t)st.st_size);
-#else
-               free(mm);
-#endif
-       } else {
-               *magicp = NULL;
-               *nmagicp = 0;
-       }
-       return -1;
-}
-
-/*@unchecked@*/ /*@observer@*/
-private const uint32_t ar[] = {
-    MAGICNO, VERSIONNO
-};
-/*
- * handle an mmaped file.
- */
-private int
-apprentice_compile(struct magic_set *ms, struct magic **magicp,
-    uint32_t *nmagicp, const char *fn)
-{
-       int fd;
-       char buf[MAXPATHLEN];
-       char *dbname = mkdbname(fn, buf, sizeof(buf), 1);
-
-       if (dbname == NULL) 
-               return -1;
-
-       if ((fd = open(dbname, O_WRONLY|O_CREAT|O_TRUNC, 0644)) == -1) {
-               file_error(ms, errno, "cannot open `%s'", dbname);
-               return -1;
-       }
-
-       if (write(fd, ar, sizeof(ar)) != (ssize_t)sizeof(ar)) {
-               file_error(ms, errno, "error writing `%s'", dbname);
-               return -1;
-       }
-
-       if (lseek(fd, (off_t)sizeof(struct magic), SEEK_SET)
-           != sizeof(struct magic)) {
-               file_error(ms, errno, "error seeking `%s'", dbname);
-               return -1;
-       }
-
-       if (write(fd, *magicp, (sizeof(struct magic) * *nmagicp)) 
-           != (ssize_t)(sizeof(struct magic) * *nmagicp)) {
-               file_error(ms, errno, "error writing `%s'", dbname);
-               return -1;
-       }
-
-       (void)close(fd);
-       return 0;
-}
-
-/*@unchecked@*/ /*@observer@*/
-private const char ext[] = ".mgc";
-/*
- * make a dbname
- */
-private char *
-mkdbname(const char *fn, char *buf, size_t bufsiz, int strip)
-{
-       if (strip) {
-               const char *p;
-               if ((p = strrchr(fn, '/')) != NULL)
-                       fn = ++p;
-       }
-
-       (void)snprintf(buf, bufsiz, "%s%s", fn, ext);
-       return buf;
-}
-
-/*
- * Byteswap an mmap'ed file if needed
- */
-private void
-byteswap(struct magic *magic, uint32_t nmagic)
-{
-       uint32_t i;
-       for (i = 0; i < nmagic; i++)
-               bs1(&magic[i]);
-}
-
-/*
- * swap a short
- */
-private uint16_t
-swap2(uint16_t sv)
-{
-       uint16_t rv;
-       uint8_t *s = (uint8_t *)(void *)&sv; 
-       uint8_t *d = (uint8_t *)(void *)&rv; 
-       d[0] = s[1];
-       d[1] = s[0];
-       return rv;
-}
-
-/*
- * swap an int
- */
-private uint32_t
-swap4(uint32_t sv)
-{
-       uint32_t rv;
-       uint8_t *s = (uint8_t *)(void *)&sv; 
-       uint8_t *d = (uint8_t *)(void *)&rv; 
-       d[0] = s[3];
-       d[1] = s[2];
-       d[2] = s[1];
-       d[3] = s[0];
-       return rv;
-}
-
-/*
- * byteswap a single magic entry
- */
-private void
-bs1(struct magic *m)
-{
-       m->cont_level = swap2(m->cont_level);
-       m->offset = swap4((uint32_t)m->offset);
-       m->in_offset = swap4((uint32_t)m->in_offset);
-       if (!IS_STRING(m->type))
-               m->value.l = swap4(m->value.l);
-       m->mask = swap4(m->mask);
-}
diff --git a/file/src/apptype.c b/file/src/apptype.c
deleted file mode 100644 (file)
index 73b0687..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Adapted from: apptype.c, Written by Eberhard Mattes and put into the
- * public domain
- * 
- * Notes: 1. Qualify the filename so that DosQueryAppType does not do extraneous
- * searches.
- * 
- * 2. DosQueryAppType will return FAPPTYP_DOS on a file ending with ".com"
- * (other than an OS/2 exe or Win exe with this name). Eberhard Mattes
- * remarks Tue, 6 Apr 93: Moreover, it reports the type of the (new and very
- * bug ridden) Win Emacs as "OS/2 executable".
- * 
- * 3. apptype() uses the filename if given, otherwise a tmp file is created with
- * the contents of buf. If buf is not the complete file, apptype can
- * incorrectly identify the exe type. The "-z" option of "file" is the reason
- * for this ugly code.
- */
-
-/*
- * amai: Darrel Hankerson did the changes described here.
- * 
- * It remains to check the validity of comments (2.) since it's referred to an
- * "old" OS/2 version.
- * 
- */
-
-#include "file.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-
-#ifndef        lint
-FILE_RCSID("@(#)$Id: apptype.c,v 1.6 2003/11/11 20:01:45 christos Exp $")
-#endif /* lint */
-
-#ifdef __EMX__
-#include <io.h>
-#define INCL_DOSSESMGR
-#define INCL_DOSERRORS
-#define INCL_DOSFILEMGR
-#include <os2.h>
-typedef ULONG   APPTYPE;
-
-protected int
-file_os2_apptype(struct magic_set *ms, const char *fn, const void *buf,
-    size_t nb)
-{
-       APPTYPE         rc, type;
-       char            path[_MAX_PATH], drive[_MAX_DRIVE], dir[_MAX_DIR],
-                       fname[_MAX_FNAME], ext[_MAX_EXT];
-       char           *filename;
-       FILE           *fp;
-
-       if (fn)
-               filename = strdup(fn);
-       else if ((filename = tempnam("./", "tmp")) == NULL) {
-               file_error(ms, errno, "cannot create tempnam");
-               return -1;
-       }
-       /* qualify the filename to prevent extraneous searches */
-       _splitpath(filename, drive, dir, fname, ext);
-       (void)sprintf(path, "%s%s%s%s", drive,
-               (*dir == '\0') ? "./" : dir,
-               fname,
-               (*ext == '\0') ? "." : ext);
-
-       if (fn == NULL) {
-               if ((fp = fopen(path, "wb")) == NULL) {
-                       file_error(ms, errno, "cannot open tmp file `%s'", path);
-                       return -1;
-               }
-               if (fwrite(buf, 1, nb, fp) != nb) {
-                       file_error(ms, errno, "cannot write tmp file `%s'",
-                           path);
-                       return -1;
-               }
-               (void)fclose(fp);
-       }
-       rc = DosQueryAppType(path, &type);
-
-       if (fn == NULL) {
-               unlink(path);
-               free(filename);
-       }
-#if 0
-       if (rc == ERROR_INVALID_EXE_SIGNATURE)
-               printf("%s: not an executable file\n", fname);
-       else if (rc == ERROR_FILE_NOT_FOUND)
-               printf("%s: not found\n", fname);
-       else if (rc == ERROR_ACCESS_DENIED)
-               printf("%s: access denied\n", fname);
-       else if (rc != 0)
-               printf("%s: error code = %lu\n", fname, rc);
-       else
-#else
-
-       /*
-        * for our purpose here it's sufficient to just ignore the error and
-        * return w/o success (=0)
-        */
-
-       if (rc)
-               return (0);
-
-#endif
-
-       if (type & FAPPTYP_32BIT)
-               if (file_printf(ms, "32-bit ") == -1)
-                       return -1;
-       if (type & FAPPTYP_PHYSDRV) {
-               if (file_printf(ms, "physical device driver") == -1)
-                       return -1;
-       } else if (type & FAPPTYP_VIRTDRV) {
-               if (file_printf(ms, "virtual device driver") == -1)
-                       return -1;
-       } else if (type & FAPPTYP_DLL) {
-               if (type & FAPPTYP_PROTDLL)
-                       if (file_printf(ms, "protected ") == -1)
-                               return -1;
-               if (file_printf(ms, "DLL") == -1)
-                       return -1;
-       } else if (type & (FAPPTYP_WINDOWSREAL | FAPPTYP_WINDOWSPROT)) {
-               if (file_printf(ms, "Windows executable") == -1)
-                       return -1;
-       } else if (type & FAPPTYP_DOS) {
-               /*
-                * The API routine is partially broken on filenames ending
-                * ".com".
-                */
-               if (stricmp(ext, ".com") == 0)
-                       if (strncmp((const char *)buf, "MZ", 2))
-                               return (0);
-               if (file_printf(ms, "DOS executable") == -1)
-                       return -1;
-               /* ---------------------------------------- */
-               /* Might learn more from the magic(4) entry */
-               if (file_printf(ms, ", magic(4)-> ") == -1)
-                       return -1;
-               return (0);
-               /* ---------------------------------------- */
-       } else if (type & FAPPTYP_BOUND) {
-               if (file_printf(ms, "bound executable") == -1)
-                       return -1;
-       } else if ((type & 7) == FAPPTYP_WINDOWAPI) {
-               if (file_printf(ms, "PM executable") == -1)
-                       return -1;
-       } else if (file_printf(ms, "OS/2 executable") == -1)
-               return -1;
-
-       switch (type & (FAPPTYP_NOTWINDOWCOMPAT |
-                       FAPPTYP_WINDOWCOMPAT |
-                       FAPPTYP_WINDOWAPI)) {
-       case FAPPTYP_NOTWINDOWCOMPAT:
-               if (file_printf(ms, " [NOTWINDOWCOMPAT]") == -1)
-                       return -1;
-               break;
-       case FAPPTYP_WINDOWCOMPAT:
-               if (file_printf(ms, " [WINDOWCOMPAT]") == -1)
-                       return -1;
-               break;
-       case FAPPTYP_WINDOWAPI:
-               if (file_printf(ms, " [WINDOWAPI]") == -1)
-                       return -1;
-               break;
-       }
-       return 1;
-}
-#endif
diff --git a/file/src/ascmagic.c b/file/src/ascmagic.c
deleted file mode 100644 (file)
index 856021f..0000000
+++ /dev/null
@@ -1,715 +0,0 @@
-/*
- * Copyright (c) Ian F. Darwin 1986-1995.
- * Software written by Ian F. Darwin and others;
- * maintained 1995-present by Christos Zoulas and others.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * ASCII magic -- file types that we know based on keywords
- * that can appear anywhere in the file.
- *
- * Extensively modified by Eric Fischer <enf@pobox.com> in July, 2000,
- * to handle character codes other than ASCII on a unified basis.
- *
- * Joerg Wunsch <joerg@freebsd.org> wrote the original support for 8-bit
- * international characters, now subsumed into this file.
- */
-
-#include "file.h"
-#include "magic.h"
-#include <stdio.h>
-#include <string.h>
-#include <memory.h>
-#include <ctype.h>
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include "names.h"
-
-#ifndef        lint
-FILE_RCSID("@(#)$Id: ascmagic.c,v 1.43 2005/06/25 15:52:14 christos Exp $")
-#endif /* lint */
-
-typedef unsigned long unichar;
-
-#define MAXLINELEN 300 /* longest sane line length */
-#define ISSPC(x) ((x) == ' ' || (x) == '\t' || (x) == '\r' || (x) == '\n' \
-                 || (x) == 0x85 || (x) == '\f')
-
-private int looks_ascii(const unsigned char *buf, size_t nbytes, unichar *ubuf, size_t *ulen)
-       /*@modifies *ubuf, *ulen @*/;
-private int looks_utf8(const unsigned char *buf, size_t nbytes, unichar *ubuf, size_t *ulen)
-       /*@modifies *ubuf, *ulen @*/;
-private int looks_unicode(const unsigned char *buf, size_t nbytes, unichar *ubuf, size_t *ulen)
-       /*@modifies *ubuf, *ulen @*/;
-private int looks_latin1(const unsigned char *buf, size_t nbytes, unichar *ubuf, size_t *ulen)
-       /*@modifies *ubuf, *ulen @*/;
-private int looks_extended(const unsigned char *buf, size_t nbytes, unichar *ubuf, size_t *ulen)
-       /*@modifies *ubuf, *ulen @*/;
-private void from_ebcdic(const unsigned char *buf, size_t nbytes, unsigned char *out)
-       /*@modifies *out @*/;
-private int ascmatch(const unsigned char *s, const unichar *us, size_t ulen)
-       /*@*/;
-
-
-protected int
-file_ascmagic(struct magic_set *ms, const unsigned char *buf, size_t nbytes)
-{
-       size_t i;
-       unsigned char *nbuf = NULL;
-       unichar *ubuf = NULL;   
-       size_t ulen;
-       struct names *p;
-       int rv = -1;
-
-       const char *code = NULL;
-       const char *code_mime = NULL;
-       const char *type = NULL;
-       const char *subtype = NULL;
-       const char *subtype_mime = NULL;
-
-       int has_escapes = 0;
-       int has_backspace = 0;
-       int seen_cr = 0;
-
-       int n_crlf = 0;
-       int n_lf = 0;
-       int n_cr = 0;
-       int n_nel = 0;
-
-       int last_line_end = -1;
-       int has_long_lines = 0;
-
-       /*
-        * Undo the NUL-termination kindly provided by process()
-        * but leave at least one byte to look at
-        */
-       while (nbytes > 1 && buf[nbytes - 1] == '\0')
-               nbytes--;
-
-       if ((nbuf = malloc((nbytes + 1) * sizeof(nbuf[0]))) == NULL)
-               goto done;
-       if ((ubuf = malloc((nbytes + 1) * sizeof(ubuf[0]))) == NULL)
-               goto done;
-
-       /*
-        * Then try to determine whether it's any character code we can
-        * identify.  Each of these tests, if it succeeds, will leave
-        * the text converted into one-unichar-per-character Unicode in
-        * ubuf, and the number of characters converted in ulen.
-        */
-       if (looks_ascii(buf, nbytes, ubuf, &ulen)) {
-               code = "ASCII";
-               code_mime = "us-ascii";
-               type = "text";
-       } else if (looks_utf8(buf, nbytes, ubuf, &ulen)) {
-               code = "UTF-8 Unicode";
-               code_mime = "utf-8";
-               type = "text";
-       } else if ((i = looks_unicode(buf, nbytes, ubuf, &ulen)) != 0) {
-               if (i == 1)
-                       code = "Little-endian UTF-16 Unicode";
-               else
-                       code = "Big-endian UTF-16 Unicode";
-
-               type = "character data";
-               code_mime = "utf-16";    /* is this defined? */
-       } else if (looks_latin1(buf, nbytes, ubuf, &ulen)) {
-               code = "ISO-8859";
-               type = "text";
-               code_mime = "iso-8859-1"; 
-       } else if (looks_extended(buf, nbytes, ubuf, &ulen)) {
-               code = "Non-ISO extended-ASCII";
-               type = "text";
-               code_mime = "unknown";
-       } else {
-               from_ebcdic(buf, nbytes, nbuf);
-
-               if (looks_ascii(nbuf, nbytes, ubuf, &ulen)) {
-                       code = "EBCDIC";
-                       type = "character data";
-                       code_mime = "ebcdic";
-               } else if (looks_latin1(nbuf, nbytes, ubuf, &ulen)) {
-                       code = "International EBCDIC";
-                       type = "character data";
-                       code_mime = "ebcdic";
-               } else {
-                       rv = 0;
-                       goto done;  /* doesn't look like text at all */
-               }
-       }
-
-       /*
-        * for troff, look for . + letter + letter or .\";
-        * this must be done to disambiguate tar archives' ./file
-        * and other trash from real troff input.
-        *
-        * I believe Plan 9 troff allows non-ASCII characters in the names
-        * of macros, so this test might possibly fail on such a file.
-        */
-       if (*ubuf == '.') {
-               unichar *tp = ubuf + 1;
-
-               while (ISSPC(*tp))
-                       ++tp;   /* skip leading whitespace */
-               if ((tp[0] == '\\' && tp[1] == '\"') ||
-                   (isascii((unsigned char)tp[0]) &&
-                    isalnum((unsigned char)tp[0]) &&
-                    isascii((unsigned char)tp[1]) &&
-                    isalnum((unsigned char)tp[1]) &&
-                    ISSPC(tp[2]))) {
-                       subtype_mime = "text/troff";
-                       subtype = "troff or preprocessor input";
-                       goto subtype_identified;
-               }
-       }
-
-       if ((*buf == 'c' || *buf == 'C') && ISSPC(buf[1])) {
-               subtype_mime = "text/fortran";
-               subtype = "fortran program";
-               goto subtype_identified;
-       }
-
-       /* look for tokens from names.h - this is expensive! */
-
-       i = 0;
-       while (i < ulen) {
-               size_t end;
-
-               /*
-                * skip past any leading space
-                */
-               while (i < ulen && ISSPC(ubuf[i]))
-                       i++;
-               if (i >= ulen)
-                       break;
-
-               /*
-                * find the next whitespace
-                */
-               for (end = i + 1; end < nbytes; end++)
-                       if (ISSPC(ubuf[end]))
-                               /*@innerbreak@*/ break;
-
-               /*
-                * compare the word thus isolated against the token list
-                */
-               for (p = names; p < names + NNAMES; p++) {
-                       if (ascmatch((const unsigned char *)p->name, ubuf + i,
-                           end - i)) {
-                               subtype = types[p->type].human;
-                               subtype_mime = types[p->type].mime;
-                               goto subtype_identified;
-                       }
-               }
-
-               i = end;
-       }
-
-subtype_identified:
-
-       /*
-        * Now try to discover other details about the file.
-        */
-       for (i = 0; i < ulen; i++) {
-               if (ubuf[i] == '\n') {
-                       if (seen_cr)
-                               n_crlf++;
-                       else
-                               n_lf++;
-                       last_line_end = i;
-               } else if (seen_cr)
-                       n_cr++;
-
-               seen_cr = (ubuf[i] == '\r');
-               if (seen_cr)
-                       last_line_end = i;
-
-               if (ubuf[i] == 0x85) { /* X3.64/ECMA-43 "next line" character */
-                       n_nel++;
-                       last_line_end = i;
-               }
-
-               /* If this line is _longer_ than MAXLINELEN, remember it. */
-               if (i > last_line_end + MAXLINELEN)
-                       has_long_lines = 1;
-
-               if (ubuf[i] == '\033')
-                       has_escapes = 1;
-               if (ubuf[i] == '\b')
-                       has_backspace = 1;
-       }
-
-       /* Beware, if the data has been truncated, the final CR could have
-          been followed by a LF.  If we have HOWMANY bytes, it indicates
-          that the data might have been truncated, probably even before
-          this function was called. */
-       if (seen_cr && nbytes < HOWMANY)
-               n_cr++;
-
-       if ((ms->flags & MAGIC_MIME)) {
-               if (subtype_mime) {
-                       if (file_printf(ms, subtype_mime) == -1)
-                               goto done;
-               } else {
-                       if (file_printf(ms, "text/plain") == -1)
-                               goto done;
-               }
-
-               if (code_mime) {
-                       if (file_printf(ms, "; charset=") == -1)
-                               goto done;
-                       if (file_printf(ms, code_mime) == -1)
-                               goto done;
-               }
-       } else {
-               if (file_printf(ms, code) == -1)
-                       goto done;
-
-               if (subtype) {
-                       if (file_printf(ms, " ") == -1)
-                               goto done;
-                       if (file_printf(ms, subtype) == -1)
-                               goto done;
-               }
-
-               if (file_printf(ms, " ") == -1)
-                       goto done;
-               if (file_printf(ms, type) == -1)
-                       goto done;
-
-               if (has_long_lines)
-                       if (file_printf(ms, ", with very long lines") == -1)
-                               goto done;
-
-               /*
-                * Only report line terminators if we find one other than LF,
-                * or if we find none at all.
-                */
-               if ((n_crlf == 0 && n_cr == 0 && n_nel == 0 && n_lf == 0) ||
-                   (n_crlf != 0 || n_cr != 0 || n_nel != 0)) {
-                       if (file_printf(ms, ", with") == -1)
-                               goto done;
-
-                       if (n_crlf == 0 && n_cr == 0 && n_nel == 0 && n_lf == 0)                        {
-                               if (file_printf(ms, " no") == -1)
-                                       goto done;
-                       } else {
-                               if (n_crlf) {
-                                       if (file_printf(ms, " CRLF") == -1)
-                                               goto done;
-                                       if (n_cr || n_lf || n_nel)
-                                               if (file_printf(ms, ",") == -1)
-                                                       goto done;
-                               }
-                               if (n_cr) {
-                                       if (file_printf(ms, " CR") == -1)
-                                               goto done;
-                                       if (n_lf || n_nel)
-                                               if (file_printf(ms, ",") == -1)
-                                                       goto done;
-                               }
-                               if (n_lf) {
-                                       if (file_printf(ms, " LF") == -1)
-                                               goto done;
-                                       if (n_nel)
-                                               if (file_printf(ms, ",") == -1)
-                                                       goto done;
-                               }
-                               if (n_nel)
-                                       if (file_printf(ms, " NEL") == -1)
-                                               goto done;
-                       }
-
-                       if (file_printf(ms, " line terminators") == -1)
-                               goto done;
-               }
-
-               if (has_escapes)
-                       if (file_printf(ms, ", with escape sequences") == -1)
-                               goto done;
-               if (has_backspace)
-                       if (file_printf(ms, ", with overstriking") == -1)
-                               goto done;
-       }
-       rv = 1;
-done:
-       if (nbuf)
-               free(nbuf);
-       if (ubuf)
-               free(ubuf);
-
-       return rv;
-}
-
-private int
-ascmatch(const unsigned char *s, const unichar *us, size_t ulen)
-{
-       size_t i;
-
-       for (i = 0; i < ulen; i++) {
-               if (s[i] != us[i])
-                       return 0;
-       }
-
-       if (s[i])
-               return 0;
-       else
-               return 1;
-}
-
-/*
- * This table reflects a particular philosophy about what constitutes
- * "text," and there is room for disagreement about it.
- *
- * Version 3.31 of the file command considered a file to be ASCII if
- * each of its characters was approved by either the isascii() or
- * isalpha() function.  On most systems, this would mean that any
- * file consisting only of characters in the range 0x00 ... 0x7F
- * would be called ASCII text, but many systems might reasonably
- * consider some characters outside this range to be alphabetic,
- * so the file command would call such characters ASCII.  It might
- * have been more accurate to call this "considered textual on the
- * local system" than "ASCII."
- *
- * It considered a file to be "International language text" if each
- * of its characters was either an ASCII printing character (according
- * to the real ASCII standard, not the above test), a character in
- * the range 0x80 ... 0xFF, or one of the following control characters:
- * backspace, tab, line feed, vertical tab, form feed, carriage return,
- * escape.  No attempt was made to determine the language in which files
- * of this type were written.
- *
- *
- * The table below considers a file to be ASCII if all of its characters
- * are either ASCII printing characters (again, according to the X3.4
- * standard, not isascii()) or any of the following controls: bell,
- * backspace, tab, line feed, form feed, carriage return, esc, nextline.
- *
- * I include bell because some programs (particularly shell scripts)
- * use it literally, even though it is rare in normal text.  I exclude
- * vertical tab because it never seems to be used in real text.  I also
- * include, with hesitation, the X3.64/ECMA-43 control nextline (0x85),
- * because that's what the dd EBCDIC->ASCII table maps the EBCDIC newline
- * character to.  It might be more appropriate to include it in the 8859
- * set instead of the ASCII set, but it's got to be included in *something*
- * we recognize or EBCDIC files aren't going to be considered textual.
- * Some old Unix source files use SO/SI (^N/^O) to shift between Greek
- * and Latin characters, so these should possibly be allowed.  But they
- * make a real mess on VT100-style displays if they're not paired properly,
- * so we are probably better off not calling them text.
- *
- * A file is considered to be ISO-8859 text if its characters are all
- * either ASCII, according to the above definition, or printing characters
- * from the ISO-8859 8-bit extension, characters 0xA0 ... 0xFF.
- *
- * Finally, a file is considered to be international text from some other
- * character code if its characters are all either ISO-8859 (according to
- * the above definition) or characters in the range 0x80 ... 0x9F, which
- * ISO-8859 considers to be control characters but the IBM PC and Macintosh
- * consider to be printing characters.
- */
-
-#define F 0   /* character never appears in text */
-#define T 1   /* character appears in plain ASCII text */
-#define I 2   /* character appears in ISO-8859 text */
-#define X 3   /* character appears in non-ISO extended ASCII (Mac, IBM PC) */
-
-/*@unchecked@*/ /*@observer@*/
-private char text_chars[256] = {
-       /*                  BEL BS HT LF    FF CR    */
-       F, F, F, F, F, F, F, T, T, T, T, F, T, T, F, F,  /* 0x0X */
-        /*                              ESC          */
-       F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F,  /* 0x1X */
-       T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T,  /* 0x2X */
-       T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T,  /* 0x3X */
-       T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T,  /* 0x4X */
-       T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T,  /* 0x5X */
-       T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T,  /* 0x6X */
-       T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F,  /* 0x7X */
-       /*            NEL                            */
-       X, X, X, X, X, T, X, X, X, X, X, X, X, X, X, X,  /* 0x8X */
-       X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X,  /* 0x9X */
-       I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I,  /* 0xaX */
-       I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I,  /* 0xbX */
-       I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I,  /* 0xcX */
-       I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I,  /* 0xdX */
-       I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I,  /* 0xeX */
-       I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I   /* 0xfX */
-};
-
-private int
-looks_ascii(const unsigned char *buf, size_t nbytes, unichar *ubuf,
-    size_t *ulen)
-{
-       int i;
-
-       *ulen = 0;
-
-       for (i = 0; i < nbytes; i++) {
-               int t = text_chars[buf[i]];
-
-               if (t != T)
-                       return 0;
-
-               ubuf[(*ulen)++] = buf[i];
-       }
-
-       return 1;
-}
-
-private int
-looks_latin1(const unsigned char *buf, size_t nbytes, unichar *ubuf, size_t *ulen)
-{
-       int i;
-
-       *ulen = 0;
-
-       for (i = 0; i < nbytes; i++) {
-               int t = text_chars[buf[i]];
-
-               if (t != T && t != I)
-                       return 0;
-
-               ubuf[(*ulen)++] = buf[i];
-       }
-
-       return 1;
-}
-
-private int
-looks_extended(const unsigned char *buf, size_t nbytes, unichar *ubuf,
-    size_t *ulen)
-{
-       int i;
-
-       *ulen = 0;
-
-       for (i = 0; i < nbytes; i++) {
-               int t = text_chars[buf[i]];
-
-               if (t != T && t != I && t != X)
-                       return 0;
-
-               ubuf[(*ulen)++] = buf[i];
-       }
-
-       return 1;
-}
-
-private int
-looks_utf8(const unsigned char *buf, size_t nbytes, unichar *ubuf, size_t *ulen)
-{
-       int i, n;
-       unichar c;
-       int gotone = 0;
-
-       *ulen = 0;
-
-       for (i = 0; i < nbytes; i++) {
-               if ((buf[i] & 0x80) == 0) {        /* 0xxxxxxx is plain ASCII */
-                       /*
-                        * Even if the whole file is valid UTF-8 sequences,
-                        * still reject it if it uses weird control characters.
-                        */
-
-                       if (text_chars[buf[i]] != T)
-                               return 0;
-
-                       ubuf[(*ulen)++] = buf[i];
-               } else if ((buf[i] & 0x40) == 0) { /* 10xxxxxx never 1st byte */
-                       return 0;
-               } else {                           /* 11xxxxxx begins UTF-8 */
-                       int following;
-
-                       if ((buf[i] & 0x20) == 0) {             /* 110xxxxx */
-                               c = buf[i] & 0x1f;
-                               following = 1;
-                       } else if ((buf[i] & 0x10) == 0) {      /* 1110xxxx */
-                               c = buf[i] & 0x0f;
-                               following = 2;
-                       } else if ((buf[i] & 0x08) == 0) {      /* 11110xxx */
-                               c = buf[i] & 0x07;
-                               following = 3;
-                       } else if ((buf[i] & 0x04) == 0) {      /* 111110xx */
-                               c = buf[i] & 0x03;
-                               following = 4;
-                       } else if ((buf[i] & 0x02) == 0) {      /* 1111110x */
-                               c = buf[i] & 0x01;
-                               following = 5;
-                       } else
-                               return 0;
-
-                       for (n = 0; n < following; n++) {
-                               i++;
-                               if (i >= nbytes)
-                                       goto done;
-
-                               if ((buf[i] & 0x80) == 0 || (buf[i] & 0x40))
-                                       return 0;
-
-                               c = (c << 6) + (buf[i] & 0x3f);
-                       }
-
-                       ubuf[(*ulen)++] = c;
-                       gotone = 1;
-               }
-       }
-done:
-       return gotone;   /* don't claim it's UTF-8 if it's all 7-bit */
-}
-
-private int
-looks_unicode(const unsigned char *buf, size_t nbytes, unichar *ubuf,
-    size_t *ulen)
-{
-       int bigend;
-       int i;
-
-       if (nbytes < 2)
-               return 0;
-
-       if (buf[0] == 0xff && buf[1] == 0xfe)
-               bigend = 0;
-       else if (buf[0] == 0xfe && buf[1] == 0xff)
-               bigend = 1;
-       else
-               return 0;
-
-       *ulen = 0;
-
-       for (i = 2; i + 1 < nbytes; i += 2) {
-               /* XXX fix to properly handle chars > 65536 */
-
-               if (bigend)
-                       ubuf[(*ulen)++] = buf[i + 1] + 256 * buf[i];
-               else
-                       ubuf[(*ulen)++] = buf[i] + 256 * buf[i + 1];
-
-               if (ubuf[*ulen - 1] == 0xfffe)
-                       return 0;
-               if (ubuf[*ulen - 1] < 128 &&
-                   text_chars[(size_t)ubuf[*ulen - 1]] != T)
-                       return 0;
-       }
-
-       return 1 + bigend;
-}
-
-#undef F
-#undef T
-#undef I
-#undef X
-
-/*
- * This table maps each EBCDIC character to an (8-bit extended) ASCII
- * character, as specified in the rationale for the dd(1) command in
- * draft 11.2 (September, 1991) of the POSIX P1003.2 standard.
- *
- * Unfortunately it does not seem to correspond exactly to any of the
- * five variants of EBCDIC documented in IBM's _Enterprise Systems
- * Architecture/390: Principles of Operation_, SA22-7201-06, Seventh
- * Edition, July, 1999, pp. I-1 - I-4.
- *
- * Fortunately, though, all versions of EBCDIC, including this one, agree
- * on most of the printing characters that also appear in (7-bit) ASCII.
- * Of these, only '|', '!', '~', '^', '[', and ']' are in question at all.
- *
- * Fortunately too, there is general agreement that codes 0x00 through
- * 0x3F represent control characters, 0x41 a nonbreaking space, and the
- * remainder printing characters.
- *
- * This is sufficient to allow us to identify EBCDIC text and to distinguish
- * between old-style and internationalized examples of text.
- */
-
-/*@unchecked@*/ /*@observer@*/
-private unsigned char ebcdic_to_ascii[] = {
-  0,   1,   2,   3, 156,   9, 134, 127, 151, 141, 142,  11,  12,  13,  14,  15,
- 16,  17,  18,  19, 157, 133,   8, 135,  24,  25, 146, 143,  28,  29,  30,  31,
-128, 129, 130, 131, 132,  10,  23,  27, 136, 137, 138, 139, 140,   5,   6,   7,
-144, 145,  22, 147, 148, 149, 150,   4, 152, 153, 154, 155,  20,  21, 158,  26,
-' ', 160, 161, 162, 163, 164, 165, 166, 167, 168, 213, '.', '<', '(', '+', '|',
-'&', 169, 170, 171, 172, 173, 174, 175, 176, 177, '!', '$', '*', ')', ';', '~',
-'-', '/', 178, 179, 180, 181, 182, 183, 184, 185, 203, ',', '%', '_', '>', '?',
-186, 187, 188, 189, 190, 191, 192, 193, 194, '`', ':', '#', '@', '\'','=', '"',
-195, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 196, 197, 198, 199, 200, 201,
-202, 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', '^', 204, 205, 206, 207, 208,
-209, 229, 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 210, 211, 212, '[', 214, 215,
-216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, ']', 230, 231,
-'{', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 232, 233, 234, 235, 236, 237,
-'}', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 238, 239, 240, 241, 242, 243,
-'\\',159, 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 244, 245, 246, 247, 248, 249,
-'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 250, 251, 252, 253, 254, 255
-};
-
-#ifdef notdef
-/*
- * The following EBCDIC-to-ASCII table may relate more closely to reality,
- * or at least to modern reality.  It comes from
- *
- *   http://ftp.s390.ibm.com/products/oe/bpxqp9.html
- *
- * and maps the characters of EBCDIC code page 1047 (the code used for
- * Unix-derived software on IBM's 390 systems) to the corresponding
- * characters from ISO 8859-1.
- *
- * If this table is used instead of the above one, some of the special
- * cases for the NEL character can be taken out of the code.
- */
-
-/*@unchecked@*/ /*@observer@*/
-private unsigned char ebcdic_1047_to_8859[] = {
-0x00,0x01,0x02,0x03,0x9C,0x09,0x86,0x7F,0x97,0x8D,0x8E,0x0B,0x0C,0x0D,0x0E,0x0F,
-0x10,0x11,0x12,0x13,0x9D,0x0A,0x08,0x87,0x18,0x19,0x92,0x8F,0x1C,0x1D,0x1E,0x1F,
-0x80,0x81,0x82,0x83,0x84,0x85,0x17,0x1B,0x88,0x89,0x8A,0x8B,0x8C,0x05,0x06,0x07,
-0x90,0x91,0x16,0x93,0x94,0x95,0x96,0x04,0x98,0x99,0x9A,0x9B,0x14,0x15,0x9E,0x1A,
-0x20,0xA0,0xE2,0xE4,0xE0,0xE1,0xE3,0xE5,0xE7,0xF1,0xA2,0x2E,0x3C,0x28,0x2B,0x7C,
-0x26,0xE9,0xEA,0xEB,0xE8,0xED,0xEE,0xEF,0xEC,0xDF,0x21,0x24,0x2A,0x29,0x3B,0x5E,
-0x2D,0x2F,0xC2,0xC4,0xC0,0xC1,0xC3,0xC5,0xC7,0xD1,0xA6,0x2C,0x25,0x5F,0x3E,0x3F,
-0xF8,0xC9,0xCA,0xCB,0xC8,0xCD,0xCE,0xCF,0xCC,0x60,0x3A,0x23,0x40,0x27,0x3D,0x22,
-0xD8,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0xAB,0xBB,0xF0,0xFD,0xFE,0xB1,
-0xB0,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,0x72,0xAA,0xBA,0xE6,0xB8,0xC6,0xA4,
-0xB5,0x7E,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0xA1,0xBF,0xD0,0x5B,0xDE,0xAE,
-0xAC,0xA3,0xA5,0xB7,0xA9,0xA7,0xB6,0xBC,0xBD,0xBE,0xDD,0xA8,0xAF,0x5D,0xB4,0xD7,
-0x7B,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0xAD,0xF4,0xF6,0xF2,0xF3,0xF5,
-0x7D,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,0x52,0xB9,0xFB,0xFC,0xF9,0xFA,0xFF,
-0x5C,0xF7,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0xB2,0xD4,0xD6,0xD2,0xD3,0xD5,
-0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0xB3,0xDB,0xDC,0xD9,0xDA,0x9F
-};
-#endif
-
-/*
- * Copy buf[0 ... nbytes-1] into out[], translating EBCDIC to ASCII.
- */
-private void
-from_ebcdic(const unsigned char *buf, size_t nbytes, unsigned char *out)
-{
-       int i;
-
-       for (i = 0; i < nbytes; i++) {
-               out[i] = ebcdic_to_ascii[buf[i]];
-       }
-}
diff --git a/file/src/compress.c b/file/src/compress.c
deleted file mode 100644 (file)
index af69f3c..0000000
+++ /dev/null
@@ -1,448 +0,0 @@
-/*
- * Copyright (c) Ian F. Darwin 1986-1995.
- * Software written by Ian F. Darwin and others;
- * maintained 1995-present by Christos Zoulas and others.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * compress routines:
- *     zmagic() - returns 0 if not recognized, uncompresses and prints
- *                information if recognized
- *     uncompress(method, old, n, newch) - uncompress old into new, 
- *                                         using method, return sizeof new
- */
-#include "file.h"
-#include "magic.h"
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <string.h>
-#include <errno.h>
-#include <sys/types.h>
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
-#ifdef HAVE_LIBZ
-#include <zlib.h>
-#endif
-
-#ifndef lint
-FILE_RCSID("@(#)$Id: compress.c,v 1.42 2005/03/06 05:58:22 christos Exp $")
-#endif
-
-
-/*@-nullassign@*/
-/*@unchecked@*/ /*@observer@*/
-private struct {
-/*@observer@*/
-       const char *magic;
-       size_t maglen;
-/*@observer@*/
-       const char *const argv[3];
-       int silent;
-} compr[] = {
-       { "\037\235", 2, { "gzip", "-cdq", NULL }, 1 },         /* compressed */
-       /* Uncompress can get stuck; so use gzip first if we have it
-        * Idea from Damien Clark, thanks! */
-       { "\037\235", 2, { "uncompress", "-c", NULL }, 1 },     /* compressed */
-       { "\037\213", 2, { "gzip", "-cdq", NULL }, 1 },         /* gzipped */
-       { "\037\236", 2, { "gzip", "-cdq", NULL }, 1 },         /* frozen */
-       { "\037\240", 2, { "gzip", "-cdq", NULL }, 1 },         /* SCO LZH */
-       /* the standard pack utilities do not accept standard input */
-       { "\037\036", 2, { "gzip", "-cdq", NULL }, 0 },         /* packed */
-       { "PK\3\4",   4, { "gzip", "-cdq", NULL }, 1 },         /* pkzipped, */
-                                           /* ...only first file examined */
-       { "BZh",      3, { "bzip2", "-cd", NULL }, 1 },         /* bzip2-ed */
-};
-/*@=nullassign@*/
-
-/*@unchecked@*/
-private int ncompr = sizeof(compr) / sizeof(compr[0]);
-
-
-private ssize_t swrite(int fd, const void *buf, size_t n)
-       /*@*/;
-private ssize_t sread(int fd, void *buf, size_t n)
-       /*@modifies buf @*/;
-private size_t uncompressbuf(struct magic_set *ms, int fd, size_t method,
-    const unsigned char *old, unsigned char **newch, size_t n)
-       /*@globals fileSystem, internalState @*/
-       /*@modifies ms, *newch, fileSystem, internalState @*/;
-#ifdef HAVE_LIBZ
-private size_t uncompressgzipped(struct magic_set *ms, const unsigned char *old,
-    unsigned char **newch, size_t n)
-       /*@modifies ms, *newch @*/;
-#endif
-
-protected int
-file_zmagic(struct magic_set *ms, int fd, const unsigned char *buf,
-    size_t nbytes)
-{
-       unsigned char *newbuf = NULL;
-       size_t i, nsz;
-       int rv = 0;
-
-       if ((ms->flags & MAGIC_COMPRESS) == 0)
-               return 0;
-
-       for (i = 0; i < ncompr; i++) {
-               if (nbytes < compr[i].maglen)
-                       continue;
-               if (memcmp(buf, compr[i].magic, compr[i].maglen) == 0 &&
-                   (nsz = uncompressbuf(ms, fd, i, buf, &newbuf,
-                   nbytes)) != 0) {
-                       ms->flags &= ~MAGIC_COMPRESS;
-                       rv = -1;
-                       if (file_buffer(ms, -1, newbuf, nsz) == -1)
-                               goto error;
-                       if (file_printf(ms, " (") == -1)
-                               goto error;
-                       if (file_buffer(ms, -1, buf, nbytes) == -1)
-                               goto error;
-                       if (file_printf(ms, ")") == -1)
-                               goto error;
-                       rv = 1;
-                       break;
-               }
-       }
-error:
-       if (newbuf)
-               free(newbuf);
-       ms->flags |= MAGIC_COMPRESS;
-       return rv;
-}
-
-/*
- * `safe' write for sockets and pipes.
- */
-private ssize_t
-swrite(int fd, const void *buf, size_t n)
-{
-       int rv;
-       size_t rn = n;
-
-       do
-               switch (rv = write(fd, buf, n)) {
-               case -1:
-                       if (errno == EINTR)
-                               continue;
-                       return -1;
-               default:
-                       n -= rv;
-                       buf = ((const char *)buf) + rv;
-                       /*@switchbreak@*/ break;
-               }
-       while (n > 0);
-       return rn;
-}
-
-
-/*
- * `safe' read for sockets and pipes.
- */
-private ssize_t
-sread(int fd, void *buf, size_t n)
-{
-       int rv;
-       size_t rn = n;
-
-       do
-               switch (rv = read(fd, buf, n)) {
-               case -1:
-                       if (errno == EINTR)
-                               continue;
-                       return -1;
-               case 0:
-                       return rn - n;
-               default:
-                       n -= rv;
-                       buf = ((char *)buf) + rv;
-                       /*@switchbreak@*/ break;
-               }
-       while (n > 0);
-       return rn;
-}
-
-protected int
-file_pipe2file(struct magic_set *ms, int fd, const void *startbuf,
-    size_t nbytes)
-{
-       char buf[4096];
-       int r, tfd;
-
-       (void)strcpy(buf, "/tmp/file.XXXXXX");
-#ifndef HAVE_MKSTEMP
-       {
-               char *ptr = mktemp(buf);
-               tfd = open(ptr, O_RDWR|O_TRUNC|O_EXCL|O_CREAT, 0600);
-               r = errno;
-               (void)unlink(ptr);
-               errno = r;
-       }
-#else
-       tfd = mkstemp(buf);
-       r = errno;
-       (void)unlink(buf);
-       errno = r;
-#endif
-       if (tfd == -1) {
-               file_error(ms, errno,
-                   "cannot create temporary file for pipe copy");
-               return -1;
-       }
-
-       if (swrite(tfd, startbuf, nbytes) != (ssize_t)nbytes)
-               r = 1;
-       else {
-               while ((r = sread(fd, buf, sizeof(buf))) > 0)
-                       if (swrite(tfd, buf, (size_t)r) != r)
-                               break;
-       }
-
-       switch (r) {
-       case -1:
-               file_error(ms, errno, "error copying from pipe to temp file");
-               return -1;
-       case 0:
-               break;
-       default:
-               file_error(ms, errno, "error while writing to temp file");
-               return -1;
-       }
-
-       /*
-        * We duplicate the file descriptor, because fclose on a
-        * tmpfile will delete the file, but any open descriptors
-        * can still access the phantom inode.
-        */
-       if ((fd = dup2(tfd, fd)) == -1) {
-               file_error(ms, errno, "could not dup descriptor for temp file");
-               return -1;
-       }
-       (void)close(tfd);
-       if (lseek(fd, (off_t)0, SEEK_SET) == (off_t)-1) {
-               file_badseek(ms);
-               return -1;
-       }
-       return fd;
-}
-
-#ifdef HAVE_LIBZ
-
-#define FHCRC          (1 << 1)
-#define FEXTRA         (1 << 2)
-#define FNAME          (1 << 3)
-#define FCOMMENT       (1 << 4)
-
-private size_t
-uncompressgzipped(struct magic_set *ms, const unsigned char *old,
-    unsigned char **newch, size_t n)
-{
-       unsigned char flg = old[3];
-       size_t data_start = 10;
-       z_stream z;
-       int rc;
-
-       if (flg & FEXTRA) {
-               if (data_start+1 >= n)
-                       return 0;
-               data_start += 2 + old[data_start] + old[data_start + 1] * 256;
-       }
-       if (flg & FNAME) {
-               while(data_start < n && old[data_start])
-                       data_start++;
-               data_start++;
-       }
-       if(flg & FCOMMENT) {
-               while(data_start < n && old[data_start])
-                       data_start++;
-               data_start++;
-       }
-       if(flg & FHCRC)
-               data_start += 2;
-
-       if (data_start >= n)
-               return 0;
-       if ((*newch = (unsigned char *)malloc(HOWMANY + 1)) == NULL) {
-               return 0;
-       }
-       
-       /* XXX: const castaway, via strchr */
-       z.next_in = (Bytef *)strchr((const char *)old + data_start,
-           old[data_start]);
-       z.avail_in = n - data_start;
-       z.next_out = *newch;
-       z.avail_out = HOWMANY;
-       z.zalloc = Z_NULL;
-       z.zfree = Z_NULL;
-       z.opaque = Z_NULL;
-
-       rc = inflateInit2(&z, -15);
-       if (rc != Z_OK) {
-               file_error(ms, 0, "zlib: %s", z.msg);
-               return 0;
-       }
-
-       rc = inflate(&z, Z_SYNC_FLUSH);
-       if (rc != Z_OK && rc != Z_STREAM_END) {
-               file_error(ms, 0, "zlib: %s", z.msg);
-               return 0;
-       }
-
-       n = (size_t)z.total_out;
-       inflateEnd(&z);
-       
-       /* let's keep the nul-terminate tradition */
-       (*newch)[n++] = '\0';
-
-       return n;
-}
-#endif
-
-private size_t
-uncompressbuf(struct magic_set *ms, int fd, size_t method,
-    const unsigned char *old, unsigned char **newch, size_t n)
-{
-       int fdin[2], fdout[2];
-       int r;
-       pid_t pid1, pid2;
-
-#ifdef HAVE_LIBZ
-       if (method == 2)
-               return uncompressgzipped(ms, old, newch, n);
-#endif
-       (void)fflush(stdout);
-       (void)fflush(stderr);
-
-       if ((fd != -1 && pipe(fdin) == -1) || pipe(fdout) == -1) {
-               file_error(ms, errno, "cannot create pipe");    
-               return 0;
-       }
-       pid2 = (pid_t)-1;
-       switch ((pid1=fork())) {
-       case 0: /* child */
-               (void) close(0);
-               if (fd != -1) {
-                   (void) dup(fd);
-                   (void) lseek(0, (off_t)0, SEEK_SET);
-               } else {
-                   (void) dup(fdin[0]);
-                   (void) close(fdin[0]);
-                   (void) close(fdin[1]);
-               }
-
-               (void) close(1);
-               (void) dup(fdout[1]);
-               (void) close(fdout[0]);
-               (void) close(fdout[1]);
-#ifndef DEBUG
-               if (compr[method].silent)
-                       (void)close(2);
-#endif
-
-               execvp(compr[method].argv[0],
-                      (char *const *)(intptr_t)compr[method].argv);
-#ifdef DEBUG
-               (void)fprintf(stderr, "exec `%s' failed (%s)\n",
-                   compr[method].argv[0], strerror(errno));
-#endif
-               exit(EXIT_FAILURE);
-               /*@notreached@*/ break;
-       case -1:
-               file_error(ms, errno, "could not fork");
-               return 0;
-
-       default: /* parent */
-               (void) close(fdout[1]);
-               if (fd == -1) {
-                       (void) close(fdin[0]);
-                       /* 
-                        * fork again, to avoid blocking because both
-                        * pipes filled
-                        */
-                       switch ((pid2 = fork())) {
-                       case 0: /* child */
-                               (void)close(fdout[0]);
-                               if (swrite(fdin[1], old, n) != n) {
-#ifdef DEBUG
-                                       (void)fprintf(stderr,
-                                           "Write failed (%s)\n",
-                                           strerror(errno));
-#endif
-                                       exit(EXIT_FAILURE);
-                                       /*@notreached@*/ /*@innerbreak@*/ break;
-                               }
-                               exit(EXIT_SUCCESS);
-                               /*@notreached@*/ /*@innerbreak@*/ break;
-
-                       case -1:
-#ifdef DEBUG
-                               (void)fprintf(stderr, "Fork failed (%s)\n",
-                                   strerror(errno));
-#endif
-                               exit(EXIT_FAILURE);
-                               /*@notreached@*/ /*@innerbreak@*/ break;
-
-                       default:  /* parent */
-                               /*@innerbreak@*/ break;
-                       }
-                       (void) close(fdin[1]);
-                       fdin[1] = -1;
-               }
-
-               if ((*newch = (unsigned char *) malloc(HOWMANY + 1)) == NULL) {
-#ifdef DEBUG
-                       (void)fprintf(stderr, "Malloc failed (%s)\n",
-                           strerror(errno));
-#endif
-                       n = 0;
-                       goto err;
-               }
-               if ((r = sread(fdout[0], *newch, HOWMANY)) <= 0) {
-#ifdef DEBUG
-                       (void)fprintf(stderr, "Read failed (%s)\n",
-                           strerror(errno));
-#endif
-                       free(*newch);
-                       n = 0;
-                       newch[0] = '\0';
-                       goto err;
-               } else {
-                       n = r;
-               }
-               /* NUL terminate, as every buffer is handled here. */
-               (*newch)[n++] = '\0';
-err:
-               if (fdin[1] != -1)
-                       (void) close(fdin[1]);
-               (void) close(fdout[0]);
-               waitpid(pid1, NULL, 0);
-               if (pid2 != (pid_t)-1)
-                       waitpid(pid2, NULL, 0);
-               return n;
-       }
-       /*@notreached@*/
-}
diff --git a/file/src/file.c b/file/src/file.c
deleted file mode 100644 (file)
index ee4df8b..0000000
+++ /dev/null
@@ -1,554 +0,0 @@
-/*
- * Copyright (c) Ian F. Darwin 1986-1995.
- * Software written by Ian F. Darwin and others;
- * maintained 1995-present by Christos Zoulas and others.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * file - find type of a file or files - main program.
- */
-
-#include "file.h"
-#include "magic.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/param.h> /* for MAXPATHLEN */
-#include <sys/stat.h>
-#include <fcntl.h>     /* for open() */
-#ifdef RESTORE_TIME
-# if (__COHERENT__ >= 0x420)
-#  include <sys/utime.h>
-# else
-#  ifdef USE_UTIMES
-#   include <sys/time.h>
-#  else
-#   include <utime.h>
-#  endif
-# endif
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>    /* for read() */
-#endif
-#ifdef HAVE_LOCALE_H
-#include <locale.h>
-#endif
-#ifdef HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-
-#ifdef HAVE_GETOPT_H
-#include <getopt.h>    /* for long options (is this portable?)*/
-#else
-#undef HAVE_GETOPT_LONG
-#endif
-
-#include <netinet/in.h>                /* for byte swapping */
-
-#include "patchlevel.h"
-
-#ifndef        lint
-FILE_RCSID("@(#)$Id: file.c,v 1.96 2005/03/06 05:58:22 christos Exp $")
-#endif /* lint */
-
-
-#ifdef S_IFLNK
-#define SYMLINKFLAG "L"
-#else
-#define SYMLINKFLAG ""
-#endif
-
-# define USAGE  "Usage: %s [-bcik" SYMLINKFLAG "nNsvz] [-f namefile] [-F separator] [-m magicfiles] file...\n       %s -C -m magicfiles\n"
-
-#ifndef MAXPATHLEN
-#define        MAXPATHLEN      512
-#endif
-
-/*@unchecked@*/
-private int            /* Global command-line options          */
-       bflag = 0,      /* brief output format                  */
-       nopad = 0,      /* Don't pad output                     */
-       nobuffer = 0;   /* Do not buffer stdout                 */
-
-/*@unchecked@*/ /*@observer@*/ /*@relnull@*/
-private const char *magicfile = 0;     /* where the magic is   */
-/*@unchecked@*/ /*@observer@*/
-private const char *default_magicfile = MAGIC;
-/*@unchecked@*/ /*@observer@*/
-private const char *separator = ":";   /* Default field separator      */
-
-/*@unchecked@*/ /*@null@*/
-private char *progname;                /* used throughout              */
-
-/*@unchecked@*/ /*@only@*/ /*@null@*/
-private struct magic_set *magic;
-
-private void unwrap(char *fn)
-       /*@globals fileSystem, internalState @*/
-       /*@modifies fileSystem, internalState @*/;
-private void usage(void)
-       /*@globals fileSystem @*/
-       /*@modifies fileSystem @*/;
-#ifdef HAVE_GETOPT_LONG
-private void help(void)
-       /*@globals fileSystem @*/
-       /*@modifies fileSystem @*/;
-#endif
-#if 0
-private int byteconv4(int, int, int)
-       /*@*/;
-private short byteconv2(int, int, int)
-       /*@*/;
-#endif
-
-private void process(const char *inname, int wid)
-       /*@globals magic, fileSystem, internalState @*/
-       /*@modifies magic, fileSystem, internalState @*/;
-private void load(const char *m, int flags)
-       /*@globals magic, fileSystem, internalState @*/
-       /*@modifies magic, fileSystem, internalState @*/;
-
-
-/*
- * main - parse arguments and handle options
- */
-int
-main(int argc, char *argv[])
-       /*@globals bflag, default_magicfile, magic, magicfile,
-               nobuffer, nopad, optind, progname, separator,
-               fileSystem, internalState @*/
-       /*@modifies argv, bflag, default_magicfile, magic, magicfile,
-               nobuffer, nopad, optind, progname, separator,
-               fileSystem, internalState @*/
-{
-       int c;
-       int action = 0, didsomefiles = 0, errflg = 0;
-       int flags = 0;
-       char *home, *usermagic;
-       struct stat sb;
-#define OPTSTRING      "bcCdf:F:ikLm:nNprsvz"
-#ifdef HAVE_GETOPT_LONG
-       int longindex;
-/*@observer@*/
-/*@-nullassign -readonlytrans@*/
-       private struct option long_options[] =
-       {
-               {"version", 0, 0, 'v'},
-               {"help", 0, 0, 0},
-               {"brief", 0, 0, 'b'},
-               {"checking-printout", 0, 0, 'c'},
-               {"debug", 0, 0, 'd'},
-               {"files-from", 1, 0, 'f'},
-               {"separator", 1, 0, 'F'},
-               {"mime", 0, 0, 'i'},
-               {"keep-going", 0, 0, 'k'},
-#ifdef S_IFLNK
-               {"dereference", 0, 0, 'L'},
-#endif
-               {"magic-file", 1, 0, 'm'},
-#if defined(HAVE_UTIME) || defined(HAVE_UTIMES)
-               {"preserve-date", 0, 0, 'p'},
-#endif
-               {"uncompress", 0, 0, 'z'},
-               {"raw", 0, 0, 'r'},
-               {"no-buffer", 0, 0, 'n'},
-               {"no-pad", 0, 0, 'N'},
-               {"special-files", 0, 0, 's'},
-               {"compile", 0, 0, 'C'},
-               {0, 0, 0, 0},
-       };
-/*@=nullassign =readonlytrans@*/
-#endif
-
-#ifdef LC_CTYPE
-       setlocale(LC_CTYPE, ""); /* makes islower etc work for other langs */
-#endif
-
-#ifdef __EMX__
-       /* sh-like wildcard expansion! Shouldn't hurt at least ... */
-       _wildcard(&argc, &argv);
-#endif
-
-       if ((progname = strrchr(argv[0], '/')) != NULL)
-               progname++;
-       else
-               progname = argv[0];
-
-       magicfile = default_magicfile;
-       if ((usermagic = getenv("MAGIC")) != NULL)
-               magicfile = usermagic;
-       else
-               if ((home = getenv("HOME")) != NULL) {
-                       if ((usermagic = malloc(strlen(home) + 8)) != NULL) {
-                               (void)strcpy(usermagic, home);
-                               (void)strcat(usermagic, "/.magic");
-                               if (stat(usermagic, &sb)<0) 
-                                       free(usermagic);
-                               else
-                                       magicfile = usermagic;
-                       }
-               }
-
-/*@-moduncon@*/
-#ifndef HAVE_GETOPT_LONG
-       while ((c = getopt(argc, argv, OPTSTRING)) != -1)
-#else
-       while ((c = getopt_long(argc, argv, OPTSTRING, long_options,
-           &longindex)) != -1)
-#endif
-/*@=moduncon@*/
-               switch (c) {
-#ifdef HAVE_GETOPT_LONG
-               case 0 :
-                       if (longindex == 1)
-                               help();
-                       /*@switchbreak@*/ break;
-#endif
-               case 'b':
-                       ++bflag;
-                       /*@switchbreak@*/ break;
-               case 'c':
-                       action = FILE_CHECK;
-                       /*@switchbreak@*/ break;
-               case 'C':
-                       action = FILE_COMPILE;
-                       /*@switchbreak@*/ break;
-               case 'd':
-                       flags |= MAGIC_DEBUG|MAGIC_CHECK;
-                       /*@switchbreak@*/ break;
-               case 'f':
-                       if(action)
-                               usage();
-                       load(magicfile, flags);
-                       unwrap(optarg);
-                       ++didsomefiles;
-                       /*@switchbreak@*/ break;
-               case 'F':
-                       separator = optarg;
-                       /*@switchbreak@*/ break;
-               case 'i':
-                       flags |= MAGIC_MIME;
-                       /*@switchbreak@*/ break;
-               case 'k':
-                       flags |= MAGIC_CONTINUE;
-                       /*@switchbreak@*/ break;
-               case 'm':
-                       magicfile = optarg;
-                       /*@switchbreak@*/ break;
-               case 'n':
-                       ++nobuffer;
-                       /*@switchbreak@*/ break;
-               case 'N':
-                       ++nopad;
-                       /*@switchbreak@*/ break;
-#if defined(HAVE_UTIME) || defined(HAVE_UTIMES)
-               case 'p':
-                       flags |= MAGIC_PRESERVE_ATIME;
-                       /*@switchbreak@*/ break;
-#endif
-               case 'r':
-                       flags |= MAGIC_RAW;
-                       /*@switchbreak@*/ break;
-               case 's':
-                       flags |= MAGIC_DEVICES;
-                       /*@switchbreak@*/ break;
-               case 'v':
-                       (void) fprintf(stdout, "%s-%d.%.2d\n", progname,
-                                      FILE_VERSION_MAJOR, patchlevel);
-                       (void) fprintf(stdout, "magic file from %s\n",
-                                      magicfile);
-                       return 1;
-               case 'z':
-                       flags |= MAGIC_COMPRESS;
-                       /*@switchbreak@*/ break;
-#ifdef S_IFLNK
-               case 'L':
-                       flags |= MAGIC_SYMLINK;
-                       /*@switchbreak@*/ break;
-#endif
-               case '?':
-               default:
-                       errflg++;
-                       /*@switchbreak@*/ break;
-               }
-
-       if (errflg) {
-               usage();
-       }
-
-       switch(action) {
-       case FILE_CHECK:
-       case FILE_COMPILE:
-               magic = magic_open(flags|MAGIC_CHECK);
-               if (magic == NULL) {
-                       (void)fprintf(stderr, "%s: %s\n", progname,
-                           strerror(errno));
-                       return 1;
-               }
-               c = action == FILE_CHECK ? magic_check(magic, magicfile) :
-                   magic_compile(magic, magicfile);
-               if (c == -1) {
-                       (void)fprintf(stderr, "%s: %s\n", progname,
-                           magic_error(magic));
-                       return -1;
-               }
-               return 0;
-       default:
-               load(magicfile, flags);
-               break;
-       }
-
-       if (optind == argc) {
-               if (!didsomefiles) {
-                       usage();
-               }
-       }
-       else {
-               int i, wid, nw;
-               for (wid = 0, i = optind; i < argc; i++) {
-                       nw = file_mbswidth(argv[i]);
-                       if (nw > wid)
-                               wid = nw;
-               }
-               for (; optind < argc; optind++)
-                       process(argv[optind], wid);
-       }
-
-       magic_close(magic);
-       magic = NULL;
-       return 0;
-}
-
-
-private void
-load(/*@unused@*/ const char *m, int flags)
-{
-       if (magic)
-               return;
-       magic = magic_open(flags);
-       if (magic == NULL) {
-               (void)fprintf(stderr, "%s: %s\n", progname, strerror(errno));
-               exit(EXIT_FAILURE);
-       }
-       if (magic_load(magic, magicfile) == -1) {
-               (void)fprintf(stderr, "%s: %s\n",
-                   progname, magic_error(magic));
-               exit(EXIT_FAILURE);
-       }
-}
-
-/*
- * unwrap -- read a file of filenames, do each one.
- */
-private void
-unwrap(char *fn)
-{
-       char buf[MAXPATHLEN];
-       FILE *f;
-       int wid = 0, cwid;
-
-       if (strcmp("-", fn) == 0) {
-               f = stdin;
-               wid = 1;
-       } else {
-               if ((f = fopen(fn, "r")) == NULL) {
-                       (void)fprintf(stderr, "%s: Cannot open `%s' (%s).\n",
-                           progname, fn, strerror(errno));
-                       exit(EXIT_FAILURE);
-               }
-
-               while (fgets(buf, MAXPATHLEN, f) != NULL) {
-                       cwid = file_mbswidth(buf) - 1;
-                       if (cwid > wid)
-                               wid = cwid;
-               }
-
-               rewind(f);
-       }
-
-       while (fgets(buf, MAXPATHLEN, f) != NULL) {
-               // cut off CR, we _need_ bytes here, not characters
-               buf[strlen(buf)-1] = '\0';
-               process(buf, wid);
-               if(nobuffer)
-                       (void) fflush(stdout);
-       }
-
-       (void) fclose(f);
-}
-
-private void
-process(const char *inname, int wid)
-{
-       const char *type;
-       int std_in = strcmp(inname, "-") == 0;
-
-       if (wid > 0 && !bflag)
-               (void) printf("%s%s%*s ", std_in ? "/dev/stdin" : inname,
-                   separator, (int) (nopad ? 0 : (wid - file_mbswidth(inname))), "");
-
-       type = magic_file(magic, std_in ? NULL : inname);
-       if (type == NULL)
-               printf("ERROR: %s\n", magic_error(magic));
-       else
-               printf("%s\n", type);
-}
-
-
-#if 0
-/*
- * byteconv4
- * Input:
- *     from            4 byte quantity to convert
- *     same            whether to perform byte swapping
- *     big_endian      whether we are a big endian host
- */
-private int
-byteconv4(int from, int same, int big_endian)
-{
-       if (same)
-               return from;
-       else if (big_endian) {          /* lsb -> msb conversion on msb */
-               union {
-                       int i;
-                       char c[4];
-               } retval, tmpval;
-
-               tmpval.i = from;
-               retval.c[0] = tmpval.c[3];
-               retval.c[1] = tmpval.c[2];
-               retval.c[2] = tmpval.c[1];
-               retval.c[3] = tmpval.c[0];
-
-               return retval.i;
-       }
-       else
-               return ntohl(from);     /* msb -> lsb conversion on lsb */
-}
-
-/*
- * byteconv2
- * Same as byteconv4, but for shorts
- */
-private short
-byteconv2(int from, int same, int big_endian)
-{
-       if (same)
-               return from;
-       else if (big_endian) {          /* lsb -> msb conversion on msb */
-               union {
-                       short s;
-                       char c[2];
-               } retval, tmpval;
-
-               tmpval.s = (short) from;
-               retval.c[0] = tmpval.c[1];
-               retval.c[1] = tmpval.c[0];
-
-               return retval.s;
-       }
-       else
-               return ntohs(from);     /* msb -> lsb conversion on lsb */
-}
-#endif
-
-size_t
-file_mbswidth(const char *s)
-{
-#if defined(HAVE_WCHAR_H) && defined(HAVE_MBRTOWC) && defined(HAVE_WCWIDTH)
-       size_t bytesconsumed, old_n, n, width = 0;
-       mbstate_t state;
-       wchar_t nextchar;
-       (void)memset(&state, 0, sizeof(mbstate_t));
-       old_n = n = strlen(s);
-
-       while (n > 0) {
-               bytesconsumed = mbrtowc(&nextchar, s, n, &state);
-               if (bytesconsumed == (size_t)(-1) ||
-                   bytesconsumed == (size_t)(-2)) {
-                       /* Something went wrong, return something reasonable */
-                       return old_n;
-               }
-               if (s[0] == '\n') {
-                       /*
-                        * do what strlen() would do, so that caller
-                        * is always right
-                        */
-                       width++;
-               } else
-                       width += wcwidth(nextchar);
-
-               s += bytesconsumed, n -= bytesconsumed;
-       }
-       return width;
-#else
-       return strlen(s);
-#endif
-}
-
-private void
-usage(void)
-{
-       (void)fprintf(stderr, USAGE, progname, progname);
-#ifdef HAVE_GETOPT_LONG
-       (void)fputs("Try `file --help' for more information.\n", stderr);
-#endif
-       exit(EXIT_FAILURE);
-}
-
-#ifdef HAVE_GETOPT_LONG
-private void
-help(void)
-{
-       puts(
-"Usage: file [OPTION]... [FILE]...\n"
-"Determine file type of FILEs.\n"
-"\n"
-"  -m, --magic-file LIST      use LIST as a colon-separated list of magic\n"
-"                               number files\n"
-"  -z, --uncompress           try to look inside compressed files\n"
-"  -b, --brief                do not prepend filenames to output lines\n"
-"  -c, --checking-printout    print the parsed form of the magic file, use in\n"
-"                               conjunction with -m to debug a new magic file\n"
-"                               before installing it\n"
-"  -f, --files-from FILE      read the filenames to be examined from FILE\n"
-"  -F, --separator string     use string as separator instead of `:'\n"
-"  -i, --mime                 output mime type strings\n"
-"  -k, --keep-going           don't stop at the first match\n"
-"  -L, --dereference          causes symlinks to be followed\n"
-"  -n, --no-buffer            do not buffer output\n"
-"  -N, --no-pad               do not pad output\n"
-"  -p, --preserve-date        preserve access times on files\n"
-"  -r, --raw                  don't translate unprintable chars to \\ooo\n"
-"  -s, --special-files        treat special (block/char devices) files as\n"
-"                             ordinary ones\n"
-"      --help                 display this help and exit\n"
-"      --version              output version information and exit\n"
-);
-       exit(EXIT_SUCCESS);
-}
-#endif
diff --git a/file/src/file.h b/file/src/file.h
deleted file mode 100644 (file)
index b1b3fc6..0000000
+++ /dev/null
@@ -1,349 +0,0 @@
-/*
- * Copyright (c) Ian F. Darwin 1986-1995.
- * Software written by Ian F. Darwin and others;
- * maintained 1995-present by Christos Zoulas and others.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * file.h - definitions for file(1) program
- * @(#)$Id: file.h,v 1.72 2005/10/17 15:36:22 christos Exp $
- */
-
-#ifndef __file_h__
-#define __file_h__
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdio.h>     /* Include that here, to make sure __P gets defined */
-#include <errno.h>
-#include <fcntl.h>     /* For open and flags */
-#ifdef HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-/* Do this here and now, because struct stat gets re-defined on solaris */
-#include <sys/stat.h>
-
-#ifndef MAGIC
-#define MAGIC "/etc/magic"
-#endif
-
-#ifdef __EMX__
-#define PATHSEP        ';'
-#else
-#define PATHSEP        ':'
-#endif
-
-#define private static
-#ifndef protected
-#define protected
-#endif
-#define public
-
-#ifndef HOWMANY
-# define HOWMANY (256 * 1024)  /* how much of the file to look at */
-#endif
-#define MAXMAGIS 8192          /* max entries in /etc/magic */
-#define MAXDESC        64              /* max leng of text description */
-#define MAXstring 32           /* max leng of "string" types */
-
-#define MAGICNO                0xF11E041C
-#define VERSIONNO      2
-#define FILE_MAGICSIZE (32 * 4)
-
-#define        FILE_LOAD       0
-#define FILE_CHECK     1
-#define FILE_COMPILE   2
-
-struct magic {
-       /* Word 1 */
-       uint16_t cont_level;    /* level of ">" */
-       uint8_t nospflag;       /* supress space character */
-       uint8_t flag;
-#define INDIR  1               /* if '>(...)' appears,  */
-#define        UNSIGNED 2              /* comparison is unsigned */
-#define OFFADD 4               /* if '>&' appears,  */
-#define INDIROFFADD    8       /* if '>&(' appears,  */
-       /* Word 2 */
-       uint8_t reln;           /* relation (0=eq, '>'=gt, etc) */
-       uint8_t vallen;         /* length of string value, if any */
-       uint8_t type;           /* int, short, long or string. */
-       uint8_t in_type;        /* type of indirrection */
-#define                        FILE_BYTE       1
-#define                                FILE_SHORT      2
-#define                                FILE_LONG       4
-#define                                FILE_STRING     5
-#define                                FILE_DATE       6
-#define                                FILE_BESHORT    7
-#define                                FILE_BELONG     8
-#define                                FILE_BEDATE     9
-#define                                FILE_LESHORT    10
-#define                                FILE_LELONG     11
-#define                                FILE_LEDATE     12
-#define                                FILE_PSTRING    13
-#define                                FILE_LDATE      14
-#define                                FILE_BELDATE    15
-#define                                FILE_LELDATE    16
-#define                                FILE_REGEX      17
-#define                                FILE_BESTRING16 18
-#define                                FILE_LESTRING16 19
-#define                                FILE_SEARCH     20
-
-#define                                FILE_FORMAT_NAME        \
-/* 0 */                        "invalid 0",            \
-/* 1 */                                "byte",                 \
-/* 2 */                        "short",                \
-/* 3 */                        "invalid 3",            \
-/* 4 */                        "long",                 \
-/* 5 */                        "string",               \
-/* 6 */                        "date",                 \
-/* 7 */                        "beshort",              \
-/* 8 */                        "belong",               \
-/* 9 */                        "bedate",               \
-/* 10 */                       "leshort",              \
-/* 11 */                       "lelong",               \
-/* 12 */                       "ledate",               \
-/* 13 */                       "pstring",              \
-/* 14 */                       "ldate",                \
-/* 15 */                       "beldate",              \
-/* 16 */                       "leldate",              \
-/* 17 */                       "regex",                \
-/* 18 */                       "bestring16",           \
-/* 19 */                       "lestring16",           \
-/* 20 */                       "search",
-
-#define        FILE_FMT_NUM    "cduxXi"
-#define FILE_FMT_STR   "s"     
-
-#define                                FILE_FORMAT_STRING      \
-/* 0 */                        NULL,                   \
-/* 1 */                                FILE_FMT_NUM,           \
-/* 2 */                        FILE_FMT_NUM,           \
-/* 3 */                        NULL,                   \
-/* 4 */                        FILE_FMT_NUM,           \
-/* 5 */                        FILE_FMT_STR,           \
-/* 6 */                        FILE_FMT_STR,           \
-/* 7 */                        FILE_FMT_NUM,           \
-/* 8 */                        FILE_FMT_NUM,           \
-/* 9 */                        FILE_FMT_STR,           \
-/* 10 */                       FILE_FMT_NUM,           \
-/* 11 */                       FILE_FMT_NUM,           \
-/* 12 */                       FILE_FMT_STR,           \
-/* 13 */                       FILE_FMT_STR,           \
-/* 14 */                       FILE_FMT_STR,           \
-/* 15 */                       FILE_FMT_STR,           \
-/* 16 */                       FILE_FMT_STR,           \
-/* 17 */                       FILE_FMT_STR,           \
-/* 18 */                       FILE_FMT_STR,           \
-/* 19 */                       FILE_FMT_STR,           \
-/* 20 */                       FILE_FMT_STR,
-
-       /* Word 3 */
-       uint8_t in_op;          /* operator for indirection */
-       uint8_t mask_op;        /* operator for mask */
-       uint8_t dummy1; 
-       uint8_t dummy2; 
-#define                                FILE_OPS        "&|^+-*/%"
-#define                                FILE_OPAND      0
-#define                                FILE_OPOR       1
-#define                                FILE_OPXOR      2
-#define                                FILE_OPADD      3
-#define                                FILE_OPMINUS    4
-#define                                FILE_OPMULTIPLY 5
-#define                                FILE_OPDIVIDE   6
-#define                                FILE_OPMODULO   7
-#define                                FILE_OPINVERSE  0x40
-#define                                FILE_OPINDIRECT 0x80
-       /* Word 4 */
-       uint32_t offset;        /* offset to magic number */
-       /* Word 5 */
-       int32_t in_offset;      /* offset from indirection */
-       /* Word 6 */
-       uint32_t mask;  /* mask before comparison with value */
-       /* Word 7 */
-       uint32_t dummy3;
-       /* Word 8 */
-       uint32_t dummp4;
-       /* Words 9-16 */
-       union VALUETYPE {
-               uint8_t b;
-               uint16_t h;
-               uint32_t l;
-               char s[MAXstring];
-               struct {
-/*@relnull@*/
-                       char *buf;
-                       size_t buflen;
-               } search;
-               uint8_t hs[2];  /* 2 bytes of a fixed-endian "short" */
-               uint8_t hl[4];  /* 4 bytes of a fixed-endian "long" */
-       } value;                /* either number or string */
-       /* Words 17..31 */
-       char desc[MAXDESC];     /* description */
-};
-
-#define BIT(A)   (1 << (A))
-#define STRING_IGNORE_LOWERCASE                BIT(0)
-#define STRING_COMPACT_BLANK           BIT(1)
-#define STRING_COMPACT_OPTIONAL_BLANK  BIT(2)
-#define CHAR_IGNORE_LOWERCASE          'c'
-#define CHAR_COMPACT_BLANK             'B'
-#define CHAR_COMPACT_OPTIONAL_BLANK    'b'
-
-
-/* list of magic entries */
-struct mlist {
-       struct magic *magic;            /* array of magic entries */
-       uint32_t nmagic;                        /* number of entries in array */
-       int mapped;  /* allocation type: 0 => apprentice_file
-                     *                  1 => apprentice_map + malloc
-                     *                  2 => apprentice_map + mmap */
-/*@dependent@*/
-       struct mlist *next, *prev;
-};
-
-struct magic_set {
-/*@relnull@*/
-    struct mlist *mlist;
-    struct cont {
-       size_t len;
-/*@relnull@*/
-       int32_t *off;
-    } c;
-    struct out {
-       /* Accumulation buffer */
-/*@owned@*/ /*@relnull@*/
-       char *buf;
-/*@dependent@*/ /*@relnull@*/
-       char *ptr;
-       size_t left;
-       size_t size;
-       /* Printable buffer */
-/*@only@*/
-       char *pbuf;
-       size_t psize;
-    } o;
-    int error;
-    int flags;
-    int haderr;
-    const char *file;
-    size_t line;
-};
-
-struct stat;
-/*@observer@*/
-protected const char *file_fmttime(uint32_t, int)
-       /*@*/;
-protected int file_buffer(struct magic_set *ms, int, const void *, size_t)
-       /*@globals fileSystem, internalState @*/
-       /*@modifies ms, fileSystem, internalState @*/;
-protected int file_fsmagic(struct magic_set *ms, /*@null@*/ const char *fn, struct stat *sb)
-       /*@modifies ms, sb @*/;
-protected int file_pipe2file(struct magic_set *ms, int fd, const void *startbuf, size_t nbytes)
-       /*@globals errno, fileSystem, internalState @*/
-       /*@modifies ms, errno, fileSystem, internalState @*/;
-protected int file_printf(struct magic_set *ms, const char *, ...)
-       /*@modifies ms @*/;
-protected int file_reset(struct magic_set *ms)
-       /*@modifies ms @*/;
-protected int file_tryelf(struct magic_set *ms, int, const unsigned char *, size_t)
-       /*@globals fileSystem, internalState @*/
-       /*@modifies ms, fileSystem, internalState @*/;
-protected int file_zmagic(struct magic_set *ms, int, const unsigned char *, size_t)
-       /*@globals fileSystem, internalState @*/
-       /*@modifies ms, fileSystem, internalState @*/;
-protected int file_ascmagic(struct magic_set *ms, const unsigned char *, size_t)
-       /*@modifies ms @*/;
-protected int file_is_tar(struct magic_set *ms, const unsigned char *, size_t)
-       /*@modifies ms @*/;
-protected int file_softmagic(struct magic_set *ms, const unsigned char *, size_t)
-       /*@globals fileSystem @*/
-       /*@modifies ms, fileSystem @*/;
-/*@null@*/
-protected struct mlist *file_apprentice(struct magic_set *ms, const char *, int)
-       /*@globals fileSystem, internalState @*/
-       /*@modifies ms, fileSystem, internalState @*/;
-protected uint32_t file_signextend(struct magic_set *ms, struct magic *, uint32_t)
-       /*@globals fileSystem @*/
-       /*@modifies ms, fileSystem @*/;
-protected void file_delmagic(struct magic *p, int type, size_t entries)
-       /*@globals fileSystem @*/
-       /*@modifies p, fileSystem @*/;
-protected void file_badread(struct magic_set *ms)
-       /*@modifies ms @*/;
-protected void file_badseek(struct magic_set *ms)
-       /*@modifies ms @*/;
-protected void file_oomem(struct magic_set *ms)
-       /*@modifies ms @*/;
-protected void file_error(struct magic_set *ms, int, /*@null@*/ const char *, ...)
-       /*@modifies ms @*/;
-protected void file_magwarn(struct magic_set *ms, /*@null@*/ const char *, ...)
-       /*@globals fileSystem @*/
-       /*@modifies fileSystem @*/;
-protected void file_mdump(struct magic *m)
-       /*@globals fileSystem @*/
-       /*@modifies m, fileSystem @*/;
-protected void file_showstr(FILE *fp, const char *, size_t)
-       /*@globals fileSystem @*/
-       /*@modifies fp, fileSystem @*/;
-protected size_t file_mbswidth(const char *)
-       /*@*/;
-/*@observer@*/
-protected const char *file_getbuffer(struct magic_set *ms)
-       /*@modifies ms @*/;
-
-#ifndef HAVE_STRERROR
-extern int sys_nerr;
-extern char *sys_errlist[];
-#define strerror(e) \
-       (((e) >= 0 && (e) < sys_nerr) ? sys_errlist[(e)] : "Unknown error")
-#endif
-
-#ifndef HAVE_STRTOUL
-#define strtoul(a, b, c)       strtol(a, b, c)
-#endif
-
-#if 0 /* HACK -- we have snprintf and I don't want to plumb the autofoo */
-int snprintf(char *, size_t, const char *, ...);
-#endif
-
-#if defined(HAVE_MMAP) && defined(HAVE_SYS_MMAN_H) && !defined(QUICK)
-#define QUICK
-#endif
-
-#ifndef O_BINARY
-#define O_BINARY       0
-#endif
-
-#define FILE_RCSID(id) \
-static const char *rcsid(const char *p) { \
-       return rcsid(p = id); \
-}
-#else
-
-#endif /* __file_h__ */
diff --git a/file/src/fsmagic.c b/file/src/fsmagic.c
deleted file mode 100644 (file)
index 8f038ff..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * Copyright (c) Ian F. Darwin 1986-1995.
- * Software written by Ian F. Darwin and others;
- * maintained 1995-present by Christos Zoulas and others.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * fsmagic - magic based on filesystem info - directory, special files, etc.
- */
-
-#include "file.h"
-#include "magic.h"
-#include <string.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <stdlib.h>
-#include <sys/stat.h>
-/* Since major is a function on SVR4, we cannot use `ifndef major'.  */
-#ifdef MAJOR_IN_MKDEV
-# include <sys/mkdev.h>
-# define HAVE_MAJOR
-#endif
-#ifdef MAJOR_IN_SYSMACROS
-# include <sys/sysmacros.h>
-# define HAVE_MAJOR
-#endif
-#ifdef major                   /* Might be defined in sys/types.h.  */
-# define HAVE_MAJOR
-#endif
-  
-#ifndef HAVE_MAJOR
-# define major(dev)  (((dev) >> 8) & 0xff)
-# define minor(dev)  ((dev) & 0xff)
-#endif
-#undef HAVE_MAJOR
-
-#ifndef        lint
-FILE_RCSID("@(#)$Id: fsmagic.c,v 1.46 2005/06/25 15:52:14 christos Exp $")
-#endif /* lint */
-
-protected int
-file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb)
-{
-       int ret = 0;
-#ifdef S_IFLNK
-       char buf[BUFSIZ+4];
-       int nch;
-       struct stat tstatbuf;
-#endif
-
-       if (fn == NULL)
-               return 0;
-
-       /*
-        * Fstat is cheaper but fails for files you don't have read perms on.
-        * On 4.2BSD and similar systems, use lstat() to identify symlinks.
-        */
-#ifdef S_IFLNK
-       if ((ms->flags & MAGIC_SYMLINK) == 0)
-               ret = lstat(fn, sb);
-       else
-#endif
-       ret = stat(fn, sb);     /* don't merge into if; see "ret =" above */
-
-       if (ret) {
-               if (ms->flags & MAGIC_ERROR) {
-                       file_error(ms, errno, "cannot stat `%s'", fn);
-                       return -1;
-               }
-               if (file_printf(ms, "cannot open `%s' (%s)",
-                   fn, strerror(errno)) == -1)
-                       return -1;
-               ms->haderr++;
-               return -1;
-       }
-
-       if ((ms->flags & MAGIC_MIME) != 0) {
-               if ((sb->st_mode & S_IFMT) != S_IFREG) {
-                       if (file_printf(ms, "application/x-not-regular-file")
-                           == -1)
-                               return -1;
-                       return 1;
-               }
-       }
-       else {
-#ifdef S_ISUID
-               if (sb->st_mode & S_ISUID) 
-                       if (file_printf(ms, "setuid ") == -1)
-                               return -1;
-#endif
-#ifdef S_ISGID
-               if (sb->st_mode & S_ISGID) 
-                       if (file_printf(ms, "setgid ") == -1)
-                               return -1;
-#endif
-#ifdef S_ISVTX
-               if (sb->st_mode & S_ISVTX) 
-                       if (file_printf(ms, "sticky ") == -1)
-                               return -1;
-#endif
-       }
-       
-       switch (sb->st_mode & S_IFMT) {
-       case S_IFDIR:
-               if (file_printf(ms, "directory") == -1)
-                       return -1;
-               return 1;
-#ifdef S_IFCHR
-       case S_IFCHR:
-               /* 
-                * If -s has been specified, treat character special files
-                * like ordinary files.  Otherwise, just report that they
-                * are block special files and go on to the next file.
-                */
-               if ((ms->flags & MAGIC_DEVICES) != 0)
-                       break;
-#ifdef HAVE_ST_RDEV
-# ifdef dv_unit
-               if (file_printf(ms, "character special (%d/%d/%d)",
-                   major(sb->st_rdev), dv_unit(sb->st_rdev),
-                   dv_subunit(sb->st_rdev)) == -1)
-                       return -1;
-# else
-               if (file_printf(ms, "character special (%ld/%ld)",
-                   (long) major(sb->st_rdev), (long) minor(sb->st_rdev)) == -1)
-                       return -1;
-# endif
-#else
-               if (file_printf(ms, "character special") == -1)
-                       return -1;
-#endif
-               return 1;
-#endif
-#ifdef S_IFBLK
-       case S_IFBLK:
-               /* 
-                * If -s has been specified, treat block special files
-                * like ordinary files.  Otherwise, just report that they
-                * are block special files and go on to the next file.
-                */
-               if ((ms->flags & MAGIC_DEVICES) != 0)
-                       break;
-#ifdef HAVE_ST_RDEV
-# ifdef dv_unit
-               if (file_printf(ms, "block special (%d/%d/%d)",
-                   major(sb->st_rdev), dv_unit(sb->st_rdev),
-                   dv_subunit(sb->st_rdev)) == -1)
-                       return -1;
-# else
-               if (file_printf(ms, "block special (%ld/%ld)",
-                   (long)major(sb->st_rdev), (long)minor(sb->st_rdev)) == -1)
-                       return -1;
-# endif
-#else
-               if (file_printf(ms, "block special") == -1)
-                       return -1;
-#endif
-               return 1;
-#endif
-       /* TODO add code to handle V7 MUX and Blit MUX files */
-#ifdef S_IFIFO
-       case S_IFIFO:
-               if((ms->flags & MAGIC_DEVICES) != 0)
-                       break;
-               if (file_printf(ms, "fifo (named pipe)") == -1)
-                       return -1;
-               return 1;
-#endif
-#ifdef S_IFDOOR
-       case S_IFDOOR:
-               if (file_printf(ms, "door") == -1)
-                       return -1;
-               return 1;
-#endif
-#ifdef S_IFLNK
-       case S_IFLNK:
-               if ((nch = readlink(fn, buf, BUFSIZ-1)) <= 0) {
-                       if (ms->flags & MAGIC_ERROR) {
-                           file_error(ms, errno, "unreadable symlink `%s'",
-                               fn);
-                           return -1;
-                       }
-                       if (file_printf(ms,
-                           "unreadable symlink `%s' (%s)", fn,
-                           strerror(errno)) == -1)
-                               return -1;
-                       return 1;
-               }
-               buf[nch] = '\0';        /* readlink(2) forgets this */
-
-               /* If broken symlink, say so and quit early. */
-               if (*buf == '/') {
-                   if (stat(buf, &tstatbuf) < 0) {
-                           if (ms->flags & MAGIC_ERROR) {
-                                   file_error(ms, errno, 
-                                       "broken symbolic link to `%s'", buf);
-                                   return -1;
-                           } 
-                           if (file_printf(ms, "broken symbolic link to `%s'",
-                               buf) == -1)
-                                   return -1;
-                           return 1;
-                   }
-               }
-               else {
-                       char *tmp;
-                       char buf2[BUFSIZ+BUFSIZ+4];
-
-                       if ((tmp = strrchr(fn,  '/')) == NULL) {
-                               tmp = buf; /* in current directory anyway */
-                       } else {
-                               if (tmp - fn + 1 > BUFSIZ) {
-                                       if (ms->flags & MAGIC_ERROR) {
-                                               file_error(ms, 0, 
-                                                   "path too long: `%s'", buf);
-                                               return -1;
-                                       }
-                                       if (file_printf(ms,
-                                           "path too long: `%s'", fn) == -1)
-                                               return -1;
-                                       return 1;
-                               }
-                               (void)strcpy(buf2, fn);  /* take dir part */
-                               buf2[tmp - fn + 1] = '\0';
-                               (void)strcat(buf2, buf); /* plus (rel) link */
-                               tmp = buf2;
-                       }
-                       if (stat(tmp, &tstatbuf) < 0) {
-                               if (ms->flags & MAGIC_ERROR) {
-                                       file_error(ms, errno, 
-                                           "broken symbolic link to `%s'",
-                                           buf);
-                                       return -1;
-                               }
-                               if (file_printf(ms,
-                                   "broken symbolic link to `%s'", buf) == -1)
-                                       return -1;
-                               return 1;
-                       }
-               }
-
-               /* Otherwise, handle it. */
-               if ((ms->flags & MAGIC_SYMLINK) != 0) {
-                       const char *p;
-                       ms->flags &= MAGIC_SYMLINK;
-                       p = magic_file(ms, buf);
-                       ms->flags |= MAGIC_SYMLINK;
-                       return p != NULL ? 1 : -1;
-               } else { /* just print what it points to */
-                       if (file_printf(ms, "symbolic link to `%s'",
-                           buf) == -1)
-                               return -1;
-               }
-       return 1;
-#endif
-#ifdef S_IFSOCK
-#ifndef __COHERENT__
-       case S_IFSOCK:
-               if (file_printf(ms, "socket") == -1)
-                       return -1;
-               return 1;
-#endif
-#endif
-       case S_IFREG:
-               break;
-       default:
-               file_error(ms, 0, "invalid mode 0%o", sb->st_mode);
-               return -1;
-               /*@notreached@*/ break;
-       }
-
-       /*
-        * regular file, check next possibility
-        *
-        * If stat() tells us the file has zero length, report here that
-        * the file is empty, so we can skip all the work of opening and 
-        * reading the file.
-        * But if the -s option has been given, we skip this optimization,
-        * since on some systems, stat() reports zero size for raw disk
-        * partitions.  (If the block special device really has zero length,
-        * the fact that it is empty will be detected and reported correctly
-        * when we read the file.)
-        */
-       if ((ms->flags & MAGIC_DEVICES) == 0 && sb->st_size == 0) {
-               if (file_printf(ms, (ms->flags & MAGIC_MIME) ?
-                   "application/x-empty" : "empty") == -1)
-                       return -1;
-               return 1;
-       }
-       return 0;
-}
diff --git a/file/src/funcs.c b/file/src/funcs.c
deleted file mode 100644 (file)
index fb20bdc..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Copyright (c) Christos Zoulas 2003.
- * All Rights Reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#include "file.h"
-#include "magic.h"
-#include <stdarg.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-
-#if defined(HAVE_LIMITS_H)
-#include <limits.h>
-#endif
-#ifndef SIZE_T_MAX
-#ifdef __LP64__
-#define SIZE_T_MAX (size_t)0xfffffffffffffffffU
-#else
-#define SIZE_T_MAX (size_t)0xffffffffU
-#endif
-#endif
-
-#ifndef        lint
-FILE_RCSID("@(#)$Id: funcs.c,v 1.14 2005/01/07 19:17:27 christos Exp $")
-#endif /* lint */
-/*
- * Like printf, only we print to a buffer and advance it.
- */
-protected int
-file_printf(struct magic_set *ms, const char *fmt, ...)
-{
-       va_list ap;
-       size_t len, size;
-       char *buf;
-
-       va_start(ap, fmt);
-
-       if ((len = vsnprintf(ms->o.ptr, ms->o.left, fmt, ap)) >= ms->o.left) {
-               long diff;      /* XXX: really ptrdiff_t */
-               va_end(ap);
-               size = (ms->o.size - ms->o.left) + len + 1024;
-               if ((buf = realloc(ms->o.buf, size)) == NULL) {
-                       file_oomem(ms);
-                       return -1;
-               }
-               diff = ms->o.ptr - ms->o.buf;
-               ms->o.ptr = buf + diff;
-               ms->o.buf = buf;
-               ms->o.left = size - diff;
-               ms->o.size = size;
-
-               va_start(ap, fmt);
-               len = vsnprintf(ms->o.ptr, ms->o.left, fmt, ap);
-       }
-       ms->o.ptr += len;
-       ms->o.left -= len;
-       va_end(ap);
-       return 0;
-}
-
-/*
- * error - print best error message possible
- */
-/*VARARGS*/
-protected void
-file_error(struct magic_set *ms, int error, const char *f, ...)
-{
-       va_list va;
-       /* Only the first error is ok */
-       if (ms->haderr)
-               return;
-       va_start(va, f);
-       (void)vsnprintf(ms->o.buf, ms->o.size, f, va);
-       va_end(va);
-       if (error > 0) {
-               size_t len = strlen(ms->o.buf);
-               (void)snprintf(ms->o.buf + len, ms->o.size - len, " (%s)",
-                   strerror(error));
-       }
-       ms->haderr++;
-       ms->error = error;
-}
-
-
-protected void
-file_oomem(struct magic_set *ms)
-{
-       file_error(ms, errno, "cannot allocate memory");
-}
-
-protected void
-file_badseek(struct magic_set *ms)
-{
-       file_error(ms, errno, "error seeking");
-}
-
-protected void
-file_badread(struct magic_set *ms)
-{
-       file_error(ms, errno, "error reading");
-}
-
-#ifndef COMPILE_ONLY
-protected int
-file_buffer(struct magic_set *ms, int fd, const void *buf, size_t nb)
-{
-    int m;
-    /* try compression stuff */
-    if ((m = file_zmagic(ms, fd, buf, nb)) == 0) {
-       /* Check if we have a tar file */
-       if ((m = file_is_tar(ms, buf, nb)) == 0) {
-           /* try tests in /etc/magic (or surrogate magic file) */
-           if ((m = file_softmagic(ms, buf, nb)) == 0) {
-               /* try known keywords, check whether it is ASCII */
-               if ((m = file_ascmagic(ms, buf, nb)) == 0) {
-                   /* abandon hope, all ye who remain here */
-                   if (file_printf(ms, ms->flags & MAGIC_MIME ?
-                       "application/octet-stream" : "data") == -1)
-                           return -1;
-                   m = 1;
-               }
-           }
-       }
-    }
-    return m;
-}
-#endif
-
-protected int
-file_reset(struct magic_set *ms)
-{
-       if (ms->mlist == NULL) {
-               file_error(ms, 0, "no magic files loaded");
-               return -1;
-       }
-       ms->o.ptr = ms->o.buf;
-       ms->haderr = 0;
-       ms->error = -1;
-       return 0;
-}
-
-protected const char *
-file_getbuffer(struct magic_set *ms)
-{
-       char *pbuf, *op, *np;
-       size_t psize, len;
-
-       if (ms->haderr)
-               return NULL;
-
-       if (ms->flags & MAGIC_RAW)
-               return ms->o.buf;
-
-       len = ms->o.size - ms->o.left;
-       /* * 4 is for octal representation, + 1 is for NUL */
-       if (len > (SIZE_T_MAX - 1) / 4) {
-               file_oomem(ms);
-               return NULL;
-       }
-       psize = len * 4 + 1;
-       if (ms->o.psize < psize) {
-               if ((pbuf = realloc(ms->o.pbuf, psize)) == NULL) {
-                       file_oomem(ms);
-                       return NULL;
-               }
-               ms->o.psize = psize;
-               ms->o.pbuf = pbuf;
-       }
-
-       for (np = ms->o.pbuf, op = ms->o.buf; *op; op++) {
-               if (isprint((unsigned char)*op)) {
-                       *np++ = *op;    
-               } else {
-                       *np++ = '\\';
-                       *np++ = ((*op >> 6) & 3) + '0';
-                       *np++ = ((*op >> 3) & 7) + '0';
-                       *np++ = ((*op >> 0) & 7) + '0';
-               }
-       }
-       *np = '\0';
-       return ms->o.pbuf;
-}
diff --git a/file/src/is_tar.c b/file/src/is_tar.c
deleted file mode 100644 (file)
index 84f201e..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (c) Ian F. Darwin 1986-1995.
- * Software written by Ian F. Darwin and others;
- * maintained 1995-present by Christos Zoulas and others.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * is_tar() -- figure out whether file is a tar archive.
- *
- * Stolen (by the author!) from the public domain tar program:
- * Public Domain version written 26 Aug 1985 John Gilmore (ihnp4!hoptoad!gnu).
- *
- * @(#)list.c 1.18 9/23/86 Public Domain - gnu
- *
- * Comments changed and some code/comments reformatted
- * for file command by Ian Darwin.
- */
-
-#include "file.h"
-#include "magic.h"
-#include <string.h>
-#include <ctype.h>
-#include <sys/types.h>
-#include "tar.h"
-
-#ifndef lint
-FILE_RCSID("@(#)$Id: is_tar.c,v 1.25 2004/09/11 19:15:57 christos Exp $")
-#endif
-
-#define        isodigit(c)     ( ((c) >= '0') && ((c) <= '7') )
-
-private int is_tar(const unsigned char *buf, size_t nbytes)
-       /*@*/;
-private int from_oct(int digs, const char *where)
-       /*@*/;
-
-protected int
-file_is_tar(struct magic_set *ms, const unsigned char *buf, size_t nbytes)
-{
-       /*
-        * Do the tar test first, because if the first file in the tar
-        * archive starts with a dot, we can confuse it with an nroff file.
-        */
-       switch (is_tar(buf, nbytes)) {
-       case 1:
-               if (file_printf(ms, (ms->flags & MAGIC_MIME) ?
-                   "application/x-tar" : "tar archive") == -1)
-                       return -1;
-               return 1;
-       case 2:
-               if (file_printf(ms, (ms->flags & MAGIC_MIME) ?
-                   "application/x-tar, POSIX" : "POSIX tar archive") == -1)
-                       return -1;
-               return 1;
-       default:
-               return 0;
-       }
-}
-
-/*
- * Return 
- *     0 if the checksum is bad (i.e., probably not a tar archive), 
- *     1 for old UNIX tar file,
- *     2 for Unix Std (POSIX) tar file.
- */
-private int
-is_tar(const unsigned char *buf, size_t nbytes)
-{
-       const union record *header = (const union record *)(const void *)buf;
-       int     i;
-       int     sum, recsum;
-       const char      *p;
-
-       if (nbytes < sizeof(union record))
-               return 0;
-
-       recsum = from_oct(8,  header->header.chksum);
-
-       sum = 0;
-       p = header->charptr;
-       for (i = sizeof(union record); --i >= 0;) {
-               /*
-                * We cannot use unsigned char here because of old compilers,
-                * e.g. V7.
-                */
-               sum += 0xFF & *p++;
-       }
-
-       /* Adjust checksum to count the "chksum" field as blanks. */
-       for (i = sizeof(header->header.chksum); --i >= 0;)
-               sum -= 0xFF & header->header.chksum[i];
-       sum += ' '* sizeof header->header.chksum;       
-
-       if (sum != recsum)
-               return 0;       /* Not a tar archive */
-       
-       if (0==strcmp(header->header.magic, TMAGIC)) 
-               return 2;               /* Unix Standard tar archive */
-
-       return 1;                       /* Old fashioned tar archive */
-}
-
-
-/*
- * Quick and dirty octal conversion.
- *
- * Result is -1 if the field is invalid (all blank, or nonoctal).
- */
-private int
-from_oct(int digs, const char *where)
-{
-       int     value;
-
-       while (isspace((unsigned char)*where)) {        /* Skip spaces */
-               where++;
-               if (--digs <= 0)
-                       return -1;              /* All blank field */
-       }
-       value = 0;
-       while (digs > 0 && isodigit(*where)) {  /* Scan til nonoctal */
-               value = (value << 3) | (*where++ - '0');
-               --digs;
-       }
-
-       if (digs > 0 && *where && !isspace((unsigned char)*where))
-               return -1;                      /* Ended on non-space/nul */
-
-       return value;
-}
diff --git a/file/src/magic.c b/file/src/magic.c
deleted file mode 100644 (file)
index 7b1993b..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * Copyright (c) Christos Zoulas 2003.
- * All Rights Reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include "file.h"
-#include "magic.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/param.h> /* for MAXPATHLEN */
-#include <sys/stat.h>
-#include <fcntl.h>     /* for open() */
-#ifdef QUICK
-#include <sys/mman.h>
-#endif
-
-#if defined(HAVE_UTIMES)
-# include <sys/time.h>
-#elif defined(HAVE_UTIME)
-# if defined(HAVE_SYS_UTIME_H)
-#  include <sys/utime.h>
-# elif defined(HAVE_UTIME_H)
-#  include <utime.h>
-# endif
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>    /* for read() */
-#endif
-
-#ifdef HAVE_LOCALE_H
-#include <locale.h>
-#endif
-
-#include <netinet/in.h>                /* for byte swapping */
-
-#include "patchlevel.h"
-
-#ifndef        lint
-FILE_RCSID("@(#)$Id: magic.c,v 1.28 2005/06/25 15:52:14 christos Exp $")
-#endif /* lint */
-
-#ifdef __EMX__
-private char *apptypeName = NULL;
-protected int file_os2_apptype(struct magic_set *ms, const char *fn,
-    const void *buf, size_t nb);
-#endif /* __EMX__ */
-
-private void free_mlist(/*@only@*/ struct mlist *mlist)
-       /*@globals fileSystem @*/
-       /*@modifies mlist, fileSystem @*/;
-private void close_and_restore(const struct magic_set *ms, const char *name, int fd,
-    const struct stat *sb)
-       /*@globals fileSystem, internalState @*/
-       /*@modifies fileSystem, internalState @*/;
-
-public struct magic_set *
-magic_open(int flags)
-{
-       struct magic_set *ms;
-
-       if ((ms = malloc(sizeof(struct magic_set))) == NULL)
-               return NULL;
-
-       if (magic_setflags(ms, flags) == -1) {
-               errno = EINVAL;
-               goto free1;
-       }
-
-       ms->o.ptr = ms->o.buf = malloc(ms->o.left = ms->o.size = 1024);
-       if (ms->o.buf == NULL)
-               goto free1;
-
-       ms->o.pbuf = malloc(ms->o.psize = 1024);
-       if (ms->o.pbuf == NULL)
-               goto free2;
-
-       ms->c.off = malloc((ms->c.len = 10) * sizeof(*ms->c.off));
-       if (ms->c.off == NULL)
-               goto free3;
-       
-       ms->haderr = 0;
-       ms->error = -1;
-       ms->mlist = NULL;
-       return ms;
-free3:
-       free(ms->o.pbuf);
-free2:
-       free(ms->o.buf);
-free1:
-       free(ms);
-       return NULL;
-}
-
-private void
-free_mlist(struct mlist *mlist)
-{
-       struct mlist *ml;
-
-       if (mlist == NULL)
-               return;
-
-/*@-dependenttrans@*/
-       for (ml = mlist->next; ml != mlist;) {
-               struct mlist *next = ml->next;
-               struct magic *mg = ml->magic;
-               file_delmagic(mg, ml->mapped, ml->nmagic);
-               free(ml);
-               ml = next;
-       }
-       free(ml);
-/*@=dependenttrans@*/
-}
-
-public void
-magic_close(struct magic_set *ms)
-{
-       free_mlist(ms->mlist);
-       free(ms->o.pbuf);
-       free(ms->o.buf);
-       free(ms->c.off);
-       free(ms);
-}
-
-/*
- * load a magic file
- */
-public int
-magic_load(struct magic_set *ms, const char *magicfile)
-{
-       struct mlist *ml = file_apprentice(ms, magicfile, FILE_LOAD);
-       if (ml) {
-               free_mlist(ms->mlist);
-               ms->mlist = ml;
-               return 0;
-       }
-       return -1;
-}
-
-public int
-magic_compile(struct magic_set *ms, const char *magicfile)
-{
-       struct mlist *ml = file_apprentice(ms, magicfile, FILE_COMPILE);
-       free_mlist(ml);
-       return ml ? 0 : -1;
-}
-
-public int
-magic_check(struct magic_set *ms, const char *magicfile)
-{
-       struct mlist *ml = file_apprentice(ms, magicfile, FILE_CHECK);
-       free_mlist(ml);
-       return ml ? 0 : -1;
-}
-
-private void
-close_and_restore(const struct magic_set *ms, const char *name, int fd,
-    const struct stat *sb)
-{
-       /* XXX Avoid closing stdin/stdout/stderr. */
-       if (fd > 2)
-               (void) close(fd);
-       if (fd != STDIN_FILENO && (ms->flags & MAGIC_PRESERVE_ATIME) != 0) {
-               /*
-                * Try to restore access, modification times if read it.
-                * This is really *bad* because it will modify the status
-                * time of the file... And of course this will affect
-                * backup programs
-                */
-#ifdef HAVE_UTIMES
-               struct timeval  utsbuf[2];
-               utsbuf[0].tv_sec = sb->st_atime;
-               utsbuf[1].tv_sec = sb->st_mtime;
-
-               (void) utimes(name, utsbuf); /* don't care if loses */
-#elif defined(HAVE_UTIME_H) || defined(HAVE_SYS_UTIME_H)
-               struct utimbuf  utbuf;
-
-               utbuf.actime = sb->st_atime;
-               utbuf.modtime = sb->st_mtime;
-               (void) utime(name, &utbuf); /* don't care if loses */
-#endif
-       }
-}
-
-#ifndef COMPILE_ONLY
-/*
- * find type of named file
- */
-public const char *
-magic_file(struct magic_set *ms, const char *inname)
-{
-       int     fd = 0;
-       int     rv = -1;
-       unsigned char *buf;
-       struct stat     sb, *st = &sb;
-       ssize_t nbytes = 0;     /* number of bytes read from a datafile */
-
-       /*
-        * one extra for terminating '\0', and
-        * some overlapping space for matches near EOF
-        */
-#define SLOP (1 + sizeof(union VALUETYPE))
-       if ((buf = malloc(HOWMANY + SLOP)) == NULL)
-               return NULL;
-
-       if (file_reset(ms) == -1)
-               goto done;
-
-       switch (file_fsmagic(ms, inname, st)) {
-       case -1:
-               goto done;
-       case 0:
-               break;
-       default:
-               rv = 0;
-               goto done;
-       }
-
-#ifndef        STDIN_FILENO
-#define        STDIN_FILENO    0
-#endif
-       if (inname == NULL)
-               fd = STDIN_FILENO;
-       else if ((fd = open(inname, O_RDONLY)) < 0) {
-               /* We cannot open it, but we were able to stat it. */
-               if (sb.st_mode & 0222)
-                       if (file_printf(ms, "writable, ") == -1)
-                               goto done;
-               if (sb.st_mode & 0111)
-                       if (file_printf(ms, "executable, ") == -1)
-                               goto done;
-               if (S_ISREG(sb.st_mode))
-                       if (file_printf(ms, "regular file, ") == -1)
-                               goto done;
-               if (file_printf(ms, "no read permission") == -1)
-                       goto done;
-               rv = 0;
-               goto done;
-       }
-
-       /*
-        * try looking at the first HOWMANY bytes
-        */
-       if ((nbytes = read(fd, (char *)buf, HOWMANY)) == -1) {
-               file_error(ms, errno, "cannot read `%s'", inname);
-               goto done;
-       }
-
-       if (nbytes == 0) {
-               if (file_printf(ms, (ms->flags & MAGIC_MIME) ?
-                   "application/x-empty" : "empty") == -1)
-                       goto done;
-       } else if (nbytes == 1) {
-               if (file_printf(ms, "very short file (no magic)") == -1)
-                       goto done;
-       } else {
-               (void)memset(buf + nbytes, 0, SLOP); /* NUL terminate */
-#ifdef __EMX__
-               switch (file_os2_apptype(ms, inname, buf, nbytes)) {
-               case -1:
-                       goto done;
-               case 0:
-                       break;
-               default:
-                       rv = 0;
-                       goto done;
-               }
-#endif
-               if (file_buffer(ms, fd, buf, (size_t)nbytes) == -1)
-                       goto done;
-#ifdef BUILTIN_ELF
-               if (nbytes > 5) {
-                       /*
-                        * We matched something in the file, so this *might*
-                        * be an ELF file, and the file is at least 5 bytes
-                        * long, so if it's an ELF file it has at least one
-                        * byte past the ELF magic number - try extracting
-                        * information from the ELF headers that cannot easily
-                        * be extracted with rules in the magic file.
-                        */
-                       file_tryelf(ms, fd, buf, (size_t)nbytes);
-               }
-#endif
-       }
-       rv = 0;
-done:
-       free(buf);
-       close_and_restore(ms, inname, fd, &sb);
-       return rv == 0 ? file_getbuffer(ms) : NULL;
-}
-
-
-public const char *
-magic_buffer(struct magic_set *ms, const void *buf, size_t nb)
-{
-       if (file_reset(ms) == -1)
-               return NULL;
-       /*
-        * The main work is done here!
-        * We have the file name and/or the data buffer to be identified. 
-        */
-       if (file_buffer(ms, -1, buf, nb) == -1) {
-               return NULL;
-       }
-       return file_getbuffer(ms);
-}
-#endif
-
-public const char *
-magic_error(struct magic_set *ms)
-{
-       return ms->haderr ? ms->o.buf : NULL;
-}
-
-public int
-magic_errno(struct magic_set *ms)
-{
-       return ms->haderr ? ms->error : 0;
-}
-
-public int
-magic_setflags(struct magic_set *ms, int flags)
-{
-#if !defined(HAVE_UTIME) && !defined(HAVE_UTIMES)
-       if (flags & MAGIC_PRESERVE_ATIME)
-               return -1;
-#endif
-       ms->flags = flags;
-       return 0;
-}
diff --git a/file/src/magic.h b/file/src/magic.h
deleted file mode 100644 (file)
index 77fe8cc..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) Christos Zoulas 2003.
- * All Rights Reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#ifndef _MAGIC_H
-#define _MAGIC_H
-
-#include <sys/types.h>
-
-#define        MAGIC_NONE              0x000   /* No flags */
-#define        MAGIC_DEBUG             0x001   /* Turn on debugging */
-#define        MAGIC_SYMLINK           0x002   /* Follow symlinks */
-#define        MAGIC_COMPRESS          0x004   /* Check inside compressed files */
-#define        MAGIC_DEVICES           0x008   /* Look at the contents of devices */
-#define        MAGIC_MIME              0x010   /* Return a mime string */
-#define        MAGIC_CONTINUE          0x020   /* Return all matches */
-#define        MAGIC_CHECK             0x040   /* Print warnings to stderr */
-#define        MAGIC_PRESERVE_ATIME    0x080   /* Restore access time on exit */
-#define        MAGIC_RAW               0x100   /* Don't translate unprintable chars */
-#define        MAGIC_ERROR             0x200   /* Handle ENOENT etc as real errors */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef /*@abstract@*/ struct magic_set *magic_t;
-
-/*@null@*/
-magic_t magic_open(int flags)
-       /*@globals errno @*/
-       /*@modifies errno @*/;
-void magic_close(/*@only@*/ magic_t ms)
-       /*@globals fileSystem @*/
-       /*@modifies ms, fileSystem @*/;
-
-/*@null@*/ /*@observer@*/
-const char *magic_file(magic_t ms, /*@null@*/ const char * inname)
-       /*@globals fileSystem, internalState @*/
-       /*@modifies ms, fileSystem, internalState @*/;
-/*@null@*/ /*@observer@*/
-const char *magic_buffer(magic_t ms, const void * buf, size_t nb)
-       /*@globals fileSystem, internalState @*/
-       /*@modifies ms, fileSystem, internalState @*/;
-
-/*@observer@*/
-const char *magic_error(magic_t ms)
-       /*@modifies ms @*/;
-int magic_setflags(magic_t ms, int)
-       /*@modifies ms @*/;
-
-int magic_load(magic_t ms, const char * magicfile)
-       /*@globals fileSystem, internalState @*/
-       /*@modifies ms, fileSystem, internalState @*/;
-int magic_compile(magic_t ms, const char * magicfile)
-       /*@globals fileSystem, internalState @*/
-       /*@modifies ms, fileSystem, internalState @*/;
-int magic_check(magic_t ms, const char * magicfile)
-       /*@globals fileSystem, internalState @*/
-       /*@modifies ms, fileSystem, internalState @*/;
-int magic_errno(magic_t ms)
-       /*@modifies ms @*/;
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif /* _MAGIC_H */
diff --git a/file/src/names.h b/file/src/names.h
deleted file mode 100644 (file)
index 8e6d21f..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Copyright (c) Ian F. Darwin 1986-1995.
- * Software written by Ian F. Darwin and others;
- * maintained 1995-present by Christos Zoulas and others.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * Names.h - names and types used by ascmagic in file(1).
- * These tokens are here because they can appear anywhere in
- * the first HOWMANY bytes, while tokens in MAGIC must
- * appear at fixed offsets into the file. Don't make HOWMANY
- * too high unless you have a very fast CPU.
- *
- * $Id: names.h,v 1.25 2004/09/11 19:15:57 christos Exp $
- */
-
-/*
-       modified by Chris Lowth - 9 April 2000
-       to add mime type strings to the types table.
-*/
-
-/* these types are used to index the table 'types': keep em in sync! */
-#define        L_C     0               /* first and foremost on UNIX */
-#define        L_CC    1               /* Bjarne's postincrement */
-#define        L_FORT  2               /* the oldest one */
-#define        L_MAKE  3               /* Makefiles */
-#define        L_PLI   4               /* PL/1 */
-#define        L_MACH  5               /* some kinda assembler */
-#define        L_ENG   6               /* English */
-#define        L_PAS   7               /* Pascal */
-#define        L_MAIL  8               /* Electronic mail */
-#define        L_NEWS  9               /* Usenet Netnews */
-#define        L_JAVA  10              /* Java code */
-#define        L_HTML  11              /* HTML */
-#define        L_BCPL  12              /* BCPL */
-#define        L_M4    13              /* M4 */
-#define        L_PO    14              /* PO */
-
-/*@unchecked@*/ /*@observer@*/
-static const struct {
-/*@observer@*/ /*@null@*/
-       const char *human;
-/*@observer@*/ /*@null@*/
-       const char *mime;
-} types[] = {
-       { "C program",                                  "text/x-c", },
-       { "C++ program",                                "text/x-c++" },
-       { "FORTRAN program",                            "text/x-fortran" },
-       { "make commands",                              "text/x-makefile" },
-       { "PL/1 program",                               "text/x-pl1" },
-       { "assembler program",                          "text/x-asm" },
-       { "English",                                    "text/plain" },
-       { "Pascal program",                             "text/x-pascal" },
-       { "mail",                                       "text/x-mail" },
-       { "news",                                       "text/x-news" },
-       { "Java program",                               "text/x-java" },
-       { "HTML document",                              "text/html", },
-       { "BCPL program",                               "text/x-bcpl" },
-       { "M4 macro language pre-processor",            "text/x-m4" },
-       { "PO (gettext message catalogue)",             "text/x-po" },
-       { "cannot happen error on names.h/types",       "error/x-error" },
-       { 0, 0}
-};
-
-/*
- * XXX - how should we distinguish Java from C++?
- * The trick used in a Debian snapshot, of having "extends" or "implements"
- * as tags for Java, doesn't work very well, given that those keywords
- * are often preceded by "class", which flags it as C++.
- *
- * Perhaps we need to be able to say
- *
- *     If "class" then
- *
- *             if "extends" or "implements" then
- *                     Java
- *             else
- *                     C++
- *     endif
- *
- * Or should we use other keywords, such as "package" or "import"?
- * Unfortunately, Ada95 uses "package", and Modula-3 uses "import",
- * although I infer from the language spec at
- *
- *     http://www.research.digital.com/SRC/m3defn/html/m3.html
- *
- * that Modula-3 uses "IMPORT" rather than "import", i.e. it must be
- * in all caps.
- *
- * So, for now, we go with "import".  We must put it before the C++
- * stuff, so that we don't misidentify Java as C++.  Not using "package"
- * means we won't identify stuff that defines a package but imports
- * nothing; hopefully, very little Java code imports nothing (one of the
- * reasons for doing OO programming is to import as much as possible
- * and write only what you need to, right?).
- *
- * Unfortunately, "import" may cause us to misidentify English text
- * as Java, as it comes after "the" and "The".  Perhaps we need a fancier
- * heuristic to identify Java?
- */
-/*@unchecked@*/ /*@observer@*/
-static struct names {
-/*@observer@*/ /*@relnull@*/
-       const char *name;
-       short type;
-} names[] = {
-       /* These must be sorted by eye for optimal hit rate */
-       /* Add to this list only after substantial meditation */
-       {"msgid",       L_PO},
-       {"dnl",         L_M4},
-       {"import",      L_JAVA},
-       {"\"libhdr\"",  L_BCPL},
-       {"\"LIBHDR\"",  L_BCPL},
-       {"//",          L_CC},
-       {"template",    L_CC},
-       {"virtual",     L_CC},
-       {"class",       L_CC},
-       {"public:",     L_CC},
-       {"private:",    L_CC},
-       {"/*",          L_C},   /* must precede "The", "the", etc. */
-       {"#include",    L_C},
-       {"char",        L_C},
-       {"The",         L_ENG},
-       {"the",         L_ENG},
-       {"double",      L_C},
-       {"extern",      L_C},
-       {"float",       L_C},
-       {"struct",      L_C},
-       {"union",       L_C},
-       {"CFLAGS",      L_MAKE},
-       {"LDFLAGS",     L_MAKE},
-       {"all:",        L_MAKE},
-       {".PRECIOUS",   L_MAKE},
-/* Too many files of text have these words in them.  Find another way
- * to recognize Fortrash.
- */
-#ifdef NOTDEF
-       {"subroutine",  L_FORT},
-       {"function",    L_FORT},
-       {"block",       L_FORT},
-       {"common",      L_FORT},
-       {"dimension",   L_FORT},
-       {"integer",     L_FORT},
-       {"data",        L_FORT},
-#endif /*NOTDEF*/
-       {".ascii",      L_MACH},
-       {".asciiz",     L_MACH},
-       {".byte",       L_MACH},
-       {".even",       L_MACH},
-       {".globl",      L_MACH},
-       {".text",       L_MACH},
-       {"clr",         L_MACH},
-       {"(input,",     L_PAS},
-       {"dcl",         L_PLI},
-       {"Received:",   L_MAIL},
-       {">From",       L_MAIL},
-       {"Return-Path:",L_MAIL},
-       {"Cc:",         L_MAIL},
-       {"Newsgroups:", L_NEWS},
-       {"Path:",       L_NEWS},
-       {"Organization:",L_NEWS},
-       {"href=",       L_HTML},
-       {"HREF=",       L_HTML},
-       {"<body",       L_HTML},
-       {"<BODY",       L_HTML},
-       {"<html",       L_HTML},
-       {"<HTML",       L_HTML},
-       {NULL,          0}
-};
-#define NNAMES ((sizeof(names)/sizeof(struct names)) - 1)
diff --git a/file/src/patchlevel.h b/file/src/patchlevel.h
deleted file mode 100644 (file)
index ad28fee..0000000
+++ /dev/null
@@ -1,301 +0,0 @@
-#define        FILE_VERSION_MAJOR      4
-#define        patchlevel              14
-
-/*
- * Patchlevel file for Ian Darwin's MAGIC command.
- * $Id: patchlevel.h,v 1.57 2005/06/25 15:52:14 christos Exp $
- *
- * $Log: patchlevel.h,v $
- * Revision 1.57  2005/06/25 15:52:14  christos
- * Welcome to 4.14
- *
- * Revision 1.56  2005/02/09 19:25:13  christos
- * Welcome to 4.13
- *
- * Revision 1.55  2004/11/24 18:57:47  christos
- * Re-do the autoconf stuff once more; passes make dist now.
- *
- * Revision 1.54  2004/11/21 05:52:05  christos
- * ready for 4.11
- *
- * Revision 1.53  2004/07/24 20:40:46  christos
- * welcome to 4.10
- *
- * Revision 1.52  2004/04/07 00:32:25  christos
- * welcome to 4.09
- *
- * Revision 1.51  2004/03/22 21:17:11  christos
- * welcome to 4.08.
- *
- * Revision 1.50  2003/12/23 17:34:04  christos
- * 4.07
- *
- * Revision 1.49  2003/10/15 02:08:27  christos
- * welcome to 4.06
- *
- * Revision 1.48  2003/09/12 19:41:14  christos
- * this is 4.04
- *
- * Revision 1.47  2003/05/23 21:38:21  christos
- * welcome to 4.03
- *
- * Revision 1.46  2003/04/02 18:57:43  christos
- * prepare for 4.02
- *
- * Revision 1.45  2003/03/26 15:37:25  christos
- * - Pass lint
- * - make NULL in magic_file mean stdin
- * - Fix "-" argument to file to pass NULL to magic_file
- * - avoid pointer casts by using memcpy
- * - rename magic_buf -> magic_buffer
- * - keep only the first error
- * - manual page: new sentence, new line
- * - fix typo in api function (magic_buf -> magic_buffer)
- *
- * Revision 1.44  2003/03/23 22:23:31  christos
- * finish librarification.
- *
- * Revision 1.43  2003/03/23 21:16:26  christos
- * update copyrights.
- *
- * Revision 1.42  2003/03/23 04:06:05  christos
- * Library re-organization
- *
- * Revision 1.41  2003/02/27 20:53:45  christos
- * - fix memory allocation problem (Jeff Johnson)
- * - fix stack overflow corruption (David Endler)
- * - fixes from NetBSD source (Antti Kantee)
- * - magic fixes
- *
- * Revision 1.40  2003/02/08 18:33:53  christos
- * - detect inttypes.h too (Dave Love <d.love@dl.ac.uk>)
- * - eliminate unsigned char warnings (Petter Reinholdtsen <pere@hungry.com>)
- * - better elf PT_NOTE handling (Nalin Dahyabhai <nalin@redhat.com>)
- * - add options to format the output differently
- * - much more magic.
- *
- * Revision 1.39  2002/07/03 18:57:52  christos
- * - ansify/c99ize
- * - more magic
- * - better COMPILE_ONLY support.
- * - new magic files.
- * - fix solaris compilation problems.
- *
- * Revision 1.38  2002/05/16 18:45:56  christos
- * - pt_note elf additions from NetBSD
- * - EMX os specific changes (Alexander Mai)
- * - stdint.h detection, acconfig.h fixes (Maciej W. Rozycki, Franz Korntner)
- * - regex file additions (Kim Cromie)
- * - getopt_long support and misc cleanups (Michael Piefel)
- * - many magic fixes and additions
- *
- * Revision 1.37  2001/09/03 14:44:22  christos
- * daylight/tm_isdst detection
- * magic fixes
- * don't eat the whole file if it has only nulls
- *
- * Revision 1.36  2001/07/22 21:04:15  christos
- * - magic fixes
- * - add new operators, pascal strings, UTC date printing, $HOME/.magic
- *   [from "Tom N Harris" <telliamed@mac.com>]
- *
- * Revision 1.35  2001/04/24 14:40:25  christos
- * - rename magic file sgi to mips and fix it
- * - add support for building magic.mgc
- * - portability fixes for mmap()
- * - try gzip before uncompress, because uncompress sometimes hangs
- * - be more conservative about pipe reads and writes
- * - many magic fixes
- *
- * Revision 1.34  2001/03/12 05:05:57  christos
- * - new compiled magic format
- * - lots of magic additions
- *
- * Revision 1.33  2000/11/13 00:30:50  christos
- * - wordperfect magic fix: freebsd pr 9388
- * - more msdos fixes from freebsd pr's 20131 and 20812
- * - sas and spss magic [Bruce Foster]
- * - mkinstalldirs [John Fremlin]
- * - sgi opengl fixes [Michael Pruett]
- * - netbsd magic fixes [Ignatios Souvatzis]
- * - audio additions [Michael Pruett]
- * - fix problem with non ansi RCSID [Andreas Ley]
- * - oggs magic [Felix von Leitner]
- * - gmon magic [Eugen Dedu]
- * - TNEF magic [Joomy]
- * - netpbm magic and misc other image stuff [Bryan Henderson]
- *
- * Revision 1.32  2000/08/05 18:24:18  christos
- * Correct indianness detection in elf (Charles Hannum)
- * FreeBSD elf core support (Guy Harris)
- * Use gzip in systems that don't have uncompress (Anthon van der Neut)
- * Internationalization/EBCDIC support (Eric Fisher)
- * Many many magic changes
- *
- * Revision 1.31  2000/05/14 17:58:36  christos
- * - new magic for claris files
- * - new magic for mathematica and maple files
- * - new magic for msvc files
- * - new -k flag to keep going matching all possible entries
- * - add the word executable on #! magic files, and fix the usage of
- *   the word script
- * - lots of other magic fixes
- * - fix typo test -> text
- *
- * Revision 1.30  2000/04/11 02:41:17  christos
- * - add support for mime output (-i)
- * - make sure we free memory in case realloc fails
- * - magic fixes
- *
- * Revision 1.29  1999/11/28 20:02:29  christos
- * new string/[Bcb] magic from anthon, and adjustments to the magic files to
- * use it.
- *
- * Revision 1.28  1999/10/31 22:11:48  christos
- * - add "char" type for compatibility with HP/UX
- * - recognize HP/UX syntax &=n etc.
- * - include errno.h for CYGWIN
- * - conditionalize the S_IS* macros
- * - revert the SHT_DYNSYM test that broke the linux stripped binaries test
- * - lots of Magdir changes
- *
- * Revision 1.27  1999/02/14 17:21:41  christos
- * Automake support and misc cleanups from Rainer Orth
- * Enable reading character and block special files from Dale R. Worley
- *
- * Revision 1.26  1998/09/12 13:19:39  christos
- * - add support for bi-endian indirect offsets (Richard Verhoeven)
- * - add recognition for bcpl (Joseph Myers)
- * - remove non magic files from Magdir to avoid difficulties building
- *   on os2 where files are case independent
- * - magic fixes.
- *
- * Revision 1.25  1998/06/27 14:04:04  christos
- * OLF patch Guy Harris
- * Recognize java/html (debian linux)
- * Const poisoning (debian linux)
- * More magic!
- *
- * Revision 1.24  1998/02/15 23:20:38  christos
- * Autoconf patch: Felix von Leitner <leitner@math.fu-berlin.de>
- * More magic fixes
- * Elf64 fixes
- *
- * Revision 1.23  1997/11/05 16:03:37  christos
- * - correct elf prps offset for SunOS-2.5.1 [guy@netapp.com]
- * - handle 64 bit time_t's correctly [ewt@redhat.com]
- * - new mime style magic [clarosse@netvista.net]
- * - new TI calculator magic [rmcguire@freenet.columbus.oh.us]
- * - new figlet fonts [obrien@freebsd.org]
- * - new cisco magic, and elf fixes [jhawk@bbnplanet.com]
- * - -b flag addition, and x86 filesystem magic [vax@linkhead.paranoia.com]
- * - s/Mpeg/MPEG, header and elf typo fixes [guy@netapp.com]
- * - Windows/NT registry files, audio code [guy@netapp.com]
- * - libGrx graphics lib fonts [guy@netapp.com]
- * - PNG fixes [guy@netapp.com]
- * - more m$ document magic [guy@netapp.com]
- * - PPD files [guy@netapp.com]
- * - archive magic cleanup [guy@netapp.com]
- * - linux kernel magic cleanup [guy@netapp.com]
- * - lecter magic [guy@netapp.com]
- * - vgetty magic [guy@netapp.com]
- * - sniffer additions [guy@netapp.com]
- *
- * Revision 1.22  1997/01/15 17:23:24  christos
- * - add support for elf core files: find the program name under SVR4 [Ken Pizzini]
- * - print strings only up to the first carriage return [various]
- * - freebsd international ascii support [J Wunsch]
- * - magic fixes and additions [Guy Harris]
- * - 64 bit fixes [Larry Schwimmer]
- * - support for both utime and utimes, but don't restore file access times
- *   by default [various]
- * - \xXX only takes 2 hex digits, not 3.
- * - re-implement support for core files [Guy Harris]
- *
- * Revision 1.21  1996/10/05 18:15:29  christos
- * Segregate elf stuff and conditionally enable it with -DBUILTIN_ELF
- * More magic fixes
- *
- * Revision 1.20  1996/06/22  22:15:52  christos
- * - support relative offsets of the form >&
- * - fix bug with truncating magic strings that contain \n
- * - file -f - did not read from stdin as documented
- * - support elf file parsing using our own elf support.
- * - as always magdir fixes and additions.
- *
- * Revision 1.19  1995/10/27  23:14:46  christos
- * Ability to parse colon separated list of magic files
- * New LEGAL.NOTICE
- * Various magic file changes
- *
- * Revision 1.18  1995/05/20  22:09:21  christos
- * Passed incorrect argument to eatsize().
- * Use %ld and %lx where appropriate.
- * Remove unused variables
- * ELF support for both big and little endian
- * Fixes for small files again.
- *
- * Revision 1.17  1995/04/28  17:29:13  christos
- * - Incorrect nroff detection fix from der Mouse
- * - Lost and incorrect magic entries.
- * - Added ELF stripped binary detection [in C; ugh]
- * - Look for $MAGIC to find the magic file.
- * - Eat trailing size specifications from numbers i.e. ignore 10L
- * - More fixes for very short files
- *
- * Revision 1.16  1995/03/25  22:06:45  christos
- * - use strtoul() where it exists.
- * - fix sign-extend bug
- * - try to detect tar archives before nroff files, otherwise
- *   tar files where the first file starts with a . will not work
- *
- * Revision 1.15  1995/01/21  21:03:35  christos
- * Added CSECTION for the file man page
- * Added version flag -v
- * Fixed bug with -f input flag (from iorio@violet.berkeley.edu)
- * Lots of magic fixes and reorganization...
- *
- * Revision 1.14  1994/05/03  17:58:23  christos
- * changes from mycroft@gnu.ai.mit.edu (Charles Hannum) for unsigned
- *
- * Revision 1.13  1994/01/21  01:27:01  christos
- * Fixed null termination bug from Don Seeley at BSDI in ascmagic.c
- *
- * Revision 1.12  1993/10/27  20:59:05  christos
- * Changed -z flag to understand gzip format too.
- * Moved builtin compression detection to a table, and move
- * the compress magic entry out of the source.
- * Made printing of numbers unsigned, and added the mask to it.
- * Changed the buffer size to 8k, because gzip will refuse to
- * unzip just a few bytes.
- *
- * Revision 1.11  1993/09/24  18:49:06  christos
- * Fixed small bug in softmagic.c introduced by
- * copying the data to be examined out of the input
- * buffer. Changed the Makefile to use sed to create
- * the correct man pages.
- *
- * Revision 1.10  1993/09/23  21:56:23  christos
- * Passed purify. Fixed indirections. Fixed byte order printing.
- * Fixed segmentation faults caused by referencing past the end
- * of the magic buffer. Fixed bus errors caused by referencing
- * unaligned shorts or longs.
- *
- * Revision 1.9  1993/03/24  14:23:40  ian
- * Batch of minor changes from several contributors.
- *
- * Revision 1.8  93/02/19  15:01:26  ian
- * Numerous changes from Guy Harris too numerous to mention but including
- * byte-order independance, fixing "old-style masking", etc. etc. A bugfix
- * for broken symlinks from martin@@d255s004.zfe.siemens.de.
- * 
- * Revision 1.7  93/01/05  14:57:27  ian
- * Couple of nits picked by Christos (again, thanks).
- * 
- * Revision 1.6  93/01/05  13:51:09  ian
- * Lotsa work on the Magic directory.
- * 
- * Revision 1.5  92/09/14  14:54:51  ian
- * Fix a tiny null-pointer bug in previous fix for tar archive + uncompress.
- * 
- */
diff --git a/file/src/print.c b/file/src/print.c
deleted file mode 100644 (file)
index c6b8711..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Copyright (c) Ian F. Darwin 1986-1995.
- * Software written by Ian F. Darwin and others;
- * maintained 1995-present by Christos Zoulas and others.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * print.c - debugging printout routines
- */
-
-#include "file.h"
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <time.h>
-
-#ifndef lint
-FILE_RCSID("@(#)$Id: print.c,v 1.47 2005/03/14 16:56:25 christos Exp $")
-#endif  /* lint */
-
-#define SZOF(a)        (sizeof(a) / sizeof(a[0]))
-
-#ifndef COMPILE_ONLY
-protected void
-file_mdump(struct magic *m)
-{
-       /*@observer@*/
-       private const char *typ[] = { "invalid", "byte", "short", "invalid",
-                                    "long", "string", "date", "beshort",
-                                    "belong", "bedate", "leshort", "lelong",
-                                    "ledate", "pstring", "ldate", "beldate",
-                                    "leldate", "regex" };
-       private const char optyp[] = { '@', '&', '|', '^', '+', '-', 
-                                     '*', '/', '%' };
-       (void) fputc('[', stderr);
-       (void) fprintf(stderr, ">>>>>>>> %d" + 8 - (m->cont_level & 7),
-                      m->offset);
-
-       if (m->flag & INDIR) {
-               (void) fprintf(stderr, "(%s,",
-                              /* Note: type is unsigned */
-                              (m->in_type < SZOF(typ)) ? 
-                                       typ[m->in_type] : "*bad*");
-               if (m->in_op & FILE_OPINVERSE)
-                       (void) fputc('~', stderr);
-               (void) fprintf(stderr, "%c%d),",
-                              ((m->in_op&0x7F) < SZOF(optyp)) ? 
-                                       optyp[m->in_op&0x7F] : '?',
-                               m->in_offset);
-       }
-       (void) fprintf(stderr, " %s%s", (m->flag & UNSIGNED) ? "u" : "",
-                      /* Note: type is unsigned */
-                      (m->type < SZOF(typ)) ? typ[m->type] : "*bad*");
-       if (m->mask_op & FILE_OPINVERSE)
-               (void) fputc('~', stderr);
-       if (m->mask) {
-               if ((m->mask_op & 0x7F) < SZOF(optyp)) 
-                       fputc(optyp[m->mask_op&0x7F], stderr);
-               else
-                       fputc('?', stderr);
-               if(FILE_STRING != m->type || FILE_PSTRING != m->type)
-                       (void) fprintf(stderr, "%.8x", m->mask);
-               else {
-                       if (m->mask & STRING_IGNORE_LOWERCASE) 
-                               (void) fputc(CHAR_IGNORE_LOWERCASE, stderr);
-                       if (m->mask & STRING_COMPACT_BLANK) 
-                               (void) fputc(CHAR_COMPACT_BLANK, stderr);
-                       if (m->mask & STRING_COMPACT_OPTIONAL_BLANK) 
-                               (void) fputc(CHAR_COMPACT_OPTIONAL_BLANK,
-                               stderr);
-               }
-       }
-
-       (void) fprintf(stderr, ",%c", m->reln);
-
-       if (m->reln != 'x') {
-               switch (m->type) {
-               case FILE_BYTE:
-               case FILE_SHORT:
-               case FILE_LONG:
-               case FILE_LESHORT:
-               case FILE_LELONG:
-               case FILE_BESHORT:
-               case FILE_BELONG:
-                       (void) fprintf(stderr, "%d", m->value.l);
-                       break;
-               case FILE_STRING:
-               case FILE_PSTRING:
-               case FILE_REGEX:
-                       file_showstr(stderr, m->value.s, ~0U);
-                       break;
-               case FILE_DATE:
-               case FILE_LEDATE:
-               case FILE_BEDATE:
-                       (void)fprintf(stderr, "%s,",
-                           file_fmttime(m->value.l, 1));
-                       break;
-               case FILE_LDATE:
-               case FILE_LELDATE:
-               case FILE_BELDATE:
-                       (void)fprintf(stderr, "%s,",
-                           file_fmttime(m->value.l, 0));
-                       break;
-               default:
-                       (void) fputs("*bad*", stderr);
-                       break;
-               }
-       }
-       (void) fprintf(stderr, ",\"%s\"]\n", m->desc);
-}
-#endif
-
-/*VARARGS*/
-protected void
-file_magwarn(struct magic_set *ms, const char *f, ...)
-{
-       va_list va;
-       va_start(va, f);
-
-       /* cuz we use stdout for most, stderr here */
-       (void) fflush(stdout); 
-
-       (void) fprintf(stderr, "%s, %lu: Warning ", ms->file,
-           (unsigned long)ms->line);
-       (void) vfprintf(stderr, f, va);
-       va_end(va);
-       fputc('\n', stderr);
-}
-
-protected const char *
-file_fmttime(uint32_t v, int local)
-{
-       char *pp, *rt;
-       time_t t = (time_t)v;
-       struct tm *tm;
-
-       if (local) {
-               pp = ctime(&t);
-       } else {
-#ifndef HAVE_DAYLIGHT
-               private int daylight = 0;
-#ifdef HAVE_TM_ISDST
-               private time_t now = (time_t)0;
-
-               if (now == (time_t)0) {
-                       struct tm *tm1;
-                       (void)time(&now);
-                       tm1 = localtime(&now);
-                       if (tm1 == NULL)
-                               return "*Invalid time*";
-                       daylight = tm1->tm_isdst;
-               }
-#endif /* HAVE_TM_ISDST */
-#endif /* HAVE_DAYLIGHT */
-               if (daylight)
-                       t += 3600;
-               tm = gmtime(&t);
-               if (tm == NULL)
-                       return "*Invalid time*";
-               pp = asctime(tm);
-       }
-
-       if ((rt = strchr(pp, '\n')) != NULL)
-               *rt = '\0';
-       return pp;
-}
diff --git a/file/src/readelf.c b/file/src/readelf.c
deleted file mode 100644 (file)
index 6ca3ed9..0000000
+++ /dev/null
@@ -1,887 +0,0 @@
-/*
- * Copyright (c) Christos Zoulas 2003.
- * All Rights Reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#include "file.h"
-
-#ifdef BUILTIN_ELF
-#include <string.h>
-#include <ctype.h>
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include "readelf.h"
-
-#ifndef lint
-FILE_RCSID("@(#)$Id: readelf.c,v 1.47 2005/06/25 15:52:14 christos Exp $")
-#endif
-
-#ifdef ELFCORE
-private int dophn_core(struct magic_set *ms, int class, int swap, int fd, off_t off, int num, size_t size)
-       /*@modifies ms @*/;
-#endif
-private int dophn_exec(struct magic_set *ms, int class, int swap, int fd, off_t off, int num, size_t size)
-       /*@modifies ms @*/;
-private int doshn(struct magic_set *ms, int class, int swap, int fd, off_t off, int num, size_t size)
-       /*@modifies ms @*/;
-private size_t donote(struct magic_set *ms, unsigned char *nbuf, size_t offset, size_t size, int class,
-    int swap, size_t align)
-       /*@modifies ms @*/;
-
-#define        ELF_ALIGN(a)    ((((a) + align - 1) / align) * align)
-
-private uint16_t getu16(int swap, uint16_t value)
-       /*@*/;
-private uint32_t getu32(int swap, uint32_t value)
-       /*@*/;
-private uint64_t getu64(int swap, uint64_t value)
-       /*@*/;
-
-private uint16_t
-getu16(int swap, uint16_t value)
-{
-       union {
-               uint16_t ui;
-               char c[2];
-       } retval, tmpval;
-
-       if (swap) {
-               tmpval.ui = value;
-
-               retval.c[0] = tmpval.c[1];
-               retval.c[1] = tmpval.c[0];
-               
-               return retval.ui;
-       } else
-               return value;
-}
-
-private uint32_t
-getu32(int swap, uint32_t value)
-{
-       union {
-               uint32_t ui;
-               char c[4];
-       } retval, tmpval;
-
-       if (swap) {
-               tmpval.ui = value;
-
-               retval.c[0] = tmpval.c[3];
-               retval.c[1] = tmpval.c[2];
-               retval.c[2] = tmpval.c[1];
-               retval.c[3] = tmpval.c[0];
-               
-               return retval.ui;
-       } else
-               return value;
-}
-
-private uint64_t
-getu64(int swap, uint64_t value)
-{
-       union {
-               uint64_t ui;
-               char c[8];
-       } retval, tmpval;
-
-       if (swap) {
-               tmpval.ui = value;
-
-               retval.c[0] = tmpval.c[7];
-               retval.c[1] = tmpval.c[6];
-               retval.c[2] = tmpval.c[5];
-               retval.c[3] = tmpval.c[4];
-               retval.c[4] = tmpval.c[3];
-               retval.c[5] = tmpval.c[2];
-               retval.c[6] = tmpval.c[1];
-               retval.c[7] = tmpval.c[0];
-               
-               return retval.ui;
-       } else
-               return value;
-}
-
-#define sh_addr                (class == ELFCLASS32            \
-                        ? (void *) &sh32               \
-                        : (void *) &sh64)
-#define sh_size                (class == ELFCLASS32            \
-                        ? sizeof sh32                  \
-                        : sizeof sh64)
-#define shs_type       (class == ELFCLASS32            \
-                        ? getu32(swap, sh32.sh_type)   \
-                        : getu32(swap, sh64.sh_type))
-#define ph_addr                (class == ELFCLASS32            \
-                        ? (void *) &ph32               \
-                        : (void *) &ph64)
-#define ph_size                (class == ELFCLASS32            \
-                        ? sizeof ph32                  \
-                        : sizeof ph64)
-#define ph_type                (class == ELFCLASS32            \
-                        ? getu32(swap, ph32.p_type)    \
-                        : getu32(swap, ph64.p_type))
-#define ph_offset      (class == ELFCLASS32            \
-                        ? getu32(swap, ph32.p_offset)  \
-                        : getu64(swap, ph64.p_offset))
-#define ph_align       (size_t)((class == ELFCLASS32   \
-                        ? (off_t) (ph32.p_align ?      \
-                           getu32(swap, ph32.p_align) : 4) \
-                        : (off_t) (ph64.p_align ?      \
-                           getu64(swap, ph64.p_align) : 4)))
-#define ph_filesz      (size_t)((class == ELFCLASS32   \
-                        ? getu32(swap, ph32.p_filesz)  \
-                        : getu64(swap, ph64.p_filesz)))
-#define ph_memsz       (size_t)((class == ELFCLASS32   \
-                        ? getu32(swap, ph32.p_memsz)   \
-                        : getu64(swap, ph64.p_memsz)))
-#define nh_size                (class == ELFCLASS32            \
-                        ? sizeof nh32                  \
-                        : sizeof nh64)
-#define nh_type                (class == ELFCLASS32            \
-                        ? getu32(swap, nh32.n_type)    \
-                        : getu32(swap, nh64.n_type))
-#define nh_namesz      (class == ELFCLASS32            \
-                        ? getu32(swap, nh32.n_namesz)  \
-                        : getu32(swap, nh64.n_namesz))
-#define nh_descsz      (class == ELFCLASS32            \
-                        ? getu32(swap, nh32.n_descsz)  \
-                        : getu32(swap, nh64.n_descsz))
-#define prpsoffsets(i) (class == ELFCLASS32            \
-                        ? prpsoffsets32[i]             \
-                        : prpsoffsets64[i])
-
-#ifdef ELFCORE
-/*@unchecked@*/ /*@observer@*/
-size_t prpsoffsets32[] = {
-       8,              /* FreeBSD */
-       28,             /* Linux 2.0.36 */
-       32,             /* Linux (I forget which kernel version) */
-       84,             /* SunOS 5.x */
-};
-
-/*@unchecked@*/ /*@observer@*/
-size_t prpsoffsets64[] = {
-       40,             /* Linux (tested on core from 2.4.x) */
-       120,            /* SunOS 5.x, 64-bit */
-};
-
-#define        NOFFSETS32      (sizeof prpsoffsets32 / sizeof prpsoffsets32[0])
-#define NOFFSETS64     (sizeof prpsoffsets64 / sizeof prpsoffsets64[0])
-
-#define NOFFSETS       (class == ELFCLASS32 ? NOFFSETS32 : NOFFSETS64)
-
-/*
- * Look through the program headers of an executable image, searching
- * for a PT_NOTE section of type NT_PRPSINFO, with a name "CORE" or
- * "FreeBSD"; if one is found, try looking in various places in its
- * contents for a 16-character string containing only printable
- * characters - if found, that string should be the name of the program
- * that dropped core.  Note: right after that 16-character string is,
- * at least in SunOS 5.x (and possibly other SVR4-flavored systems) and
- * Linux, a longer string (80 characters, in 5.x, probably other
- * SVR4-flavored systems, and Linux) containing the start of the
- * command line for that program.
- *
- * The signal number probably appears in a section of type NT_PRSTATUS,
- * but that's also rather OS-dependent, in ways that are harder to
- * dissect with heuristics, so I'm not bothering with the signal number.
- * (I suppose the signal number could be of interest in situations where
- * you don't have the binary of the program that dropped core; if you
- * *do* have that binary, the debugger will probably tell you what
- * signal it was.)
- */
-
-#define        OS_STYLE_SVR4           0
-#define        OS_STYLE_FREEBSD        1
-#define        OS_STYLE_NETBSD         2
-
-/*@unchecked@*/ /*@observer@*/
-private const char *os_style_names[] = {
-       "SVR4",
-       "FreeBSD",
-       "NetBSD",
-};
-
-private int
-dophn_core(struct magic_set *ms, int class, int swap, int fd, off_t off,
-    int num, size_t size)
-{
-       Elf32_Phdr ph32;
-       Elf64_Phdr ph64;
-       size_t offset;
-       unsigned char nbuf[BUFSIZ];
-       ssize_t bufsize;
-
-       if (size != ph_size) {
-               if (file_printf(ms, ", corrupted program header size") == -1)
-                       return -1;
-               return 0;
-       }
-       /*
-        * Loop through all the program headers.
-        */
-       for ( ; num; num--) {
-               if (lseek(fd, off, SEEK_SET) == (off_t)-1) {
-                       file_badseek(ms);
-                       return -1;
-               }
-               if (read(fd, ph_addr, ph_size) == -1) {
-                       file_badread(ms);
-                       return -1;
-               }
-               off += size;
-               if (ph_type != PT_NOTE)
-                       continue;
-
-               /*
-                * This is a PT_NOTE section; loop through all the notes
-                * in the section.
-                */
-               if (lseek(fd, (off_t) ph_offset, SEEK_SET) == (off_t)-1) {
-                       file_badseek(ms);
-                       return -1;
-               }
-               bufsize = read(fd, nbuf,
-                   ((ph_filesz < sizeof(nbuf)) ? ph_filesz : sizeof(nbuf)));
-               if (bufsize == -1) {
-                       file_badread(ms);
-                       return -1;
-               }
-               offset = 0;
-               for (;;) {
-                       if (offset >= (size_t)bufsize)
-                               /*@innerbreak@*/ break;
-                       offset = donote(ms, nbuf, offset, (size_t)bufsize,
-                           class, swap, 4);
-                       if (offset == 0)
-                               /*@innerbreak@*/ break;
-
-               }
-       }
-       return 0;
-}
-#endif
-
-private size_t
-donote(struct magic_set *ms, unsigned char *nbuf, size_t offset, size_t size,
-    int class, int swap, size_t align)
-{
-       Elf32_Nhdr nh32;
-       Elf64_Nhdr nh64;
-       size_t noff, doff;
-#ifdef ELFCORE
-       int os_style = -1;
-#endif
-       uint32_t namesz, descsz;
-
-       if (class == ELFCLASS32)
-               memcpy(&nh32, &nbuf[offset], sizeof(nh32));
-       else
-               memcpy(&nh64, &nbuf[offset], sizeof(nh64));
-       offset += nh_size;
-
-       namesz = nh_namesz;
-       descsz = nh_descsz;
-       if ((namesz == 0) && (descsz == 0)) {
-               /*
-                * We're out of note headers.
-                */
-               return offset;
-       }
-
-       if (namesz & 0x80000000) {
-           (void)file_printf(ms, ", bad note name size 0x%lx",
-               (unsigned long)namesz);
-           return offset;
-       }
-
-       if (descsz & 0x80000000) {
-           (void)file_printf(ms, ", bad note description size 0x%lx",
-               (unsigned long)descsz);
-           return offset;
-       }
-
-
-       noff = offset;
-       doff = ELF_ALIGN(offset + namesz);
-
-       if (offset + namesz > size) {
-               /*
-                * We're past the end of the buffer.
-                */
-               return doff;
-       }
-
-       offset = ELF_ALIGN(doff + descsz);
-       if (doff + descsz > size) {
-               return offset;
-       }
-
-       if (namesz == 4 && strcmp((char *)&nbuf[noff], "GNU") == 0 &&
-           nh_type == NT_GNU_VERSION && descsz == 16) {
-               uint32_t desc[4];
-               (void)memcpy(desc, &nbuf[doff], sizeof(desc));
-
-               if (file_printf(ms, ", for GNU/") == -1)
-                       return size;
-               switch (getu32(swap, desc[0])) {
-               case GNU_OS_LINUX:
-                       if (file_printf(ms, "Linux") == -1)
-                               return size;
-                       break;
-               case GNU_OS_HURD:
-                       if (file_printf(ms, "Hurd") == -1)
-                               return size;
-                       break;
-               case GNU_OS_SOLARIS:
-                       if (file_printf(ms, "Solaris") == -1)
-                               return size;
-                       break;
-               default:
-                       if (file_printf(ms, "<unknown>") == -1)
-                               return size; 
-               }
-               if (file_printf(ms, " %d.%d.%d", getu32(swap, desc[1]),
-                   getu32(swap, desc[2]), getu32(swap, desc[3])) == -1)
-                       return size;
-               return size;
-       }
-
-       if (namesz == 7 && strcmp((char *)&nbuf[noff], "NetBSD") == 0 &&
-           nh_type == NT_NETBSD_VERSION && descsz == 4) {
-               uint32_t desc;
-               (void)memcpy(&desc, &nbuf[doff], sizeof(desc));
-               desc = getu32(swap, desc);
-
-               if (file_printf(ms, ", for NetBSD") == -1)
-                       return size;
-               /*
-                * The version number used to be stuck as 199905, and was thus
-                * basically content-free.  Newer versions of NetBSD have fixed
-                * this and now use the encoding of __NetBSD_Version__:
-                *
-                *      MMmmrrpp00
-                *
-                * M = major version
-                * m = minor version
-                * r = release ["",A-Z,Z[A-Z] but numeric]
-                * p = patchlevel
-                */
-               if (desc > 100000000U) {
-                       u_int ver_patch = (desc / 100) % 100;
-                       u_int ver_rel = (desc / 10000) % 100;
-                       u_int ver_min = (desc / 1000000) % 100;
-                       u_int ver_maj = desc / 100000000;
-
-                       if (file_printf(ms, " %u.%u", ver_maj, ver_min) == -1)
-                               return size;
-                       if (ver_rel == 0 && ver_patch != 0) {
-                               if (file_printf(ms, ".%u", ver_patch) == -1)
-                                       return size;
-                       } else if (ver_rel != 0) {
-                               while (ver_rel > 26) {
-                                       file_printf(ms, "Z");
-                                       ver_rel -= 26;
-                               }
-                               file_printf(ms, "%c", 'A' + ver_rel - 1);
-                       }
-               }
-               return size;
-       }
-
-       if (namesz == 8 && strcmp((char *)&nbuf[noff], "FreeBSD") == 0 &&
-           nh_type == NT_FREEBSD_VERSION && descsz == 4) {
-               uint32_t desc;
-               (void)memcpy(&desc, &nbuf[doff], sizeof(desc));
-               desc = getu32(swap, desc);
-               if (file_printf(ms, ", for FreeBSD") == -1)
-                       return size;
-
-               /*
-                * Contents is __FreeBSD_version, whose relation to OS
-                * versions is defined by a huge table in the Porter's
-                * Handbook.  This is the general scheme:
-                * 
-                * Releases:
-                *      Mmp000 (before 4.10)
-                *      Mmi0p0 (before 5.0)
-                *      Mmm0p0
-                * 
-                * Development branches:
-                *      Mmpxxx (before 4.6)
-                *      Mmp1xx (before 4.10)
-                *      Mmi1xx (before 5.0)
-                *      M000xx (pre-M.0)
-                *      Mmm1xx
-                * 
-                * M = major version
-                * m = minor version
-                * i = minor version increment (491000 -> 4.10)
-                * p = patchlevel
-                * x = revision
-                * 
-                * The first release of FreeBSD to use ELF by default
-                * was version 3.0.
-                */
-               if (desc == 460002) {
-                       if (file_printf(ms, " 4.6.2") == -1)
-                               return size;
-               } else if (desc < 460100) {
-                       if (file_printf(ms, " %d.%d", desc / 100000,
-                           desc / 10000 % 10) == -1)
-                               return size;
-                       if (desc / 1000 % 10 > 0)
-                               if (file_printf(ms, ".%d", desc / 1000 % 10)
-                                   == -1)
-                                       return size;
-                       if ((desc % 1000 > 0) || (desc % 100000 == 0))
-                               if (file_printf(ms, " (%d)", desc) == -1)
-                                       return size;
-               } else if (desc < 500000) {
-                       if (file_printf(ms, " %d.%d", desc / 100000,
-                           desc / 10000 % 10 + desc / 1000 % 10) == -1)
-                               return size;
-                       if (desc / 100 % 10 > 0) {
-                               if (file_printf(ms, " (%d)", desc) == -1)
-                                       return size;
-                       } else if (desc / 10 % 10 > 0) {
-                               if (file_printf(ms, ".%d", desc / 10 % 10)
-                                   == -1)
-                                       return size;
-                       }
-               } else {
-                       if (file_printf(ms, " %d.%d", desc / 100000,
-                           desc / 1000 % 100) == -1)
-                               return size;
-                       if ((desc / 100 % 10 > 0) ||
-                           (desc % 100000 / 100 == 0)) {
-                               if (file_printf(ms, " (%d)", desc) == -1)
-                                       return size;
-                       } else if (desc / 10 % 10 > 0) {
-                               if (file_printf(ms, ".%d", desc / 10 % 10)
-                                   == -1)
-                                       return size;
-                       }
-               }
-               return size;
-       }
-
-       if (namesz == 8 && strcmp((char *)&nbuf[noff], "OpenBSD") == 0 &&
-           nh_type == NT_OPENBSD_VERSION && descsz == 4) {
-               if (file_printf(ms, ", for OpenBSD") == -1)
-                       return size;
-               /* Content of note is always 0 */
-               return size;
-       }
-
-       if (namesz == 10 && strcmp((char *)&nbuf[noff], "DragonFly") == 0 &&
-           nh_type == NT_DRAGONFLY_VERSION && descsz == 4) {
-               uint32_t desc;
-               if (file_printf(ms, ", for DragonFly") == -1)
-                       return size;
-               (void)memcpy(&desc, &nbuf[doff], sizeof(desc));
-               desc = getu32(swap, desc);
-               if (file_printf(ms, " %d.%d.%d", desc / 100000,
-                   desc / 10000 % 10, desc % 10000) == -1)
-                       return size;
-               return size;
-       }
-
-       /*
-        * Sigh.  The 2.0.36 kernel in Debian 2.1, at
-        * least, doesn't correctly implement name
-        * sections, in core dumps, as specified by
-        * the "Program Linking" section of "UNIX(R) System
-        * V Release 4 Programmer's Guide: ANSI C and
-        * Programming Support Tools", because my copy
-        * clearly says "The first 'namesz' bytes in 'name'
-        * contain a *null-terminated* [emphasis mine]
-        * character representation of the entry's owner
-        * or originator", but the 2.0.36 kernel code
-        * doesn't include the terminating null in the
-        * name....
-        */
-       if ((namesz == 4 && strncmp((char *)&nbuf[noff], "CORE", 4) == 0) ||
-           (namesz == 5 && strcmp((char *)&nbuf[noff], "CORE") == 0)) {
-               os_style = OS_STYLE_SVR4;
-       } 
-
-       if ((namesz == 8 && strcmp((char *)&nbuf[noff], "FreeBSD") == 0)) {
-               os_style = OS_STYLE_FREEBSD;
-       }
-
-       if ((namesz >= 11 && strncmp((char *)&nbuf[noff], "NetBSD-CORE", 11)
-           == 0)) {
-               os_style = OS_STYLE_NETBSD;
-       }
-
-#ifdef ELFCORE
-       if (os_style != -1)
-               if (file_printf(ms, ", %s-style", os_style_names[os_style]) == -1)
-                       return size;
-
-       if (os_style == OS_STYLE_NETBSD && nh_type == NT_NETBSD_CORE_PROCINFO) {
-               uint32_t signo;
-               /*
-                * Extract the program name.  It is at
-                * offset 0x7c, and is up to 32-bytes,
-                * including the terminating NUL.
-                */
-               if (file_printf(ms, ", from '%.31s'", &nbuf[doff + 0x7c]) == -1)
-                       return size;
-               
-               /*
-                * Extract the signal number.  It is at
-                * offset 0x08.
-                */
-               memcpy(&signo, &nbuf[doff + 0x08],
-                   sizeof(signo));
-               if (file_printf(ms, " (signal %u)", getu32(swap, signo)) == -1)
-                       return size;
-               return size;
-       } else if (os_style != OS_STYLE_NETBSD && nh_type == NT_PRPSINFO) {
-               size_t i, j;
-               unsigned char c;
-               /*
-                * Extract the program name.  We assume
-                * it to be 16 characters (that's what it
-                * is in SunOS 5.x and Linux).
-                *
-                * Unfortunately, it's at a different offset
-                * in varous OSes, so try multiple offsets.
-                * If the characters aren't all printable,
-                * reject it.
-                */
-               for (i = 0; i < NOFFSETS; i++) {
-                       size_t reloffset = prpsoffsets(i);
-                       size_t noffset = doff + reloffset;
-                       for (j = 0; j < 16; j++, noffset++, reloffset++) {
-                               /*
-                                * Make sure we're not past
-                                * the end of the buffer; if
-                                * we are, just give up.
-                                */
-                               if (noffset >= size)
-                                       goto tryanother;
-
-                               /*
-                                * Make sure we're not past
-                                * the end of the contents;
-                                * if we are, this obviously
-                                * isn't the right offset.
-                                */
-                               if (reloffset >= descsz)
-                                       goto tryanother;
-
-                               c = nbuf[noffset];
-                               if (c == '\0') {
-                                       /*
-                                        * A '\0' at the
-                                        * beginning is
-                                        * obviously wrong.
-                                        * Any other '\0'
-                                        * means we're done.
-                                        */
-                                       if (j == 0)
-                                               goto tryanother;
-                                       else
-                                               /*@innerbreak@*/ break;
-                               } else {
-                                       /*
-                                        * A nonprintable
-                                        * character is also
-                                        * wrong.
-                                        */
-#define isquote(c) (strchr("'\"`", (c)) != NULL)
-                                       if (!isprint(c) || isquote(c))
-                                               goto tryanother;
-                               }
-                       }
-
-                       /*
-                        * Well, that worked.
-                        */
-                       if (file_printf(ms, ", from '%.16s'",
-                           &nbuf[doff + prpsoffsets(i)]) == -1)
-                               return size;
-                       return size;
-
-               tryanother:
-                       ;
-               }
-               return offset;
-       }
-#endif
-       return offset;
-}
-
-private int
-doshn(struct magic_set *ms, int class, int swap, int fd, off_t off, int num,
-    size_t size)
-{
-       Elf32_Shdr sh32;
-       Elf64_Shdr sh64;
-
-       if (size != sh_size) {
-               if (file_printf(ms, ", corrupted section header size") == -1)
-                       return -1;
-               return 0;
-       }
-
-       if (lseek(fd, off, SEEK_SET) == (off_t)-1) {
-               file_badseek(ms);
-               return -1;
-       }
-
-       for ( ; num; num--) {
-               if (read(fd, sh_addr, sh_size) == -1) {
-                       file_badread(ms);
-                       return -1;
-               }
-               if (shs_type == SHT_SYMTAB /* || shs_type == SHT_DYNSYM */) {
-                       if (file_printf(ms, ", not stripped") == -1)
-                               return -1;
-                       return 0;
-               }
-       }
-       if (file_printf(ms, ", stripped") == -1)
-               return -1;
-       return 0;
-}
-
-/*
- * Look through the program headers of an executable image, searching
- * for a PT_INTERP section; if one is found, it's dynamically linked,
- * otherwise it's statically linked.
- */
-private int
-dophn_exec(struct magic_set *ms, int class, int swap, int fd, off_t off,
-    int num, size_t size)
-{
-       Elf32_Phdr ph32;
-       Elf64_Phdr ph64;
-       const char *linking_style = "statically";
-       const char *shared_libraries = "";
-       unsigned char nbuf[BUFSIZ];
-       int bufsize;
-       size_t offset, align;
-       off_t savedoffset;
-
-       if (size != ph_size) {
-               if (file_printf(ms, ", corrupted program header size") == -1)
-                   return -1;
-               return 0;
-       }
-       if (lseek(fd, off, SEEK_SET) == (off_t)-1) {
-               file_badseek(ms);
-               return -1;
-       }
-
-       for ( ; num; num--) {
-               if (read(fd, ph_addr, ph_size) == -1) {
-                       file_badread(ms);
-                       return -1;
-               }
-               if ((savedoffset = lseek(fd, (off_t)0, SEEK_CUR)) == (off_t)-1) {
-                       file_badseek(ms);
-                       return -1;
-               }
-
-               switch (ph_type) {
-               case PT_DYNAMIC:
-                       linking_style = "dynamically";
-                       /*@switchbreak@*/ break;
-               case PT_INTERP:
-                       shared_libraries = " (uses shared libs)";
-                       /*@switchbreak@*/ break;
-               case PT_NOTE:
-                       if ((align = ph_align) & 0x80000000) {
-                               if (file_printf(ms, 
-                                   ", invalid note alignment 0x%lx",
-                                   (unsigned long)align) == -1)
-                                       return -1;
-                               align = 4;
-                       }
-                       /*
-                        * This is a PT_NOTE section; loop through all the notes
-                        * in the section.
-                        */
-                       if (lseek(fd, (off_t) ph_offset, SEEK_SET)
-                           == (off_t)-1) {
-                               file_badseek(ms);
-                               return -1;
-                       }
-                       bufsize = read(fd, nbuf, ((ph_filesz < sizeof(nbuf)) ?
-                           ph_filesz : sizeof(nbuf)));
-                       if (bufsize == -1) {
-                               file_badread(ms);
-                               return -1;
-                       }
-                       offset = 0;
-                       for (;;) {
-                               if (offset >= (size_t)bufsize)
-                                       /*@innerbreak@*/ break;
-                               offset = donote(ms, nbuf, offset,
-                                   (size_t)bufsize, class, swap, align);
-                               if (offset == 0)
-                                       /*@innerbreak@*/ break;
-                       }
-                       if (lseek(fd, savedoffset, SEEK_SET) == (off_t)-1) {
-                               file_badseek(ms);
-                               return -1;
-                       }
-                       /*@switchbreak@*/ break;
-               }
-       }
-       if (file_printf(ms, ", %s linked%s", linking_style, shared_libraries)
-           == -1)
-           return -1;
-       return 0;
-}
-
-
-protected int
-file_tryelf(struct magic_set *ms, int fd, const unsigned char *buf,
-    size_t nbytes)
-{
-       union {
-               int32_t l;
-               char c[sizeof (int32_t)];
-       } u;
-       int class;
-       int swap;
-
-       /*
-        * If we cannot seek, it must be a pipe, socket or fifo.
-        */
-       if((lseek(fd, (off_t)0, SEEK_SET) == (off_t)-1) && (errno == ESPIPE))
-               fd = file_pipe2file(ms, fd, buf, nbytes);
-
-       /*
-        * ELF executables have multiple section headers in arbitrary
-        * file locations and thus file(1) cannot determine it from easily.
-        * Instead we traverse thru all section headers until a symbol table
-        * one is found or else the binary is stripped.
-        */
-       if (buf[EI_MAG0] != ELFMAG0
-           || (buf[EI_MAG1] != ELFMAG1 && buf[EI_MAG1] != OLFMAG1)
-           || buf[EI_MAG2] != ELFMAG2 || buf[EI_MAG3] != ELFMAG3)
-           return 0;
-
-
-       class = buf[4];
-
-       if (class == ELFCLASS32) {
-               Elf32_Ehdr elfhdr;
-               if (nbytes <= sizeof (Elf32_Ehdr))
-                       return 0;
-
-
-               u.l = 1;
-               (void) memcpy(&elfhdr, buf, sizeof elfhdr);
-               swap = (u.c[sizeof(int32_t) - 1] + 1) != elfhdr.e_ident[5];
-
-               if (getu16(swap, elfhdr.e_type) == ET_CORE) {
-#ifdef ELFCORE
-                       if (dophn_core(ms, class, swap, fd,
-                           (off_t)getu32(swap, elfhdr.e_phoff),
-                           getu16(swap, elfhdr.e_phnum), 
-                           (size_t)getu16(swap, elfhdr.e_phentsize)) == -1)
-                               return -1;
-#else
-                       ;
-#endif
-               } else {
-                       if (getu16(swap, elfhdr.e_type) == ET_EXEC) {
-                               if (dophn_exec(ms, class, swap,
-                                   fd, (off_t)getu32(swap, elfhdr.e_phoff),
-                                   getu16(swap, elfhdr.e_phnum), 
-                                   (size_t)getu16(swap, elfhdr.e_phentsize))
-                                   == -1)
-                                       return -1;
-                       }
-                       if (doshn(ms, class, swap, fd,
-                           (off_t)getu32(swap, elfhdr.e_shoff),
-                           getu16(swap, elfhdr.e_shnum),
-                           (size_t)getu16(swap, elfhdr.e_shentsize)) == -1)
-                               return -1;
-               }
-               return 1;
-       }
-
-        if (class == ELFCLASS64) {
-               Elf64_Ehdr elfhdr;
-               if (nbytes <= sizeof (Elf64_Ehdr))
-                       return 0;
-
-
-               u.l = 1;
-               (void) memcpy(&elfhdr, buf, sizeof elfhdr);
-               swap = (u.c[sizeof(int32_t) - 1] + 1) != elfhdr.e_ident[5];
-
-               if (getu16(swap, elfhdr.e_type) == ET_CORE) {
-#ifdef ELFCORE
-                       if (dophn_core(ms, class, swap, fd,
-#ifdef USE_ARRAY_FOR_64BIT_TYPES
-                           (off_t)getu32(swap, elfhdr.e_phoff[1]),
-#else
-                           (off_t)getu64(swap, elfhdr.e_phoff),
-#endif
-                           getu16(swap, elfhdr.e_phnum), 
-                           (size_t)getu16(swap, elfhdr.e_phentsize)) == -1)
-                               return -1;
-#else
-                       ;
-#endif
-               } else {
-                       if (getu16(swap, elfhdr.e_type) == ET_EXEC) {
-                               if (dophn_exec(ms, class, swap, fd,
-#ifdef USE_ARRAY_FOR_64BIT_TYPES
-                                   (off_t)getu32(swap, elfhdr.e_phoff[1]),
-#else
-                                   (off_t)getu64(swap, elfhdr.e_phoff),
-#endif
-                                   getu16(swap, elfhdr.e_phnum), 
-                                   (size_t)getu16(swap, elfhdr.e_phentsize))
-                                   == -1)
-                                       return -1;
-                       }
-                       if (doshn(ms, class, swap, fd,
-#ifdef USE_ARRAY_FOR_64BIT_TYPES
-                           (off_t)getu32(swap, elfhdr.e_shoff[1]),
-#else
-                           (off_t)getu64(swap, elfhdr.e_shoff),
-#endif
-                           getu16(swap, elfhdr.e_shnum),
-                           (size_t)getu16(swap, elfhdr.e_shentsize)) == -1)
-                               return -1;
-               }
-               return 1;
-       }
-       return 0;
-}
-#endif
diff --git a/file/src/readelf.h b/file/src/readelf.h
deleted file mode 100644 (file)
index fb25dcc..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * Copyright (c) Christos Zoulas 2003.
- * All Rights Reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * @(#)Id: readelf.h,v 1.9 2002/05/16 18:45:56 christos Exp
- *
- * Provide elf data structures for non-elf machines, allowing file
- * non-elf hosts to determine if an elf binary is stripped.
- * Note: cobbled from the linux header file, with modifications
- */
-#ifndef __fake_elf_h__
-#define __fake_elf_h__
-
-#if HAVE_STDINT_H
-#include <stdint.h>
-#endif
-
-typedef uint32_t       Elf32_Addr;
-typedef uint32_t       Elf32_Off;
-typedef uint16_t       Elf32_Half;
-typedef uint32_t       Elf32_Word;
-typedef uint8_t                Elf32_Char;
-
-#if SIZEOF_UINT64_T != 8
-#define USE_ARRAY_FOR_64BIT_TYPES
-typedef        uint32_t        Elf64_Addr[2];
-typedef        uint32_t        Elf64_Off[2];
-typedef uint32_t       Elf64_Xword[2];
-#else
-typedef        uint64_t        Elf64_Addr;
-typedef        uint64_t        Elf64_Off;
-typedef uint64_t       Elf64_Xword;
-#endif
-typedef uint16_t       Elf64_Half;
-typedef uint32_t       Elf64_Word;
-typedef uint8_t                Elf64_Char;
-
-#define EI_NIDENT      16
-
-typedef struct {
-    Elf32_Char e_ident[EI_NIDENT];
-    Elf32_Half e_type;
-    Elf32_Half e_machine;
-    Elf32_Word e_version;
-    Elf32_Addr e_entry;  /* Entry point */
-    Elf32_Off  e_phoff;
-    Elf32_Off  e_shoff;
-    Elf32_Word e_flags;
-    Elf32_Half e_ehsize;
-    Elf32_Half e_phentsize;
-    Elf32_Half e_phnum;
-    Elf32_Half e_shentsize;
-    Elf32_Half e_shnum;
-    Elf32_Half e_shstrndx;
-} Elf32_Ehdr;
-
-typedef struct {
-    Elf64_Char e_ident[EI_NIDENT];
-    Elf64_Half e_type;
-    Elf64_Half e_machine;
-    Elf64_Word e_version;
-    Elf64_Addr e_entry;  /* Entry point */
-    Elf64_Off  e_phoff;
-    Elf64_Off  e_shoff;
-    Elf64_Word e_flags;
-    Elf64_Half e_ehsize;
-    Elf64_Half e_phentsize;
-    Elf64_Half e_phnum;
-    Elf64_Half e_shentsize;
-    Elf64_Half e_shnum;
-    Elf64_Half e_shstrndx;
-} Elf64_Ehdr;
-
-/* e_type */
-#define ET_EXEC                2
-#define ET_CORE                4
-
-/* sh_type */
-#define SHT_SYMTAB     2
-#define SHT_NOTE       7
-#define SHT_DYNSYM     11
-
-/* elf type */
-#define ELFDATANONE    0               /* e_ident[EI_DATA] */
-#define ELFDATA2LSB    1
-#define ELFDATA2MSB    2
-
-/* elf class */
-#define ELFCLASSNONE   0
-#define ELFCLASS32     1
-#define ELFCLASS64     2
-
-/* magic number */
-#define        EI_MAG0         0               /* e_ident[] indexes */
-#define        EI_MAG1         1
-#define        EI_MAG2         2
-#define        EI_MAG3         3
-#define        EI_CLASS        4
-#define        EI_DATA         5
-#define        EI_VERSION      6
-#define        EI_PAD          7
-
-#define        ELFMAG0         0x7f            /* EI_MAG */
-#define        ELFMAG1         'E'
-#define        ELFMAG2         'L'
-#define        ELFMAG3         'F'
-#define        ELFMAG          "\177ELF"
-
-#define        OLFMAG1         'O'
-#define        OLFMAG          "\177OLF"
-
-typedef struct {
-    Elf32_Word p_type;
-    Elf32_Off  p_offset;
-    Elf32_Addr p_vaddr;
-    Elf32_Addr p_paddr;
-    Elf32_Word p_filesz;
-    Elf32_Word p_memsz;
-    Elf32_Word p_flags;
-    Elf32_Word p_align;
-} Elf32_Phdr;
-
-typedef struct {
-    Elf64_Word p_type;
-    Elf64_Word p_flags;
-    Elf64_Off  p_offset;
-    Elf64_Addr p_vaddr;
-    Elf64_Addr p_paddr;
-    Elf64_Xword        p_filesz;
-    Elf64_Xword        p_memsz;
-    Elf64_Xword        p_align;
-} Elf64_Phdr;
-
-#define        PT_NULL         0               /* p_type */
-#define        PT_LOAD         1
-#define        PT_DYNAMIC      2
-#define        PT_INTERP       3
-#define        PT_NOTE         4
-#define        PT_SHLIB        5
-#define        PT_PHDR         6
-#define        PT_NUM          7
-
-typedef struct {
-    Elf32_Word sh_name;
-    Elf32_Word sh_type;
-    Elf32_Word sh_flags;
-    Elf32_Addr sh_addr;
-    Elf32_Off  sh_offset;
-    Elf32_Word sh_size;
-    Elf32_Word sh_link;
-    Elf32_Word sh_info;
-    Elf32_Word sh_addralign;
-    Elf32_Word sh_entsize;
-} Elf32_Shdr;
-
-typedef struct {
-    Elf64_Word sh_name;
-    Elf64_Word sh_type;
-    Elf64_Off  sh_flags;
-    Elf64_Addr sh_addr;
-    Elf64_Off  sh_offset;
-    Elf64_Off  sh_size;
-    Elf64_Word sh_link;
-    Elf64_Word sh_info;
-    Elf64_Off  sh_addralign;
-    Elf64_Off  sh_entsize;
-} Elf64_Shdr;
-
-/* Notes used in ET_CORE */
-#define NT_PRSTATUS    1
-#define NT_PRFPREG     2
-#define NT_PRPSINFO    3
-#define NT_TASKSTRUCT  4
-
-#define        NT_NETBSD_CORE_PROCINFO         1
-
-/* Note header in a PT_NOTE section */
-typedef struct elf_note {
-    Elf32_Word n_namesz;       /* Name size */
-    Elf32_Word n_descsz;       /* Content size */
-    Elf32_Word n_type;         /* Content type */
-} Elf32_Nhdr;
-
-typedef struct {
-    Elf64_Word n_namesz;
-    Elf64_Word n_descsz;
-    Elf64_Word n_type;
-} Elf64_Nhdr;
-
-#define        NT_PRSTATUS     1
-#define        NT_PRFPREG      2
-#define        NT_PRPSINFO     3
-#define        NT_PRXREG       4
-#define        NT_PLATFORM     5
-#define        NT_AUXV         6
-
-/* Note types used in executables */
-/* NetBSD executables (name = "NetBSD") */
-#define NT_NETBSD_VERSION      1
-#define NT_NETBSD_EMULATION    2
-#define NT_FREEBSD_VERSION     1
-#define NT_OPENBSD_VERSION     1
-#define NT_DRAGONFLY_VERSION   1
-/* GNU executables (name = "GNU") */
-#define NT_GNU_VERSION         1
-
-/* GNU OS tags */
-#define GNU_OS_LINUX   0
-#define GNU_OS_HURD    1
-#define GNU_OS_SOLARIS 2
-
-#endif
diff --git a/file/src/softmagic.c b/file/src/softmagic.c
deleted file mode 100644 (file)
index a314c65..0000000
+++ /dev/null
@@ -1,1405 +0,0 @@
-/*@-compdef@*/
-/*@-evalorder@*/
-/*@-sizeoftype@*/
-/*@-uniondef@*/
-/*@-usereleased@*/
-/*
- * Copyright (c) Ian F. Darwin 1986-1995.
- * Software written by Ian F. Darwin and others;
- * maintained 1995-present by Christos Zoulas and others.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * softmagic - interpret variable magic from MAGIC
- */
-
-#include "file.h"
-#include "magic.h"
-#include <string.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <time.h>
-#include <regex.h>
-
-
-#ifndef        lint
-FILE_RCSID("@(#)$Id: softmagic.c,v 1.76 2005/10/17 19:04:36 christos Exp $")
-#endif /* lint */
-
-private int match(struct magic_set *ms, struct magic *magic, uint32_t nmagic,
-    const unsigned char *s, size_t nbytes)
-       /*@globals fileSystem @*/
-       /*@modifies ms, magic, fileSystem @*/;
-private int mget(struct magic_set *ms, union VALUETYPE *p, const unsigned char *s,
-    struct magic *m, size_t nbytes, unsigned int cont_level)
-       /*@globals fileSystem @*/
-       /*@modifies ms, p, m, fileSystem @*/;
-private int mymcheck(struct magic_set *ms, union VALUETYPE *p, struct magic *m)
-       /*@globals fileSystem @*/
-       /*@modifies ms, p, m, fileSystem @*/;
-private int32_t mprint(struct magic_set *ms, union VALUETYPE *p, struct magic *m)      
-       /*@globals fileSystem @*/
-       /*@modifies ms, p, fileSystem @*/;
-private void mdebug(uint32_t offset, const char *str, size_t len)
-       /*@globals fileSystem @*/
-       /*@modifies fileSystem @*/;
-private int mcopy(struct magic_set *ms, union VALUETYPE *p, int type, int indir,
-    const unsigned char *s, size_t offset, size_t nbytes)
-       /*@modifies ms, p @*/;
-private int mconvert(struct magic_set *ms, union VALUETYPE *p, struct magic *m)
-       /*@modifies ms, p @*/;
-private int check_mem(struct magic_set *ms, unsigned int level)
-       /*@modifies ms @*/;
-
-/*
- * softmagic - lookup one file in database 
- * (already read from MAGIC by apprentice.c).
- * Passed the name and FILE * of one file to be typed.
- */
-/*ARGSUSED1*/          /* nbytes passed for regularity, maybe need later */
-protected int
-file_softmagic(struct magic_set *ms, const unsigned char *buf, size_t nbytes)
-{
-       struct mlist *ml;
-       for (ml = ms->mlist->next; ml != ms->mlist; ml = ml->next)
-               if (match(ms, ml->magic, ml->nmagic, buf, nbytes))
-                       return 1;
-
-       return 0;
-}
-
-/*
- * Go through the whole list, stopping if you find a match.  Process all
- * the continuations of that match before returning.
- *
- * We support multi-level continuations:
- *
- *     At any time when processing a successful top-level match, there is a
- *     current continuation level; it represents the level of the last
- *     successfully matched continuation.
- *
- *     Continuations above that level are skipped as, if we see one, it
- *     means that the continuation that controls them - i.e, the
- *     lower-level continuation preceding them - failed to match.
- *
- *     Continuations below that level are processed as, if we see one,
- *     it means we've finished processing or skipping higher-level
- *     continuations under the control of a successful or unsuccessful
- *     lower-level continuation, and are now seeing the next lower-level
- *     continuation and should process it.  The current continuation
- *     level reverts to the level of the one we're seeing.
- *
- *     Continuations at the current level are processed as, if we see
- *     one, there's no lower-level continuation that may have failed.
- *
- *     If a continuation matches, we bump the current continuation level
- *     so that higher-level continuations are processed.
- */
-private int
-match(struct magic_set *ms, struct magic *magic, uint32_t nmagic,
-    const unsigned char *s, size_t nbytes)
-{
-       uint32_t magindex = 0;
-       unsigned int cont_level = 0;
-       int need_separator = 0;
-       union VALUETYPE p;
-       int32_t oldoff = 0;
-       int returnval = 0; /* if a match is found it is set to 1*/
-       int firstline = 1; /* a flag to print X\n  X\n- X */
-
-       if (check_mem(ms, cont_level) == -1)
-               return -1;
-
-       for (magindex = 0; magindex < nmagic; magindex++) {
-               /* if main entry matches, print it... */
-               int flush = !mget(ms, &p, s, &magic[magindex], nbytes,
-                   cont_level);
-               if (flush) {
-                       if (magic[magindex].reln == '!') flush = 0;
-               } else {        
-                       switch (mymcheck(ms, &p, &magic[magindex])) {
-                       case -1:
-                               return -1;
-                       case 0:
-                               flush++;
-                               /*@switchbreak@*/ break;
-                       default:
-                               /*@switchbreak@*/ break;
-                       }
-               }
-               if (flush) {
-                       /* 
-                        * main entry didn't match,
-                        * flush its continuations
-                        */
-                       while (magindex < nmagic - 1 &&
-                              magic[magindex + 1].cont_level != 0)
-                              magindex++;
-                       continue;
-               }
-
-               if (!firstline) { /* we found another match */
-                       /* put a newline and '-' to do some simple formatting*/
-                       if (file_printf(ms, "\n- ") == -1)
-                               return -1;
-               }
-
-               if ((ms->c.off[cont_level] = mprint(ms, &p, &magic[magindex]))
-                   == -1)
-                       return -1;
-               /*
-                * If we printed something, we'll need to print
-                * a blank before we print something else.
-                */
-               if (magic[magindex].desc[0])
-                       need_separator = 1;
-               /* and any continuations that match */
-               if (check_mem(ms, ++cont_level) == -1)
-                       return -1;
-
-               while (magic[magindex+1].cont_level != 0 && 
-                      ++magindex < nmagic) {
-                       if (cont_level < magic[magindex].cont_level)
-                               /*@innercontinue@*/ continue;
-                       if (cont_level > magic[magindex].cont_level) {
-                               /*
-                                * We're at the end of the level
-                                * "cont_level" continuations.
-                                */
-                               cont_level = magic[magindex].cont_level;
-                       }
-                       oldoff = magic[magindex].offset;
-                       if (magic[magindex].flag & OFFADD) {
-                               magic[magindex].offset +=
-                                   ms->c.off[cont_level - 1];
-                       }
-
-                       flush = !mget(ms, &p, s, &magic[magindex], nbytes,
-                           cont_level);
-                       if (flush && magic[magindex].reln != '!')
-                               goto done;
-                               
-                       switch (flush ? 1 : mymcheck(ms, &p, &magic[magindex])) {
-                       case -1:
-                               return -1;
-                       case 0:
-                               /*@switchbreak@*/ break;
-                       default:
-                               /*
-                                * This continuation matched.
-                                * Print its message, with
-                                * a blank before it if
-                                * the previous item printed
-                                * and this item isn't empty.
-                                */
-                               /* space if previous printed */
-                               if (need_separator
-                                   && (magic[magindex].nospflag == 0)
-                                  && (magic[magindex].desc[0] != '\0')) {
-                                       if (file_printf(ms, " ") == -1)
-                                               return -1;
-                                       need_separator = 0;
-                               }
-                               if ((ms->c.off[cont_level] = mprint(ms, &p,
-                                   &magic[magindex])) == -1)
-                                       return -1;
-                               if (magic[magindex].desc[0])
-                                       need_separator = 1;
-
-                               /*
-                                * If we see any continuations
-                                * at a higher level,
-                                * process them.
-                                */
-                               if (check_mem(ms, ++cont_level) == -1)
-                                       return -1;
-                       }
-done:
-                       magic[magindex].offset = oldoff;
-               }
-               firstline = 0;
-               returnval = 1;
-               if ((ms->flags & MAGIC_CONTINUE) == 0) {
-                       return 1; /* don't keep searching */
-               }                       
-       }
-       return returnval;  /* This is hit if -k is set or there is no match */
-}
-
-private int
-check_mem(struct magic_set *ms, unsigned int level)
-{
-       size_t len;
-
-       if (level < ms->c.len)
-               return 0;
-
-       len = (ms->c.len += 20) * sizeof(*ms->c.off);
-       ms->c.off = (ms->c.off == NULL) ? malloc(len) : realloc(ms->c.off, len);
-       if (ms->c.off != NULL)
-               return 0;
-       file_oomem(ms);
-       return -1;
-}
-
-private int32_t
-mprint(struct magic_set *ms, union VALUETYPE *p, struct magic *m)
-{
-       uint32_t v;
-       int32_t t=0 ;
-
-
-       switch (m->type) {
-       case FILE_BYTE:
-               v = file_signextend(ms, m, (size_t)p->b);
-               if (file_printf(ms, m->desc, (unsigned char) v) == -1)
-                       return -1;
-               t = m->offset + sizeof(char);
-               break;
-
-       case FILE_SHORT:
-       case FILE_BESHORT:
-       case FILE_LESHORT:
-               v = file_signextend(ms, m, (size_t)p->h);
-               if (file_printf(ms, m->desc, (unsigned short) v) == -1)
-                       return -1;
-               t = m->offset + sizeof(short);
-               break;
-
-       case FILE_LONG:
-       case FILE_BELONG:
-       case FILE_LELONG:
-               v = file_signextend(ms, m, p->l);
-               if (file_printf(ms, m->desc, (uint32_t) v) == -1)
-                       return -1;
-               t = m->offset + sizeof(int32_t);
-               break;
-
-       case FILE_STRING:
-       case FILE_PSTRING:
-       case FILE_BESTRING16:
-       case FILE_LESTRING16:
-               if (m->reln == '=' || m->reln == '!') {
-                       if (file_printf(ms, m->desc, m->value.s) == -1)
-                               return -1;
-                       t = m->offset + m->vallen;
-               }
-               else {
-                       if (*m->value.s == '\0') {
-                               char *cp = strchr(p->s,'\n');
-                               if (cp)
-                                       *cp = '\0';
-                       }
-                       if (file_printf(ms, m->desc, p->s) == -1)
-                               return -1;
-                       t = m->offset + strlen(p->s);
-               }
-               break;
-
-       case FILE_DATE:
-       case FILE_BEDATE:
-       case FILE_LEDATE:
-               if (file_printf(ms, m->desc, file_fmttime(p->l, 1)) == -1)
-                       return -1;
-               t = m->offset + sizeof(time_t);
-               break;
-
-       case FILE_LDATE:
-       case FILE_BELDATE:
-       case FILE_LELDATE:
-               if (file_printf(ms, m->desc, file_fmttime(p->l, 0)) == -1)
-                       return -1;
-               t = m->offset + sizeof(time_t);
-               break;
-       case FILE_REGEX:
-               if (file_printf(ms, m->desc, p->s) == -1)
-                       return -1;
-               t = m->offset + strlen(p->s);
-               break;
-       case FILE_SEARCH:
-               if (file_printf(ms, m->desc, m->value.s) == -1)
-                       return -1;
-               t = m->offset + m->vallen;
-               break;
-
-       default:
-               file_error(ms, 0, "invalid m->type (%d) in mprint()", m->type);
-               return -1;
-       }
-       return(t);
-}
-
-/*
- * Convert the byte order of the data we are looking at
- * While we're here, let's apply the mask operation
- * (unless you have a better idea)
- */
-private int
-mconvert(struct magic_set *ms, union VALUETYPE *p, struct magic *m)
-{
-       switch (m->type) {
-       case FILE_BYTE:
-               if (m->mask)
-                       switch (m->mask_op & 0x7F) {
-                       case FILE_OPAND:
-                               p->b &= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPOR:
-                               p->b |= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPXOR:
-                               p->b ^= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPADD:
-                               p->b += m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMINUS:
-                               p->b -= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMULTIPLY:
-                               p->b *= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPDIVIDE:
-                               p->b /= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMODULO:
-                               p->b %= m->mask;
-                               /*@innerbreak@*/ break;
-                       }
-               if (m->mask_op & FILE_OPINVERSE)
-                       p->b = ~p->b;
-               return 1;
-       case FILE_SHORT:
-               if (m->mask)
-                       switch (m->mask_op & 0x7F) {
-                       case FILE_OPAND:
-                               p->h &= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPOR:
-                               p->h |= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPXOR:
-                               p->h ^= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPADD:
-                               p->h += m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMINUS:
-                               p->h -= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMULTIPLY:
-                               p->h *= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPDIVIDE:
-                               p->h /= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMODULO:
-                               p->h %= m->mask;
-                               /*@innerbreak@*/ break;
-                       }
-               if (m->mask_op & FILE_OPINVERSE)
-                       p->h = ~p->h;
-               return 1;
-       case FILE_LONG:
-       case FILE_DATE:
-       case FILE_LDATE:
-               if (m->mask)
-                       switch (m->mask_op & 0x7F) {
-                       case FILE_OPAND:
-                               p->l &= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPOR:
-                               p->l |= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPXOR:
-                               p->l ^= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPADD:
-                               p->l += m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMINUS:
-                               p->l -= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMULTIPLY:
-                               p->l *= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPDIVIDE:
-                               p->l /= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMODULO:
-                               p->l %= m->mask;
-                               /*@innerbreak@*/ break;
-                       }
-               if (m->mask_op & FILE_OPINVERSE)
-                       p->l = ~p->l;
-               return 1;
-       case FILE_STRING:
-       case FILE_BESTRING16:
-       case FILE_LESTRING16:
-               {
-                       size_t len;
-
-                       /* Null terminate and eat *trailing* return */
-                       p->s[sizeof(p->s) - 1] = '\0';
-                       len = strlen(p->s);
-                       if (len-- && p->s[len] == '\n')
-                               p->s[len] = '\0';
-                       return 1;
-               }
-       case FILE_PSTRING:
-               {
-                       char *ptr1 = p->s, *ptr2 = ptr1 + 1;
-                       size_t len = *p->s;
-                       if (len >= sizeof(p->s))
-                               len = sizeof(p->s) - 1;
-                       while (len--)
-                               *ptr1++ = *ptr2++;
-                       *ptr1 = '\0';
-                       len = strlen(p->s);
-                       if (len-- && p->s[len] == '\n')
-                               p->s[len] = '\0';
-                       return 1;
-               }
-       case FILE_BESHORT:
-               p->h = (short)((p->hs[0]<<8)|(p->hs[1]));
-               if (m->mask)
-                       switch (m->mask_op&0x7F) {
-                       case FILE_OPAND:
-                               p->h &= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPOR:
-                               p->h |= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPXOR:
-                               p->h ^= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPADD:
-                               p->h += m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMINUS:
-                               p->h -= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMULTIPLY:
-                               p->h *= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPDIVIDE:
-                               p->h /= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMODULO:
-                               p->h %= m->mask;
-                               /*@innerbreak@*/ break;
-                       }
-               if (m->mask_op & FILE_OPINVERSE)
-                       p->h = ~p->h;
-               return 1;
-       case FILE_BELONG:
-       case FILE_BEDATE:
-       case FILE_BELDATE:
-               p->l = (int32_t)
-                   ((p->hl[0]<<24)|(p->hl[1]<<16)|(p->hl[2]<<8)|(p->hl[3]));
-               if (m->mask)
-                       switch (m->mask_op&0x7F) {
-                       case FILE_OPAND:
-                               p->l &= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPOR:
-                               p->l |= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPXOR:
-                               p->l ^= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPADD:
-                               p->l += m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMINUS:
-                               p->l -= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMULTIPLY:
-                               p->l *= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPDIVIDE:
-                               p->l /= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMODULO:
-                               p->l %= m->mask;
-                               /*@innerbreak@*/ break;
-                       }
-               if (m->mask_op & FILE_OPINVERSE)
-                       p->l = ~p->l;
-               return 1;
-       case FILE_LESHORT:
-               p->h = (short)((p->hs[1]<<8)|(p->hs[0]));
-               if (m->mask)
-                       switch (m->mask_op&0x7F) {
-                       case FILE_OPAND:
-                               p->h &= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPOR:
-                               p->h |= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPXOR:
-                               p->h ^= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPADD:
-                               p->h += m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMINUS:
-                               p->h -= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMULTIPLY:
-                               p->h *= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPDIVIDE:
-                               p->h /= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMODULO:
-                               p->h %= m->mask;
-                               /*@innerbreak@*/ break;
-                       }
-               if (m->mask_op & FILE_OPINVERSE)
-                       p->h = ~p->h;
-               return 1;
-       case FILE_LELONG:
-       case FILE_LEDATE:
-       case FILE_LELDATE:
-               p->l = (int32_t)
-                   ((p->hl[3]<<24)|(p->hl[2]<<16)|(p->hl[1]<<8)|(p->hl[0]));
-               if (m->mask)
-                       switch (m->mask_op&0x7F) {
-                       case FILE_OPAND:
-                               p->l &= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPOR:
-                               p->l |= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPXOR:
-                               p->l ^= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPADD:
-                               p->l += m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMINUS:
-                               p->l -= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMULTIPLY:
-                               p->l *= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPDIVIDE:
-                               p->l /= m->mask;
-                               /*@innerbreak@*/ break;
-                       case FILE_OPMODULO:
-                               p->l %= m->mask;
-                               /*@innerbreak@*/ break;
-                       }
-               if (m->mask_op & FILE_OPINVERSE)
-                       p->l = ~p->l;
-               return 1;
-       case FILE_REGEX:
-       case FILE_SEARCH:
-               return 1;
-       default:
-               file_error(ms, 0, "invalid type %d in mconvert()", m->type);
-               return 0;
-       }
-}
-
-
-private void
-mdebug(uint32_t offset, const char *str, size_t len)
-{
-       (void) fprintf(stderr, "mget @%d: ", offset);
-       file_showstr(stderr, str, len);
-       (void) fputc('\n', stderr);
-       (void) fputc('\n', stderr);
-}
-
-private int
-mcopy(struct magic_set *ms, union VALUETYPE *p, int type, int indir,
-    const unsigned char *s, size_t offset, size_t nbytes)
-{
-       if (type == FILE_REGEX && indir == 0) {
-               /*
-                * offset is interpreted as last line to search,
-                * (starting at 1), not as bytes-from start-of-file
-                */
-               char *b, *c, *last = NULL;
-               if ((p->search.buf = strdup((const char *)s)) == NULL) {
-                       file_oomem(ms);
-                       return -1;
-               }
-               for (b = p->search.buf; offset && 
-                   ((b = strchr(c = b, '\n')) != NULL || (b = strchr(c, '\r')) != NULL);
-                   offset--, b++) {
-                       last = b;
-                       if (b[0] == '\r' && b[1] == '\n') b++;
-               }
-               if (last != NULL)
-                       *last = '\0';
-               p->search.buflen = last - p->search.buf;
-               return 0;
-       }
-
-       if (indir == 0 && (type == FILE_BESTRING16 || type == FILE_LESTRING16))
-       {
-               const unsigned char *src = s + offset;
-               const unsigned char *esrc = s + nbytes;
-               char *dst = p->s, *edst = &p->s[sizeof(p->s) - 1];
-
-               if (type == FILE_BESTRING16)
-                       src++;
-
-               for (;src < esrc; src++, dst++) {
-                       if (dst < edst)
-                               *dst = *src++;
-                       else
-                               break;
-                       if (*dst == '\0')
-                               *dst = ' ';
-               }
-               *edst = '\0';
-               return 0;
-       }
-
-       if (offset >= nbytes) {
-               (void)memset(p, '\0', sizeof(*p));
-               return 0;
-       }
-       if (nbytes - offset < sizeof(*p))
-               nbytes = nbytes - offset;
-       else
-               nbytes = sizeof(*p);
-
-       (void)memcpy(p, s + offset, nbytes);
-
-       /*
-        * the usefulness of padding with zeroes eludes me, it
-        * might even cause problems
-        */
-       if (nbytes < sizeof(*p))
-               (void)memset(((char *)(void *)p) + nbytes, '\0',
-                   sizeof(*p) - nbytes);
-       return 0;
-}
-
-private int
-mget(struct magic_set *ms, union VALUETYPE *p, const unsigned char *s,
-    struct magic *m, size_t nbytes, unsigned int cont_level)
-{
-       uint32_t offset = m->offset;
-
-       if (mcopy(ms, p, m->type, m->flag & INDIR, s, offset, nbytes) == -1)
-               return -1;
-
-       if ((ms->flags & MAGIC_DEBUG) != 0) {
-               mdebug(offset, (char *)(void *)p, sizeof(union VALUETYPE));
-               file_mdump(m);
-       }
-
-       if (m->flag & INDIR) {
-               int off = m->in_offset;
-               if (m->in_op & FILE_OPINDIRECT) {
-                       const union VALUETYPE *q =
-                           ((const void *)(s + offset + off));
-                       switch (m->in_type) {
-                       case FILE_BYTE:
-                               off = q->b;
-                               break;
-                       case FILE_SHORT:
-                               off = q->h;
-                               break;
-                       case FILE_BESHORT:
-                               off = (short)((q->hs[0]<<8)|(q->hs[1]));
-                               break;
-                       case FILE_LESHORT:
-                               off = (short)((q->hs[1]<<8)|(q->hs[0]));
-                               break;
-                       case FILE_LONG:
-                               off = q->l;
-                               break;
-                       case FILE_BELONG:
-                               off = (int32_t)((q->hl[0]<<24)|(q->hl[1]<<16)|
-                                                (q->hl[2]<<8)|(q->hl[3]));
-                               break;
-                       case FILE_LELONG:
-                               off = (int32_t)((q->hl[3]<<24)|(q->hl[2]<<16)|
-                                                (q->hl[1]<<8)|(q->hl[0]));
-                               break;
-                       }
-               }
-               switch (m->in_type) {
-               case FILE_BYTE:
-                       if (nbytes < (offset + 1)) return 0;
-                       if (off) {
-                               switch (m->in_op & 0x3F) {
-                               case FILE_OPAND:
-                                       offset = p->b & off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPOR:
-                                       offset = p->b | off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPXOR:
-                                       offset = p->b ^ off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPADD:
-                                       offset = p->b + off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMINUS:
-                                       offset = p->b - off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMULTIPLY:
-                                       offset = p->b * off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPDIVIDE:
-                                       offset = p->b / off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMODULO:
-                                       offset = p->b % off;
-                                       /*@innerbreak@*/ break;
-                               }
-                       } else
-                               offset = p->b;
-                       if (m->in_op & FILE_OPINVERSE)
-                               offset = ~offset;
-                       break;
-               case FILE_BESHORT:
-                       if (nbytes < (offset + 2))
-                               return 0;
-                       if (off) {
-                               switch (m->in_op & 0x7F) {
-                               case FILE_OPAND:
-                                       offset = (short)((p->hs[0]<<8)|
-                                                        (p->hs[1])) &
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPOR:
-                                       offset = (short)((p->hs[0]<<8)|
-                                                        (p->hs[1])) |
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPXOR:
-                                       offset = (short)((p->hs[0]<<8)|
-                                                        (p->hs[1])) ^
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPADD:
-                                       offset = (short)((p->hs[0]<<8)|
-                                                        (p->hs[1])) +
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMINUS:
-                                       offset = (short)((p->hs[0]<<8)|
-                                                        (p->hs[1])) -
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMULTIPLY:
-                                       offset = (short)((p->hs[0]<<8)|
-                                                        (p->hs[1])) *
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPDIVIDE:
-                                       offset = (short)((p->hs[0]<<8)|
-                                                        (p->hs[1])) /
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMODULO:
-                                       offset = (short)((p->hs[0]<<8)|
-                                                        (p->hs[1])) %
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               }
-                       } else
-                               offset = (short)((p->hs[0]<<8)|
-                                                (p->hs[1]));
-                       if (m->in_op & FILE_OPINVERSE)
-                               offset = ~offset;
-                       break;
-               case FILE_LESHORT:
-                       if (nbytes < (offset + 2))
-                               return 0;
-                       if (off) {
-                               switch (m->in_op & 0x7F) {
-                               case FILE_OPAND:
-                                       offset = (short)((p->hs[1]<<8)|
-                                                        (p->hs[0])) &
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPOR:
-                                       offset = (short)((p->hs[1]<<8)|
-                                                        (p->hs[0])) |
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPXOR:
-                                       offset = (short)((p->hs[1]<<8)|
-                                                        (p->hs[0])) ^
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPADD:
-                                       offset = (short)((p->hs[1]<<8)|
-                                                        (p->hs[0])) +
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMINUS:
-                                       offset = (short)((p->hs[1]<<8)|
-                                                        (p->hs[0])) -
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMULTIPLY:
-                                       offset = (short)((p->hs[1]<<8)|
-                                                        (p->hs[0])) *
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPDIVIDE:
-                                       offset = (short)((p->hs[1]<<8)|
-                                                        (p->hs[0])) /
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMODULO:
-                                       offset = (short)((p->hs[1]<<8)|
-                                                        (p->hs[0])) %
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               }
-                       } else
-                               offset = (short)((p->hs[1]<<8)|
-                                                (p->hs[0]));
-                       if (m->in_op & FILE_OPINVERSE)
-                               offset = ~offset;
-                       break;
-               case FILE_SHORT:
-                       if (nbytes < (offset + 2))
-                               return 0;
-                       if (off) {
-                               switch (m->in_op & 0x7F) {
-                               case FILE_OPAND:
-                                       offset = p->h & off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPOR:
-                                       offset = p->h | off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPXOR:
-                                       offset = p->h ^ off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPADD:
-                                       offset = p->h + off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMINUS:
-                                       offset = p->h - off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMULTIPLY:
-                                       offset = p->h * off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPDIVIDE:
-                                       offset = p->h / off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMODULO:
-                                       offset = p->h % off;
-                                       /*@innerbreak@*/ break;
-                               }
-                       }
-                       else
-                               offset = p->h;
-                       if (m->in_op & FILE_OPINVERSE)
-                               offset = ~offset;
-                       break;
-               case FILE_BELONG:
-                       if (nbytes < (offset + 4))
-                               return 0;
-                       if (off) {
-                               switch (m->in_op & 0x7F) {
-                               case FILE_OPAND:
-                                       offset = (int32_t)((p->hl[0]<<24)|
-                                                        (p->hl[1]<<16)|
-                                                        (p->hl[2]<<8)|
-                                                        (p->hl[3])) &
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPOR:
-                                       offset = (int32_t)((p->hl[0]<<24)|
-                                                        (p->hl[1]<<16)|
-                                                        (p->hl[2]<<8)|
-                                                        (p->hl[3])) |
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPXOR:
-                                       offset = (int32_t)((p->hl[0]<<24)|
-                                                        (p->hl[1]<<16)|
-                                                        (p->hl[2]<<8)|
-                                                        (p->hl[3])) ^
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPADD:
-                                       offset = (int32_t)((p->hl[0]<<24)|
-                                                        (p->hl[1]<<16)|
-                                                        (p->hl[2]<<8)|
-                                                        (p->hl[3])) +
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMINUS:
-                                       offset = (int32_t)((p->hl[0]<<24)|
-                                                        (p->hl[1]<<16)|
-                                                        (p->hl[2]<<8)|
-                                                        (p->hl[3])) -
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMULTIPLY:
-                                       offset = (int32_t)((p->hl[0]<<24)|
-                                                        (p->hl[1]<<16)|
-                                                        (p->hl[2]<<8)|
-                                                        (p->hl[3])) *
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPDIVIDE:
-                                       offset = (int32_t)((p->hl[0]<<24)|
-                                                        (p->hl[1]<<16)|
-                                                        (p->hl[2]<<8)|
-                                                        (p->hl[3])) /
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMODULO:
-                                       offset = (int32_t)((p->hl[0]<<24)|
-                                                        (p->hl[1]<<16)|
-                                                        (p->hl[2]<<8)|
-                                                        (p->hl[3])) %
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               }
-                       } else
-                               offset = (int32_t)((p->hl[0]<<24)|
-                                                (p->hl[1]<<16)|
-                                                (p->hl[2]<<8)|
-                                                (p->hl[3]));
-                       if (m->in_op & FILE_OPINVERSE)
-                               offset = ~offset;
-                       break;
-               case FILE_LELONG:
-                       if (nbytes < (offset + 4))
-                               return 0;
-                       if (off) {
-                               switch (m->in_op & 0x7F) {
-                               case FILE_OPAND:
-                                       offset = (int32_t)((p->hl[3]<<24)|
-                                                        (p->hl[2]<<16)|
-                                                        (p->hl[1]<<8)|
-                                                        (p->hl[0])) &
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPOR:
-                                       offset = (int32_t)((p->hl[3]<<24)|
-                                                        (p->hl[2]<<16)|
-                                                        (p->hl[1]<<8)|
-                                                        (p->hl[0])) |
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPXOR:
-                                       offset = (int32_t)((p->hl[3]<<24)|
-                                                        (p->hl[2]<<16)|
-                                                        (p->hl[1]<<8)|
-                                                        (p->hl[0])) ^
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPADD:
-                                       offset = (int32_t)((p->hl[3]<<24)|
-                                                        (p->hl[2]<<16)|
-                                                        (p->hl[1]<<8)|
-                                                        (p->hl[0])) +
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMINUS:
-                                       offset = (int32_t)((p->hl[3]<<24)|
-                                                        (p->hl[2]<<16)|
-                                                        (p->hl[1]<<8)|
-                                                        (p->hl[0])) -
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMULTIPLY:
-                                       offset = (int32_t)((p->hl[3]<<24)|
-                                                        (p->hl[2]<<16)|
-                                                        (p->hl[1]<<8)|
-                                                        (p->hl[0])) *
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPDIVIDE:
-                                       offset = (int32_t)((p->hl[3]<<24)|
-                                                        (p->hl[2]<<16)|
-                                                        (p->hl[1]<<8)|
-                                                        (p->hl[0])) /
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMODULO:
-                                       offset = (int32_t)((p->hl[3]<<24)|
-                                                        (p->hl[2]<<16)|
-                                                        (p->hl[1]<<8)|
-                                                        (p->hl[0])) %
-                                                off;
-                                       /*@innerbreak@*/ break;
-                               }
-                       } else
-                               offset = (int32_t)((p->hl[3]<<24)|
-                                                (p->hl[2]<<16)|
-                                                (p->hl[1]<<8)|
-                                                (p->hl[0]));
-                       if (m->in_op & FILE_OPINVERSE)
-                               offset = ~offset;
-                       break;
-               case FILE_LONG:
-                       if (nbytes < (offset + 4))
-                               return 0;
-                       if (off) {
-                               switch (m->in_op & 0x7F) {
-                               case FILE_OPAND:
-                                       offset = p->l & off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPOR:
-                                       offset = p->l | off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPXOR:
-                                       offset = p->l ^ off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPADD:
-                                       offset = p->l + off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMINUS:
-                                       offset = p->l - off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMULTIPLY:
-                                       offset = p->l * off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPDIVIDE:
-                                       offset = p->l / off;
-                                       /*@innerbreak@*/ break;
-                               case FILE_OPMODULO:
-                                       offset = p->l % off;
-                                       /*@innerbreak@*/ break;
-                       /*      case TOOMANYSWITCHBLOCKS:
-                        *              ugh = p->eye % m->strain;
-                        *              rub;
-                        *      case BEER:
-                        *              off = p->tab & m->in_gest;
-                        *              sleep;
-                        */
-                               }
-                       } else
-                               offset = p->l;
-                       if (m->in_op & FILE_OPINVERSE)
-                               offset = ~offset;
-                       break;
-               }
-
-               if (m->flag & INDIROFFADD) offset += ms->c.off[cont_level-1];
-               if (mcopy(ms, p, m->type, 0, s, offset, nbytes) == -1)
-                       return -1;
-               m->offset = offset;
-
-               if ((ms->flags & MAGIC_DEBUG) != 0) {
-                       mdebug(offset, (char *)(void *)p,
-                           sizeof(union VALUETYPE));
-                       file_mdump(m);
-               }
-       }
-
-       /* Verify we have enough data to match magic type */
-       switch (m->type) {
-               case FILE_BYTE:
-                       if (nbytes < (offset + 1)) /* should alway be true */
-                               return 0;
-                       break;
-
-               case FILE_SHORT:
-               case FILE_BESHORT:
-               case FILE_LESHORT:
-                       if (nbytes < (offset + 2))
-                               return 0;
-                       break;
-
-               case FILE_LONG:
-               case FILE_BELONG:
-               case FILE_LELONG:
-               case FILE_DATE:
-               case FILE_BEDATE:
-               case FILE_LEDATE:
-               case FILE_LDATE:
-               case FILE_BELDATE:
-               case FILE_LELDATE:
-                       if (nbytes < (offset + 4))
-                               return 0;
-                       break;
-
-               case FILE_STRING:
-               case FILE_PSTRING:
-               case FILE_SEARCH:
-                       if (nbytes < (offset + m->vallen))
-                               return 0;
-                       break;
-               default: break;
-       }
-
-       if (m->type == FILE_SEARCH) {
-               size_t mlen = m->mask + m->vallen;
-               size_t flen = nbytes - offset;
-               if (flen < mlen)
-                       mlen = flen;
-               p->search.buflen = mlen;
-               p->search.buf = malloc(mlen + 1);
-               if (p->search.buf == NULL) {
-                       file_error(ms, errno, "Cannot allocate search buffer");
-                       return 0;
-               }
-               (void)memcpy(p->search.buf, s + offset, mlen);
-               p->search.buf[mlen] = '\0';
-       }
-       if (!mconvert(ms, p, m))
-               return 0;
-       return 1;
-}
-
-private int
-mymcheck(struct magic_set *ms, union VALUETYPE *p, struct magic *m)
-{
-       uint32_t l = m->value.l;
-       uint32_t v;
-       int matched;
-
-       if ( (m->value.s[0] == 'x') && (m->value.s[1] == '\0') ) {
-               return 1;
-       }
-
-
-       switch (m->type) {
-       case FILE_BYTE:
-               v = p->b;
-               break;
-
-       case FILE_SHORT:
-       case FILE_BESHORT:
-       case FILE_LESHORT:
-               v = p->h;
-               break;
-
-       case FILE_LONG:
-       case FILE_BELONG:
-       case FILE_LELONG:
-       case FILE_DATE:
-       case FILE_BEDATE:
-       case FILE_LEDATE:
-       case FILE_LDATE:
-       case FILE_BELDATE:
-       case FILE_LELDATE:
-               v = p->l;
-               break;
-
-       case FILE_STRING:
-       case FILE_BESTRING16:
-       case FILE_LESTRING16:
-       case FILE_PSTRING:
-       {
-               /*
-                * What we want here is:
-                * v = strncmp(m->value.s, p->s, m->vallen);
-                * but ignoring any nulls.  bcmp doesn't give -/+/0
-                * and isn't universally available anyway.
-                */
-               unsigned char *a = (unsigned char*)m->value.s;
-               unsigned char *b = (unsigned char*)p->s;
-               int len = m->vallen;
-               l = 0;
-               v = 0;
-               if (0L == m->mask) { /* normal string: do it fast */
-                       while (--len >= 0)
-                               if ((v = *b++ - *a++) != '\0')
-                                       /*@loopbreak@*/ break; 
-               } else { /* combine the others */
-                       while (--len >= 0) {
-                               if ((m->mask & STRING_IGNORE_LOWERCASE) &&
-                                   islower(*a)) {
-                                       if ((v = tolower(*b++) - *a++) != '\0')
-                                               /*@loopbreak@*/ break;
-                               } else if ((m->mask & STRING_COMPACT_BLANK) && 
-                                   isspace(*a)) { 
-                                       a++;
-                                       if (isspace(*b++)) {
-                                               while (isspace(*b))
-                                                       b++;
-                                       } else {
-                                               v = 1;
-                                               /*@loopbreak@*/ break;
-                                       }
-                               } else if (isspace(*a) &&
-                                   (m->mask & STRING_COMPACT_OPTIONAL_BLANK)) {
-                                       a++;
-                                       while (isspace(*b))
-                                               b++;
-                               } else {
-                                       if ((v = *b++ - *a++) != '\0')
-                                               /*@loopbreak@*/ break;
-                               }
-                       }
-               }
-               break;
-       }
-       case FILE_REGEX:
-       {
-               int rc;
-               regex_t rx;
-               char errmsg[512];
-
-               if (p->search.buf == NULL)
-                       return 0;
-
-               rc = regcomp(&rx, m->value.s,
-                   REG_EXTENDED|REG_NOSUB|REG_NEWLINE|
-                   ((m->mask & STRING_IGNORE_LOWERCASE) ? REG_ICASE : 0));
-               if (rc) {
-                       free(p->search.buf);
-                       p->search.buf = NULL;
-                       (void) regerror(rc, &rx, errmsg, sizeof(errmsg));
-                       file_error(ms, 0, "regex error %d, (%s)", rc, errmsg);
-                       return -1;
-               } else {
-/*@i@*/                        rc = regexec(&rx, p->search.buf, 0, 0, 0);
-/*@i@*/                        regfree(&rx);
-                       free(p->search.buf);
-                       p->search.buf = NULL;
-                       return !rc;
-               }
-       }
-       case FILE_SEARCH:
-       {
-               /*
-                * search for a string in a certain range
-                */
-               unsigned char *a = (unsigned char*)m->value.s;
-               unsigned char *b = (unsigned char*)p->search.buf;
-               size_t len, slen = m->vallen;
-               size_t range = 0;
-               if (slen > sizeof(m->value.s))
-                       slen = sizeof(m->value.s);
-               l = 0;
-               v = 0;
-               if (b == NULL)
-                       return 0;
-               len = slen;
-               while (++range <= m->mask) {
-                       while (len-- > 0 && (v = *b++ - *a++) == 0)
-                               /*@innercontinue@*/ continue;
-                       if (!v) {
-                               m->offset += range - 1;
-                               /*@loopbreak@*/ break;
-                       }
-                       if (range + slen >= p->search.buflen)
-                               /*@loopbreak@*/ break;
-                       len = slen;
-                       a = (unsigned char*)m->value.s;
-                       b = (unsigned char*)p->search.buf + range;
-               }
-               free(p->search.buf);
-               p->search.buf = NULL;
-               break;
-       }
-       default:
-               file_error(ms, 0, "invalid type %d in mcheck()", m->type);
-               return -1;
-       }
-
-       if (m->type != FILE_STRING && m->type != FILE_PSTRING)
-               v = file_signextend(ms, m, v);
-
-       switch (m->reln) {
-       case 'x':
-               if ((ms->flags & MAGIC_DEBUG) != 0)
-                       (void) fprintf(stderr, "%u == *any* = 1\n", v);
-               matched = 1;
-               break;
-
-       case '!':
-               matched = v != l;
-               if ((ms->flags & MAGIC_DEBUG) != 0)
-                       (void) fprintf(stderr, "%u != %u = %d\n",
-                                      v, l, matched);
-               break;
-
-       case '=':
-               matched = v == l;
-               if ((ms->flags & MAGIC_DEBUG) != 0)
-                       (void) fprintf(stderr, "%u == %u = %d\n",
-                                      v, l, matched);
-               break;
-
-       case '>':
-               if (m->flag & UNSIGNED) {
-                       matched = v > l;
-                       if ((ms->flags & MAGIC_DEBUG) != 0)
-                               (void) fprintf(stderr, "%u > %u = %d\n",
-                                              v, l, matched);
-               }
-               else {
-                       matched = (int32_t) v > (int32_t) l;
-                       if ((ms->flags & MAGIC_DEBUG) != 0)
-                               (void) fprintf(stderr, "%d > %d = %d\n",
-                                              v, l, matched);
-               }
-               break;
-
-       case '<':
-               if (m->flag & UNSIGNED) {
-                       matched = v < l;
-                       if ((ms->flags & MAGIC_DEBUG) != 0)
-                               (void) fprintf(stderr, "%u < %u = %d\n",
-                                              v, l, matched);
-               }
-               else {
-                       matched = (int32_t) v < (int32_t) l;
-                       if ((ms->flags & MAGIC_DEBUG) != 0)
-                               (void) fprintf(stderr, "%d < %d = %d\n",
-                                              v, l, matched);
-               }
-               break;
-
-       case '&':
-               matched = (v & l) == l;
-               if ((ms->flags & MAGIC_DEBUG) != 0)
-                       (void) fprintf(stderr, "((%x & %x) == %x) = %d\n",
-                                      v, l, l, matched);
-               break;
-
-       case '^':
-               matched = (v & l) != l;
-               if ((ms->flags & MAGIC_DEBUG) != 0)
-                       (void) fprintf(stderr, "((%x & %x) != %x) = %d\n",
-                                      v, l, l, matched);
-               break;
-
-       default:
-               matched = 0;
-               file_error(ms, 0, "cannot happen: invalid relation `%c'",
-                   m->reln);
-               return -1;
-       }
-
-       return matched;
-}
-/*@=usereleased@*/
-/*@=uniondef@*/
-/*@=sizeoftype@*/
-/*@=evalorder@*/
-/*@=compdef@*/ 
diff --git a/file/src/tar.h b/file/src/tar.h
deleted file mode 100644 (file)
index c3fc185..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Copyright (c) Ian F. Darwin 1986-1995.
- * Software written by Ian F. Darwin and others;
- * maintained 1995-present by Christos Zoulas and others.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * Header file for public domain tar (tape archive) program.
- *
- * @(#)tar.h 1.20 86/10/29     Public Domain.
- *
- * Created 25 August 1985 by John Gilmore, ihnp4!hoptoad!gnu.
- *
- * $Id: tar.h,v 1.8 2004/09/11 19:15:58 christos Exp $ # checkin only
- */
-
-/*
- * Kludge for handling systems that cannot cope with multiple
- * external definitions of a variable.  In ONE routine (tar.c),
- * we #define TAR_EXTERN to null; here, we set it to "extern" if
- * it is not already set.
- */
-#ifndef TAR_EXTERN
-#define TAR_EXTERN extern
-#endif
-
-/*
- * Header block on tape.
- *
- * I'm going to use traditional DP naming conventions here.
- * A "block" is a big chunk of stuff that we do I/O on.
- * A "record" is a piece of info that we care about.
- * Typically many "record"s fit into a "block".
- */
-#define        RECORDSIZE      512
-#define        NAMSIZ  100
-#define        TUNMLEN 32
-#define        TGNMLEN 32
-
-union record {
-       char            charptr[RECORDSIZE];
-       struct header {
-               char    name[NAMSIZ];
-               char    mode[8];
-               char    uid[8];
-               char    gid[8];
-               char    size[12];
-               char    mtime[12];
-               char    chksum[8];
-               char    linkflag;
-               char    linkname[NAMSIZ];
-               char    magic[8];
-               char    uname[TUNMLEN];
-               char    gname[TGNMLEN];
-               char    devmajor[8];
-               char    devminor[8];
-       } header;
-};
-
-/* The checksum field is filled with this while the checksum is computed. */
-#define        CHKBLANKS       "        "      /* 8 blanks, no null */
-
-/* The magic field is filled with this if uname and gname are valid. */
-#define        TMAGIC          "ustar  "       /* 7 chars and a null */
-
-/* The linkflag defines the type of file */
-#define        LF_OLDNORMAL    '\0'            /* Normal disk file, Unix compat */
-#define        LF_NORMAL       '0'             /* Normal disk file */
-#define        LF_LINK         '1'             /* Link to previously dumped file */
-#define        LF_SYMLINK      '2'             /* Symbolic link */
-#define        LF_CHR          '3'             /* Character special file */
-#define        LF_BLK          '4'             /* Block special file */
-#define        LF_DIR          '5'             /* Directory */
-#define        LF_FIFO         '6'             /* FIFO special file */
-#define        LF_CONTIG       '7'             /* Contiguous file */
-/* Further link types may be defined later. */
-
-/*
- * Exit codes from the "tar" program
- */
-#define        EX_SUCCESS      0               /* success! */
-#define        EX_ARGSBAD      1               /* invalid args */
-#define        EX_BADFILE      2               /* invalid filename */
-#define        EX_BADARCH      3               /* bad archive */
-#define        EX_SYSTEM       4               /* system gave unexpected error */
-
-
-/*
- * Global variables
- */
-TAR_EXTERN union record        *ar_block;      /* Start of block of archive */
-TAR_EXTERN union record        *ar_record;     /* Current record of archive */
-TAR_EXTERN union record        *ar_last;       /* Last+1 record of archive block */
-TAR_EXTERN char                ar_reading;     /* 0 writing, !0 reading archive */
-TAR_EXTERN int         blocking;       /* Size of each block, in records */
-TAR_EXTERN int         blocksize;      /* Size of each block, in bytes */
-TAR_EXTERN char                *ar_file;       /* File containing archive */
-TAR_EXTERN char                *name_file;     /* File containing names to work on */
-TAR_EXTERN char                *tar;           /* Name of this program */
-
-/*
- * Flags from the command line
- */
-TAR_EXTERN char        f_reblock;              /* -B */
-TAR_EXTERN char        f_create;               /* -c */
-TAR_EXTERN char        f_debug;                /* -d */
-TAR_EXTERN char        f_sayblock;             /* -D */
-TAR_EXTERN char        f_follow_links;         /* -h */
-TAR_EXTERN char        f_ignorez;              /* -i */
-TAR_EXTERN char        f_keep;                 /* -k */
-TAR_EXTERN char        f_modified;             /* -m */
-TAR_EXTERN char        f_oldarch;              /* -o */
-TAR_EXTERN char        f_use_protection;       /* -p */
-TAR_EXTERN char        f_sorted_names;         /* -s */
-TAR_EXTERN char        f_list;                 /* -t */
-TAR_EXTERN char        f_namefile;             /* -T */
-TAR_EXTERN char        f_verbose;              /* -v */
-TAR_EXTERN char        f_extract;              /* -x */
-TAR_EXTERN char        f_compress;             /* -z */
-
-/*
- * We now default to Unix Standard format rather than 4.2BSD tar format.
- * The code can actually produce all three:
- *     f_standard      ANSI standard
- *     f_oldarch       V7
- *     neither         4.2BSD
- * but we don't bother, since 4.2BSD can read ANSI standard format anyway.
- * The only advantage to the "neither" option is that we can cmp(1) our
- * output to the output of 4.2BSD tar, for debugging.
- */
-#define                f_standard              (!f_oldarch)
-
-/*
- * Structure for keeping track of filenames and lists thereof.
- */
-struct name {
-       struct name     *next;
-       short           length;
-       char            found;
-       char            name[NAMSIZ+1];
-};
-
-TAR_EXTERN struct name *namelist;      /* Points to first name in list */
-TAR_EXTERN struct name *namelast;      /* Points to last name in list */
-
-TAR_EXTERN int         archive;        /* File descriptor for archive file */
-TAR_EXTERN int         errors;         /* # of files in error */
-
-/*
- *
- * Due to the next struct declaration, each routine that includes
- * "tar.h" must also include <sys/types.h>.  I tried to make it automatic,
- * but System V has no defines in <sys/types.h>, so there is no way of
- * knowing when it has been included.  In addition, it cannot be included
- * twice, but must be included exactly once.  Argghh!
- *
- * Thanks, typedef.  Thanks, USG.
- */
-struct link {
-       struct link     *next;
-       dev_t           dev;
-       ino_t           ino;
-       short           linkcount;
-       char            name[NAMSIZ+1];
-};
-
-TAR_EXTERN struct link *linklist;      /* Points to first link in list */
-
-
-/*
- * Error recovery stuff
- */
-TAR_EXTERN char                read_error_flag;
-
-
-#if 0
-/*
- * Declarations of functions available to the world.
- */
-/*LINTLIBRARY*/
-#define         annorec(stream, msg)   anno(stream, msg, 0)    /* Cur rec */
-#define        annofile(stream, msg)   anno(stream, msg, 1)    /* Saved rec */
-#endif
diff --git a/file/src/test.c b/file/src/test.c
deleted file mode 100644 (file)
index ab4c105..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) Christos Zoulas 2003.
- * All Rights Reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice immediately at the beginning of the file, without modification,
- *    this list of conditions, and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *  
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#include <stdio.h>
-#include "magic.h"
-
-int
-main(int argc, char **argv)
-{
-    struct magic_set *ms;
-    const char *m;
-    int i;
-
-    if(argc < 2)
-       return 1;
-
-    ms = magic_open(MAGIC_NONE);
-    if (ms == NULL) {
-       printf("ERROR: out of memory\n");
-       return 1;
-    }
-    if (magic_load(ms, NULL) == -1) {
-       printf("ERROR: %s\n", magic_error(ms));
-       return 1;
-    }
-
-    for (i = 1; i < argc; i++) {
-       if ((m = magic_file(ms, argv[i])) == NULL)
-           printf("ERROR: %s\n", magic_error(ms));
-       else
-           printf("%s: %s\n", argv[i], m);
-    }
-
-    magic_close(ms);
-    return 0;
-}
index 539777c..4b97e87 100644 (file)
@@ -28,7 +28,7 @@ staticLDFLAGS = @LDFLAGS_STATIC@ @LDFLAGS_NPTL@
 noinst_PROGRAMS = dumpdb
 
 pkgbindir = @RPMCONFIGDIR@
-pkgbin_PROGRAMS = @WITH_LIBDWARF_DEBUGEDIT@ javadeps rpmcache rpmdeps rpmfile
+pkgbin_PROGRAMS = @WITH_LIBDWARF_DEBUGEDIT@ javadeps rpmcache rpmdeps
 MAGIC  = $(pkgbindir)/magic
 
 bin_PROGRAMS = rpmgraph
@@ -50,15 +50,6 @@ rpmdeps_SOURCES =    rpmdeps.c
 #rpmdeps_LDFLAGS =     $(staticLDFLAGS)
 rpmdeps_LDADD =                $(top_builddir)/build/librpmbuild.la
 
-rpmfile.c: $(top_srcdir)/file/src/file.c
-       rm -f $@
-       ln -s $< $@
-
-rpmfile_SOURCES =      rpmfile.c
-rpmfile_CFLAGS =       -DMAGIC='"$(MAGIC)"' $(INCLUDES)
-rpmfile_LDADD =                $(top_builddir)/rpmio/librpmio.la
-#rpmfile_LDFLAGS =     $(staticLDFLAGS)
-
 rpmgraph_SOURCES =     rpmgraph.c
 #rpmgraph_LDFLAGS =    $(staticLDFLAGS)