summaryrefslogtreecommitdiffstats
path: root/usr.bin
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2000-11-05 09:06:06 +0000
committerobrien <obrien@FreeBSD.org>2000-11-05 09:06:06 +0000
commitf95e798de355aef37ac46a3f764905a0d0b6c0e6 (patch)
treea8a0062690cd42a7b4f15aa7a3db4cfb03ed567e /usr.bin
parent3a8950961e7ff13f9c3b0d8a0e1f821f81806d0f (diff)
downloadFreeBSD-src-f95e798de355aef37ac46a3f764905a0d0b6c0e6.zip
FreeBSD-src-f95e798de355aef37ac46a3f764905a0d0b6c0e6.tar.gz
Switch over to using the Christos Zoulas maintained version in contrib/
This also gives use the same exact results as NetBSD, thus sharing more code with our bretheren.
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/file/LEGAL.NOTICE31
-rw-r--r--usr.bin/file/MAINT33
-rw-r--r--usr.bin/file/Magdir/Header5
-rw-r--r--usr.bin/file/Magdir/Localstuff7
-rw-r--r--usr.bin/file/Magdir/adventure50
-rw-r--r--usr.bin/file/Magdir/alliant17
-rw-r--r--usr.bin/file/Magdir/alpha21
-rw-r--r--usr.bin/file/Magdir/amanda7
-rw-r--r--usr.bin/file/Magdir/amigaos10
-rw-r--r--usr.bin/file/Magdir/animation63
-rw-r--r--usr.bin/file/Magdir/apl6
-rw-r--r--usr.bin/file/Magdir/apple10
-rw-r--r--usr.bin/file/Magdir/applix12
-rw-r--r--usr.bin/file/Magdir/ar104
-rw-r--r--usr.bin/file/Magdir/arc3
-rw-r--r--usr.bin/file/Magdir/archive210
-rw-r--r--usr.bin/file/Magdir/asterix17
-rw-r--r--usr.bin/file/Magdir/att3b39
-rw-r--r--usr.bin/file/Magdir/audio96
-rw-r--r--usr.bin/file/Magdir/blit19
-rw-r--r--usr.bin/file/Magdir/bsdi7
-rw-r--r--usr.bin/file/Magdir/bzip14
-rw-r--r--usr.bin/file/Magdir/c-lang13
-rw-r--r--usr.bin/file/Magdir/chi7
-rw-r--r--usr.bin/file/Magdir/cisco10
-rw-r--r--usr.bin/file/Magdir/clipper64
-rw-r--r--usr.bin/file/Magdir/commands75
-rw-r--r--usr.bin/file/Magdir/compress92
-rw-r--r--usr.bin/file/Magdir/convex69
-rw-r--r--usr.bin/file/Magdir/cpio16
-rw-r--r--usr.bin/file/Magdir/database38
-rw-r--r--usr.bin/file/Magdir/diamond11
-rw-r--r--usr.bin/file/Magdir/diff8
-rw-r--r--usr.bin/file/Magdir/digital41
-rw-r--r--usr.bin/file/Magdir/ditroff4
-rw-r--r--usr.bin/file/Magdir/dump81
-rw-r--r--usr.bin/file/Magdir/elf74
-rw-r--r--usr.bin/file/Magdir/encore21
-rw-r--r--usr.bin/file/Magdir/figlet9
-rw-r--r--usr.bin/file/Magdir/filesystems6
-rw-r--r--usr.bin/file/Magdir/flash10
-rw-r--r--usr.bin/file/Magdir/floppy.raw1
-rw-r--r--usr.bin/file/Magdir/fonts26
-rw-r--r--usr.bin/file/Magdir/frame37
-rw-r--r--usr.bin/file/Magdir/freebsd130
-rw-r--r--usr.bin/file/Magdir/gimp32
-rw-r--r--usr.bin/file/Magdir/gnu9
-rw-r--r--usr.bin/file/Magdir/gzip21
-rw-r--r--usr.bin/file/Magdir/hp228
-rw-r--r--usr.bin/file/Magdir/ibm37047
-rw-r--r--usr.bin/file/Magdir/ibm600017
-rw-r--r--usr.bin/file/Magdir/iff28
-rw-r--r--usr.bin/file/Magdir/imagen14
-rw-r--r--usr.bin/file/Magdir/images236
-rw-r--r--usr.bin/file/Magdir/intel35
-rw-r--r--usr.bin/file/Magdir/interleaf8
-rw-r--r--usr.bin/file/Magdir/iris57
-rw-r--r--usr.bin/file/Magdir/island9
-rw-r--r--usr.bin/file/Magdir/ispell54
-rw-r--r--usr.bin/file/Magdir/java13
-rw-r--r--usr.bin/file/Magdir/karma8
-rw-r--r--usr.bin/file/Magdir/lecter4
-rw-r--r--usr.bin/file/Magdir/lex11
-rw-r--r--usr.bin/file/Magdir/lif7
-rw-r--r--usr.bin/file/Magdir/linux73
-rw-r--r--usr.bin/file/Magdir/lisp10
-rw-r--r--usr.bin/file/Magdir/mach38
-rw-r--r--usr.bin/file/Magdir/macintosh79
-rw-r--r--usr.bin/file/Magdir/magic5
-rw-r--r--usr.bin/file/Magdir/mail.news21
-rw-r--r--usr.bin/file/Magdir/microsoft72
-rw-r--r--usr.bin/file/Magdir/mime7
-rw-r--r--usr.bin/file/Magdir/mips8
-rw-r--r--usr.bin/file/Magdir/mirage7
-rw-r--r--usr.bin/file/Magdir/mkid10
-rw-r--r--usr.bin/file/Magdir/mmdf5
-rw-r--r--usr.bin/file/Magdir/modem33
-rw-r--r--usr.bin/file/Magdir/motorola32
-rw-r--r--usr.bin/file/Magdir/ms-dos208
-rw-r--r--usr.bin/file/Magdir/ncr48
-rw-r--r--usr.bin/file/Magdir/netbsd209
-rw-r--r--usr.bin/file/Magdir/news12
-rw-r--r--usr.bin/file/Magdir/octave4
-rw-r--r--usr.bin/file/Magdir/olf97
-rw-r--r--usr.bin/file/Magdir/os223
-rw-r--r--usr.bin/file/Magdir/os985
-rw-r--r--usr.bin/file/Magdir/osf110
-rw-r--r--usr.bin/file/Magdir/pbm7
-rw-r--r--usr.bin/file/Magdir/pdf7
-rw-r--r--usr.bin/file/Magdir/pdp25
-rw-r--r--usr.bin/file/Magdir/pgp13
-rw-r--r--usr.bin/file/Magdir/pjl5
-rw-r--r--usr.bin/file/Magdir/pkgadd5
-rw-r--r--usr.bin/file/Magdir/plus517
-rw-r--r--usr.bin/file/Magdir/postscript20
-rw-r--r--usr.bin/file/Magdir/printer55
-rw-r--r--usr.bin/file/Magdir/psdbms7
-rw-r--r--usr.bin/file/Magdir/pyramid11
-rw-r--r--usr.bin/file/Magdir/riff93
-rw-r--r--usr.bin/file/Magdir/rle19
-rw-r--r--usr.bin/file/Magdir/rpm17
-rw-r--r--usr.bin/file/Magdir/rtf12
-rw-r--r--usr.bin/file/Magdir/sc5
-rw-r--r--usr.bin/file/Magdir/sccs21
-rw-r--r--usr.bin/file/Magdir/sendmail10
-rw-r--r--usr.bin/file/Magdir/sequent34
-rw-r--r--usr.bin/file/Magdir/sgi170
-rw-r--r--usr.bin/file/Magdir/sgml21
-rw-r--r--usr.bin/file/Magdir/sniffer63
-rw-r--r--usr.bin/file/Magdir/softquad30
-rw-r--r--usr.bin/file/Magdir/sun110
-rw-r--r--usr.bin/file/Magdir/sunraster12
-rw-r--r--usr.bin/file/Magdir/teapot4
-rw-r--r--usr.bin/file/Magdir/terminfo9
-rw-r--r--usr.bin/file/Magdir/tex36
-rw-r--r--usr.bin/file/Magdir/ti-8x36
-rw-r--r--usr.bin/file/Magdir/timezone16
-rw-r--r--usr.bin/file/Magdir/troff27
-rw-r--r--usr.bin/file/Magdir/typeset7
-rw-r--r--usr.bin/file/Magdir/unknown36
-rw-r--r--usr.bin/file/Magdir/uuencode30
-rw-r--r--usr.bin/file/Magdir/varied.out18
-rw-r--r--usr.bin/file/Magdir/vax34
-rw-r--r--usr.bin/file/Magdir/vicar16
-rw-r--r--usr.bin/file/Magdir/visx31
-rw-r--r--usr.bin/file/Magdir/vms27
-rw-r--r--usr.bin/file/Magdir/wordperfect91
-rw-r--r--usr.bin/file/Magdir/x1111
-rw-r--r--usr.bin/file/Magdir/xenix72
-rw-r--r--usr.bin/file/Magdir/zilog11
-rw-r--r--usr.bin/file/Magdir/zyxel16
-rw-r--r--usr.bin/file/Makefile19
-rw-r--r--usr.bin/file/PORTING76
-rw-r--r--usr.bin/file/README91
-rw-r--r--usr.bin/file/apprentice.c626
-rw-r--r--usr.bin/file/ascmagic.c122
-rw-r--r--usr.bin/file/compress.c127
-rw-r--r--usr.bin/file/config.h81
-rw-r--r--usr.bin/file/cvsimport.sh18
-rw-r--r--usr.bin/file/file.c392
-rw-r--r--usr.bin/file/file.h146
-rw-r--r--usr.bin/file/fsmagic.c163
-rw-r--r--usr.bin/file/internat.c78
-rw-r--r--usr.bin/file/is_tar.c103
-rw-r--r--usr.bin/file/names.h99
-rw-r--r--usr.bin/file/patchlevel.h9
-rw-r--r--usr.bin/file/print.c144
-rw-r--r--usr.bin/file/readelf.c325
-rw-r--r--usr.bin/file/readelf.h167
-rw-r--r--usr.bin/file/softmagic.c512
-rw-r--r--usr.bin/file/tar.h179
151 files changed, 93 insertions, 8259 deletions
diff --git a/usr.bin/file/LEGAL.NOTICE b/usr.bin/file/LEGAL.NOTICE
deleted file mode 100644
index 29f21ae..0000000
--- a/usr.bin/file/LEGAL.NOTICE
+++ /dev/null
@@ -1,31 +0,0 @@
-Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995.
-Software written by Ian F. Darwin and others; maintained by Christos Zoulas.
-$FreeBSD$
-
-This software (or derivative software) may not be made subject to any
-license which denies anyone permission to alter it and redistribute it
-freely. Derivative software must also still fall under this license.
-
-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.
-
-Permission is granted to anyone to use this software for any purpose on
-any computer system, and to alter it and redistribute it freely, subject
-to the following restrictions:
-
-1. The author is not responsible for the consequences of use of this
- software, no matter how awful, even if they arise from flaws in it.
-
-2. The origin of this software must not be misrepresented, either by
- explicit claim or by omission. Since few users ever read sources,
- credits must appear in the documentation.
-
-3. Altered versions must be plainly marked as such, and must not be
- misrepresented as being the original software. Since few users
- ever read sources, credits must appear in the documentation.
- Derivative works must also be marked as such, and credits must appear
- in the documentation.
-
-4. This notice may not be removed or altered.
-
-
diff --git a/usr.bin/file/MAINT b/usr.bin/file/MAINT
deleted file mode 100644
index cb31844..0000000
--- a/usr.bin/file/MAINT
+++ /dev/null
@@ -1,33 +0,0 @@
-$FreeBSD$
-
-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.
-
-Mark Moraes Christos Zoulas
-moraes@deshaw.com christos@deshaw.com
diff --git a/usr.bin/file/Magdir/Header b/usr.bin/file/Magdir/Header
deleted file mode 100644
index 0c97bae..0000000
--- a/usr.bin/file/Magdir/Header
+++ /dev/null
@@ -1,5 +0,0 @@
-#! file
-# Magic data for file(1) command.
-# Machine-genererated from src/cmd/file/magdir/*; edit there only!
-# Format is described in magic(files), where:
-# files is 4 on V7 and BSD, 4 on SV, and ?? in the SVID.
diff --git a/usr.bin/file/Magdir/Localstuff b/usr.bin/file/Magdir/Localstuff
deleted file mode 100644
index a3e1e0b..0000000
--- a/usr.bin/file/Magdir/Localstuff
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# Localstuff: file(1) magic for locally observed files
-#
-# $FreeBSD$
-# Add any locally observed files here. Remember:
-# text if readable, executable if runnable binary, data if unreadable.
diff --git a/usr.bin/file/Magdir/adventure b/usr.bin/file/Magdir/adventure
deleted file mode 100644
index 8e5c995..0000000
--- a/usr.bin/file/Magdir/adventure
+++ /dev/null
@@ -1,50 +0,0 @@
-
-#------------------------------------------------------------------------------
-# adventure: file(1) magic for Infocom (and other) adventure games
-#
-# Adventure game formats
-#
-# from Allen Garvin <earendil@faeryland.tamu-commerce.edu>
-# Edited by Dave Chapeskie <dchapes@ddm.on.ca> Jun 28, 1998
-#
-# Contributed to FreeBSD by Lyndon Nerenberg <lyndon@orthanc.ab.ca>
-# This file was taken from the Interactive Fiction archives at
-# ftp://ftp.gmd.de/if-archive/ (*the* place for text based
-# adventure games from a by-gone era). Please send me updates and
-# I'll make sure they get back to the GMD archives. (1998 AUG 1)
-#
-# ALAN
-# I assume there are other, lower versions, but these are the only ones I
-# saw in the archive.
-#
-0 beshort 0x0206 ALAN text adventure code data
->2 byte <10 version 2.6%d
-#
-# Infocom
-#
-# (Note: to avoid false matches Z-machine version 1 and 2 are not
-# recognized since only the oldest Zork I and II used them. Similarly
-# there are 4 Infocom games that use verion 4 that are not recognized.)
-#
-0 byte 3 Infocom game data (Z-machine 3,
->2 beshort <0x7fff Release %3d,
-#>26 beshort >0 Size %d*2
->18 string >\0 Serial %.6s)
-0 byte 5 Infocom game data (Z-machine 5,
->2 beshort <0x7fff Release %3d,
-#>26 beshort >0 Size %d*4
->18 string >\0 Serial %.6s)
-0 byte 6 Infocom game data (Z-machine 6,
->2 beshort <0x7fff Release %3d,
-#>26 beshort >0 Size %d*8
->18 string >\0 Serial %.6s)
-0 byte 8 Infocom game data (Z-machine 8,
->2 beshort <0x7fff Release %3d,
-#>26 beshort >0 Size %d*8
->18 string >\0 Serial %.6s)
-#
-# TADS (Text Adventure Development System)
-#
-0 string TADS TADS adventure game data
->13 string >\0 (ver. %.6s,
->22 string >\0 date %s)
diff --git a/usr.bin/file/Magdir/alliant b/usr.bin/file/Magdir/alliant
deleted file mode 100644
index 69cf4b4..0000000
--- a/usr.bin/file/Magdir/alliant
+++ /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/usr.bin/file/Magdir/alpha b/usr.bin/file/Magdir/alpha
deleted file mode 100644
index 42e1917..0000000
--- a/usr.bin/file/Magdir/alpha
+++ /dev/null
@@ -1,21 +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 .%d
->28 byte x -%d
-
-# Basic recognition of OSF/1 core dumps - Mike Bremford <mike@opac.bl.uk>
-#
-0 string Core\001 COFF format core dump (OSF/1)
->24 string >\0 generated by '%s'
diff --git a/usr.bin/file/Magdir/amanda b/usr.bin/file/Magdir/amanda
deleted file mode 100644
index 57c4359..0000000
--- a/usr.bin/file/Magdir/amanda
+++ /dev/null
@@ -1,7 +0,0 @@
-#------------------------------------------------------------------------------
-# amanda: file(1) magic for amanda file format
-#
-0 string AMANDA:\ TAPESTART\ DATE AMANDA dump header file,
->23 string X
->>25 string >\ Unused %s
->23 string >\ DATE %s
diff --git a/usr.bin/file/Magdir/amigaos b/usr.bin/file/Magdir/amigaos
deleted file mode 100644
index 6073936..0000000
--- a/usr.bin/file/Magdir/amigaos
+++ /dev/null
@@ -1,10 +0,0 @@
-#------------------------------------------------------------------------------
-# amigaos: file(1) magic for AmigaOS binary formats:
-
-#
-# From ignatios@cs.uni-bonn.de (Ignatios Souvatzis)
-# Some formats are still missing: AmigaOS special IFF's, e.g.: FORM....CTLG
-# (the others should be seperate, anyway)
-#
-0 belong 0x000003f3 AmigaOS loadseg()ble executable/binary
-0 belong 0x000003e7 AmigaOS object/library data
diff --git a/usr.bin/file/Magdir/animation b/usr.bin/file/Magdir/animation
deleted file mode 100644
index c0c8e12..0000000
--- a/usr.bin/file/Magdir/animation
+++ /dev/null
@@ -1,63 +0,0 @@
-
-#------------------------------------------------------------------------------
-# animation: file(1) magic for animation/movie formats
-#
-# $FreeBSD$
-#
-# animation formats
-# MPEG, FLI, DL originally from vax@ccwf.cc.utexas.edu (VaX#n8)
-# FLC, SGI, Apple originally from Daniel Quinlan (quinlan@yggdrasil.com)
-
-# MPEG animation format
-0 belong 0x000001b3 Mpeg video stream data
-#>4 beshort&0xfff0 x (%d x
-#>5 beshort&0x0fff x %d)
-0 belong 0x000001ba Mpeg system stream data
-0 beshort&0xfff0 0xfff0 Mpeg audio stream data
-
-# 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
-
-# SGI and Apple formats
-0 string MOVI Silicon Graphics movie file
-4 string moov Apple QuickTime movie file (moov)
-4 string mdat Apple QuickTime movie file (mdat)
-
-# RealNetworks formats
-0 string .RMF RealMedia file
diff --git a/usr.bin/file/Magdir/apl b/usr.bin/file/Magdir/apl
deleted file mode 100644
index 0400431..0000000
--- a/usr.bin/file/Magdir/apl
+++ /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/usr.bin/file/Magdir/apple b/usr.bin/file/Magdir/apple
deleted file mode 100644
index a6492b7..0000000
--- a/usr.bin/file/Magdir/apple
+++ /dev/null
@@ -1,10 +0,0 @@
-
-#------------------------------------------------------------------------------
-# apple: file(1) magic for Apple II file formats
-#
-0 string FiLeStArTfIlEsTaRt binscii (apple ][) text
-0 string \x0aGL Binary II (apple ][) data
-0 string \x76\xff Squeezed (apple ][) data
-0 string SIT! StuffIt (macintosh) text
-0 string NuFile NuFile archive (apple ][) data
-0 string N\xf5F\xe9l\xe5 NuFile archive (apple ][) data
diff --git a/usr.bin/file/Magdir/applix b/usr.bin/file/Magdir/applix
deleted file mode 100644
index 9d348d1..0000000
--- a/usr.bin/file/Magdir/applix
+++ /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/usr.bin/file/Magdir/ar b/usr.bin/file/Magdir/ar
deleted file mode 100644
index 583ec30..0000000
--- a/usr.bin/file/Magdir/ar
+++ /dev/null
@@ -1,104 +0,0 @@
-#
-# "ar", for all kinds of archives.
-#
-# 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 SVR3.1 archives, we have:
-#
-# 0 string \<ar> System V Release 1 ar archive
-# 0 string =<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 long 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
-#
-0 string =<ar> archive
-#
-# From "pdp":
-#
-0 lelong 0x39bed PDP-11 old archive
-0 lelong 0x39bee PDP-11 4.0 archive
-#
-0 string -h- Software Tools format archive text
-# "arc" archiver
-0 byte 26 'arc' archive
->1 byte 0 (empty)
->1 byte 1 (old format)
-# Rahul Dhesi's zoo archive format, from keith@cerberus.uchicago.edu.
-20 long 0xdca7c4fd Rahul Dhesi's "zoo" archive
-# ZIP archiver
-0 string PK zip archive file
->4 byte x - version
->4 byte 10 1.0
->4 byte 20 2.0
-
-2 string -lh LHarc archive data
->6 byte x type %c
->20 byte x - header level %d
-
-# From: <u31b3hs@pool.informatik.rwth-aachen.de> (Michael Haardt)
-2 string -lh0- Lharc 1.x archive
-2 string -lh1- Lharc 1.x archive
-2 string -lz4- Lharc 1.x archive
-2 string -lz5- Lharc 1.x archive
-2 string -lzs- LHa 2.x? archive [lzs]
-2 string -lh - LHa 2.x? archive [lh ]
-2 string -lhd- LHa 2.x? archive [lhd]
-2 string -lh2- LHa 2.x? archive [lh2]
-2 string -lh3- LHa 2.x? archive [lh3]
-2 string -lh4- LHa 2.x? archive [lh4]
-2 string -lh5- LHa (2.x) archive
-
-# ARJ archive data from jason@jarthur.Claremont.EDU
-0 leshort 0xea60 ARJ archive data
->5 byte x - version %d,
->8 byte >0 flags:
->>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]
diff --git a/usr.bin/file/Magdir/arc b/usr.bin/file/Magdir/arc
deleted file mode 100644
index 1ebb260..0000000
--- a/usr.bin/file/Magdir/arc
+++ /dev/null
@@ -1,3 +0,0 @@
-0 byte 26 'arc' archive
->1 byte 0 (empty)
->1 byte 1 (old format)
diff --git a/usr.bin/file/Magdir/archive b/usr.bin/file/Magdir/archive
deleted file mode 100644
index f266b19..0000000
--- a/usr.bin/file/Magdir/archive
+++ /dev/null
@@ -1,210 +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)
-
-# 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 first)
-#
-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
->8 string debian-split part of multipart Debian package
->8 string debian-binary Debian binary package
->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
-
-# 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)
-
-# 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]
-
-# 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
-
-# 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 archive data [lh0]
-2 string -lh1- LHarc 1.x 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 2.x? archive data [lzs]
-2 string -lh - 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]
->20 byte x - header level %d
-
-# RAR archiver (Greg Roelofs, newt@uchicago.edu)
-0 string Rar! 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)
-# I can't figure out the self-extracting form of these buggers...
-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
diff --git a/usr.bin/file/Magdir/asterix b/usr.bin/file/Magdir/asterix
deleted file mode 100644
index d89504a..0000000
--- a/usr.bin/file/Magdir/asterix
+++ /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/usr.bin/file/Magdir/att3b b/usr.bin/file/Magdir/att3b
deleted file mode 100644
index 7723a7f..0000000
--- a/usr.bin/file/Magdir/att3b
+++ /dev/null
@@ -1,39 +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
-#
-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/usr.bin/file/Magdir/audio b/usr.bin/file/Magdir/audio
deleted file mode 100644
index 5433557..0000000
--- a/usr.bin/file/Magdir/audio
+++ /dev/null
@@ -1,96 +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 u-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 23 8-bit ISDN u-law compressed (CCITT G.721 ADPCM voice data encoding),
->12 belong 24 compressed (8-bit G.722 ADPCM)
->12 belong 25 compressed (3-bit G.723 ADPCM),
->12 belong 26 compressed (5-bit G.723 ADPCM),
->12 belong 27 8-bit A-law,
->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 u-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 lelong 23 8-bit ISDN u-law compressed (CCITT G.721 ADPCM voice data encoding),
->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
->9 byte >0 (format %d)
->11 byte >1 using %d channels
-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
-
-# Microsoft WAVE format (*.wav)
-0 string RIFF Microsoft RIFF
->8 string WAVE \b, WAVE audio data
->>34 leshort >0 \b, %d bit
->>22 leshort =1 \b, mono
->>22 leshort =2 \b, stereo
->>22 leshort >2 \b, %d channels
->>24 lelong >0 %d Hz
-# AVI == Audio Video Interleave
->8 string AVI\ \b, AVI data
-
-# 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
-
-# MTM/669/FAR/S3M/ULT/XM format checking [Aaron Eppert, aeppert@dialin.ind.net]
-# Oct 31, 1995
-0 string MTM MultiTracker Module sound file
-0 string if Composer 669 Module sound data
-0 string FAR Module sound data
-0 string MAS_U ULT(imate) Module sound data
-0x2c string SCRM ScreamTracker III Module sound data
-0 string Extended Module Extended Module sound data
-
-# Gravis UltraSound patches
-# From <ache@nagual.ru>
-
-0 string GF1PATCH110\0ID#000002\0 GUS patch
-0 string GF1PATCH100\0ID#000002\0 Old GUS patch
diff --git a/usr.bin/file/Magdir/blit b/usr.bin/file/Magdir/blit
deleted file mode 100644
index 7a470ed..0000000
--- a/usr.bin/file/Magdir/blit
+++ /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/usr.bin/file/Magdir/bsdi b/usr.bin/file/Magdir/bsdi
deleted file mode 100644
index 2e3b646..0000000
--- a/usr.bin/file/Magdir/bsdi
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# bsdi: file(1) magic for BSD/OS (from BSDI) objects
-#
-0 lelong 000000314 BSD/OS i386 compact demand paged executable
->16 lelong >0 not stripped
->32 byte 0x6a (uses shared libs)
diff --git a/usr.bin/file/Magdir/bzip b/usr.bin/file/Magdir/bzip
deleted file mode 100644
index 97692ce7..0000000
--- a/usr.bin/file/Magdir/bzip
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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
diff --git a/usr.bin/file/Magdir/c-lang b/usr.bin/file/Magdir/c-lang
deleted file mode 100644
index 1b01475..0000000
--- a/usr.bin/file/Magdir/c-lang
+++ /dev/null
@@ -1,13 +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
diff --git a/usr.bin/file/Magdir/chi b/usr.bin/file/Magdir/chi
deleted file mode 100644
index ee450f5..0000000
--- a/usr.bin/file/Magdir/chi
+++ /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/usr.bin/file/Magdir/cisco b/usr.bin/file/Magdir/cisco
deleted file mode 100644
index 77e3efb..0000000
--- a/usr.bin/file/Magdir/cisco
+++ /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/usr.bin/file/Magdir/clipper b/usr.bin/file/Magdir/clipper
deleted file mode 100644
index c325cb8..0000000
--- a/usr.bin/file/Magdir/clipper
+++ /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/usr.bin/file/Magdir/commands b/usr.bin/file/Magdir/commands
deleted file mode 100644
index aea8331..0000000
--- a/usr.bin/file/Magdir/commands
+++ /dev/null
@@ -1,75 +0,0 @@
-
-#------------------------------------------------------------------------------
-# commands: file(1) magic for various shells and interpreters
-#
-0 string :\ shell archive or commands for antique kernel text
-0 string #!/bin/sh Bourne shell script text
-0 string #!\ /bin/sh Bourne shell script text
-0 string #!/bin/csh C shell script text
-0 string #!\ /bin/csh C shell script text
-# korn shell magic, sent by George Wu, gwu@clyde.att.com
-0 string #!/bin/ksh Korn shell script text
-0 string #!\ /bin/ksh Korn shell script text
-0 string #!/bin/tcsh Tenex C shell script text
-0 string #!\ /bin/tcsh Tenex C shell script text
-0 string #!/usr/local/tcsh Tenex C shell script text
-0 string #!\ /usr/local/tcsh Tenex C shell script text
-0 string #!/usr/local/bin/tcsh Tenex C shell script text
-0 string #!\ /usr/local/bin/tcsh Tenex C shell script text
-#
-# zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson)
-0 string #!/usr/local/bin/zsh Z shell script text
-0 string #!\ /usr/local/bin/zsh Z shell script text
-0 string #!/usr/local/bin/ash Neil Brown's ash
-0 string #!\ /usr/local/bin/ash Neil Brown's ash
-0 string #!/usr/local/bin/ae Neil Brown's ae
-0 string #!\ /usr/local/bin/ae Neil Brown's ae
-0 string #!/bin/nawk new awk script text
-0 string #!\ /bin/nawk new awk script text
-0 string #!/usr/bin/nawk new awk script text
-0 string #!\ /usr/bin/nawk new awk script text
-0 string #!/usr/local/bin/nawk new awk script text
-0 string #!\ /usr/local/bin/nawk new awk script text
-0 string #!/bin/gawk GNU awk script text
-0 string #!\ /bin/gawk GNU awk script text
-0 string #!/usr/bin/gawk GNU awk script text
-0 string #!\ /usr/bin/gawk GNU awk script text
-0 string #!/usr/local/bin/gawk GNU awk script text
-0 string #!\ /usr/local/bin/gawk GNU awk script text
-#
-0 string #!/bin/awk awk commands text
-0 string #!\ /bin/awk awk commands text
-0 string #!/usr/bin/awk awk commands text
-0 string #!\ /usr/bin/awk awk commands text
-0 string BEGIN awk commands text
-
-# 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 perl commands text
-0 string #!\ /bin/perl perl commands text
-0 string eval\ "exec\ /bin/perl perl commands text
-0 string #!/usr/bin/perl perl commands text
-0 string #!\ /usr/bin/perl perl commands text
-0 string eval\ "exec\ /usr/bin/perl perl commands text
-0 string #!/usr/local/bin/perl perl commands text
-0 string #!\ /usr/local/bin/perl perl commands text
-0 string eval\ "exec\ /usr/local/bin/perl perl commands text
-
-# AT&T Bell Labs' Plan 9 shell
-0 string #!/bin/rc Plan 9 rc shell script text
-0 string #!\ /bin/rc Plan 9 rc shell script text
-
-# bash shell magic, from Peter Tobias (tobias@server.et-inf.fho-emden.de)
-0 string #!/bin/bash Bourne-Again shell script text
-0 string #!\ /bin/bash Bourne-Again shell script text
-0 string #!/usr/local/bin/bash Bourne-Again shell script text
-0 string #!\ /usr/local/bin/bash Bourne-Again shell script text
-
-# generic shell magic
-0 string #!\ / a
->3 string >\0 %s script text
-0 string #!/ a
->2 string >\0 %s script text
-0 string #!\ commands text
->3 string >\0 for %s
diff --git a/usr.bin/file/Magdir/compress b/usr.bin/file/Magdir/compress
deleted file mode 100644
index a797f8f..0000000
--- a/usr.bin/file/Magdir/compress
+++ /dev/null
@@ -1,92 +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)
-0 string \037\213 gzip compressed data
->2 byte <8 \b, reserved method,
->2 byte 8 \b, deflated,
->3 byte &0x01 ASCII,
->3 byte &0x02 continuation,
->3 byte &0x04 extra field,
->3 byte &0x08 original filename,
->3 byte &0x10 comment,
->3 byte &0x20 encrypted,
->4 ledate x last modified: %s,
->8 byte 2 max compression,
->8 byte 4 max speed,
->9 byte =0x00 os: MS-DOS
->9 byte =0x01 os: Amiga
->9 byte =0x02 os: VMS
->9 byte =0x03 os: Unix
->9 byte =0x05 os: Atari
->9 byte =0x06 os: OS/2
->9 byte =0x07 os: MacOS
->9 byte =0x0A os: Tops/20
->9 byte =0x0B os: Win/32
-
-# 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. XXX - Does that mean this
-# is big-endian, little-endian, either, or that you can't tell?
-# this short is valid for SunOS
-0 short 017437 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
-
-# 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)
-
-# 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 from ulmo@Q.Net
-0 string BZ bzip compressed data,
->2 byte x format v. %c,
->3 byte x block size indicator %c
-
diff --git a/usr.bin/file/Magdir/convex b/usr.bin/file/Magdir/convex
deleted file mode 100644
index b1235d7..0000000
--- a/usr.bin/file/Magdir/convex
+++ /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/usr.bin/file/Magdir/cpio b/usr.bin/file/Magdir/cpio
deleted file mode 100644
index d1805cc..0000000
--- a/usr.bin/file/Magdir/cpio
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Yes, the 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)
diff --git a/usr.bin/file/Magdir/database b/usr.bin/file/Magdir/database
deleted file mode 100644
index 146c310..0000000
--- a/usr.bin/file/Magdir/database
+++ /dev/null
@@ -1,38 +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
-#
-0 belong 0x061561 Berkeley DB Hash file
->4 belong >0 (Version %d,
->8 belong 1234 Little Endian,
->8 belong 4321 Big Endian,
->12 belong x Bucket Size %d,
->16 belong x Bucket Shift %d,
->20 belong x Directory Size %d,
->24 belong x Segment Size %d,
->28 belong x Segment Shift %d,
->32 belong x Overflow Point %d,
->36 belong x Last Freed %d,
->40 belong x Max Bucket %d,
->44 belong x High Mask 0x%x,
->48 belong x Low Mask 0x%x,
->52 belong x Fill Factor %d,
->56 belong x Number of Keys %d)
-#
-#
-0 belong 0x053162 Berkeley DB Btree file
->4 belong >0 (Version %d,
->8 belong x Page Size %d,
->12 belong x Free Page %d,
->16 belong x Number of Records %d,
->20 belong x Flags 0x%x)
diff --git a/usr.bin/file/Magdir/diamond b/usr.bin/file/Magdir/diamond
deleted file mode 100644
index 1abd01e..0000000
--- a/usr.bin/file/Magdir/diamond
+++ /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/usr.bin/file/Magdir/diff b/usr.bin/file/Magdir/diff
deleted file mode 100644
index 9e65146..0000000
--- a/usr.bin/file/Magdir/diff
+++ /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/usr.bin/file/Magdir/digital b/usr.bin/file/Magdir/digital
deleted file mode 100644
index f4ebbff..0000000
--- a/usr.bin/file/Magdir/digital
+++ /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/usr.bin/file/Magdir/ditroff b/usr.bin/file/Magdir/ditroff
deleted file mode 100644
index 1fff178..0000000
--- a/usr.bin/file/Magdir/ditroff
+++ /dev/null
@@ -1,4 +0,0 @@
-# Magic numbers for ditroff intermediate language
-0 string x\ T\ cat titroff output for the C/A/T text
-0 string x\ T\ ps titroff output for PostScript
-0 string x\ T titroff output text
diff --git a/usr.bin/file/Magdir/dump b/usr.bin/file/Magdir/dump
deleted file mode 100644
index 628ead8..0000000
--- a/usr.bin/file/Magdir/dump
+++ /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/usr.bin/file/Magdir/elf b/usr.bin/file/Magdir/elf
deleted file mode 100644
index 4f398a2..0000000
--- a/usr.bin/file/Magdir/elf
+++ /dev/null
@@ -1,74 +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.
-#
-# MIPS RS3000 may also be for MIPS RS2000.
-# 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
->4 byte 2 64-bit
->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>
->>16 leshort 4 core file,
->>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 RS3000_BE - invalid byte order,
->>18 leshort 9 Amdahl - invalid byte order,
->>18 leshort 10 MIPS RS3000_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
->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,
->>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 RS3000_BE,
->>18 beshort 9 Amdahl,
->>18 beshort 10 MIPS RS3000_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,
->>18 beshort 0x9026 Alpha,
->>20 belong 0 invalid version
->>20 belong 1 version 1
->>36 belong 1 MathCoPro/FPU/MAU Required
->8 string >\0 (%s)
diff --git a/usr.bin/file/Magdir/encore b/usr.bin/file/Magdir/encore
deleted file mode 100644
index 63cb5d4..0000000
--- a/usr.bin/file/Magdir/encore
+++ /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/usr.bin/file/Magdir/figlet b/usr.bin/file/Magdir/figlet
deleted file mode 100644
index ac650b1..0000000
--- a/usr.bin/file/Magdir/figlet
+++ /dev/null
@@ -1,9 +0,0 @@
-
-#------------------------------------------------------------------------------
-# figlet: file(1) magic for FIGlet fonts and controlfiles
-# From figmagic supplied with Figlet version 2.2
-#
-0 string flf FIGlet font
->3 string >2a version %-2.2s
-0 string flc FIGlet controlfile
->3 string >2a version %-2.2s
diff --git a/usr.bin/file/Magdir/filesystems b/usr.bin/file/Magdir/filesystems
deleted file mode 100644
index 125250d..0000000
--- a/usr.bin/file/Magdir/filesystems
+++ /dev/null
@@ -1,6 +0,0 @@
-
-#------------------------------------------------------------------------------
-# filesystems: file(1) magic for different filesystems
-#
-0x438 leshort 0xEF53 Linux/i386 ext2 filesystem
-0 string \366\366\366\366 PC formatted floppy with no filesystem
diff --git a/usr.bin/file/Magdir/flash b/usr.bin/file/Magdir/flash
deleted file mode 100644
index 1d6f7b7..0000000
--- a/usr.bin/file/Magdir/flash
+++ /dev/null
@@ -1,10 +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
diff --git a/usr.bin/file/Magdir/floppy.raw b/usr.bin/file/Magdir/floppy.raw
deleted file mode 100644
index 75091b9..0000000
--- a/usr.bin/file/Magdir/floppy.raw
+++ /dev/null
@@ -1 +0,0 @@
-0 string \366\366\366\366 Formatted floppy w/ no filesystem data
diff --git a/usr.bin/file/Magdir/fonts b/usr.bin/file/Magdir/fonts
deleted file mode 100644
index dd7907f..0000000
--- a/usr.bin/file/Magdir/fonts
+++ /dev/null
@@ -1,26 +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.0 PostScript Type 1 font text
->20 string >\0 (%s)
-6 string %!PS-AdobeFont-1.0 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
diff --git a/usr.bin/file/Magdir/frame b/usr.bin/file/Magdir/frame
deleted file mode 100644
index e2c10f1..0000000
--- a/usr.bin/file/Magdir/frame
+++ /dev/null
@@ -1,37 +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.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/usr.bin/file/Magdir/freebsd b/usr.bin/file/Magdir/freebsd
deleted file mode 100644
index 2370c25..0000000
--- a/usr.bin/file/Magdir/freebsd
+++ /dev/null
@@ -1,130 +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
->4 lelong >0 (version %d)
diff --git a/usr.bin/file/Magdir/gimp b/usr.bin/file/Magdir/gimp
deleted file mode 100644
index 286fa9c..0000000
--- a/usr.bin/file/Magdir/gimp
+++ /dev/null
@@ -1,32 +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\ file GIMP XCF image data,
->14 belong x %ld x
->18 belong x %ld,
->22 belong 0 RGB Color
->22 belong 1 Greyscale
->22 belong 2 Indexed Color
-
-#------------------------------------------------------------------------------
-# 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/usr.bin/file/Magdir/gnu b/usr.bin/file/Magdir/gnu
deleted file mode 100644
index 85af567..0000000
--- a/usr.bin/file/Magdir/gnu
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# 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
diff --git a/usr.bin/file/Magdir/gzip b/usr.bin/file/Magdir/gzip
deleted file mode 100644
index a19a654..0000000
--- a/usr.bin/file/Magdir/gzip
+++ /dev/null
@@ -1,21 +0,0 @@
-0 string \037\213 gzip compressed data
->2 byte <8 - reserved method
->2 byte 8 - deflate method
->3 byte &0x01 , ascii
->3 byte &0x02 , continuation
->3 byte &0x04 , extra field
->3 byte &0x08 , original file name
->3 byte &0x10 , comment
->3 byte &0x20 , encrypted
->4 ledate x , last modified: %s
->8 byte 2 , max compression
->8 byte 4 , max speed
->9 byte =0x00 os: MS/DOS
->9 byte =0x01 os: Amiga
->9 byte =0x02 os: VMS
->9 byte =0x03 os: Unix
->9 byte =0x05 os: Atari
->9 byte =0x06 os: OS/2
->9 byte =0x07 os: MacOS
->9 byte =0x0A os: Tops/20
->9 byte =0x0B os: Win/32
diff --git a/usr.bin/file/Magdir/hp b/usr.bin/file/Magdir/hp
deleted file mode 100644
index e1efdbd..0000000
--- a/usr.bin/file/Magdir/hp
+++ /dev/null
@@ -1,228 +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
-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
-
-#### 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 short 0x1129 (ADR)
->8 short 0x3329 (REAL)
->8 short 0x5529 (LREAL)
->8 short 0x7729 (COMPLX)
->8 short 0x9d29 (LCOMPLX)
->8 short 0xbf29 (CHAR)
->8 short 0xe829 (ARRAY)
->8 short 0x0a2a (LNKARRAY)
->8 short 0x2c2a (STRING)
->8 short 0x4e2a (HXS)
->8 short 0x742a (LIST)
->8 short 0x962a (DIR)
->8 short 0xb82a (ALG)
->8 short 0xda2a (UNIT)
->8 short 0xfc2a (TAGGED)
->8 short 0x1e2b (GROB)
->8 short 0x402b (LIB)
->8 short 0x622b (BACKUP)
->8 short 0x882b (LIBDATA)
->8 short 0x9d2d (PROG)
->8 short 0xcc2d (CODE)
->8 short 0x482e (GNAME)
->8 short 0x6d2e (LNAME)
->8 short 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
-
diff --git a/usr.bin/file/Magdir/ibm370 b/usr.bin/file/Magdir/ibm370
deleted file mode 100644
index 8cd9da2..0000000
--- a/usr.bin/file/Magdir/ibm370
+++ /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/usr.bin/file/Magdir/ibm6000 b/usr.bin/file/Magdir/ibm6000
deleted file mode 100644
index 8e1077b..0000000
--- a/usr.bin/file/Magdir/ibm6000
+++ /dev/null
@@ -1,17 +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
diff --git a/usr.bin/file/Magdir/iff b/usr.bin/file/Magdir/iff
deleted file mode 100644
index 68d1b79..0000000
--- a/usr.bin/file/Magdir/iff
+++ /dev/null
@@ -1,28 +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
-# 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
diff --git a/usr.bin/file/Magdir/imagen b/usr.bin/file/Magdir/imagen
deleted file mode 100644
index 5fa4f6c..0000000
--- a/usr.bin/file/Magdir/imagen
+++ /dev/null
@@ -1,14 +0,0 @@
-# Tell file about magic for 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.
-#
-# Now magic for IMAGEN font files...
-0 string Rast RST-format raster font data
->45 string >0 face %
diff --git a/usr.bin/file/Magdir/images b/usr.bin/file/Magdir/images
deleted file mode 100644
index 271b169..0000000
--- a/usr.bin/file/Magdir/images
+++ /dev/null
@@ -1,236 +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)
-# no magic: Targa
-
-# PBMPLUS images
-# The next byte following the magic is always whitespace.
-0 string P1 PBM image text
-0 string P2 PGM image text
-0 string P3 PPM image text
-0 string P4 PBM "rawbits" image data
-0 string P5 PGM "rawbits" image data
-0 string P6 PPM "rawbits" image data
-
-# 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)
-#
-# 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,
->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
-
-# 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)
-
-# 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
-# HSI is Handmade Software's proprietary JPEG encoding scheme
-0 string hsi1 JPEG image data, HSI proprietary
-
-# 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
-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)
-# file://sgi.com/graphics/SGIIMAGESPEC
-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
-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
diff --git a/usr.bin/file/Magdir/intel b/usr.bin/file/Magdir/intel
deleted file mode 100644
index d450e26..0000000
--- a/usr.bin/file/Magdir/intel
+++ /dev/null
@@ -1,35 +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
diff --git a/usr.bin/file/Magdir/interleaf b/usr.bin/file/Magdir/interleaf
deleted file mode 100644
index 3eea3cf..0000000
--- a/usr.bin/file/Magdir/interleaf
+++ /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/usr.bin/file/Magdir/iris b/usr.bin/file/Magdir/iris
deleted file mode 100644
index 952a5f1..0000000
--- a/usr.bin/file/Magdir/iris
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# magic.iris: Magic for mips from an iris4d
-#
-# Dunno what byte-order munging is needed; all of SGI's *current*
-# machines and OSes run in big-endian mode on the MIPS machines,
-# as far as I know, but they do have the MIPSEB and MIPSEL stuff
-# here....
-#
-0 short 0x0160 mipseb
->20 short 0407 executable
->20 short 0410 pure
->20 short 0413 demand paged
->8 long >0 not stripped
->8 long 0 stripped
->22 byte >0 - version %ld.
->23 byte >0 %ld
-0 short 0x0162 mipsel
->20 short 0407 executable
->20 short 0410 pure
->20 short 0413 demand paged
->8 long >0 not stripped
->8 long 0 stripped
->23 byte >0 - version %ld.
->22 byte >0 %ld
-0 short 0x6001 swapped mipseb
->20 short 03401 executable
->20 short 04001 pure
->20 short 05401 demand paged
->8 long >0 not stripped
->8 long 0 stripped
->22 byte >0 - version %ld.
->23 byte >0 %ld
-0 short 0x6201 swapped mipsel
->20 short 03401 executable
->20 short 04001 pure
->20 short 05401 demand paged
->8 long >0 not stripped
->8 long 0 stripped
->22 byte >0 - version %ld.
->23 byte >0 %ld
-0 short 0x180 mipseb ucode
-0 short 0x182 mipsel ucode
-#
-# IRIX core format version 1 (from /usr/include/core.out.h)
-0 long 0xdeadadb0 IRIX core dump
->4 long 1 of
->16 string >\0 '%s'
-#
-# Archives - This handles archive subtypes
-#
-0 string !<arch>\n__________E MIPS archive
->20 string U with mipsucode members
->21 string L with mipsel members
->21 string B with mipseb members
->19 string L and a EL hash table
->19 string B and a EB hash table
->22 string X -- out of date
diff --git a/usr.bin/file/Magdir/island b/usr.bin/file/Magdir/island
deleted file mode 100644
index 9903cdd..0000000
--- a/usr.bin/file/Magdir/island
+++ /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/usr.bin/file/Magdir/ispell b/usr.bin/file/Magdir/ispell
deleted file mode 100644
index 3c6bcdc..0000000
--- a/usr.bin/file/Magdir/ispell
+++ /dev/null
@@ -1,54 +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
diff --git a/usr.bin/file/Magdir/java b/usr.bin/file/Magdir/java
deleted file mode 100644
index 219f93e..0000000
--- a/usr.bin/file/Magdir/java
+++ /dev/null
@@ -1,13 +0,0 @@
-#------------------------------------------------------------
-# Java ByteCode
-# From Larry Schwimmer (schwim@cs.stanford.edu)
-0 belong 0xcafebabe
->4 belong 0x0003002d Java bytecode
-#
-# java: file(1) magic for java compiled classes
-#
-
-0 belong 0xCafeBabe compiled java class data,
->4 beshort x version %d.
->6 beshort x \b%d
-
diff --git a/usr.bin/file/Magdir/karma b/usr.bin/file/Magdir/karma
deleted file mode 100644
index e256abf..0000000
--- a/usr.bin/file/Magdir/karma
+++ /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 long x %lu
diff --git a/usr.bin/file/Magdir/lecter b/usr.bin/file/Magdir/lecter
deleted file mode 100644
index 87c186b..0000000
--- a/usr.bin/file/Magdir/lecter
+++ /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/usr.bin/file/Magdir/lex b/usr.bin/file/Magdir/lex
deleted file mode 100644
index 7b6d0f7..0000000
--- a/usr.bin/file/Magdir/lex
+++ /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/usr.bin/file/Magdir/lif b/usr.bin/file/Magdir/lif
deleted file mode 100644
index f6d7901..0000000
--- a/usr.bin/file/Magdir/lif
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# lif: file(1) magic for lif
-#
-# XXX - byte order? (Probably beshort, Daniel Quinlan <quinlan@yggdrasil.com>)
-#
-0 short 0x8000 lif file
diff --git a/usr.bin/file/Magdir/linux b/usr.bin/file/Magdir/linux
deleted file mode 100644
index 75a2a2b..0000000
--- a/usr.bin/file/Magdir/linux
+++ /dev/null
@@ -1,73 +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
-# message catalogs, from Mitchum DSouza <m.dsouza@mrc-apu.cam.ac.uk>
-0 string *nazgul* Linux compiled message catalog
->8 lelong >0 \b, version %ld
-# 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
-#
-# Debian Packages, from Peter Tobias <tobias@server.et-inf.fho-emden.de>
-0 string 0.9
->8 byte 0x0a Debian Binary Package
->>3 byte >0 \b, created by dpkg 0.9%c
->>4 byte >0 pl%c
-# 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
-# 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 images version 1.3.80 - ?
-# from Axel Kohlmeyer <akohlmey@rincewind.chemie.uni-ulm.de>
-0 belong 0xb8c0078e Linux/x86 kernel image,
->0x048c byte 0x31
->>0x048c string x version %s
->0x0493 byte 0x31
->>0x0493 string x version %s
-#
diff --git a/usr.bin/file/Magdir/lisp b/usr.bin/file/Magdir/lisp
deleted file mode 100644
index ac4ba77..0000000
--- a/usr.bin/file/Magdir/lisp
+++ /dev/null
@@ -1,10 +0,0 @@
-
-#------------------------------------------------------------------------------
-# lisp: file(1) magic for lisp programs
-#
-# various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com)
-0 string ;; Lisp/Scheme program text
-# Emacs 18 - this is always correct, but not very magical.
-0 string \012( byte-compiled Emacs-Lisp program data
-# Emacs 19
-0 string ;ELC\023\000\000\000 byte-compiled Emacs-Lisp program data
diff --git a/usr.bin/file/Magdir/mach b/usr.bin/file/Magdir/mach
deleted file mode 100644
index 308325e..0000000
--- a/usr.bin/file/Magdir/mach
+++ /dev/null
@@ -1,38 +0,0 @@
-#------------------------------------------------------------------------------
-# mach file description
-#
-0 belong 0xcafebabe mach-o fat file
->4 belong 1 with 1 architecture
->4 belong >1
->>4 belong x with %ld architectures
-#
-0 belong 0xfeedface mach-o
->12 belong 1 object
->12 belong 2 executable
->12 belong 3 shared library
->12 belong 4 core
->12 belong 5 preload executable
->12 belong >5
->>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
->4 belong 7 i386
->4 belong 8 mips
->4 belong 9 ns32532
->4 belong 10 architecture=10
->4 belong 11 hp pa-risc
->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 powerPC
->4 belong >18
->>4 belong x architecture=%ld
diff --git a/usr.bin/file/Magdir/macintosh b/usr.bin/file/Magdir/macintosh
deleted file mode 100644
index 81f8117..0000000
--- a/usr.bin/file/Magdir/macintosh
+++ /dev/null
@@ -1,79 +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
-65 string SIT! StuffIt Archive (rsrc + data)
->2 string x : %s
-0 string SITD StuffIt Deluxe (data)
->2 string x : %s
-65 string SITD StuffIt Deluxe (rsrc + data)
->2 string x : %s
-0 string Seg StuffIt Deluxe Segment (data)
->2 string x : %s
-65 string Seg StuffIt Deluxe Segment (rsrc + data)
->2 string x : %s
-
-# Macintosh Applications and Installation binaries (franklsm@tuns.ca)
-0 string APPL Macintosh Application (data)
->2 string x : %s
-65 string APPL Macintosh Application (rsrc + data)
->2 string x : %s
-
-# Macintosh System files (franklsm@tuns.ca)
-0 string zsys Macintosh System File (data)
-65 string zsys Macintosh System File(rsrc + data)
-0 string FNDR Macintosh Finder (data)
-65 string FNDR Macintosh Finder(rsrc + data)
-0 string libr Macintosh Library (data)
->2 string x : %s
-65 string libr Macintosh Library(rsrc + data)
->2 string x : %s
-0 string shlb Macintosh Shared Library (data)
->2 string x : %s
-65 string shlb Macintosh Shared Library(rsrc + data)
->2 string x : %s
-0 string cdev Macintosh Control Panel (data)
->2 string x : %s
-65 string cdev Macintosh Control Panel(rsrc + data)
->2 string x : %s
-0 string INIT Macintosh Extension (data)
->2 string x : %s
-65 string INIT Macintosh Extension(rsrc + data)
->2 string x : %s
-0 string FFIL Macintosh Truetype Font (data)
->2 string x : %s
-65 string FFIL Macintosh Truetype Font(rsrc + data)
->2 string x : %s
-0 string LWFN Macintosh Postscript Font (data)
->2 string x : %s
-65 string LWFN Macintosh Postscript Font(rsrc + data)
->2 string x : %s
-
-# Additional Macintosh Files (franklsm@tuns.ca)
-
-0 string PACT Macintosh Compact Pro Archive (data)
->2 string x : %s
-65 string PACT Macintosh Compact Pro Archive(rsrc + data)
->2 string x : %s
-0 string ttro Macintosh TeachText File (data)
->2 string x : %s
-65 string ttro Macintosh TeachText File(rsrc + data)
->2 string x : %s
-0 string TEXT Macintosh TeachText File (data)
->2 string x : %s
-65 string TEXT Macintosh TeachText File(rsrc + data)
->2 string x : %s
-0 string PDF Macintosh PDF File (data)
->2 string x : %s
-65 string PDF Macintosh PDF File(rsrc + data)
->2 string x : %s
-
diff --git a/usr.bin/file/Magdir/magic b/usr.bin/file/Magdir/magic
deleted file mode 100644
index 4a639c6..0000000
--- a/usr.bin/file/Magdir/magic
+++ /dev/null
@@ -1,5 +0,0 @@
-
-#------------------------------------------------------------------------------
-# magic: file(1) magic for magic files
-#
-0 string #\ Magic magic text file for file(1) cmd
diff --git a/usr.bin/file/Magdir/mail.news b/usr.bin/file/Magdir/mail.news
deleted file mode 100644
index bd3fd2d..0000000
--- a/usr.bin/file/Magdir/mail.news
+++ /dev/null
@@ -1,21 +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
diff --git a/usr.bin/file/Magdir/microsoft b/usr.bin/file/Magdir/microsoft
deleted file mode 100644
index 74d1daf..0000000
--- a/usr.bin/file/Magdir/microsoft
+++ /dev/null
@@ -1,72 +0,0 @@
-
-#------------------------------------------------------------------------------
-# microsoft: 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/usr.bin/file/Magdir/mime b/usr.bin/file/Magdir/mime
deleted file mode 100644
index 0102709..0000000
--- a/usr.bin/file/Magdir/mime
+++ /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/usr.bin/file/Magdir/mips b/usr.bin/file/Magdir/mips
deleted file mode 100644
index ae17cbd..0000000
--- a/usr.bin/file/Magdir/mips
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# RISC MIPS decstation
-# Should this be "leshort", given that DEC ran the DECstations in
-# little-endian mode?
-#
-# Where is the non-SGI, non-DEC MIPS stuff?
-#
-0 short 0x6201 MIPS executable
diff --git a/usr.bin/file/Magdir/mirage b/usr.bin/file/Magdir/mirage
deleted file mode 100644
index 73c3747..0000000
--- a/usr.bin/file/Magdir/mirage
+++ /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/usr.bin/file/Magdir/mkid b/usr.bin/file/Magdir/mkid
deleted file mode 100644
index dfb2d93..0000000
--- a/usr.bin/file/Magdir/mkid
+++ /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/usr.bin/file/Magdir/mmdf b/usr.bin/file/Magdir/mmdf
deleted file mode 100644
index 72cd9f3..0000000
--- a/usr.bin/file/Magdir/mmdf
+++ /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/usr.bin/file/Magdir/modem b/usr.bin/file/Magdir/modem
deleted file mode 100644
index 73e747e..0000000
--- a/usr.bin/file/Magdir/modem
+++ /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/usr.bin/file/Magdir/motorola b/usr.bin/file/Magdir/motorola
deleted file mode 100644
index efed159..0000000
--- a/usr.bin/file/Magdir/motorola
+++ /dev/null
@@ -1,32 +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
diff --git a/usr.bin/file/Magdir/ms-dos b/usr.bin/file/Magdir/ms-dos
deleted file mode 100644
index 54204ac..0000000
--- a/usr.bin/file/Magdir/ms-dos
+++ /dev/null
@@ -1,208 +0,0 @@
-
-#------------------------------------------------------------------------------
-# msdos: file(1) magic for MS-DOS files
-#
-
-# .BAT files (Daniel Quinlan, quinlan@yggdrasil.com)
-0 string @echo\ off MS-DOS batch file text
-
-# WinNT/WinCE PE files (Warner Losh, imp@village.org)
-#
-128 string PE\000\000 MS Windows PE
->132 leshort 0x0000 Unknown CPU
->132 leshort 0x14c Intel 386
->132 leshort 0x14d Intel 486
->132 leshort 0x14e Intel 586
->132 leshort 0x162 MIPS ISA I
->132 leshort 0x163 MIPS ISA II
->132 leshort 0x166 MIPS ISA III
->132 leshort 0x184 Digital Alpha
->132 leshort 0x1a2 Hitachi SH3
->132 leshort 0x1a6 Hitachi SH4
->132 leshort 0x1c0 ARM
->132 leshort 0x1f0 Power PC
->132 leshort 0x268 Motorola 68000 series
->132 leshort 0x290 PA-RISC
->148 leshort >27
->>220 leshort 0 unknown subsystem
->>220 leshort 1 native
->>220 leshort 2 GUI
->>220 leshort 3 console
->>220 leshort 7 POSIX
->150 leshort&0x2000 =0 executable
-#>>136 ledate x stamp %s,
->>150 leshort&0x0001 >0 not relocatable
-#>>150 leshort&0x0004 =0 with line numbers,
-#>>150 leshort&0x0008 =0 with local symbols,
-#>>150 leshort&0x0200 =0 with debug symbols,
->>150 leshort&0x1000 >0 system file
-#>>148 leshort >0
-#>>>154 byte x linker %d
-#>>>155 byte x \b.%d,
-#>>148 leshort >27
-#>>>192 leshort x requires OS %d
-#>>>194 leshort x \b.%d,
-#>>>196 leshort x user version %d
-#>>>198 leshort x \b.%d,
-#>>>200 leshort x subsystem version %d
-#>>>202 leshort x \b.%d,
->150 leshort&0x2000 >0 DLL
-#>>136 ledate x stamp %s,
->>150 leshort&0x0001 >0 not relocatable
-#>>150 leshort&0x0004 =0 with line numbers,
-#>>150 leshort&0x0008 =0 with local symbols,
-#>>150 leshort&0x0200 =0 with debug symbols,
->>150 leshort&0x1000 >0 system file
-#>>148 leshort >0
-#>>>154 byte x linker %d
-#>>>155 byte x \b.%d,
-#>>148 leshort >27
-#>>>192 leshort x requires OS %d
-#>>>194 leshort x \b.%d,
-#>>>196 leshort x user version %d
-#>>>198 leshort x \b.%d,
-#>>>200 leshort x subsystem version %d
-#>>>202 leshort x \b.%d,
-0 string PE\000\000 MS Windows PE (no DOS header)
->4 leshort 0x0000 Unknown CPU
->4 leshort 0x14c Intel 386
->4 leshort 0x14d Intel 486
->4 leshort 0x14e Intel 586
->4 leshort 0x162 MIPS ISA I
->4 leshort 0x163 MIPS ISA II
->4 leshort 0x166 MIPS ISA III
->4 leshort 0x184 Digital Alpha
->4 leshort 0x1a2 Hitachi SH3
->4 leshort 0x1a6 Hitachi SH4
->4 leshort 0x1c0 ARM
->4 leshort 0x1f0 Power PC
->4 leshort 0x268 Motorola 68000 series
->4 leshort 0x290 PA-RISC
-# It would appear that the debugger information is in basically the same
-# format as what binutils calls PEI files.
-0 string DI\000\000 Microsoft PE Debugger Information
->4 leshort 0x0000 Unknown CPU
->4 leshort 0x14c Intel 386
->4 leshort 0x14d Intel 486
->4 leshort 0x14e Intel 586
->4 leshort 0x162 MIPS ISA I
->4 leshort 0x163 MIPS ISA II
->4 leshort 0x166 MIPS ISA III
->4 leshort 0x184 Digital Alpha
->4 leshort 0x1a2 Hitachi SH3
->4 leshort 0x1a6 Hitachi SH4
->4 leshort 0x1c0 ARM
->4 leshort 0x1f0 Power PC
->4 leshort 0x268 Motorola 68000 series
->4 leshort 0x290 PA-RISC
-
-0 leshort 0x0000 MS Windows COFF Unknown CPU
-0 leshort 0x14c MS Windows COFF Intel 386
-0 leshort 0x14d MS Windows COFF Intel 486
-0 leshort 0x14e MS Windows COFF Intel 586
-0 leshort 0x162 MS Windows COFF MIPS ISA I
-0 leshort 0x163 MS Windows COFF MIPS ISA II
-0 leshort 0x166 MS Windows COFF MIPS ISA III
-0 leshort 0x184 MS Windows COFF Digital Alpha
-0 leshort 0x1a2 MS Windows COFF Hitachi SH3
-0 leshort 0x1a6 MS Windows COFF Hitachi SH4
-0 leshort 0x1c0 MS Windows COFF ARM
-0 leshort 0x1f0 MS Windows COFF Power PC
-0 leshort 0x268 MS Windows COFF Motorola 68000 series
-0 leshort 0x290 MS Windows COFF PA-RISC
-
-# .EXE formats (Greg Roelofs, newt@uchicago.edu)
-#
-0 string MZ MS-DOS executable (EXE)
->24 string @ \b, OS/2 or MS Windows
->>0xe7 string LH/2\ Self-Extract \b, %s
->>0xe9 string PKSFX2 \b, %s
->0x1c string RJSX\xff\xff \b, ARJ SFX
->0x1c string diet\xf9\x9c \b, diet compressed
->0x1e string Copyright\ 1989-1990\ PKWARE\ Inc. \b, PKSFX
-# JM: 0x1e "PKLITE Copr. 1990-92 PKWARE Inc. All Rights Reserved\7\0\0\0"
->0x1e string PKLITE\ Copr. \b, %.6s compressed
->0x24 string LHa's\ SFX \b, %.15s
->0x24 string LHA's\ SFX \b, %.15s
->1638 string -lh5- \b, LHa SFX archive v2.13S
->7195 string Rar! \b, RAR self-extracting archive
-#
-# [GRR 950118: file 3.15 has a buffer-size limitation; offsets bigger than
-# 8161 bytes are ignored. To make the following entries work, increase
-# HOWMANY in file.h to 32K at least, and maybe to 70K or more for OS/2,
-# NT/Win32 and VMS.]
-# [GRR: some company sells a self-extractor/displayer for image data(!)]
-#
->11696 string PK\003\004 \b, PKZIP SFX archive v1.1
->13297 string PK\003\004 \b, PKZIP SFX archive v1.93a
->15588 string PK\003\004 \b, PKZIP2 SFX archive v1.09
->15770 string PK\003\004 \b, PKZIP SFX archive v2.04g
->28374 string PK\003\004 \b, PKZIP2 SFX archive v1.02
-#
-# Info-ZIP self-extractors
-# these are the DOS versions:
->25115 string PK\003\004 \b, Info-ZIP SFX archive v5.12
->26331 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption
-# these are the OS/2 versions (OS/2 is flagged above):
->47031 string PK\003\004 \b, Info-ZIP SFX archive v5.12
->49845 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption
-# this is the NT/Win32 version:
->69120 string PK\003\004 \b, Info-ZIP NT SFX archive v5.12 w/decryption
-#
-# 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)
-#0 byte 0xb8 MS-DOS executable (COM)
-
-# miscellaneous formats
-0 string LZ MS-DOS executable (built-in)
-#0 byte 0xf0 MS-DOS program library data
-#
-
-#
-# Windows NT Registry files.
-#
-0 string regf Windows NT Registry file
-
-# 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
-#
-2080 string Microsoft\ Excel\ 5.0\ Worksheet %s
-#
-# Pawel Wiecek <coven@i17linuxb.ists.pwr.wroc.pl> (for polish Excel)
-2114 string Biff5 Microsoft Excel 5.0 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
-
-# WordPerfect documents - Trevor Johnson <trevor@jpj.net>
-#
-1 string WPC WordPerfect document
-
-# Help files
-0 string ?_\3\0 MS Windows Help Data
diff --git a/usr.bin/file/Magdir/ncr b/usr.bin/file/Magdir/ncr
deleted file mode 100644
index 987c94e..0000000
--- a/usr.bin/file/Magdir/ncr
+++ /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/usr.bin/file/Magdir/netbsd b/usr.bin/file/Magdir/netbsd
deleted file mode 100644
index 7d92ef5..0000000
--- a/usr.bin/file/Magdir/netbsd
+++ /dev/null
@@ -1,209 +0,0 @@
-
-#------------------------------------------------------------------------------
-# netbsd: file(1) magic for NetBSD objects
-#
-# All new-style magic numbers are in network byte order.
-#
-
-0 lelong 000000407 NetBSD little-endian object file
->16 lelong >0 not stripped
-0 belong 000000407 NetBSD big-endian object file
->16 belong >0 not stripped
-
-0 belong&0377777777 041400413 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 NetBSD/i386 pure
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 lelong >0 not stripped
-0 belong&0377777777 041400407 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 NetBSD/i386 core
->12 string >\0 from '%s'
-
-0 belong&0377777777 041600413 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 NetBSD/m68k pure
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 belong >0 not stripped
-0 belong&0377777777 041600407 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 NetBSD/m68k core
->12 string >\0 from '%s'
-
-0 belong&0377777777 042000413 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 NetBSD/m68k4k pure
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 belong >0 not stripped
-0 belong&0377777777 042000407 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 NetBSD/m68k4k core
->12 string >\0 from '%s'
-
-0 belong&0377777777 042200413 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 NetBSD/ns32532 pure
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 lelong >0 not stripped
-0 belong&0377777777 042200407 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 NetBSD/ns32532 core
->12 string >\0 from '%s'
-
-0 belong&0377777777 042400413 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 NetBSD/sparc pure
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 belong >0 not stripped
-0 belong&0377777777 042400407 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 NetBSD/sparc core
->12 string >\0 from '%s'
-
-0 belong&0377777777 042600413 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 NetBSD/pmax pure
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 lelong >0 not stripped
-0 belong&0377777777 042600407 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 NetBSD/pmax core
->12 string >\0 from '%s'
-
-0 belong&0377777777 043000413 NetBSD/vax 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 NetBSD/vax pure
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 lelong >0 not stripped
-0 belong&0377777777 043000407 NetBSD/vax
->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 NetBSD/vax core
->12 string >\0 from '%s'
-
-# 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 leshort 0x00070185 ECOFF NetBSD/alpha binary
->10 leshort 0x0001 not stripped
->10 leshort 0x0000 stripped
-0 belong&0377777777 043200507 NetBSD/alpha core
->12 string >\0 from '%s'
-
-0 belong&0377777777 043400413 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 NetBSD/mips pure
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 belong >0 not stripped
-0 belong&0377777777 043400407 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 NetBSD/mips core
->12 string >\0 from '%s'
-
-0 belong&0377777777 043600413 NetBSD/arm32 demand paged
->0 byte &0x80
->>20 lelong <8192 shared library
->>20 lelong =8192 dynamically linked executable
->>20 lelong >8192 dynamically linked executable
->0 byte ^0x80 executable
->16 lelong >0 not stripped
-0 belong&0377777777 043600410 NetBSD/arm32 pure
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 lelong >0 not stripped
-0 belong&0377777777 043600407 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
-0 belong&0377777777 043600507 NetBSD/arm32 core
->12 string >\0 from '%s'
diff --git a/usr.bin/file/Magdir/news b/usr.bin/file/Magdir/news
deleted file mode 100644
index 0ac4fa2..0000000
--- a/usr.bin/file/Magdir/news
+++ /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/usr.bin/file/Magdir/octave b/usr.bin/file/Magdir/octave
deleted file mode 100644
index 3093148..0000000
--- a/usr.bin/file/Magdir/octave
+++ /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/usr.bin/file/Magdir/olf b/usr.bin/file/Magdir/olf
deleted file mode 100644
index e698c36..0000000
--- a/usr.bin/file/Magdir/olf
+++ /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/usr.bin/file/Magdir/os2 b/usr.bin/file/Magdir/os2
deleted file mode 100644
index 91ea9e2..0000000
--- a/usr.bin/file/Magdir/os2
+++ /dev/null
@@ -1,23 +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>
diff --git a/usr.bin/file/Magdir/os9 b/usr.bin/file/Magdir/os9
deleted file mode 100644
index f493fe2..0000000
--- a/usr.bin/file/Magdir/os9
+++ /dev/null
@@ -1,85 +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 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
->14 byte&0x80 0x80 re-entrant
->14 byte&0x40 0x40 ghost
->14 byte&0x20 0x20 system-state
-#
-# lang:
-#
->13 byte 1 machine language
->13 byte 2 BASIC I-code
->13 byte 3 P-code
->13 byte 4 C I-code
->13 byte 5 COBOL I-code
->13 byte 6 Fortran I-code
-#
-#
-# type:
-#
->12 byte 1 program executable
->12 byte 2 subroutine
->12 byte 3 multi-module
->12 byte 4 data module
->12 byte 11 trap library
->12 byte 12 system module
->12 byte 13 file manager
->12 byte 14 device driver
->12 byte 15 device descriptor
diff --git a/usr.bin/file/Magdir/osf1 b/usr.bin/file/Magdir/osf1
deleted file mode 100644
index d2868c3..0000000
--- a/usr.bin/file/Magdir/osf1
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# Mach magic number info
-#
-0 long 0xefbe OSF/Rose object
-# I386 magic number info
-#
-0 short 0565 i386 COFF object
-#
-0 string Core Alpha Digital UNIX core file
->24 string >\0 \b, generated from '%s'
diff --git a/usr.bin/file/Magdir/pbm b/usr.bin/file/Magdir/pbm
deleted file mode 100644
index 98c15f7..0000000
--- a/usr.bin/file/Magdir/pbm
+++ /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/usr.bin/file/Magdir/pdf b/usr.bin/file/Magdir/pdf
deleted file mode 100644
index a1aef13..0000000
--- a/usr.bin/file/Magdir/pdf
+++ /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/usr.bin/file/Magdir/pdp b/usr.bin/file/Magdir/pdp
deleted file mode 100644
index 201dede..0000000
--- a/usr.bin/file/Magdir/pdp
+++ /dev/null
@@ -1,25 +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
diff --git a/usr.bin/file/Magdir/pgp b/usr.bin/file/Magdir/pgp
deleted file mode 100644
index 038d098..0000000
--- a/usr.bin/file/Magdir/pgp
+++ /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/usr.bin/file/Magdir/pjl b/usr.bin/file/Magdir/pjl
deleted file mode 100644
index fa7d298..0000000
--- a/usr.bin/file/Magdir/pjl
+++ /dev/null
@@ -1,5 +0,0 @@
-#
-# magic.pjl: HP Printer Job Language (PJL)
-#
-0 string %-12345X@PJL HP PJL (printer job language) commands
-0 string @PJL HP PJL (printer job language) commands
diff --git a/usr.bin/file/Magdir/pkgadd b/usr.bin/file/Magdir/pkgadd
deleted file mode 100644
index dc8ef5d..0000000
--- a/usr.bin/file/Magdir/pkgadd
+++ /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/usr.bin/file/Magdir/plus5 b/usr.bin/file/Magdir/plus5
deleted file mode 100644
index acf3bf4..0000000
--- a/usr.bin/file/Magdir/plus5
+++ /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/usr.bin/file/Magdir/postscript b/usr.bin/file/Magdir/postscript
deleted file mode 100644
index 7d5992b..0000000
--- a/usr.bin/file/Magdir/postscript
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# magic.postscript: Magic for postscript files
-#
-# XXX - should we match only versions 1.0 and 2.0, or should we wildcard
-# it?
-#
-0 string %! PostScript document
->2 string PS-Adobe- conforming
->>11 string 1.0 at level %s
->>11 string 2.0 at level %s
->>11 string 3.0 at level %s
-# Some pc's have the annoying habit of adding a ^D
-0 string \004%! PostScript document
->3 string PS-Adobe- conforming
->>12 string 1.0 at level %s
->>12 string 2.0 at level %s
->>12 string 3.0 at level %s
-0 string %PDF Adobe Acrobat document
->5 string x at level %s
-
diff --git a/usr.bin/file/Magdir/printer b/usr.bin/file/Magdir/printer
deleted file mode 100644
index d20330f..0000000
--- a/usr.bin/file/Magdir/printer
+++ /dev/null
@@ -1,55 +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
-
-# HP Printer Job Language
-0 string \033%-12345X@PJL HP Printer Job Language data
->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 %
diff --git a/usr.bin/file/Magdir/psdbms b/usr.bin/file/Magdir/psdbms
deleted file mode 100644
index f36121f..0000000
--- a/usr.bin/file/Magdir/psdbms
+++ /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/usr.bin/file/Magdir/pyramid b/usr.bin/file/Magdir/pyramid
deleted file mode 100644
index fe16608..0000000
--- a/usr.bin/file/Magdir/pyramid
+++ /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/usr.bin/file/Magdir/riff b/usr.bin/file/Magdir/riff
deleted file mode 100644
index 6bf127d..0000000
--- a/usr.bin/file/Magdir/riff
+++ /dev/null
@@ -1,93 +0,0 @@
-
-#------------------------------------------------------------------------------
-# riff: file(1) magic for RIFF format
-# See
-#
-# http://www.seanet.com/users/matts/riffmci/riffmci.htm
-#
-# and
-#
-# http://www.ora.com/centers/gff/formats/micriff/index.htm
-#
-# and
-#
-# http://www.jtauber.com/music/encoding/niff/spec/
-#
-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
->>22 leshort =1 \b, mono
->>22 leshort =2 \b, stereo
->>22 leshort >2 \b, %d channels
->>24 lelong >0 %d Hz
-# AVI == Audio Video Interleave
->8 string AVI\ \b, AVI
-# Animated Cursor format
->8 string ACON \b, animated cursor
-
-#
-# 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
-# AVI == Audio Video Interleave
->8 string AVI\ \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
-
diff --git a/usr.bin/file/Magdir/rle b/usr.bin/file/Magdir/rle
deleted file mode 100644
index f45605b..0000000
--- a/usr.bin/file/Magdir/rle
+++ /dev/null
@@ -1,19 +0,0 @@
-# From <janl@ifi.uio.no>
-# I made this with the help of the man page for rle(5). Ihey missing
-# from the magic numbers I have:
-
-#
-# rle
-#
-0 short 0xcc52 Utah Raster Toolkit RLE
->2 short >0 lower left corner: %d
->4 short >0 lower right corner: %d
->6 short >0 %d x
->8 short >0 %d
->10 byte&0x1 =0x1 CLEARFIRST
->10 byte&0x2 =0x2 NO_BACKGROUND
->10 byte&0x4 =0x4 ALPHA
->10 byte&0x8 =0x8 COMMENT
->11 byte >0 %d colour channels
->12 byte >0 %d bits pr. pixel
->13 byte >0 %d colour map channels
diff --git a/usr.bin/file/Magdir/rpm b/usr.bin/file/Magdir/rpm
deleted file mode 100644
index 14ad6db..0000000
--- a/usr.bin/file/Magdir/rpm
+++ /dev/null
@@ -1,17 +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
->>10 string x %s
diff --git a/usr.bin/file/Magdir/rtf b/usr.bin/file/Magdir/rtf
deleted file mode 100644
index 8e2d416..0000000
--- a/usr.bin/file/Magdir/rtf
+++ /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/usr.bin/file/Magdir/sc b/usr.bin/file/Magdir/sc
deleted file mode 100644
index 98599f2..0000000
--- a/usr.bin/file/Magdir/sc
+++ /dev/null
@@ -1,5 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sc: file(1) magic for "sc" spreadsheet
-#
-38 string Spreadsheet sc spreadsheet file
diff --git a/usr.bin/file/Magdir/sccs b/usr.bin/file/Magdir/sccs
deleted file mode 100644
index 11d50b2..0000000
--- a/usr.bin/file/Magdir/sccs
+++ /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/usr.bin/file/Magdir/sendmail b/usr.bin/file/Magdir/sendmail
deleted file mode 100644
index 503ef89..0000000
--- a/usr.bin/file/Magdir/sendmail
+++ /dev/null
@@ -1,10 +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
diff --git a/usr.bin/file/Magdir/sequent b/usr.bin/file/Magdir/sequent
deleted file mode 100644
index e6f7b52..0000000
--- a/usr.bin/file/Magdir/sequent
+++ /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/usr.bin/file/Magdir/sgi b/usr.bin/file/Magdir/sgi
deleted file mode 100644
index ce9dbc8..0000000
--- a/usr.bin/file/Magdir/sgi
+++ /dev/null
@@ -1,170 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sgi: 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 COFF 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 .%ld
-#
-0 beshort 0x0162 MIPSEL COFF 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 .%ld
-#
-0 beshort 0x6001 MIPSEB-LE COFF 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 .%ld
-#
-0 beshort 0x6201 MIPSEL-LE COFF 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 .%ld
-#
-# MIPS 2 additions
-#
-0 beshort 0x0163 MIPSEB MIPS-II COFF 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 .%ld
-#
-0 beshort 0x0166 MIPSEL MIPS-II COFF 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 .%ld
-#
-0 beshort 0x6301 MIPSEB-LE MIPS-II COFF 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 .%ld
-#
-0 beshort 0x6601 MIPSEL-LE MIPS-II COFF 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 .%ld
-#
-# MIPS 3 additions
-#
-0 beshort 0x0140 MIPSEB MIPS-III COFF 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 .%ld
-#
-0 beshort 0x0142 MIPSEL MIPS-III COFF 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 .%ld
-#
-0 beshort 0x4001 MIPSEB-LE MIPS-III COFF 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 .%ld
-#
-0 beshort 0x4201 MIPSEL-LE MIPS-III COFF 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 .%ld
-#
-0 beshort 0x180 MIPSEB Ucode
-0 beshort 0x182 MIPSEL 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'
-# 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 .%ld
-# Are these three SGI-based file types or general ones?
-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
-# XXX - I don't know what next thing is! It is likely to be an image
-# (or movie) format
-0 string glfHeadMagic(); GLF_TEXT
-4 belong 0x41010000 GLF_BINARY_LSB_FIRST
-4 belong 0x00000141 GLF_BINARY_MSB_FIRST
diff --git a/usr.bin/file/Magdir/sgml b/usr.bin/file/Magdir/sgml
deleted file mode 100644
index 985bbec..0000000
--- a/usr.bin/file/Magdir/sgml
+++ /dev/null
@@ -1,21 +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)
-0 string \<!DOCTYPE\ HTML HTML document text
-0 string \<!doctype\ html HTML document text
-0 string \<HEAD HTML document text
-0 string \<head HTML document text
-0 string \<TITLE HTML document text
-0 string \<title HTML document text
-0 string \<html HTML document text
-0 string \<HTML HTML document text
-
-# SGML, mostly from rph@sq
-0 string \<!DOCTYPE exported SGML document text
-0 string \<!doctype exported SGML document text
-0 string \<!SUBDOC exported SGML subdocument text
-0 string \<!subdoc exported SGML subdocument text
-0 string \<!-- exported SGML document text
diff --git a/usr.bin/file/Magdir/sniffer b/usr.bin/file/Magdir/sniffer
deleted file mode 100644
index 861ec8c..0000000
--- a/usr.bin/file/Magdir/sniffer
+++ /dev/null
@@ -1,63 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sniffer: file(1) magic for packet captured files
-#
-# From: guy@netapp.com (Guy Harris)
-#
-# Microsoft NetMon (packet capture/display program) capture files.
-#
-0 string RTSS NetMon capture file
->4 byte x - version %d
->5 byte x \b.%d
-#
-# Network General Sniffer capture files (the Sniffer software does,
-# after all, run under MS-DOS...).
-#
-0 string TRSNIFF\ data\ \ \ \ \032 Sniffer capture file
->23 leshort x - version %d
->25 leshort x \b.%d
->33 byte x (Format %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)
-#
-# (We call them "tcpdump capture file(s)" for now, as "tcpdump" is
-# the main program that uses that format, but there's also "tcpview",
-# and there may be others in the future.)
-#
-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 (IEEE 802.x network
->20 belong 7 (ARCnet
->20 belong 8 (SLIP
->20 belong 9 (PPP
->20 belong 10 (FDDI
->20 belong 11 (RFC 1483 ATM
->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 (IEEE 802.x network
->20 lelong 7 (ARCnet
->20 lelong 8 (SLIP
->20 lelong 9 (PPP
->20 lelong 10 (FDDI
->20 lelong 11 (RFC 1483 ATM
->16 lelong x \b, capture length %d)
diff --git a/usr.bin/file/Magdir/softquad b/usr.bin/file/Magdir/softquad
deleted file mode 100644
index 0fd952a..0000000
--- a/usr.bin/file/Magdir/softquad
+++ /dev/null
@@ -1,30 +0,0 @@
-
-#------------------------------------------------------------------------------
-# softquad: file(1) magic for SoftQuad Publishing Software
-#
-# $FreeBSD$
-# 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/usr.bin/file/Magdir/sun b/usr.bin/file/Magdir/sun
deleted file mode 100644
index 2f0336a..0000000
--- a/usr.bin/file/Magdir/sun
+++ /dev/null
@@ -1,110 +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
-#
-# XXX - are numbers stored in big-endian format, or in host byte order?
-# They're the same on SPARC, but not the same on x86.
-#
-0 string snoop Snoop capture file
->8 long >0 - version %ld
->12 long 0 (IEEE 802.3)
->12 long 1 (IEEE 802.4)
->12 long 2 (IEEE 802.5)
->12 long 3 (IEEE 802.6)
->12 long 4 (Ethernet)
->12 long 5 (HDLC)
->12 long 6 (Character synchronous)
->12 long 7 (IBM channel-to-channel adapter)
->12 long 8 (FDDI)
->12 long 9 (Unknown)
-# Sun KCMS
-36 string acsp Kodak Color Management System, ICC Profile
-
-
diff --git a/usr.bin/file/Magdir/sunraster b/usr.bin/file/Magdir/sunraster
deleted file mode 100644
index 39db3a3..0000000
--- a/usr.bin/file/Magdir/sunraster
+++ /dev/null
@@ -1,12 +0,0 @@
-#
-# Sun rasterfiles
-#
-# XXX - byte order? What about the 386i?
-#
-0 string \x59\xa6\x6a\x95 rasterfile
->4 belong >0 %d
->8 belong >0 x %d
->12 belong >0 x %d
->20 belong 0 old format
->20 belong 2 compressed
->24 belong 1 with color map
diff --git a/usr.bin/file/Magdir/teapot b/usr.bin/file/Magdir/teapot
deleted file mode 100644
index d9554bf..0000000
--- a/usr.bin/file/Magdir/teapot
+++ /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/usr.bin/file/Magdir/terminfo b/usr.bin/file/Magdir/terminfo
deleted file mode 100644
index 2226ce8..0000000
--- a/usr.bin/file/Magdir/terminfo
+++ /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/usr.bin/file/Magdir/tex b/usr.bin/file/Magdir/tex
deleted file mode 100644
index 5126be8..0000000
--- a/usr.bin/file/Magdir/tex
+++ /dev/null
@@ -1,36 +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
diff --git a/usr.bin/file/Magdir/ti-8x b/usr.bin/file/Magdir/ti-8x
deleted file mode 100644
index d740060..0000000
--- a/usr.bin/file/Magdir/ti-8x
+++ /dev/null
@@ -1,36 +0,0 @@
-# ------------------------------------------------------------------------
-# ti-8x: file(1) magic for the TI-8x and TI-92 Graphing Calculators.
-#
-# From: Ryan McGuire (rmcguire@freenet.columbus.oh.us).
-#
-# NOTE: This list is not complete.
-#
-# Magic Numbers for the TI-82
-#
-0 string **TI82** TI-82 Graphing Calculator
->0x000037 byte 0x0B TI-BASIC Group/Program File.
-#
-# Magic Numbers for the TI-83
-#
-0 string **TI83** TI-83 Graphing Calculator
->0x000037 byte 0x0B TI-BASIC Group/Program File.
-#
-# Magic Numbers for the TI-85
-#
-0 string **TI85** TI-85 Graphing Calculator
->11 string Backup Backup File.
->0x000032 string ZS4 - ZShell Version 4 File.
->0x000032 string ZS3 - ZShell Version 3 File.
->0x00000B string GDatabase Graphics Database.
->0x00003B byte 0x12 TI-BASIC Group/Program File.
-#
-# Magic Numbers for the TI-92
-#
-0 string **TI92** TI-92 Graphing Calculator
->0x000058 byte 0x12 TI-BASIC Group File.
->0x000012 string Function Function.
->0x000048 byte 0x12 TI-BASIC Program.
-# 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.
diff --git a/usr.bin/file/Magdir/timezone b/usr.bin/file/Magdir/timezone
deleted file mode 100644
index 9e2791e..0000000
--- a/usr.bin/file/Magdir/timezone
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#------------------------------------------------------------------------------
-# timezone: file(1) magic for timezone data
-#
-# from Daniel Quinlan (quinlan@yggdrasil.com)
-# this should work on Linux, SunOS, and maybe others
-#
-# $FreeBSD$
-#
-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 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 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 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 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 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 timezone data
-0 string TZif timezone data
diff --git a/usr.bin/file/Magdir/troff b/usr.bin/file/Magdir/troff
deleted file mode 100644
index ea75e85..0000000
--- a/usr.bin/file/Magdir/troff
+++ /dev/null
@@ -1,27 +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
-
-# ditroff intermediate output text
-0 string x\ T ditroff 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/usr.bin/file/Magdir/typeset b/usr.bin/file/Magdir/typeset
deleted file mode 100644
index 2eda7c3..0000000
--- a/usr.bin/file/Magdir/typeset
+++ /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/usr.bin/file/Magdir/unknown b/usr.bin/file/Magdir/unknown
deleted file mode 100644
index 843dc293..0000000
--- a/usr.bin/file/Magdir/unknown
+++ /dev/null
@@ -1,36 +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, 0x10D is 0415, 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 0x10d unknown demand paged pure executable
->16 long >0 not stripped
-0 long 0x10e unknown readable demand paged pure executable
diff --git a/usr.bin/file/Magdir/uuencode b/usr.bin/file/Magdir/uuencode
deleted file mode 100644
index 7e88619..0000000
--- a/usr.bin/file/Magdir/uuencode
+++ /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/usr.bin/file/Magdir/varied.out b/usr.bin/file/Magdir/varied.out
deleted file mode 100644
index 9245cfc..0000000
--- a/usr.bin/file/Magdir/varied.out
+++ /dev/null
@@ -1,18 +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 '%s'
diff --git a/usr.bin/file/Magdir/vax b/usr.bin/file/Magdir/vax
deleted file mode 100644
index 7dd86cc..0000000
--- a/usr.bin/file/Magdir/vax
+++ /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/usr.bin/file/Magdir/vicar b/usr.bin/file/Magdir/vicar
deleted file mode 100644
index ab216ee..0000000
--- a/usr.bin/file/Magdir/vicar
+++ /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/usr.bin/file/Magdir/visx b/usr.bin/file/Magdir/visx
deleted file mode 100644
index 4919964..0000000
--- a/usr.bin/file/Magdir/visx
+++ /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/usr.bin/file/Magdir/vms b/usr.bin/file/Magdir/vms
deleted file mode 100644
index c91186f..0000000
--- a/usr.bin/file/Magdir/vms
+++ /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/usr.bin/file/Magdir/wordperfect b/usr.bin/file/Magdir/wordperfect
deleted file mode 100644
index c77ac8d..0000000
--- a/usr.bin/file/Magdir/wordperfect
+++ /dev/null
@@ -1,91 +0,0 @@
-#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
diff --git a/usr.bin/file/Magdir/x11 b/usr.bin/file/Magdir/x11
deleted file mode 100644
index a0f3b92..0000000
--- a/usr.bin/file/Magdir/x11
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# magic.x11
-#
-# I think this is byte-order-dependent; if so, it should become:
-#
-# 0 belong 00000004 X11 big-endian snf font
-# 0 lelong 00000004 X11 little-endian snf font
-#
-0 long 00000004 X11 snf font
-0 string STARTFONT X11 bdf font text
-0 string /*\040XPM\040*/ X11 XPM pixmap text
diff --git a/usr.bin/file/Magdir/xenix b/usr.bin/file/Magdir/xenix
deleted file mode 100644
index 1acadec..0000000
--- a/usr.bin/file/Magdir/xenix
+++ /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/usr.bin/file/Magdir/zilog b/usr.bin/file/Magdir/zilog
deleted file mode 100644
index b746e20..0000000
--- a/usr.bin/file/Magdir/zilog
+++ /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/usr.bin/file/Magdir/zyxel b/usr.bin/file/Magdir/zyxel
deleted file mode 100644
index 12a6abd..0000000
--- a/usr.bin/file/Magdir/zyxel
+++ /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/usr.bin/file/Makefile b/usr.bin/file/Makefile
index 3834e4b..5fc7b1bd 100644
--- a/usr.bin/file/Makefile
+++ b/usr.bin/file/Makefile
@@ -24,23 +24,28 @@
#
# Hacked and dismembered for bmake (Geoff Rehmet).
-MAGICDIR= /usr/share/misc
+MAGICDIR= /usr/share/misc/magic
MAGICMODE= 444
-CFLAGS+= -DMAGIC='"$(MAGICDIR)/magic"' -DBUILTIN_ELF
+SRCDIR= ${.CURDIR}/../../contrib/file
+.PATH: ${SRCDIR}
+
+CFLAGS+= -DMAGIC='"$(MAGICDIR)"' -DBUILTIN_ELF -DELFCORE -DHAVE_CONFIG_H
+CFLAGS+= -I${.CURDIR}
PROG= file
SRCS= file.c apprentice.c fsmagic.c softmagic.c ascmagic.c \
- compress.c is_tar.c readelf.c internat.c print.c
+ compress.c is_tar.c readelf.c print.c
+# compress.c is_tar.c readelf.c internat.c print.c
MAN1= file.1
MAN5= magic.5
CLEANFILES+= magic
-MAGFILES= $(.CURDIR)/Magdir/Header\
- $(.CURDIR)/Magdir/Localstuff\
- $(.CURDIR)/Magdir/[a-z]*
+MAGFILES= ${SRCDIR}/Header\
+ ${SRCDIR}/Localstuff\
+ ${SRCDIR}/Magdir/[a-z]*
all: file magic
@@ -49,6 +54,6 @@ magic: $(MAGFILES)
beforeinstall:
$(INSTALL) $(COPY) -o $(BINOWN) -g $(BINGRP) -m $(MAGICMODE) \
- magic $(DESTDIR)$(MAGICDIR)/magic
+ magic $(DESTDIR)$(MAGICDIR)
.include <bsd.prog.mk>
diff --git a/usr.bin/file/PORTING b/usr.bin/file/PORTING
deleted file mode 100644
index 7e65021..0000000
--- a/usr.bin/file/PORTING
+++ /dev/null
@@ -1,76 +0,0 @@
-Portability of the new file(1) command.
-@(#) $FreeBSD$
-
-Read this file only if the program doesn't compile on your system.
-
-This release has been around UNIX; it has been compiled and tested
-in the following environments:
-
-SunOS sqarc 4.1.1 8 sun4
- No problems.
-ULTRIX squint 4.2 0 RISC
- No problems.
-A/UX sqmac 3.0a9 SVR22 mc68020
- No problems.
-AIX sqibm 2 3 000XXXXXX100
- Had weird "make" problems making "magic" file automatically; just
- built it by hand. Your mileage may vary.
-SCO sqwang 3.2 2 i386
- Compiles fine; their weird make can't handle "[a-z]*" as a dependancy,
- so build magic by hand. Runs fine.
-sqzme sqzme 3.1.1 3 3B2
- The 3B2 SVR3 needed a few tweaks as well as COPTS = -Ilocalinc
- in order to compile.
-
-This version, reluctanly, includes <stdlib.h>, which won't exist
-on older systems or those that aren't even close to the ANSI C
-standard. There is a null "stdlib.h", and some other bogus headers,
-in subdirectory "localinc"; if you get complaints about missing
-stdlib.h and others, uncomment the line with COPTS=-Ilocalinc
-in the Makefile, and try again.
-
-You must have either <stdarg.h> or the older <varargs.h>, otherwise you'll
-have to butcher some routines in print.c.
-
-Beyond that, I have tried to make a program that doesn't need any
-command-line defines (-D) to specify what version of UNIX is in use,
-by using the definitions available in the system #include
-files. For example, the lstat(2) call is normally found in
-4BSD systems, but might be grafted into some other variant
-of UNIX. If it's done right (ie., using the same definitions),
-my program will compile and work correctly. Look at the #ifdefs
-to see how it's done.
-
-I've also tried to include source for all the non-portable library routines
-I used (getopt, str*). Non-portable here means `not in every
-reasonably standard UNIX out there: V7, System V, 4BSD'.
-These are in subdirectory "localsrc", and not used unless you
-need them; again, see the Makefile.
-
-There is one area that just might cause problems. On System
-V, they moved the definition of major() and minor() out of
-<sys/types.h> into <sys/sysmacros.h>. Hence, if major isn't
-defined after including types.h, I automatically include sys/sysmacros.h.
-This will work for 99% of the systems out there. ONLY if you
-have a system in which neither types.h nor sysmacros.h defines
-`major' will this automatic include fail (I hope). On such
-systems, you will get a compilation error in trying to compile
-a warning message. Please do the following:
-
- 1) change the appropriate #include at the start of fsmagic.c
-and 2) let me know the name of the system, the release number,
- and the name of the header file that *does* include
- this "standard" definition.
-
-If you are running the old Ritchie PDP-11 C compiler or
-some other compiler that doesn't know about `void', you will have
-to include `-Dvoid=int' in the variable COPTS in the Makefile.
-
-Other than this, there should be no portability problems,
-but one never knows these days. Please let me know of any
-other problems you find porting to a UNIX system. I don't much
-care about non-UNIX systems but will collect widely-used magic
-numbers for them as well as for UNIX systems.
-
-Mark Moraes and Christos Zoulas
-(address in README)
diff --git a/usr.bin/file/README b/usr.bin/file/README
deleted file mode 100644
index 9872176..0000000
--- a/usr.bin/file/README
+++ /dev/null
@@ -1,91 +0,0 @@
-** README for file(1) Command **
-@(#) $FreeBSD$
-
-This is Release 3.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).
-
-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 independance.
-
-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(4) 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 imbedded-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] - Standalone elf parsing code.
-compress.c - on-the-fly decompression.
-internat.c - recognize international `text' files.
-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@deshaw.com, moraes@deshaw.com
-
-Phone: Do not even think of telephoning me about this program. Send cash first!
-
-Parts of this software were developed at SoftQuad Inc., 56 Aberfoyle
-Cres, # 810, Toronto, Ontario CANADA M8X 2W4. Phone: 416-239-4801 or
-800-387-2777. Email: mail@sq.com. Call for information on SGML editing
-and browsing, Unix text processing, and customised products on Unix,
-DOS and Mac.
diff --git a/usr.bin/file/apprentice.c b/usr.bin/file/apprentice.c
deleted file mode 100644
index 9c5b945..0000000
--- a/usr.bin/file/apprentice.c
+++ /dev/null
@@ -1,626 +0,0 @@
-/*
- * apprentice - make one pass through /etc/magic, learning its secrets.
- *
- * Copyright (c) Ian F. Darwin, 1987.
- * Written by Ian F. Darwin.
- *
- * This software is not subject to any license of the American Telephone
- * and Telegraph Company or of the Regents of the University of California.
- *
- * Permission is granted to anyone to use this software for any purpose on
- * any computer system, and to alter it and redistribute it freely, subject
- * to the following restrictions:
- *
- * 1. The author is not responsible for the consequences of use of this
- * software, no matter how awful, even if they arise from flaws in it.
- *
- * 2. The origin of this software must not be misrepresented, either by
- * explicit claim or by omission. Since few users ever read sources,
- * credits must appear in the documentation.
- *
- * 3. Altered versions must be plainly marked as such, and must not be
- * misrepresented as being the original software. Since few users
- * ever read sources, credits must appear in the documentation.
- *
- * 4. This notice may not be removed or altered.
- */
-
-#ifndef lint
-static const char rcsid[] =
- "$FreeBSD$";
-#endif /* not lint */
-
-#include <ctype.h>
-#include <err.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include "file.h"
-
-#define EATAB {while (isascii((unsigned char) *l) && \
- isspace((unsigned char) *l)) ++l;}
-#define LOWCASE(l) (isupper((unsigned char) (l)) ? \
- tolower((unsigned char) (l)) : (l))
-
-
-static int getvalue __P((struct magic *, char **));
-static int hextoint __P((int));
-static char *getstr __P((char *, char *, int, int *));
-static int parse __P((char *, int *, int));
-static void eatsize __P((char **));
-
-static int maxmagic = 0;
-static int alloc_incr = 256;
-
-static int apprentice_1 __P((char *, int));
-
-int
-apprentice(fn, check)
-char *fn; /* list of magic files */
-int check; /* non-zero? checking-only run. */
-{
- char *p, *mfn;
- int file_err, errs = -1;
-
- maxmagic = MAXMAGIS;
- magic = (struct magic *) calloc(sizeof(struct magic), maxmagic);
- mfn = malloc(strlen(fn)+1);
- if (magic == NULL || mfn == NULL) {
- warnx("out of memory");
- if (check)
- return -1;
- else
- exit(1);
- }
- fn = strcpy(mfn, fn);
-
- while (fn) {
- p = strchr(fn, ':');
- if (p)
- *p++ = '\0';
- file_err = apprentice_1(fn, check);
- if (file_err > errs)
- errs = file_err;
- fn = p;
- }
- if (errs == -1)
- warnx("couldn't find any magic files");
- if (!check && errs)
- exit(1);
-
- free(mfn);
- return errs;
-}
-
-static int
-apprentice_1(fn, check)
-char *fn; /* name of magic file */
-int check; /* non-zero? checking-only run. */
-{
- static const char hdr[] =
- "cont\toffset\ttype\topcode\tmask\tvalue\tdesc";
- FILE *f;
- char line[BUFSIZ+1];
- int errs = 0;
-
- f = fopen(fn, "r");
- if (f==NULL) {
- if (errno != ENOENT)
- warn("can't read magic file %s", fn);
- return -1;
- }
-
- /* parse it */
- if (check) /* print silly verbose header for USG compat. */
- (void) printf("%s\n", hdr);
-
- for (lineno = 1;fgets(line, BUFSIZ, f) != NULL; lineno++) {
- if (line[0]=='#') /* comment, do not parse */
- continue;
- if (strlen(line) <= (unsigned)1) /* null line, garbage, etc */
- continue;
- line[strlen(line)-1] = '\0'; /* delete newline */
- if (parse(line, &nmagic, check) != 0)
- errs = 1;
- }
-
- (void) fclose(f);
- return errs;
-}
-
-/*
- * extend the sign bit if the comparison is to be signed
- */
-uint32
-signextend(m, v)
-struct magic *m;
-uint32 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 BYTE:
- v = (char) v;
- break;
- case SHORT:
- case BESHORT:
- case LESHORT:
- v = (short) v;
- break;
- case DATE:
- case BEDATE:
- case LEDATE:
- case LONG:
- case BELONG:
- case LELONG:
- v = (int32) v;
- break;
- case STRING:
- break;
- default:
- warnx("can't happen: m->type=%d in file %s, line %d",
- m->type, magicfile, lineno);
- return -1;
- }
- return v;
-}
-
-/*
- * parse one line from magic file, put into magic[index++] if valid
- */
-static int
-parse(l, ndx, check)
-char *l;
-int *ndx, check;
-{
- int i = 0, nd = *ndx;
- struct magic *m;
- char *t, *s;
-
- if (nd+1 >= maxmagic){
- maxmagic += alloc_incr;
- if ((magic = (struct magic *) realloc(magic,
- sizeof(struct magic) *
- maxmagic)) == NULL) {
- warnx("out of memory");
- if (check)
- return -1;
- else
- exit(1);
- }
- memset(&magic[*ndx], 0, sizeof(struct magic) * alloc_incr);
- alloc_incr *= 2;
- }
- m = &magic[*ndx];
- 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 |= INDIR;
- }
- if (m->cont_level != 0 && *l == '&') {
- ++l; /* step over */
- m->flag |= ADD;
- }
-
- /* get offset, then skip over it */
- m->offset = (int) strtoul(l,&t,0);
- if (l == t)
- warnx("offset %s invalid in file %s, line %d",
- l, magicfile, lineno);
- l = t;
-
- if (m->flag & INDIR) {
- m->in.type = LONG;
- m->in.offset = 0;
- /*
- * read [.lbs][+-]nnnnn)
- */
- if (*l == '.') {
- l++;
- switch (LOWCASE(*l)) {
- case 'l':
- m->in.type = LONG;
- break;
- case 'h':
- case 's':
- m->in.type = SHORT;
- break;
- case 'c':
- case 'b':
- m->in.type = BYTE;
- break;
- default:
- warnx(
- "indirect offset type %c invalid in file %s, line %d",
- *l, magicfile, lineno);
- break;
- }
- l++;
- }
- s = l;
- if (*l == '+' || *l == '-') l++;
- if (isdigit((unsigned char)*l)) {
- m->in.offset = strtoul(l, &t, 0);
- if (*s == '-') m->in.offset = - m->in.offset;
- }
- else
- t = l;
- if (*t++ != ')')
- warnx(
- "missing ')' in indirect offset in file %s, line %d",
- magicfile, lineno);
- 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
-
- if (*l == 'u') {
- ++l;
- m->flag |= UNSIGNED;
- }
-
- /* get type, skip it */
- if (strncmp(l, "byte", NBYTE)==0) {
- m->type = BYTE;
- l += NBYTE;
- } else if (strncmp(l, "short", NSHORT)==0) {
- m->type = SHORT;
- l += NSHORT;
- } else if (strncmp(l, "long", NLONG)==0) {
- m->type = LONG;
- l += NLONG;
- } else if (strncmp(l, "string", NSTRING)==0) {
- m->type = STRING;
- l += NSTRING;
- } else if (strncmp(l, "date", NDATE)==0) {
- m->type = DATE;
- l += NDATE;
- } else if (strncmp(l, "beshort", NBESHORT)==0) {
- m->type = BESHORT;
- l += NBESHORT;
- } else if (strncmp(l, "belong", NBELONG)==0) {
- m->type = BELONG;
- l += NBELONG;
- } else if (strncmp(l, "bedate", NBEDATE)==0) {
- m->type = BEDATE;
- l += NBEDATE;
- } else if (strncmp(l, "leshort", NLESHORT)==0) {
- m->type = LESHORT;
- l += NLESHORT;
- } else if (strncmp(l, "lelong", NLELONG)==0) {
- m->type = LELONG;
- l += NLELONG;
- } else if (strncmp(l, "ledate", NLEDATE)==0) {
- m->type = LEDATE;
- l += NLEDATE;
- } else {
- warnx("type %s invalid in file %s, line %d", l,
- magicfile, lineno);
- return -1;
- }
- /* New-style anding: "0 byte&0x80 =0x80 dynamically linked" */
- if (*l == '&') {
- ++l;
- m->mask = signextend(m, strtoul(l, &l, 0));
- eatsize(&l);
- } else
- m->mask = ~0L;
- EATAB;
-
- switch (*l) {
- case '>':
- case '<':
- /* Old-style anding: "0 byte &0x80 dynamically linked" */
- case '&':
- case '^':
- case '=':
- m->reln = *l;
- ++l;
- break;
- case '!':
- if (m->type != STRING) {
- m->reln = *l;
- ++l;
- break;
- }
- /* FALL THROUGH */
- default:
- if (*l == 'x' && isascii((unsigned char)l[1]) &&
- isspace((unsigned char)l[1])) {
- m->reln = *l;
- ++l;
- goto GetDesc; /* Bill The Cat */
- }
- m->reln = '=';
- break;
- }
- EATAB;
-
- if (getvalue(m, &l))
- return -1;
- /*
- * TODO finish this macro and start using it!
- * #define offsetcheck {if (offset > HOWMANY-1)
- * warnx("offset too big in file %s, line %d",
- * magicfile, lineno); }
- */
-
- /*
- * 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 (check) {
- mdump(m);
- }
- ++(*ndx); /* make room for next */
- return 0;
-}
-
-/*
- * 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.
- */
-static int
-getvalue(m, p)
-struct magic *m;
-char **p;
-{
- int slen;
-
- if (m->type == STRING) {
- *p = getstr(*p, m->value.s, sizeof(m->value.s), &slen);
- m->vallen = slen;
- } else
- if (m->reln != 'x') {
- m->value.l = signextend(m, 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.
- */
-static char *
-getstr(s, p, plen, slen)
-register char *s;
-register char *p;
-int plen, *slen;
-{
- char *origs = s, *origp = p;
- char *pmax = p + plen - 1;
- register int c;
- register int val;
-
- while ((c = *s++) != '\0') {
- if (isspace((unsigned char) c))
- break;
- if (p >= pmax) {
- warnx("string too long: %s", origs);
- break;
- }
- if(c == '\\') {
- switch(c = *s++) {
-
- case '\0':
- goto out;
-
- default:
- *p++ = (char) c;
- break;
-
- case 'n':
- *p++ = '\n';
- break;
-
- case 'r':
- *p++ = '\r';
- break;
-
- case 'b':
- *p++ = '\b';
- break;
-
- case 't':
- *p++ = '\t';
- break;
-
- case 'f':
- *p++ = '\f';
- break;
-
- case 'v':
- *p++ = '\v';
- 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;
- 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;
- break;
- }
- } else
- *p++ = (char)c;
- }
-out:
- *p = '\0';
- *slen = p - origp;
- return s;
-}
-
-
-/* Single hex char to int; -1 if not a hex char. */
-static int
-hextoint(c)
-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.
- */
-void
-showstr(fp, s, len)
-FILE *fp;
-const char *s;
-int len;
-{
- register char c;
-
- for (;;) {
- c = *s++;
- if (len == -1) {
- 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);
- break;
-
- case '\r':
- (void) fputc('r', fp);
- break;
-
- case '\b':
- (void) fputc('b', fp);
- break;
-
- case '\t':
- (void) fputc('t', fp);
- break;
-
- case '\f':
- (void) fputc('f', fp);
- break;
-
- case '\v':
- (void) fputc('v', fp);
- break;
-
- default:
- (void) fprintf(fp, "%.3o", c & 0377);
- break;
- }
- }
- }
-}
-
-/*
- * eatsize(): Eat the size spec from a number [eg. 10UL]
- */
-static void
-eatsize(p)
-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;
-}
diff --git a/usr.bin/file/ascmagic.c b/usr.bin/file/ascmagic.c
deleted file mode 100644
index bf11699..0000000
--- a/usr.bin/file/ascmagic.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * ASCII magic -- file types that we know based on keywords
- * that can appear anywhere in the file.
- *
- * Copyright (c) Ian F. Darwin, 1987.
- * Written by Ian F. Darwin.
- *
- * This software is not subject to any license of the American Telephone
- * and Telegraph Company or of the Regents of the University of California.
- *
- * Permission is granted to anyone to use this software for any purpose on
- * any computer system, and to alter it and redistribute it freely, subject
- * to the following restrictions:
- *
- * 1. The author is not responsible for the consequences of use of this
- * software, no matter how awful, even if they arise from flaws in it.
- *
- * 2. The origin of this software must not be misrepresented, either by
- * explicit claim or by omission. Since few users ever read sources,
- * credits must appear in the documentation.
- *
- * 3. Altered versions must be plainly marked as such, and must not be
- * misrepresented as being the original software. Since few users
- * ever read sources, credits must appear in the documentation.
- *
- * 4. This notice may not be removed or altered.
- */
-
-#ifndef lint
-static const char rcsid[] =
- "$FreeBSD$";
-#endif /* not lint */
-
-#include <ctype.h>
-#include <string.h>
-#include "file.h"
-#include "names.h"
-
- /* an optimisation over plain strcmp() */
-#define STREQ(a, b) (*(a) == *(b) && strcmp((a), (b)) == 0)
-
-int
-ascmagic(buf, nbytes)
-unsigned char *buf;
-int nbytes; /* size actually read */
-{
- int i, has_escapes = 0;
- char *s;
- char nbuf[HOWMANY+1]; /* one extra for terminating '\0' */
- char *token;
- register struct names *p;
-
- /*
- * 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:
- ckfputs("tar archive", stdout);
- return 1;
- case 2:
- ckfputs("POSIX tar archive", stdout);
- return 1;
- }
-
- /*
- * for troff, look for . + letter + letter or .\";
- * this must be done to disambiguate tar archives' ./file
- * and other trash from real troff input.
- */
- if (*buf == '.') {
- unsigned char *tp = buf + 1;
-
- while (isascii(*tp) && isspace(*tp))
- ++tp; /* skip leading whitespace */
- if ((isascii(*tp) && (isalnum(*tp) || *tp=='\\') &&
- isascii(tp[1]) && (isalnum(tp[1]) || tp[1] == '"'))) {
- ckfputs("troff or preprocessor input text", stdout);
- return 1;
- }
- }
- if ((*buf == 'c' || *buf == 'C') &&
- isascii(buf[1]) && isspace(buf[1])) {
- ckfputs("fortran program text", stdout);
- return 1;
- }
-
-
- /* Make sure we are dealing with ascii text before looking for tokens */
- for (i = 0; i < nbytes - 1; i++) {
- if (!isascii(buf[i]) ||
- (iscntrl(buf[i]) && !isspace(buf[i]) &&
- buf[i] != '\b' && buf[i] != '\032' && buf[i] != '\033'
- )
- )
- return 0; /* not all ASCII */
- }
-
- /* look for tokens from names.h - this is expensive! */
- /* make a copy of the buffer here because strtok() will destroy it */
- s = strcpy(nbuf, buf);
- has_escapes = (strchr(s, '\033') != NULL);
- while ((token = strtok(s, " \t\n\r\f")) != NULL) {
- s = NULL; /* make strtok() keep on tokin' */
- for (p = names; p < names + NNAMES; p++) {
- if (STREQ(p->name, token)) {
- ckfputs(types[p->type], stdout);
- if (has_escapes)
- ckfputs(" (with escape sequences)",
- stdout);
- return 1;
- }
- }
- }
-
- /* all else fails, but it is ASCII... */
- ckfputs("ASCII text", stdout);
- if (has_escapes) {
- ckfputs(" (with escape sequences)", stdout);
- }
- return 1;
-}
diff --git a/usr.bin/file/compress.c b/usr.bin/file/compress.c
deleted file mode 100644
index ab2aff8..0000000
--- a/usr.bin/file/compress.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * 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
- */
-
-#ifndef lint
-static const char rcsid[] =
- "$FreeBSD$";
-#endif /* not lint */
-
-#include <sys/types.h>
-
-#include <err.h>
-#include <stdlib.h>
-#include <sys/wait.h>
-#include <unistd.h>
-
-#include "file.h"
-
-static struct {
- char *magic;
- int maglen;
- char *argv[3];
- int silent;
-} compr[] = {
- { "\037\235", 2, { "uncompress", "-c", NULL }, 0 }, /* 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 */
-};
-
-static int ncompr = sizeof(compr) / sizeof(compr[0]);
-
-
-static int uncompress __P((int, const unsigned char *, unsigned char **, int));
-
-int
-zmagic(buf, nbytes)
-unsigned char *buf;
-int nbytes;
-{
- unsigned char *newbuf;
- int newsize;
- int i;
-
- for (i = 0; i < ncompr; i++) {
- if (nbytes < compr[i].maglen)
- continue;
- if (memcmp(buf, compr[i].magic, compr[i].maglen) == 0)
- break;
- }
-
- if (i == ncompr)
- return 0;
-
- if ((newsize = uncompress(i, buf, &newbuf, nbytes)) != 0) {
- tryit(newbuf, newsize, 1);
- free(newbuf);
- printf(" (");
- tryit(buf, nbytes, 0);
- printf(")");
- }
- return 1;
-}
-
-
-static int
-uncompress(method, old, newch, n)
-int method;
-const unsigned char *old;
-unsigned char **newch;
-int n;
-{
- int fdin[2], fdout[2];
-
- if (pipe(fdin) == -1 || pipe(fdout) == -1) {
- err(1, "cannot create pipe");
- /*NOTREACHED*/
- }
- switch (fork()) {
- case 0: /* child */
- (void) close(0);
- (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]);
- if (compr[method].silent)
- (void) close(2);
-
- execvp(compr[method].argv[0], compr[method].argv);
- err(1, "could not execute `%s'", compr[method].argv[0]);
- /*NOTREACHED*/
- case -1:
- err(1, "could not fork");
- /*NOTREACHED*/
-
- default: /* parent */
- (void) close(fdin[0]);
- (void) close(fdout[1]);
- if (write(fdin[1], old, n) != n) {
- err(1, "write failed");
- /*NOTREACHED*/
- }
- (void) close(fdin[1]);
- if ((*newch = (unsigned char *) malloc(n)) == NULL) {
- errx(1, "out of memory");
- /*NOTREACHED*/
- }
- if ((n = read(fdout[0], *newch, n)) <= 0) {
- free(*newch);
- err(1, "read failed");
- /*NOTREACHED*/
- }
- (void) close(fdout[0]);
- (void) wait(NULL);
- return n;
- }
-}
diff --git a/usr.bin/file/config.h b/usr.bin/file/config.h
new file mode 100644
index 0000000..e4b03da
--- /dev/null
+++ b/usr.bin/file/config.h
@@ -0,0 +1,81 @@
+/* $FreeBSD$ */
+
+/* config.h. Generated automatically by configure. */
+/* config.h.in. Generated automatically from configure.in by autoheader. */
+
+/* Define to empty if the keyword does not work. */
+/* #undef const */
+
+/* Define if your struct stat has st_rdev. */
+#define HAVE_ST_RDEV 1
+
+/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define if major, minor, and makedev are declared in <mkdev.h>. */
+/* #undef MAJOR_IN_MKDEV */
+
+/* Define if major, minor, and makedev are declared in <sysmacros.h>. */
+/* #undef MAJOR_IN_SYSMACROS */
+
+/* Define to `long' if <sys/types.h> doesn't define. */
+/* #undef off_t */
+
+/* Define to `unsigned' if <sys/types.h> doesn't define. */
+/* #undef size_t */
+
+/* Define if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define if builtin ELF support is enabled. */
+#define BUILTIN_ELF 1
+
+/* Define if ELF core file support is enabled. */
+#define ELFCORE 1
+
+/* Define if the `long long' type works. */
+#define HAVE_LONG_LONG 1
+
+/* Define to `unsigned char' if standard headers don't define. */
+/* #undef uint8_t */
+
+/* Define to `unsigned short' if standard headers don't define. */
+/* #undef uint16_t */
+
+/* Define to `unsigned int' if standard headers don't define. */
+/* #undef uint32_t */
+
+/* Define to `unsigned long long', if available, or `unsigned long', if
+ standard headers don't define. */
+/* #undef uint64_t */
+
+/* The number of bytes in a uint8_t. */
+#define SIZEOF_UINT8_T 1
+
+/* The number of bytes in a uint16_t. */
+#define SIZEOF_UINT16_T 2
+
+/* The number of bytes in a uint32_t. */
+#define SIZEOF_UINT32_T 4
+
+/* The number of bytes in a uint64_t. */
+#define SIZEOF_UINT64_T 8
+
+/* Define if you have the strerror function. */
+#define HAVE_STRERROR 1
+
+/* Define if you have the strtoul function. */
+#define HAVE_STRTOUL 1
+
+/* Define if you have the <locale.h> header file. */
+#define HAVE_LOCALE_H 1
+
+/* Define if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Name of package */
+#define PACKAGE "file"
+
+/* Version number of package */
+#define VERSION "3.32"
+
diff --git a/usr.bin/file/cvsimport.sh b/usr.bin/file/cvsimport.sh
deleted file mode 100644
index 0436074fc..0000000
--- a/usr.bin/file/cvsimport.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-# import sequence for file(1)
-# This shell script can be used in order to handle future imports
-# of newer versions of file(1)
-#
-# $FreeBSD$
-if [ $# -ne 2 ] ; then
- echo "usage: $0 <major> <minor>" 1>&2
- exit 1
-fi
-version=$1.$2
-tar xzf file-$version.tar.gz
-cd file-$version
-mv file.man file.1
-mv magic.man magic.5
-rm Magdir/Makefile
-mv Magdir/msdos Magdir/ms-dos
-cvs -n import src/usr.bin/file DARWIN file_$1_$2
diff --git a/usr.bin/file/file.c b/usr.bin/file/file.c
deleted file mode 100644
index f420cac..0000000
--- a/usr.bin/file/file.c
+++ /dev/null
@@ -1,392 +0,0 @@
-/*
- * file - find type of a file or files - main program.
- *
- * Copyright (c) Ian F. Darwin, 1987.
- * Written by Ian F. Darwin.
- *
- * This software is not subject to any license of the American Telephone
- * and Telegraph Company or of the Regents of the University of California.
- *
- * Permission is granted to anyone to use this software for any purpose on
- * any computer system, and to alter it and redistribute it freely, subject
- * to the following restrictions:
- *
- * 1. The author is not responsible for the consequences of use of this
- * software, no matter how awful, even if they arise from flaws in it.
- *
- * 2. The origin of this software must not be misrepresented, either by
- * explicit claim or by omission. Since few users ever read sources,
- * credits must appear in the documentation.
- *
- * 3. Altered versions must be plainly marked as such, and must not be
- * misrepresented as being the original software. Since few users
- * ever read sources, credits must appear in the documentation.
- *
- * 4. This notice may not be removed or altered.
- */
-
-#ifndef lint
-static const char rcsid[] =
- "$FreeBSD$";
-#endif /* not lint */
-
-#include <err.h>
-#include <fcntl.h> /* for open() */
-#include <stdlib.h>
-#include <string.h>
-#include <sys/param.h> /* for MAXPATHLEN */
-#include <sys/stat.h>
-#if (__COHERENT__ >= 0x420)
-# include <sys/utime.h>
-#else
-# ifdef USE_UTIMES
-# include <sys/time.h>
-# else
-# include <utime.h>
-# endif
-#endif
-#include <unistd.h> /* for read() */
-
-#include "patchlevel.h"
-#include "file.h"
-
-#ifdef S_IFLNK
-# define USAGE "usage: file [-vczL] [-f namefile] [-m magicfiles] file...\n"
-#else
-# define USAGE "usage: file [-vcz] [-f namefile] [-m magicfiles] file...\n"
-#endif
-
-#ifndef MAGIC
-# define MAGIC "/etc/magic"
-#endif
-
-int /* Global command-line options */
- debug = 0, /* debugging */
- lflag = 0, /* follow Symlinks (BSD only) */
- zflag = 0; /* follow (uncompress) compressed files */
-
-int /* Misc globals */
- nmagic = 0; /* number of valid magic[]s */
-
-struct magic *magic; /* array of magic entries */
-
-char *magicfile; /* where magic be found */
-
-int lineno; /* line number in the magic file */
-
-
-static void unwrap __P((char *fn));
-static void usage __P((void));
-#if 0
-static int byteconv4 __P((int, int, int));
-static short byteconv2 __P((int, int, int));
-#endif
-
-/*
- * main - parse arguments and handle options
- */
-int
-main(argc, argv)
-int argc;
-char *argv[];
-{
- int c;
- int check = 0, didsomefiles = 0, errflg = 0, ret = 0, app = 0;
-
- if (!(magicfile = getenv("MAGIC")))
- magicfile = MAGIC;
-
- while ((c = getopt(argc, argv, "vcdf:Lm:z")) != -1)
- switch (c) {
- case 'v':
- (void) fprintf(stdout, "file-%d.%d\n",
- FILE_VERSION_MAJOR, patchlevel);
- return 1;
- case 'c':
- ++check;
- break;
- case 'd':
- ++debug;
- break;
- case 'f':
- if (!app) {
- ret = apprentice(magicfile, check);
- if (check)
- exit(ret);
- app = 1;
- }
- unwrap(optarg);
- ++didsomefiles;
- break;
-#ifdef S_IFLNK
- case 'L':
- ++lflag;
- break;
-#endif
- case 'm':
- magicfile = optarg;
- break;
- case 'z':
- zflag++;
- break;
- case '?':
- default:
- errflg++;
- break;
- }
-
- if (errflg)
- usage();
-
- if (!app) {
- ret = apprentice(magicfile, check);
- if (check)
- exit(ret);
- app = 1;
- }
-
- if (optind == argc) {
- if (!didsomefiles)
- usage();
- }
- else {
- int i, wid, nw;
- for (wid = 0, i = optind; i < argc; i++) {
- nw = strlen(argv[i]);
- if (nw > wid)
- wid = nw;
- }
- for (; optind < argc; optind++)
- process(argv[optind], wid);
- }
-
- return 0;
-}
-
-static void
-usage()
-{
- fprintf(stderr, USAGE);
- exit(2);
-}
-
-/*
- * unwrap -- read a file of filenames, do each one.
- */
-static void
-unwrap(fn)
-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) {
- err(1, "cannot open `%s'", fn);
- /*NOTREACHED*/
- }
-
- while (fgets(buf, MAXPATHLEN, f) != NULL) {
- cwid = strlen(buf) - 1;
- if (cwid > wid)
- wid = cwid;
- }
-
- rewind(f);
- }
-
- while (fgets(buf, MAXPATHLEN, f) != NULL) {
- buf[strlen(buf)-1] = '\0';
- process(buf, wid);
- }
-
- (void) fclose(f);
-}
-
-
-#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
- */
-static int
-byteconv4(from, same, big_endian)
- 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
- */
-static short
-byteconv2(from, same, big_endian)
- 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
-
-/*
- * process - process input file
- */
-void
-process(inname, wid)
-const char *inname;
-int wid;
-{
- int fd = 0;
- static const char stdname[] = "standard input";
- unsigned char buf[HOWMANY+1]; /* one extra for terminating '\0' */
- struct stat sb;
- int nbytes = 0; /* number of bytes read from a datafile */
- char match = '\0';
-
- if (strcmp("-", inname) == 0) {
- if (fstat(0, &sb)<0) {
- err(1, "cannot fstat `%s'", stdname);
- /*NOTREACHED*/
- }
- inname = stdname;
- }
-
- if (wid > 0)
- (void) printf("%s:%*s ", inname,
- (int) (wid - strlen(inname)), "");
-
- if (inname != stdname) {
- /*
- * first try judging the file based on its filesystem status
- */
- if (fsmagic(inname, &sb) != 0) {
- putchar('\n');
- return;
- }
-
- if ((fd = open(inname, O_RDONLY)) < 0) {
- /* We can't open it, but we were able to stat it. */
- if (sb.st_mode & 0002) ckfputs("writeable, ", stdout);
- if (sb.st_mode & 0111) ckfputs("executable, ", stdout);
- ckfprintf(stdout, "can't read `%s': %s.\n",
- inname, strerror(errno));
- return;
- }
- }
-
-
- /*
- * try looking at the first HOWMANY bytes
- */
- if ((nbytes = read(fd, (char *)buf, HOWMANY)) == -1) {
- err(1, "read failed");
- /*NOTREACHED*/
- }
-
- if (nbytes == 0)
- ckfputs("empty", stdout);
- else {
- buf[nbytes++] = '\0'; /* null-terminate it */
- match = tryit(buf, nbytes, zflag);
- }
-
-#ifdef BUILTIN_ELF
- if (match == 's' && nbytes > 5)
- tryelf(fd, buf, nbytes);
-#endif
-
- if (inname != stdname) {
-#ifdef RESTORE_TIME
- /*
- * Try to restore access, modification times if read it.
- */
-# ifdef USE_UTIMES
- struct timeval utsbuf[2];
- utsbuf[0].tv_sec = sb.st_atime;
- utsbuf[1].tv_sec = sb.st_mtime;
-
- (void) utimes(inname, utsbuf); /* don't care if loses */
-# else
- struct utimbuf utbuf;
-
- utbuf.actime = sb.st_atime;
- utbuf.modtime = sb.st_mtime;
- (void) utime(inname, &utbuf); /* don't care if loses */
-# endif
-#endif
- (void) close(fd);
- }
- (void) putchar('\n');
-}
-
-
-int
-tryit(buf, nb, lzflag)
-unsigned char *buf;
-int nb, lzflag;
-{
- /* try compression stuff */
- if (lzflag && zmagic(buf, nb))
- return 'z';
-
- /* try tests in /etc/magic (or surrogate magic file) */
- if (softmagic(buf, nb))
- return 's';
-
- /* try known keywords, check whether it is ASCII */
- if (ascmagic(buf, nb))
- return 'a';
-
- /* see if it's international language text */
- if (internatmagic(buf, nb))
- return 'i';
-
- /* abandon hope, all ye who remain here */
- ckfputs("data", stdout);
- return '\0';
-}
diff --git a/usr.bin/file/file.h b/usr.bin/file/file.h
deleted file mode 100644
index 7d42ad8..0000000
--- a/usr.bin/file/file.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * file.h - definitions for file(1) program
- * @(#)$FreeBSD$
- *
- * Copyright (c) Ian F. Darwin, 1987.
- * Written by Ian F. Darwin.
- *
- * This software is not subject to any license of the American Telephone
- * and Telegraph Company or of the Regents of the University of California.
- *
- * Permission is granted to anyone to use this software for any purpose on
- * any computer system, and to alter it and redistribute it freely, subject
- * to the following restrictions:
- *
- * 1. The author is not responsible for the consequences of use of this
- * software, no matter how awful, even if they arise from flaws in it.
- *
- * 2. The origin of this software must not be misrepresented, either by
- * explicit claim or by omission. Since few users ever read sources,
- * credits must appear in the documentation.
- *
- * 3. Altered versions must be plainly marked as such, and must not be
- * misrepresented as being the original software. Since few users
- * ever read sources, credits must appear in the documentation.
- *
- * 4. This notice may not be removed or altered.
- */
-
-#ifndef __file_h__
-#define __file_h__
-
-typedef int int32;
-typedef unsigned int uint32;
-
-#ifndef HOWMANY
-# define HOWMANY 8192 /* how much of the file to look at */
-#endif
-#define MAXMAGIS 5000 /* max entries in /etc/magic */
-#define MAXDESC 50 /* max leng of text description */
-#define MAXstring 32 /* max leng of "string" types */
-
-struct magic {
- short flag;
-#define INDIR 1 /* if '>(...)' appears, */
-#define UNSIGNED 2 /* comparison is unsigned */
-#define ADD 4 /* if '>&' appears, */
- short cont_level; /* level of ">" */
- struct {
- char type; /* byte short long */
- int32 offset; /* offset from indirection */
- } in;
- int32 offset; /* offset to magic number */
- unsigned char reln; /* relation (0=eq, '>'=gt, etc) */
- char type; /* int, short, long or string. */
- char vallen; /* length of string value, if any */
-#define BYTE 1
-#define SHORT 2
-#define LONG 4
-#define STRING 5
-#define DATE 6
-#define BESHORT 7
-#define BELONG 8
-#define BEDATE 9
-#define LESHORT 10
-#define LELONG 11
-#define LEDATE 12
- union VALUETYPE {
- unsigned char b;
- unsigned short h;
- uint32 l;
- char s[MAXstring];
- unsigned char hs[2]; /* 2 bytes of a fixed-endian "short" */
- unsigned char hl[4]; /* 2 bytes of a fixed-endian "long" */
- } value; /* either number or string */
- uint32 mask; /* mask before comparison with value */
- char nospflag; /* supress space character */
- char desc[MAXDESC]; /* description */
-};
-
-#include <stdio.h> /* Include that here, to make sure __P gets defined */
-
-#ifndef __P
-# if __STDC__ || __cplusplus
-# define __P(a) a
-# else
-# define __P(a) ()
-# define const
-# endif
-#endif
-
-extern int apprentice __P((char *, int));
-extern int ascmagic __P((unsigned char *, int));
-extern void error __P((const char *, ...));
-extern void ckfputs __P((const char *, FILE *));
-struct stat;
-extern int fsmagic __P((const char *, struct stat *));
-extern int internatmagic __P((unsigned char *, int));
-extern int is_compress __P((const unsigned char *, int *));
-extern int is_tar __P((unsigned char *, int));
-extern void magwarn __P((const char *, ...));
-extern void mdump __P((struct magic *));
-extern void process __P((const char *, int));
-extern void showstr __P((FILE *, const char *, int));
-extern int softmagic __P((unsigned char *, int));
-extern int tryit __P((unsigned char *, int, int));
-extern int zmagic __P((unsigned char *, int));
-extern void ckfprintf __P((FILE *, const char *, ...));
-extern uint32 signextend __P((struct magic *, unsigned int32));
-extern void tryelf __P((int, char *, int));
-
-
-extern int errno; /* Some unixes don't define this.. */
-
-extern char *magicfile; /* name of the magic file */
-extern int lineno; /* current line number in magic file */
-
-extern struct magic *magic; /* array of magic entries */
-extern int nmagic; /* number of valid magic[]s */
-
-
-extern int debug; /* enable debugging? */
-extern int zflag; /* process compressed files? */
-extern int lflag; /* follow symbolic links? */
-
-#if defined(sun) || defined(__sun__) || defined (__sun)
-# if defined(__svr4) || defined (__SVR4) || defined(__svr4__)
-# define SOLARIS
-# else
-# define SUNOS
-# endif
-#endif
-
-
-#if !defined(__STDC__) || defined(SUNOS) || defined(__convex__)
-extern int sys_nerr;
-extern char *sys_errlist[];
-#define strerror(e) \
- (((e) >= 0 && (e) < sys_nerr) ? sys_errlist[(e)] : "Unknown error")
-#define strtoul(a, b, c) strtol(a, b, c)
-#endif
-
-#ifndef MAXPATHLEN
-#define MAXPATHLEN 512
-#endif
-
-#endif /* __file_h__ */
diff --git a/usr.bin/file/fsmagic.c b/usr.bin/file/fsmagic.c
deleted file mode 100644
index b9f690c..0000000
--- a/usr.bin/file/fsmagic.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * fsmagic - magic based on filesystem info - directory, special files, etc.
- *
- * Copyright (c) Ian F. Darwin, 1987.
- * Written by Ian F. Darwin.
- *
- * This software is not subject to any license of the American Telephone
- * and Telegraph Company or of the Regents of the University of California.
- *
- * Permission is granted to anyone to use this software for any purpose on
- * any computer system, and to alter it and redistribute it freely, subject
- * to the following restrictions:
- *
- * 1. The author is not responsible for the consequences of use of this
- * software, no matter how awful, even if they arise from flaws in it.
- *
- * 2. The origin of this software must not be misrepresented, either by
- * explicit claim or by omission. Since few users ever read sources,
- * credits must appear in the documentation.
- *
- * 3. Altered versions must be plainly marked as such, and must not be
- * misrepresented as being the original software. Since few users
- * ever read sources, credits must appear in the documentation.
- *
- * 4. This notice may not be removed or altered.
- */
-
-#ifndef lint
-static const char rcsid[] =
- "$FreeBSD$";
-#endif /* not lint */
-
-#include <err.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#include "file.h"
-
-int
-fsmagic(fn, sb)
-const char *fn;
-struct stat *sb;
-{
- int ret = 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 (!lflag)
- ret = lstat(fn, sb);
- else
-#endif
- ret = stat(fn, sb); /* don't merge into if; see "ret =" above */
-
- if (ret) {
- ckfprintf(stdout,
- /* Yes, I do mean stdout. */
- /* No \n, caller will provide. */
- "can't stat `%s': %s.", fn, strerror(errno));
- return 1;
- }
-
- if (sb->st_mode & S_ISUID) ckfputs("setuid ", stdout);
- if (sb->st_mode & S_ISGID) ckfputs("setgid ", stdout);
- if (sb->st_mode & S_ISVTX) ckfputs("sticky ", stdout);
-
- switch (sb->st_mode & S_IFMT) {
- case S_IFDIR:
- ckfputs("directory", stdout);
- return 1;
- case S_IFCHR:
- (void) printf("character special (%ld/%ld)",
- (long) major(sb->st_rdev), (long) minor(sb->st_rdev));
- return 1;
- case S_IFBLK:
- (void) printf("block special (%ld/%ld)",
- (long) major(sb->st_rdev), (long) minor(sb->st_rdev));
- return 1;
- /* TODO add code to handle V7 MUX and Blit MUX files */
-#ifdef S_IFIFO
- case S_IFIFO:
- ckfputs("fifo (named pipe)", stdout);
- return 1;
-#endif
-#ifdef S_IFLNK
- case S_IFLNK:
- {
- char buf[BUFSIZ+4];
- register int nch;
- struct stat tstatbuf;
-
- if ((nch = readlink(fn, buf, BUFSIZ-1)) <= 0) {
- ckfprintf(stdout, "unreadable symlink: %s.",
- strerror(errno));
- return 1;
- }
- buf[nch] = '\0'; /* readlink(2) forgets this */
-
- /* If broken symlink, say so and quit early. */
- if (*buf == '/') {
- if (stat(buf, &tstatbuf) < 0) {
- ckfprintf(stdout,
- "broken symbolic link to %s", buf);
- return 1;
- }
- }
- else {
- char *tmp;
- char buf2[BUFSIZ+BUFSIZ+4];
-
- if ((tmp = strrchr(fn, '/')) == NULL) {
- tmp = buf; /* in current directory anyway */
- }
- else {
- strcpy (buf2, fn); /* take directory part */
- buf2[tmp-fn+1] = '\0';
- strcat (buf2, buf); /* plus (relative) symlink */
- tmp = buf2;
- }
- if (stat(tmp, &tstatbuf) < 0) {
- ckfprintf(stdout,
- "broken symbolic link to %s", buf);
- return 1;
- }
- }
-
- /* Otherwise, handle it. */
- if (lflag) {
- process(buf, strlen(buf));
- return 1;
- } else { /* just print what it points to */
- ckfputs("symbolic link to ", stdout);
- ckfputs(buf, stdout);
- }
- }
- return 1;
-#endif
-#ifdef S_IFSOCK
-#ifndef __COHERENT__
- case S_IFSOCK:
- ckfputs("socket", stdout);
- return 1;
-#endif
-#endif
- case S_IFREG:
- break;
- default:
- err(1, "invalid mode 0%o", sb->st_mode);
- /*NOTREACHED*/
- }
-
- /*
- * regular file, check next possibility
- */
- if (sb->st_size == 0) {
- ckfputs("empty", stdout);
- return 1;
- }
- return 0;
-}
diff --git a/usr.bin/file/internat.c b/usr.bin/file/internat.c
deleted file mode 100644
index f04208e..0000000
--- a/usr.bin/file/internat.c
+++ /dev/null
@@ -1,78 +0,0 @@
-
-#ifndef lint
-static const char rcsid[] =
- "$FreeBSD$";
-#endif /* not lint */
-
-#include "file.h"
-
-#include <string.h>
-
-#define F 0
-#define T 1
-
-/*
- * List of characters that look "reasonable" in international
- * language texts. That's almost all characters :), except a
- * few in the control range of ASCII (all the known international
- * charactersets share the bottom half with ASCII).
- */
-static char maybe_internat[256] = {
- F, F, F, F, F, F, F, F, T, T, T, T, T, T, F, F, /* 0x0X */
- 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 */
- T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x8X */
- T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x9X */
- T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0xaX */
- T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0xbX */
- T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0xcX */
- T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0xdX */
- T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0xeX */
- T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T /* 0xfX */
-};
-
-/* Maximal length of a line we consider "reasonable". */
-#define MAXLINELEN 300
-
-int
-internatmagic(buf, nbytes)
- unsigned char *buf;
- int nbytes;
-{
- int i;
- unsigned char *cp;
-
- nbytes--;
-
- /* First, look whether there are "unreasonable" characters. */
- for (i = 0, cp = buf; i < nbytes; i++, cp++)
- if (!maybe_internat[*cp])
- return 0;
-
- /*
- * Now, look whether the file consists of lines of
- * "reasonable" length.
- */
-
- for (i = 0; i < nbytes;) {
- cp = memchr(buf, '\n', nbytes - i);
- if (cp == NULL) {
- /* Don't fail if we hit the end of buffer. */
- if (i + MAXLINELEN >= nbytes)
- break;
- else
- return 0;
- }
- if (cp - buf > MAXLINELEN)
- return 0;
- i += (cp - buf + 1);
- buf = cp + 1;
- }
- ckfputs("International language text", stdout);
- return 1;
-}
diff --git a/usr.bin/file/is_tar.c b/usr.bin/file/is_tar.c
deleted file mode 100644
index 362825f..0000000
--- a/usr.bin/file/is_tar.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * is_tar() -- figure out whether file is a tar archive.
- *
- * Stolen (by the author!) from the public domain tar program:
- * Pubic 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.
- */
-
-#ifndef lint
-static const char rcsid[] =
- "$FreeBSD$";
-#endif /* not lint */
-
-#include <ctype.h>
-#include <sys/types.h>
-#include "tar.h"
-
-#define isodigit(c) ( ((c) >= '0') && ((c) <= '7') )
-
-#if defined(__STDC__) || defined(__cplusplus)
-static int from_oct(int, char*); /* Decode octal number */
-#else
-static int from_oct();
-#endif
-
-/*
- * 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.
- */
-int
-is_tar(buf, nbytes)
-unsigned char *buf;
-int nbytes;
-{
- register union record *header = (union record *)buf;
- register int i;
- register int sum, recsum;
- register 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 can't 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).
- */
-static int
-from_oct(digs, where)
- register int digs;
- register char *where;
-{
- register int value;
-
- while (isspace(*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(*where))
- return -1; /* Ended on non-space/nul */
-
- return value;
-}
diff --git a/usr.bin/file/names.h b/usr.bin/file/names.h
deleted file mode 100644
index 1273375..0000000
--- a/usr.bin/file/names.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * 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 /etc/magic must
- * appear at fixed offsets into the file. Don't make HOWMANY
- * too high unless you have a very fast CPU.
- *
- * Copyright (c) Ian F. Darwin, 1987.
- * Written by Ian F. Darwin.
- *
- * See LEGAL.NOTICE
- *
- * $FreeBSD$
- */
-
-/* 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 */
-
-static char *types[] = {
- "C program text",
- "C++ program text",
- "FORTRAN program text",
- "make commands text" ,
- "PL/1 program text",
- "assembler program text",
- "English text",
- "Pascal program text",
- "mail text",
- "news text",
- "can't happen error on names.h/types",
- 0};
-
-static struct names {
- char *name;
- short type;
-} names[] = {
- /* These must be sorted by eye for optimal hit rate */
- /* Add to this list only after substantial meditation */
- {"//", 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},
- {"real", 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},
- {NULL, 0}
-};
-#define NNAMES ((sizeof(names)/sizeof(struct names)) - 1)
diff --git a/usr.bin/file/patchlevel.h b/usr.bin/file/patchlevel.h
deleted file mode 100644
index 7fe74e7..0000000
--- a/usr.bin/file/patchlevel.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#define FILE_VERSION_MAJOR 3
-#define patchlevel 22
-
-/*
- * Patchlevel file for Ian Darwin's MAGIC command.
- * $FreeBSD$
- *
- */
-
diff --git a/usr.bin/file/print.c b/usr.bin/file/print.c
deleted file mode 100644
index 8cd079a..0000000
--- a/usr.bin/file/print.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * print.c - debugging printout routines
- *
- * Copyright (c) Ian F. Darwin, 1987.
- * Written by Ian F. Darwin.
- *
- * This software is not subject to any license of the American Telephone
- * and Telegraph Company or of the Regents of the University of California.
- *
- * Permission is granted to anyone to use this software for any purpose on
- * any computer system, and to alter it and redistribute it freely, subject
- * to the following restrictions:
- *
- * 1. The author is not responsible for the consequences of use of this
- * software, no matter how awful, even if they arise from flaws in it.
- *
- * 2. The origin of this software must not be misrepresented, either by
- * explicit claim or by omission. Since few users ever read sources,
- * credits must appear in the documentation.
- *
- * 3. Altered versions must be plainly marked as such, and must not be
- * misrepresented as being the original software. Since few users
- * ever read sources, credits must appear in the documentation.
- *
- * 4. This notice may not be removed or altered.
- */
-
-#ifndef lint
-static const char rcsid[] =
- "$FreeBSD$";
-#endif /* not lint */
-
-#include <err.h>
-#include <errno.h>
-#include <string.h>
-#if __STDC__
-# include <stdarg.h>
-#else
-# include <varargs.h>
-#endif
-#include <time.h>
-#include "file.h"
-
-#define SZOF(a) (sizeof(a) / sizeof(a[0]))
-
-void
-mdump(m)
-struct magic *m;
-{
- static char *typ[] = { "invalid", "byte", "short", "invalid",
- "long", "string", "date", "beshort",
- "belong", "bedate", "leshort", "lelong",
- "ledate" };
- (void) fputc('[', stderr);
- (void) fprintf(stderr, ">>>>>>>> %d" + 8 - (m->cont_level & 7),
- m->offset);
-
- if (m->flag & INDIR)
- (void) fprintf(stderr, "(%s,%d),",
- (m->in.type >= 0 && m->in.type < SZOF(typ)) ?
- typ[(unsigned char) m->in.type] :
- "*bad*",
- m->in.offset);
-
- (void) fprintf(stderr, " %s%s", (m->flag & UNSIGNED) ? "u" : "",
- (m->type >= 0 && m->type < SZOF(typ)) ?
- typ[(unsigned char) m->type] :
- "*bad*");
- if (m->mask != ~((uint32) 0))
- (void) fprintf(stderr, " & %.8x", m->mask);
-
- (void) fprintf(stderr, ",%c", m->reln);
-
- if (m->reln != 'x') {
- switch (m->type) {
- case BYTE:
- case SHORT:
- case LONG:
- case LESHORT:
- case LELONG:
- case BESHORT:
- case BELONG:
- (void) fprintf(stderr, "%d", m->value.l);
- break;
- case STRING:
- showstr(stderr, m->value.s, -1);
- break;
- case DATE:
- case LEDATE:
- case BEDATE:
- {
- char *rt, *pp = ctime((time_t*) &m->value.l);
- if ((rt = strchr(pp, '\n')) != NULL)
- *rt = '\0';
- (void) fprintf(stderr, "%s,", pp);
- if (rt)
- *rt = '\n';
- }
- break;
- default:
- (void) fputs("*bad*", stderr);
- break;
- }
- }
- (void) fprintf(stderr, ",\"%s\"]\n", m->desc);
-}
-
-/*
- * ckfputs - futs, but with error checking
- * ckfprintf - fprintf, but with error checking
- */
-void
-ckfputs(str, fil)
- const char *str;
- FILE *fil;
-{
- if (fputs(str,fil) == EOF)
- errx(1, "write failed");
-}
-
-/*VARARGS*/
-void
-#if __STDC__
-ckfprintf(FILE *f, const char *fmt, ...)
-#else
-ckfprintf(va_alist)
- va_dcl
-#endif
-{
- va_list va;
-#if __STDC__
- va_start(va, fmt);
-#else
- FILE *f;
- const char *fmt;
- va_start(va);
- f = va_arg(va, FILE *);
- fmt = va_arg(va, const char *);
-#endif
- (void) vfprintf(f, fmt, va);
- if (ferror(f))
- errx(1, "write failed");
- va_end(va);
-}
diff --git a/usr.bin/file/readelf.c b/usr.bin/file/readelf.c
deleted file mode 100644
index 5674402..0000000
--- a/usr.bin/file/readelf.c
+++ /dev/null
@@ -1,325 +0,0 @@
-
-#ifndef lint
-static const char rcsid[] =
- "$FreeBSD$";
-#endif /* not lint */
-
-#ifdef BUILTIN_ELF
-#include <ctype.h>
-#include <err.h>
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-
-#include "readelf.h"
-#include "file.h"
-
-static void doshn __P((int, off_t, int, size_t, char *));
-static void dophn_exec __P((int, off_t, int, size_t, char *));
-static void dophn_core __P((int, off_t, int, size_t, char *));
-
-static void
-doshn(fd, off, num, size, buf)
- int fd;
- off_t off;
- int num;
- size_t size;
- char *buf;
-{
- /*
- * This works for both 32-bit and 64-bit ELF formats,
- * because it looks only at the "sh_type" field, which is
- * always 32 bits, and is preceded only by the "sh_name"
- * field which is also always 32 bits, and because it uses
- * the shdr size from the ELF header rather than using
- * the size of an "Elf32_Shdr".
- */
- Elf32_Shdr *sh = (Elf32_Shdr *) buf;
-
- if (lseek(fd, off, SEEK_SET) == -1)
- err(1, "lseek failed");
-
- for ( ; num; num--) {
- if (read(fd, buf, size) == -1)
- err(1, "read failed");
- if (sh->sh_type == SHT_SYMTAB) {
- (void) printf (", not stripped");
- return;
- }
- }
- (void) printf (", stripped");
-}
-
-/*
- * 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.
- */
-static void
-dophn_exec(fd, off, num, size, buf)
- int fd;
- off_t off;
- int num;
- size_t size;
- char *buf;
-{
- /* I am not sure if this works for 64 bit elf formats */
- Elf32_Phdr *ph = (Elf32_Phdr *) buf;
-
- if (lseek(fd, off, SEEK_SET) == -1)
- err(1, "lseek failed");
-
- for ( ; num; num--) {
- if (read(fd, buf, size) == -1)
- err(1, "read failed");
- if (ph->p_type == PT_INTERP) {
- /*
- * Has an interpreter - must be a dynamically-linked
- * executable.
- */
- printf(", dynamically linked");
- return;
- }
- }
- printf(", statically linked");
-}
-
-size_t prpsoffsets[] = {
- 8, /* FreeBSD */
- 100, /* SunOS 5.x */
- 32, /* Linux */
-};
-
-#define NOFFSETS (sizeof prpsoffsets / sizeof prpsoffsets[0])
-
-/*
- * 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.
- */
-static void
-dophn_core(fd, off, num, size, buf)
- int fd;
- off_t off;
- int num;
- size_t size;
- char *buf;
-{
- /*
- * This doesn't work for 64-bit ELF, as the "p_offset" field is
- * 64 bits in 64-bit ELF.
- */
- /*
- * This doesn't work for 64-bit ELF, as the "p_offset" field is
- * 64 bits in 64-bit ELF.
- */
- Elf32_Phdr *ph = (Elf32_Phdr *) buf;
- Elf32_Nhdr *nh;
- size_t offset, noffset, reloffset;
- unsigned char c;
- int i, j;
- char nbuf[BUFSIZ];
- int bufsize;
-
- for ( ; num; num--) {
- if (lseek(fd, off, SEEK_SET) == -1)
- err(1, "lseek failed");
- if (read(fd, buf, size) == -1)
- err(1, "read failed");
- off += size;
- if (ph->p_type != PT_NOTE)
- continue;
- if (lseek(fd, ph->p_offset, SEEK_SET) == -1)
- err(1, "lseek failed");
- bufsize = read(fd, nbuf, BUFSIZ);
- if (bufsize == -1)
- err(1, "read failed");
- offset = 0;
- for (;;) {
- if (offset >= bufsize)
- break;
- nh = (Elf32_Nhdr *)&nbuf[offset];
- offset += sizeof *nh;
-
- /*
- * If this note isn't an NT_PRPSINFO note, it's
- * not what we're looking for.
- */
- if (nh->n_type != NT_PRPSINFO) {
- offset += nh->n_namesz;
- offset = ((offset + 3)/4)*4;
- offset += nh->n_descsz;
- offset = ((offset + 3)/4)*4;
- continue;
- }
-
- /*
- * Make sure this note has the name "CORE" or
- * "FreeBSD".
- */
- if (offset + nh->n_namesz >= bufsize) {
- /*
- * We're past the end of the buffer.
- */
- break;
- }
- if (nbuf[offset + nh->n_namesz - 1] != '\0' ||
- (strcmp(&nbuf[offset], "CORE") != 0 &&
- strcmp(&nbuf[offset], "FreeBSD") != 0))
- continue;
- offset += nh->n_namesz;
- offset = ((offset + 3)/4)*4;
-
- /*
- * 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
- * SunOS 5.x and Linux, so try multiple offsets.
- * If the characters aren't all printable, reject
- * it.
- */
- for (i = 0; i < NOFFSETS; i++) {
- reloffset = prpsoffsets[i];
- noffset = offset + 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 >= bufsize)
- return;
-
- /*
- * Make sure we're not past the
- * end of the contents; if we
- * are, this obviously isn't
- * the right offset.
- */
- if (reloffset >= nh->n_descsz)
- goto tryanother;
-
- c = nbuf[noffset];
- if (c != '\0' && !isprint(c))
- goto tryanother;
- }
-
- /*
- * Well, that worked.
- */
- printf(", from '%.16s'",
- &nbuf[offset + prpsoffsets[i]]);
- return;
-
- tryanother:
- ;
- }
- offset += nh->n_descsz;
- offset = ((offset + 3)/4)*4;
- }
- }
-}
-
-void
-tryelf(fd, buf, nbytes)
- int fd;
- char *buf;
- int nbytes;
-{
- union {
- int32 l;
- char c[sizeof (int32)];
- } u;
-
- /*
- * 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_MAG2] != ELFMAG2 || buf[EI_MAG3] != ELFMAG3)
- return;
-
-
- if (buf[4] == ELFCLASS32) {
- Elf32_Ehdr elfhdr;
- if (nbytes <= sizeof (Elf32_Ehdr))
- return;
-
-
- u.l = 1;
- (void) memcpy(&elfhdr, buf, sizeof elfhdr);
- /*
- * If the system byteorder does not equal the
- * object byteorder then don't test.
- * XXX - we could conceivably fix up the "dophn_XXX()" and
- * "doshn()" routines to extract stuff in the right
- * byte order....
- */
- if ((u.c[sizeof(long) - 1] + 1) == elfhdr.e_ident[5]) {
- if (elfhdr.e_type == ET_CORE)
- dophn_core(fd, elfhdr.e_phoff, elfhdr.e_phnum,
- elfhdr.e_phentsize, buf);
- else {
- if (elfhdr.e_type == ET_EXEC) {
- dophn_exec(fd, elfhdr.e_phoff,
- elfhdr.e_phnum,
- elfhdr.e_phentsize, buf);
- }
- doshn(fd, elfhdr.e_shoff, elfhdr.e_shnum,
- elfhdr.e_shentsize, buf);
- }
- }
- return;
- }
-
- if (buf[4] == ELFCLASS64) {
- Elf64_Ehdr elfhdr;
- if (nbytes <= sizeof (Elf64_Ehdr))
- return;
-
-
- u.l = 1;
- (void) memcpy(&elfhdr, buf, sizeof elfhdr);
-
- /*
- * If the system byteorder does not equal the
- * object byteorder then don't test.
- * XXX - we could conceivably fix up the "dophn_XXX()" and
- * "doshn()" routines to extract stuff in the right
- * byte order....
- */
- if ((u.c[sizeof(long) - 1] + 1) == elfhdr.e_ident[5]) {
-#ifdef notyet
- if (elfhdr.e_type == ET_CORE)
- dophn_core(fd, elfhdr.e_phoff, elfhdr.e_phnum,
- elfhdr.e_phentsize, buf);
- else
-#endif
- {
-#ifdef notyet
- if (elfhdr.e_type == ET_EXEC) {
- dophn_exec(fd, elfhdr.e_phoff,
- elfhdr.e_phnum,
- elfhdr.e_phentsize, buf);
- }
-#endif
- doshn(fd, elfhdr.e_shoff, elfhdr.e_shnum,
- elfhdr.e_shentsize, buf);
- }
- }
- return;
- }
-}
-#endif
diff --git a/usr.bin/file/readelf.h b/usr.bin/file/readelf.h
deleted file mode 100644
index 28d4497..0000000
--- a/usr.bin/file/readelf.h
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * readelf.h
- * @(#)$FreeBSD$
- *
- * 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__
-
-typedef unsigned int Elf32_Addr;
-typedef unsigned short Elf32_Half;
-typedef unsigned int Elf32_Off;
-typedef unsigned int Elf32_Word;
-typedef unsigned char Elf32_Char;
-
-/* XXX: We need 64 bit numbers here */
-typedef u_quad_t Elf64_Addr;
-typedef unsigned short Elf64_Half;
-typedef u_quad_t Elf64_Off;
-typedef unsigned int Elf64_Word;
-typedef unsigned char 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
-
-/* 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"
-
-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;
-
-#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
-
-/* 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
-
-#endif
diff --git a/usr.bin/file/softmagic.c b/usr.bin/file/softmagic.c
deleted file mode 100644
index c1e7925..0000000
--- a/usr.bin/file/softmagic.c
+++ /dev/null
@@ -1,512 +0,0 @@
-/*
- * softmagic - interpret variable magic from /etc/magic
- *
- * Copyright (c) Ian F. Darwin, 1987.
- * Written by Ian F. Darwin.
- *
- * This software is not subject to any license of the American Telephone
- * and Telegraph Company or of the Regents of the University of California.
- *
- * Permission is granted to anyone to use this software for any purpose on
- * any computer system, and to alter it and redistribute it freely, subject
- * to the following restrictions:
- *
- * 1. The author is not responsible for the consequences of use of this
- * software, no matter how awful, even if they arise from flaws in it.
- *
- * 2. The origin of this software must not be misrepresented, either by
- * explicit claim or by omission. Since few users ever read sources,
- * credits must appear in the documentation.
- *
- * 3. Altered versions must be plainly marked as such, and must not be
- * misrepresented as being the original software. Since few users
- * ever read sources, credits must appear in the documentation.
- *
- * 4. This notice may not be removed or altered.
- */
-
-#ifndef lint
-static const char rcsid[] =
- "$FreeBSD$";
-#endif /* not lint */
-
-#include <err.h>
-#include <string.h>
-#include <stdlib.h>
-#include <time.h>
-
-#include "file.h"
-
-static int match __P((unsigned char *, int));
-static int mget __P((union VALUETYPE *,
- unsigned char *, struct magic *, int));
-static int mcheck __P((union VALUETYPE *, struct magic *));
-static int32 mprint __P((union VALUETYPE *, struct magic *));
-static void mdebug __P((int32, char *, int));
-static int mconvert __P((union VALUETYPE *, struct magic *));
-
-/*
- * softmagic - lookup one file in database
- * (already read from /etc/magic by apprentice.c).
- * Passed the name and FILE * of one file to be typed.
- */
-/*ARGSUSED1*/ /* nbytes passed for regularity, maybe need later */
-int
-softmagic(buf, nbytes)
-unsigned char *buf;
-int nbytes;
-{
- if (match(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.
- */
-static int
-match(s, nbytes)
-unsigned char *s;
-int nbytes;
-{
- int magindex = 0;
- int cont_level = 0;
- int need_separator = 0;
- union VALUETYPE p;
- static int32 *tmpoff = NULL;
- static size_t tmplen = 0;
- int32 oldoff = 0;
-
- if (tmpoff == NULL)
- if ((tmpoff = (int32 *) malloc(tmplen = 20)) == NULL)
- errx(1, "out of memory");
-
- for (magindex = 0; magindex < nmagic; magindex++) {
- /* if main entry matches, print it... */
- if (!mget(&p, s, &magic[magindex], nbytes) ||
- !mcheck(&p, &magic[magindex])) {
- /*
- * main entry didn't match,
- * flush its continuations
- */
- while (magindex < nmagic &&
- magic[magindex + 1].cont_level != 0)
- magindex++;
- continue;
- }
-
- tmpoff[cont_level] = mprint(&p, &magic[magindex]);
- /*
- * 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 (++cont_level >= tmplen)
- if ((tmpoff = (int32 *) realloc(tmpoff,
- tmplen += 20)) == NULL)
- errx(1, "out of memory");
- while (magic[magindex+1].cont_level != 0 &&
- ++magindex < nmagic) {
- if (cont_level >= magic[magindex].cont_level) {
- if (cont_level > magic[magindex].cont_level) {
- /*
- * We're at the end of the level
- * "cont_level" continuations.
- */
- cont_level = magic[magindex].cont_level;
- }
- if (magic[magindex].flag & ADD) {
- oldoff=magic[magindex].offset;
- magic[magindex].offset += tmpoff[cont_level-1];
- }
- if (mget(&p, s, &magic[magindex], nbytes) &&
- mcheck(&p, &magic[magindex])) {
- /*
- * 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')
- ) {
- (void) putchar(' ');
- need_separator = 0;
- }
- tmpoff[cont_level] = mprint(&p, &magic[magindex]);
- if (magic[magindex].desc[0])
- need_separator = 1;
-
- /*
- * If we see any continuations
- * at a higher level,
- * process them.
- */
- if (++cont_level >= tmplen)
- if ((tmpoff =
- (int32 *) realloc(tmpoff,
- tmplen += 20)) == NULL)
- errx(1, "out of memory");
- }
- if (magic[magindex].flag & ADD) {
- magic[magindex].offset = oldoff;
- }
- }
- }
- return 1; /* all through */
- }
- return 0; /* no match at all */
-}
-
-static int32
-mprint(p, m)
-union VALUETYPE *p;
-struct magic *m;
-{
- char *pp, *rt;
- uint32 v;
- int32 t=0 ;
-
-
- switch (m->type) {
- case BYTE:
- v = p->b;
- v = signextend(m, v) & m->mask;
- (void) printf(m->desc, (unsigned char) v);
- t = m->offset + sizeof(char);
- break;
-
- case SHORT:
- case BESHORT:
- case LESHORT:
- v = p->h;
- v = signextend(m, v) & m->mask;
- (void) printf(m->desc, (unsigned short) v);
- t = m->offset + sizeof(short);
- break;
-
- case LONG:
- case BELONG:
- case LELONG:
- v = p->l;
- v = signextend(m, v) & m->mask;
- (void) printf(m->desc, (uint32) v);
- t = m->offset + sizeof(int32);
- break;
-
- case STRING:
- if (m->reln == '=') {
- (void) printf(m->desc, m->value.s);
- t = m->offset + strlen(m->value.s);
- }
- else {
- if (*m->value.s == '\0') {
- char *cp = strchr(p->s,'\n');
- if (cp)
- *cp = '\0';
- }
- (void) printf(m->desc, p->s);
- t = m->offset + strlen(p->s);
- }
- break;
-
- case DATE:
- case BEDATE:
- case LEDATE:
- pp = ctime((time_t*) &p->l);
- if ((rt = strchr(pp, '\n')) != NULL)
- *rt = '\0';
- (void) printf(m->desc, pp);
- t = m->offset + sizeof(time_t);
- break;
-
- default:
- errx(1, "invalid m->type (%d) in mprint()", m->type);
- /*NOTREACHED*/
- }
- return(t);
-}
-
-/*
- * Convert the byte order of the data we are looking at
- */
-static int
-mconvert(p, m)
-union VALUETYPE *p;
-struct magic *m;
-{
- switch (m->type) {
- case BYTE:
- case SHORT:
- case LONG:
- case DATE:
- return 1;
- case STRING:
- {
- char *ptr;
-
- /* Null terminate and eat the return */
- p->s[sizeof(p->s) - 1] = '\0';
- if ((ptr = strchr(p->s, '\n')) != NULL)
- *ptr = '\0';
- return 1;
- }
- case BESHORT:
- p->h = (short)((p->hs[0]<<8)|(p->hs[1]));
- return 1;
- case BELONG:
- case BEDATE:
- p->l = (int32)
- ((p->hl[0]<<24)|(p->hl[1]<<16)|(p->hl[2]<<8)|(p->hl[3]));
- return 1;
- case LESHORT:
- p->h = (short)((p->hs[1]<<8)|(p->hs[0]));
- return 1;
- case LELONG:
- case LEDATE:
- p->l = (int32)
- ((p->hl[3]<<24)|(p->hl[2]<<16)|(p->hl[1]<<8)|(p->hl[0]));
- return 1;
- default:
- errx(1, "invalid type %d in mconvert()", m->type);
- return 0;
- }
-}
-
-
-static void
-mdebug(offset, str, len)
-int32 offset;
-char *str;
-int len;
-{
- (void) fprintf(stderr, "mget @%d: ", offset);
- showstr(stderr, (char *) str, len);
- (void) fputc('\n', stderr);
- (void) fputc('\n', stderr);
-}
-
-static int
-mget(p, s, m, nbytes)
-union VALUETYPE* p;
-unsigned char *s;
-struct magic *m;
-int nbytes;
-{
- int32 offset = m->offset;
-
- if (offset + sizeof(union VALUETYPE) <= nbytes)
- memcpy(p, s + offset, sizeof(union VALUETYPE));
- else {
- /*
- * the usefulness of padding with zeroes eludes me, it
- * might even cause problems
- */
- int32 have = nbytes - offset;
- memset(p, 0, sizeof(union VALUETYPE));
- if (have > 0)
- memcpy(p, s + offset, have);
- }
-
-
- if (debug) {
- mdebug(offset, (char *) p, sizeof(union VALUETYPE));
- mdump(m);
- }
-
- if (!mconvert(p, m))
- return 0;
-
- if (m->flag & INDIR) {
-
- switch (m->in.type) {
- case BYTE:
- offset = p->b + m->in.offset;
- break;
- case SHORT:
- offset = p->h + m->in.offset;
- break;
- case LONG:
- offset = p->l + m->in.offset;
- break;
- }
-
- if (offset + sizeof(union VALUETYPE) > nbytes)
- return 0;
-
- memcpy(p, s + offset, sizeof(union VALUETYPE));
-
- if (debug) {
- mdebug(offset, (char *) p, sizeof(union VALUETYPE));
- mdump(m);
- }
-
- if (!mconvert(p, m))
- return 0;
- }
- return 1;
-}
-
-static int
-mcheck(p, m)
-union VALUETYPE* p;
-struct magic *m;
-{
- register uint32 l = m->value.l;
- register uint32 v;
- int matched;
-
- if ( (m->value.s[0] == 'x') && (m->value.s[1] == '\0') ) {
- fprintf(stderr, "BOINK");
- return 1;
- }
-
-
- switch (m->type) {
- case BYTE:
- v = p->b;
- break;
-
- case SHORT:
- case BESHORT:
- case LESHORT:
- v = p->h;
- break;
-
- case LONG:
- case BELONG:
- case LELONG:
- case DATE:
- case BEDATE:
- case LEDATE:
- v = p->l;
- break;
-
- case STRING:
- l = 0;
- /* 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.
- */
- v = 0;
- {
- register unsigned char *a = (unsigned char*)m->value.s;
- register unsigned char *b = (unsigned char*)p->s;
- register int len = m->vallen;
-
- while (--len >= 0)
- if ((v = *b++ - *a++) != '\0')
- break;
- }
- break;
- default:
- errx(1, "invalid type %d in mcheck()", m->type);
- return 0;/*NOTREACHED*/
- }
-
- v = signextend(m, v) & m->mask;
-
- switch (m->reln) {
- case 'x':
- if (debug)
- (void) fprintf(stderr, "%u == *any* = 1\n", v);
- matched = 1;
- break;
-
- case '!':
- matched = v != l;
- if (debug)
- (void) fprintf(stderr, "%u != %u = %d\n",
- v, l, matched);
- break;
-
- case '=':
- matched = v == l;
- if (debug)
- (void) fprintf(stderr, "%u == %u = %d\n",
- v, l, matched);
- break;
-
- case '>':
- if (m->flag & UNSIGNED) {
- matched = v > l;
- if (debug)
- (void) fprintf(stderr, "%u > %u = %d\n",
- v, l, matched);
- }
- else {
- matched = (int32) v > (int32) l;
- if (debug)
- (void) fprintf(stderr, "%d > %d = %d\n",
- v, l, matched);
- }
- break;
-
- case '<':
- if (m->flag & UNSIGNED) {
- matched = v < l;
- if (debug)
- (void) fprintf(stderr, "%u < %u = %d\n",
- v, l, matched);
- }
- else {
- matched = (int32) v < (int32) l;
- if (debug)
- (void) fprintf(stderr, "%d < %d = %d\n",
- v, l, matched);
- }
- break;
-
- case '&':
- matched = (v & l) == l;
- if (debug)
- (void) fprintf(stderr, "((%x & %x) == %x) = %d\n",
- v, l, l, matched);
- break;
-
- case '^':
- matched = (v & l) != l;
- if (debug)
- (void) fprintf(stderr, "((%x & %x) != %x) = %d\n",
- v, l, l, matched);
- break;
-
- default:
- matched = 0;
- errx(1, "mcheck: can't happen: invalid relation %d", m->reln);
- break;/*NOTREACHED*/
- }
-
- return matched;
-}
diff --git a/usr.bin/file/tar.h b/usr.bin/file/tar.h
deleted file mode 100644
index 87f0d55..0000000
--- a/usr.bin/file/tar.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * 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.
- *
- * $FreeBSD$ # checkin only
- */
-
-/*
- * Kludge for handling systems that can't 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;
-
-
-/*
- * Declarations of functions available to the world.
- */
-/*LINTLIBRARY*/
-union record *findrec();
-void userec();
-union record *endofrecs();
-void anno();
-#define annorec(stream, msg) anno(stream, msg, 0) /* Cur rec */
-#define annofile(stream, msg) anno(stream, msg, 1) /* Saved rec */
OpenPOWER on IntegriCloud