diff options
author | obrien <obrien@FreeBSD.org> | 2000-11-05 09:06:06 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2000-11-05 09:06:06 +0000 |
commit | f95e798de355aef37ac46a3f764905a0d0b6c0e6 (patch) | |
tree | a8a0062690cd42a7b4f15aa7a3db4cfb03ed567e /usr.bin/file | |
parent | 3a8950961e7ff13f9c3b0d8a0e1f821f81806d0f (diff) | |
download | FreeBSD-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/file')
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 */ |