From: Joerg Sonnenberger Date: Tue, 4 Jan 2005 18:46:32 +0000 (+0000) Subject: Mark old file as dead. X-Git-Tag: v2.0.1~9293 X-Git-Url: https://gitweb.dragonflybsd.org/~nant/dragonfly.git/commitdiff_plain/ab8a4b2c940c19e18c6b31fd6acffcb3426ae6de Mark old file as dead. --- diff --git a/contrib/file/FREEBSD-upgrade b/contrib/file/FREEBSD-upgrade deleted file mode 100644 index b6196a82c6..0000000000 --- a/contrib/file/FREEBSD-upgrade +++ /dev/null @@ -1,20 +0,0 @@ -# ex:ts=8 -$FreeBSD: src/contrib/file/FREEBSD-upgrade,v 1.1.2.2 2001/08/02 22:51:34 obrien Exp $ -$DragonFly: src/contrib/file/Attic/FREEBSD-upgrade,v 1.2 2003/06/17 04:23:59 dillon Exp $ - -Christos Zoulas `file' - originals can be found at: ftp://ftp.astron.com/pub/file/ - -Imported by: - - cvs import -m "Virgin import of Christos Zoulas's FILE 3.35." \ - src/contrib/file ZOULAS file_3_35 - - -Never make local changes to ZOULAS `file'. Christos is very willing to -work with us to meet our FreeBSD needs. Thus submit any desired changes -to him and wait for the next release and vendor -import to get them. - -obrien@NUXI.com -25-April-2001 diff --git a/contrib/file/Header b/contrib/file/Header deleted file mode 100644 index 3ca9b0eb2c..0000000000 --- a/contrib/file/Header +++ /dev/null @@ -1,5 +0,0 @@ -# Magic -# Magic data for file(1) command. -# Machine-generated from src/cmd/file/magdir/*; edit there only! -# Format is described in magic(files), where: -# files is 5 on V7 and BSD, 4 on SV, and ?? in the SVID. diff --git a/contrib/file/LEGAL.NOTICE b/contrib/file/LEGAL.NOTICE deleted file mode 100644 index 72cc535f36..0000000000 --- a/contrib/file/LEGAL.NOTICE +++ /dev/null @@ -1,34 +0,0 @@ -$Id: LEGAL.NOTICE,v 1.11 1999/01/14 16:30:12 christos Exp $ -Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995. -Software written by Ian F. Darwin and others; -maintained 1994-1999 Christos Zoulas. - -This software is not subject to any export provision of the United States -Department of Commerce, and may be exported to any country or planet. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice immediately at the beginning of the file, without modification, - this list of conditions, and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. All advertising materials mentioning features or use of this software - must display the following acknowledgement: - This product includes software developed by Ian F. Darwin and others. -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 AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. diff --git a/contrib/file/Localstuff b/contrib/file/Localstuff deleted file mode 100644 index 3c2fa0ef77..0000000000 --- a/contrib/file/Localstuff +++ /dev/null @@ -1,7 +0,0 @@ - -#------------------------------------------------------------------------------ -# Localstuff: file(1) magic for locally observed files -# -# $Id: Localstuff,v 1.3 1995/01/21 21:09:00 christos Exp $ -# Add any locally observed files here. Remember: -# text if readable, executable if runnable binary, data if unreadable. diff --git a/contrib/file/MAINT b/contrib/file/MAINT deleted file mode 100644 index 5a8768390a..0000000000 --- a/contrib/file/MAINT +++ /dev/null @@ -1,33 +0,0 @@ -$Id: MAINT,v 1.4 2000/04/11 02:43:51 christos Exp $ - -Maintenance notes: - -I am continuing to maintain the file command. I welcome your help, -but to make my life easier I'd like to request the following: - -- Don't change the version numbers! - -If your changes are extensive, I will have to work hard to -integrate them into my version. If you check it into SCCS locally, -the version numbers will likely be kept. IF you check it into RCS -or CVS locally, please use -k to keep the version numbers, and -please use branch deltas (1.21.1, 1.21.2, ...). If you don't do -this, I will likely be unable to use your changes; life's just too -short. - -- Do not distribute changed versions. - -People trying to be helpful occasionally put up their hacked versions -of the file command for FTP, then the "archie" server finds and publishes -the hacked version, and people all over the world get copies of it. -Within a day or two I am getting email from around the world -asking me why "my" file command won't compile!!! Needless to say this -detracts from the limited time I have available to work on the actual -software. Therefore I ask you again to please NOT distribute -your changed version. - - -Thank you for your assistance and cooperation. - -Christos Zoulas -christos@astron.com diff --git a/contrib/file/Magdir/acorn b/contrib/file/Magdir/acorn deleted file mode 100644 index ad89cc66e6..0000000000 --- a/contrib/file/Magdir/acorn +++ /dev/null @@ -1,32 +0,0 @@ -#------------------------------------------------------------------------------ -# acorn: file(1) magic for files found on Acorn systems -# - -# RISC OS Chunk File Format -# From RISC OS Programmer's Reference Manual, Appendix D -# We guess the file type from the type of the first chunk. -0 lelong 0xc3cbc6c5 RISC OS Chunk data ->12 string OBJ_ \b, AOF object ->12 string LIB_ \b, ALF library - -# RISC OS AIF, contains "SWI OS_Exit" at offset 16. -16 lelong 0xef000011 RISC OS AIF executable - -# RISC OS Draw files -# From RISC OS Programmer's Reference Manual, Appendix E -0 string Draw RISC OS Draw file data - -# RISC OS new format font files -# From RISC OS Programmer's Reference Manual, Appendix E -0 string FONT\0 RISC OS outline font data, ->5 byte x version %d -0 string FONT\1 RISC OS 1bpp font data, ->5 byte x version %d -0 string FONT\4 RISC OS 4bpp font data ->5 byte x version %d - -# RISC OS Music files -# From RISC OS Programmer's Reference Manual, Appendix E -0 string Maestro\r RISC OS music file ->8 byte x version %d - diff --git a/contrib/file/Magdir/adi b/contrib/file/Magdir/adi deleted file mode 100644 index 12d7da59bc..0000000000 --- a/contrib/file/Magdir/adi +++ /dev/null @@ -1,12 +0,0 @@ - -#------------------------------------------------------------------------------ -# adi: file(1) magic for ADi's objects -# From Gregory McGarry -# -0 leshort 0x521c COFF DSP21k ->18 lelong &02 executable, ->18 lelong ^02 ->>18 lelong &01 static object, ->>18 lelong ^01 relocatable object, ->18 lelong &010 stripped ->18 lelong ^010 not stripped diff --git a/contrib/file/Magdir/adventure b/contrib/file/Magdir/adventure deleted file mode 100644 index 864712f6da..0000000000 --- a/contrib/file/Magdir/adventure +++ /dev/null @@ -1,63 +0,0 @@ - -#------------------------------------------------------------------------------ -# adventure: file(1) magic for Adventure game files -# -# from Allen Garvin -# Edited by Dave Chapeskie Jun 28, 1998 -# Edited by Chris Chittleborough , March 2002 -# -# ALAN -# I assume there are other, lower versions, but these are the only ones I -# saw in the archive. -0 beshort 0x0206 ALAN game data ->2 byte <10 version 2.6%d - -# Conflicts with too much other stuff! -# 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) -# All files are machine-independent (games compile to byte-code) and are tagged -# with a version string of the form "V2..\0" (but TADS 3 is -# on the way). -# Game files start with "TADS2 bin\n\r\032\0" then the compiler version. -0 string TADS2\ bin TADS ->9 belong !0x0A0D1A00 game data, CORRUPTED ->9 belong 0x0A0D1A00 ->>13 string >\0 %s game data -# Resource files start with "TADS2 rsc\n\r\032\0" then the compiler version. -0 string TADS2\ rsc TADS ->9 belong !0x0A0D1A00 resource data, CORRUPTED ->9 belong 0x0A0D1A00 ->>13 string >\0 %s resource data -# Some saved game files start with "TADS2 save/g\n\r\032\0", a little-endian -# 2-byte length N, the N-char name of the game file *without* a NUL (darn!), -# "TADS2 save\n\r\032\0" and the interpreter version. -0 string TADS2\ save/g TADS ->12 belong !0x0A0D1A00 saved game data, CORRUPTED ->12 belong 0x0A0D1A00 ->>(16.s+32) string >\0 %s saved game data -# Other saved game files start with "TADS2 save\n\r\032\0" and the interpreter -# version. -0 string TADS2\ save TADS ->10 belong !0x0A0D1A00 saved game data, CORRUPTED ->10 belong 0x0A0D1A00 ->>14 string >\0 %s saved game data diff --git a/contrib/file/Magdir/allegro b/contrib/file/Magdir/allegro deleted file mode 100644 index 41f4ad6cd2..0000000000 --- a/contrib/file/Magdir/allegro +++ /dev/null @@ -1,7 +0,0 @@ -#------------------------------------------------------------------------------ -# allegro: file(1) magic for Allegro datafiles -# Toby Deshane -# -0 belong 0x736C6821 Allegro datafile (packed) -0 belong 0x736C682E Allegro datafile (not packed/autodetect) -0 belong 0x736C682B Allegro datafile (appended exe data) diff --git a/contrib/file/Magdir/alliant b/contrib/file/Magdir/alliant deleted file mode 100644 index 69cf4b44d7..0000000000 --- a/contrib/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/contrib/file/Magdir/alpha b/contrib/file/Magdir/alpha deleted file mode 100644 index c0191fb931..0000000000 --- a/contrib/file/Magdir/alpha +++ /dev/null @@ -1,30 +0,0 @@ -#------------------------------------------------------------------------------ -# alpha architecture description -# - -0 leshort 0603 COFF format alpha ->22 leshort&030000 !020000 executable ->24 leshort 0410 pure ->24 leshort 0413 paged ->22 leshort&020000 !0 dynamically linked ->16 lelong !0 not stripped ->16 lelong 0 stripped ->22 leshort&030000 020000 shared library ->24 leshort 0407 object ->27 byte x - version %d ->26 byte x .%d ->28 byte x -%d - -# Basic recognition of Digital UNIX core dumps - Mike Bremford -# -# The actual magic number is just "Core", followed by a 2-byte version -# number; however, treating any file that begins with "Core" as a Digital -# UNIX core dump file may produce too many false hits, so we include one -# byte of the version number as well; DU 5.0 appears only to be up to -# version 2. -# -0 string Core\001 Alpha COFF format core dump (Digital UNIX) ->24 string >\0 \b, from '%s' -0 string Core\002 Alpha COFF format core dump (Digital UNIX) ->24 string >\0 \b, from '%s' - diff --git a/contrib/file/Magdir/amanda b/contrib/file/Magdir/amanda deleted file mode 100644 index 2b9565083e..0000000000 --- a/contrib/file/Magdir/amanda +++ /dev/null @@ -1,10 +0,0 @@ -#------------------------------------------------------------------------------ -# amanda: file(1) magic for amanda file format -# -0 string AMANDA:\ AMANDA ->8 string TAPESTART\ DATE tape header file, ->>23 string X ->>>25 string >\ Unused %s ->>23 string >\ DATE %s ->8 string FILE\ dump file, ->>13 string >\ DATE %s diff --git a/contrib/file/Magdir/amigaos b/contrib/file/Magdir/amigaos deleted file mode 100644 index a1be6138a1..0000000000 --- a/contrib/file/Magdir/amigaos +++ /dev/null @@ -1,39 +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 separate, anyway) -# -0 belong 0x000003f3 AmigaOS loadseg()ble executable/binary -0 belong 0x000003e7 AmigaOS object/library data -# -0 beshort 0xe310 Amiga Workbench ->2 beshort 1 ->>48 byte 1 disk icon ->>48 byte 2 drawer icon ->>48 byte 3 tool icon ->>48 byte 4 project icon ->>48 byte 5 garbage icon ->>48 byte 6 device icon ->>48 byte 7 kickstart icon ->>48 byte 8 workbench application icon ->2 beshort >1 icon, vers. %d -# -# various sound formats from the Amiga -# G=F6tz Waschk -# -0 string FC14 Future Composer 1.4 Module sound file -0 string SMOD Future Composer 1.3 Module sound file -0 string AON4artofnoise Art Of Noise Module sound file -1 string MUGICIAN/SOFTEYES Mugician Module sound file -58 string SIDMON\ II\ -\ THE Sidmon 2.0 Module sound file -0 string Synth4.0 Synthesis Module sound file -0 string ARP. The Holy Noise Module sound file -0 string BeEp\0 JamCracker Module sound file -0 string COSO\0 Hippel-COSO Module sound file -26 string V.3 Brian Postma's Soundmon Module sound file v3 -26 string BPSM Brian Postma's Soundmon Module sound file v3 -26 string V.2 Brian Postma's Soundmon Module sound file v2 - diff --git a/contrib/file/Magdir/animation b/contrib/file/Magdir/animation deleted file mode 100644 index 56f25cf3b7..0000000000 --- a/contrib/file/Magdir/animation +++ /dev/null @@ -1,196 +0,0 @@ - -#------------------------------------------------------------------------------ -# animation: file(1) magic for animation/movie formats -# -# animation formats -# MPEG, FLI, DL originally from vax@ccwf.cc.utexas.edu (VaX#n8) -# FLC, SGI, Apple originally from Daniel Quinlan (quinlan@yggdrasil.com) - -# 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 - -# MPEG Audio (*.mpx) -# from dreesen@math.fu-berlin.de - -# MPEG 1.0 Layer 3 -0 beshort&0xfffe =0xfffa \bMP3 ->2 byte&0xf0 =0x10 \b, 32 kBits ->2 byte&0xf0 =0x20 \b, 40 kBits ->2 byte&0xf0 =0x30 \b, 48 kBits ->2 byte&0xf0 =0x40 \b, 56 kBits ->2 byte&0xf0 =0x50 \b, 64 kBits ->2 byte&0xf0 =0x60 \b, 80 kBits ->2 byte&0xf0 =0x70 \b, 96 kBits ->2 byte&0xf0 =0x80 \b, 112 kBits ->2 byte&0xf0 =0x90 \b, 128 kBits ->2 byte&0xf0 =0xA0 \b, 160 kBits ->2 byte&0xf0 =0xB0 \b, 192 kBits ->2 byte&0xf0 =0xC0 \b, 224 kBits ->2 byte&0xf0 =0xD0 \b, 256 kBits ->2 byte&0xf0 =0xE0 \b, 320 kBits -# freq ->2 byte&0x0C =0x00 \b, 44.1 kHz ->2 byte&0x0C =0x04 \b, 48 kHz ->2 byte&0x0C =0x08 \b, 32 kHz -# misc ->3 byte&0xC0 =0x00 \b, Stereo ->3 byte&0xC0 =0x40 \b, JStereo ->3 byte&0xC0 =0x80 \b, Dual-Ch ->3 byte&0xC0 =0xC0 \b, Mono -#>1 byte&0x01 =0x00 \b, Error Protection -#>2 byte&0x02 =0x02 \b, Padding -#>2 byte&0x01 =0x01 \b, Private -#>3 byte&0x08 =0x08 \b, Copyright -#>3 byte&0x04 =0x04 \b, Original -#>3 byte&0x03 1 \b, Emphasis 5 -#>3 byte&0x03 3 \b, Emphasis c - -# MPEG 1.0 Layer 2 -0 beshort&0xfffe =0xfffc \bMP2 ->2 byte&0xf0 =0x10 \b, 32 kBits ->2 byte&0xf0 =0x20 \b, 48 kBits ->2 byte&0xf0 =0x30 \b, 56 kBits ->2 byte&0xf0 =0x40 \b, 64 kBits ->2 byte&0xf0 =0x50 \b, 80 kBits ->2 byte&0xf0 =0x60 \b, 96 kBits ->2 byte&0xf0 =0x70 \b, 112 kBits ->2 byte&0xf0 =0x80 \b, 128 kBits ->2 byte&0xf0 =0x90 \b, 160 kBits ->2 byte&0xf0 =0xA0 \b, 192 kBits ->2 byte&0xf0 =0xB0 \b, 224 kBits ->2 byte&0xf0 =0xC0 \b, 256 kBits ->2 byte&0xf0 =0xD0 \b, 320 kBits ->2 byte&0xf0 =0xE0 \b, 384 kBits -# freq ->2 byte&0x0C =0x00 \b, 44.1 kHz ->2 byte&0x0C =0x04 \b, 48 kHz ->2 byte&0x0C =0x08 \b, 32 kHz -# misc ->3 byte&0xC0 =0x00 \b, Stereo ->3 byte&0xC0 =0x40 \b, JStereo ->3 byte&0xC0 =0x80 \b, Dual-Ch ->3 byte&0xC0 =0xC0 \b, Mono -#>1 byte&0x01 =0x00 \b, Error Protection -#>2 byte&0x02 =0x02 \b, Padding -#>2 byte&0x01 =0x01 \b, Private -#>3 byte&0x08 =0x08 \b, Copyright -#>3 byte&0x04 =0x04 \b, Original -#>3 byte&0x03 1 \b, Emphasis 5 -#>3 byte&0x03 3 \b, Emphasis c - -# MPEG 2.0 -0 beshort&0xfff8 =0xfff0 MP -# Layer 3 ->1 byte &0x02 \b3 -# Layer 2 ->1 byte &0x04 \b2 ->2 byte&0xf0 =0x10 \b, 8 kBits ->2 byte&0xf0 =0x20 \b, 16 kBits ->2 byte&0xf0 =0x30 \b, 24 kBits ->2 byte&0xf0 =0x40 \b, 32 kBits ->2 byte&0xf0 =0x50 \b, 40 kBits ->2 byte&0xf0 =0x60 \b, 48 kBits ->2 byte&0xf0 =0x70 \b, 56 kBits ->2 byte&0xf0 =0x80 \b, 64 kBits ->2 byte&0xf0 =0x90 \b, 80 kBits ->2 byte&0xf0 =0xA0 \b, 96 kBits ->2 byte&0xf0 =0xB0 \b, 112 kBits ->2 byte&0xf0 =0xC0 \b, 128 kBits ->2 byte&0xf0 =0xD0 \b, 144 kBits ->2 byte&0xf0 =0xE0 \b, 160 kBits -# freq ->2 byte&0x0C =0x00 \b, 22.05 kHz ->2 byte&0x0C =0x04 \b, 24 kHz ->2 byte&0x0C =0x08 \b, 16 kHz -# misc ->3 byte&0xC0 =0x00 \b, Stereo ->3 byte&0xC0 =0x40 \b, JStereo ->3 byte&0xC0 =0x80 \b, Dual-Ch ->3 byte&0xC0 =0xC0 \b, Mono -#>1 byte&0x01 =0x00 \b, Error Protection -#>2 byte&0x02 =0x02 \b, Padding -#>2 byte&0x01 =0x01 \b, Private -#>3 byte&0x08 =0x08 \b, Copyright -#>3 byte&0x04 =0x04 \b, Original -#>3 byte&0x03 1 \b, Emphasis 5 -#>3 byte&0x03 3 \b, Emphasis c - -# 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) - -# iso 13818 transport stream -# -# from Oskar Schirmer Feb 3, 2001 (ISO 13818.1) -# (the following is a little bit restrictive and works fine for a stream -# that starts with PAT properly. it won't work for stream data, that is -# cut from an input device data right in the middle, but this shouldn't -# disturb) -# syncbyte 8 bit 0x47 -# error_ind 1 bit - -# payload_start 1 bit 1 -# priority 1 bit - -# PID 13 bit 0x0000 -# scrambling 2 bit - -# adaptfld_ctrl 2 bit 1 or 3 -# conti_count 4 bit 0 -0 belong&0xFF5FFF1F 0x47400010 MPEG transport stream data ->188 byte !0x47 CORRUPTED - -# DIF digital video file format -0 belong&0xffffff00 0x1f070000 DIF ->4 byte &0x01 (DVCPRO) movie file ->4 byte ^0x01 (DV) movie file ->3 byte &0x80 (PAL) ->3 byte ^0x80 (NTSC) - -# Microsoft Advanced Streaming Format (ASF) -0 belong 0x3026b275 Microsoft ASF - -# MNG Video Format, -0 string \x8aMNG MNG video data, ->4 belong !0x0d0a1a0a CORRUPTED, ->4 belong 0x0d0a1a0a diff --git a/contrib/file/Magdir/apl b/contrib/file/Magdir/apl deleted file mode 100644 index 0400431919..0000000000 --- a/contrib/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/contrib/file/Magdir/apple b/contrib/file/Magdir/apple deleted file mode 100644 index c2b372bf3e..0000000000 --- a/contrib/file/Magdir/apple +++ /dev/null @@ -1,122 +0,0 @@ - -#------------------------------------------------------------------------------ -# apple: file(1) magic for Apple file formats -# -0 string FiLeStArTfIlEsTaRt binscii (apple ][) text -0 string \x0aGL Binary II (apple ][) data -0 string \x76\xff Squeezed (apple ][) data -0 string NuFile NuFile archive (apple ][) data -0 string N\xf5F\xe9l\xe5 NuFile archive (apple ][) data -0 belong 0x00051600 AppleSingle encoded Macintosh file -0 belong 0x00051607 AppleDouble encoded Macintosh file - -# magic for Newton PDA package formats -# from Ruda Moura -0 string package0 Newton package, NOS 1.x, ->12 belong &0x80000000 AutoRemove, ->12 belong &0x40000000 CopyProtect, ->12 belong &0x10000000 NoCompression, ->12 belong &0x04000000 Relocation, ->12 belong &0x02000000 UseFasterCompression, ->16 belong x version %d - -0 string package1 Newton package, NOS 2.x, ->12 belong &0x80000000 AutoRemove, ->12 belong &0x40000000 CopyProtect, ->12 belong &0x10000000 NoCompression, ->12 belong &0x04000000 Relocation, ->12 belong &0x02000000 UseFasterCompression, ->16 belong x version %d - -# The following entries for the Apple II are for files that have -# been transferred as raw binary data from an Apple, without having -# been encapsulated by any of the above archivers. -# -# In general, Apple II formats are hard to identify because Apple DOS -# and especially Apple ProDOS have strong typing in the file system and -# therefore programmers never felt much need to include type information -# in the files themselves. -# -# Eric Fischer - -# AppleWorks word processor: -# -# This matches the standard tab stops for an AppleWorks file, but if -# a file has a tab stop set in the first four columns this will fail. -# -# The "O" is really the magic number, but that's so common that it's -# necessary to check the tab stops that follow it to avoid false positives. - -4 string O==== AppleWorks word processor data ->85 byte&0x01 >0 \b, zoomed ->90 byte&0x01 >0 \b, paginated ->92 byte&0x01 >0 \b, with mail merge -#>91 byte x \b, left margin %d - -# AppleWorks database: -# -# This isn't really a magic number, but it's the closest thing to one -# that I could find. The 1 and 2 really mean "order in which you defined -# categories" and "left to right, top to bottom," respectively; the D and R -# mean that the cursor should move either down or right when you press Return. - -#30 string \x01D AppleWorks database data -#30 string \x02D AppleWorks database data -#30 string \x01R AppleWorks database data -#30 string \x02R AppleWorks database data - -# AppleWorks spreadsheet: -# -# Likewise, this isn't really meant as a magic number. The R or C means -# row- or column-order recalculation; the A or M means automatic or manual -# recalculation. - -#131 string RA AppleWorks spreadsheet data -#131 string RM AppleWorks spreadsheet data -#131 string CA AppleWorks spreadsheet data -#131 string CM AppleWorks spreadsheet data - -# Applesoft BASIC: -# -# This is incredibly sloppy, but will be true if the program was -# written at its usual memory location of 2048 and its first line -# number is less than 256. Yuck. - -0 belong&0xff00ff 0x80000 Applesoft BASIC program data -#>2 leshort x \b, first line number %d - -# ORCA/EZ assembler: -# -# This will not identify ORCA/M source files, since those have -# some sort of date code instead of the two zero bytes at 6 and 7 -# XXX Conflicts with ELF -#4 belong&0xff00ffff 0x01000000 ORCA/EZ assembler source data -#>5 byte x \b, build number %d - -# Broderbund Fantavision -# -# I don't know what these values really mean, but they seem to recur. -# Will they cause too many conflicts? - -# Probably :-) -#2 belong&0xFF00FF 0x040008 Fantavision movie data - -# Some attempts at images. -# -# These are actually just bit-for-bit dumps of the frame buffer, so -# there's really no reasonably way to distinguish them except for their -# address (if preserved) -- 8192 or 16384 -- and their length -- 8192 -# or, occasionally, 8184. -# -# Nevertheless this will manage to catch a lot of images that happen -# to have a solid-colored line at the bottom of the screen. - -8144 string \x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F Apple II image with white background -8144 string \x55\x2A\x55\x2A\x55\x2A\x55\x2A Apple II image with purple background -8144 string \x2A\x55\x2A\x55\x2A\x55\x2A\x55 Apple II image with green background -8144 string \xD5\xAA\xD5\xAA\xD5\xAA\xD5\xAA Apple II image with blue background -8144 string \xAA\xD5\xAA\xD5\xAA\xD5\xAA\xD5 Apple II image with orange background - -# Beagle Bros. Apple Mechanic fonts - -0 belong&0xFF00FFFF 0x6400D000 Apple Mechanic font diff --git a/contrib/file/Magdir/applix b/contrib/file/Magdir/applix deleted file mode 100644 index 9d348d1524..0000000000 --- a/contrib/file/Magdir/applix +++ /dev/null @@ -1,12 +0,0 @@ - -#------------------------------------------------------------------------------ -# applix: file(1) magic for Applixware -# From: Peter Soos -# -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/contrib/file/Magdir/archive b/contrib/file/Magdir/archive deleted file mode 100644 index 133e50caf1..0000000000 --- a/contrib/file/Magdir/archive +++ /dev/null @@ -1,258 +0,0 @@ - -#------------------------------------------------------------------------------ -# archive: file(1) magic for archive formats (see also "msdos" for self- -# extracting compressed archives) -# -# cpio, ar, arc, arj, hpack, lha/lharc, rar, squish, uc2, zip, zoo, etc. -# pre-POSIX "tar" archives are handled in the C code. - -# POSIX tar archives -257 string ustar\0 POSIX tar archive -257 string ustar\040\040\0 GNU tar archive - -# cpio archives -# -# Yes, the top two "cpio archive" formats *are* supposed to just be "short". -# The idea is to indicate archives produced on machines with the same -# byte order as the machine running "file" with "cpio archive", and -# to indicate archives produced on machines with the opposite byte order -# from the machine running "file" with "byte-swapped cpio archive". -# -# The SVR4 "cpio(4)" hints that there are additional formats, but they -# are defined as "short"s; I think all the new formats are -# character-header formats and thus are strings, not numbers. -0 short 070707 cpio archive -0 short 0143561 byte-swapped cpio archive -0 string 070707 ASCII cpio archive (pre-SVR4 or odc) -0 string 070701 ASCII cpio archive (SVR4 with no CRC) -0 string 070702 ASCII cpio archive (SVR4 with CRC) - -# Debian package (needs to go before regular portable archives) -# -0 string !\ndebian ->8 string debian-split part of multipart Debian package ->8 string debian-binary Debian binary package ->68 string >\n (format %s) ->136 ledate x created: %s - -# other archives -0 long 0177555 very old archive -0 short 0177555 very old PDP-11 archive -0 long 0177545 old archive -0 short 0177545 old PDP-11 archive -0 long 0100554 apl workspace -0 string = archive - -# MIPS archive (needs to go before regular portable archives) -# -0 string !\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 thingies? Note that 0x213c6172 is -# "! current ar archive -# 0 long 0x213c6172 archive file -# -# and for SVR1 archives, we have: -# -# 0 string \ System V Release 1 ar archive -# 0 string = 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 ! 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 \ System V Release 1 ar archive -0 string = 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\40- LHa 2.x? archive data [lh ] -2 string -lhd- LHa 2.x? archive data [lhd] -2 string -lh2- LHa 2.x? archive data [lh2] -2 string -lh3- LHa 2.x? archive data [lh3] -2 string -lh4- LHa (2.x) archive data [lh4] -2 string -lh5- LHa (2.x) archive data [lh5] -2 string -lh6- LHa (2.x) archive data [lh6] -2 string -lh7- LHa (2.x) archive data [lh7] ->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 - -# -# LBR. NB: May conflict with the questionable -# "binary Computer Graphics Metafile" format. -# -0 string \0\ \ \ \ \ \ \ \ \ \ \ \0\0 LBR archive data -# -# PMA (CP/M derivative of LHA) -# -2 string -pm0- PMarc archive data [pm0] -2 string -pm1- PMarc archive data [pm1] -2 string -pm2- PMarc archive data [pm2] -2 string -pms- PMarc SFX archive (CP/M, DOS) -5 string -pc1- PopCom compressed executable (CP/M) - -# From Rafael Laboissiere -# The Project Revision Control System (see -# http://prcs.sourceforge.net) generates a packaged project -# file which is recognized by the following entry: -0 leshort 0xeb81 PRCS packaged project - -# Microsoft cabinets -# by David Necas (Yeti) -0 string MSCF\0\0\0\0 Microsoft cabinet file data, ->25 byte x v%d ->24 byte x \b.%d - -# GTKtalog catalogs -# by David Necas (Yeti) -4 string gtktalog\ GTKtalog catalog data, ->13 string 3 version 3 ->>14 beshort 0x677a (gzipped) ->>14 beshort !0x677a (not gzipped) ->13 string >3 version %s - -############################################################################ -# Parity archive reconstruction file, the 'par' file format now used on Usenet. -0 string PAR\0 PARity archive data ->48 leshort =0 - Index file ->48 leshort >0 - file number %d diff --git a/contrib/file/Magdir/asterix b/contrib/file/Magdir/asterix deleted file mode 100644 index d89504a240..0000000000 --- a/contrib/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/contrib/file/Magdir/att3b b/contrib/file/Magdir/att3b deleted file mode 100644 index 884ad4aa43..0000000000 --- a/contrib/file/Magdir/att3b +++ /dev/null @@ -1,40 +0,0 @@ - -#------------------------------------------------------------------------------ -# att3b: file(1) magic for AT&T 3B machines -# -# The `versions' should be un-commented if they work for you. -# (Was the problem just one of endianness?) -# -# 3B20 -# -# The 3B20 conflicts with SCCS. -#0 beshort 0550 3b20 COFF executable -#>12 belong >0 not stripped -#>22 beshort >0 - version %ld -#0 beshort 0551 3b20 COFF executable (TV) -#>12 belong >0 not stripped -#>22 beshort >0 - version %ld -# -# WE32K -# -0 beshort 0560 WE32000 COFF ->18 beshort ^00000020 object ->18 beshort &00000020 executable ->12 belong >0 not stripped ->18 beshort ^00010000 N/A on 3b2/300 w/paging ->18 beshort &00020000 32100 required ->18 beshort &00040000 and MAU hardware required ->20 beshort 0407 (impure) ->20 beshort 0410 (pure) ->20 beshort 0413 (demand paged) ->20 beshort 0443 (target shared library) ->22 beshort >0 - version %ld -0 beshort 0561 WE32000 COFF executable (TV) ->12 belong >0 not stripped -#>18 beshort &00020000 - 32100 required -#>18 beshort &00040000 and MAU hardware required -#>22 beshort >0 - version %ld -# -# core file for 3b2 -0 string \000\004\036\212\200 3b2 core file ->364 string >\0 of '%s' diff --git a/contrib/file/Magdir/audio b/contrib/file/Magdir/audio deleted file mode 100644 index 9507c12826..0000000000 --- a/contrib/file/Magdir/audio +++ /dev/null @@ -1,246 +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 tracks -0 string CTMF Creative Music (CMF) data -0 string SBI SoundBlaster instrument data -0 string Creative\ Voice\ File Creative Labs voice data -# is this next line right? it came this way... ->19 byte 0x1A ->23 byte >0 - version %d ->22 byte >0 \b.%d - -# first entry is also the string "NTRK" -0 belong 0x4e54524b MultiTrack sound data ->4 belong x - version %ld - -# Extended MOD format (*.emd) (Greg Roelofs, newt@uchicago.edu); NOT TESTED -# [based on posting 940824 by "Dirk/Elastik", husberg@lehtori.cc.tut.fi] -0 string EMOD Extended MOD sound data, ->4 byte&0xf0 x version %d ->4 byte&0x0f x \b.%d, ->45 byte x %d instruments ->83 byte 0 (module) ->83 byte 1 (song) - -# Real Audio (Magic .ra\0375) -0 belong 0x2e7261fd RealAudio sound file -0 string .RMF RealMedia file - -# MTM/669/FAR/S3M/ULT/XM format checking [Aaron Eppert, aeppert@dialin.ind.net] -# Oct 31, 1995 -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 - -0 string GF1PATCH110\0ID#000002\0 GUS patch -0 string GF1PATCH100\0ID#000002\0 Old GUS patch - -# -# Taken from loader code from mikmod version 2.14 -# by Steve McIntyre (stevem@chiark.greenend.org.uk) -0 string JN extended 669 module data -0 string MAS_UTrack_V00 ->14 string >/0 ultratracker V1.%.1s module sound data -0 string UN05 MikMod UNI format module sound data -0 string Extended\ Module: Fasttracker II module sound data -21 string !SCREAM! Screamtracker 2 module sound data -1080 string M.K. 4-channel Protracker module sound data -1080 string M!K! 4-channel Protracker module sound data -1080 string FLT4 4-channel Startracker module sound data -1080 string 4CHN 4-channel Fasttracker module sound data -1080 string 6CHN 6-channel Fasttracker module sound data -1080 string 8CHN 8-channel Fasttracker module sound data -1080 string CD81 8-channel Oktalyzer module sound data -1080 string OKTA 8-channel Oktalyzer module sound data -# Not good enough. -#1082 string CH -#>1080 string >/0 %.2s-channel Fasttracker "oktalyzer" module sound data -1080 string 16CN 16-channel Taketracker module sound data -1080 string 32CN 32-channel Taketracker module sound data - -# TOC sound files -Trevor Johnson -# -0 string TOC TOC sound file - -# sidfiles -0 string SIDPLAY\ INFOFILE Sidplay info file -0 string PSID PlaySID v2.2+ (AMIGA) sidtune ->4 beshort >0 w/ header v%d, ->14 beshort =1 single song, ->14 beshort >1 %d songs, ->16 beshort >0 default song: %d - -# IRCAM -# VAX and MIPS files are little-endian; Sun and NeXT are big-endian -0 belong 0x64a30100 IRCAM file (VAX) -0 belong 0x64a30200 IRCAM file (Sun) -0 belong 0x64a30300 IRCAM file (MIPS little-endian) -0 belong 0x64a30400 IRCAM file (NeXT) - -# NIST SPHERE -0 string NIST_1A\n\ \ \ 1024\n NIST SPHERE file - -# Sample Vision -0 string SOUND\ SAMPLE\ DATA\ Sample Vision file - -# Audio Visual Research -0 string 2BIT Audio Visual Research file - -# SGI SoundTrack -0 string _SGI_SoundTrack SGI SoundTrack project file -# ID3 version 2 tags -0 string ID3 MP3 file with ID3 version 2. ->3 ubyte <0xff \b%d. ->4 ubyte <0xff \b%d tag - -# NSF (NES sound file) magic -0 string NESM\x1a NES Sound File ->14 string >\0 ("%s" by ->46 string >\0 %s, copyright ->78 string >\0 %s), ->5 byte x version %d, ->6 byte x %d tracks, ->122 byte&0x2 =1 dual PAL/NTSC ->122 byte&0x1 =1 PAL ->122 byte&0x1 =0 NTSC - -# Impuse tracker module (audio/x-it) -0 string IMPM Impulse Tracker module sound data - ->4 string >\0 "%s" ->40 leshort !0 compatible w/ITv%x ->42 leshort !0 created w/ITv%x - -# Imago Orpheus module (audio/x-imf) -60 string IM10 Imago Orpheus module sound data - ->0 string >\0 "%s" - -# From -# These are the /etc/magic entries to decode modules, instruments, and -# samples in Impulse Tracker's native format. - -0 string IMPS Impulse Tracker Sample ->18 byte &2 16 bit ->18 byte ^2 8 bit ->18 byte &4 stereo ->18 byte ^4 mono -0 string IMPI Impulse Tracker Instrument ->28 leshort !0 ITv%x ->30 byte !0 %d samples - -# Yamaha TX Wave: file(1) magic for Yamaha TX Wave audio files -# From -0 string LM8953 Yamaha TX Wave ->22 byte 0x49 looped ->22 byte 0xC9 non-looped ->23 byte 1 33kHz ->23 byte 2 50kHz ->23 byte 3 16kHz - -# scream tracker: file(1) magic for Scream Tracker sample files -# -# From -76 string SCRS Scream Tracker Sample ->0 byte 1 sample ->0 byte 2 adlib melody ->0 byte >2 adlib drum ->31 byte &2 stereo ->31 byte ^2 mono ->31 byte &4 16bit little endian ->31 byte ^4 8bit ->30 byte 0 unpacked ->30 byte 1 packed - -# audio -# From: Cory Dikkers -0 string MMD0 MED music file, version 0 -0 string MMD1 OctaMED Pro music file, version 1 -0 string MMD3 OctaMED Soundstudio music file, version 3 -0 string OctaMEDCmpr OctaMED Soundstudio compressed file -0 string MED MED_Song -0 string SymM Symphonie SymMOD music file -# -0 string THX AHX version ->3 byte =0 1 module data ->3 byte =1 2 module data -# -0 string OKTASONG Oktalyzer module data -# -0 string DIGI\ Booster\ module\0 %s ->20 byte >0 %c ->>21 byte >0 \b%c ->>>22 byte >0 \b%c ->>>>23 byte >0 \b%c ->610 string >\0 \b, "%s" -# -0 string DBM0 DIGI Booster Pro Module ->4 byte >0 V%X. ->>5 byte x \b%02X ->16 string >\0 \b, "%s" -# -0 string FTMN FaceTheMusic module ->16 string >\0d \b, "%s" - -# From: Takeshi Hamasaki -# NOA Nancy Codec file -0 string \210NOA\015\012\032 NOA Nancy Codec Movie file -# Yamaha SMAF format -0 string MMMD Yamaha SMAF file -# Sharp Jisaku Melody format for PDC -0 string \001Sharp\040JisakuMelody SHARP Cell-Phone ringing Melody ->20 string Ver01.00 Ver. 1.00 ->>32 byte x , %d tracks - -# FLAC audio stream -# From: Dan Fandrich -0 string fLaC FLAC audio stream data - diff --git a/contrib/file/Magdir/blender b/contrib/file/Magdir/blender deleted file mode 100644 index 01d4e54f3e..0000000000 --- a/contrib/file/Magdir/blender +++ /dev/null @@ -1,17 +0,0 @@ -#------------------------------------------------------------------------------ -# blender: file(1) magic for Blender 3D data files -# -# Coded by Guillermo S. Romero using the -# data from Ton Roosendaal . Ton or his company do not -# support the rule, so mail GSR if problems with it. Rule version: 1.1. -# You can get latest version with comments and details about the format -# at http://acd.asoc.euitt.upm.es/~gsromero/3d/blender/magic.blender - -0 string =BLENDER Blender3D, ->7 string =_ saved as 32-bits ->7 string =- saved as 64-bits ->8 string =v little endian ->8 string =V big endian ->9 byte x with version %c. ->10 byte x \b%c ->11 byte x \b%c diff --git a/contrib/file/Magdir/blit b/contrib/file/Magdir/blit deleted file mode 100644 index 7a470ed4a6..0000000000 --- a/contrib/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/contrib/file/Magdir/bsdi b/contrib/file/Magdir/bsdi deleted file mode 100644 index ad547599ba..0000000000 --- a/contrib/file/Magdir/bsdi +++ /dev/null @@ -1,41 +0,0 @@ -#------------------------------------------------------------------------------ -# bsdi: file(1) magic for BSD/OS (from BSDI) objects -# - -0 lelong 0314 386 compact demand paged pure executable ->16 lelong >0 not stripped ->32 byte 0x6a (uses shared libs) - -0 lelong 0407 386 executable ->16 lelong >0 not stripped ->32 byte 0x6a (uses shared libs) - -0 lelong 0410 386 pure executable ->16 lelong >0 not stripped ->32 byte 0x6a (uses shared libs) - -0 lelong 0413 386 demand paged pure executable ->16 lelong >0 not stripped ->32 byte 0x6a (uses shared libs) - -# same as in SunOS 4.x, except for static shared libraries -0 belong&077777777 0600413 sparc demand paged ->0 byte &0x80 ->>20 belong <4096 shared library ->>20 belong =4096 dynamically linked executable ->>20 belong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped ->36 belong 0xb4100001 (uses shared libs) - -0 belong&077777777 0600410 sparc pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped ->36 belong 0xb4100001 (uses shared libs) - -0 belong&077777777 0600407 sparc ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped ->36 belong 0xb4100001 (uses shared libs) diff --git a/contrib/file/Magdir/c-lang b/contrib/file/Magdir/c-lang deleted file mode 100644 index 1b0147595b..0000000000 --- a/contrib/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/contrib/file/Magdir/cddb b/contrib/file/Magdir/cddb deleted file mode 100644 index 2ea97eecd2..0000000000 --- a/contrib/file/Magdir/cddb +++ /dev/null @@ -1,11 +0,0 @@ - -#------------------------------------------------------------------------------ -# CDDB: file(1) magic for CDDB(tm) format CD text data files -# -# From -# -# This is the /etc/magic entry to decode datafiles as used by -# CDDB-enabled CD player applications. -# - -0 string/b #\040xmcd CDDB(tm) format CD text data diff --git a/contrib/file/Magdir/chi b/contrib/file/Magdir/chi deleted file mode 100644 index ee450f5558..0000000000 --- a/contrib/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/contrib/file/Magdir/cisco b/contrib/file/Magdir/cisco deleted file mode 100644 index 77e3efb5e3..0000000000 --- a/contrib/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/contrib/file/Magdir/citrus b/contrib/file/Magdir/citrus deleted file mode 100644 index 6d44794553..0000000000 --- a/contrib/file/Magdir/citrus +++ /dev/null @@ -1,6 +0,0 @@ -#------------------------------------------------------------------------------ -# citrus locale declaration -# - -0 string RuneCT Citrus locale declaration for LC_CTYPE - diff --git a/contrib/file/Magdir/claris b/contrib/file/Magdir/claris deleted file mode 100644 index b18bd915d5..0000000000 --- a/contrib/file/Magdir/claris +++ /dev/null @@ -1,46 +0,0 @@ - -#------------------------------------------------------------------------------ -# claris: file(1) magic for claris -# "H. Nanosecond" -# Claris Works a word processor, etc. -# Version 3.0 - -# .pct claris works clip art files -#0000000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 -#* -#0001000 #010 250 377 377 377 377 000 213 000 230 000 021 002 377 014 000 -#null to byte 1000 octal -514 string \377\377\377\377\000 Claris clip art? ->0 string \0\0\0\0\0\0\0\0\0\0\0\0\0 yes. -514 string \377\377\377\377\001 Claris clip art? ->0 string \0\0\0\0\0\0\0\0\0\0\0\0\0 yes. - -# Claris works files -# .cwk -0 string \002\000\210\003\102\117\102\117\000\001\206 Claris works document -# .plt -0 string \020\341\000\000\010\010 Claris Works pallete files .plt - -# .msp a dictionary file I am not sure about this I have only one .msp file -0 string \002\271\262\000\040\002\000\164 Claris works dictionary - -# .usp are user dictionary bits -# I am not sure about a magic header: -#0000000 001 123 160 146 070 125 104 040 136 123 015 012 160 157 144 151 -# soh S p f 8 U D sp ^ S cr nl p o d i -#0000020 141 164 162 151 163 164 040 136 123 015 012 144 151 166 040 043 -# a t r i s t sp ^ S cr nl d i v sp # - -# .mth Thesaurus -# statrts with \0 but no magic header - -# .chy Hyphenation file -# I am not sure: 000 210 034 000 000 - -# other claris files -#./windows/claris/useng.ndx: data -#./windows/claris/xtndtran.l32: data -#./windows/claris/xtndtran.lst: data -#./windows/claris/clworks.lbl: data -#./windows/claris/clworks.prf: data -#./windows/claris/userd.spl: data diff --git a/contrib/file/Magdir/clipper b/contrib/file/Magdir/clipper deleted file mode 100644 index c325cb8f7c..0000000000 --- a/contrib/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/contrib/file/Magdir/commands b/contrib/file/Magdir/commands deleted file mode 100644 index a9dd089bf8..0000000000 --- a/contrib/file/Magdir/commands +++ /dev/null @@ -1,62 +0,0 @@ - -#------------------------------------------------------------------------------ -# commands: file(1) magic for various shells and interpreters -# -0 string : shell archive or script for antique kernel text -0 string/b #!\ /bin/sh Bourne shell script text executable -0 string/b #!\ /bin/csh C shell script text executable -# korn shell magic, sent by George Wu, gwu@clyde.att.com -0 string/b #!\ /bin/ksh Korn shell script text executable -0 string/b #!\ /bin/tcsh Tenex C shell script text executable -0 string/b #!\ /usr/local/tcsh Tenex C shell script text executable -0 string/b #!\ /usr/local/bin/tcsh Tenex C shell script text executable - -# -# zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson) -0 string/b #!\ /usr/local/bin/zsh Paul Falstad's zsh script text executable -0 string/b #!\ /usr/local/bin/ash Neil Brown's ash script text executable -0 string/b #!\ /usr/local/bin/ae Neil Brown's ae script text executable -0 string/b #!\ /bin/nawk new awk script text executable -0 string/b #!\ /usr/bin/nawk new awk script text executable -0 string/b #!\ /usr/local/bin/nawk new awk script text executable -0 string/b #!\ /bin/gawk GNU awk script text executable -0 string/b #!\ /usr/bin/gawk GNU awk script text executable -0 string/b #!\ /usr/local/bin/gawk GNU awk script text executable -# -0 string/b #!\ /bin/awk awk script text executable -0 string/b #!\ /usr/bin/awk awk script text executable -0 string BEGIN awk script text - -# AT&T Bell Labs' Plan 9 shell -0 string/b #!\ /bin/rc Plan 9 rc shell script text executable - -# bash shell magic, from Peter Tobias (tobias@server.et-inf.fho-emden.de) -0 string/b #!\ /bin/bash Bourne-Again shell script text executable -0 string/b #!\ /usr/local/bin/bash Bourne-Again shell script text executable - -# using env -0 string #!/usr/bin/env a ->15 string >\0 %s script text executable -0 string #!\ /usr/bin/env a ->16 string >\0 %s script text executable - - -# generic shell magic -0 string #!\ / a ->3 string >\0 %s script text executable -0 string #!\ / a ->3 string >\0 %s script text executable -0 string #!/ a ->2 string >\0 %s script text executable -0 string #!\ script text executable ->3 string >\0 for %s - -# PHP scripts -# Ulf Harnhammar -0 string/c =2 byte&0x80 >0 block compressed ->2 byte&0x1f x %d bits - -# gzip (GNU zip, not to be confused with Info-ZIP or PKWARE zip archiver) -# Edited by Chris Chittleborough , March 2002 -# * Original filename is only at offset 10 if "extra field" absent -# * Produce shorter output - notably, only report compression methods -# other than 8 ("deflate", the only method defined in RFC 1952). -0 string \037\213 gzip compressed data ->2 byte <8 \b, reserved method ->2 byte >8 \b, unknown method ->3 byte &0x01 \b, ASCII ->3 byte &0x02 \b, continuation ->3 byte &0x04 \b, extra field ->3 byte&0xC =0x08 ->>10 string x \b, was "%s" ->9 byte =0x00 \b, from MS-DOS ->9 byte =0x01 \b, from Amiga ->9 byte =0x02 \b, from VMS ->9 byte =0x03 \b, from Unix ->9 byte =0x05 \b, from Atari ->9 byte =0x06 \b, from OS/2 ->9 byte =0x07 \b, from MacOS ->9 byte =0x0A \b, from Tops/20 ->9 byte =0x0B \b, from Win/32 ->3 byte &0x10 \b, comment ->3 byte &0x20 \b, encrypted -### >4 ledate x last modified: %s, ->8 byte 2 \b, max compression ->8 byte 4 \b, max speed - -# packed data, Huffman (minimum redundancy) codes on a byte-by-byte basis -0 string \037\036 packed data ->2 belong >1 \b, %d characters originally ->2 belong =1 \b, %d character originally -# -# This magic number is byte-order-independent. 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 - -# bzip2 -0 string BZh bzip2 compressed data ->3 byte >47 \b, block size = %c00k - -# squeeze and crunch -# Michael Haardt -0 beshort 0x76FF squeezed data, ->4 string x original name %s -0 beshort 0x76FE crunched data, ->2 string x original name %s -0 beshort 0x76FD LZH compressed data, ->2 string x original name %s - -# Freeze -0 string \037\237 frozen file 2.1 -0 string \037\236 frozen file 1.0 (or gzip 0.5) - -# SCO compress -H (LZH) -0 string \037\240 SCO compress -H (LZH) data - -# European GSM 06.10 is a provisional standard for full-rate speech -# transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse -# excitation/long term prediction) coding at 13 kbit/s. -# -# There's only a magic nibble (4 bits); that nibble repeats every 33 -# bytes. This isn't suited for use, but maybe we can use it someday. -# -# This will cause very short GSM files to be declared as data and -# mismatches to be declared as data too! -#0 byte&0xF0 0xd0 data -#>33 byte&0xF0 0xd0 -#>66 byte&0xF0 0xd0 -#>99 byte&0xF0 0xd0 -#>132 byte&0xF0 0xd0 GSM 06.10 compressed audio - -# bzip a block-sorting file compressor -# by Julian Seward and others -# -0 string BZ bzip compressed data ->2 byte x \b, version: %c ->3 string =1 \b, compression block size 100k ->3 string =2 \b, compression block size 200k ->3 string =3 \b, compression block size 300k ->3 string =4 \b, compression block size 400k ->3 string =5 \b, compression block size 500k ->3 string =6 \b, compression block size 600k ->3 string =7 \b, compression block size 700k ->3 string =8 \b, compression block size 800k ->3 string =9 \b, compression block size 900k - -# lzop from -0 string \x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a lzop compressed data ->9 beshort <0x0940 ->>9 byte&0xf0 =0x00 - version 0. ->>9 beshort&0x0fff x \b%03x, ->>13 byte 1 LZO1X-1, ->>13 byte 2 LZO1X-1(15), ->>13 byte 3 LZO1X-999, -## >>22 bedate >0 last modified: %s, ->>14 byte =0x00 os: MS-DOS ->>14 byte =0x01 os: Amiga ->>14 byte =0x02 os: VMS ->>14 byte =0x03 os: Unix ->>14 byte =0x05 os: Atari ->>14 byte =0x06 os: OS/2 ->>14 byte =0x07 os: MacOS ->>14 byte =0x0A os: Tops/20 ->>14 byte =0x0B os: WinNT ->>14 byte =0x0E os: Win32 ->9 beshort >0x0939 ->>9 byte&0xf0 =0x00 - version 0. ->>9 byte&0xf0 =0x10 - version 1. ->>9 byte&0xf0 =0x20 - version 2. ->>9 beshort&0x0fff x \b%03x, ->>15 byte 1 LZO1X-1, ->>15 byte 2 LZO1X-1(15), ->>15 byte 3 LZO1X-999, -## >>25 bedate >0 last modified: %s, ->>17 byte =0x00 os: MS-DOS ->>17 byte =0x01 os: Amiga ->>17 byte =0x02 os: VMS ->>17 byte =0x03 os: Unix ->>17 byte =0x05 os: Atari ->>17 byte =0x06 os: OS/2 ->>17 byte =0x07 os: MacOS ->>17 byte =0x0A os: Tops/20 ->>17 byte =0x0B os: WinNT ->>17 byte =0x0E os: Win32 - -# 4.3BSD-Quasijarus Strong Compression -# http://minnie.tuhs.org/Quasijarus/compress.html -0 string \037\241 Quasijarus strong compressed data - -# From: Cory Dikkers -0 string XPKF Amiga xpkf.library compressed data -0 string PP11 Power Packer 1.1 compressed data -0 string PP20 Power Packer 2.0 compressed data, ->4 belong 0x09090909 fast compression ->4 belong 0x090A0A0A mediocre compression ->4 belong 0x090A0B0B good compression ->4 belong 0x090A0C0C very good compression ->4 belong 0x090A0C0D best compression - -# 7z archiver, from Thomas Klausner (wiz@danbala.tuwien.ac.at) -# http://www.7-zip.org or DOC/7zFormat.txt -# -0 string 7z\274\257\047\034 7z archive data, ->6 byte x version %d ->7 byte x \b.%d diff --git a/contrib/file/Magdir/console b/contrib/file/Magdir/console deleted file mode 100644 index f8d2ebb5ae..0000000000 --- a/contrib/file/Magdir/console +++ /dev/null @@ -1,122 +0,0 @@ -#------------------------------------------------------------------------------ -# Console game magic -# Toby Deshane -# ines: file(1) magic for Marat's iNES Nintendo Entertainment System -# ROM dump format - -0 string NES\032 iNES ROM dump, ->4 byte x %dx16k PRG ->5 byte x \b, %dx8k CHR ->6 byte&0x01 =0x1 \b, [Vert.] ->6 byte&0x01 =0x0 \b, [Horiz.] ->6 byte&0x02 =0x2 \b, [SRAM] ->6 byte&0x04 =0x4 \b, [Trainer] ->6 byte&0x04 =0x8 \b, [4-Scr] - -#------------------------------------------------------------------------------ -# gameboy: file(1) magic for the Nintendo (Color) Gameboy raw ROM format -# -0x104 belong 0xCEED6666 Gameboy ROM: ->0x134 string >\0 "%.16s" ->0x146 byte 0x03 \b,[SGB] ->0x147 byte 0x00 \b, [ROM ONLY] ->0x147 byte 0x01 \b, [ROM+MBC1] ->0x147 byte 0x02 \b, [ROM+MBC1+RAM] ->0x147 byte 0x03 \b, [ROM+MBC1+RAM+BATT] ->0x147 byte 0x05 \b, [ROM+MBC2] ->0x147 byte 0x06 \b, [ROM+MBC2+BATTERY] ->0x147 byte 0x08 \b, [ROM+RAM] ->0x147 byte 0x09 \b, [ROM+RAM+BATTERY] ->0x147 byte 0x0B \b, [ROM+MMM01] ->0x147 byte 0x0C \b, [ROM+MMM01+SRAM] ->0x147 byte 0x0D \b, [ROM+MMM01+SRAM+BATT] ->0x147 byte 0x0F \b, [ROM+MBC3+TIMER+BATT] ->0x147 byte 0x10 \b, [ROM+MBC3+TIMER+RAM+BATT] ->0x147 byte 0x11 \b, [ROM+MBC3] ->0x147 byte 0x12 \b, [ROM+MBC3+RAM] ->0x147 byte 0x13 \b, [ROM+MBC3+RAM+BATT] ->0x147 byte 0x19 \b, [ROM+MBC5] ->0x147 byte 0x1A \b, [ROM+MBC5+RAM] ->0x147 byte 0x1B \b, [ROM+MBC5+RAM+BATT] ->0x147 byte 0x1C \b, [ROM+MBC5+RUMBLE] ->0x147 byte 0x1D \b, [ROM+MBC5+RUMBLE+SRAM] ->0x147 byte 0x1E \b, [ROM+MBC5+RUMBLE+SRAM+BATT] ->0x147 byte 0x1F \b, [Pocket Camera] ->0x147 byte 0xFD \b, [Bandai TAMA5] ->0x147 byte 0xFE \b, [Hudson HuC-3] ->0x147 byte 0xFF \b, [Hudson HuC-1] - ->0x148 byte 0 \b, ROM: 256Kbit ->0x148 byte 1 \b, ROM: 512Kbit ->0x148 byte 2 \b, ROM: 1Mbit ->0x148 byte 3 \b, ROM: 2Mbit ->0x148 byte 4 \b, ROM: 4Mbit ->0x148 byte 5 \b, ROM: 8Mbit ->0x148 byte 6 \b, ROM: 16Mbit ->0x148 byte 0x52 \b, ROM: 9Mbit ->0x148 byte 0x53 \b, ROM: 10Mbit ->0x148 byte 0x54 \b, ROM: 12Mbit - ->0x149 byte 1 \b, RAM: 16Kbit ->0x149 byte 2 \b, RAM: 64Kbit ->0x149 byte 3 \b, RAM: 128Kbit ->0x149 byte 4 \b, RAM: 1Mbit - -#>0x14e long x \b, CRC: %x - -#------------------------------------------------------------------------------ -# genesis: file(1) magic for the Sega MegaDrive/Genesis raw ROM format -# -0x100 string SEGA Sega MegaDrive/Genesis raw ROM dump ->0x120 string >\0 Name: "%.16s" ->0x110 string >\0 %.16s ->0x1B0 string RA with SRAM - -#------------------------------------------------------------------------------ -# genesis: file(1) magic for the Super MegaDrive ROM dump format -# -0x280 string EAGN Super MagicDrive ROM dump ->0 byte x %dx16k blocks ->2 byte 0 \b, last in series or standalone ->2 byte >0 \b, split ROM ->8 byte 0xAA ->9 byte 0xBB - -#------------------------------------------------------------------------------ -# genesis: file(1) alternate magic for the Super MegaDrive ROM dump format -# -0x280 string EAMG Super MagicDrive ROM dump ->0 byte x %dx16k blocks ->2 byte x \b, last in series or standalone ->8 byte 0xAA ->9 byte 0xBB - -#------------------------------------------------------------------------------ -# smsgg: file(1) magic for Sega Master System and Game Gear ROM dumps -# -# Does not detect all images. Very preliminary guesswork. Need more data -# on format. -# -# FIXME: need a little more info...;P -# -#0 byte 0xF3 -#>1 byte 0xED Sega Master System/Game Gear ROM dump -#>1 byte 0x31 Sega Master System/Game Gear ROM dump -#>1 byte 0xDB Sega Master System/Game Gear ROM dump -#>1 byte 0xAF Sega Master System/Game Gear ROM dump -#>1 byte 0xC3 Sega Master System/Game Gear ROM dump - -#------------------------------------------------------------------------------ -# dreamcast: file(1) uncertain magic for the Sega Dreamcast VMU image format -# -0 belong 0x21068028 Sega Dreamcast VMU game image -0 string LCDi Dream Animator file - -#------------------------------------------------------------------------------ -# v64: file(1) uncertain magic for the V64 format N64 ROM dumps -# -0 belong 0x37804012 V64 Nintendo 64 ROM dump - -#------------------------------------------------------------------------------ -# msx: file(1) magic for MSX game cartridge dumps -0 beshort 0x4142 MSX game cartridge dump diff --git a/contrib/file/Magdir/convex b/contrib/file/Magdir/convex deleted file mode 100644 index b1235d7e79..0000000000 --- a/contrib/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/contrib/file/Magdir/ctags b/contrib/file/Magdir/ctags deleted file mode 100644 index 5c039e7b38..0000000000 --- a/contrib/file/Magdir/ctags +++ /dev/null @@ -1,5 +0,0 @@ - -# ---------------------------------------------------------------------------- -# ctags: file (1) magic for Exuberant Ctags files -# From: Alexander Mai -0 string !_TAG Exuberant Ctags tag file text diff --git a/contrib/file/Magdir/cvs b/contrib/file/Magdir/cvs deleted file mode 100644 index 2ce9a1a54a..0000000000 --- a/contrib/file/Magdir/cvs +++ /dev/null @@ -1,6 +0,0 @@ -#------------------------------------------------------------------------------ -# file(1) magic for cvs(1) files -# From Hendrik Scholz - -0 string /1\ :pserver: cvs password text file - diff --git a/contrib/file/Magdir/database b/contrib/file/Magdir/database deleted file mode 100644 index 9d5fe1970d..0000000000 --- a/contrib/file/Magdir/database +++ /dev/null @@ -1,80 +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. -# -0 belong 0x13579ace GNU dbm 1.x or ndbm database, big endian -0 lelong 0x13579ace GNU dbm 1.x or ndbm database, little endian -0 string GDBM GNU dbm 2.x database -# -# Berkeley DB -# -# Ian Darwin's file /etc/magic files: big/little-endian version. -# -# Hash 1.85/1.86 databases store metadata in network byte order. -# Btree 1.85/1.86 databases store the metadata in host byte order. -# Hash and Btree 2.X and later databases store the metadata in host byte order. - -0 long 0x00061561 Berkeley DB ->8 belong 4321 ->>4 belong >2 1.86 ->>4 belong <3 1.85 ->>4 belong >0 (Hash, version %d, native byte-order) ->8 belong 1234 ->>4 belong >2 1.86 ->>4 belong <3 1.85 ->>4 belong >0 (Hash, version %d, little-endian) - -0 belong 0x00061561 Berkeley DB ->8 belong 4321 ->>4 belong >2 1.86 ->>4 belong <3 1.85 ->>4 belong >0 (Hash, version %d, big-endian) ->8 belong 1234 ->>4 belong >2 1.86 ->>4 belong <3 1.85 ->>4 belong >0 (Hash, version %d, native byte-order) - -0 long 0x00053162 Berkeley DB 1.85/1.86 ->4 long >0 (Btree, version %d, native byte-order) -0 belong 0x00053162 Berkeley DB 1.85/1.86 ->4 belong >0 (Btree, version %d, big-endian) -0 lelong 0x00053162 Berkeley DB 1.85/1.86 ->4 lelong >0 (Btree, version %d, little-endian) - -12 long 0x00061561 Berkeley DB ->16 long >0 (Hash, version %d, native byte-order) -12 belong 0x00061561 Berkeley DB ->16 belong >0 (Hash, version %d, big-endian) -12 lelong 0x00061561 Berkeley DB ->16 lelong >0 (Hash, version %d, little-endian) - -12 long 0x00053162 Berkeley DB ->16 long >0 (Btree, version %d, native byte-order) -12 belong 0x00053162 Berkeley DB ->16 belong >0 (Btree, version %d, big-endian) -12 lelong 0x00053162 Berkeley DB ->16 lelong >0 (Btree, version %d, little-endian) - -12 long 0x00042253 Berkeley DB ->16 long >0 (Queue, version %d, native byte-order) -12 belong 0x00042253 Berkeley DB ->16 belong >0 (Queue, version %d, big-endian) -12 lelong 0x00042253 Berkeley DB ->16 lelong >0 (Queue, version %d, little-endian) -# -# -# Round Robin Database Tool by Tobias Oetiker -0 string RRD RRDTool DB ->4 string x version %s -#---------------------------------------------------------------------- -# ROOT: file(1) magic for ROOT databases -# -0 string root\0 ROOT file ->4 belong x Version %d ->33 belong x (Compression: %d) diff --git a/contrib/file/Magdir/diamond b/contrib/file/Magdir/diamond deleted file mode 100644 index 1abd01e030..0000000000 --- a/contrib/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 \n Diamond Multimedia Document -0 string =\n4 string >% version %.3s diff --git a/contrib/file/Magdir/digital b/contrib/file/Magdir/digital deleted file mode 100644 index 6a573a6e05..0000000000 --- a/contrib/file/Magdir/digital +++ /dev/null @@ -1,41 +0,0 @@ -# Digital UNIX - Info -# -0 string !\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 !!\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/contrib/file/Magdir/dolby b/contrib/file/Magdir/dolby deleted file mode 100644 index 230f738a20..0000000000 --- a/contrib/file/Magdir/dolby +++ /dev/null @@ -1,57 +0,0 @@ -# ATSC A/53 aka AC-3 aka Dolby Digital -# from http://www.atsc.org/standards/a_52a.pdf -# corrections, additions, etc. are always welcome! -# -# syncword -0 beshort 0x0b77 ATSC A/52 aka AC-3 aka Dolby Digital stream, -# fscod ->4 byte&0xc0 0x00 48 kHz, ->4 byte&0xc0 0x40 44.1 kHz, ->4 byte&0xc0 0x80 32 kHz, -# is this one used for 96 kHz? ->4 byte&0xc0 0xc0 reserved frequency, -# ->5 byte&7 = 0 \b, complete main (CM) ->5 byte&7 = 1 \b, music and effects (ME) ->5 byte&7 = 2 \b, visually impaired (VI) ->5 byte&7 = 3 \b, hearing impaired (HI) ->5 byte&7 = 4 \b, dialogue (D) ->5 byte&7 = 5 \b, commentary (C) ->5 byte&7 = 6 \b, emergency (E) -# acmod ->6 byte&0xe0 0x00 1+1 front, ->6 byte&0xe0 0x20 1 front/0 rear, ->6 byte&0xe0 0x40 2 front/0 rear, ->6 byte&0xe0 0x60 3 front/0 rear, ->6 byte&0xe0 0x80 2 front/1 rear, ->6 byte&0xe0 0xa0 3 front/1 rear, ->6 byte&0xe0 0xc0 2 front/2 rear, ->6 byte&0xe0 0xe0 3 front/2 rear, -# lfeon (these may be incorrect) ->7 byte&0x40 0x00 LFE off, ->7 byte&0x40 0x40 LFE on, -# ->4 byte&0x3e = 0x00 \b, 32 kbit/s ->4 byte&0x3e = 0x02 \b, 40 kbit/s ->4 byte&0x3e = 0x04 \b, 48 kbit/s ->4 byte&0x3e = 0x06 \b, 56 kbit/s ->4 byte&0x3e = 0x08 \b, 64 kbit/s ->4 byte&0x3e = 0x0a \b, 80 kbit/s ->4 byte&0x3e = 0x0c \b, 96 kbit/s ->4 byte&0x3e = 0x0e \b, 112 kbit/s ->4 byte&0x3e = 0x10 \b, 128 kbit/s ->4 byte&0x3e = 0x12 \b, 160 kbit/s ->4 byte&0x3e = 0x14 \b, 192 kbit/s ->4 byte&0x3e = 0x16 \b, 224 kbit/s ->4 byte&0x3e = 0x18 \b, 256 kbit/s ->4 byte&0x3e = 0x1a \b, 320 kbit/s ->4 byte&0x3e = 0x1c \b, 384 kbit/s ->4 byte&0x3e = 0x1e \b, 448 kbit/s ->4 byte&0x3e = 0x20 \b, 512 kbit/s ->4 byte&0x3e = 0x22 \b, 576 kbit/s ->4 byte&0x3e = 0x24 \b, 640 kbit/s -# dsurmod (these may be incorrect) ->6 beshort&0x0180 0x0000 Dolby Surround not indicated ->6 beshort&0x0180 0x0080 not Dolby Surround encoded ->6 beshort&0x0180 0x0100 Dolby Surround encoded ->6 beshort&0x0180 0x0180 reserved Dolby Surround mode diff --git a/contrib/file/Magdir/dump b/contrib/file/Magdir/dump deleted file mode 100644 index 628ead86c6..0000000000 --- a/contrib/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/contrib/file/Magdir/dyadic b/contrib/file/Magdir/dyadic deleted file mode 100644 index e8a9d25d8c..0000000000 --- a/contrib/file/Magdir/dyadic +++ /dev/null @@ -1,12 +0,0 @@ - -#------------------------------------------------------------------------------ -# Dyadic: file(1) magic for Dyalog APL. -# -0 byte 0xaa ->1 byte <4 Dyalog APL ->>1 byte 0x00 incomplete workspace ->>1 byte 0x01 component file ->>1 byte 0x02 external variable ->>1 byte 0x03 workspace ->>2 byte x version %d ->>3 byte x .%d diff --git a/contrib/file/Magdir/editors b/contrib/file/Magdir/editors deleted file mode 100644 index 7edbe8bc6b..0000000000 --- a/contrib/file/Magdir/editors +++ /dev/null @@ -1,13 +0,0 @@ - -#------------------------------------------------------------------------------ -# T602 editor documents -# by David Necas -0 string @CT\ T602 document data, ->4 string 0 Kamenicky ->4 string 1 CP 852 ->4 string 2 KOI8-CS ->4 string >2 unknown encoding - -# Vi IMproved Encrypted file -# by David Necas -0 string VimCrypt~ Vim encrypted file data diff --git a/contrib/file/Magdir/elf b/contrib/file/Magdir/elf deleted file mode 100644 index bac7f71c93..0000000000 --- a/contrib/file/Magdir/elf +++ /dev/null @@ -1,208 +0,0 @@ - -#------------------------------------------------------------------------------ -# elf: file(1) magic for ELF executables -# -# We have to check the byte order flag to see what byte order all the -# other stuff in the header is in. -# -# What're the correct byte orders for the nCUBE and the Fujitsu VPP500? -# -# updated by Daniel Quinlan (quinlan@yggdrasil.com) -0 string \177ELF ELF ->4 byte 0 invalid class ->4 byte 1 32-bit -# only for MIPS - in the future, the ABI field of e_flags should be used. ->>18 beshort 8 ->>18 beshort 10 ->>>36 belong &0x20 N32 ->4 byte 2 64-bit ->5 byte 0 invalid byte order ->5 byte 1 LSB -# The official e_machine number for MIPS is now #8, regardless of endianness. -# The second number (#10) will be deprecated later. For now, we still -# say something if #10 is encountered, but only gory details for #8. ->>18 leshort 8 -# only for 32-bit ->>>4 byte 1 ->>>>36 lelong&0xf0000000 0x00000000 MIPS-I ->>>>36 lelong&0xf0000000 0x10000000 MIPS-II ->>>>36 lelong&0xf0000000 0x20000000 MIPS-III ->>>>36 lelong&0xf0000000 0x30000000 MIPS-IV ->>>>36 lelong&0xf0000000 0x40000000 MIPS-V ->>>>36 lelong&0xf0000000 0x60000000 MIPS32 ->>>>36 lelong&0xf0000000 0x70000000 MIPS64 ->>>>36 lelong&0xf0000000 0x80000000 MIPS32 rel2 ->>>>36 lelong&0xf0000000 0x90000000 MIPS64 rel2 -# only for 64-bit ->>>4 byte 2 ->>>>48 lelong&0xf0000000 0x00000000 MIPS-I ->>>>48 lelong&0xf0000000 0x10000000 MIPS-II ->>>>48 lelong&0xf0000000 0x20000000 MIPS-III ->>>>48 lelong&0xf0000000 0x30000000 MIPS-IV ->>>>48 lelong&0xf0000000 0x40000000 MIPS-V ->>>>48 lelong&0xf0000000 0x60000000 MIPS32 ->>>>48 lelong&0xf0000000 0x70000000 MIPS64 ->>>>48 lelong&0xf0000000 0x80000000 MIPS32 rel2 ->>>>48 lelong&0xf0000000 0x90000000 MIPS64 rel2 ->>16 leshort 0 no file type, ->>16 leshort 1 relocatable, ->>16 leshort 2 executable, ->>16 leshort 3 shared object, -# Core handling from Peter Tobias -# corrections by Christian 'Dr. Disk' Hechelmann ->>16 leshort 4 core file -# Core file detection is not reliable. -#>>>(0x38+0xcc) string >\0 of '%s' -#>>>(0x38+0x10) lelong >0 (signal %d), ->>16 leshort &0xff00 processor-specific, ->>18 leshort 0 no machine, ->>18 leshort 1 AT&T WE32100 - invalid byte order, ->>18 leshort 2 SPARC - invalid byte order, ->>18 leshort 3 Intel 80386, ->>18 leshort 4 Motorola ->>>36 lelong &0x01000000 68000 - invalid byte order, ->>>36 lelong &0x00810000 CPU32 - invalid byte order, ->>>36 lelong 0 68020 - invalid byte order, ->>18 leshort 5 Motorola 88000 - invalid byte order, ->>18 leshort 6 Intel 80486, ->>18 leshort 7 Intel 80860, ->>18 leshort 8 MIPS, ->>18 leshort 9 Amdahl - invalid byte order, ->>18 leshort 10 MIPS (deprecated), ->>18 leshort 11 RS6000 - invalid byte order, ->>18 leshort 15 PA-RISC - invalid byte order, ->>>50 leshort 0x0214 2.0 ->>>48 leshort &0x0008 (LP64), ->>18 leshort 16 nCUBE, ->>18 leshort 17 Fujitsu VPP500, ->>18 leshort 18 SPARC32PLUS, ->>18 leshort 20 PowerPC, ->>18 leshort 36 NEC V800, ->>18 leshort 37 Fujitsu FR20, ->>18 leshort 38 TRW RH-32, ->>18 leshort 39 Motorola RCE, ->>18 leshort 40 ARM, ->>18 leshort 41 Alpha, ->>18 leshort 42 Hitachi SH, ->>18 leshort 43 SPARC V9 - invalid byte order, ->>18 leshort 44 Siemens Tricore Embedded Processor, ->>18 leshort 45 Argonaut RISC Core, Argonaut Technologies Inc., ->>18 leshort 46 Hitachi H8/300, ->>18 leshort 47 Hitachi H8/300H, ->>18 leshort 48 Hitachi H8S, ->>18 leshort 49 Hitachi H8/500, ->>18 leshort 50 IA-64 (Intel 64 bit architecture) ->>18 leshort 51 Stanford MIPS-X, ->>18 leshort 52 Motorola Coldfire, ->>18 leshort 53 Motorola M68HC12, ->>18 leshort 62 AMD x86-64, ->>18 leshort 75 Digital VAX, ->>18 leshort 97 NatSemi 32k, ->>18 leshort 0x9026 Alpha (unofficial), ->>20 lelong 0 invalid version ->>20 lelong 1 version 1 ->>36 lelong 1 MathCoPro/FPU/MAU Required ->5 byte 2 MSB -# only for MIPS - see comment in little-endian section above. ->>18 beshort 8 -# only for 32-bit ->>>4 byte 1 ->>>>36 belong&0xf0000000 0x00000000 MIPS-I ->>>>36 belong&0xf0000000 0x10000000 MIPS-II ->>>>36 belong&0xf0000000 0x20000000 MIPS-III ->>>>36 belong&0xf0000000 0x30000000 MIPS-IV ->>>>36 belong&0xf0000000 0x40000000 MIPS-V ->>>>36 belong&0xf0000000 0x60000000 MIPS32 ->>>>36 belong&0xf0000000 0x70000000 MIPS64 ->>>>36 belong&0xf0000000 0x80000000 MIPS32 rel2 ->>>>36 belong&0xf0000000 0x90000000 MIPS64 rel2 -# only for 64-bit ->>>4 byte 2 ->>>>48 belong&0xf0000000 0x00000000 MIPS-I ->>>>48 belong&0xf0000000 0x10000000 MIPS-II ->>>>48 belong&0xf0000000 0x20000000 MIPS-III ->>>>48 belong&0xf0000000 0x30000000 MIPS-IV ->>>>48 belong&0xf0000000 0x40000000 MIPS-V ->>>>48 belong&0xf0000000 0x60000000 MIPS32 ->>>>48 belong&0xf0000000 0x70000000 MIPS64 ->>>>48 belong&0xf0000000 0x80000000 MIPS32 rel2 ->>>>48 belong&0xf0000000 0x90000000 MIPS64 rel2 ->>16 beshort 0 no file type, ->>16 beshort 1 relocatable, ->>16 beshort 2 executable, ->>16 beshort 3 shared object, ->>16 beshort 4 core file, -#>>>(0x38+0xcc) string >\0 of '%s' -#>>>(0x38+0x10) belong >0 (signal %d), ->>16 beshort &0xff00 processor-specific, ->>18 beshort 0 no machine, ->>18 beshort 1 AT&T WE32100, ->>18 beshort 2 SPARC, ->>18 beshort 3 Intel 80386 - invalid byte order, ->>18 beshort 4 Motorola ->>>36 belong &0x01000000 68000, ->>>36 belong &0x00810000 CPU32, ->>>36 belong 0 68020, ->>18 beshort 5 Motorola 88000, ->>18 beshort 6 Intel 80486 - invalid byte order, ->>18 beshort 7 Intel 80860, ->>18 beshort 8 MIPS, ->>18 beshort 9 Amdahl, ->>18 beshort 10 MIPS (deprecated), ->>18 beshort 11 RS6000, ->>18 beshort 15 PA-RISC ->>>50 beshort 0x0214 2.0 ->>>48 beshort &0x0008 (LP64) ->>18 beshort 16 nCUBE, ->>18 beshort 17 Fujitsu VPP500, ->>18 beshort 18 SPARC32PLUS, ->>>36 belong&0xffff00 &0x000100 V8+ Required, ->>>36 belong&0xffff00 &0x000200 Sun UltraSPARC1 Extensions Required, ->>>36 belong&0xffff00 &0x000400 HaL R1 Extensions Required, ->>>36 belong&0xffff00 &0x000800 Sun UltraSPARC3 Extensions Required, ->>18 beshort 20 PowerPC or cisco 4500, ->>18 beshort 21 cisco 7500, ->>18 beshort 24 cisco SVIP, ->>18 beshort 25 cisco 7200, ->>18 beshort 36 NEC V800 or cisco 12000, ->>18 beshort 37 Fujitsu FR20, ->>18 beshort 38 TRW RH-32, ->>18 beshort 39 Motorola RCE, ->>18 beshort 40 ARM, ->>18 beshort 41 Alpha, ->>18 beshort 42 Hitachi SH, ->>18 beshort 43 SPARC V9, ->>18 beshort 44 Siemens Tricore Embedded Processor, ->>18 beshort 45 Argonaut RISC Core, Argonaut Technologies Inc., ->>18 beshort 46 Hitachi H8/300, ->>18 beshort 47 Hitachi H8/300H, ->>18 beshort 48 Hitachi H8S, ->>18 beshort 49 Hitachi H8/500, ->>18 beshort 50 Intel Merced Processor, ->>18 beshort 51 Stanford MIPS-X, ->>18 beshort 52 Motorola Coldfire, ->>18 beshort 53 Motorola M68HC12, ->>18 beshort 73 Cray NV1, ->>18 beshort 75 Digital VAX, ->>18 beshort 97 NatSemi 32k, ->>18 beshort 0x9026 Alpha (unofficial), ->>20 belong 0 invalid version ->>20 belong 1 version 1 ->>36 belong 1 MathCoPro/FPU/MAU Required ->8 string >\0 (%s) ->8 string \0 ->>7 byte 0 (SYSV) ->>7 byte 1 (HP-UX) ->>7 byte 2 (NetBSD) ->>7 byte 3 (GNU/Linux) ->>7 byte 4 (GNU/Hurd) ->>7 byte 5 (86Open) ->>7 byte 6 (Solaris) ->>7 byte 7 (Monterey) ->>7 byte 8 (IRIX) ->>7 byte 9 (FreeBSD) ->>7 byte 10 (Tru64) ->>7 byte 11 (Novell Modesto) ->>7 byte 12 (OpenBSD) ->>7 byte 97 (ARM) ->>7 byte 255 (embedded) diff --git a/contrib/file/Magdir/encore b/contrib/file/Magdir/encore deleted file mode 100644 index 63cb5d4f9f..0000000000 --- a/contrib/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/contrib/file/Magdir/epoc b/contrib/file/Magdir/epoc deleted file mode 100644 index 29bd94799b..0000000000 --- a/contrib/file/Magdir/epoc +++ /dev/null @@ -1,10 +0,0 @@ - -#------------------------------------------------------------------------------ -# Epoc 32 : file(1) magic for Epoc Documents [psion/osaris -# Stefan Praszalowicz (hpicollo@worldnet.fr) -#0 lelong 0x10000037 Epoc32 ->4 lelong 0x1000006D ->>8 lelong 0x1000007F Word ->>8 lelong 0x10000088 Sheet ->>8 lelong 0x1000007D Sketch ->>8 lelong 0x10000085 TextEd diff --git a/contrib/file/Magdir/filesystems b/contrib/file/Magdir/filesystems deleted file mode 100644 index f34c8235c2..0000000000 --- a/contrib/file/Magdir/filesystems +++ /dev/null @@ -1,280 +0,0 @@ - -#------------------------------------------------------------------------------ -# filesystems: file(1) magic for different filesystems -# -0 string \366\366\366\366 PC formatted floppy with no filesystem -# Sun disk labels -# From /usr/include/sun/dklabel.h: -0774 beshort 0xdabe Sun disk label ->0 string x '%s ->>31 string >\0 \b%s ->>>63 string >\0 \b%s ->>>>95 string >\0 \b%s ->0 string x \b' ->0734 short >0 %d rpm, ->0736 short >0 %d phys cys, ->0740 short >0 %d alts/cyl, ->0746 short >0 %d interleave, ->0750 short >0 %d data cyls, ->0752 short >0 %d alt cyls, ->0754 short >0 %d heads/partition, ->0756 short >0 %d sectors/track, ->0764 long >0 start cyl %ld, ->0770 long x %ld blocks -# Is there a boot block written 1 sector in? ->512 belong&077777777 0600407 \b, boot block present -0x1FE leshort 0xAA55 x86 boot sector ->2 string OSBS \b, OS/BS MBR -# J\xf6rg Jenderek ->0x8C string Invalid\ partition\ table \b, MS-DOS MBR ->0x9D string Invalid\ partition\ table \b, DR-DOS MBR, version 7.01 to 7.03 ->0x10F string Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 4.10.1998, 4.10.2222 ->0x8B string Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 5.00 to 4.00.950 ->0x145 string Default:\ F \b, FREE-DOS MBR ->0 string \0\0\0\0 \b, extended partition table -# JuMP short bootcodeoffset NOP assembler instructions will usually be EB xx 90 -# older drives may use E9 xx xx ->0 lelong&0x009000EB 0x009000EB ->0 lelong&0x000000E9 0x000000E9 ->>1 ubyte >37 \b, code offset 0x%x -# mtools-3.9.8/msdos.h -# usual values are marked with comments to get only informations of strange FAT systems -# valid sectorsize are from 32 to 2048 ->>>11 uleshort <2049 ->>>>11 uleshort >31 ->>>>>3 string >\0 \b, OEM-ID "%8.8s" ->>>>>11 uleshort >512 \b, Bytes/sector %u -#>>>>>11 uleshort =512 \b, Bytes/sector %u=512 (usual) ->>>>>11 uleshort <512 \b, Bytes/sector %u ->>>>>13 ubyte >1 \b, sectors/cluster %u -#>>>>>13 ubyte =1 \b, sectors/cluster %u (usual on Floppies) ->>>>>14 uleshort >32 \b, reserved sectors %u -#>>>>>14 uleshort =32 \b, reserved sectors %u (usual Fat32) -#>>>>>14 uleshort >1 \b, reserved sectors %u -#>>>>>14 uleshort =1 \b, reserved sectors %u (usual FAT12,FAT16) ->>>>>14 uleshort <1 \b, reserved sectors %u ->>>>>16 ubyte >2 \b, FATs %u -#>>>>>16 ubyte =2 \b, FATs %u (usual) ->>>>>16 ubyte =1 \b, FAT %u ->>>>>16 ubyte >0 ->>>>>17 uleshort >0 \b, root entries %u -#>>>>>17 uleshort =0 \b, root entries %u=0 (usual Fat32) ->>>>>19 uleshort >0 \b, sectors %u (volumes <=32 MB) -#>>>>>19 uleshort =0 \b, sectors %u=0 (usual Fat32) ->>>>>21 ubyte >0xF0 \b, Media descriptor 0x%x -#>>>>>21 ubyte =0xF0 \b, Media descriptor 0x%x (usual floppy) ->>>>>21 ubyte <0xF0 \b, Media descriptor 0x%x ->>>>>22 uleshort >0 \b, sectors/FAT %u -#>>>>>22 uleshort =0 \b, sectors/FAT %u=0 (usual Fat32) ->>>>>26 ubyte >2 \b, heads %u -#>>>>>26 ubyte =2 \b, heads %u (usual floppy) ->>>>>26 ubyte =1 \b, heads %u ->>>>>28 ulelong >0 \b, hidden sectors %u -#>>>>>28 ulelong =0 \b, hidden sectors %u (usual floppy) ->>>>>32 ulelong >0 \b, sectors %u (volumes > 32 MB) -#>>>>>32 ulelong =0 \b, sectors %u (volumes > 32 MB) -# FAT<32 specific -# NOT le FAT3=NOT 3TAF=0xCCABBEB9 ->>>>>82 ulelong&0xCCABBEB9 >0 ->>>>>>36 ubyte >0x80 \b, physical drive 0x%x -#>>>>>>36 ubyte =0x80 \b, physical drive 0x%x=0x80 (usual harddisk) ->>>>>>36 ubyte&0x7F >0 \b, physical drive 0x%x -#>>>>>>36 ubyte =0 \b, physical drive 0x%x=0 (usual floppy) ->>>>>>37 ubyte >0 \b, reserved 0x%x -#>>>>>>37 ubyte =0 \b, reserved 0x%x ->>>>>>38 ubyte >0x29 \b, dos < 4.0 BootSector (0x%x) ->>>>>>38 ubyte <0x29 \b, dos < 4.0 BootSector (0x%x) ->>>>>>38 ubyte =0x29 ->>>>>>>39 ulelong x \b, serial number 0x%x ->>>>>>>43 string >>>>>>43 string >NO\ NAME \b, label: "%11.11s" ->>>>>>>43 string =NO\ NAME \b, unlabeled ->>>>>>54 string FAT1 \b, FAT ->>>>>>>54 string FAT12 \b (12 bit) ->>>>>>>54 string FAT16 \b (16 bit) -# FAT32 specific ->>>>>82 string FAT32 \b, FAT (32 bit) ->>>>>>36 ulelong x \b, sectors/FAT %u ->>>>>>40 uleshort >0 \b, extension flags %u -#>>>>>>40 uleshort =0 \b, extension flags %u ->>>>>>42 uleshort >0 \b, fsVersion %u -#>>>>>>42 uleshort =0 \b, fsVersion %u (usual) ->>>>>>44 ulelong >2 \b, rootdir cluster %u -#>>>>>>44 ulelong =2 \b, rootdir cluster %u -#>>>>>>44 ulelong =1 \b, rootdir cluster %u ->>>>>>48 uleshort >1 \b, infoSector %u -#>>>>>>48 uleshort =1 \b, infoSector %u (usual) ->>>>>>48 uleshort <1 \b, infoSector %u ->>>>>>50 uleshort >6 \b, Backup boot sector %u -#>>>>>>50 uleshort =6 \b, Backup boot sector %u (usual) ->>>>>>50 uleshort <6 \b, Backup boot sector %u ->>>>>>54 ulelong >0 \b, reserved1 0x%x ->>>>>>58 ulelong >0 \b, reserved2 0x%x ->>>>>>62 ulelong >0 \b, reserved3 0x%x -# same structure as FAT1X ->>>>>>64 ubyte >0x80 \b, physical drive 0x%x -#>>>>>>64 ubyte =0x80 \b, physical drive 0x%x=80 (usual harddisk) ->>>>>>64 ubyte&0x7F >0 \b, physical drive 0x%x -#>>>>>>64 ubyte =0 \b, physical drive 0x%x=0 (usual floppy) ->>>>>>65 ubyte >0 \b, reserved 0x%x ->>>>>>66 ubyte >0x29 \b, dos < 4.0 BootSector (0x%x) ->>>>>>66 ubyte <0x29 \b, dos < 4.0 BootSector (0x%x) ->>>>>>66 ubyte =0x29 ->>>>>>>67 ulelong x \b, serial number 0x%x ->>>>>>>71 string >>>>>71 string >NO\ NAME \b, label: "%11.11s" ->>>>>>71 string =NO\ NAME \b, unlabeled -### FATs end ->0x200 lelong 0x82564557 \b, BSD disklabel - -# Minix filesystems - Juan Cespedes -0x410 leshort 0x137f Minix filesystem -0x410 beshort 0x137f Minix filesystem (big endian), ->0x402 beshort !0 \b, %d zones ->0x1e string minix \b, bootable -0x410 leshort 0x138f Minix filesystem, 30 char names -0x410 leshort 0x2468 Minix filesystem, version 2 -0x410 leshort 0x2478 Minix filesystem, version 2, 30 char names - -# romfs filesystems - Juan Cespedes -0 string -rom1fs-\0 romfs filesystem, version 1 ->8 belong x %d bytes, ->16 string x named %s. - -# netboot image - Juan Cespedes -0 lelong 0x1b031336L Netboot image, ->4 lelong&0xFFFFFF00 0 ->>4 lelong&0x100 0x000 mode 2 ->>4 lelong&0x100 0x100 mode 3 ->4 lelong&0xFFFFFF00 !0 unknown mode - -0x18b string OS/2 OS/2 Boot Manager - -9564 lelong 0x00011954 Unix Fast File system (little-endian), ->8404 string x last mounted on %s, -#>9504 ledate x last checked at %s, ->8224 ledate x last written at %s, ->8401 byte x clean flag %d, ->8228 lelong x number of blocks %d, ->8232 lelong x number of data blocks %d, ->8236 lelong x number of cylinder groups %d, ->8240 lelong x block size %d, ->8244 lelong x fragment size %d, ->8252 lelong x minimum percentage of free blocks %d, ->8256 lelong x rotational delay %dms, ->8260 lelong x disk rotational speed %drps, ->8320 lelong 0 TIME optimization ->8320 lelong 1 SPACE optimization - -9564 belong 0x00011954 Unix Fast File system (big-endian), ->7168 long 0x4c41424c Apple UFS Volume ->>7186 string x named %s, ->>7176 belong x volume label version %d, ->>7180 bedate x created on %s, ->8404 string x last mounted on %s, -#>9504 bedate x last checked at %s, ->8224 bedate x last written at %s, ->8401 byte x clean flag %d, ->8228 belong x number of blocks %d, ->8232 belong x number of data blocks %d, ->8236 belong x number of cylinder groups %d, ->8240 belong x block size %d, ->8244 belong x fragment size %d, ->8252 belong x minimum percentage of free blocks %d, ->8256 belong x rotational delay %dms, ->8260 belong x disk rotational speed %drps, ->8320 belong 0 TIME optimization ->8320 belong 1 SPACE optimization - -# ext2/ext3 filesystems - Andreas Dilger -0x438 leshort 0xEF53 Linux ->0x44c lelong x rev %d ->0x43e leshort x \b.%d ->0x45c lelong ^0x0000004 ext2 filesystem data ->>0x43a leshort ^0x0000001 (mounted or unclean) ->0x45c lelong &0x0000004 ext3 filesystem data ->>0x460 lelong &0x0000004 (needs journal recovery) ->0x43a leshort &0x0000002 (errors) ->0x460 lelong &0x0000001 (compressed) -#>0x460 lelong &0x0000002 (filetype) -#>0x464 lelong &0x0000001 (sparse_super) ->0x464 lelong &0x0000002 (large files) - -# SGI disk labels - Nathan Scott -0 belong 0x0BE5A941 SGI disk label (volume header) - -# SGI XFS filesystem - Nathan Scott -0 belong 0x58465342 SGI XFS filesystem data ->0x4 belong x (blksz=3D%d, ->0x68 beshort x inosz=3D%d, ->0x64 beshort ^0x2004 v1 dirs) ->0x64 beshort &0x2004 v2 dirs) - -############################################################################ -# Minix-ST kernel floppy -0x800 belong 0x46fc2700 Atari-ST Minix kernel image ->19 string \240\5\371\5\0\011\0\2\0 \b, 720k floppy ->19 string \320\2\370\5\0\011\0\1\0 \b, 360k floppy - -############################################################################ -# Hmmm, is this a better way of detecting _standard_ floppy images ? -19 string \320\2\360\3\0\011\0\1\0 DOS floppy 360k ->0x1FE leshort 0xAA55 \b, x86 hard disk boot sector -19 string \240\5\371\3\0\011\0\2\0 DOS floppy 720k ->0x1FE leshort 0xAA55 \b, x86 hard disk boot sector -19 string \100\013\360\011\0\022\0\2\0 DOS floppy 1440k ->0x1FE leshort 0xAA55 \b, x86 hard disk boot sector - -19 string \240\5\371\5\0\011\0\2\0 DOS floppy 720k, IBM ->0x1FE leshort 0xAA55 \b, x86 hard disk boot sector -19 string \100\013\371\5\0\011\0\2\0 DOS floppy 1440k, mkdosfs ->0x1FE leshort 0xAA55 \b, x86 hard disk boot sector - -19 string \320\2\370\5\0\011\0\1\0 Atari-ST floppy 360k -19 string \240\5\371\5\0\011\0\2\0 Atari-ST floppy 720k - -# Valid media descriptor bytes for MS-DOS: -# -# Byte Capacity Media Size and Type -# ------------------------------------------------- -# -# F0 2.88 MB 3.5-inch, 2-sided, 36-sector -# F0 1.44 MB 3.5-inch, 2-sided, 18-sector -# F9 720K 3.5-inch, 2-sided, 9-sector -# F9 1.2 MB 5.25-inch, 2-sided, 15-sector -# FD 360K 5.25-inch, 2-sided, 9-sector -# FF 320K 5.25-inch, 2-sided, 8-sector -# FC 180K 5.25-inch, 1-sided, 9-sector -# FE 160K 5.25-inch, 1-sided, 8-sector -# FE 250K 8-inch, 1-sided, single-density -# FD 500K 8-inch, 2-sided, single-density -# FE 1.2 MB 8-inch, 2-sided, double-density -# F8 ----- Fixed disk -# -# FC xxxK Apricot 70x1x9 boot disk. -# -# Originally a bitmap: -# xxxxxxx0 Not two sided -# xxxxxxx1 Double sided -# xxxxxx0x Not 8 SPT -# xxxxxx1x 8 SPT -# xxxxx0xx Not Removable drive -# xxxxx1xx Removable drive -# 11111xxx Must be one. -# -# But now it's rather random: -# 111111xx Low density disk -# 00 SS, Not 8 SPT -# 01 DS, Not 8 SPT -# 10 SS, 8 SPT -# 11 DS, 8 SPT -# -# 11111001 Double density 3½ floppy disk, high density 5¼ -# 11110000 High density 3½ floppy disk -# 11111000 Hard disk any format -# - -# CDROM Filesystems -32769 string CD001 ISO 9660 CD-ROM filesystem data -37633 string CD001 ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors) -32776 string CDROM High Sierra CD-ROM filesystem data diff --git a/contrib/file/Magdir/flash b/contrib/file/Magdir/flash deleted file mode 100644 index 0db9bfe20f..0000000000 --- a/contrib/file/Magdir/flash +++ /dev/null @@ -1,13 +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 -# -# From Dave Wilson -0 string AGD4\xbe\xb8\xbb\xcb\x00 Macromedia Freehand 9 Document diff --git a/contrib/file/Magdir/fonts b/contrib/file/Magdir/fonts deleted file mode 100644 index d0dc225993..0000000000 --- a/contrib/file/Magdir/fonts +++ /dev/null @@ -1,51 +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 - -#------------------------------------------------------------------------------ -# FIGlet fonts and controlfiles -# From figmagic supplied with Figlet version 2.2 -# "David E. O'Brien" -0 string flf FIGlet font ->3 string >2a version %-2.2s -0 string flc FIGlet controlfile ->3 string >2a version %-2.2s - -# libGrx graphics lib fonts, from Albert Cahalan (acahalan@cs.uml.edu) -# Used with djgpp (DOS Gnu C++), sometimes Linux or Turbo C++ -0 belong 0x14025919 libGrx font data, ->8 leshort x %dx ->10 leshort x \b%d ->40 string x %s -# Misc. DOS VGA fonts, from Albert Cahalan (acahalan@cs.uml.edu) -0 belong 0xff464f4e DOS code page font data collection -7 belong 0x00454741 DOS code page font data -7 belong 0x00564944 DOS code page font data (from Linux?) -4098 string DOSFONT DOSFONT2 encrypted font data - -# downloadable fonts for browser (prints type) anthon@mnt.org -0 string PFR1 PFR1 font ->102 string >0 \b: %s diff --git a/contrib/file/Magdir/frame b/contrib/file/Magdir/frame deleted file mode 100644 index 1b397df057..0000000000 --- a/contrib/file/Magdir/frame +++ /dev/null @@ -1,38 +0,0 @@ - -#------------------------------------------------------------------------------ -# frame: file(1) magic for FrameMaker files -# -# This stuff came on a FrameMaker demo tape, most of which is -# copyright, but this file is "published" as witness the following: -# -0 string \11 string 5.5 (5.5 ->11 string 5.0 (5.0 ->11 string 4.0 (4.0 ->11 string 3.0 (3.0 ->11 string 2.0 (2.0 ->11 string 1.0 (1.0 ->14 byte x %c) -0 string \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 \17 string 3.0 (3.0) ->17 string 2.0 (2.0) ->17 string 1.0 (1.x) -0 string \17 string 1.01 (%s) -0 string \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 \6 string 3.0 (3.0) -#>6 string 2.0 (2.0) -#>6 string 1.0 (1.0) -0 string \= 4096 (or >4095, same thing), then it's -# an executable, and is dynamically-linked if the "has run-time -# loader information" bit is set. -# -# On x86, NetBSD says: -# -# If it's neither pure nor demand-paged: -# -# if it has the "has run-time loader information" bit set, it's -# a dynamically-linked executable; -# -# if it doesn't have that bit set, then: -# -# if it has the "is position-independent" bit set, it's -# position-independent; -# -# if the entry point is non-zero, it's an executable, otherwise -# it's an object file. -# -# If it's pure: -# -# if it has the "has run-time loader information" bit set, it's -# a dynamically-linked executable, otherwise it's just an -# executable. -# -# If it's demand-paged: -# -# if it has the "has run-time loader information" bit set, -# then: -# -# if the entry point is < 4096, it's a shared library; -# -# if the entry point is = 4096 or > 4096 (i.e., >= 4096), -# it's a dynamically-linked executable); -# -# if it doesn't have the "has run-time loader information" bit -# set, then it's just an executable. -# -# (On non-x86, NetBSD does much the same thing, except that it uses -# 8192 on 68K - except for "68k4k", which is presumably "68K with 4K -# pages - SPARC, and MIPS, presumably because Sun-3's and Sun-4's -# had 8K pages; dunno about MIPS.) -# -# I suspect the two will differ only in perverse and uninteresting cases -# ("shared" libraries that aren't demand-paged and whose pages probably -# won't actually be shared, executables with entry points <4096). -# -# I leave it to those more familiar with FreeBSD and NetBSD to figure out -# what the right answer is (although using ">4095", FreeBSD-style, is -# probably better than separately checking for "=4096" and ">4096", -# NetBSD-style). (The old "netbsd" file analyzed FreeBSD demand paged -# executables using the NetBSD technique.) -# -0 lelong&0377777777 041400407 FreeBSD/i386 ->20 lelong <4096 ->>3 byte&0xC0 &0x80 shared library ->>3 byte&0xC0 0x40 PIC object ->>3 byte&0xC0 0x00 object ->20 lelong >4095 ->>3 byte&0x80 0x80 dynamically linked executable ->>3 byte&0x80 0x00 executable ->16 lelong >0 not stripped - -0 lelong&0377777777 041400410 FreeBSD/i386 pure ->20 lelong <4096 ->>3 byte&0xC0 &0x80 shared library ->>3 byte&0xC0 0x40 PIC object ->>3 byte&0xC0 0x00 object ->20 lelong >4095 ->>3 byte&0x80 0x80 dynamically linked executable ->>3 byte&0x80 0x00 executable ->16 lelong >0 not stripped - -0 lelong&0377777777 041400413 FreeBSD/i386 demand paged ->20 lelong <4096 ->>3 byte&0xC0 &0x80 shared library ->>3 byte&0xC0 0x40 PIC object ->>3 byte&0xC0 0x00 object ->20 lelong >4095 ->>3 byte&0x80 0x80 dynamically linked executable ->>3 byte&0x80 0x00 executable ->16 lelong >0 not stripped - -0 lelong&0377777777 041400314 FreeBSD/i386 compact demand paged ->20 lelong <4096 ->>3 byte&0xC0 &0x80 shared library ->>3 byte&0xC0 0x40 PIC object ->>3 byte&0xC0 0x00 object ->20 lelong >4095 ->>3 byte&0x80 0x80 dynamically linked executable ->>3 byte&0x80 0x00 executable ->16 lelong >0 not stripped - -# XXX gross hack to identify core files -# cores start with a struct tss; we take advantage of the following: -# byte 7: highest byte of the kernel stack pointer, always 0xfe -# 8/9: kernel (ring 0) ss value, always 0x0010 -# 10 - 27: ring 1 and 2 ss/esp, unused, thus always 0 -# 28: low order byte of the current PTD entry, always 0 since the -# PTD is page-aligned -# -7 string \357\020\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 FreeBSD/i386 a.out core file ->1039 string >\0 from '%s' - -# /var/run/ld.so.hints -# What are you laughing about? -0 lelong 011421044151 ld.so hints file (Little Endian ->4 lelong >0 \b, version %d) ->4 belong <=0 \b) -0 belong 011421044151 ld.so hints file (Big Endian ->4 belong >0 \b, version %d) ->4 belong <=0 \b) - -# -# Files generated by FreeBSD scrshot(1)/vidcontrol(1) utilities -# -0 string SCRSHOT_ scrshot(1) screenshot, ->8 byte x version %d, ->9 byte 2 %d bytes in header, ->>10 byte x %d chars wide by ->>11 byte x %d chars high diff --git a/contrib/file/Magdir/fsav b/contrib/file/Magdir/fsav deleted file mode 100644 index 4218936e48..0000000000 --- a/contrib/file/Magdir/fsav +++ /dev/null @@ -1,27 +0,0 @@ - -#------------------------------------------------------------------------------ -# fsav: file(1) magic for datafellows fsav virus definition files -# Anthon van der Neut (anthon@mnt.org) -0 beshort 0x1575 fsav (linux) macro virus ->8 leshort >0 (%d- ->11 byte >0 \b%02d- ->10 byte >0 \b%02d) - -# comment this out for now because it regognizes every file where -# the eighth character is \n -#8 byte 0x0a -#>12 byte 0x07 -#>11 leshort >0 fsav (linux) virus (%d- -#>10 byte 0 \b01- -#>10 byte 1 \b02- -#>10 byte 2 \b03- -#>10 byte 3 \b04- -#>10 byte 4 \b05- -#>10 byte 5 \b06- -#>10 byte 6 \b07- -#>10 byte 7 \b08- -#>10 byte 8 \b08- -#>10 byte 9 \b10- -#>10 byte 10 \b11- -#>10 byte 11 \b12- -#>9 byte >0 \b%02d) diff --git a/contrib/file/Magdir/gimp b/contrib/file/Magdir/gimp deleted file mode 100644 index 9a9d61e2f7..0000000000 --- a/contrib/file/Magdir/gimp +++ /dev/null @@ -1,36 +0,0 @@ -#------------------------------------------------------------------------------ -# GIMP Gradient: file(1) magic for the GIMP's gradient data files -# by Federico Mena - -0 string GIMP\ Gradient GIMP gradient data - -#------------------------------------------------------------------------------ -# XCF: file(1) magic for the XCF image format used in the GIMP developed -# by Spencer Kimball and Peter Mattis -# ('Bucky' LaDieu, nega@vt.edu) - -0 string gimp\ xcf GIMP XCF image data, ->9 string file version 0, ->9 string v version ->>10 string >\0 %s, ->14 belong x %lu x ->18 belong x %lu, ->22 belong 0 RGB Color ->22 belong 1 Greyscale ->22 belong 2 Indexed Color ->22 belong >2 Unknown Image Type. - -#------------------------------------------------------------------------------ -# XCF: file(1) magic for the patterns used in the GIMP, developed -# by Spencer Kimball and Peter Mattis -# ('Bucky' LaDieu, nega@vt.edu) - -20 string GPAT GIMP pattern data, ->24 string x %s - -#------------------------------------------------------------------------------ -# XCF: file(1) magic for the brushes used in the GIMP, developed -# by Spencer Kimball and Peter Mattis -# ('Bucky' LaDieu, nega@vt.edu) - -20 string GIMP GIMP brush data diff --git a/contrib/file/Magdir/gnu b/contrib/file/Magdir/gnu deleted file mode 100644 index a385fc972e..0000000000 --- a/contrib/file/Magdir/gnu +++ /dev/null @@ -1,12 +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 -# message catalogs, from Mitchum DSouza -0 string *nazgul* Nazgul style compiled message catalog ->8 lelong >0 \b, version %ld diff --git a/contrib/file/Magdir/grace b/contrib/file/Magdir/grace deleted file mode 100644 index a5f143359e..0000000000 --- a/contrib/file/Magdir/grace +++ /dev/null @@ -1,20 +0,0 @@ - -#------------------------------------------------------------------------------ -# ACE/gr and Grace type files - PLEASE DO NOT REMOVE THIS LINE -# -# ACE/gr binary -0 string \000\000\0001\000\000\0000\000\000\0000\000\000\0002\000\000\0000\000\000\0000\000\000\0003 old ACE/gr binary file ->39 byte >0 - version %c -# ACE/gr ascii -0 string #\ xvgr\ parameter\ file ACE/gr ascii file -0 string #\ xmgr\ parameter\ file ACE/gr ascii file -0 string #\ ACE/gr\ parameter\ file ACE/gr ascii file -# Grace projects -0 string #\ Grace\ project\ file Grace project file ->23 string @version\ (version ->>32 byte >0 %c ->>33 string >\0 \b.%.2s ->>35 string >\0 \b.%.2s) -# ACE/gr fit description files -0 string #\ ACE/gr\ fit\ description\ ACE/gr fit description file -# end of ACE/gr and Grace type files - PLEASE DO NOT REMOVE THIS LINE diff --git a/contrib/file/Magdir/gringotts b/contrib/file/Magdir/gringotts deleted file mode 100644 index 6e833a3e1d..0000000000 --- a/contrib/file/Magdir/gringotts +++ /dev/null @@ -1,47 +0,0 @@ - -#------------------------------------------------------------------------------ -# gringotts: file(1) magic for Gringotts -# http://devel.pluto.linux.it/projects/Gringotts/ -# author: Germano Rizzo -#GRG3????Y -0 string GRG Gringotts data file -#file format 1 ->3 string 1 v.1, MCRYPT S2K, SERPENT crypt, SHA-256 hash, ZLib lvl.9 -#file format 2 ->3 string 2 v.2, MCRYPT S2K, ->>8 byte&0x70 0x00 RIJNDAEL-128 crypt, ->>8 byte&0x70 0x10 SERPENT crypt, ->>8 byte&0x70 0x20 TWOFISH crypt, ->>8 byte&0x70 0x30 CAST-256 crypt, ->>8 byte&0x70 0x40 SAFER+ crypt, ->>8 byte&0x70 0x50 LOKI97 crypt, ->>8 byte&0x70 0x60 3DES crypt, ->>8 byte&0x70 0x70 RIJNDAEL-256 crypt, ->>8 byte&0x08 0x00 SHA1 hash, ->>8 byte&0x08 0x08 RIPEMD-160 hash, ->>8 byte&0x04 0x00 ZLib ->>8 byte&0x04 0x04 BZip2 ->>8 byte&0x03 0x00 lvl.0 ->>8 byte&0x03 0x01 lvl.3 ->>8 byte&0x03 0x02 lvl.6 ->>8 byte&0x03 0x03 lvl.9 -#file format 3 ->3 string 3 v.3, OpenPGP S2K, ->>8 byte&0x70 0x00 RIJNDAEL-128 crypt, ->>8 byte&0x70 0x10 SERPENT crypt, ->>8 byte&0x70 0x20 TWOFISH crypt, ->>8 byte&0x70 0x30 CAST-256 crypt, ->>8 byte&0x70 0x40 SAFER+ crypt, ->>8 byte&0x70 0x50 LOKI97 crypt, ->>8 byte&0x70 0x60 3DES crypt, ->>8 byte&0x70 0x70 RIJNDAEL-256 crypt, ->>8 byte&0x08 0x00 SHA1 hash, ->>8 byte&0x08 0x08 RIPEMD-160 hash, ->>8 byte&0x04 0x00 ZLib ->>8 byte&0x04 0x04 BZip2 ->>8 byte&0x03 0x00 lvl.0 ->>8 byte&0x03 0x01 lvl.3 ->>8 byte&0x03 0x02 lvl.6 ->>8 byte&0x03 0x03 lvl.9 -#file format >3 ->3 string >3 v.%.1s (unknown details) diff --git a/contrib/file/Magdir/hdf b/contrib/file/Magdir/hdf deleted file mode 100644 index 10a21b6425..0000000000 --- a/contrib/file/Magdir/hdf +++ /dev/null @@ -1,7 +0,0 @@ - -#------------------------------------------------------------------------------ -# Hierarchical Data Format, used to facilitate scientific data exchange -# specifications at http://hdf.ncsa.uiuc.edu/ - -0 belong 0x0e031301 Hierarchical Data Format (version 4) data -0 string \211HDF\r\n\032 Hierarchical Data Format (version 5) data diff --git a/contrib/file/Magdir/hitachi-sh b/contrib/file/Magdir/hitachi-sh deleted file mode 100644 index a096eebf1f..0000000000 --- a/contrib/file/Magdir/hitachi-sh +++ /dev/null @@ -1,18 +0,0 @@ - -#------------------------------------------------------------------------------ -# hitach-sh: file(1) magic for Hitachi Super-H -# -# Super-H COFF -# -0 beshort 0x0500 Hitachi SH big-endian COFF ->18 beshort&0x0002 =0x0000 object ->18 beshort&0x0002 =0x0002 executable ->18 beshort&0x0008 =0x0008 \b, stripped ->18 beshort&0x0008 =0x0000 \b, not stripped -# -0 leshort 0x0550 Hitachi SH little-endian COFF ->18 leshort&0x0002 =0x0000 object ->18 leshort&0x0002 =0x0002 executable ->18 leshort&0x0008 =0x0008 \b, stripped ->18 leshort&0x0008 =0x0000 \b, not stripped - diff --git a/contrib/file/Magdir/hp b/contrib/file/Magdir/hp deleted file mode 100644 index 052f09a239..0000000000 --- a/contrib/file/Magdir/hp +++ /dev/null @@ -1,395 +0,0 @@ - -#------------------------------------------------------------------------------ -# hp: file(1) magic for Hewlett Packard machines (see also "printer") -# -# XXX - somebody should figure out whether any byte order needs to be -# applied to the "TML" stuff; I'm assuming the Apollo stuff is -# big-endian as it was mostly 68K-based. -# -# I think the 500 series was the old stack-based machines, running a -# UNIX environment atop the "SUN kernel"; dunno whether it was -# big-endian or little-endian. -# -# Daniel Quinlan (quinlan@yggdrasil.com): hp200 machines are 68010 based; -# hp300 are 68020+68881 based; hp400 are also 68k. The following basic -# HP magic is useful for reference, but using "long" magic is a better -# practice in order to avoid collisions. -# -# Guy Harris (guy@netapp.com): some additions to this list came from -# HP-UX 10.0's "/usr/include/sys/unistd.h" (68030, 68040, PA-RISC 1.1, -# 1.2, and 2.0). The 1.2 and 2.0 stuff isn't in the HP-UX 10.0 -# "/etc/magic", though, except for the "archive file relocatable library" -# stuff, and the 68030 and 68040 stuff isn't there at all - are they not -# used in executables, or have they just not yet updated "/etc/magic" -# completely? -# -# 0 beshort 200 hp200 (68010) BSD binary -# 0 beshort 300 hp300 (68020+68881) BSD binary -# 0 beshort 0x20c hp200/300 HP-UX binary -# 0 beshort 0x20d hp400 (68030) HP-UX binary -# 0 beshort 0x20e hp400 (68040?) HP-UX binary -# 0 beshort 0x20b PA-RISC1.0 HP-UX binary -# 0 beshort 0x210 PA-RISC1.1 HP-UX binary -# 0 beshort 0x211 PA-RISC1.2 HP-UX binary -# 0 beshort 0x214 PA-RISC2.0 HP-UX binary - -# -# The "misc" stuff needs a byte order; the archives look suspiciously -# like the old 177545 archives (0xff65 = 0177545). -# -#### Old Apollo stuff -0 beshort 0627 Apollo m68k COFF executable ->18 beshort ^040000 not stripped ->22 beshort >0 - version %ld -0 beshort 0624 apollo a88k COFF executable ->18 beshort ^040000 not stripped ->22 beshort >0 - version %ld -0 long 01203604016 TML 0123 byte-order format -0 long 01702407010 TML 1032 byte-order format -0 long 01003405017 TML 2301 byte-order format -0 long 01602007412 TML 3210 byte-order format -#### PA-RISC 1.1 -0 belong 0x02100106 PA-RISC1.1 relocatable object -0 belong 0x02100107 PA-RISC1.1 executable ->168 belong &0x00000004 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x02100108 PA-RISC1.1 shared executable ->168 belong&0x4 0x4 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x0210010b PA-RISC1.1 demand-load executable ->168 belong&0x4 0x4 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x0210010e PA-RISC1.1 shared library ->96 belong >0 - not stripped - -0 belong 0x0210010d PA-RISC1.1 dynamic load library ->96 belong >0 - not stripped - -#### PA-RISC 2.0 -0 belong 0x02140106 PA-RISC2.0 relocatable object - -0 belong 0x02140107 PA-RISC2.0 executable ->168 belong &0x00000004 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x02140108 PA-RISC2.0 shared executable ->168 belong &0x00000004 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x0214010b PA-RISC2.0 demand-load executable ->168 belong &0x00000004 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x0214010e PA-RISC2.0 shared library ->96 belong >0 - not stripped - -0 belong 0x0214010d PA-RISC2.0 dynamic load library ->96 belong >0 - not stripped - -#### 800 -0 belong 0x020b0106 PA-RISC1.0 relocatable object - -0 belong 0x020b0107 PA-RISC1.0 executable ->168 belong&0x4 0x4 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x020b0108 PA-RISC1.0 shared executable ->168 belong&0x4 0x4 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x020b010b PA-RISC1.0 demand-load executable ->168 belong&0x4 0x4 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x020b010e PA-RISC1.0 shared library ->96 belong >0 - not stripped - -0 belong 0x020b010d PA-RISC1.0 dynamic load library ->96 belong >0 - not stripped - -0 belong 0x213c6172 archive file ->68 belong 0x020b0619 - PA-RISC1.0 relocatable library ->68 belong 0x02100619 - PA-RISC1.1 relocatable library ->68 belong 0x02110619 - PA-RISC1.2 relocatable library ->68 belong 0x02140619 - PA-RISC2.0 relocatable library - -#### 500 -0 long 0x02080106 HP s500 relocatable executable ->16 long >0 - version %ld - -0 long 0x02080107 HP s500 executable ->16 long >0 - version %ld - -0 long 0x02080108 HP s500 pure executable ->16 long >0 - version %ld - -#### 200 -0 belong 0x020c0108 HP s200 pure executable ->4 beshort >0 - version %ld ->8 belong &0x80000000 save fp regs ->8 belong &0x40000000 dynamically linked ->8 belong &0x20000000 debuggable ->36 belong >0 not stripped - -0 belong 0x020c0107 HP s200 executable ->4 beshort >0 - version %ld ->8 belong &0x80000000 save fp regs ->8 belong &0x40000000 dynamically linked ->8 belong &0x20000000 debuggable ->36 belong >0 not stripped - -0 belong 0x020c010b HP s200 demand-load executable ->4 beshort >0 - version %ld ->8 belong &0x80000000 save fp regs ->8 belong &0x40000000 dynamically linked ->8 belong &0x20000000 debuggable ->36 belong >0 not stripped - -0 belong 0x020c0106 HP s200 relocatable executable ->4 beshort >0 - version %ld ->6 beshort >0 - highwater %d ->8 belong &0x80000000 save fp regs ->8 belong &0x20000000 debuggable ->8 belong &0x10000000 PIC - -0 belong 0x020a0108 HP s200 (2.x release) pure executable ->4 beshort >0 - version %ld ->36 belong >0 not stripped - -0 belong 0x020a0107 HP s200 (2.x release) executable ->4 beshort >0 - version %ld ->36 belong >0 not stripped - -0 belong 0x020c010e HP s200 shared library ->4 beshort >0 - version %ld ->6 beshort >0 - highwater %d ->36 belong >0 not stripped - -0 belong 0x020c010d HP s200 dynamic load library ->4 beshort >0 - version %ld ->6 beshort >0 - highwater %d ->36 belong >0 not stripped - -#### MISC -0 long 0x0000ff65 HP old archive -0 long 0x020aff65 HP s200 old archive -0 long 0x020cff65 HP s200 old archive -0 long 0x0208ff65 HP s500 old archive - -0 long 0x015821a6 HP core file - -0 long 0x4da7eee8 HP-WINDOWS font ->8 byte >0 - version %ld -0 string Bitmapfile HP Bitmapfile - -0 string IMGfile CIS compimg HP Bitmapfile -# XXX - see "lif" -#0 short 0x8000 lif file -0 long 0x020c010c compiled Lisp - -0 string msgcat01 HP NLS message catalog, ->8 long >0 %d messages - -# addendum to /etc/magic with HP-48sx file-types by phk@data.fls.dk 1jan92 -0 string HPHP48- HP48 binary ->7 byte >0 - Rev %c ->8 beshort 0x1129 (ADR) ->8 beshort 0x3329 (REAL) ->8 beshort 0x5529 (LREAL) ->8 beshort 0x7729 (COMPLX) ->8 beshort 0x9d29 (LCOMPLX) ->8 beshort 0xbf29 (CHAR) ->8 beshort 0xe829 (ARRAY) ->8 beshort 0x0a2a (LNKARRAY) ->8 beshort 0x2c2a (STRING) ->8 beshort 0x4e2a (HXS) ->8 beshort 0x742a (LIST) ->8 beshort 0x962a (DIR) ->8 beshort 0xb82a (ALG) ->8 beshort 0xda2a (UNIT) ->8 beshort 0xfc2a (TAGGED) ->8 beshort 0x1e2b (GROB) ->8 beshort 0x402b (LIB) ->8 beshort 0x622b (BACKUP) ->8 beshort 0x882b (LIBDATA) ->8 beshort 0x9d2d (PROG) ->8 beshort 0xcc2d (CODE) ->8 beshort 0x482e (GNAME) ->8 beshort 0x6d2e (LNAME) ->8 beshort 0x922e (XLIB) -0 string %%HP: HP48 text ->6 string T(0) - T(0) ->6 string T(1) - T(1) ->6 string T(2) - T(2) ->6 string T(3) - T(3) ->10 string A(D) A(D) ->10 string A(R) A(R) ->10 string A(G) A(G) ->14 string F(.) F(.); ->14 string F(,) F(,); - -# hpBSD magic numbers -0 beshort 200 hp200 (68010) BSD ->2 beshort 0407 impure binary ->2 beshort 0410 read-only binary ->2 beshort 0413 demand paged binary -0 beshort 300 hp300 (68020+68881) BSD ->2 beshort 0407 impure binary ->2 beshort 0410 read-only binary ->2 beshort 0413 demand paged binary -# -# From David Gero -# HP-UX 10.20 core file format from /usr/include/sys/core.h -# Unfortunately, HP-UX uses corehead blocks without specifying the order -# There are four we care about: -# CORE_KERNEL, which starts with the string "HP-UX" -# CORE_EXEC, which contains the name of the command -# CORE_PROC, which contains the signal number that caused the core dump -# CORE_FORMAT, which contains the version of the core file format (== 1) -# The only observed order in real core files is KERNEL, EXEC, FORMAT, PROC -# but we include all 6 variations of the order of the first 3, and -# assume that PROC will always be last -# Order 1: KERNEL, EXEC, FORMAT, PROC -0x10 string HP-UX ->0 belong 2 ->>0xC belong 0x3C ->>>0x4C belong 0x100 ->>>>0x58 belong 0x44 ->>>>>0xA0 belong 1 ->>>>>>0xAC belong 4 ->>>>>>>0xB0 belong 1 ->>>>>>>>0xB4 belong 4 core file ->>>>>>>>>0x90 string >\0 from '%s' ->>>>>>>>>0xC4 belong 3 - received SIGQUIT ->>>>>>>>>0xC4 belong 4 - received SIGILL ->>>>>>>>>0xC4 belong 5 - received SIGTRAP ->>>>>>>>>0xC4 belong 6 - received SIGABRT ->>>>>>>>>0xC4 belong 7 - received SIGEMT ->>>>>>>>>0xC4 belong 8 - received SIGFPE ->>>>>>>>>0xC4 belong 10 - received SIGBUS ->>>>>>>>>0xC4 belong 11 - received SIGSEGV ->>>>>>>>>0xC4 belong 12 - received SIGSYS ->>>>>>>>>0xC4 belong 33 - received SIGXCPU ->>>>>>>>>0xC4 belong 34 - received SIGXFSZ -# Order 2: KERNEL, FORMAT, EXEC, PROC ->>>0x4C belong 1 ->>>>0x58 belong 4 ->>>>>0x5C belong 1 ->>>>>>0x60 belong 0x100 ->>>>>>>0x6C belong 0x44 ->>>>>>>>0xB4 belong 4 core file ->>>>>>>>>0xA4 string >\0 from '%s' ->>>>>>>>>0xC4 belong 3 - received SIGQUIT ->>>>>>>>>0xC4 belong 4 - received SIGILL ->>>>>>>>>0xC4 belong 5 - received SIGTRAP ->>>>>>>>>0xC4 belong 6 - received SIGABRT ->>>>>>>>>0xC4 belong 7 - received SIGEMT ->>>>>>>>>0xC4 belong 8 - received SIGFPE ->>>>>>>>>0xC4 belong 10 - received SIGBUS ->>>>>>>>>0xC4 belong 11 - received SIGSEGV ->>>>>>>>>0xC4 belong 12 - received SIGSYS ->>>>>>>>>0xC4 belong 33 - received SIGXCPU ->>>>>>>>>0xC4 belong 34 - received SIGXFSZ -# Order 3: FORMAT, KERNEL, EXEC, PROC -0x24 string HP-UX ->0 belong 1 ->>0xC belong 4 ->>>0x10 belong 1 ->>>>0x14 belong 2 ->>>>>0x20 belong 0x3C ->>>>>>0x60 belong 0x100 ->>>>>>>0x6C belong 0x44 ->>>>>>>>0xB4 belong 4 core file ->>>>>>>>>0xA4 string >\0 from '%s' ->>>>>>>>>0xC4 belong 3 - received SIGQUIT ->>>>>>>>>0xC4 belong 4 - received SIGILL ->>>>>>>>>0xC4 belong 5 - received SIGTRAP ->>>>>>>>>0xC4 belong 6 - received SIGABRT ->>>>>>>>>0xC4 belong 7 - received SIGEMT ->>>>>>>>>0xC4 belong 8 - received SIGFPE ->>>>>>>>>0xC4 belong 10 - received SIGBUS ->>>>>>>>>0xC4 belong 11 - received SIGSEGV ->>>>>>>>>0xC4 belong 12 - received SIGSYS ->>>>>>>>>0xC4 belong 33 - received SIGXCPU ->>>>>>>>>0xC4 belong 34 - received SIGXFSZ -# Order 4: EXEC, KERNEL, FORMAT, PROC -0x64 string HP-UX ->0 belong 0x100 ->>0xC belong 0x44 ->>>0x54 belong 2 ->>>>0x60 belong 0x3C ->>>>>0xA0 belong 1 ->>>>>>0xAC belong 4 ->>>>>>>0xB0 belong 1 ->>>>>>>>0xB4 belong 4 core file ->>>>>>>>>0x44 string >\0 from '%s' ->>>>>>>>>0xC4 belong 3 - received SIGQUIT ->>>>>>>>>0xC4 belong 4 - received SIGILL ->>>>>>>>>0xC4 belong 5 - received SIGTRAP ->>>>>>>>>0xC4 belong 6 - received SIGABRT ->>>>>>>>>0xC4 belong 7 - received SIGEMT ->>>>>>>>>0xC4 belong 8 - received SIGFPE ->>>>>>>>>0xC4 belong 10 - received SIGBUS ->>>>>>>>>0xC4 belong 11 - received SIGSEGV ->>>>>>>>>0xC4 belong 12 - received SIGSYS ->>>>>>>>>0xC4 belong 33 - received SIGXCPU ->>>>>>>>>0xC4 belong 34 - received SIGXFSZ -# Order 5: FORMAT, EXEC, KERNEL, PROC -0x78 string HP-UX ->0 belong 1 ->>0xC belong 4 ->>>0x10 belong 1 ->>>>0x14 belong 0x100 ->>>>>0x20 belong 0x44 ->>>>>>0x68 belong 2 ->>>>>>>0x74 belong 0x3C ->>>>>>>>0xB4 belong 4 core file ->>>>>>>>>0x58 string >\0 from '%s' ->>>>>>>>>0xC4 belong 3 - received SIGQUIT ->>>>>>>>>0xC4 belong 4 - received SIGILL ->>>>>>>>>0xC4 belong 5 - received SIGTRAP ->>>>>>>>>0xC4 belong 6 - received SIGABRT ->>>>>>>>>0xC4 belong 7 - received SIGEMT ->>>>>>>>>0xC4 belong 8 - received SIGFPE ->>>>>>>>>0xC4 belong 10 - received SIGBUS ->>>>>>>>>0xC4 belong 11 - received SIGSEGV ->>>>>>>>>0xC4 belong 12 - received SIGSYS ->>>>>>>>>0xC4 belong 33 - received SIGXCPU ->>>>>>>>>0xC4 belong 34 - received SIGXFSZ -# Order 6: EXEC, FORMAT, KERNEL, PROC ->0 belong 0x100 ->>0xC belong 0x44 ->>>0x54 belong 1 ->>>>0x60 belong 4 ->>>>>0x64 belong 1 ->>>>>>0x68 belong 2 ->>>>>>>0x74 belong 0x2C ->>>>>>>>0xB4 belong 4 core file ->>>>>>>>>0x44 string >\0 from '%s' ->>>>>>>>>0xC4 belong 3 - received SIGQUIT ->>>>>>>>>0xC4 belong 4 - received SIGILL ->>>>>>>>>0xC4 belong 5 - received SIGTRAP ->>>>>>>>>0xC4 belong 6 - received SIGABRT ->>>>>>>>>0xC4 belong 7 - received SIGEMT ->>>>>>>>>0xC4 belong 8 - received SIGFPE ->>>>>>>>>0xC4 belong 10 - received SIGBUS ->>>>>>>>>0xC4 belong 11 - received SIGSEGV ->>>>>>>>>0xC4 belong 12 - received SIGSYS ->>>>>>>>>0xC4 belong 33 - received SIGXCPU ->>>>>>>>>0xC4 belong 34 - received SIGXFSZ - -# From: AMAKAWA Shuhei -0 string HPHP49- HP49 binary - diff --git a/contrib/file/Magdir/human68k b/contrib/file/Magdir/human68k deleted file mode 100644 index 0ac82a7668..0000000000 --- a/contrib/file/Magdir/human68k +++ /dev/null @@ -1,25 +0,0 @@ - -#------------------------------------------------------------------------------ -# human68k: file(1) magic for Human68k (X680x0 DOS) binary formats - -0 string HU Human68k ->68 string LZX LZX compressed ->>72 string >\0 (version %s) ->(8.L+74) string LZX LZX compressed ->>(8.L+78) string >\0 (version %s) ->60 belong >0 binded ->(8.L+66) string #HUPAIR hupair ->0 string HU X executable ->(8.L+74) string #LIBCV1 - linked PD LIBC ver 1 ->4 belong >0 - base address 0x%x ->28 belong >0 not stripped ->32 belong >0 with debug information -0 beshort 0x601a Human68k Z executable -0 beshort 0x6000 Human68k object file -0 belong 0xd1000000 Human68k ar binary archive -0 belong 0xd1010000 Human68k ar ascii archive -0 beshort 0x0068 Human68k lib archive -4 string LZX Human68k LZX compressed ->8 string >\0 (version %s) ->4 string LZX R executable -2 string #HUPAIR Human68k hupair R executable diff --git a/contrib/file/Magdir/ibm370 b/contrib/file/Magdir/ibm370 deleted file mode 100644 index 8cd9da27ae..0000000000 --- a/contrib/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/contrib/file/Magdir/ibm6000 b/contrib/file/Magdir/ibm6000 deleted file mode 100644 index 8e1077b9b8..0000000000 --- a/contrib/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 \ archive diff --git a/contrib/file/Magdir/iff b/contrib/file/Magdir/iff deleted file mode 100644 index 68d1b79bd8..0000000000 --- a/contrib/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/contrib/file/Magdir/images b/contrib/file/Magdir/images deleted file mode 100644 index 27a38ebb4a..0000000000 --- a/contrib/file/Magdir/images +++ /dev/null @@ -1,361 +0,0 @@ - -#------------------------------------------------------------------------------ -# images: file(1) magic for image formats (see also "iff") -# -# originally from jef@helios.ee.lbl.gov (Jef Poskanzer), -# additions by janl@ifi.uio.no as well as others. Jan also suggested -# merging several one- and two-line files into here. -# -# little magic: PCX (first byte is 0x0a) - -# Targa - matches `povray', `ppmtotga' and `xv' outputs -# by Philippe De Muyter -# at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11 -# at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise -# at 3, leshort Index is 0 for povray, ppmtotga and xv outputs -# `xv' recognizes only a subset of the following (RGB with pixelsize = 24) -# `tgatoppm' recognizes a superset (Index may be anything) -1 belong&0xfff7ffff 0x01010000 Targa image data - Map ->2 byte&8 8 - RLE -1 belong&0xfff7ffff 0x00020000 Targa image data - RGB ->2 byte&8 8 - RLE -1 belong&0xfff7ffff 0x00030000 Targa image data - Mono ->2 byte&8 8 - RLE - -# PBMPLUS images -# The next byte following the magic is always whitespace. -0 string P1 Netpbm PBM image text -0 string P2 Netpbm PGM image text -0 string P3 Netpbm PPM image text -0 string P4 Netpbm PBM "rawbits" image data -0 string P5 Netpbm PGM "rawbits" image data -0 string P6 Netpbm PPM "rawbits" image data -0 string P7 Netpbm PAM image file - -# From: bryanh@giraffe-data.com (Bryan Henderson) -0 string \117\072 Solitaire Image Recorder format ->4 string \013 MGI Type 11 ->4 string \021 MGI Type 17 -0 string .MDA MicroDesign data ->21 byte 48 version 2 ->21 byte 51 version 3 -0 string .MDP MicroDesign page data ->21 byte 48 version 2 ->21 byte 51 version 3 - -# NIFF (Navy Interchange File Format, a modification of TIFF) images -0 string IIN1 NIFF image data - -# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com) -# The second word of TIFF files is the TIFF version number, 42, which has -# never changed. The TIFF specification recommends testing for it. -0 string MM\x00\x2a TIFF image data, big-endian -0 string II\x2a\x00 TIFF image data, little-endian - -# PNG [Portable Network Graphics, or "PNG's Not GIF"] images -# (Greg Roelofs, newt@uchicago.edu) -# (Albert Cahalan, acahalan@cs.uml.edu) -# -# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ... -# -0 string \x89PNG PNG image data, ->4 belong !0x0d0a1a0a CORRUPTED, ->4 belong 0x0d0a1a0a ->>16 belong x %ld x ->>20 belong x %ld, ->>24 byte x %d-bit ->>25 byte 0 grayscale, ->>25 byte 2 \b/color RGB, ->>25 byte 3 colormap, ->>25 byte 4 gray+alpha, ->>25 byte 6 \b/color RGBA, -#>>26 byte 0 deflate/32K, ->>28 byte 0 non-interlaced ->>28 byte 1 interlaced -1 string PNG PNG image data, CORRUPTED - -# GIF -0 string GIF8 GIF image data ->4 string 7a \b, version 8%s, ->4 string 9a \b, version 8%s, ->6 leshort >0 %hd x ->8 leshort >0 %hd -#>10 byte &0x80 color mapped, -#>10 byte&0x07 =0x00 2 colors -#>10 byte&0x07 =0x01 4 colors -#>10 byte&0x07 =0x02 8 colors -#>10 byte&0x07 =0x03 16 colors -#>10 byte&0x07 =0x04 32 colors -#>10 byte&0x07 =0x05 64 colors -#>10 byte&0x07 =0x06 128 colors -#>10 byte&0x07 =0x07 256 colors - -# ITC (CMU WM) raster files. It is essentially a byte-reversed Sun raster, -# 1 plane, no encoding. -0 string \361\0\100\273 CMU window manager raster image data ->4 lelong >0 %d x ->8 lelong >0 %d, ->12 lelong >0 %d-bit - -# Magick Image File Format -0 string id=ImageMagick MIFF image data - -# Artisan -0 long 1123028772 Artisan image data ->4 long 1 \b, rectangular 24-bit ->4 long 2 \b, rectangular 8-bit with colormap ->4 long 3 \b, rectangular 32-bit (24-bit with matte) - -# FIG (Facility for Interactive Generation of figures), an object-based format -0 string #FIG FIG image text ->5 string x \b, version %.3s - -# PHIGS -0 string ARF_BEGARF PHIGS clear text archive -0 string @(#)SunPHIGS SunPHIGS -# version number follows, in the form m.n ->40 string SunBin binary ->32 string archive archive - -# GKS (Graphics Kernel System) -0 string GKSM GKS Metafile ->24 string SunGKS \b, SunGKS - -# CGM image files -0 string BEGMF clear text Computer Graphics Metafile -# XXX - questionable magic -0 beshort&0xffe0 0x0020 binary Computer Graphics Metafile -0 beshort 0x3020 character Computer Graphics Metafile - -# MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de) -0 string yz MGR bitmap, modern format, 8-bit aligned -0 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned -0 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned -0 string yx MGR bitmap, modern format, squeezed - -# Fuzzy Bitmap (FBM) images -0 string %bitmap\0 FBM image data ->30 long 0x31 \b, mono ->30 long 0x33 \b, color - -# facsimile data -1 string PC\ Research,\ Inc group 3 fax data ->29 byte 0 \b, normal resolution (204x98 DPI) ->29 byte 1 \b, fine resolution (204x196 DPI) -# From: Herbert Rosmanith -0 string Sfff structured fax file - - -# PC bitmaps (OS/2, Windoze BMP files) (Greg Roelofs, newt@uchicago.edu) -0 string BM PC bitmap data ->14 leshort 12 \b, OS/2 1.x format ->>18 leshort x \b, %d x ->>20 leshort x %d ->14 leshort 64 \b, OS/2 2.x format ->>18 leshort x \b, %d x ->>20 leshort x %d ->14 leshort 40 \b, Windows 3.x format ->>18 lelong x \b, %d x ->>22 lelong x %d x ->>28 leshort x %d -0 string IC PC icon data -0 string PI PC pointer image data -0 string CI PC color icon data -0 string CP PC color pointer image data -# Conflicts with other entries [BABYL] -#0 string BA PC bitmap array data - -# XPM icons (Greg Roelofs, newt@uchicago.edu) -# note possible collision with C/REXX entry in c-lang; currently commented out -0 string /*\ XPM\ */ X pixmap image text - -# Utah Raster Toolkit RLE images (janl@ifi.uio.no) -0 leshort 0xcc52 RLE image data, ->6 leshort x %d x ->8 leshort x %d ->2 leshort >0 \b, lower left corner: %d ->4 leshort >0 \b, lower right corner: %d ->10 byte&0x1 =0x1 \b, clear first ->10 byte&0x2 =0x2 \b, no background ->10 byte&0x4 =0x4 \b, alpha channel ->10 byte&0x8 =0x8 \b, comment ->11 byte >0 \b, %d color channels ->12 byte >0 \b, %d bits per pixel ->13 byte >0 \b, %d color map channels - -# image file format (Robert Potter, potter@cs.rochester.edu) -0 string Imagefile\ version- iff image data -# this adds the whole header (inc. version number), informative but longish ->10 string >\0 %s - -# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) -0 belong 0x59a66a95 Sun raster image data ->4 belong >0 \b, %d x ->8 belong >0 %d, ->12 belong >0 %d-bit, -#>16 belong >0 %d bytes long, ->20 belong 0 old format, -#>20 belong 1 standard, ->20 belong 2 compressed, ->20 belong 3 RGB, ->20 belong 4 TIFF, ->20 belong 5 IFF, ->20 belong 0xffff reserved for testing, ->24 belong 0 no colormap ->24 belong 1 RGB colormap ->24 belong 2 raw colormap -#>28 belong >0 colormap is %d bytes long - -# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) -# -# See -# http://reality.sgi.com/grafica/sgiimage.html -# -0 beshort 474 SGI image data -#>2 byte 0 \b, verbatim ->2 byte 1 \b, RLE -#>3 byte 1 \b, normal precision ->3 byte 2 \b, high precision ->4 beshort x \b, %d-D ->6 beshort x \b, %d x ->8 beshort x %d ->10 beshort x \b, %d channel ->10 beshort !1 \bs ->80 string >0 \b, "%s" - -0 string IT01 FIT image data ->4 belong x \b, %d x ->8 belong x %d x ->12 belong x %d -# -0 string IT02 FIT image data ->4 belong x \b, %d x ->8 belong x %d x ->12 belong x %d -# -2048 string PCD_IPI Kodak Photo CD image pack file ->0xe02 byte&0x03 0x00 , landscape mode ->0xe02 byte&0x03 0x01 , portrait mode ->0xe02 byte&0x03 0x02 , landscape mode ->0xe02 byte&0x03 0x03 , portrait mode -0 string PCD_OPA Kodak Photo CD overview pack file - -# FITS format. Jeff Uphoff -# FITS is the Flexible Image Transport System, the de facto standard for -# data and image transfer, storage, etc., for the astronomical community. -# (FITS floating point formats are big-endian.) -0 string SIMPLE\ \ = FITS image data ->109 string 8 \b, 8-bit, character or unsigned binary integer ->108 string 16 \b, 16-bit, two's complement binary integer ->107 string \ 32 \b, 32-bit, two's complement binary integer ->107 string -32 \b, 32-bit, floating point, single precision ->107 string -64 \b, 64-bit, floating point, double precision - -# other images -0 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file -0 string !! Bennet Yee's "face" format - -# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image -# stuff. -# -0 beshort 0x1010 PEX Binary Archive - -# Visio drawings -03000 string Visio\ (TM)\ Drawing %s - -# Tgif files -0 string \%TGIF\ x Tgif file version %s - -# DICOM medical imaging data -128 string DICM DICOM medical imaging data - -# XWD - X-Windows Dump file. -# As described in /usr/X11R6/include/X11/XWDFile.h -# used by the xwd program. -# Bradford Castalia, idaeim, 1/01 -4 belong 7 XWD X-Windows Dump image data ->100 string >\0 \b, "%s" ->16 belong x \b, %dx ->20 belong x \b%dx ->12 belong x \b%d - -# PDS - Planetary Data System -# These files use Parameter Value Language in the header section. -# Unfortunately, there is no certain magic, but the following -# strings have been found to be most likely. -0 string NJPL1I00 PDS (JPL) image data -2 string NJPL1I PDS (JPL) image data -0 string CCSD3ZF PDS (CCSD) image data -2 string CCSD3Z PDS (CCSD) image data -0 string PDS_ PDS image data -0 string LBLSIZE= PDS (VICAR) image data - -# pM8x: ATARI STAD compressed bitmap format -# -# from Oskar Schirmer Feb 2, 2001 -# p M 8 5/6 xx yy zz data... -# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed. -# bytes either run horizontally (pM85) or vertically (pM86). yy is the -# most frequent byte, xx and zz are runlength escape codes, where xx is -# used for runs of yy. -# -0 string pM85 Atari ST STAD bitmap image data (hor) ->5 byte 0x00 (white background) ->5 byte 0xFF (black background) -0 string pM86 Atari ST STAD bitmap image data (vert) ->5 byte 0x00 (white background) ->5 byte 0xFF (black background) - -# XXX: -# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other -# magic. -# SGI RICE image file -#0 beshort 0x5249 RICE image -#>2 beshort x v%d -#>4 beshort x (%d x -#>6 beshort x %d) -#>8 beshort 0 8 bit -#>8 beshort 1 10 bit -#>8 beshort 2 12 bit -#>8 beshort 3 13 bit -#>10 beshort 0 4:2:2 -#>10 beshort 1 4:2:2:4 -#>10 beshort 2 4:4:4 -#>10 beshort 3 4:4:4:4 -#>12 beshort 1 RGB -#>12 beshort 2 CCIR601 -#>12 beshort 3 RP175 -#>12 beshort 4 YUV - -#------------------------------------------------------------------------------ -# -# Marco Schmidt (marcoschmidt@users.sourceforge.net) -- an image file format -# for the EPOC operating system, which is used with PDAs like those from Psion -# -# see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description -# of various EPOC file formats - -0 string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file - -# PCX image files -# From: Dan Fandrich -0 beshort 0x0a00 PCX ver. 2.5 image data -0 beshort 0x0a02 PCX ver. 2.8 image data, with palette -0 beshort 0x0a03 PCX ver. 2.8 image data, without palette -0 beshort 0x0a04 PCX for Windows image data -0 beshort 0x0a05 PCX ver. 3.0 image data ->4 leshort x bounding box [%hd, ->6 leshort x %hd] - ->8 leshort x [%hd, ->10 leshort x %hd], ->65 byte >1 %d planes each of ->3 byte x %hhd-bit ->68 byte 0 image, ->68 byte 1 colour, ->68 byte 2 grayscale, ->68 byte >2 image, ->68 byte <0 image, ->12 leshort >0 %hd x ->>14 leshort x %hd dpi, ->2 byte 0 uncompressed ->2 byte 1 RLE compressed diff --git a/contrib/file/Magdir/impulse b/contrib/file/Magdir/impulse deleted file mode 100644 index 64c14c3012..0000000000 --- a/contrib/file/Magdir/impulse +++ /dev/null @@ -1,18 +0,0 @@ -#------------------------------------------------------------------------------ -# impulse tracker: file(1) magic for Impulse Tracker data files -# -# From -# These are the /etc/magic entries to decode modules, instruments, and -# samples in Impulse Tracker's native format. - -0 string IMPS Impulse Tracker Sample ->18 byte &2 16 bit ->18 byte ^2 8 bit ->18 byte &4 stereo ->18 byte ^4 mono -0 string IMPI Impulse Tracker Instrument ->28 leshort !0 ITv%x ->30 byte !0 %d samples -0 string IMPM Impulse Tracker Module ->40 leshort !0 compatible w/ITv%x ->42 leshort !0 created w/ITv%x diff --git a/contrib/file/Magdir/intel b/contrib/file/Magdir/intel deleted file mode 100644 index d450e26616..0000000000 --- a/contrib/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/contrib/file/Magdir/interleaf b/contrib/file/Magdir/interleaf deleted file mode 100644 index 3eea3cff26..0000000000 --- a/contrib/file/Magdir/interleaf +++ /dev/null @@ -1,8 +0,0 @@ - -#------------------------------------------------------------------------------ -# interleaf: file(1) magic for InterLeaf TPS: -# -0 string =\210OPS Interleaf saved data -0 string =5 string ,\ Version\ = \b, version ->>17 string >\0 %.3s diff --git a/contrib/file/Magdir/island b/contrib/file/Magdir/island deleted file mode 100644 index 9903cddf92..0000000000 --- a/contrib/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/contrib/file/Magdir/ispell b/contrib/file/Magdir/ispell deleted file mode 100644 index 592f064ed6..0000000000 --- a/contrib/file/Magdir/ispell +++ /dev/null @@ -1,62 +0,0 @@ - -#------------------------------------------------------------------------------ -# ispell: file(1) magic for ispell -# -# Ispell 3.0 has a magic of 0x9601 and ispell 3.1 has 0x9602. This magic -# will match 0x9600 through 0x9603 in *both* little endian and big endian. -# (No other current magic entries collide.) -# -# Updated by Daniel Quinlan (quinlan@yggdrasil.com) -# -0 leshort&0xFFFC 0x9600 little endian ispell ->0 byte 0 hash file (?), ->0 byte 1 3.0 hash file, ->0 byte 2 3.1 hash file, ->0 byte 3 hash file (?), ->2 leshort 0x00 8-bit, no capitalization, 26 flags ->2 leshort 0x01 7-bit, no capitalization, 26 flags ->2 leshort 0x02 8-bit, capitalization, 26 flags ->2 leshort 0x03 7-bit, capitalization, 26 flags ->2 leshort 0x04 8-bit, no capitalization, 52 flags ->2 leshort 0x05 7-bit, no capitalization, 52 flags ->2 leshort 0x06 8-bit, capitalization, 52 flags ->2 leshort 0x07 7-bit, capitalization, 52 flags ->2 leshort 0x08 8-bit, no capitalization, 128 flags ->2 leshort 0x09 7-bit, no capitalization, 128 flags ->2 leshort 0x0A 8-bit, capitalization, 128 flags ->2 leshort 0x0B 7-bit, capitalization, 128 flags ->2 leshort 0x0C 8-bit, no capitalization, 256 flags ->2 leshort 0x0D 7-bit, no capitalization, 256 flags ->2 leshort 0x0E 8-bit, capitalization, 256 flags ->2 leshort 0x0F 7-bit, capitalization, 256 flags ->4 leshort >0 and %d string characters -0 beshort&0xFFFC 0x9600 big endian ispell ->1 byte 0 hash file (?), ->1 byte 1 3.0 hash file, ->1 byte 2 3.1 hash file, ->1 byte 3 hash file (?), ->2 beshort 0x00 8-bit, no capitalization, 26 flags ->2 beshort 0x01 7-bit, no capitalization, 26 flags ->2 beshort 0x02 8-bit, capitalization, 26 flags ->2 beshort 0x03 7-bit, capitalization, 26 flags ->2 beshort 0x04 8-bit, no capitalization, 52 flags ->2 beshort 0x05 7-bit, no capitalization, 52 flags ->2 beshort 0x06 8-bit, capitalization, 52 flags ->2 beshort 0x07 7-bit, capitalization, 52 flags ->2 beshort 0x08 8-bit, no capitalization, 128 flags ->2 beshort 0x09 7-bit, no capitalization, 128 flags ->2 beshort 0x0A 8-bit, capitalization, 128 flags ->2 beshort 0x0B 7-bit, capitalization, 128 flags ->2 beshort 0x0C 8-bit, no capitalization, 256 flags ->2 beshort 0x0D 7-bit, no capitalization, 256 flags ->2 beshort 0x0E 8-bit, capitalization, 256 flags ->2 beshort 0x0F 7-bit, capitalization, 256 flags ->4 beshort >0 and %d string characters -# ispell 4.0 hash files kromJx -# Ispell 4.0 -0 string ISPL ispell ->4 long x hash file version %d, ->8 long x lexletters %d, ->12 long x lexsize %d, ->16 long x hashsize %d, ->20 long x stblsize %d diff --git a/contrib/file/Magdir/java b/contrib/file/Magdir/java deleted file mode 100644 index d0677bf704..0000000000 --- a/contrib/file/Magdir/java +++ /dev/null @@ -1,11 +0,0 @@ -#------------------------------------------------------------ -# Java ByteCode -# From Larry Schwimmer (schwim@cs.stanford.edu) -0 belong 0xcafebabe compiled Java class data, ->6 beshort x version %d. ->4 beshort x \b%d -#------------------------------------------------------------ -# Java serialization -# From Martin Pool (m.pool@pharos.com.au) -0 beshort 0xaced Java serialization data ->2 beshort >0x0004 \b, version %d diff --git a/contrib/file/Magdir/jpeg b/contrib/file/Magdir/jpeg deleted file mode 100644 index bedc6c9995..0000000000 --- a/contrib/file/Magdir/jpeg +++ /dev/null @@ -1,64 +0,0 @@ - -#------------------------------------------------------------------------------ -# JPEG images -# SunOS 5.5.1 had -# -# 0 string \377\330\377\340 JPEG file -# 0 string \377\330\377\356 JPG file -# -# both of which turn into "JPEG image data" here. -# -0 beshort 0xffd8 JPEG image data ->6 string JFIF \b, JFIF standard ->6 string Exif \b, EXIF standard -# The following added by Erik Rossen 1999-09-06 -# in a vain attempt to add image size reporting for JFIF. Note that these -# tests are not fool-proof since some perfectly valid JPEGs are currently -# impossible to specify in magic(4) format. -# First, a little JFIF version info: ->11 byte x \b %d. ->12 byte x \b%02d -# Next, the resolution or aspect ratio of the image: ->13 byte 0 \b, aspect ratio ->13 byte 1 \b, resolution (DPI) ->13 byte 2 \b, resolution (DPCM) -#>4 beshort x \b, segment length %d -# Next, show thumbnail info, if it exists: ->18 byte !0 \b, thumbnail %dx ->>19 byte x \b%d -# Here things get sticky. We can do ONE MORE marker segment with -# indirect addressing, and that's all. It would be great if we could -# do pointer arithemetic like in an assembler language. Christos? -# And if there was some sort of looping construct to do searches, plus a few -# named accumulators, it would be even more effective... -# At least we can show a comment if no other segments got inserted before: ->(4.S+5) byte 0xFE ->>(4.S+8) string >\0 \b, "%s" -#>(4.S+5) byte 0xFE \b, comment -#>>(4.S+6) beshort x \b length=%d -#>>(4.S+8) string >\0 \b, "%s" -# Or, we can show the encoding type (I've included only the three most common) -# and image dimensions if we are lucky and the SOFn (image segment) is here: ->(4.S+5) byte 0xC0 \b, baseline ->>(4.S+6) byte x \b, precision %d ->>(4.S+7) beshort x \b, %dx ->>(4.S+9) beshort x \b%d ->(4.S+5) byte 0xC1 \b, extended sequential ->>(4.S+6) byte x \b, precision %d ->>(4.S+7) beshort x \b, %dx ->>(4.S+9) beshort x \b%d ->(4.S+5) byte 0xC2 \b, progressive ->>(4.S+6) byte x \b, precision %d ->>(4.S+7) beshort x \b, %dx ->>(4.S+9) beshort x \b%d -# I've commented-out quantisation table reporting. I doubt anyone cares yet. -#>(4.S+5) byte 0xDB \b, quantisation table -#>>(4.S+6) beshort x \b length=%d ->14 beshort x \b, %d x ->16 beshort x \b %d - -# HSI is Handmade Software's proprietary JPEG encoding scheme -0 string hsi1 JPEG image data, HSI proprietary - -# From: David Santinoli -0 string \x00\x00\x00\x0C\x6A\x50\x20\x20\x0D\x0A\x87\x0A JPEG 2000 image data diff --git a/contrib/file/Magdir/karma b/contrib/file/Magdir/karma deleted file mode 100644 index 89e77727ea..0000000000 --- a/contrib/file/Magdir/karma +++ /dev/null @@ -1,8 +0,0 @@ - -#------------------------------------------------------------------------------ -# karma: file(1) magic for Karma data files -# -# From - -0 string KarmaRHD Version Karma Data Structure Version ->16 belong x %lu diff --git a/contrib/file/Magdir/lecter b/contrib/file/Magdir/lecter deleted file mode 100644 index 87c186bab3..0000000000 --- a/contrib/file/Magdir/lecter +++ /dev/null @@ -1,4 +0,0 @@ -#------------------------------------------------------------------------------ -# DEC SRC Virtual Paper: Lectern files -# Karl M. Hegbloom -0 string lect DEC SRC Virtual Paper Lectern file diff --git a/contrib/file/Magdir/lex b/contrib/file/Magdir/lex deleted file mode 100644 index 7b6d0f74a4..0000000000 --- a/contrib/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 -21 string generated\ by\ flex C program text (from flex) -# lex description file, from Daniel Quinlan -0 string %{ lex description text diff --git a/contrib/file/Magdir/lif b/contrib/file/Magdir/lif deleted file mode 100644 index cf20e4997d..0000000000 --- a/contrib/file/Magdir/lif +++ /dev/null @@ -1,7 +0,0 @@ - -#------------------------------------------------------------------------------ -# lif: file(1) magic for lif -# -# (Daniel Quinlan ) -# -0 beshort 0x8000 lif file diff --git a/contrib/file/Magdir/linux b/contrib/file/Magdir/linux deleted file mode 100644 index 4db4958a4d..0000000000 --- a/contrib/file/Magdir/linux +++ /dev/null @@ -1,167 +0,0 @@ - -#------------------------------------------------------------------------------ -# linux: file(1) magic for Linux files -# -# Values for Linux/i386 binaries, from Daniel Quinlan -# The following basic Linux magic is useful for reference, but using -# "long" magic is a better practice in order to avoid collisions. -# -# 2 leshort 100 Linux/i386 -# >0 leshort 0407 impure executable (OMAGIC) -# >0 leshort 0410 pure executable (NMAGIC) -# >0 leshort 0413 demand-paged executable (ZMAGIC) -# >0 leshort 0314 demand-paged executable (QMAGIC) -# -0 lelong 0x00640107 Linux/i386 impure executable (OMAGIC) ->16 lelong 0 \b, stripped -0 lelong 0x00640108 Linux/i386 pure executable (NMAGIC) ->16 lelong 0 \b, stripped -0 lelong 0x0064010b Linux/i386 demand-paged executable (ZMAGIC) ->16 lelong 0 \b, stripped -0 lelong 0x006400cc Linux/i386 demand-paged executable (QMAGIC) ->16 lelong 0 \b, stripped -# -0 string \007\001\000 Linux/i386 object file ->20 lelong >0x1020 \b, DLL library -# Linux-8086 stuff: -0 string \01\03\020\04 Linux-8086 impure executable ->28 long !0 not stripped -0 string \01\03\040\04 Linux-8086 executable ->28 long !0 not stripped -# -0 string \243\206\001\0 Linux-8086 object file -# -0 string \01\03\020\20 Minix-386 impure executable ->28 long !0 not stripped -0 string \01\03\040\20 Minix-386 executable ->28 long !0 not stripped -# core dump file, from Bill Reynolds -216 lelong 0421 Linux/i386 core file ->220 string >\0 of '%s' ->200 lelong >0 (signal %d) -# -# LILO boot/chain loaders, from Daniel Quinlan -# this can be overridden by the DOS executable (COM) entry -2 string LILO Linux/i386 LILO boot/chain loader -# -# Debian Packages, from Peter Tobias -0 string 0.9 ->8 byte 0x0a old Debian Binary Package ->>3 byte >0 \b, created by dpkg 0.9%c ->>4 byte >0 pl%c -# PSF fonts, from H. Peter Anvin -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 -4086 string SWAP-SPACE Linux/i386 swap file -# according to man page of mkswap (8) March 1999 -4086 string SWAPSPACE2 Linux/i386 swap file (new style) -# ECOFF magic for OSF/1 and Linux (only tested under Linux though) -# -# from Erik Troan (ewt@redhat.com) examining od dumps, so this -# could be wrong -# updated by David Mosberger (davidm@azstarnet.com) based on -# GNU BFD and MIPS info found below. -# -0 leshort 0x0183 ECOFF alpha ->24 leshort 0407 executable ->24 leshort 0410 pure ->24 leshort 0413 demand paged ->8 long >0 not stripped ->8 long 0 stripped ->23 leshort >0 - version %ld. -# -# Linux kernel boot images, from Albert Cahalan -# and others such as Axel Kohlmeyer -# and Nicolás Lichtmaier -# All known start with: b8 c0 07 8e d8 b8 00 90 8e c0 b9 00 01 29 f6 29 -514 string HdrS Linux kernel ->518 leshort >0 ->>529 byte 0 zImage data, ->>529 byte 1 bzImage data, ->0x048c byte 0x31 ->>0x048c string x version %s ->0x0493 byte 0x31 ->>0x0493 string x version %s ->0x048c byte 0x32 ->>0x048c string x version %s ->0x0493 byte 0x32 ->>0x0493 string x version %s ->0x04df byte 0x32 ->>0x04df string x version %s ->0x04fb byte 0x32 ->>0x04fb string x version %s -# This also matches new kernels, which were caught above by "HdrS". -0 belong 0xb8c0078e Linux kernel ->0x1e3 string Loading version 1.3.79 or older ->0x1e9 string Loading from prehistoric times -# LSM entries - Nicolás Lichtmaier -0 string Begin3 Linux Software Map entry text - -############################################################################ -# Linux kernel versions - -0 string \xb8\xc0\x07\x8e\xd8\xb8\x00\x90 Linux ->497 leshort 0 x86 boot sector ->>514 belong 0x8e of a kernel from the dawn of time! ->>514 belong 0x908ed8b4 version 0.99-1.1.42 ->>514 belong 0x908ed8b8 for memtest86 - ->497 leshort !0 x86 kernel ->>504 leshort >0 RAMdisksize=%u KB ->>502 leshort >0 swap=0x%X ->>508 leshort >0 root=0x%X ->>>498 leshort 1 \b-ro ->>>498 leshort 0 \b-rw ->>506 leshort 0xFFFF vga=normal ->>506 leshort 0xFFFE vga=extended ->>506 leshort 0xFFFD vga=ask ->>506 leshort >0 vga=%d ->>514 belong 0x908ed881 version 1.1.43-1.1.45 ->>514 belong 0x15b281cd ->>>0xa8e belong 0x55AA5a5a version 1.1.46-1.2.13,1.3.0 ->>>0xa99 belong 0x55AA5a5a version 1.3.1,2 ->>>0xaa3 belong 0x55AA5a5a version 1.3.3-1.3.30 ->>>0xaa6 belong 0x55AA5a5a version 1.3.31-1.3.41 ->>>0xb2b belong 0x55AA5a5a version 1.3.42-1.3.45 ->>>0xaf7 belong 0x55AA5a5a version 1.3.46-1.3.72 ->>514 string HdrS ->>>518 leshort >0x1FF ->>>>529 byte 0 \b, zImage ->>>>529 byte 1 \b, bzImage ->>>>(526.s+0x200) string >\0 \b, version %s - -# Linux boot sector thefts. -0 belong 0xb8c0078e Linux ->0x1e6 belong 0x454c4b53 ELKS Kernel ->0x1e6 belong !0x454c4b53 style boot sector - -############################################################################ -# Linux 8086 executable -0 lelong&0xFF0000FF 0xC30000E9 Linux-Dev86 executable, headerless ->5 string . ->>4 string >\0 \b, libc version %s - -0 lelong&0xFF00FFFF 0x4000301 Linux-8086 executable ->2 byte&0x01 !0 \b, unmapped zero page ->2 byte&0x20 0 \b, impure ->2 byte&0x20 !0 ->>2 byte&0x10 !0 \b, A_EXEC ->2 byte&0x02 !0 \b, A_PAL ->2 byte&0x04 !0 \b, A_NSYM ->2 byte&0x08 !0 \b, A_STAND ->2 byte&0x40 !0 \b, A_PURE ->2 byte&0x80 !0 \b, A_TOVLY ->28 long !0 \b, not stripped ->37 string . ->>36 string >\0 \b, libc version %s - -# 0 lelong&0xFF00FFFF 0x10000301 ld86 I80386 executable -# 0 lelong&0xFF00FFFF 0xB000301 ld86 M68K executable -# 0 lelong&0xFF00FFFF 0xC000301 ld86 NS16K executable -# 0 lelong&0xFF00FFFF 0x17000301 ld86 SPARC executable - diff --git a/contrib/file/Magdir/lisp b/contrib/file/Magdir/lisp deleted file mode 100644 index 42698c0088..0000000000 --- a/contrib/file/Magdir/lisp +++ /dev/null @@ -1,32 +0,0 @@ - -#------------------------------------------------------------------------------ -# lisp: file(1) magic for lisp programs -# -# various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com) - -# This is a guess, but a good one. -0 string ;; Lisp/Scheme program text - -# Emacs 18 - this is always correct, but not very magical. -0 string \012( Emacs v18 byte-compiled Lisp data -# Emacs 19+ - ver. recognition added by Ian Springer -# Also applies to XEmacs 19+ .elc files; could tell them apart if we had regexp -# support or similar - Chris Chittleborough -0 string ;ELC ->4 byte >19 ->4 byte <32 Emacs/XEmacs v%d byte-compiled Lisp data - -# Files produced by CLISP Common Lisp From: Bruno Haible -0 string (SYSTEM::VERSION\040' CLISP byte-compiled Lisp program text -0 long 0x70768BD2 CLISP memory image data -0 long 0xD28B7670 CLISP memory image data, other endian - -# Files produced by GNU gettext -0 long 0xDE120495 GNU-format message catalog data -0 long 0x950412DE GNU-format message catalog data - -#.com and .bin for MIT scheme -0 string \372\372\372\372 MIT scheme (library?) - -# From: David Allouche -0 string \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 -# from NeXTstep 3.0 -# i.e. mc680x0_all, ignore -# >>8 belong 1 (mc68030) ->>8 belong 2 (mc68040) ->>8 belong 3 (mc68030 only) ->4 belong 7 i386 ->4 belong 8 mips ->4 belong 9 ns32532 ->4 belong 10 architecture=10 ->4 belong 11 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/contrib/file/Magdir/macintosh b/contrib/file/Magdir/macintosh deleted file mode 100644 index 277cb6b34d..0000000000 --- a/contrib/file/Magdir/macintosh +++ /dev/null @@ -1,339 +0,0 @@ - -#------------------------------------------------------------------------------ -# macintosh description -# -# BinHex is the Macintosh ASCII-encoded file format (see also "apple") -# Daniel Quinlan, quinlan@yggdrasil.com -11 string must\ be\ converted\ with\ BinHex BinHex binary text ->41 string x \b, version %.3s - -# Stuffit archives are the de facto standard of compression for Macintosh -# files obtained from most archives. (franklsm@tuns.ca) -0 string SIT! StuffIt Archive (data) ->2 string x : %s -0 string SITD StuffIt Deluxe (data) ->2 string x : %s -0 string Seg StuffIt Deluxe Segment (data) ->2 string x : %s - -# Newer StuffIt archives (grant@netbsd.org) -0 string StuffIt StuffIt Archive ->162 string >0 : %s - -# Macintosh Applications and Installation binaries (franklsm@tuns.ca) -0 string APPL Macintosh Application (data) ->2 string x \b: %s - -# Macintosh System files (franklsm@tuns.ca) -0 string zsys Macintosh System File (data) -0 string FNDR Macintosh Finder (data) -0 string libr Macintosh Library (data) ->2 string x : %s -0 string shlb Macintosh Shared Library (data) ->2 string x : %s -0 string cdev Macintosh Control Panel (data) ->2 string x : %s -0 string INIT Macintosh Extension (data) ->2 string x : %s -0 string FFIL Macintosh Truetype Font (data) ->2 string x : %s -0 string LWFN Macintosh Postscript Font (data) ->2 string x : %s - -# Additional Macintosh Files (franklsm@tuns.ca) -0 string PACT Macintosh Compact Pro Archive (data) ->2 string x : %s -0 string ttro Macintosh TeachText File (data) ->2 string x : %s -0 string TEXT Macintosh TeachText File (data) ->2 string x : %s -0 string PDF Macintosh PDF File (data) ->2 string x : %s - -# MacBinary format (Eric Fischer, enf@pobox.com) -# -# Unfortunately MacBinary doesn't really have a magic number prior -# to the MacBinary III format. The checksum is really the way to -# do it, but the magic file format isn't up to the challenge. -# -# 0 byte 0 -# 1 byte # filename length -# 2 string # filename -# 65 string # file type -# 69 string # file creator -# 73 byte # Finder flags -# 74 byte 0 -# 75 beshort # vertical posn in window -# 77 beshort # horiz posn in window -# 79 beshort # window or folder ID -# 81 byte # protected? -# 82 byte 0 -# 83 belong # length of data segment -# 87 belong # length of resource segment -# 91 belong # file creation date -# 95 belong # file modification date -# 99 beshort # length of comment after resource -# 101 byte # new Finder flags -# 102 string mBIN # (only in MacBinary III) -# 106 byte # char. code of file name -# 107 byte # still more Finder flags -# 116 belong # total file length -# 120 beshort # length of add'l header -# 122 byte 129 # for MacBinary II -# 122 byte 130 # for MacBinary III -# 123 byte 129 # minimum version that can read fmt -# 124 beshort # checksum -# -# This attempts to use the version numbers as a magic number, requiring -# that the first one be 0x80, 0x81, 0x82, or 0x83, and that the second -# be 0x81. This works for the files I have, but maybe not for everyone's. - -122 beshort&0xFCFF 0x8081 Macintosh MacBinary data - -# MacBinary I doesn't have the version number field at all, but MacBinary II -# has been in use since 1987 so I hope there aren't many really old files -# floating around that this will miss. The original spec calls for using -# the nulls in 0, 74, and 82 as the magic number. -# -# Another possibility, that would also work for MacBinary I, is to use -# the assumption that 65-72 will all be ASCII (0x20-0x7F), that 73 will -# have bits 1 (changed), 2 (busy), 3 (bozo), and 6 (invisible) unset, -# and that 74 will be 0. So something like -# -# 71 belong&0x80804EFF 0x00000000 Macintosh MacBinary data -# -# >73 byte&0x01 0x01 \b, inited -# >73 byte&0x02 0x02 \b, changed -# >73 byte&0x04 0x04 \b, busy -# >73 byte&0x08 0x08 \b, bozo -# >73 byte&0x10 0x10 \b, system -# >73 byte&0x10 0x20 \b, bundle -# >73 byte&0x10 0x40 \b, invisible -# >73 byte&0x10 0x80 \b, locked - ->65 string x \b, type "%4.4s" - ->65 string 8BIM (PhotoShop) ->65 string ALB3 (PageMaker 3) ->65 string ALB4 (PageMaker 4) ->65 string ALT3 (PageMaker 3) ->65 string APPL (application) ->65 string AWWP (AppleWorks word processor) ->65 string CIRC (simulated circuit) ->65 string DRWG (MacDraw) ->65 string EPSF (Encapsulated PostScript) ->65 string FFIL (font suitcase) ->65 string FKEY (function key) ->65 string FNDR (Macintosh Finder) ->65 string GIFf (GIF image) ->65 string Gzip (GNU gzip) ->65 string INIT (system extension) ->65 string LIB\ (library) ->65 string LWFN (PostScript font) ->65 string MSBC (Microsoft BASIC) ->65 string PACT (Compact Pro archive) ->65 string PDF\ (Portable Document Format) ->65 string PICT (picture) ->65 string PNTG (MacPaint picture) ->65 string PREF (preferences) ->65 string PROJ (Think C project) ->65 string QPRJ (Think Pascal project) ->65 string SCFL (Defender scores) ->65 string SCRN (startup screen) ->65 string SITD (StuffIt Deluxe) ->65 string SPn3 (SuperPaint) ->65 string STAK (HyperCard stack) ->65 string Seg\ (StuffIt segment) ->65 string TARF (Unix tar archive) ->65 string TEXT (ASCII) ->65 string TIFF (TIFF image) ->65 string TOVF (Eudora table of contents) ->65 string WDBN (Microsoft Word word processor) ->65 string WORD (MacWrite word processor) ->65 string XLS\ (Microsoft Excel) ->65 string ZIVM (compress (.Z)) ->65 string ZSYS (Pre-System 7 system file) ->65 string acf3 (Aldus FreeHand) ->65 string cdev (control panel) ->65 string dfil (Desk Acessory suitcase) ->65 string libr (library) ->65 string nX^d (WriteNow word processor) ->65 string nX^w (WriteNow dictionary) ->65 string rsrc (resource) ->65 string scbk (Scrapbook) ->65 string shlb (shared library) ->65 string ttro (SimpleText read-only) ->65 string zsys (system file) - ->69 string x \b, creator "%4.4s" - -# Somewhere, Apple has a repository of registered Creator IDs. These are -# just the ones that I happened to have files from and was able to identify. - ->69 string 8BIM (Adobe Photoshop) ->69 string ALD3 (PageMaker 3) ->69 string ALD4 (PageMaker 4) ->69 string ALFA (Alpha editor) ->69 string APLS (Apple Scanner) ->69 string APSC (Apple Scanner) ->69 string BRKL (Brickles) ->69 string BTFT (BitFont) ->69 string CCL2 (Common Lisp 2) ->69 string CCL\ (Common Lisp) ->69 string CDmo (The Talking Moose) ->69 string CPCT (Compact Pro) ->69 string CSOm (Eudora) ->69 string DMOV (Font/DA Mover) ->69 string DSIM (DigSim) ->69 string EDIT (Macintosh Edit) ->69 string ERIK (Macintosh Finder) ->69 string EXTR (self-extracting archive) ->69 string Gzip (GNU gzip) ->69 string KAHL (Think C) ->69 string LWFU (LaserWriter Utility) ->69 string LZIV (compress) ->69 string MACA (MacWrite) ->69 string MACS (Macintosh operating system) ->69 string MAcK (MacKnowledge terminal emulator) ->69 string MLND (Defender) ->69 string MPNT (MacPaint) ->69 string MSBB (Microsoft BASIC (binary)) ->69 string MSWD (Microsoft Word) ->69 string NCSA (NCSA Telnet) ->69 string PJMM (Think Pascal) ->69 string PSAL (Hunt the Wumpus) ->69 string PSI2 (Apple File Exchange) ->69 string R*ch (BBEdit) ->69 string RMKR (Resource Maker) ->69 string RSED (Resource Editor) ->69 string Rich (BBEdit) ->69 string SIT! (StuffIt) ->69 string SPNT (SuperPaint) ->69 string Unix (NeXT Mac filesystem) ->69 string VIM! (Vim editor) ->69 string WILD (HyperCard) ->69 string XCEL (Microsoft Excel) ->69 string aCa2 (Fontographer) ->69 string aca3 (Aldus FreeHand) ->69 string dosa (Macintosh MS-DOS file system) ->69 string movr (Font/DA Mover) ->69 string nX^n (WriteNow) ->69 string pdos (Apple ProDOS file system) ->69 string scbk (Scrapbook) ->69 string ttxt (SimpleText) ->69 string ufox (Foreign File Access) - -# Just in case... - -102 string mBIN MacBinary III data with surprising version number - -# sas magic from Bruce Foster (bef@nwu.edu) -# -#0 string SAS SAS -#>8 string x %s -0 string SAS SAS ->24 string DATA data file ->24 string CATALOG catalog ->24 string INDEX data file index ->24 string VIEW data view -# spss magic for SPSS system and portable files, -# from Bruce Foster (bef@nwu.edu). - -0 long 0xc1e2c3c9 SPSS Portable File ->40 string x %s - -0 string $FL2 SPSS System File ->24 string x %s - -# Macintosh filesystem data -# From "Tom N Harris" -# The MacOS epoch begins on 1 Jan 1904 instead of 1 Jan 1970, so these -# entries depend on the data arithmetic added after v.35 -# There's also some Pascal strings in here, ditto... - -# The boot block signature, according to IM:Files, is -# "for HFS volumes, this field always contains the value 0x4C4B." -# But if this is true for MFS or HFS+ volumes, I don't know. -# Alternatively, the boot block is supposed to be zeroed if it's -# unused, so a simply >0 should suffice. - -0x400 beshort 0xD2D7 Macintosh MFS data ->0 beshort 0x4C4B (bootable) ->0x40a beshort &0x8000 (locked) ->0x402 beldate-0x7C25B080 x created: %s, ->0x406 beldate-0x7C25B080 >0 last backup: %s, ->0x414 belong x block size: %d, ->0x412 beshort x number of blocks: %d, ->0x424 pstring x volume name: %s - -0x400 beshort 0x4244 Macintosh HFS data ->0 beshort 0x4C4B (bootable) ->0x40a beshort &0x8000 (locked) ->0x40a beshort ^0x0100 (mounted) ->0x40a beshort &0x0800 (unclean) ->0x402 beldate-0x7C25B080 x created: %s, ->0x406 beldate-0x7C25B080 x last modified: %s, ->0x440 beldate-0x7C25B080 >0 last backup: %s, ->0x414 belong x block size: %d, ->0x412 beshort x number of blocks: %d, ->0x424 pstring x volume name: %s -#>0x480 beshort =0x482B Embedded HFS+ Volume: -#>>((0x482*(0x414))+(0x41c*512)) x \b -# Well, this is (theoretically) how we could do this. But it occurs to -# me that we likely don't read in a large enough chunk. I don't have any -# HFS+ volumes to see what a typical offset would be. - -0x400 beshort 0x482B Macintosh HFS Extended ->&2 beshort x version %d data ->0 beshort 0x4C4B (bootable) ->&4 belong ^0x00000100 (mounted) ->&4 belong &0x00000800 (unclean) ->&4 belong &0x00008000 (locked) ->&8 string x last mounted by: '%.4s', -# really, that should be treated as a belong and we print a string -# based on the value. TN1150 only mentions '8.10' for "MacOS 8.1" ->&16 beldate-0x7C25B080 x created: %s, ->&20 beldate-0x7C25B080 x last modified: %s, ->&24 beldate-0x7C25B080 >0 last backup: %s, ->&28 beldate-0x7C25B080 >0 last checked: %s, ->&40 belong x block size: %d, ->&44 belong x number of blocks: %d, ->&48 belong x free blocks: %d - -# I don't think this is really necessary since it doesn't do much and -# anything with a valid driver descriptor will also have a valid -# partition map -#0 beshort 0x4552 Apple Device Driver data -#>&24 beshort =1 \b, MacOS - -# Is that the partition type a cstring or a pstring? Well, IM says "strings -# shorter than 32 bytes must be terminated with NULL" so I'll treat it as a -# cstring. Of course, partitions can contain more than four entries, but -# what're you gonna do? -0x200 beshort 0x504D Apple Partition data ->&2 beshort x block size: %d ->&48 string x first type: %s, ->&12 belong x number of blocks: %d, ->(&0x2.S) beshort 0x504D ->>&48 string x second type: %s ->>&12 belong x number of blocks: %d, ->>(&0x2.S) beshort 0x504D ->>>&48 string x third type: %s ->>>&12 belong x number of blocks: %d, ->>>(&0x2.S) beshort 0x504D ->>>>&48 string x fourth type: %s ->>>>&12 belong x number of blocks: %d, -# AFAIK, only the signature is different -0x200 beshort 0x5453 Apple Old Partition data ->&2 beshort x block size: %d ->&48 string x first type: %s, ->&12 belong x number of blocks: %d, ->(&0x2.S) beshort 0x504D ->>&48 string x second type: %s ->>&12 belong x number of blocks: %d, ->>(&0x2.S) beshort 0x504D ->>>&48 string x third type: %s ->>>&12 belong x number of blocks: %d, ->>>(&0x2.S) beshort 0x504D ->>>>&48 string x fourth type: %s ->>>>&12 belong x number of blocks: %d, diff --git a/contrib/file/Magdir/magic b/contrib/file/Magdir/magic deleted file mode 100644 index 3bf4e2ee7a..0000000000 --- a/contrib/file/Magdir/magic +++ /dev/null @@ -1,9 +0,0 @@ - -#------------------------------------------------------------------------------ -# magic: file(1) magic for magic files -# -0 string #\ Magic magic text file for file(1) cmd -0 lelong 0xF11E041C magic binary file for file(1) cmd ->4 lelong x (version %d) (little endian) -0 belong 0xF11E041C magic binary file for file(1) cmd ->4 belong x (version %d) (big endian) diff --git a/contrib/file/Magdir/mail.news b/contrib/file/Magdir/mail.news deleted file mode 100644 index ab8b293c3b..0000000000 --- a/contrib/file/Magdir/mail.news +++ /dev/null @@ -1,28 +0,0 @@ - -#------------------------------------------------------------------------------ -# mail.news: file(1) magic for mail and news -# -# Unfortunately, saved netnews also has From line added in some news software. -#0 string From mail text -# There are tests to ascmagic.c to cope with mail and news. -0 string Relay-Version: old news text -0 string #!\ rnews batched news text -0 string N#!\ rnews mailed, batched news text -0 string Forward\ to mail forwarding text -0 string Pipe\ to mail piping text -0 string Return-Path: smtp mail text -0 string Path: news text -0 string Xref: news text -0 string From: news or mail text -0 string Article saved news text -0 string BABYL Emacs RMAIL text -0 string Received: RFC 822 mail text -0 string MIME-Version: MIME entity text -#0 string Content- MIME entity text - -# TNEF files... -0 lelong 0x223E9F78 Transport Neutral Encapsulation Format - -# From: Kevin Sullivan -0 string *mbx* MBX mail folder - diff --git a/contrib/file/Magdir/maple b/contrib/file/Magdir/maple deleted file mode 100644 index f39c62d253..0000000000 --- a/contrib/file/Magdir/maple +++ /dev/null @@ -1,57 +0,0 @@ - -#------------------------------------------------------------------------------ -# maple: file(1) magic for maple files -# "H. Nanosecond" -# Maple V release 4, a multi-purpose math program -# - -# maple library .lib -0 string \000MVR4\nI MapleVr4 library - -# .ind -# no magic for these :-( -# they are compiled indexes for maple files - -# .hdb -0 string \000\004\000\000 Maple help database - -# .mhp -# this has the form -0 string \9 string >\0 version %.1s. ->>10 string ->>>11 string >\0 %.1s - -# .mps -0 string \0\0\001$ Maple something -# from byte 4 it is either 'nul E' or 'soh R' -# I think 'nul E' means a file that was saved as a different name -# a sort of revision marking -# 'soh R' means new ->4 string \000\105 An old revision ->4 string \001\122 The latest save - -# .mpl -# some of these are the same as .mps above -#0000000 000 000 001 044 000 105 same as .mps -#0000000 000 000 001 044 001 122 same as .mps - -0 string #\n##\ Maple something anomalous. diff --git a/contrib/file/Magdir/mathematica b/contrib/file/Magdir/mathematica deleted file mode 100644 index 136c25361e..0000000000 --- a/contrib/file/Magdir/mathematica +++ /dev/null @@ -1,59 +0,0 @@ - -#------------------------------------------------------------------------------ -# mathematica: file(1) magic for mathematica files -# "H. Nanosecond" -# Mathematica a multi-purpose math program -# versions 2.2 and 3.0 - -#mathematica .mb -0 string \064\024\012\000\035\000\000\000 Mathematica version 2 notebook -0 string \064\024\011\000\035\000\000\000 Mathematica version 2 notebook - -# .ma -# multiple possibilites: - -0 string (*^\n\n::[\011frontEndVersion\ =\ Mathematica notebook -#>41 string >\0 %s - -#0 string (*^\n\n::[\011palette Mathematica notebook version 2.x - -#0 string (*^\n\n::[\011Information Mathematica notebook version 2.x -#>675 string >\0 %s #doesn't work well - -# there may be 'cr' instread of 'nl' in some does this matter? - -# generic: -0 string (*^\r\r::[\011 Mathematica notebook version 2.x -0 string \(\*\^\r\n\r\n\:\:\[\011 Mathematica notebook version 2.x -0 string (*^\015 Mathematica notebook version 2.x -0 string (*^\n\r\n\r::[\011 Mathematica notebook version 2.x -0 string (*^\r::[\011 Mathematica notebook version 2.x -0 string (*^\r\n::[\011 Mathematica notebook version 2.x -0 string (*^\n\n::[\011 Mathematica notebook version 2.x -0 string (*^\n::[\011 Mathematica notebook version 2.x - - -# Mathematica .mx files - -#0 string (*This\ is\ a\ Mathematica\ binary\ dump\ file.\ It\ can\ be\ loaded\ with\ Get.*) Mathematica binary file -0 string (*This\ is\ a\ Mathematica\ binary\ Mathematica binary file -#>71 string \000\010\010\010\010\000\000\000\000\000\000\010\100\010\000\000\000 -# >71... is optional ->88 string >\0 from %s - - -# Mathematica files PBF: -# 115 115 101 120 102 106 000 001 000 000 000 203 000 001 000 -0 string MMAPBF\000\001\000\000\000\203\000\001\000 Mathematica PBF (fonts I think) - -# .ml files These are menu resources I think -# these start with "[0-9][0-9][0-9]\ A~[0-9][0-9][0-9]\ -# how to put that into a magic rule? -4 string \ A~ MAthematica .ml file - -# .nb files -#too long 0 string (***********************************************************************\n\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Mathematica-Compatible Notebook Mathematica 3.0 notebook -0 string (*********************** Mathematica 3.0 notebook - -# other (* matches it is a comment start in these langs -0 string (* Mathematica, or Pascal, Modula-2 or 3 code diff --git a/contrib/file/Magdir/mcrypt b/contrib/file/Magdir/mcrypt deleted file mode 100644 index e862f59d74..0000000000 --- a/contrib/file/Magdir/mcrypt +++ /dev/null @@ -1,36 +0,0 @@ -#------------------------------------------------------------------------------ -# Mavroyanopoulos Nikos -# mcrypt: file(1) magic for mcrypt 2.2.x; -0 string \0m\3 mcrypt 2.5 encrypted data, ->4 string >\0 algorithm: %s, ->>&1 leshort >0 keysize: %d bytes, ->>>&0 string >\0 mode: %s, - -0 string \0m\2 mcrypt 2.2 encrypted data, ->3 byte 0 algorithm: blowfish-448, ->3 byte 1 algorithm: DES, ->3 byte 2 algorithm: 3DES, ->3 byte 3 algorithm: 3-WAY, ->3 byte 4 algorithm: GOST, ->3 byte 6 algorithm: SAFER-SK64, ->3 byte 7 algorithm: SAFER-SK128, ->3 byte 8 algorithm: CAST-128, ->3 byte 9 algorithm: xTEA, ->3 byte 10 algorithm: TWOFISH-128, ->3 byte 11 algorithm: RC2, ->3 byte 12 algorithm: TWOFISH-192, ->3 byte 13 algorithm: TWOFISH-256, ->3 byte 14 algorithm: blowfish-128, ->3 byte 15 algorithm: blowfish-192, ->3 byte 16 algorithm: blowfish-256, ->3 byte 100 algorithm: RC6, ->3 byte 101 algorithm: IDEA, ->4 byte 0 mode: CBC, ->4 byte 1 mode: ECB, ->4 byte 2 mode: CFB, ->4 byte 3 mode: OFB, ->4 byte 4 mode: nOFB, ->5 byte 0 keymode: 8bit ->5 byte 1 keymode: 4bit ->5 byte 2 keymode: SHA-1 hash ->5 byte 3 keymode: MD5 hash diff --git a/contrib/file/Magdir/mime b/contrib/file/Magdir/mime deleted file mode 100644 index 0102709191..0000000000 --- a/contrib/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/contrib/file/Magdir/mips b/contrib/file/Magdir/mips deleted file mode 100644 index 9333bde9fc..0000000000 --- a/contrib/file/Magdir/mips +++ /dev/null @@ -1,177 +0,0 @@ - -#------------------------------------------------------------------------------ -# mips: file(1) magic for Silicon Graphics (MIPS, IRIS, IRIX, etc.) -# Dec Ultrix (MIPS) -# all of SGI's *current* machines and OSes run in big-endian mode on the -# MIPS machines, as far as I know. -# -# XXX - what is the blank "-" line? -# -# kbd file definitions -0 string kbd!map kbd map file ->8 byte >0 Ver %d: ->10 short >0 with %d table(s) -0 belong 0407 old SGI 68020 executable -0 belong 0410 old SGI 68020 pure executable -0 beshort 0x8765 disk quotas file -0 beshort 0x0506 IRIS Showcase file ->2 byte 0x49 - ->3 byte x - version %ld -0 beshort 0x0226 IRIS Showcase template ->2 byte 0x63 - ->3 byte x - version %ld -0 belong 0x5343464d IRIS Showcase file ->4 byte x - version %ld -0 belong 0x5443464d IRIS Showcase template ->4 byte x - version %ld -0 belong 0xdeadbabe IRIX Parallel Arena ->8 belong >0 - version %ld -# -0 beshort 0x0160 MIPSEB ECOFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->22 byte x - version %ld ->23 byte x .%ld -# -0 beshort 0x0162 MIPSEL-BE ECOFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %d ->22 byte x .%ld -# -0 beshort 0x6001 MIPSEB-LE ECOFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %d ->22 byte x .%ld -# -0 beshort 0x6201 MIPSEL ECOFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %ld ->22 byte x .%ld -# -# MIPS 2 additions -# -0 beshort 0x0163 MIPSEB MIPS-II ECOFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->22 byte x - version %ld ->23 byte x .%ld -# -0 beshort 0x0166 MIPSEL-BE MIPS-II ECOFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->22 byte x - version %ld ->23 byte x .%ld -# -0 beshort 0x6301 MIPSEB-LE MIPS-II ECOFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %ld ->22 byte x .%ld -# -0 beshort 0x6601 MIPSEL MIPS-II ECOFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %ld ->22 byte x .%ld -# -# MIPS 3 additions -# -0 beshort 0x0140 MIPSEB MIPS-III ECOFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->22 byte x - version %ld ->23 byte x .%ld -# -0 beshort 0x0142 MIPSEL-BE MIPS-III ECOFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->22 byte x - version %ld ->23 byte x .%ld -# -0 beshort 0x4001 MIPSEB-LE MIPS-III ECOFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %ld ->22 byte x .%ld -# -0 beshort 0x4201 MIPSEL MIPS-III ECOFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %ld ->22 byte x .%ld -# -0 beshort 0x180 MIPSEB Ucode -0 beshort 0x182 MIPSEL-BE Ucode -# 32bit core file -0 belong 0xdeadadb0 IRIX core dump ->4 belong 1 of ->16 string >\0 '%s' -# 64bit core file -0 belong 0xdeadad40 IRIX 64-bit core dump ->4 belong 1 of ->16 string >\0 '%s' -# N32bit core file -0 belong 0xbabec0bb IRIX N32 core dump ->4 belong 1 of ->16 string >\0 '%s' -# New style crash dump file -0 string \x43\x72\x73\x68\x44\x75\x6d\x70 IRIX vmcore dump of ->36 string >\0 '%s' -# Trusted IRIX info -0 string SGIAUDIT SGI Audit file ->8 byte x - version %d ->9 byte x .%ld -# -0 string WNGZWZSC Wingz compiled script -0 string WNGZWZSS Wingz spreadsheet -0 string WNGZWZHP Wingz help file -# -0 string \#Inventor V IRIS Inventor 1.0 file -0 string \#Inventor V2 Open Inventor 2.0 file -# GLF is OpenGL stream encoding -0 string glfHeadMagic(); GLF_TEXT -4 belong 0x7d000000 GLF_BINARY_LSB_FIRST -4 belong 0x0000007d GLF_BINARY_MSB_FIRST -# GLS is OpenGL stream encoding; GLS is the successor of GLF -0 string glsBeginGLS( GLS_TEXT -4 belong 0x10000000 GLS_BINARY_LSB_FIRST -4 belong 0x00000010 GLS_BINARY_MSB_FIRST diff --git a/contrib/file/Magdir/mirage b/contrib/file/Magdir/mirage deleted file mode 100644 index 73c3747bb7..0000000000 --- a/contrib/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/contrib/file/Magdir/mkid b/contrib/file/Magdir/mkid deleted file mode 100644 index dfb2d93f43..0000000000 --- a/contrib/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/contrib/file/Magdir/mlssa b/contrib/file/Magdir/mlssa deleted file mode 100644 index 21ab61e1d8..0000000000 --- a/contrib/file/Magdir/mlssa +++ /dev/null @@ -1,7 +0,0 @@ - -#------------------------------------------------------------------------------ -# mlssa: file(1) magic for MLSSA datafiles -# -0 lelong 0xffffabcd MLSSA datafile, ->4 leshort x algorithm %d, ->10 lelong x %d samples diff --git a/contrib/file/Magdir/mmdf b/contrib/file/Magdir/mmdf deleted file mode 100644 index 72cd9f3258..0000000000 --- a/contrib/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/contrib/file/Magdir/modem b/contrib/file/Magdir/modem deleted file mode 100644 index 73e747e161..0000000000 --- a/contrib/file/Magdir/modem +++ /dev/null @@ -1,33 +0,0 @@ -#------------------------------------------------------------------------------ -# modem: file(1) magic for modem programs -# -# From: Florian La Roche -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/contrib/file/Magdir/motorola b/contrib/file/Magdir/motorola deleted file mode 100644 index 1a3174cc60..0000000000 --- a/contrib/file/Magdir/motorola +++ /dev/null @@ -1,50 +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 -0 string S0 Motorola S-Record; binary data in text format - -# ATARI ST relocatable PRG -# -# from Oskar Schirmer Feb 3, 2001 -# (according to Roland Waldi, Oct 21, 1987) -# besides the magic 0x601a, the text segment size is checked to be -# not larger than 1 MB (which is a lot on ST). -# The additional 0x601b distinction I took from Doug Lee's magic. -0 belong&0xFFFFFFF0 0x601A0000 Atari ST M68K contiguous executable ->2 belong x (txt=%ld, ->6 belong x dat=%ld, ->10 belong x bss=%ld, ->14 belong x sym=%ld) -0 belong&0xFFFFFFF0 0x601B0000 Atari ST M68K non-contig executable ->2 belong x (txt=%ld, ->6 belong x dat=%ld, ->10 belong x bss=%ld, ->14 belong x sym=%ld) diff --git a/contrib/file/Magdir/msdos b/contrib/file/Magdir/msdos deleted file mode 100644 index 99f1109581..0000000000 --- a/contrib/file/Magdir/msdos +++ /dev/null @@ -1,311 +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 - -# XXX - according to Microsoft's spec, at an offset of 0x3c in a -# PE-format executable is the offset in the file of the PE header; -# unfortunately, that's a little-endian offset, and there's no way -# to specify an indirect offset with a specified byte order. -# So, for now, we assume the standard MS-DOS stub, which puts the -# PE header at 0x80 = 128. -# -# Required OS version and subsystem version were 4.0 on some NT 3.51 -# executables built with Visual C++ 4.0, so it's not clear that -# they're interesting. The user version was 0.0, but there's -# probably some linker directive to set it. The linker version was -# 3.0, except for one ".exe" which had it as 4.20 (same damn linker!). -# -128 string PE\0\0 MS Windows PE ->150 leshort&0x0100 >0 32-bit ->132 leshort 0x0 unknown processor ->132 leshort 0x14c Intel 80386 ->132 leshort 0x166 MIPS R4000 ->132 leshort 0x184 Alpha ->132 leshort 0x268 Motorola 68000 ->132 leshort 0x1f0 PowerPC ->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 leshort 0x14c MS Windows COFF Intel 80386 object file -#>4 ledate x stamp %s -0 leshort 0x166 MS Windows COFF MIPS R4000 object file -#>4 ledate x stamp %s -0 leshort 0x184 MS Windows COFF Alpha object file -#>4 ledate x stamp %s -0 leshort 0x268 MS Windows COFF Motorola 68000 object file -#>4 ledate x stamp %s -0 leshort 0x1f0 MS Windows COFF PowerPC object file -#>4 ledate x stamp %s -0 leshort 0x290 MS Windows COFF PA-RISC object file -#>4 ledate x stamp %s - -# .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 ->>122 string Windows\ self-extracting\ ZIP \b, %s ->0x1c string RJSX\xff\xff \b, ARJ SFX ->0x1c string diet\xf9\x9c \b, diet compressed ->0x1c string LZ09 \b, LZEXE v0.90 compressed ->0x1c string LZ91 \b, LZEXE v0.91 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 (for polish Word) -2112 string MSWordDoc Microsoft Word document data -# -0 belong 0x31be0000 Microsoft Word Document -# -0 string PO^Q` Microsoft Word 6.0 Document -# -0 string \376\067\0\043 Microsoft Office Document -0 string \320\317\021\340\241\261 Microsoft Office Document -0 string \333\245-\0\0\0 Microsoft Office Document -# -2080 string Microsoft\ Excel\ 5.0\ Worksheet %s -# -# Pawel Wiecek (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 - -# Help files -0 string ?_\3\0 MS Windows Help Data - -# Microsoft CAB distribution format Dale Worley -0 string MSCF\000\000\000\000 Microsoft CAB file - -# DeIsL1.isu what this is I don't know -0 string \161\250\000\000\001\002 DeIsL1.isu whatever that is - -# Winamp .avs -#0 string Nullsoft\ AVS\ Preset\ \060\056\061\032 A plug in for Winamp ms-windows Freeware media player -0 string Nullsoft\ AVS\ Preset\ Winamp plug in - -# Hyper terminal: -0 string HyperTerminal\ hyperterm ->15 string 1.0\ --\ HyperTerminal\ data\ file MS-windows Hyperterminal - -# Windows Metafont .WMF -0 string \327\315\306\232\000\000\000\000\000\000 ms-windows metafont .wmf - -#tz3 files whatever that is (MS Works files) -0 string \003\001\001\004\070\001\000\000 tz3 ms-works file -0 string \003\002\001\004\070\001\000\000 tz3 ms-works file -0 string \003\003\001\004\070\001\000\000 tz3 ms-works file - -# PGP sig files .sig -#0 string \211\000\077\003\005\000\063\237\127 065 to \027\266\151\064\005\045\101\233\021\002 PGP sig -0 string \211\000\077\003\005\000\063\237\127\065\027\266\151\064\005\045\101\233\021\002 PGP sig -0 string \211\000\077\003\005\000\063\237\127\066\027\266\151\064\005\045\101\233\021\002 PGP sig -0 string \211\000\077\003\005\000\063\237\127\067\027\266\151\064\005\045\101\233\021\002 PGP sig -0 string \211\000\077\003\005\000\063\237\127\070\027\266\151\064\005\045\101\233\021\002 PGP sig -0 string \211\000\077\003\005\000\063\237\127\071\027\266\151\064\005\045\101\233\021\002 PGP sig -0 string \211\000\225\003\005\000\062\122\207\304\100\345\042 PGP sig - -# windows zips files .dmf -0 string MDIF\032\000\010\000\000\000\372\046\100\175\001\000\001\036\001\000 Ms-windows special zipped file - - -# Windows help file FTG FTS -0 string \164\146\115\122\012\000\000\000\001\000\000\000 ms-windows help cache - -# grp old windows 3.1 group files -0 string \120\115\103\103 Ms-windows 3.1 group files - - -# lnk files windows symlinks -0 string \114\000\000\000\001\024\002\000\000\000\000\000\300\000\000\000\000\000\000\106 ms-Windows shortcut - -#ico files -0 string \102\101\050\000\000\000\056\000\000\000\000\000\000\000 Icon for ms-windows - -# Windows icons (Ian Springer ) -0 string \000\000\001\000 ms-windows icon resource ->4 byte 1 - 1 icon ->4 byte >1 - %d icons ->>6 byte >0 \b, %dx ->>>7 byte >0 \b%d ->>8 byte 0 \b, 256-colors ->>8 byte >0 \b, %d-colors - - -# True Type fonts currently misidentified as raw G3 data - -0 string \000\001\000\000\000 MS-Windows true type font .ttf - - -# .chr files -0 string PK\010\010BGI Borland font ->4 string >\0 %s -# then there is a copyright notice - - -# .bgi files -0 string pk\010\010BGI Borland device ->4 string >\0 %s -# then there is a copyright notice - - -# recycled/info the windows trash bin index -9 string \000\000\000\030\001\000\000\000 ms-windows recycled bin info - - -##### put in Either Magic/font or Magic/news -# Acroread or something files wrongly identified as G3 .pfm -# these have the form \000 \001 any? \002 \000 \000 -# or \000 \001 any? \022 \000 \000 -0 string \000\001 pfm? ->3 string \022\000\000Copyright\ yes ->3 string \002\000\000Copyright\ yes -#>3 string >\0 oops, not a font file. Cancel that. -#it clashes with ttf files so put it lower down. - -# From Doug Lee via a FreeBSD pr -9 string GERBILDOC First Choice document -9 string GERBILDB First Choice database -9 string GERBILCLIP First Choice database -0 string GERBIL First Choice device file -9 string RABBITGRAPH RabbitGraph file -0 string DCU1 Borland Delphi .DCU file -0 string ! MKS Spell hash list (old format) -0 string ! MKS Spell hash list -0 string AH Halo(TM) bitmapped font file -0 lelong 0x08086b70 TurboC BGI file -0 lelong 0x08084b50 TurboC Font file - -# WARNING: below line conflicts with Infocom game data Z-machine 3 -0 byte 0x03 DBase 3 data file ->0x04 lelong 0 (no records) ->0x04 lelong >0 (%ld records) -0 byte 0x83 DBase 3 data file with memo(s) ->0x04 lelong 0 (no records) ->0x04 lelong >0 (%ld records) -0 leshort 0x0006 DBase 3 index file -0 string PMCC Windows 3.x .GRP file -1 string RDC-meg MegaDots ->8 byte >0x2F version %c ->9 byte >0x2F \b.%c file -0 lelong 0x4C ->4 lelong 0x00021401 Windows shortcut file - -# DOS EPS Binary File Header -# From: Ed Sznyter -0 belong 0xC5D0D3C6 DOS EPS Binary File ->4 long >0 Postscript starts at byte %d ->>8 long >0 length %d ->>>12 long >0 Metafile starts at byte %d ->>>>16 long >0 length %d ->>>20 long >0 TIFF starts at byte %d ->>>>24 long >0 length %d - -# TNEF magic From "Joomy" -0 leshort 0x223e9f78 TNEF diff --git a/contrib/file/Magdir/msvc b/contrib/file/Magdir/msvc deleted file mode 100644 index 95853fec9b..0000000000 --- a/contrib/file/Magdir/msvc +++ /dev/null @@ -1,44 +0,0 @@ - -#------------------------------------------------------------------------------ -# msvc: file(1) magic for msvc -# "H. Nanosecond" -# Microsoft visual C -# -# I have version 1.0 - -# .aps -0 string HWB\000\377\001\000\000\000 Microsoft Visual C .APS file - -# .ide -#too long 0 string \102\157\162\154\141\156\144\040\103\053\053\040\120\162\157\152\145\143\164\040\106\151\154\145\012\000\032\000\002\000\262\000\272\276\372\316 MSVC .ide -0 string \102\157\162\154\141\156\144\040\103\053\053\040\120\162\157 MSVC .ide - -# .res -0 string \000\000\000\000\040\000\000\000\377 MSVC .res -0 string \377\003\000\377\001\000\020\020\350 MSVC .res -0 string \377\003\000\377\001\000\060\020\350 MSVC .res - -#.lib -0 string \360\015\000\000 Microsoft Visual C library -0 string \360\075\000\000 Microsoft Visual C library -0 string \360\175\000\000 Microsoft Visual C library - -#.pch -0 string DTJPCH0\000\022\103\006\200 Microsoft Visual C .pch - -# .pdb -# too long 0 string Microsoft\ C/C++\ program\ database\ -0 string Microsoft\ C/C++\ MSVC program database ->18 string program\ database\ ->33 string >\0 ver %s - -#.sbr -0 string \000\002\000\007\000 MSVC .sbr ->5 string >\0 %s - -#.bsc -0 string \002\000\002\001 MSVC .bsc - -#.wsp -0 string 1.00\ .0000.0000\000\003 MSVC .wsp version 1.0000.0000 -# these seem to start with the version and contain menus diff --git a/contrib/file/Magdir/natinst b/contrib/file/Magdir/natinst deleted file mode 100644 index 5deb9dedf7..0000000000 --- a/contrib/file/Magdir/natinst +++ /dev/null @@ -1,23 +0,0 @@ - -#----------------------------------------------------------------------------- -# natinst: file(1) magic for National Instruments Code Files - -# -# From Enrique Gámez-Flores -# version 1 -# Many formats still missing, we use, for the moment LabVIEW -# We guess VXI format file. VISA, LabWindowsCVI, BridgeVIEW, etc, are missing -# -0 string RSRC National Instruments, -# Check if it's a LabVIEW File ->8 string LV LabVIEW File, -# Check wich kind of file is ->>10 string SB Code Resource File, data ->>10 string IN Virtual Instrument Program, data ->>10 string AR VI Library, data -# This is for Menu Libraries ->8 string LMNULBVW Portable File Names, data -# This is for General Resources ->8 string rsc Resources File, data -# This is for VXI Package -0 string VMAP National Instruments, VXI File, data diff --git a/contrib/file/Magdir/ncr b/contrib/file/Magdir/ncr deleted file mode 100644 index 987c94e4a8..0000000000 --- a/contrib/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/contrib/file/Magdir/netbsd b/contrib/file/Magdir/netbsd deleted file mode 100644 index 7c260e40ff..0000000000 --- a/contrib/file/Magdir/netbsd +++ /dev/null @@ -1,246 +0,0 @@ - -#------------------------------------------------------------------------------ -# netbsd: file(1) magic for NetBSD objects -# -# All new-style magic numbers are in network byte order. -# - -0 lelong 000000407 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' ->32 lelong !0 (signal %d) - -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' ->32 belong !0 (signal %d) - -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' ->32 belong !0 (signal %d) - -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' ->32 lelong !0 (signal %d) - -0 belong&0377777777 045200507 NetBSD/powerpc 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' ->32 belong !0 (signal %d) - -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' ->32 lelong !0 (signal %d) - -0 belong&0377777777 043000413 NetBSD/vax 1k demand paged ->0 byte &0x80 ->>20 lelong <4096 shared library ->>20 lelong =4096 dynamically linked executable ->>20 lelong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 043000410 NetBSD/vax 1k pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 043000407 NetBSD/vax 1k ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 lelong !0 executable ->>20 lelong =0 object file ->16 lelong >0 not stripped -0 belong&0377777777 043000507 NetBSD/vax 1k core ->12 string >\0 from '%s' ->32 lelong !0 (signal %d) - -0 belong&0377777777 045400413 NetBSD/vax 4k demand paged ->0 byte &0x80 ->>20 lelong <4096 shared library ->>20 lelong =4096 dynamically linked executable ->>20 lelong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 045400410 NetBSD/vax 4k pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 045400407 NetBSD/vax 4k ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 lelong !0 executable ->>20 lelong =0 object file ->16 lelong >0 not stripped -0 belong&0377777777 045400507 NetBSD/vax 4k core ->12 string >\0 from '%s' ->32 lelong !0 (signal %d) - -# NetBSD/alpha does not support (and has never supported) a.out objects, -# so no rules are provided for them. NetBSD/alpha ELF objects are -# dealt with in "elf". -0 lelong 0x00070185 ECOFF NetBSD/alpha binary ->10 leshort 0x0001 not stripped ->10 leshort 0x0000 stripped -0 belong&0377777777 043200507 NetBSD/alpha core ->12 string >\0 from '%s' ->32 lelong !0 (signal %d) - -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' ->32 belong !0 (signal %d) - -0 belong&0377777777 043600413 NetBSD/arm32 demand paged ->0 byte &0x80 ->>20 lelong <4096 shared library ->>20 lelong =4096 dynamically linked executable ->>20 lelong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 043600410 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 -# NetBSD/arm26 has always used ELF objects, but it shares a core file -# format with NetBSD/arm32. -0 belong&0377777777 043600507 NetBSD/arm core ->12 string >\0 from '%s' ->32 lelong !0 (signal %d) diff --git a/contrib/file/Magdir/netscape b/contrib/file/Magdir/netscape deleted file mode 100644 index eb4361c06c..0000000000 --- a/contrib/file/Magdir/netscape +++ /dev/null @@ -1,21 +0,0 @@ - -#------------------------------------------------------------------------------ -# netscape: file(1) magic for Netscape files -# "H. Nanosecond" -# version 3 and 4 I think -# - -# Netscape Address book .nab -0 string \000\017\102\104\000\000\000\000\000\000\001\000\000\000\000\002\000\000\000\002\000\000\004\000 Netscape Address book - -# .snm Caches -0 string #\ Netscape\ folder\ cache Netscape folder cache -0 string \000\036\204\220\000 Netscape folder cache -# .n2p -# Net 2 Phone -#0 string 123\130\071\066\061\071\071\071\060\070\061\060\061\063\060 -0 string SX961999 Net2phone - -# -#This is files ending in .art, FIXME add more rules -0 string JG\004\016\0\0\0\0 ART diff --git a/contrib/file/Magdir/news b/contrib/file/Magdir/news deleted file mode 100644 index 0ac4fa2697..0000000000 --- a/contrib/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/contrib/file/Magdir/nitpicker b/contrib/file/Magdir/nitpicker deleted file mode 100644 index c40daecef3..0000000000 --- a/contrib/file/Magdir/nitpicker +++ /dev/null @@ -1,12 +0,0 @@ -#------------------------------------------------------------------------------ -# nitpicker: file(1) magic for Flowfiles. -# From: Christian Jachmann http://www.nitpicker.de -0 string NPFF NItpicker Flow File ->4 byte x V%d. ->5 byte x %d ->6 bedate x started: %s ->10 bedate x stopped: %s ->14 belong x Bytes: %u ->18 belong x Bytes1: %u ->22 belong x Flows: %u ->26 belong x Pkts: %u diff --git a/contrib/file/Magdir/octave b/contrib/file/Magdir/octave deleted file mode 100644 index 309314820e..0000000000 --- a/contrib/file/Magdir/octave +++ /dev/null @@ -1,4 +0,0 @@ -#------------------------------------------------------------------------------ -# octave binary data file(1) magic, from Dirk Eddelbuettel -0 string Octave-1-L Octave binary data (little endian) -0 string Octave-1-B Octave binary data (big endian) diff --git a/contrib/file/Magdir/olf b/contrib/file/Magdir/olf deleted file mode 100644 index e698c36a49..0000000000 --- a/contrib/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 -# Based on elf from Daniel Quinlan -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 -# corrections by Christian 'Dr. Disk' Hechelmann ->>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/contrib/file/Magdir/os2 b/contrib/file/Magdir/os2 deleted file mode 100644 index 7ae67c7c45..0000000000 --- a/contrib/file/Magdir/os2 +++ /dev/null @@ -1,47 +0,0 @@ - -#------------------------------------------------------------------------------ -# os2: file(1) magic for OS/2 files -# - -# Provided 1998/08/22 by -# David Mediavilla -1 string InternetShortcut MS Windows 95 Internet shortcut text ->24 string >\ (URL=<%s>) - -# OS/2 URL objects -# Provided 1998/08/22 by -# David Mediavilla -0 string http: OS/2 URL object text ->5 string >\ (WWW) -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) -0 string file: OS/2 URL object text ->5 string >\ (Local file) <%s> - -# >>>>> OS/2 INF/HLP <<<<< (source: Daniel Dissett ddissett@netcom.com) -# Carl Hauser (chauser.parc@xerox.com) and -# Marcus Groeber (marcusg@ph-cip.uni-koeln.de) -# list the following header format in inf02a.doc: -# -# int16 ID; // ID magic word (5348h = "HS") -# int8 unknown1; // unknown purpose, could be third letter of ID -# int8 flags; // probably a flag word... -# // bit 0: set if INF style file -# // bit 4: set if HLP style file -# // patching this byte allows reading HLP files -# // using the VIEW command, while help files -# // seem to work with INF settings here as well. -# int16 hdrsize; // total size of header -# int16 unknown2; // unknown purpose -# -0 string HSP\x01\x9b\x00 OS/2 INF ->107 string >0 (%s) -0 string HSP\x10\x9b\x00 OS/2 HLP ->107 string >0 (%s) - -# OS/2 INI (this is a guess) -0 string \xff\xff\xff\xff\x14\0\0\0 OS/2 INI diff --git a/contrib/file/Magdir/os9 b/contrib/file/Magdir/os9 deleted file mode 100644 index df3bd1d89f..0000000000 --- a/contrib/file/Magdir/os9 +++ /dev/null @@ -1,84 +0,0 @@ -# -# Copyright (c) 1996 Ignatios Souvatzis. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. All advertising materials mentioning features or use of this software -# must display the following acknowledgement: -# This product includes software developed by Ignatios Souvatzis for -# the NetBSD project. -# 4. The name of the author may not be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# -# -# OS9/6809 module descriptions: -# -0 beshort 0x87CD OS9/6809 module: -# ->6 byte&0x0f 0x00 non-executable ->6 byte&0x0f 0x01 machine language ->6 byte&0x0f 0x02 BASIC I-code ->6 byte&0x0f 0x03 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/contrib/file/Magdir/osf1 b/contrib/file/Magdir/osf1 deleted file mode 100644 index 31166c1f34..0000000000 --- a/contrib/file/Magdir/osf1 +++ /dev/null @@ -1,7 +0,0 @@ -# -# Mach magic number info -# -0 long 0xefbe OSF/Rose object -# I386 magic number info -# -0 short 0565 i386 COFF object diff --git a/contrib/file/Magdir/palm b/contrib/file/Magdir/palm deleted file mode 100644 index 46bc632e15..0000000000 --- a/contrib/file/Magdir/palm +++ /dev/null @@ -1,15 +0,0 @@ - -#------------------------------------------------------------------------------ -# palm: file(1) magic for PalmOS {.prc,.pdb}: applications, docfiles, and hacks -# -# Brian Lalor - -# appl -60 belong 0x6170706c PalmOS application ->0 string >\0 "%s" -# TEXt -60 belong 0x54455874 AportisDoc file ->0 string >\0 "%s" -# HACK -60 belong 0x4841434b HackMaster hack ->0 string >\0 "%s" diff --git a/contrib/file/Magdir/parix b/contrib/file/Magdir/parix deleted file mode 100644 index 09965d122c..0000000000 --- a/contrib/file/Magdir/parix +++ /dev/null @@ -1,12 +0,0 @@ - -#------------------------------------------------------------------------------ -# -# Parix COFF executables -# From: Ignatios Souvatzis -# -0 beshort&0xfff 0xACE PARIX ->0 byte&0xf0 0x80 T800 ->0 byte&0xf0 0x90 T9000 ->19 byte&0x02 0x02 executable ->19 byte&0x02 0x00 object ->19 byte&0x0c 0x00 not stripped diff --git a/contrib/file/Magdir/pbm b/contrib/file/Magdir/pbm deleted file mode 100644 index 98c15f7948..0000000000 --- a/contrib/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/contrib/file/Magdir/pdf b/contrib/file/Magdir/pdf deleted file mode 100644 index a1aef13393..0000000000 --- a/contrib/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/contrib/file/Magdir/pdp b/contrib/file/Magdir/pdp deleted file mode 100644 index 545200529d..0000000000 --- a/contrib/file/Magdir/pdp +++ /dev/null @@ -1,35 +0,0 @@ - -#------------------------------------------------------------------------------ -# pdp: file(1) magic for PDP-11 executable/object and APL workspace -# -0 lelong 0101555 PDP-11 single precision APL workspace -0 lelong 0101554 PDP-11 double precision APL workspace -# -# PDP-11 a.out -# -0 leshort 0407 PDP-11 executable ->8 leshort >0 not stripped ->15 byte >0 - version %ld - -0 leshort 0401 PDP-11 UNIX/RT ldp -0 leshort 0405 PDP-11 old overlay - -0 leshort 0410 PDP-11 pure executable ->8 leshort >0 not stripped ->15 byte >0 - version %ld - -0 leshort 0411 PDP-11 separate I&D executable ->8 leshort >0 not stripped ->15 byte >0 - version %ld - -0 leshort 0437 PDP-11 kernel overlay - -# These last three are derived from 2.11BSD file(1) -0 leshort 0413 PDP-11 demand-paged pure executable ->8 leshort >0 not stripped - -0 leshort 0430 PDP-11 overlaid pure executable ->8 leshort >0 not stripped - -0 leshort 0431 PDP-11 overlaid separate executable ->8 leshort >0 not stripped diff --git a/contrib/file/Magdir/perl b/contrib/file/Magdir/perl deleted file mode 100644 index 28b608667f..0000000000 --- a/contrib/file/Magdir/perl +++ /dev/null @@ -1,18 +0,0 @@ - -#------------------------------------------------------------------------------ -# perl: file(1) magic for Larry Wall's perl language. -# -# The ``eval'' line recognizes an outrageously clever hack for USG systems. -# Keith Waclena -# Send additions to -0 string/b #!\ /bin/perl perl script text executable -0 string eval\ "exec\ /bin/perl perl script text -0 string/b #!\ /usr/bin/perl perl script text executable -0 string eval\ "exec\ /usr/bin/perl perl script text -0 string/b #!\ /usr/local/bin/perl perl script text -0 string eval\ "exec\ /usr/local/bin/perl perl script text executable - -# a couple more, by me -# XXX: christos matches -#0 regex package Perl5 module source text (via regex) -0 string package Perl5 module source text diff --git a/contrib/file/Magdir/pgp b/contrib/file/Magdir/pgp deleted file mode 100644 index 038d098ee4..0000000000 --- a/contrib/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/contrib/file/Magdir/pkgadd b/contrib/file/Magdir/pkgadd deleted file mode 100644 index dc8ef5d93a..0000000000 --- a/contrib/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/contrib/file/Magdir/plus5 b/contrib/file/Magdir/plus5 deleted file mode 100644 index acf3bf4037..0000000000 --- a/contrib/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/contrib/file/Magdir/printer b/contrib/file/Magdir/printer deleted file mode 100644 index dfbd5b97ce..0000000000 --- a/contrib/file/Magdir/printer +++ /dev/null @@ -1,92 +0,0 @@ - -#------------------------------------------------------------------------------ -# printer: file(1) magic for printer-formatted files -# - -# PostScript, updated by Daniel Quinlan (quinlan@yggdrasil.com) -0 string %! PostScript document text ->2 string PS-Adobe- conforming ->>11 string >\0 at level %.3s ->>>15 string EPS - type %s ->>>15 string Query - type %s ->>>15 string ExitServer - type %s -# Some PCs have the annoying habit of adding a ^D as a document separator -0 string \004%! PostScript document text ->3 string PS-Adobe- conforming ->>12 string >\0 at level %.3s ->>>16 string EPS - type %s ->>>16 string Query - type %s ->>>16 string ExitServer - type %s -0 string \033%-12345X%!PS PostScript document - - -# DOS EPS Binary File Header -# From: Ed Sznyter -0 belong 0xC5D0D3C6 DOS EPS Binary File ->4 long >0 Postscript starts at byte %d ->>8 long >0 length %d ->>>12 long >0 Metafile starts at byte %d ->>>>16 long >0 length %d ->>>20 long >0 TIFF starts at byte %d ->>>>24 long >0 length %d - -# Adobe's PostScript Printer Description (PPD) files -# Yves Arrouye -# -0 string *PPD-Adobe: PPD file ->13 string x \b, ve - -# HP Printer Job Language -0 string \033%-12345X@PJL HP Printer Job Language data -# HP Printer Job Language -# The header found on Win95 HP plot files is the "Silliest Thing possible" -# (TM) -# Every driver puts the language at some random position, with random case -# (LANGUAGE and Language) -# For example the LaserJet 5L driver puts the "PJL ENTER LANGUAGE" in line 10 -# From: Uwe Bonnes -# -0 string \033%-12345X@PJL HP Printer Job Language data ->&0 string >\0 %s ->>&0 string >\0 %s ->>>&0 string >\0 %s ->>>>&0 string >\0 %s -#>15 string \ ENTER\ LANGUAGE\ = -#>31 string PostScript PostScript - -# HP Printer Control Language, Daniel Quinlan (quinlan@yggdrasil.com) -0 string \033E\033 HP PCL printer data ->3 string \&l0A - default page size ->3 string \&l1A - US executive page size ->3 string \&l2A - US letter page size ->3 string \&l3A - US legal page size ->3 string \&l26A - A4 page size ->3 string \&l80A - Monarch envelope size ->3 string \&l81A - No. 10 envelope size ->3 string \&l90A - Intl. DL envelope size ->3 string \&l91A - Intl. C5 envelope size ->3 string \&l100A - Intl. B5 envelope size ->3 string \&l-81A - No. 10 envelope size (landscape) ->3 string \&l-90A - Intl. DL envelope size (landscape) - -# IMAGEN printer-ready files: -0 string @document( Imagen printer -# this only works if "language xxx" is first item in Imagen header. ->10 string language\ impress (imPRESS data) ->10 string language\ daisy (daisywheel text) ->10 string language\ diablo (daisywheel text) ->10 string language\ printer (line printer emulation) ->10 string language\ tektronix (Tektronix 4014 emulation) -# Add any other languages that your Imagen uses - remember -# to keep the word `text' if the file is human-readable. -# [GRR 950115: missing "postscript" or "ultrascript" (whatever it was called)] -# -# Now magic for IMAGEN font files... -0 string Rast RST-format raster font data ->45 string >0 face % -# From Jukka Ukkonen -0 string \033[K\002\0\0\017\033(a\001\0\001\033(g Canon Bubble Jet BJC formatted data - -# From -# These are the /etc/magic entries to decode data sent to an Epson printer. -0 string \x1B\x40\x1B\x28\x52\x08\x00\x00REMOTE1P Epson Stylus Color 460 data diff --git a/contrib/file/Magdir/project b/contrib/file/Magdir/project deleted file mode 100644 index 04e8865c2e..0000000000 --- a/contrib/file/Magdir/project +++ /dev/null @@ -1,9 +0,0 @@ - -#------------------------------------------------------------------------------ -# project: file(1) magic for Project management -# -# Magic strings for ftnchek project files. Alexander Mai -0 string FTNCHEK_\ P project file for ftnchek ->10 string 1 version 2.7 ->10 string 2 version 2.8 to 2.10 ->10 string 3 version 2.11 or later diff --git a/contrib/file/Magdir/psdbms b/contrib/file/Magdir/psdbms deleted file mode 100644 index f36121fcbc..0000000000 --- a/contrib/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/contrib/file/Magdir/pulsar b/contrib/file/Magdir/pulsar deleted file mode 100644 index a4a5c21d3d..0000000000 --- a/contrib/file/Magdir/pulsar +++ /dev/null @@ -1,12 +0,0 @@ - -#------------------------------------------------------------------------------ -# pulsar: file(1) magic for Pulsar POP3 daemon binary files -# -# http://pulsar.sourceforge.net -# mailto:rok.papez@lugos.si -# - -0 belong 0x1ee7f11e Pulsar POP3 daemon mailbox cache file. ->4 ubelong x Version: %d. ->8 ubelong x \b%d - diff --git a/contrib/file/Magdir/pyramid b/contrib/file/Magdir/pyramid deleted file mode 100644 index fe16608436..0000000000 --- a/contrib/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/contrib/file/Magdir/python b/contrib/file/Magdir/python deleted file mode 100644 index 1932fd263a..0000000000 --- a/contrib/file/Magdir/python +++ /dev/null @@ -1,14 +0,0 @@ - -#------------------------------------------------------------------------------ -# python: file(1) magic for python -# -# From: David Necas -# often the module starts with a multiline string -0 string """ a python script text executable -# MAGIC as specified in Python/import.c (1.5 to 2.3.0a) -# 20121 ( YEAR - 1995 ) + MONTH + DAY (little endian followed by "\r\n" -0 belong 0x994e0d0a python 1.5/1.6 byte-compiled -0 belong 0x87c60d0a python 2.0 byte-compiled -0 belong 0x2aeb0d0a python 2.1 byte-compiled -0 belong 0x2ded0d0a python 2.2 byte-compiled -#0 belong 0x31f20d0a python 2.3 byte-compiled diff --git a/contrib/file/Magdir/riff b/contrib/file/Magdir/riff deleted file mode 100644 index a81eb9352a..0000000000 --- a/contrib/file/Magdir/riff +++ /dev/null @@ -1,104 +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 ->>20 leshort 2 \b, Microsoft ADPCM ->>20 leshort 6 \b, ITU G.711 a-law ->>20 leshort 7 \b, ITU G.711 u-law ->>20 leshort 17 \b, IMA ADPCM ->>20 leshort 20 \b, ITU G.723 ADPCM (Yamaha) ->>20 leshort 49 \b, GSM 6.10 ->>20 leshort 64 \b, ITU G.721 ADPCM ->>20 leshort 80 \b, MPEG ->>20 leshort 85 \b, MPEG Layer 3 ->>22 leshort =1 \b, mono ->>22 leshort =2 \b, stereo ->>22 leshort >2 \b, %d channels ->>24 lelong >0 %d Hz -# 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 - -# SoundFont 2 ->8 string sfbk SoundFont 2 diff --git a/contrib/file/Magdir/rpm b/contrib/file/Magdir/rpm deleted file mode 100644 index 14ad6db936..0000000000 --- a/contrib/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/contrib/file/Magdir/rtf b/contrib/file/Magdir/rtf deleted file mode 100644 index 8e2d4166fa..0000000000 --- a/contrib/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/contrib/file/Magdir/sc b/contrib/file/Magdir/sc deleted file mode 100644 index 98599f2647..0000000000 --- a/contrib/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/contrib/file/Magdir/sccs b/contrib/file/Magdir/sccs deleted file mode 100644 index 11d50b23c0..0000000000 --- a/contrib/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/contrib/file/Magdir/sendmail b/contrib/file/Magdir/sendmail deleted file mode 100644 index 7880ab510e..0000000000 --- a/contrib/file/Magdir/sendmail +++ /dev/null @@ -1,19 +0,0 @@ - -#------------------------------------------------------------------------------ -# sendmail: file(1) magic for sendmail config files -# -# XXX - byte order? -# -0 byte 046 Sendmail frozen configuration ->16 string >\0 - version %s -0 short 0x271c Sendmail frozen configuration ->16 string >\0 - version %s - -#------------------------------------------------------------------------------ -# sendmail: file(1) magic for sendmail m4(1) files -# -# From Hendrik Scholz -# i.e. files in /usr/share/sendmail/cf/ -# -0 string divert(-1)\n sendmail m4 text file - diff --git a/contrib/file/Magdir/sequent b/contrib/file/Magdir/sequent deleted file mode 100644 index e6f7b52aac..0000000000 --- a/contrib/file/Magdir/sequent +++ /dev/null @@ -1,34 +0,0 @@ - -#------------------------------------------------------------------------------ -# sequent: file(1) magic for Sequent machines -# -# Sequent information updated by Don 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 . -# 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/contrib/file/Magdir/sgi b/contrib/file/Magdir/sgi deleted file mode 100644 index 1983f0da15..0000000000 --- a/contrib/file/Magdir/sgi +++ /dev/null @@ -1,177 +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' -# N32bit core file -0 belong 0xbabec0bb IRIX N32 core dump ->4 belong 1 of ->16 string >\0 '%s' -# New style crash dump file -0 string \x43\x72\x73\x68\x44\x75\x6d\x70 IRIX vmcore dump of ->36 string >\0 '%s' -# Trusted IRIX info -0 string SGIAUDIT SGI Audit file ->8 byte x - version %d ->9 byte x .%ld -# -0 string WNGZWZSC Wingz compiled script -0 string WNGZWZSS Wingz spreadsheet -0 string WNGZWZHP Wingz help file -# -0 string \#Inventor V IRIS Inventor 1.0 file -0 string \#Inventor V2 Open Inventor 2.0 file -# GLF is OpenGL stream encoding -0 string glfHeadMagic(); GLF_TEXT -4 belong 0x7d000000 GLF_BINARY_LSB_FIRST -4 belong 0x0000007d GLF_BINARY_MSB_FIRST -# GLS is OpenGL stream encoding; GLS is the successor of GLF -0 string glsBeginGLS( GLS_TEXT -4 belong 0x10000000 GLS_BINARY_LSB_FIRST -4 belong 0x00000010 GLS_BINARY_MSB_FIRST diff --git a/contrib/file/Magdir/sgml b/contrib/file/Magdir/sgml deleted file mode 100644 index 55b8301ee3..0000000000 --- a/contrib/file/Magdir/sgml +++ /dev/null @@ -1,27 +0,0 @@ - -#------------------------------------------------------------------------------ -# sgml: file(1) magic for Standard Generalized Markup Language -# HyperText Markup Language (HTML) is an SGML document type, -# from Daniel Quinlan (quinlan@yggdrasil.com) -# adapted to string extenstions by Anthon van der Neut -0 string #\ HTTP\ Cookie\ File Web browser cookie text -0 string #\ Netscape\ HTTP\ Cookie\ File Netscape cookie text -0 string #\ KDE\ Cookie\ File Konqueror cookie text diff --git a/contrib/file/Magdir/sharc b/contrib/file/Magdir/sharc deleted file mode 100644 index 7201e85693..0000000000 --- a/contrib/file/Magdir/sharc +++ /dev/null @@ -1,22 +0,0 @@ - -#------------------------------------------------------------------------ -# file(1) magic for sharc files -# -# SHARC DSP, MIDI SysEx and RiscOS filetype definitions added by -# FutureGroove Music (dsp@futuregroove.de) - -#------------------------------------------------------------------------ -0 string Draw RiscOS Drawfile -0 string PACK RiscOS PackdDir archive - -#------------------------------------------------------------------------ -# SHARC DSP stuff (based on the FGM SHARC DSP SDK) - -0 string ! Assembler source -0 string Analog ADi asm listing file -0 string .SYSTEM SHARC architecture file -0 string .system SHARC architecture file - -0 leshort 0x521C SHARC COFF binary ->2 leshort >1 , %hd sections ->>12 lelong >0 , not stripped diff --git a/contrib/file/Magdir/sketch b/contrib/file/Magdir/sketch deleted file mode 100644 index d31d18464f..0000000000 --- a/contrib/file/Magdir/sketch +++ /dev/null @@ -1,5 +0,0 @@ - -#------------------------------------------------------------------------------ -# Sketch Drawings: http://sketch.sourceforge.net/ -# From: Edwin Mons -0 string ##Sketch Sketch document text diff --git a/contrib/file/Magdir/smalltalk b/contrib/file/Magdir/smalltalk deleted file mode 100644 index b8827598c1..0000000000 --- a/contrib/file/Magdir/smalltalk +++ /dev/null @@ -1,24 +0,0 @@ - -#----------------------------------------------- -# GNU Smalltalk image, starting at version 1.6.2 -# From: catull_us@yahoo.com -# -0 string GSTIm\0\0 GNU SmallTalk -# little-endian ->7 byte&1 =0 LE image version ->>10 byte x %d. ->>9 byte x \b%d. ->>8 byte x \b%d -#>>12 lelong x , data: %ld -#>>16 lelong x , table: %ld -#>>20 lelong x , memory: %ld -# big-endian ->7 byte&1 =1 BE image version ->>8 byte x %d. ->>9 byte x \b%d. ->>10 byte x \b%d -#>>12 belong x , data: %ld -#>>16 belong x , table: %ld -#>>20 belong x , memory: %ld - - diff --git a/contrib/file/Magdir/sniffer b/contrib/file/Magdir/sniffer deleted file mode 100644 index 626439e189..0000000000 --- a/contrib/file/Magdir/sniffer +++ /dev/null @@ -1,205 +0,0 @@ - -#------------------------------------------------------------------------------ -# sniffer: file(1) magic for packet capture files -# -# From: guy@alum.mit.edu (Guy Harris) -# - -# -# Microsoft Network Monitor 1.x capture files. -# -0 string RTSS NetMon capture file ->4 byte x - version %d ->5 byte x \b.%d ->6 leshort 0 (Unknown) ->6 leshort 1 (Ethernet) ->6 leshort 2 (Token Ring) ->6 leshort 3 (FDDI) - -# -# Microsoft Network Monitor 2.x capture files. -# -0 string GMBU NetMon capture file ->4 byte x - version %d ->5 byte x \b.%d ->6 leshort 0 (Unknown) ->6 leshort 1 (Ethernet) ->6 leshort 2 (Token Ring) ->6 leshort 3 (FDDI) - -# -# Network General Sniffer capture files. -# Sorry, make that "Network Associates Sniffer capture files." -# -0 string TRSNIFF\ data\ \ \ \ \032 Sniffer capture file ->33 byte 2 (compressed) ->23 leshort x - version %d ->25 leshort x \b.%d ->32 byte 0 (Token Ring) ->32 byte 1 (Ethernet) ->32 byte 2 (ARCNET) ->32 byte 3 (StarLAN) ->32 byte 4 (PC Network broadband) ->32 byte 5 (LocalTalk) ->32 byte 6 (Znet) ->32 byte 7 (Internetwork Analyzer) ->32 byte 9 (FDDI) ->32 byte 10 (ATM) - -# -# Cinco Networks NetXRay capture files. -# Sorry, make that "Network General Sniffer Basic capture files." -# Sorry, make that "Network Associates Sniffer Basic capture files." -# Sorry, make that "Network Associates Sniffer Basic, and Windows -# Sniffer Pro", capture files." -# -0 string XCP\0 NetXRay capture file ->4 string >\0 - version %s ->44 leshort 0 (Ethernet) ->44 leshort 1 (Token Ring) ->44 leshort 2 (FDDI) - -# -# "libpcap" capture files. -# (We call them "tcpdump capture file(s)" for now, as "tcpdump" is -# the main program that uses that format, but there are other programs -# that use "libpcap", or that use the same capture file format.) -# -0 ubelong 0xa1b2c3d4 tcpdump capture file (big-endian) ->4 beshort x - version %d ->6 beshort x \b.%d ->20 belong 0 (No link-layer encapsulation ->20 belong 1 (Ethernet ->20 belong 2 (3Mb Ethernet ->20 belong 3 (AX.25 ->20 belong 4 (ProNET ->20 belong 5 (CHAOS ->20 belong 6 (Token Ring ->20 belong 7 (ARCNET ->20 belong 8 (SLIP ->20 belong 9 (PPP ->20 belong 10 (FDDI ->20 belong 11 (RFC 1483 ATM ->20 belong 12 (raw IP ->20 belong 13 (BSD/OS SLIP ->20 belong 14 (BSD/OS PPP ->20 belong 50 (PPP or Cisco HDLC ->20 belong 51 (PPP-over-Ethernet ->20 belong 100 (RFC 1483 ATM ->20 belong 101 (raw IP ->20 belong 102 (BSD/OS SLIP ->20 belong 103 (BSD/OS PPP ->20 belong 104 (BSD/OS Cisco HDLC ->20 belong 105 (802.11 ->20 belong 106 (Linux Classical IP over ATM ->20 belong 108 (OpenBSD loopback ->20 belong 109 (OpenBSD IPSEC encrypted ->20 belong 113 (Linux "cooked" ->20 belong 114 (LocalTalk ->16 belong x \b, capture length %d) -0 ulelong 0xa1b2c3d4 tcpdump capture file (little-endian) ->4 leshort x - version %d ->6 leshort x \b.%d ->20 lelong 0 (No link-layer encapsulation ->20 lelong 1 (Ethernet ->20 lelong 2 (3Mb Ethernet ->20 lelong 3 (AX.25 ->20 lelong 4 (ProNET ->20 lelong 5 (CHAOS ->20 lelong 6 (Token Ring ->20 lelong 7 (ARCNET ->20 lelong 8 (SLIP ->20 lelong 9 (PPP ->20 lelong 10 (FDDI ->20 lelong 11 (RFC 1483 ATM ->20 lelong 12 (raw IP ->20 lelong 13 (BSD/OS SLIP ->20 lelong 14 (BSD/OS PPP ->20 lelong 50 (PPP or Cisco HDLC ->20 lelong 51 (PPP-over-Ethernet ->20 lelong 100 (RFC 1483 ATM ->20 lelong 101 (raw IP ->20 lelong 102 (BSD/OS SLIP ->20 lelong 103 (BSD/OS PPP ->20 lelong 104 (BSD/OS Cisco HDLC ->20 lelong 105 (802.11 ->20 lelong 106 (Linux Classical IP over ATM ->20 lelong 108 (OpenBSD loopback ->20 lelong 109 (OpenBSD IPSEC encrypted ->20 lelong 113 (Linux "cooked" ->20 lelong 114 (LocalTalk ->16 lelong x \b, capture length %d) - -# -# "libpcap"-with-Alexey-Kuznetsov's-patches capture files. -# (We call them "tcpdump capture file(s)" for now, as "tcpdump" is -# the main program that uses that format, but there are other programs -# that use "libpcap", or that use the same capture file format.) -# -0 ubelong 0xa1b2cd34 extended tcpdump capture file (big-endian) ->4 beshort x - version %d ->6 beshort x \b.%d ->20 belong 0 (No link-layer encapsulation ->20 belong 1 (Ethernet ->20 belong 2 (3Mb Ethernet ->20 belong 3 (AX.25 ->20 belong 4 (ProNET ->20 belong 5 (CHAOS ->20 belong 6 (Token Ring ->20 belong 7 (ARCNET ->20 belong 8 (SLIP ->20 belong 9 (PPP ->20 belong 10 (FDDI ->20 belong 11 (RFC 1483 ATM ->20 belong 12 (raw IP ->20 belong 13 (BSD/OS SLIP ->20 belong 14 (BSD/OS PPP ->16 belong x \b, capture length %d) -0 ulelong 0xa1b2cd34 extended tcpdump capture file (little-endian) ->4 leshort x - version %d ->6 leshort x \b.%d ->20 lelong 0 (No link-layer encapsulation ->20 lelong 1 (Ethernet ->20 lelong 2 (3Mb Ethernet ->20 lelong 3 (AX.25 ->20 lelong 4 (ProNET ->20 lelong 5 (CHAOS ->20 lelong 6 (Token Ring ->20 lelong 7 (ARCNET ->20 lelong 8 (SLIP ->20 lelong 9 (PPP ->20 lelong 10 (FDDI ->20 lelong 11 (RFC 1483 ATM ->20 lelong 12 (raw IP ->20 lelong 13 (BSD/OS SLIP ->20 lelong 14 (BSD/OS PPP ->16 lelong x \b, capture length %d) - -# -# AIX "iptrace" capture files. -# -0 string iptrace\ 2.0 "iptrace" capture file - -# -# Novell LANalyzer capture files. -# -0 leshort 0x1001 LANalyzer capture file -0 leshort 0x1007 LANalyzer capture file - -# -# HP-UX "nettl" capture files. -# -0 string \x54\x52\x00\x64\x00 "nettl" capture file - -# -# RADCOM WAN/LAN Analyzer capture files. -# -0 string \x42\xd2\x00\x34\x12\x66\x22\x88 RADCOM WAN/LAN Analyzer capture file - -# -# NetStumbler log files. Not really packets, per se, but about as -# close as you can get. These are log files from NetStumbler, a -# Windows program, that scans for 802.11b networks. -# -0 string NetS NetStumbler log file ->8 lelong x \b, %d stations found diff --git a/contrib/file/Magdir/softquad b/contrib/file/Magdir/softquad deleted file mode 100644 index aa16904264..0000000000 --- a/contrib/file/Magdir/softquad +++ /dev/null @@ -1,29 +0,0 @@ - -#------------------------------------------------------------------------------ -# softquad: file(1) magic for SoftQuad Publishing Software -# -# Author/Editor and RulesBuilder -# -# XXX - byte order? -# -0 string \ Compiled SGML rules file ->9 string >\0 Type %s -0 string \ A/E SGML Document binary ->9 string >\0 Type %s -0 string \ 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/contrib/file/Magdir/spectrum b/contrib/file/Magdir/spectrum deleted file mode 100644 index e7a5549b67..0000000000 --- a/contrib/file/Magdir/spectrum +++ /dev/null @@ -1,28 +0,0 @@ - -#------------------------------------------------------------------------------ -# spectrum: file(1) magic for Spectrum emulator files. -# -# John Elliott - -# -# Spectrum +3DOS header -# -0 string PLUS3DOS\032 Spectrum +3 data ->15 byte 0 - BASIC program ->15 byte 1 - number array ->15 byte 2 - character array ->15 byte 3 - memory block ->>16 belong 0x001B0040 (screen) ->15 byte 4 - Tasword document ->15 string TAPEFILE - ZXT tapefile -# -# Tape file. This assumes the .TAP starts with a Spectrum-format header, -# which nearly all will. -# -0 string \023\000\000 Spectrum .TAP data ->4 string x "%-10.10s" ->3 byte 0 - BASIC program ->3 byte 1 - number array ->3 byte 2 - character array ->3 byte 3 - memory block ->>14 belong 0x001B0040 (screen) diff --git a/contrib/file/Magdir/sql b/contrib/file/Magdir/sql deleted file mode 100644 index 29741d95a9..0000000000 --- a/contrib/file/Magdir/sql +++ /dev/null @@ -1,18 +0,0 @@ - -#------------------------------------------------------------------------------ -# sql: file(1) magic for SQL files -# -# From: "Marty Leisner" -# Recognize some MySQL files. -# -0 beshort 0xfe01 MySQL table definition file ->2 byte x Version %d -0 belong&0xffffff00 0xfefe0300 MySQL MISAM index file ->3 byte x Version %d -0 belong&0xffffff00 0xfefe0700 MySQL MISAM compressed data file ->3 byte x Version %d -0 belong&0xffffff00 0xfefe0500 MySQL ISAM index file ->3 byte x Version %d -0 belong&0xffffff00 0xfefe0600 MySQL ISAM compressed data file ->3 byte x Version %d -0 string \376bin MySQL replication log diff --git a/contrib/file/Magdir/sun b/contrib/file/Magdir/sun deleted file mode 100644 index 10f30b4627..0000000000 --- a/contrib/file/Magdir/sun +++ /dev/null @@ -1,107 +0,0 @@ - -#------------------------------------------------------------------------------ -# sun: file(1) magic for Sun machines -# -# Values for big-endian Sun (MC680x0, SPARC) binaries on pre-5.x -# releases. (5.x uses ELF.) -# -0 belong&077777777 0600413 sparc demand paged ->0 byte &0x80 ->>20 belong <4096 shared library ->>20 belong =4096 dynamically linked executable ->>20 belong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&077777777 0600410 sparc pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&077777777 0600407 sparc ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped - -0 belong&077777777 0400413 mc68020 demand paged ->0 byte &0x80 ->>20 belong <4096 shared library ->>20 belong =4096 dynamically linked executable ->>20 belong >4096 dynamically linked executable ->16 belong >0 not stripped -0 belong&077777777 0400410 mc68020 pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&077777777 0400407 mc68020 ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped - -0 belong&077777777 0200413 mc68010 demand paged ->0 byte &0x80 ->>20 belong <4096 shared library ->>20 belong =4096 dynamically linked executable ->>20 belong >4096 dynamically linked executable ->16 belong >0 not stripped -0 belong&077777777 0200410 mc68010 pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&077777777 0200407 mc68010 ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped - -# reworked these to avoid anything beginning with zero becoming "old sun-2" -0 belong 0407 old sun-2 executable ->16 belong >0 not stripped -0 belong 0410 old sun-2 pure executable ->16 belong >0 not stripped -0 belong 0413 old sun-2 demand paged executable ->16 belong >0 not stripped - -# -# Core files. "SPARC 4.x BCP" means "core file from a SunOS 4.x SPARC -# binary executed in compatibility mode under SunOS 5.x". -# -0 belong 0x080456 SunOS core file ->4 belong 432 (SPARC) ->>132 string >\0 from '%s' ->>116 belong =3 (quit) ->>116 belong =4 (illegal instruction) ->>116 belong =5 (trace trap) ->>116 belong =6 (abort) ->>116 belong =7 (emulator trap) ->>116 belong =8 (arithmetic exception) ->>116 belong =9 (kill) ->>116 belong =10 (bus error) ->>116 belong =11 (segmentation violation) ->>116 belong =12 (bad argument to system call) ->>116 belong =29 (resource lost) ->>120 belong x (T=%dK, ->>124 belong x D=%dK, ->>128 belong x S=%dK) ->4 belong 826 (68K) ->>128 string >\0 from '%s' ->4 belong 456 (SPARC 4.x BCP) ->>152 string >\0 from '%s' -# Sun SunPC -0 long 0xfa33c08e SunPC 4.0 Hard Disk -0 string #SUNPC_CONFIG SunPC 4.0 Properties Values -# Sun snoop (see RFC 1761, which describes the capture file format). -# -0 string snoop Snoop capture file ->8 belong >0 - version %ld ->12 belong 0 (IEEE 802.3) ->12 belong 1 (IEEE 802.4) ->12 belong 2 (IEEE 802.5) ->12 belong 3 (IEEE 802.6) ->12 belong 4 (Ethernet) ->12 belong 5 (HDLC) ->12 belong 6 (Character synchronous) ->12 belong 7 (IBM channel-to-channel adapter) ->12 belong 8 (FDDI) ->12 belong 9 (Unknown) -# Sun KCMS -36 string acsp Kodak Color Management System, ICC Profile - - diff --git a/contrib/file/Magdir/sysex b/contrib/file/Magdir/sysex deleted file mode 100644 index 9a3fe2ec24..0000000000 --- a/contrib/file/Magdir/sysex +++ /dev/null @@ -1,142 +0,0 @@ -#------------------------------------------------------------------------ -# sysex: file(1) magic for MIDI sysex files -# -# -0 byte 0xF0 SysEx File - - ->1 byte 0x2f ELKA ->>3 byte 0x09 EK-44 - ->1 byte 0x3e Waldorf ->>3 byte 0x7f Microwave I - ->1 byte 0x40 Kawai ->>3 byte 0x22 K4 - ->1 byte 0x41 Roland ->>3 byte 0x14 D-50 ->>3 byte 0x2b U-220 ->>3 byte 0x02 TR-707 - ->1 byte 0x42 Korg ->>3 byte 0x19 M1 - ->1 byte 0x43 Yamaha ->1 byte 0x44 Casio ->1 byte 0x46 Kamiya ->1 byte 0x47 Akai ->1 byte 0x48 Victor ->1 byte 0x4b Fujitsu ->1 byte 0x4c Sony ->1 byte 0x4e Teac ->1 byte 0x50 Matsushita ->1 byte 0x51 Fostex ->1 byte 0x52 Zoom ->1 byte 0x54 Matsushita ->1 byte 0x57 Acoustic tech. lab. - ->1 belong&0xffffff00 0x00007400 Ta Horng ->1 belong&0xffffff00 0x00007500 e-Tek ->1 belong&0xffffff00 0x00007600 E-Voice ->1 belong&0xffffff00 0x00007700 Midisoft ->1 belong&0xffffff00 0x00007800 Q-Sound ->1 belong&0xffffff00 0x00007900 Westrex ->1 belong&0xffffff00 0x00007a00 Nvidia* ->1 belong&0xffffff00 0x00007b00 ESS ->1 belong&0xffffff00 0x00007c00 Mediatrix ->1 belong&0xffffff00 0x00007d00 Brooktree ->1 belong&0xffffff00 0x00007e00 Otari ->1 belong&0xffffff00 0x00007f00 Key Electronics ->1 belong&0xffffff00 0x00010000 Shure ->1 belong&0xffffff00 0x00010100 AuraSound ->1 belong&0xffffff00 0x00010200 Crystal ->1 belong&0xffffff00 0x00010300 Rockwell ->1 belong&0xffffff00 0x00010400 Silicon Graphics ->1 belong&0xffffff00 0x00010500 Midiman ->1 belong&0xffffff00 0x00010600 PreSonus ->1 belong&0xffffff00 0x00010800 Topaz ->1 belong&0xffffff00 0x00010900 Cast Lightning ->1 belong&0xffffff00 0x00010a00 Microsoft ->1 belong&0xffffff00 0x00010b00 Sonic Foundry ->1 belong&0xffffff00 0x00010c00 Line 6 ->1 belong&0xffffff00 0x00010d00 Beatnik Inc. ->1 belong&0xffffff00 0x00010e00 Van Koerving ->1 belong&0xffffff00 0x00010f00 Altech Systems ->1 belong&0xffffff00 0x00011000 S & S Research ->1 belong&0xffffff00 0x00011100 VLSI Technology ->1 belong&0xffffff00 0x00011200 Chromatic ->1 belong&0xffffff00 0x00011300 Sapphire ->1 belong&0xffffff00 0x00011400 IDRC ->1 belong&0xffffff00 0x00011500 Justonic Tuning ->1 belong&0xffffff00 0x00011600 TorComp ->1 belong&0xffffff00 0x00011700 Newtek Inc. ->1 belong&0xffffff00 0x00011800 Sound Sculpture ->1 belong&0xffffff00 0x00011900 Walker Technical ->1 belong&0xffffff00 0x00011a00 Digital Harmony ->1 belong&0xffffff00 0x00011b00 InVision ->1 belong&0xffffff00 0x00011c00 T-Square ->1 belong&0xffffff00 0x00011d00 Nemesys ->1 belong&0xffffff00 0x00011e00 DBX ->1 belong&0xffffff00 0x00011f00 Syndyne ->1 belong&0xffffff00 0x00012000 Bitheadz ->1 belong&0xffffff00 0x00012100 Cakewalk ->1 belong&0xffffff00 0x00012200 Staccato ->1 belong&0xffffff00 0x00012300 National Semicon. ->1 belong&0xffffff00 0x00012400 Boom Theory ->1 belong&0xffffff00 0x00012500 Virtual DSP Corp ->1 belong&0xffffff00 0x00012600 Antares ->1 belong&0xffffff00 0x00012700 Angel Software ->1 belong&0xffffff00 0x00012800 St Louis Music ->1 belong&0xffffff00 0x00012900 Lyrrus dba G-VOX ->1 belong&0xffffff00 0x00012a00 Ashley Audio ->1 belong&0xffffff00 0x00012b00 Vari-Lite ->1 belong&0xffffff00 0x00012c00 Summit Audio ->1 belong&0xffffff00 0x00012d00 Aureal Semicon. ->1 belong&0xffffff00 0x00012e00 SeaSound ->1 belong&0xffffff00 0x00012f00 U.S. Robotics ->1 belong&0xffffff00 0x00013000 Aurisis ->1 belong&0xffffff00 0x00013100 Nearfield Multimedia ->1 belong&0xffffff00 0x00013200 FM7 Inc. ->1 belong&0xffffff00 0x00013300 Swivel Systems ->1 belong&0xffffff00 0x00013400 Hyperactive ->1 belong&0xffffff00 0x00013500 MidiLite ->1 belong&0xffffff00 0x00013600 Radical ->1 belong&0xffffff00 0x00013700 Roger Linn ->1 belong&0xffffff00 0x00013800 Helicon ->1 belong&0xffffff00 0x00013900 Event ->1 belong&0xffffff00 0x00013a00 Sonic Network ->1 belong&0xffffff00 0x00013b00 Realtime Music ->1 belong&0xffffff00 0x00013c00 Apogee Digital - ->1 belong&0xffffff00 0x00202b00 Medeli Electronics ->1 belong&0xffffff00 0x00202c00 Charlie Lab ->1 belong&0xffffff00 0x00202d00 Blue Chip Music ->1 belong&0xffffff00 0x00202e00 BEE OH Corp ->1 belong&0xffffff00 0x00202f00 LG Semicon America ->1 belong&0xffffff00 0x00203000 TESI ->1 belong&0xffffff00 0x00203100 EMAGIC ->1 belong&0xffffff00 0x00203200 Behringer ->1 belong&0xffffff00 0x00203300 Access Music ->1 belong&0xffffff00 0x00203400 Synoptic ->1 belong&0xffffff00 0x00203500 Hanmesoft Corp ->1 belong&0xffffff00 0x00203600 Terratec ->1 belong&0xffffff00 0x00203700 Proel SpA ->1 belong&0xffffff00 0x00203800 IBK MIDI ->1 belong&0xffffff00 0x00203900 IRCAM ->1 belong&0xffffff00 0x00203a00 Propellerhead Software ->1 belong&0xffffff00 0x00203b00 Red Sound Systems ->1 belong&0xffffff00 0x00203c00 Electron ESI AB ->1 belong&0xffffff00 0x00203d00 Sintefex Audio ->1 belong&0xffffff00 0x00203e00 Music and More ->1 belong&0xffffff00 0x00203f00 Amsaro ->1 belong&0xffffff00 0x00204000 CDS Advanced Technology ->1 belong&0xffffff00 0x00204100 Touched by Sound ->1 belong&0xffffff00 0x00204200 DSP Arts ->1 belong&0xffffff00 0x00204300 Phil Rees Music ->1 belong&0xffffff00 0x00204400 Stamer Musikanlagen GmbH ->1 belong&0xffffff00 0x00204500 Soundart ->1 belong&0xffffff00 0x00204600 C-Mexx Software ->1 belong&0xffffff00 0x00204700 Klavis Tech. ->1 belong&0xffffff00 0x00204800 Noteheads AB - -0 string T707 Roland TR-707 Data diff --git a/contrib/file/Magdir/teapot b/contrib/file/Magdir/teapot deleted file mode 100644 index d9554bfb73..0000000000 --- a/contrib/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/contrib/file/Magdir/terminfo b/contrib/file/Magdir/terminfo deleted file mode 100644 index 2226ce8cee..0000000000 --- a/contrib/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/contrib/file/Magdir/tex b/contrib/file/Magdir/tex deleted file mode 100644 index be84ecc4ca..0000000000 --- a/contrib/file/Magdir/tex +++ /dev/null @@ -1,103 +0,0 @@ - -#------------------------------------------------------------------------------ -# tex: file(1) magic for TeX files -# -# From - -# Although we may know the offset of certain text fields in TeX DVI -# and font files, we can't use them reliably because they are not -# zero terminated. [but we do anyway, christos] -0 string \367\002 TeX DVI file ->16 string >\0 (%s) -0 string \367\203 TeX generic font data -0 string \367\131 TeX packed font data ->3 string >\0 (%s) -0 string \367\312 TeX virtual font data -0 string This\ is\ TeX, TeX transcript text -0 string This\ is\ METAFONT, METAFONT transcript text - -# There is no way to detect TeX Font Metric (*.tfm) files without -# breaking them apart and reading the data. The following patterns -# match most *.tfm files generated by METAFONT or afm2tfm. -2 string \000\021 TeX font metric data ->33 string >\0 (%s) -2 string \000\022 TeX font metric data ->33 string >\0 (%s) - -# Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com) -0 string \\input\ texinfo Texinfo source text -0 string This\ is\ Info\ file GNU Info text - -# TeX documents, from Daniel Quinlan (quinlan@yggdrasil.com) -0 string \\input TeX document text -0 string \\section LaTeX document text -0 string \\setlength LaTeX document text -0 string \\documentstyle LaTeX document text -0 string \\chapter LaTeX document text -0 string \\documentclass LaTeX 2e document text -0 string \\relax LaTeX auxiliary file -0 string \\contentsline LaTeX table of contents -0 string %\ -*-latex-*- LaTeX document text - -# Tex document, from Hendrik Scholz -0 string \\ifx TeX document text - -# Index and glossary files -0 string \\indexentry LaTeX raw index file -0 string \\begin{theindex} LaTeX sorted index -0 string \\glossaryentry LaTeX raw glossary -0 string \\begin{theglossary} LaTeX sorted glossary -0 string This\ is\ makeindex Makeindex log file - -# End of TeX - -#------------------------------------------------------------------------------ -# file(1) magic for BibTex text files -# From Hendrik Scholz - -0 string @article{ BibTex text file -0 string @book{ BibTex text file -0 string @inbook{ BibTex text file -0 string @incollection{ BibTex text file -0 string @inproceedings{ BibTex text file -0 string @manual{ BibTex text file -0 string @misc{ BibTex text file -0 string @preamble{ BibTex text file -0 string @phdthesis{ BibTex text file -0 string @techreport{ BibTex text file -0 string @unpublished{ BibTex text file - -0 string @Article{ BibTex text file -0 string @Book{ BibTex text file -0 string @Inbook{ BibTex text file -0 string @Incollection{ BibTex text file -0 string @Inproceedings{ BibTex text file -0 string @Manual{ BibTex text file -0 string @Misc{ BibTex text file -0 string @Preamble{ BibTex text file -0 string @Phdthesis{ BibTex text file -0 string @Techreport{ BibTex text file -0 string @Unpublished{ BibTex text file - -0 string @ARTICLE{ BibTex text file -0 string @BOOK{ BibTex text file -0 string @INBOOK{ BibTex text file -0 string @INCOLLECTION{ BibTex text file -0 string @INPROCEEDINGS{ BibTex text file -0 string @MANUAL{ BibTex text file -0 string @MISC{ BibTex text file -0 string @PREAMBLE{ BibTex text file -0 string @PHDTHESIS{ BibTex text file -0 string @TECHREPORT{ BibTex text file -0 string @UNPUBLISHED{ BibTex text file - -73 string %%%\ \ BibTeX-file{ BibTex text file (with full header) - -73 string %%%\ \ @BibTeX-style-file{ BibTeX style text file (with full header) - -0 string %\ BibTeX\ standard\ bibliography\ BibTeX standard bibliography style text file - -0 string %\ BibTeX\ ` BibTeX custom bibliography style text file - -0 string @c\ @mapfile{ TeX font aliases text file - diff --git a/contrib/file/Magdir/tgif b/contrib/file/Magdir/tgif deleted file mode 100644 index a6ffe36816..0000000000 --- a/contrib/file/Magdir/tgif +++ /dev/null @@ -1,6 +0,0 @@ -#------------------------------------------------------------------------------ -# file(1) magic for tgif(1) files -# From Hendrik Scholz - -0 string %TGIF\ 4 tgif version 4 object file - diff --git a/contrib/file/Magdir/ti-8x b/contrib/file/Magdir/ti-8x deleted file mode 100644 index d740060a5b..0000000000 --- a/contrib/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/contrib/file/Magdir/timezone b/contrib/file/Magdir/timezone deleted file mode 100644 index 40e7558f8d..0000000000 --- a/contrib/file/Magdir/timezone +++ /dev/null @@ -1,14 +0,0 @@ - -#------------------------------------------------------------------------------ -# timezone: file(1) magic for timezone data -# -# from Daniel Quinlan (quinlan@yggdrasil.com) -# this should work on Linux, SunOS, and maybe others -# Added new official magic number for recent versions of the Olson code -0 string TZif timezone data -0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0 old timezone data -0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0 old timezone data -0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0 old timezone data -0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0 old timezone data -0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0 old timezone data -0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0 old timezone data diff --git a/contrib/file/Magdir/troff b/contrib/file/Magdir/troff deleted file mode 100644 index 01ad88a0b4..0000000000 --- a/contrib/file/Magdir/troff +++ /dev/null @@ -1,28 +0,0 @@ - -#------------------------------------------------------------------------------ -# troff: file(1) magic for *roff -# -# updated by Daniel Quinlan (quinlan@yggdrasil.com) - -# troff input -0 string .\\" troff or preprocessor input text -0 string '\\" troff or preprocessor input text -0 string '.\\" troff or preprocessor input text -0 string \\" troff or preprocessor input text -0 string ''' troff or preprocessor input text - -# ditroff intermediate output text -0 string x\ T ditroff output text ->4 string cat for the C/A/T phototypesetter ->4 string ps for PostScript ->4 string dvi for DVI ->4 string ascii for ASCII ->4 string lj4 for LaserJet 4 ->4 string latin1 for ISO 8859-1 (Latin 1) ->4 string X75 for xditview at 75dpi ->>7 string -12 (12pt) ->4 string X100 for xditview at 100dpi ->>8 string -12 (12pt) - -# output data formats -0 string \100\357 very old (C/A/T) troff output data diff --git a/contrib/file/Magdir/tuxedo b/contrib/file/Magdir/tuxedo deleted file mode 100644 index 119afa6a6b..0000000000 --- a/contrib/file/Magdir/tuxedo +++ /dev/null @@ -1,7 +0,0 @@ -# -#------------------------------------------------------------------------------ -# tuxedo: file(1) magic for BEA TUXEDO data files -# -# from Ian Springer -# -0 string \0\0\1\236\0\0\0\0\0\0\0\0\0\0\0\0 BEA TUXEDO DES mask data diff --git a/contrib/file/Magdir/typeset b/contrib/file/Magdir/typeset deleted file mode 100644 index 2eda7c3e41..0000000000 --- a/contrib/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/contrib/file/Magdir/unknown b/contrib/file/Magdir/unknown deleted file mode 100644 index 843dc2936d..0000000000 --- a/contrib/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/contrib/file/Magdir/uuencode b/contrib/file/Magdir/uuencode deleted file mode 100644 index 7e88619d5c..0000000000 --- a/contrib/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/contrib/file/Magdir/varied.out b/contrib/file/Magdir/varied.out deleted file mode 100644 index 76322dd548..0000000000 --- a/contrib/file/Magdir/varied.out +++ /dev/null @@ -1,32 +0,0 @@ - -#------------------------------------------------------------------------------ -# varied.out: file(1) magic for various USG systems -# -# Herewith many of the object file formats used by USG systems. -# Most have been moved to files for a particular processor, -# and deleted if they duplicate other entries. -# -0 short 0610 Perkin-Elmer executable -# AMD 29K -0 beshort 0572 amd 29k coff noprebar executable -0 beshort 01572 amd 29k coff prebar executable -0 beshort 0160007 amd 29k coff archive -# Cray -6 beshort 0407 unicos (cray) executable -# Ultrix 4.3 -596 string \130\337\377\377 Ultrix core file ->600 string >\0 from '%s' -# BeOS and MAcOS PEF executables -# From: hplus@zilker.net (Jon Watte) -0 string Joy!peffpwpc header for PowerPC PEF executable -# -# ava assembler/linker Uros Platise -0 string avaobj AVR assembler object code ->7 string >\0 version '%s' -# gnu gmon magic From: Eugen Dedu -0 string gmon GNU prof performance data ->4 long x - version %ld -# From: Dave Pearson -# Harbour HRB files. -0 string \xc0HRB Harbour HRB file ->4 short x version %d diff --git a/contrib/file/Magdir/vax b/contrib/file/Magdir/vax deleted file mode 100644 index 7dd86ccf53..0000000000 --- a/contrib/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/contrib/file/Magdir/vicar b/contrib/file/Magdir/vicar deleted file mode 100644 index ab216eeea8..0000000000 --- a/contrib/file/Magdir/vicar +++ /dev/null @@ -1,16 +0,0 @@ - -#------------------------------------------------------------------------------ -# vicar: file(1) magic for VICAR files. -# -# From: Ossama Othman 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/contrib/file/Magdir/visx b/contrib/file/Magdir/visx deleted file mode 100644 index 4919964260..0000000000 --- a/contrib/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/contrib/file/Magdir/vms b/contrib/file/Magdir/vms deleted file mode 100644 index c91186f68c..0000000000 --- a/contrib/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/contrib/file/Magdir/vmware b/contrib/file/Magdir/vmware deleted file mode 100644 index 857a4a9452..0000000000 --- a/contrib/file/Magdir/vmware +++ /dev/null @@ -1,12 +0,0 @@ - -# ----------------------------------------------------------- -# VMware specific files (deducted from version 1.1 and log file entries) -# Anthon van der Neut (anthon@mnt.org) -0 belong 0x4d52564e VMware nvram -0 belong 0x434f5744 ->8 byte 3 VMware virtual disk ->>32 lelong x (%d/ ->>36 lelong x \b%d/ ->>40 lelong x \b%d) ->8 byte 2 VMware undoable disk ->>32 string >\0 (%s) diff --git a/contrib/file/Magdir/vorbis b/contrib/file/Magdir/vorbis deleted file mode 100644 index 8977845d0f..0000000000 --- a/contrib/file/Magdir/vorbis +++ /dev/null @@ -1,79 +0,0 @@ - -#------------------------------------------------------------------------------ -# vorbis: file(1) magic for Ogg/Vorbis files -# -# From Felix von Leitner -# Extended by Beni Cherniavsky -# Further extended by Greg Wooledge -# -# Most (everything but the number of channels and bitrate) is commented -# out with `##' as it's not interesting to the average user. The most -# probable things advanced users would want to uncomment are probably -# the number of comments and the encoder version. -# -# --- Ogg Framing --- -0 string OggS Ogg data ->4 byte !0 UNKNOWN REVISION %u -##>4 byte 0 revision 0 ->4 byte 0 -##>>14 lelong x (Serial %lX) -# --- First vorbis packet - general header --- ->>28 string \x01vorbis \b, Vorbis audio, ->>>35 lelong !0 UNKNOWN VERSION %lu, -##>>>35 lelong 0 version 0, ->>>35 lelong 0 ->>>>39 ubyte 1 mono, ->>>>39 ubyte 2 stereo, ->>>>39 ubyte >2 %u channels, ->>>>40 lelong x %lu Hz -# Minimal, nominal and maximal bitrates specified when encoding ->>>>48 string <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff \b, -# The above tests if at least one of these is specified: ->>>>>44 lelong !-1 -# Vorbis RC2 has a bug which puts -1000 in the min/max bitrate fields -# instead of -1. -# Vorbis 1.0 uses 0 instead of -1. ->>>>>>44 lelong !-1000 ->>>>>>>44 lelong !0 ->>>>>>>>44 lelong x >%lu ->>>>>48 lelong !-1 ->>>>>>48 lelong x ~%lu ->>>>>52 lelong !-1 ->>>>>>52 lelong !0 ->>>>>>>52 lelong !-1000 ->>>>>>>>52 lelong x <%lu ->>>>>48 string <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff bps -# -- Second vorbis header packet - the comments -# A kludge to read the vendor string. It's a counted string, not a -# zero-terminated one, so file(1) can't read it in a generic way. -# libVorbis is the only one existing currently, so I detect specifically -# it. The interesting value is the cvs date (8 digits decimal). -# Post-RC1 Ogg files have the second header packet (and thus the version) -# in a different place, so we must use an indirect offset. ->>>(84.b+85) string \x03vorbis ->>>>(84.b+96) string/c Xiphophorus\ libVorbis\ I \b, created by: Xiphophorus libVorbis I ->>>>>(84.b+120) string >00000000 %.8s -# Map to beta version numbers: ->>>>>>(84.b+120) string <20000508 (>>>>>(84.b+120) string 20000508 (beta1/2) ->>>>>>(84.b+120) string >20000508 ->>>>>>>(84.b+120) string <20001031 (beta2-3) ->>>>>>(84.b+120) string 20001031 (beta3) ->>>>>>(84.b+120) string >20001031 ->>>>>>>(84.b+120) string <20010225 (beta3-4) ->>>>>>(84.b+120) string 20010225 (beta4) ->>>>>>(84.b+120) string >20010225 ->>>>>>>(84.b+120) string <20010615 (beta4-RC1) ->>>>>>(84.b+120) string 20010615 (RC1) ->>>>>>(84.b+120) string 20010813 (RC2) ->>>>>>(84.b+120) string 20010816 (RC2 - Garf tuned v1) ->>>>>>(84.b+120) string 20011014 (RC2 - Garf tuned v2) ->>>>>>(84.b+120) string 20011217 (pre-RC3 CVS) ->>>>>>(84.b+120) string 20011231 (RC3) -# Some pre-1.0 CVS snapshots still had "Xiphphorus"... ->>>>>>(84.b+120) string >20011231 (pre-1.0 CVS) -# For the 1.0 release, Xiphophorus is replaced by Xiph.Org ->>>>(84.b+96) string/c Xiph.Org\ libVorbis\ I \b, created by: Xiph.Org libVorbis I ->>>>>(84.b+117) string >00000000 %.8s ->>>>>>(84.b+117) string <20020717 (pre-1.0 CVS) ->>>>>>(84.b+117) string 20020717 (1.0) diff --git a/contrib/file/Magdir/vxl b/contrib/file/Magdir/vxl deleted file mode 100644 index d3f55619eb..0000000000 --- a/contrib/file/Magdir/vxl +++ /dev/null @@ -1,13 +0,0 @@ - -#------------------------------------------------------------------------------ -# VXL: file(1) magic for VXL binary IO data files -# -# from Ian Scott -# -# VXL is a collection of C++ libraries for Computer Vision. -# See the vsl chapter in the VXL Book for more info -# http://www.isbe.man.ac.uk/public_vxl_doc/books/vxl/book.html -# http:/vxl.sf.net - -2 lelong 0x472b2c4e VXL data file, ->0 leshort >0 schema version no %d diff --git a/contrib/file/Magdir/wordperfect b/contrib/file/Magdir/wordperfect deleted file mode 100644 index c77ac8d1b8..0000000000 --- a/contrib/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/contrib/file/Magdir/xdelta b/contrib/file/Magdir/xdelta deleted file mode 100644 index 80c92dac03..0000000000 --- a/contrib/file/Magdir/xdelta +++ /dev/null @@ -1,10 +0,0 @@ - -#------------------------------------------------------------------------------ -# file(1) magic(5) data for xdelta Josh MacDonald -# -0 string %XDELTA% XDelta binary patch file 0.14 -0 string %XDZ000% XDelta binary patch file 0.18 -0 string %XDZ001% XDelta binary patch file 0.20 -0 string %XDZ002% XDelta binary patch file 1.0 -0 string %XDZ003% XDelta binary patch file 1.0.4 -0 string %XDZ004% XDelta binary patch file 1.1 diff --git a/contrib/file/Magdir/xenix b/contrib/file/Magdir/xenix deleted file mode 100644 index 1acadec62a..0000000000 --- a/contrib/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/contrib/file/Magdir/zilog b/contrib/file/Magdir/zilog deleted file mode 100644 index b746e204f5..0000000000 --- a/contrib/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/contrib/file/Magdir/zyxel b/contrib/file/Magdir/zyxel deleted file mode 100644 index 12a6abd5de..0000000000 --- a/contrib/file/Magdir/zyxel +++ /dev/null @@ -1,16 +0,0 @@ - -#------------------------------------------------------------------------------ -# zyxel: file(1) magic for ZyXEL modems -# -# From -# 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/contrib/file/Makefile.am b/contrib/file/Makefile.am deleted file mode 100644 index 8e868cd2b2..0000000000 --- a/contrib/file/Makefile.am +++ /dev/null @@ -1,215 +0,0 @@ -# don't enforce GNU packaging standards -AUTOMAKE_OPTIONS = foreign no-dependencies - -bin_PROGRAMS = file - -data_DATA = magic magic.mime magic.mgc magic.mime.mgc - -MAGIC = @datadir@/magic -CPPFLAGS = -DMAGIC='"$(MAGIC)"' - -if FSECT5 -man_MAGIC = magic.5 -else -man_MAGIC = magic.4 -endif -fsect = @fsect@ -man_MANS = file.1 $(man_MAGIC) - -file_SOURCES = file.c apprentice.c fsmagic.c softmagic.c ascmagic.c \ - compress.c is_tar.c readelf.c print.c \ - file.h names.h patchlevel.h readelf.h tar.h - -EXTRA_DIST = LEGAL.NOTICE MAINT PORTING Makefile.std magic2mime \ - Localstuff Header $(magic_FRAGMENTS) file.man magic.man - -CLEANFILES = $(man_MANS) magic magic.mgc magic.mime.mgc - -magic: Header Localstuff $(magic_FRAGMENTS) - cat $(srcdir)/Header $(srcdir)/Localstuff > $@ - for frag in $(magic_FRAGMENTS); do \ - if test -f $(srcdir)/$$frag; then \ - f=$(srcdir)/$$frag; \ - else \ - f=$$frag; \ - fi; \ - cat $$f; \ - done >> $@ - -magic.mgc: magic file - ./file -C -m magic - -magic.mime.mgc: magic.mime file - ./file -C -m $(srcdir)/magic.mime - -file.1: Makefile file.man - @rm -f $@ - sed -e s@__CSECTION__@1@g \ - -e s@__FSECTION__@${fsect}@g \ - -e s@__VERSION__@${VERSION}@g \ - -e s@__MAGIC__@${MAGIC}@g $(srcdir)/file.man > $@ - -magic.${fsect}: Makefile magic.man - @rm -f $@ - sed -e s@__CSECTION__@1@g \ - -e s@__FSECTION__@${fsect}@g \ - -e s@__VERSION__@${VERSION}@g \ - -e s@__MAGIC__@${MAGIC}@g $(srcdir)/magic.man > $@ - -magic_FRAGMENTS = \ -Magdir/acorn \ -Magdir/adi \ -Magdir/adventure \ -Magdir/allegro \ -Magdir/alliant \ -Magdir/alpha \ -Magdir/amanda \ -Magdir/amigaos \ -Magdir/animation \ -Magdir/apl \ -Magdir/apple \ -Magdir/applix \ -Magdir/archive \ -Magdir/asterix \ -Magdir/att3b \ -Magdir/audio \ -Magdir/blender \ -Magdir/blit \ -Magdir/bsdi \ -Magdir/c-lang \ -Magdir/cddb \ -Magdir/chi \ -Magdir/cisco \ -Magdir/citrus \ -Magdir/claris \ -Magdir/clipper \ -Magdir/commands \ -Magdir/compress \ -Magdir/console \ -Magdir/convex \ -Magdir/ctags \ -Magdir/cvs \ -Magdir/database \ -Magdir/diamond \ -Magdir/diff \ -Magdir/digital \ -Magdir/dolby \ -Magdir/dump \ -Magdir/dyadic \ -Magdir/editors \ -Magdir/elf \ -Magdir/encore \ -Magdir/epoc \ -Magdir/filesystems \ -Magdir/flash \ -Magdir/fonts \ -Magdir/frame \ -Magdir/freebsd \ -Magdir/fsav \ -Magdir/gimp \ -Magdir/gnu \ -Magdir/grace \ -Magdir/gringotts \ -Magdir/hdf \ -Magdir/hitachi-sh \ -Magdir/hp \ -Magdir/ibm370 \ -Magdir/ibm6000 \ -Magdir/iff \ -Magdir/images \ -Magdir/intel \ -Magdir/interleaf \ -Magdir/island \ -Magdir/ispell \ -Magdir/java \ -Magdir/jpeg \ -Magdir/karma \ -Magdir/lecter \ -Magdir/lex \ -Magdir/lif \ -Magdir/linux \ -Magdir/lisp \ -Magdir/mach \ -Magdir/macintosh \ -Magdir/magic \ -Magdir/mail.news \ -Magdir/maple \ -Magdir/mathematica \ -Magdir/mcrypt \ -Magdir/mime \ -Magdir/mips \ -Magdir/mirage \ -Magdir/mkid \ -Magdir/mmdf \ -Magdir/mlssa \ -Magdir/modem \ -Magdir/motorola \ -Magdir/msdos \ -Magdir/msvc \ -Magdir/natinst \ -Magdir/ncr \ -Magdir/netbsd \ -Magdir/netscape \ -Magdir/news \ -Magdir/nitpicker \ -Magdir/octave \ -Magdir/olf \ -Magdir/os2 \ -Magdir/os9 \ -Magdir/osf1 \ -Magdir/palm \ -Magdir/parix \ -Magdir/pbm \ -Magdir/pdf \ -Magdir/pdp \ -Magdir/perl \ -Magdir/pgp \ -Magdir/pkgadd \ -Magdir/plus5 \ -Magdir/printer \ -Magdir/project \ -Magdir/psdbms \ -Magdir/pulsar \ -Magdir/pyramid \ -Magdir/python \ -Magdir/riff \ -Magdir/rpm \ -Magdir/rtf \ -Magdir/sc \ -Magdir/sccs \ -Magdir/sendmail \ -Magdir/sequent \ -Magdir/sgml \ -Magdir/sharc \ -Magdir/sketch \ -Magdir/smalltalk \ -Magdir/sniffer \ -Magdir/softquad \ -Magdir/spectrum \ -Magdir/sql \ -Magdir/sun \ -Magdir/sysex \ -Magdir/teapot \ -Magdir/terminfo \ -Magdir/tex \ -Magdir/tgif \ -Magdir/ti-8x \ -Magdir/timezone \ -Magdir/troff \ -Magdir/tuxedo \ -Magdir/typeset \ -Magdir/unknown \ -Magdir/uuencode \ -Magdir/varied.out \ -Magdir/vax \ -Magdir/vicar \ -Magdir/visx \ -Magdir/vms \ -Magdir/vmware \ -Magdir/vorbis \ -Magdir/vxl \ -Magdir/wordperfect \ -Magdir/xdelta \ -Magdir/xenix \ -Magdir/zilog \ -Magdir/zyxel diff --git a/contrib/file/Makefile.in b/contrib/file/Makefile.in deleted file mode 100644 index 70dfd5e7eb..0000000000 --- a/contrib/file/Makefile.in +++ /dev/null @@ -1,701 +0,0 @@ -# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# don't enforce GNU packaging standards - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = . - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -CC = @CC@ -LN_S = @LN_S@ -MAKEINFO = @MAKEINFO@ -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ - -AUTOMAKE_OPTIONS = foreign no-dependencies - -bin_PROGRAMS = file - -data_DATA = magic magic.mime magic.mgc magic.mime.mgc - -MAGIC = @datadir@/magic -CPPFLAGS = -DMAGIC='"$(MAGIC)"' -@FSECT5_TRUE@man_MAGIC = @FSECT5_TRUE@magic.5 -@FSECT5_FALSE@man_MAGIC = @FSECT5_FALSE@magic.4 -fsect = @fsect@ -man_MANS = file.1 $(man_MAGIC) - -file_SOURCES = file.c apprentice.c fsmagic.c softmagic.c ascmagic.c \ - compress.c is_tar.c readelf.c print.c \ - file.h names.h patchlevel.h readelf.h tar.h - - -EXTRA_DIST = LEGAL.NOTICE MAINT PORTING Makefile.std magic2mime \ - Localstuff Header $(magic_FRAGMENTS) file.man magic.man - - -CLEANFILES = $(man_MANS) magic magic.mgc magic.mime.mgc - -magic_FRAGMENTS = \ -Magdir/acorn \ -Magdir/adi \ -Magdir/adventure \ -Magdir/allegro \ -Magdir/alliant \ -Magdir/alpha \ -Magdir/amanda \ -Magdir/amigaos \ -Magdir/animation \ -Magdir/apl \ -Magdir/apple \ -Magdir/applix \ -Magdir/archive \ -Magdir/asterix \ -Magdir/att3b \ -Magdir/audio \ -Magdir/blender \ -Magdir/blit \ -Magdir/bsdi \ -Magdir/c-lang \ -Magdir/cddb \ -Magdir/chi \ -Magdir/cisco \ -Magdir/citrus \ -Magdir/claris \ -Magdir/clipper \ -Magdir/commands \ -Magdir/compress \ -Magdir/console \ -Magdir/convex \ -Magdir/ctags \ -Magdir/cvs \ -Magdir/database \ -Magdir/diamond \ -Magdir/diff \ -Magdir/digital \ -Magdir/dolby \ -Magdir/dump \ -Magdir/dyadic \ -Magdir/editors \ -Magdir/elf \ -Magdir/encore \ -Magdir/epoc \ -Magdir/filesystems \ -Magdir/flash \ -Magdir/fonts \ -Magdir/frame \ -Magdir/freebsd \ -Magdir/fsav \ -Magdir/gimp \ -Magdir/gnu \ -Magdir/grace \ -Magdir/gringotts \ -Magdir/hdf \ -Magdir/hitachi-sh \ -Magdir/hp \ -Magdir/ibm370 \ -Magdir/ibm6000 \ -Magdir/iff \ -Magdir/images \ -Magdir/intel \ -Magdir/interleaf \ -Magdir/island \ -Magdir/ispell \ -Magdir/java \ -Magdir/jpeg \ -Magdir/karma \ -Magdir/lecter \ -Magdir/lex \ -Magdir/lif \ -Magdir/linux \ -Magdir/lisp \ -Magdir/mach \ -Magdir/macintosh \ -Magdir/magic \ -Magdir/mail.news \ -Magdir/maple \ -Magdir/mathematica \ -Magdir/mcrypt \ -Magdir/mime \ -Magdir/mips \ -Magdir/mirage \ -Magdir/mkid \ -Magdir/mmdf \ -Magdir/mlssa \ -Magdir/modem \ -Magdir/motorola \ -Magdir/msdos \ -Magdir/msvc \ -Magdir/natinst \ -Magdir/ncr \ -Magdir/netbsd \ -Magdir/netscape \ -Magdir/news \ -Magdir/nitpicker \ -Magdir/octave \ -Magdir/olf \ -Magdir/os2 \ -Magdir/os9 \ -Magdir/osf1 \ -Magdir/palm \ -Magdir/parix \ -Magdir/pbm \ -Magdir/pdf \ -Magdir/pdp \ -Magdir/perl \ -Magdir/pgp \ -Magdir/pkgadd \ -Magdir/plus5 \ -Magdir/printer \ -Magdir/project \ -Magdir/psdbms \ -Magdir/pulsar \ -Magdir/pyramid \ -Magdir/python \ -Magdir/riff \ -Magdir/rpm \ -Magdir/rtf \ -Magdir/sc \ -Magdir/sccs \ -Magdir/sendmail \ -Magdir/sequent \ -Magdir/sgml \ -Magdir/sharc \ -Magdir/sketch \ -Magdir/smalltalk \ -Magdir/sniffer \ -Magdir/softquad \ -Magdir/spectrum \ -Magdir/sql \ -Magdir/sun \ -Magdir/sysex \ -Magdir/teapot \ -Magdir/terminfo \ -Magdir/tex \ -Magdir/tgif \ -Magdir/ti-8x \ -Magdir/timezone \ -Magdir/troff \ -Magdir/tuxedo \ -Magdir/typeset \ -Magdir/unknown \ -Magdir/uuencode \ -Magdir/varied.out \ -Magdir/vax \ -Magdir/vicar \ -Magdir/visx \ -Magdir/vms \ -Magdir/vmware \ -Magdir/vorbis \ -Magdir/vxl \ -Magdir/wordperfect \ -Magdir/xdelta \ -Magdir/xenix \ -Magdir/zilog \ -Magdir/zyxel - -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -PROGRAMS = $(bin_PROGRAMS) - - -DEFS = @DEFS@ -I. -I$(srcdir) -I. -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -file_OBJECTS = file.o apprentice.o fsmagic.o softmagic.o ascmagic.o \ -compress.o is_tar.o readelf.o print.o -file_LDADD = $(LDADD) -file_DEPENDENCIES = -file_LDFLAGS = -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -man1dir = $(mandir)/man1 -man4dir = $(mandir)/man4 -man5dir = $(mandir)/man5 -MANS = $(man_MANS) - -NROFF = nroff -DATA = $(data_DATA) - -DIST_COMMON = README ./stamp-h.in Makefile.am Makefile.in acconfig.h \ -acinclude.m4 aclocal.m4 config.h.in configure configure.in install-sh \ -missing mkinstalldirs - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = gtar -GZIP_ENV = --best -SOURCES = $(file_SOURCES) -OBJECTS = $(file_OBJECTS) - -all: all-redirect -.SUFFIXES: -.SUFFIXES: .S .c .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status - -$(ACLOCAL_M4): configure.in acinclude.m4 - cd $(srcdir) && $(ACLOCAL) - -config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck -$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) - cd $(srcdir) && $(AUTOCONF) - -config.h: stamp-h - @if test ! -f $@; then \ - rm -f stamp-h; \ - $(MAKE) stamp-h; \ - else :; fi -stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES= CONFIG_HEADERS=config.h \ - $(SHELL) ./config.status - @echo timestamp > stamp-h 2> /dev/null -$(srcdir)/config.h.in: $(srcdir)/stamp-h.in - @if test ! -f $@; then \ - rm -f $(srcdir)/stamp-h.in; \ - $(MAKE) $(srcdir)/stamp-h.in; \ - else :; fi -$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h - cd $(top_srcdir) && $(AUTOHEADER) - @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null - -mostlyclean-hdr: - -clean-hdr: - -distclean-hdr: - -rm -f config.h - -maintainer-clean-hdr: - -mostlyclean-binPROGRAMS: - -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) - -distclean-binPROGRAMS: - -maintainer-clean-binPROGRAMS: - -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - if test -f $$p; then \ - echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ - $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - list='$(bin_PROGRAMS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ - done - -.c.o: - $(COMPILE) -c $< - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< - -mostlyclean-compile: - -rm -f *.o core *.core - -clean-compile: - -distclean-compile: - -rm -f *.tab.c - -maintainer-clean-compile: - -file: $(file_OBJECTS) $(file_DEPENDENCIES) - @rm -f file - $(LINK) $(file_LDFLAGS) $(file_OBJECTS) $(file_LDADD) $(LIBS) - -install-man1: - $(mkinstalldirs) $(DESTDIR)$(man1dir) - @list='$(man1_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.1*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ - done - -uninstall-man1: - @list='$(man1_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.1*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ - rm -f $(DESTDIR)$(man1dir)/$$inst; \ - done - -install-man4: - $(mkinstalldirs) $(DESTDIR)$(man4dir) - @list='$(man4_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.4*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man4dir)/$$inst"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(man4dir)/$$inst; \ - done - -uninstall-man4: - @list='$(man4_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.4*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f $(DESTDIR)$(man4dir)/$$inst"; \ - rm -f $(DESTDIR)$(man4dir)/$$inst; \ - done - -install-man5: - $(mkinstalldirs) $(DESTDIR)$(man5dir) - @list='$(man5_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.5*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst; \ - done - -uninstall-man5: - @list='$(man5_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.5*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f $(DESTDIR)$(man5dir)/$$inst"; \ - rm -f $(DESTDIR)$(man5dir)/$$inst; \ - done -install-man: $(MANS) - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-man1 install-man4 install-man5 -uninstall-man: - @$(NORMAL_UNINSTALL) - $(MAKE) $(AM_MAKEFLAGS) uninstall-man1 uninstall-man4 uninstall-man5 - -install-dataDATA: $(data_DATA) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(datadir) - @list='$(data_DATA)'; for p in $$list; do \ - if test -f $(srcdir)/$$p; then \ - echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(datadir)/$$p"; \ - $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(datadir)/$$p; \ - else if test -f $$p; then \ - echo " $(INSTALL_DATA) $$p $(DESTDIR)$(datadir)/$$p"; \ - $(INSTALL_DATA) $$p $(DESTDIR)$(datadir)/$$p; \ - fi; fi; \ - done - -uninstall-dataDATA: - @$(NORMAL_UNINSTALL) - list='$(data_DATA)'; for p in $$list; do \ - rm -f $(DESTDIR)$(datadir)/$$p; \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) - -TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS) - -mostlyclean-tags: - -clean-tags: - -distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - -rm -rf $(distdir) - GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz - mkdir $(distdir)/=build - mkdir $(distdir)/=inst - dc_install_base=`cd $(distdir)/=inst && pwd`; \ - cd $(distdir)/=build \ - && ../configure --srcdir=.. --prefix=$$dc_install_base \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) dist - -rm -rf $(distdir) - @banner="$(distdir).tar.gz is ready for distribution"; \ - dashes=`echo "$$banner" | sed s/./=/g`; \ - echo "$$dashes"; \ - echo "$$banner"; \ - echo "$$dashes" -dist: distdir - -chmod -R a+r $(distdir) - GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) - -rm -rf $(distdir) -dist-all: distdir - -chmod -R a+r $(distdir) - GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) - -rm -rf $(distdir) -distdir: $(DISTFILES) - -rm -rf $(distdir) - mkdir $(distdir) - -chmod 777 $(distdir) - $(mkinstalldirs) $(distdir)/Magdir - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$d/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done -info-am: -info: info-am -dvi-am: -dvi: dvi-am -check-am: all-am -check: check-am -installcheck-am: -installcheck: installcheck-am -all-recursive-am: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -install-exec-am: install-binPROGRAMS -install-exec: install-exec-am - -install-data-am: install-man install-dataDATA -install-data: install-data-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: uninstall-binPROGRAMS uninstall-man uninstall-dataDATA -uninstall: uninstall-am -all-am: Makefile $(PROGRAMS) $(MANS) $(DATA) config.h -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1 \ - $(DESTDIR)$(mandir)/man4 $(DESTDIR)$(mandir)/man5 \ - $(DESTDIR)$(datadir) - - -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-hdr mostlyclean-binPROGRAMS \ - mostlyclean-compile mostlyclean-tags \ - mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-hdr clean-binPROGRAMS clean-compile clean-tags \ - clean-generic mostlyclean-am - -clean: clean-am - -distclean-am: distclean-hdr distclean-binPROGRAMS distclean-compile \ - distclean-tags distclean-generic clean-am - -distclean: distclean-am - -rm -f config.status - -maintainer-clean-am: maintainer-clean-hdr maintainer-clean-binPROGRAMS \ - maintainer-clean-compile maintainer-clean-tags \ - maintainer-clean-generic distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-am - -rm -f config.status - -.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ -mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ -maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ -mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile install-man1 uninstall-man1 install-man4 \ -uninstall-man4 install-man5 uninstall-man5 install-man uninstall-man \ -uninstall-dataDATA install-dataDATA tags mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ -dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \ -install-exec-am install-exec install-data-am install-data install-am \ -install uninstall-am uninstall all-redirect all-am all installdirs \ -mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean - - -magic: Header Localstuff $(magic_FRAGMENTS) - cat $(srcdir)/Header $(srcdir)/Localstuff > $@ - for frag in $(magic_FRAGMENTS); do \ - if test -f $(srcdir)/$$frag; then \ - f=$(srcdir)/$$frag; \ - else \ - f=$$frag; \ - fi; \ - cat $$f; \ - done >> $@ - -magic.mgc: magic file - ./file -C -m magic - -magic.mime.mgc: magic.mime file - ./file -C -m $(srcdir)/magic.mime - -file.1: Makefile file.man - @rm -f $@ - sed -e s@__CSECTION__@1@g \ - -e s@__FSECTION__@${fsect}@g \ - -e s@__VERSION__@${VERSION}@g \ - -e s@__MAGIC__@${MAGIC}@g $(srcdir)/file.man > $@ - -magic.${fsect}: Makefile magic.man - @rm -f $@ - sed -e s@__CSECTION__@1@g \ - -e s@__FSECTION__@${fsect}@g \ - -e s@__VERSION__@${VERSION}@g \ - -e s@__MAGIC__@${MAGIC}@g $(srcdir)/magic.man > $@ - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/contrib/file/Makefile.std b/contrib/file/Makefile.std deleted file mode 100644 index ff2a9b5ddc..0000000000 --- a/contrib/file/Makefile.std +++ /dev/null @@ -1,167 +0,0 @@ -# Makefile for file(1) cmd. -# Copyright (c) Ian F. Darwin 86/09/01 - see LEGAL.NOTICE. -# @(#)$Id: Makefile.std,v 1.17 2003/02/27 20:47:45 christos Exp $ -# -# 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. -# -VERSION = 3.41 -SHELL = /bin/sh -#MAGIC = /etc/magic -MAGIC = /usr/local/etc/magic -DEFS = -DMAGIC='"$(MAGIC)"' -DBUILTIN_ELF # -Dvoid=int -CC = cc -COPTS = -O -g # newer compilers allow both; else drop -O -# For truly antique environments, use this for (dummy) include files: -COPTS = -O # -Ilocalinc -CFLAGS = $(COPTS) $(DEFS) -LDFLAGS = $(COPTS) # -Bstatic # older gdb couldn't handle shared libs -SHAR = bundle -OFILE = /usr/bin/file # old or distributed version, for comparison -# Where new binary lives; typically /usr/local (BSD), /usr/lbin (USG). -BINDIR = /usr/local/bin -# For installing our man pages; -# MANCxxx is manual section for Commands, MANFxxx is section for file formats. -# MANxDIR is directory names; MANxEXT is the filename extention. Usual values: -# Variable V7 4BSD Sys V -# MANCDIR /usr/man/man1 /usr/man/man1 /usr/man/u_man/man1 -# MANFDIR /usr/man/man5 /usr/man/man5 /usr/man/u_man/man4 -# MANCEXT 1 1 1 -# MANFEXT 5 5 4 -# --- possible alternative for 4BSD --- -# MANCDIR /usr/local/man/man1 -# MANCEXT 1 -# or -# MANCDIR /usr/man/manl -# MANCEXT l -# --- possible alternative for USG --- -# MANCDIR /usr/man/local/man1 -# MANCEXT 1 - -MANCDIR = /usr/local/man/man1 -MANCEXT = 1 -MANFDIR = /usr/local/man/man4 -MANFEXT = 4 - -# There are no system-dependant configuration options (except maybe CFLAGS). -# Uncomment any of these that is missing from your "standard" library. -LOCALSRCS = # localsrc/getopt.c localsrc/strtol.c \ -# localsrc/strtok.c localsrc/strchr.c -LOCALOBJS = # localsrc/getopt.o localsrc/strtol.o \ -# localsrc/strtok.o localsrc/strchr.o -# These are not compiled in unless you use -Ilocalinc, but -# are not commented out as "make dist" &c use them. -LOCALINC = # localinc/*.h localinc/sys/*.h - -SRCS = file.c apprentice.c fsmagic.c softmagic.c ascmagic.c \ - compress.c is_tar.c readelf.c \ - print.c $(LOCALSRCS) $(LOCALINC) -OBJS = file.o apprentice.o fsmagic.o softmagic.o ascmagic.o \ - compress.o is_tar.o readelf.o \ - print.o $(LOCALOBJS) -HDRS = file.h names.h patchlevel.h readelf.h tar.h - -AUTOSRC=configure configure.in install-sh config.h.in Makefile.in -ALLSRC = LEGAL.NOTICE README MAINT PORTING $(SRCS) $(HDRS) \ - Makefile.std file.man magic.man magic2mime $(AUTOSRC) \ - Localstuff Header -ALLMAGIC = Magdir/[a-z]* - -all: file magic file.${MANCEXT} magic.${MANFEXT} - -TESTFILES = * tst/* -try: all $(OFILE) - cd tst; $(MAKE) - time $(OFILE) $(TESTFILES) >/tmp/t1 # can't use ./magic - time ./file -m ./magic $(TESTFILES) >/tmp/t2 - -diff -b /tmp/t[12] - what ./file >lastnocore - -file: $(OBJS) - $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ -lint: $(SRCS) - lint -ha $(DEFS) $(SRCS) | tee $@ -magic: Localstuff Header Magdir - cat Header Localstuff Magdir/[a-z] > $@ - -ascmagic.o: names.h - -compress.o apprentice.o ascmagic.o file.o fsmagic.o print.o softmagic.o: file.h - -install: file magic - cp file $(BINDIR)/file - cp magic $(MAGIC) - -install.man: file.${MANCEXT} magic.${MANFEXT} - cp file.${MANCEXT} $(MANCDIR)/file.$(MANCEXT) - cp magic.${MANFEXT} $(MANFDIR)/magic.$(MANFEXT) - -clean: - rm -f *.o core file magic lint dist.* MANIFEST \ - magic.${MANFEXT} file.${MANCEXT} \ - config.h config.status config.cache config.log -clobber: - cd tst; $(MAKE) clean - - -magic.${MANFEXT} : Makefile magic.man - @rm -f $@ - sed -e s@__CSECTION__@${MANCEXT}@g \ - -e s@__FSECTION__@${MANFEXT}@g \ - -e s@__VERSION__@${VERSION}@g \ - -e s@__MAGIC__@${MAGIC}@g magic.man > $@ - -file.${MANCEXT} : Makefile file.man - @rm -f $@ - sed -e s@__CSECTION__@${MANCEXT}@g \ - -e s@__FSECTION__@${MANFEXT}@g \ - -e s@__VERSION__@${VERSION}@g \ - -e s@__MAGIC__@${MAGIC}@g file.man > $@ - -send: dist - ftp ftp.cs - -dist: dist.src dist.magic - @echo Now check this patchlevel! - ident patchlevel.h - -dist.src: $(ALLSRC) MANIFEST -# Some versions of shar can't handle a single file from -# a subdirectory, so we manually insert mkdir as needed. -# The point is to exclude all the generable targets in tst. - (echo mkdir localinc localinc/sys localsrc tst; \ - $(SHAR) $(ALLSRC) MANIFEST) > $@ - -rcsdiff: $(ALLSRC) - rcsdiff -q RCS/* - -MANIFEST: $(ALLSRC) - ident $(ALLSRC) > MANIFEST -dist.magic: Magdir -# As above, but to exclude Magdir/RCS from being shipped. - (echo mkdir Magdir; $(SHAR) $(ALLMAGIC)) >$@ - -tar: $(ALLSRC) $(ALLMAGIC) - -rm -fr file-${VERSION} - -mkdir file-${VERSION} file-${VERSION}/Magdir - ln $(ALLSRC) file-${VERSION} - ln ${ALLMAGIC} file-${VERSION}/Magdir - tar cvf file-${VERSION}.tar file-${VERSION} - -rm -fr file-${VERSION} diff --git a/contrib/file/README b/contrib/file/README deleted file mode 100644 index 0d16503d35..0000000000 --- a/contrib/file/README +++ /dev/null @@ -1,97 +0,0 @@ -** README for file(1) Command ** -@(#) $Id: README,v 1.29 2003/02/27 20:47:46 christos Exp $ - -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 independence. - -The prime contributor to Release 3.0 was Christos Zoulas, who put -in hundreds of lines of source code changes, including his own -ANSIfication of the code (I liked my own ANSIfication better, but -his (__P()) is the "Berkeley standard" way of doing it, and I wanted UCB -to include the code...), his HP-like "indirection" (a feature of -the HP file command, I think), and his mods that finally got the -uncompress (-z) mode finished and working. - -This release has compiled in numerous environments; see PORTING -for a list and problems. - -This fine freeware file(1) follows the USG (System V) model of the file -command, rather than the Research (V7) version or the V7-derived 4.[23] -Berkeley one. That is, the file /etc/magic contains much of the ritual -information that is the source of this program's power. My version -knows a little more magic (including tar archives) than System V; the -/etc/magic parsing seems to be compatible with the (poorly documented) -System V /etc/magic format (with one exception; see the man page). - -In addition, the /etc/magic file is built from a subdirectory -for easier(?) maintenance. I will act as a clearinghouse for -magic numbers assigned to all sorts of data files that -are in reasonable circulation. Send your magic numbers, -in magic(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 embedded-space ("\ ") in - the current magic file, or may even not use the - magic file. -apprentice.c - parses /etc/magic to learn magic -ascmagic.c - third & last set of tests, based on hardwired assumptions. -core - not included in distribution due to mailer limitations. -debug.c - includes -c printout routine -file.1 - man page for the command -magic.4 - man page for the magic file, courtesy Guy Harris. - Install as magic.4 on USG and magic.5 on V7 or Berkeley; cf Makefile. -file.c - main program -file.h - header file -fsmagic.c - first set of tests the program runs, based on filesystem info -is_tar.c, tar.h - knows about tarchives (courtesy John Gilmore). -magdir - directory of /etc/magic pieces - magdir/Makefile - ADJUST THIS FOR YOUR CONFIGURATION -names.h - header file for ascmagic.c -softmagic.c - 2nd set of tests, based on /etc/magic -readelf.[ch] - Stand-alone elf parsing code. -compress.c - on-the-fly decompression. -print.c - print results, errors, warnings. - -If your gzip sometimes fails to decompress things complaining about a short -file, apply this patch [which is going to be in the next version of gzip]: -*** - Tue Oct 29 02:06:35 1996 ---- util.c Sun Jul 21 21:51:38 1996 -*** 106,111 **** ---- 108,114 ---- - - if (insize == 0) { - if (eof_ok) return EOF; -+ flush_window(); - read_error(); - } - bytes_in += (ulg)insize; - -E-mail: christos@astron.com - -Phone: Do not even think of telephoning me about this program. Send cash first! - -Parts of this software were developed at SoftQuad Inc., 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. - -From: Kees Zeelenberg - -An MS-Windows (Win32) port of File-3.41 is available from -http://gnuwin32.sourceforge.net/ -File is an implementation of the Unix File(1) command. -It knows the 'magic number' of several thousands of file types. diff --git a/contrib/file/acconfig.h b/contrib/file/acconfig.h deleted file mode 100644 index e6293daf5c..0000000000 --- a/contrib/file/acconfig.h +++ /dev/null @@ -1,60 +0,0 @@ -/* Autoheader needs me */ -#undef PACKAGE - -/* Autoheader needs me */ -#undef VERSION - -/* Define if builtin ELF support is enabled. */ -#undef BUILTIN_ELF - -/* Define if ELF core file support is enabled. */ -#undef ELFCORE - -/* Define if the `long long' type works. */ -#undef HAVE_LONG_LONG - -/* Define if we have "tm_zone" in "struct tm". */ -#undef HAVE_TM_ZONE - -/* Define if we have a global "char * []" "tzname" variable. */ -#undef HAVE_TZNAME - -/* Define if we have "tm_isdst" in "struct tm". */ -#undef HAVE_TM_ISDST - -/* Define if we have a global "int" variable "daylight". */ -#undef HAVE_DAYLIGHT - -/* Define if we have a mkstemp */ -#undef HAVE_MKSTEMP - -/* 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 - -/* Define to `int' if standard headers don't define. */ -#undef int32_t - -/* FIXME: These have to be added manually because autoheader doesn't know - about AC_CHECK_SIZEOF_INCLUDES. */ - -/* The number of bytes in a uint8_t. */ -#define SIZEOF_UINT8_T 0 - -/* The number of bytes in a uint16_t. */ -#define SIZEOF_UINT16_T 0 - -/* The number of bytes in a uint32_t. */ -#define SIZEOF_UINT32_T 0 - -/* The number of bytes in a uint64_t. */ -#define SIZEOF_UINT64_T 0 diff --git a/contrib/file/acinclude.m4 b/contrib/file/acinclude.m4 deleted file mode 100644 index 79ecb0e11d..0000000000 --- a/contrib/file/acinclude.m4 +++ /dev/null @@ -1,254 +0,0 @@ -dnl cloned from autoconf 2.13 acspecific.m4 -AC_DEFUN([AC_C_LONG_LONG], -[AC_CACHE_CHECK(for long long, ac_cv_c_long_long, -[if test "$GCC" = yes; then - ac_cv_c_long_long=yes -else -AC_TRY_RUN([int main() { -long long foo = 0; -exit(sizeof(long long) < sizeof(long)); }], -ac_cv_c_long_long=yes, ac_cv_c_long_long=no) -fi]) -if test $ac_cv_c_long_long = yes; then - AC_DEFINE(HAVE_LONG_LONG) -fi -]) - -dnl from autoconf 2.13 acspecific.m4, with changes to check for daylight - -AC_DEFUN([AC_STRUCT_TIMEZONE_DAYLIGHT], -[AC_REQUIRE([AC_STRUCT_TM])dnl -AC_CACHE_CHECK([for tm_zone in struct tm], ac_cv_struct_tm_zone, -[AC_TRY_COMPILE([#include -#include <$ac_cv_struct_tm>], [struct tm tm; tm.tm_zone;], - ac_cv_struct_tm_zone=yes, ac_cv_struct_tm_zone=no)]) -if test "$ac_cv_struct_tm_zone" = yes; then - AC_DEFINE(HAVE_TM_ZONE,1,[HAVE_TM_ZONE]) -fi -AC_CACHE_CHECK(for tzname, ac_cv_var_tzname, -[AC_TRY_LINK( -changequote(<<, >>)dnl -<<#include -#ifndef tzname /* For SGI. */ -extern char *tzname[]; /* RS6000 and others reject char **tzname. */ -#endif>>, -changequote([, ])dnl -[atoi(*tzname);], ac_cv_var_tzname=yes, ac_cv_var_tzname=no)]) - if test $ac_cv_var_tzname = yes; then - AC_DEFINE(HAVE_TZNAME,1,[HAVE_TZNAME]) - fi - -AC_CACHE_CHECK([for tm_isdst in struct tm], ac_cv_struct_tm_isdst, -[AC_TRY_COMPILE([#include -#include <$ac_cv_struct_tm>], [struct tm tm; tm.tm_isdst;], - ac_cv_struct_tm_isdst=yes, ac_cv_struct_tm_isdst=no)]) -if test "$ac_cv_struct_tm_isdst" = yes; then - AC_DEFINE(HAVE_TM_ISDST) -fi -AC_CACHE_CHECK(for daylight, ac_cv_var_daylight, -[AC_TRY_LINK( -changequote(<<, >>)dnl -<<#include -#ifndef daylight /* In case IRIX #defines this, too */ -extern int daylight; -#endif>>, -changequote([, ])dnl -[atoi(daylight);], ac_cv_var_daylight=yes, ac_cv_var_daylight=no)]) - if test $ac_cv_var_daylight = yes; then - AC_DEFINE(HAVE_DAYLIGHT) - fi -]) - -dnl from autoconf 2.13 acgeneral.m4, with patch: -dnl Date: Fri, 15 Jan 1999 05:52:41 -0800 -dnl Message-ID: <199901151352.FAA18237@shade.twinsun.com> -dnl From: eggert@twinsun.com (Paul Eggert) -dnl Subject: autoconf 2.13 AC_CHECK_TYPE doesn't allow shell vars -dnl Newsgroups: gnu.utils.bug -dnl -dnl now include if available - -dnl AC_CHECK_TYPE2_STDC(TYPE, DEFAULT) -AC_DEFUN([AC_CHECK_TYPE2_STDC], -[AC_REQUIRE([AC_HEADER_STDC])dnl -AC_REQUIRE([AC_HEADER_STDINT])dnl -AC_MSG_CHECKING(for $1) -AC_CACHE_VAL(ac_cv_type_$1, -[AC_EGREP_CPP(dnl -[(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]], -[#if HAVE_STDINT_H -#include -#endif -#include -#if STDC_HEADERS -#include -#include -#endif], eval "ac_cv_type_$1=yes", eval "ac_cv_type_$1=no")])dnl -if eval "test \"`echo '$ac_cv_type_'$1`\" = yes"; then - AC_MSG_RESULT(yes) -else - AC_MSG_RESULT(no) - AC_DEFINE_UNQUOTED($1, $2) -fi -]) - -dnl from autoconf 2.13 acgeneral.m4, with additional third argument -dnl AC_CHECK_SIZEOF_INCLUDES(TYPE [, CROSS-SIZE [, INCLUDES]]) -AC_DEFUN([AC_CHECK_SIZEOF_INCLUDES], -[dnl The name to #define. -define([AC_TYPE_NAME], translit(sizeof_$1, [[[a-z *]]], [[[A-Z_P]]]))dnl -dnl The cache variable name. -define([AC_CV_NAME], translit(ac_cv_sizeof_$1, [[[ *]]], [[[_p]]]))dnl -AC_MSG_CHECKING(size of $1) -AC_CACHE_VAL(AC_CV_NAME, -[AC_TRY_RUN([$3 -#include -main() -{ - FILE *f=fopen("conftestval", "w"); - if (!f) exit(1); - fprintf(f, "%d\n", sizeof($1)); - exit(0); -}], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$2], , , AC_CV_NAME=$2))])dnl -AC_MSG_RESULT($AC_CV_NAME) -AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME) -undefine([AC_TYPE_NAME])dnl -undefine([AC_CV_NAME])dnl -]) - -dnl AC_CHECK_SIZEOF_STDC_HEADERS(TYPE [, CROSS_SIZE]) -AC_DEFUN([AC_CHECK_SIZEOF_STDC_HEADERS], -[AC_REQUIRE([AC_HEADER_STDC])dnl -AC_REQUIRE([AC_HEADER_STDINT])dnl -AC_CHECK_SIZEOF_INCLUDES($1, $2, -[#if HAVE_STDINT_H -#include -#endif -#include -#ifdef STDC_HEADERS -#include -#endif -]) -]) - - -dnl AC_CHECK_TYPE_STDC(TYPE, DEFAULT) -AC_DEFUN([AC_CHECK_TYPE_STDC], -[AC_REQUIRE([AC_HEADER_STDC])dnl -AC_REQUIRE([AC_HEADER_STDINT])dnl -AC_MSG_CHECKING(for $1) -AC_CACHE_VAL(ac_cv_type_$1, -[AC_EGREP_CPP(dnl -[(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]], -[#if HAVE_STDINT_H -#include -#endif -#include -#if STDC_HEADERS -#include -#include -#endif], ac_cv_type_$1=yes, ac_cv_type_$1=no)])dnl -AC_MSG_RESULT($ac_cv_type_$1) -if test $ac_cv_type_$1 = no; then - AC_DEFINE($1, $2) -fi -]) - -dnl AC_HEADER_STDINT -AC_DEFUN([AC_HEADER_STDINT], [AC_CHECK_HEADERS(stdint.h)]) - -#serial 19 - -dnl By default, many hosts won't let programs access large files; -dnl one must use special compiler options to get large-file access to work. -dnl For more details about this brain damage please see: -dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html - -dnl Written by Paul Eggert . - -dnl Internal subroutine of AC_SYS_LARGEFILE. -dnl AC_SYS_LARGEFILE_TEST_INCLUDES -AC_DEFUN([AC_SYS_LARGEFILE_TEST_INCLUDES], - [[#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply "#define LARGE_OFF_T 9223372036854775807", - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -# define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; - ]]) - -dnl Internal subroutine of AC_SYS_LARGEFILE. -dnl AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, CACHE-VAR, COMMENT, INCLU= -DES, FUNCTION-BODY) -AC_DEFUN([AC_SYS_LARGEFILE_MACRO_VALUE], - [AC_CACHE_CHECK([for $1 value needed for large files], $3, - [$3=no - AC_TRY_COMPILE([$5], - [$6], - , - [AC_TRY_COMPILE([#define $1 $2] -[$5] - , - [$6], - [$3=$2])])]) - if test "[$]$3" != no; then - AC_DEFINE_UNQUOTED([$1], [$]$3, [$4]) - fi]) - -AC_DEFUN([AC_SYS_LARGEFILE], - [AC_REQUIRE([AC_PROG_CC]) - AC_ARG_ENABLE(largefile, - [ --disable-largefile omit support for large files]) - if test "$enable_largefile" != no; then - - AC_CACHE_CHECK([for special C compiler options needed for large files= -], - ac_cv_sys_largefile_CC, - [ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - AC_TRY_COMPILE(AC_SYS_LARGEFILE_TEST_INCLUDES, , , - [ac_save_CC="$CC" - CC="$CC -n32" - AC_TRY_COMPILE(AC_SYS_LARGEFILE_TEST_INCLUDES, , - ac_cv_sys_largefile_CC=' -n32') - CC="$ac_save_CC"]) - fi]) - if test "$ac_cv_sys_largefile_CC" != no; then - CC="$CC$ac_cv_sys_largefile_CC" - fi - - AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64, - ac_cv_sys_file_offset_bits, - [Number of bits in a file offset, on hosts where this is settable.], - AC_SYS_LARGEFILE_TEST_INCLUDES) - AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1, - ac_cv_sys_large_files, - [Define for large files, on AIX-style hosts.], - AC_SYS_LARGEFILE_TEST_INCLUDES) - fi - ]) - -AC_DEFUN([AC_FUNC_FSEEKO], - [AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE, 1, - ac_cv_sys_largefile_source, - [Define to make fseeko visible on some hosts (e.g. glibc 2.2).], - [#include ], [return !fseeko;]) - # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug - # in glibc 2.1.3, but that breaks too many other things. - # If you want fseeko and ftello with glibc, upgrade to a fixed glibc. - - AC_CACHE_CHECK([for fseeko], ac_cv_func_fseeko, - [ac_cv_func_fseeko=no - AC_TRY_LINK([#include ], - [return fseeko && fseeko (stdin, 0, 0);], - [ac_cv_func_fseeko=yes])]) - if test $ac_cv_func_fseeko != no; then - AC_DEFINE(HAVE_FSEEKO, 1, - [Define if fseeko (and presumably ftello) exists and is declared.]) - fi]) - diff --git a/contrib/file/aclocal.m4 b/contrib/file/aclocal.m4 deleted file mode 100644 index 8c89201992..0000000000 --- a/contrib/file/aclocal.m4 +++ /dev/null @@ -1,395 +0,0 @@ -dnl aclocal.m4 generated automatically by aclocal 1.4-p5 - -dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without -dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A -dnl PARTICULAR PURPOSE. - -dnl cloned from autoconf 2.13 acspecific.m4 -AC_DEFUN([AC_C_LONG_LONG], -[AC_CACHE_CHECK(for long long, ac_cv_c_long_long, -[if test "$GCC" = yes; then - ac_cv_c_long_long=yes -else -AC_TRY_RUN([int main() { -long long foo = 0; -exit(sizeof(long long) < sizeof(long)); }], -ac_cv_c_long_long=yes, ac_cv_c_long_long=no) -fi]) -if test $ac_cv_c_long_long = yes; then - AC_DEFINE(HAVE_LONG_LONG) -fi -]) - -dnl from autoconf 2.13 acspecific.m4, with changes to check for daylight - -AC_DEFUN([AC_STRUCT_TIMEZONE_DAYLIGHT], -[AC_REQUIRE([AC_STRUCT_TM])dnl -AC_CACHE_CHECK([for tm_zone in struct tm], ac_cv_struct_tm_zone, -[AC_TRY_COMPILE([#include -#include <$ac_cv_struct_tm>], [struct tm tm; tm.tm_zone;], - ac_cv_struct_tm_zone=yes, ac_cv_struct_tm_zone=no)]) -if test "$ac_cv_struct_tm_zone" = yes; then - AC_DEFINE(HAVE_TM_ZONE,1,[HAVE_TM_ZONE]) -fi -AC_CACHE_CHECK(for tzname, ac_cv_var_tzname, -[AC_TRY_LINK( -changequote(<<, >>)dnl -<<#include -#ifndef tzname /* For SGI. */ -extern char *tzname[]; /* RS6000 and others reject char **tzname. */ -#endif>>, -changequote([, ])dnl -[atoi(*tzname);], ac_cv_var_tzname=yes, ac_cv_var_tzname=no)]) - if test $ac_cv_var_tzname = yes; then - AC_DEFINE(HAVE_TZNAME,1,[HAVE_TZNAME]) - fi - -AC_CACHE_CHECK([for tm_isdst in struct tm], ac_cv_struct_tm_isdst, -[AC_TRY_COMPILE([#include -#include <$ac_cv_struct_tm>], [struct tm tm; tm.tm_isdst;], - ac_cv_struct_tm_isdst=yes, ac_cv_struct_tm_isdst=no)]) -if test "$ac_cv_struct_tm_isdst" = yes; then - AC_DEFINE(HAVE_TM_ISDST) -fi -AC_CACHE_CHECK(for daylight, ac_cv_var_daylight, -[AC_TRY_LINK( -changequote(<<, >>)dnl -<<#include -#ifndef daylight /* In case IRIX #defines this, too */ -extern int daylight; -#endif>>, -changequote([, ])dnl -[atoi(daylight);], ac_cv_var_daylight=yes, ac_cv_var_daylight=no)]) - if test $ac_cv_var_daylight = yes; then - AC_DEFINE(HAVE_DAYLIGHT) - fi -]) - -dnl from autoconf 2.13 acgeneral.m4, with patch: -dnl Date: Fri, 15 Jan 1999 05:52:41 -0800 -dnl Message-ID: <199901151352.FAA18237@shade.twinsun.com> -dnl From: eggert@twinsun.com (Paul Eggert) -dnl Subject: autoconf 2.13 AC_CHECK_TYPE doesn't allow shell vars -dnl Newsgroups: gnu.utils.bug -dnl -dnl now include if available - -dnl AC_CHECK_TYPE2_STDC(TYPE, DEFAULT) -AC_DEFUN([AC_CHECK_TYPE2_STDC], -[AC_REQUIRE([AC_HEADER_STDC])dnl -AC_REQUIRE([AC_HEADER_STDINT])dnl -AC_MSG_CHECKING(for $1) -AC_CACHE_VAL(ac_cv_type_$1, -[AC_EGREP_CPP(dnl -[(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]], -[#if HAVE_STDINT_H -#include -#endif -#include -#if STDC_HEADERS -#include -#include -#endif], eval "ac_cv_type_$1=yes", eval "ac_cv_type_$1=no")])dnl -if eval "test \"`echo '$ac_cv_type_'$1`\" = yes"; then - AC_MSG_RESULT(yes) -else - AC_MSG_RESULT(no) - AC_DEFINE_UNQUOTED($1, $2) -fi -]) - -dnl from autoconf 2.13 acgeneral.m4, with additional third argument -dnl AC_CHECK_SIZEOF_INCLUDES(TYPE [, CROSS-SIZE [, INCLUDES]]) -AC_DEFUN([AC_CHECK_SIZEOF_INCLUDES], -[dnl The name to #define. -define([AC_TYPE_NAME], translit(sizeof_$1, [[[a-z *]]], [[[A-Z_P]]]))dnl -dnl The cache variable name. -define([AC_CV_NAME], translit(ac_cv_sizeof_$1, [[[ *]]], [[[_p]]]))dnl -AC_MSG_CHECKING(size of $1) -AC_CACHE_VAL(AC_CV_NAME, -[AC_TRY_RUN([$3 -#include -main() -{ - FILE *f=fopen("conftestval", "w"); - if (!f) exit(1); - fprintf(f, "%d\n", sizeof($1)); - exit(0); -}], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$2], , , AC_CV_NAME=$2))])dnl -AC_MSG_RESULT($AC_CV_NAME) -AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME) -undefine([AC_TYPE_NAME])dnl -undefine([AC_CV_NAME])dnl -]) - -dnl AC_CHECK_SIZEOF_STDC_HEADERS(TYPE [, CROSS_SIZE]) -AC_DEFUN([AC_CHECK_SIZEOF_STDC_HEADERS], -[AC_REQUIRE([AC_HEADER_STDC])dnl -AC_REQUIRE([AC_HEADER_STDINT])dnl -AC_CHECK_SIZEOF_INCLUDES($1, $2, -[#if HAVE_STDINT_H -#include -#endif -#include -#ifdef STDC_HEADERS -#include -#endif -]) -]) - - -dnl AC_CHECK_TYPE_STDC(TYPE, DEFAULT) -AC_DEFUN([AC_CHECK_TYPE_STDC], -[AC_REQUIRE([AC_HEADER_STDC])dnl -AC_REQUIRE([AC_HEADER_STDINT])dnl -AC_MSG_CHECKING(for $1) -AC_CACHE_VAL(ac_cv_type_$1, -[AC_EGREP_CPP(dnl -[(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]], -[#if HAVE_STDINT_H -#include -#endif -#include -#if STDC_HEADERS -#include -#include -#endif], ac_cv_type_$1=yes, ac_cv_type_$1=no)])dnl -AC_MSG_RESULT($ac_cv_type_$1) -if test $ac_cv_type_$1 = no; then - AC_DEFINE($1, $2) -fi -]) - -dnl AC_HEADER_STDINT -AC_DEFUN([AC_HEADER_STDINT], [AC_CHECK_HEADERS(stdint.h)]) - -#serial 19 - -dnl By default, many hosts won't let programs access large files; -dnl one must use special compiler options to get large-file access to work. -dnl For more details about this brain damage please see: -dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html - -dnl Written by Paul Eggert . - -dnl Internal subroutine of AC_SYS_LARGEFILE. -dnl AC_SYS_LARGEFILE_TEST_INCLUDES -AC_DEFUN([AC_SYS_LARGEFILE_TEST_INCLUDES], - [[#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply "#define LARGE_OFF_T 9223372036854775807", - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -# define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; - ]]) - -dnl Internal subroutine of AC_SYS_LARGEFILE. -dnl AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, CACHE-VAR, COMMENT, INCLU= -DES, FUNCTION-BODY) -AC_DEFUN([AC_SYS_LARGEFILE_MACRO_VALUE], - [AC_CACHE_CHECK([for $1 value needed for large files], $3, - [$3=no - AC_TRY_COMPILE([$5], - [$6], - , - [AC_TRY_COMPILE([#define $1 $2] -[$5] - , - [$6], - [$3=$2])])]) - if test "[$]$3" != no; then - AC_DEFINE_UNQUOTED([$1], [$]$3, [$4]) - fi]) - -AC_DEFUN([AC_SYS_LARGEFILE], - [AC_REQUIRE([AC_PROG_CC]) - AC_ARG_ENABLE(largefile, - [ --disable-largefile omit support for large files]) - if test "$enable_largefile" != no; then - - AC_CACHE_CHECK([for special C compiler options needed for large files= -], - ac_cv_sys_largefile_CC, - [ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - AC_TRY_COMPILE(AC_SYS_LARGEFILE_TEST_INCLUDES, , , - [ac_save_CC="$CC" - CC="$CC -n32" - AC_TRY_COMPILE(AC_SYS_LARGEFILE_TEST_INCLUDES, , - ac_cv_sys_largefile_CC=' -n32') - CC="$ac_save_CC"]) - fi]) - if test "$ac_cv_sys_largefile_CC" != no; then - CC="$CC$ac_cv_sys_largefile_CC" - fi - - AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64, - ac_cv_sys_file_offset_bits, - [Number of bits in a file offset, on hosts where this is settable.], - AC_SYS_LARGEFILE_TEST_INCLUDES) - AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1, - ac_cv_sys_large_files, - [Define for large files, on AIX-style hosts.], - AC_SYS_LARGEFILE_TEST_INCLUDES) - fi - ]) - -AC_DEFUN([AC_FUNC_FSEEKO], - [AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE, 1, - ac_cv_sys_largefile_source, - [Define to make fseeko visible on some hosts (e.g. glibc 2.2).], - [#include ], [return !fseeko;]) - # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug - # in glibc 2.1.3, but that breaks too many other things. - # If you want fseeko and ftello with glibc, upgrade to a fixed glibc. - - AC_CACHE_CHECK([for fseeko], ac_cv_func_fseeko, - [ac_cv_func_fseeko=no - AC_TRY_LINK([#include ], - [return fseeko && fseeko (stdin, 0, 0);], - [ac_cv_func_fseeko=yes])]) - if test $ac_cv_func_fseeko != no; then - AC_DEFINE(HAVE_FSEEKO, 1, - [Define if fseeko (and presumably ftello) exists and is declared.]) - fi]) - - -# Do all the work for Automake. This macro actually does too much -- -# some checks are only needed if your package does certain things. -# But this isn't really a big deal. - -# serial 1 - -dnl Usage: -dnl AM_INIT_AUTOMAKE(package,version, [no-define]) - -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_REQUIRE([AC_PROG_INSTALL]) -PACKAGE=[$1] -AC_SUBST(PACKAGE) -VERSION=[$2] -AC_SUBST(VERSION) -dnl test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) -fi -ifelse([$3],, -AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) -AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])) -AC_REQUIRE([AM_SANITY_CHECK]) -AC_REQUIRE([AC_ARG_PROGRAM]) -dnl FIXME This is truly gross. -missing_dir=`cd $ac_aux_dir && pwd` -AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir) -AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) -AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir) -AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) -AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) -AC_REQUIRE([AC_PROG_MAKE_SET])]) - -# -# Check to make sure that the build environment is sane. -# - -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftestfile -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` - if test "[$]*" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftestfile` - fi - if test "[$]*" != "X $srcdir/configure conftestfile" \ - && test "[$]*" != "X conftestfile $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - - test "[$]2" = conftestfile - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -rm -f conftest* -AC_MSG_RESULT(yes)]) - -dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) -dnl The program must properly implement --version. -AC_DEFUN([AM_MISSING_PROG], -[AC_MSG_CHECKING(for working $2) -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if ($2 --version) < /dev/null > /dev/null 2>&1; then - $1=$2 - AC_MSG_RESULT(found) -else - $1="$3/missing $2" - AC_MSG_RESULT(missing) -fi -AC_SUBST($1)]) - -# Like AC_CONFIG_HEADER, but automatically create stamp file. - -AC_DEFUN([AM_CONFIG_HEADER], -[AC_PREREQ([2.12]) -AC_CONFIG_HEADER([$1]) -dnl When config.status generates a header, we must update the stamp-h file. -dnl This file resides in the same directory as the config header -dnl that is generated. We must strip everything past the first ":", -dnl and everything past the last "/". -AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl -ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>, -<>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>, -<>; do - case " <<$>>CONFIG_HEADERS " in - *" <<$>>am_file "*<<)>> - echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx - ;; - esac - am_indx=`expr "<<$>>am_indx" + 1` -done<<>>dnl>>) -changequote([,]))]) - -# Define a conditional. - -AC_DEFUN([AM_CONDITIONAL], -[AC_SUBST($1_TRUE) -AC_SUBST($1_FALSE) -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi]) - diff --git a/contrib/file/apprentice.c b/contrib/file/apprentice.c deleted file mode 100644 index 575bad6982..0000000000 --- a/contrib/file/apprentice.c +++ /dev/null @@ -1,1113 +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. - */ - -#include "file.h" -#include -#ifdef HAVE_UNISTD_H -#include -#endif -#include -#include -#include -#ifdef QUICK -#include -#endif - -#ifndef lint -FILE_RCSID("@(#)$Id: apprentice.c,v 1.50 2003/02/27 20:47:46 christos Exp $") -#endif /* lint */ - -#define EATAB {while (isascii((unsigned char) *l) && \ - isspace((unsigned char) *l)) ++l;} -#define LOWCASE(l) (isupper((unsigned char) (l)) ? \ - tolower((unsigned char) (l)) : (l)) -/* - * Work around a bug in headers on Digital Unix. - * At least confirmed for: OSF1 V4.0 878 - */ -#if defined(__osf__) && defined(__DECC) -#ifdef MAP_FAILED -#undef MAP_FAILED -#endif -#endif - -#ifndef MAP_FAILED -#define MAP_FAILED (void *) -1 -#endif - -#ifndef MAP_FILE -#define MAP_FILE 0 -#endif - -#ifdef __EMX__ - char PATHSEP=';'; -#else - char PATHSEP=':'; -#endif - - -static int getvalue(struct magic *, char **); -static int hextoint(int); -static char *getstr(char *, char *, int, int *); -static int parse(struct magic **, uint32_t *, char *, int); -static void eatsize(char **); -static int apprentice_1(const char *, int); -static int apprentice_file(struct magic **, uint32_t *, const char *, int); -static void byteswap(struct magic *, uint32_t); -static void bs1(struct magic *); -static uint16_t swap2(uint16_t); -static uint32_t swap4(uint32_t); -static char *mkdbname(const char *); -static int apprentice_map(struct magic **, uint32_t *, const char *, int); -static int apprentice_compile(struct magic **, uint32_t *, const char *, int); - -static int maxmagic = 0; - -struct mlist mlist; - -#ifdef COMPILE_ONLY -const char *magicfile; -char *progname; -int lineno; - -int main(int, char *[]); - -int -main(int argc, char *argv[]) -{ - int ret; - - if ((progname = strrchr(argv[0], '/')) != NULL) - progname++; - else - progname = argv[0]; - - if (argc != 2) { - (void)fprintf(stderr, "usage: %s file\n", progname); - exit(1); - } - magicfile = argv[1]; - - exit(apprentice(magicfile, COMPILE)); -} -#endif /* COMPILE_ONLY */ - - -/* - * Handle one file. - */ -static int -apprentice_1(const char *fn, int action) -{ - struct magic *magic = NULL; - uint32_t nmagic = 0; - struct mlist *ml; - int rv = -1; - - if (action == COMPILE) { - rv = apprentice_file(&magic, &nmagic, fn, action); - if (rv == 0) - return apprentice_compile(&magic, &nmagic, fn, action); - else - return rv; - } -#ifndef COMPILE_ONLY - if ((rv = apprentice_map(&magic, &nmagic, fn, action)) != 0) - (void)fprintf(stderr, "%s: Using regular magic file `%s'\n", - progname, fn); - - if (rv != 0) - rv = apprentice_file(&magic, &nmagic, fn, action); - - if (rv != 0) - return rv; - - if ((ml = malloc(sizeof(*ml))) == NULL) { - (void) fprintf(stderr, "%s: Out of memory (%s).\n", progname, - strerror(errno)); - if (action == CHECK) - return -1; - } - - if (magic == NULL || nmagic == 0) - return rv; - - ml->magic = magic; - ml->nmagic = nmagic; - - mlist.prev->next = ml; - ml->prev = mlist.prev; - ml->next = &mlist; - mlist.prev = ml; - - return rv; -#endif /* COMPILE_ONLY */ -} - - -/* const char *fn: list of magic files */ -int -apprentice(const char *fn, int action) -{ - char *p, *mfn; - int file_err, errs = -1; - - mlist.next = mlist.prev = &mlist; - mfn = malloc(strlen(fn)+1); - if (mfn == NULL) { - (void) fprintf(stderr, "%s: Out of memory (%s).\n", progname, - strerror(errno)); - if (action == CHECK) - return -1; - else - exit(1); - } - fn = strcpy(mfn, fn); - - while (fn) { - p = strchr(fn, PATHSEP); - if (p) - *p++ = '\0'; - file_err = apprentice_1(fn, action); - if (file_err > errs) - errs = file_err; - fn = p; - } - if (errs == -1) - (void) fprintf(stderr, "%s: couldn't find any magic files!\n", - progname); - if (action == CHECK && errs) - exit(1); - - free(mfn); - return errs; -} - -/* - * parse from a file - * const char *fn: name of magic file - */ -static int -apprentice_file(struct magic **magicp, uint32_t *nmagicp, const char *fn, - int action) -{ - 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) - (void) fprintf(stderr, - "%s: can't read magic file %s (%s)\n", - progname, fn, strerror(errno)); - return -1; - } - - maxmagic = MAXMAGIS; - *magicp = (struct magic *) calloc(maxmagic, sizeof(struct magic)); - if (*magicp == NULL) { - (void) fprintf(stderr, "%s: Out of memory (%s).\n", progname, - strerror(errno)); - if (action == CHECK) - return -1; - } - - /* parse it */ - if (action == 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(magicp, nmagicp, line, action) != 0) - errs = 1; - } - - (void) fclose(f); - if (errs) { - free(*magicp); - *magicp = NULL; - *nmagicp = 0; - } - return errs; -} - -/* - * extend the sign bit if the comparison is to be signed - */ -uint32_t -signextend(struct magic *m, uint32_t v) -{ - if (!(m->flag & UNSIGNED)) - switch(m->type) { - /* - * Do not remove the casts below. They are - * vital. When later compared with the data, - * the sign extension must have happened. - */ - case BYTE: - v = (char) v; - break; - case SHORT: - case BESHORT: - case LESHORT: - v = (short) v; - break; - case DATE: - case BEDATE: - case LEDATE: - case LDATE: - case BELDATE: - case LELDATE: - case LONG: - case BELONG: - case LELONG: - v = (int32_t) v; - break; - case STRING: - case PSTRING: - break; - case REGEX: - break; - default: - magwarn("can't happen: m->type=%d\n", - m->type); - return -1; - } - return v; -} - -/* - * parse one line from magic file, put into magic[index++] if valid - */ -static int -parse(struct magic **magicp, uint32_t *nmagicp, char *l, int action) -{ - int i = 0; - struct magic *m; - char *t; - -#define ALLOC_INCR 200 - if (*nmagicp + 1 >= maxmagic){ - maxmagic += ALLOC_INCR; - if ((m = (struct magic *) realloc(*magicp, - sizeof(struct magic) * maxmagic)) == NULL) { - (void) fprintf(stderr, "%s: Out of memory (%s).\n", - progname, strerror(errno)); - if (*magicp) - free(*magicp); - if (action == CHECK) - return -1; - else - exit(1); - } - *magicp = m; - memset(&(*magicp)[*nmagicp], 0, sizeof(struct magic) - * ALLOC_INCR); - } - m = &(*magicp)[*nmagicp]; - m->flag = 0; - m->cont_level = 0; - - while (*l == '>') { - ++l; /* step over */ - m->cont_level++; - } - - if (m->cont_level != 0 && *l == '(') { - ++l; /* step over */ - m->flag |= INDIR; - } - if (m->cont_level != 0 && *l == '&') { - ++l; /* step over */ - m->flag |= OFFADD; - } - - /* get offset, then skip over it */ - m->offset = (int) strtoul(l,&t,0); - if (l == t) - magwarn("offset %s invalid", l); - l = t; - - if (m->flag & INDIR) { - m->in_type = LONG; - m->in_offset = 0; - /* - * read [.lbs][+-]nnnnn) - */ - if (*l == '.') { - l++; - switch (*l) { - case 'l': - m->in_type = LELONG; - break; - case 'L': - m->in_type = BELONG; - break; - case 'h': - case 's': - m->in_type = LESHORT; - break; - case 'H': - case 'S': - m->in_type = BESHORT; - break; - case 'c': - case 'b': - case 'C': - case 'B': - m->in_type = BYTE; - break; - default: - magwarn("indirect offset type %c invalid", *l); - break; - } - l++; - } - if (*l == '~') { - m->in_op = OPINVERSE; - l++; - } - switch (*l) { - case '&': - m->in_op |= OPAND; - l++; - break; - case '|': - m->in_op |= OPOR; - l++; - break; - case '^': - m->in_op |= OPXOR; - l++; - break; - case '+': - m->in_op |= OPADD; - l++; - break; - case '-': - m->in_op |= OPMINUS; - l++; - break; - case '*': - m->in_op |= OPMULTIPLY; - l++; - break; - case '/': - m->in_op |= OPDIVIDE; - l++; - break; - case '%': - m->in_op |= OPMODULO; - l++; - break; - } - if (isdigit((unsigned char)*l)) - m->in_offset = strtoul(l, &t, 0); - else - t = l; - if (*t++ != ')') - magwarn("missing ')' in indirect offset"); - l = t; - } - - - while (isascii((unsigned char)*l) && isdigit((unsigned char)*l)) - ++l; - EATAB; - -#define NBYTE 4 -#define NSHORT 5 -#define NLONG 4 -#define NSTRING 6 -#define NDATE 4 -#define NBESHORT 7 -#define NBELONG 6 -#define NBEDATE 6 -#define NLESHORT 7 -#define NLELONG 6 -#define NLEDATE 6 -#define NPSTRING 7 -#define NLDATE 5 -#define NBELDATE 7 -#define NLELDATE 7 -#define NREGEX 5 - - if (*l == 'u') { - ++l; - m->flag |= UNSIGNED; - } - - /* get type, skip it */ - if (strncmp(l, "char", NBYTE)==0) { /* HP/UX compat */ - m->type = BYTE; - l += NBYTE; - } else 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 if (strncmp(l, "pstring", NPSTRING)==0) { - m->type = PSTRING; - l += NPSTRING; - } else if (strncmp(l, "ldate", NLDATE)==0) { - m->type = LDATE; - l += NLDATE; - } else if (strncmp(l, "beldate", NBELDATE)==0) { - m->type = BELDATE; - l += NBELDATE; - } else if (strncmp(l, "leldate", NLELDATE)==0) { - m->type = LELDATE; - l += NLELDATE; - } else if (strncmp(l, "regex", NREGEX)==0) { - m->type = REGEX; - l += sizeof("regex"); - } else { - magwarn("type %s invalid", l); - return -1; - } - /* New-style anding: "0 byte&0x80 =0x80 dynamically linked" */ - /* New and improved: ~ & | ^ + - * / % -- exciting, isn't it? */ - if (*l == '~') { - if (STRING != m->type && PSTRING != m->type) - m->mask_op = OPINVERSE; - ++l; - } - switch (*l) { - case '&': - m->mask_op |= OPAND; - ++l; - m->mask = signextend(m, strtoul(l, &l, 0)); - eatsize(&l); - break; - case '|': - m->mask_op |= OPOR; - ++l; - m->mask = signextend(m, strtoul(l, &l, 0)); - eatsize(&l); - break; - case '^': - m->mask_op |= OPXOR; - ++l; - m->mask = signextend(m, strtoul(l, &l, 0)); - eatsize(&l); - break; - case '+': - m->mask_op |= OPADD; - ++l; - m->mask = signextend(m, strtoul(l, &l, 0)); - eatsize(&l); - break; - case '-': - m->mask_op |= OPMINUS; - ++l; - m->mask = signextend(m, strtoul(l, &l, 0)); - eatsize(&l); - break; - case '*': - m->mask_op |= OPMULTIPLY; - ++l; - m->mask = signextend(m, strtoul(l, &l, 0)); - eatsize(&l); - break; - case '%': - m->mask_op |= OPMODULO; - ++l; - m->mask = signextend(m, strtoul(l, &l, 0)); - eatsize(&l); - break; - case '/': - if (STRING != m->type && PSTRING != m->type) { - m->mask_op |= OPDIVIDE; - ++l; - m->mask = signextend(m, strtoul(l, &l, 0)); - eatsize(&l); - } else { - m->mask = 0L; - while (!isspace(*++l)) { - switch (*l) { - case CHAR_IGNORE_LOWERCASE: - m->mask |= STRING_IGNORE_LOWERCASE; - break; - case CHAR_COMPACT_BLANK: - m->mask |= STRING_COMPACT_BLANK; - break; - case CHAR_COMPACT_OPTIONAL_BLANK: - m->mask |= - STRING_COMPACT_OPTIONAL_BLANK; - break; - default: - magwarn("string extension %c invalid", - *l); - return -1; - } - } - } - break; - } - /* We used to set mask to all 1's here, instead let's just not do anything - if mask = 0 (unless you have a better idea) */ - EATAB; - - switch (*l) { - case '>': - case '<': - /* Old-style anding: "0 byte &0x80 dynamically linked" */ - case '&': - case '^': - case '=': - m->reln = *l; - ++l; - if (*l == '=') { - /* HP compat: ignore &= etc. */ - ++l; - } - break; - case '!': - if (m->type != STRING && m->type != PSTRING) { - 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) - * magwarn("offset too big"); } - */ - - /* - * now get last part - the description - */ -GetDesc: - EATAB; - if (l[0] == '\b') { - ++l; - m->nospflag = 1; - } else if ((l[0] == '\\') && (l[1] == 'b')) { - ++l; - ++l; - m->nospflag = 1; - } else - m->nospflag = 0; - while ((m->desc[i++] = *l++) != '\0' && itype == STRING || m->type == PSTRING || m->type == REGEX) { - *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(char *s, char *p, int plen, int *slen) -{ - char *origs = s, *origp = p; - char *pmax = p + plen - 1; - int c; - int val; - - while ((c = *s++) != '\0') { - if (isspace((unsigned char) c)) - break; - if (p >= pmax) { - fprintf(stderr, "String too long: %s\n", 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(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(FILE *fp, const char *s, int len) -{ - 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(char **p) -{ - char *l = *p; - - if (LOWCASE(*l) == 'u') - l++; - - switch (LOWCASE(*l)) { - case 'l': /* long */ - case 's': /* short */ - case 'h': /* short */ - case 'b': /* char/byte */ - case 'c': /* char/byte */ - l++; - /*FALLTHROUGH*/ - default: - break; - } - - *p = l; -} - -/* - * handle a compiled file. - */ -static int -apprentice_map(struct magic **magicp, uint32_t *nmagicp, const char *fn, - int action) -{ - int fd; - struct stat st; - uint32_t *ptr; - uint32_t version; - int needsbyteswap; - char *dbname = mkdbname(fn); - void *mm; - - if (dbname == NULL) - return -1; - - if ((fd = open(dbname, O_RDONLY)) == -1) - return -1; - - if (fstat(fd, &st) == -1) { - (void)fprintf(stderr, "%s: Cannot stat `%s' (%s)\n", - progname, dbname, strerror(errno)); - goto error; - } - -#ifdef QUICK - if ((mm = mmap(0, (size_t)st.st_size, PROT_READ|PROT_WRITE, - MAP_PRIVATE|MAP_FILE, fd, (off_t)0)) == MAP_FAILED) { - (void)fprintf(stderr, "%s: Cannot map `%s' (%s)\n", - progname, dbname, strerror(errno)); - goto error; - } -#else - if ((mm = malloc((size_t)st.st_size)) == NULL) { - (void) fprintf(stderr, "%s: Out of memory (%s).\n", progname, - strerror(errno)); - goto error; - } - if (read(fd, mm, (size_t)st.st_size) != (size_t)st.st_size) { - (void) fprintf(stderr, "%s: Read failed (%s).\n", progname, - strerror(errno)); - goto error; - } -#endif - *magicp = mm; - (void)close(fd); - fd = -1; - ptr = (uint32_t *) *magicp; - if (*ptr != MAGICNO) { - if (swap4(*ptr) != MAGICNO) { - (void)fprintf(stderr, "%s: Bad magic in `%s'\n", - progname, dbname); - goto error; - } - needsbyteswap = 1; - } else - needsbyteswap = 0; - if (needsbyteswap) - version = swap4(ptr[1]); - else - version = ptr[1]; - if (version != VERSIONNO) { - (void)fprintf(stderr, - "%s: version mismatch (%d != %d) in `%s'\n", - progname, version, VERSIONNO, dbname); - goto error; - } - *nmagicp = (st.st_size / sizeof(struct magic)) - 1; - (*magicp)++; - if (needsbyteswap) - byteswap(*magicp, *nmagicp); - return 0; - -error: - if (fd != -1) - (void)close(fd); - if (mm) { -#ifdef QUICK - (void)munmap(mm, (size_t)st.st_size); -#else - free(mm); -#endif - } else { - *magicp = NULL; - *nmagicp = 0; - } - return -1; -} - -/* - * handle an mmaped file. - */ -static int -apprentice_compile(struct magic **magicp, uint32_t *nmagicp, const char *fn, - int action) -{ - int fd; - char *dbname = mkdbname(fn); - static const uint32_t ar[] = { - MAGICNO, VERSIONNO - }; - - if (dbname == NULL) - return -1; - - if ((fd = open(dbname, O_WRONLY|O_CREAT|O_TRUNC, 0644)) == -1) { - (void)fprintf(stderr, "%s: Cannot open `%s' (%s)\n", - progname, dbname, strerror(errno)); - return -1; - } - - if (write(fd, ar, sizeof(ar)) != sizeof(ar)) { - (void)fprintf(stderr, "%s: error writing `%s' (%s)\n", - progname, dbname, strerror(errno)); - return -1; - } - - if (lseek(fd, sizeof(struct magic), SEEK_SET) != sizeof(struct magic)) { - (void)fprintf(stderr, "%s: error seeking `%s' (%s)\n", - progname, dbname, strerror(errno)); - return -1; - } - - if (write(fd, *magicp, sizeof(struct magic) * *nmagicp) - != sizeof(struct magic) * *nmagicp) { - (void)fprintf(stderr, "%s: error writing `%s' (%s)\n", - progname, dbname, strerror(errno)); - return -1; - } - - (void)close(fd); - return 0; -} - -/* - * make a dbname - */ -char * -mkdbname(const char *fn) -{ - static const char ext[] = ".mgc"; - static char *buf = NULL; - size_t len = strlen(fn) + sizeof(ext) + 1; - if (buf == NULL) - buf = malloc(len); - else - buf = realloc(buf, len); - if (buf == NULL) { - (void) fprintf(stderr, "%s: Out of memory (%s).\n", progname, - strerror(errno)); - return NULL; - } - (void)strcpy(buf, fn); - (void)strcat(buf, ext); - return buf; -} - -/* - * Byteswap an mmap'ed file if needed - */ -static void -byteswap(struct magic *magic, uint32_t nmagic) -{ - uint32_t i; - for (i = 0; i < nmagic; i++) - bs1(&magic[i]); -} - -/* - * swap a short - */ -static uint16_t -swap2(uint16_t sv) -{ - uint16_t rv; - uint8_t *s = (uint8_t *) &sv; - uint8_t *d = (uint8_t *) &rv; - d[0] = s[1]; - d[1] = s[0]; - return rv; -} - -/* - * swap an int - */ -static uint32_t -swap4(uint32_t sv) -{ - uint32_t rv; - uint8_t *s = (uint8_t *) &sv; - uint8_t *d = (uint8_t *) &rv; - d[0] = s[3]; - d[1] = s[2]; - d[2] = s[1]; - d[3] = s[0]; - return rv; -} - -/* - * byteswap a single magic entry - */ -static -void bs1(struct magic *m) -{ - m->cont_level = swap2(m->cont_level); - m->offset = swap4(m->offset); - m->in_offset = swap4(m->in_offset); - if (m->type != STRING) - m->value.l = swap4(m->value.l); - m->mask = swap4(m->mask); -} diff --git a/contrib/file/ascmagic.c b/contrib/file/ascmagic.c deleted file mode 100644 index 8217f19422..0000000000 --- a/contrib/file/ascmagic.c +++ /dev/null @@ -1,662 +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. - * - * Extensively modified by Eric Fischer in July, 2000, - * to handle character codes other than ASCII on a unified basis. - * - * Joerg Wunsch wrote the original support for 8-bit - * international characters, now subsumed into this file. - */ - -/* - * 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. - */ - -#include "file.h" -#include -#include -#include -#include -#ifdef HAVE_UNISTD_H -#include -#endif -#include "names.h" - -#ifndef lint -FILE_RCSID("@(#)$Id: ascmagic.c,v 1.33 2003/02/08 18:33:53 christos Exp $") -#endif /* lint */ - -typedef unsigned long unichar; - -#define MAXLINELEN 300 /* longest sane line length */ -#define ISSPC(x) ((x) == ' ' || (x) == '\t' || (x) == '\r' || (x) == '\n' \ - || (x) == 0x85 || (x) == '\f') - -static int looks_ascii(const unsigned char *, int, unichar *, int *); -static int looks_utf8(const unsigned char *, int, unichar *, int *); -static int looks_unicode(const unsigned char *, int, unichar *, int *); -static int looks_latin1(const unsigned char *, int, unichar *, int *); -static int looks_extended(const unsigned char *, int, unichar *, int *); -static void from_ebcdic(const unsigned char *, int, unsigned char *); -static int ascmatch(const unsigned char *, const unichar *, int); - -/* int nbytes: size actually read */ -int -ascmagic(unsigned char *buf, int nbytes) -{ - int i; - unsigned char nbuf[HOWMANY+1]; /* one extra for terminating '\0' */ - unichar ubuf[HOWMANY+1]; /* one extra for terminating '\0' */ - int ulen; - struct names *p; - - char *code = NULL; - char *code_mime = NULL; - char *type = NULL; - char *subtype = NULL; - char *subtype_mime = NULL; - - int has_escapes = 0; - int has_backspace = 0; - - int n_crlf = 0; - int n_lf = 0; - int n_cr = 0; - int n_nel = 0; - - int last_line_end = -1; - int has_long_lines = 0; - - /* - * 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(iflag ? "application/x-tar" : "tar archive", stdout); - return 1; - case 2: - ckfputs(iflag ? "application/x-tar, POSIX" - : "POSIX tar archive", stdout); - return 1; - } - - /* - * Undo the NUL-termination kindly provided by process() - * but leave at least one byte to look at - */ - - while (nbytes > 1 && buf[nbytes - 1] == '\0') - nbytes--; - - /* - * Then try to determine whether it's any character code we can - * identify. Each of these tests, if it succeeds, will leave - * the text converted into one-unichar-per-character Unicode in - * ubuf, and the number of characters converted in ulen. - */ - if (looks_ascii(buf, nbytes, ubuf, &ulen)) { - code = "ASCII"; - code_mime = "us-ascii"; - type = "text"; - } else if (looks_utf8(buf, nbytes, ubuf, &ulen)) { - code = "UTF-8 Unicode"; - code_mime = "utf-8"; - type = "text"; - } else if ((i = looks_unicode(buf, nbytes, ubuf, &ulen))) { - if (i == 1) - code = "Little-endian UTF-16 Unicode"; - else - code = "Big-endian UTF-16 Unicode"; - - type = "character data"; - code_mime = "utf-16"; /* is this defined? */ - } else if (looks_latin1(buf, nbytes, ubuf, &ulen)) { - code = "ISO-8859"; - type = "text"; - code_mime = "iso-8859-1"; - } else if (looks_extended(buf, nbytes, ubuf, &ulen)) { - code = "Non-ISO extended-ASCII"; - type = "text"; - code_mime = "unknown"; - } else { - from_ebcdic(buf, nbytes, nbuf); - - if (looks_ascii(nbuf, nbytes, ubuf, &ulen)) { - code = "EBCDIC"; - type = "character data"; - code_mime = "ebcdic"; - } else if (looks_latin1(nbuf, nbytes, ubuf, &ulen)) { - code = "International EBCDIC"; - type = "character data"; - code_mime = "ebcdic"; - } else { - return 0; /* doesn't look like text at all */ - } - } - - /* - * for troff, look for . + letter + letter or .\"; - * this must be done to disambiguate tar archives' ./file - * and other trash from real troff input. - * - * I believe Plan 9 troff allows non-ASCII characters in the names - * of macros, so this test might possibly fail on such a file. - */ - if (*ubuf == '.') { - unichar *tp = ubuf + 1; - - while (ISSPC(*tp)) - ++tp; /* skip leading whitespace */ - if ((tp[0] == '\\' && tp[1] == '\"') || - (isascii(tp[0]) && isalnum(tp[0]) && - isascii(tp[1]) && isalnum(tp[1]) && - ISSPC(tp[2]))) { - subtype_mime = "text/troff"; - subtype = "troff or preprocessor input"; - goto subtype_identified; - } - } - - if ((*buf == 'c' || *buf == 'C') && ISSPC(buf[1])) { - subtype_mime = "text/fortran"; - subtype = "fortran program"; - goto subtype_identified; - } - - /* look for tokens from names.h - this is expensive! */ - - i = 0; - while (i < ulen) { - int end; - - /* - * skip past any leading space - */ - while (i < ulen && ISSPC(ubuf[i])) - i++; - if (i >= ulen) - break; - - /* - * find the next whitespace - */ - for (end = i + 1; end < nbytes; end++) - if (ISSPC(ubuf[end])) - break; - - /* - * compare the word thus isolated against the token list - */ - for (p = names; p < names + NNAMES; p++) { - if (ascmatch((unsigned char *)p->name, ubuf + i, - end - i)) { - subtype = types[p->type].human; - subtype_mime = types[p->type].mime; - goto subtype_identified; - } - } - - i = end; - } - -subtype_identified: - - /* - * Now try to discover other details about the file. - */ - for (i = 0; i < ulen; i++) { - if (i > last_line_end + MAXLINELEN) - has_long_lines = 1; - - if (ubuf[i] == '\033') - has_escapes = 1; - if (ubuf[i] == '\b') - has_backspace = 1; - - if (ubuf[i] == '\r' && (i + 1 < ulen && ubuf[i + 1] == '\n')) { - n_crlf++; - last_line_end = i; - } - if (ubuf[i] == '\r' && (i + 1 >= ulen || ubuf[i + 1] != '\n')) { - n_cr++; - last_line_end = i; - } - if (ubuf[i] == '\n' && (i - 1 < 0 || ubuf[i - 1] != '\r')) { - n_lf++; - last_line_end = i; - } - if (ubuf[i] == 0x85) { /* X3.64/ECMA-43 "next line" character */ - n_nel++; - last_line_end = i; - } - } - - if (iflag) { - if (subtype_mime) - ckfputs(subtype_mime, stdout); - else - ckfputs("text/plain", stdout); - - if (code_mime) { - ckfputs("; charset=", stdout); - ckfputs(code_mime, stdout); - } - } else { - ckfputs(code, stdout); - - if (subtype) { - ckfputs(" ", stdout); - ckfputs(subtype, stdout); - } - - ckfputs(" ", stdout); - ckfputs(type, stdout); - - if (has_long_lines) - ckfputs(", with very long lines", stdout); - - /* - * Only report line terminators if we find one other than LF, - * or if we find none at all. - */ - if ((n_crlf == 0 && n_cr == 0 && n_nel == 0 && n_lf == 0) || - (n_crlf != 0 || n_cr != 0 || n_nel != 0)) { - ckfputs(", with", stdout); - - if (n_crlf == 0 && n_cr == 0 && n_nel == 0 && n_lf == 0) - ckfputs(" no", stdout); - else { - if (n_crlf) { - ckfputs(" CRLF", stdout); - if (n_cr || n_lf || n_nel) - ckfputs(",", stdout); - } - if (n_cr) { - ckfputs(" CR", stdout); - if (n_lf || n_nel) - ckfputs(",", stdout); - } - if (n_lf) { - ckfputs(" LF", stdout); - if (n_nel) - ckfputs(",", stdout); - } - if (n_nel) - ckfputs(" NEL", stdout); - } - - ckfputs(" line terminators", stdout); - } - - if (has_escapes) - ckfputs(", with escape sequences", stdout); - if (has_backspace) - ckfputs(", with overstriking", stdout); - } - - return 1; -} - -static int -ascmatch(const unsigned char *s, const unichar *us, int ulen) -{ - size_t i; - - for (i = 0; i < ulen; i++) { - if (s[i] != us[i]) - return 0; - } - - if (s[i]) - return 0; - else - return 1; -} - -/* - * This table reflects a particular philosophy about what constitutes - * "text," and there is room for disagreement about it. - * - * Version 3.31 of the file command considered a file to be ASCII if - * each of its characters was approved by either the isascii() or - * isalpha() function. On most systems, this would mean that any - * file consisting only of characters in the range 0x00 ... 0x7F - * would be called ASCII text, but many systems might reasonably - * consider some characters outside this range to be alphabetic, - * so the file command would call such characters ASCII. It might - * have been more accurate to call this "considered textual on the - * local system" than "ASCII." - * - * It considered a file to be "International language text" if each - * of its characters was either an ASCII printing character (according - * to the real ASCII standard, not the above test), a character in - * the range 0x80 ... 0xFF, or one of the following control characters: - * backspace, tab, line feed, vertical tab, form feed, carriage return, - * escape. No attempt was made to determine the language in which files - * of this type were written. - * - * - * The table below considers a file to be ASCII if all of its characters - * are either ASCII printing characters (again, according to the X3.4 - * standard, not isascii()) or any of the following controls: bell, - * backspace, tab, line feed, form feed, carriage return, esc, nextline. - * - * I include bell because some programs (particularly shell scripts) - * use it literally, even though it is rare in normal text. I exclude - * vertical tab because it never seems to be used in real text. I also - * include, with hesitation, the X3.64/ECMA-43 control nextline (0x85), - * because that's what the dd EBCDIC->ASCII table maps the EBCDIC newline - * character to. It might be more appropriate to include it in the 8859 - * set instead of the ASCII set, but it's got to be included in *something* - * we recognize or EBCDIC files aren't going to be considered textual. - * Some old Unix source files use SO/SI (^N/^O) to shift between Greek - * and Latin characters, so these should possibly be allowed. But they - * make a real mess on VT100-style displays if they're not paired properly, - * so we are probably better off not calling them text. - * - * A file is considered to be ISO-8859 text if its characters are all - * either ASCII, according to the above definition, or printing characters - * from the ISO-8859 8-bit extension, characters 0xA0 ... 0xFF. - * - * Finally, a file is considered to be international text from some other - * character code if its characters are all either ISO-8859 (according to - * the above definition) or characters in the range 0x80 ... 0x9F, which - * ISO-8859 considers to be control characters but the IBM PC and Macintosh - * consider to be printing characters. - */ - -#define F 0 /* character never appears in text */ -#define T 1 /* character appears in plain ASCII text */ -#define I 2 /* character appears in ISO-8859 text */ -#define X 3 /* character appears in non-ISO extended ASCII (Mac, IBM PC) */ - -static char text_chars[256] = { - /* BEL BS HT LF FF CR */ - F, F, F, F, F, F, F, T, T, T, T, F, T, T, F, F, /* 0x0X */ - /* ESC */ - F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, /* 0x1X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x2X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x3X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x4X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x5X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x6X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F, /* 0x7X */ - /* NEL */ - X, X, X, X, X, T, X, X, X, X, X, X, X, X, X, X, /* 0x8X */ - X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, /* 0x9X */ - I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xaX */ - I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xbX */ - I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xcX */ - I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xdX */ - I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xeX */ - I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I /* 0xfX */ -}; - -static int -looks_ascii(const unsigned char *buf, int nbytes, unichar *ubuf, int *ulen) -{ - int i; - - *ulen = 0; - - for (i = 0; i < nbytes; i++) { - int t = text_chars[buf[i]]; - - if (t != T) - return 0; - - ubuf[(*ulen)++] = buf[i]; - } - - return 1; -} - -static int -looks_latin1(const unsigned char *buf, int nbytes, unichar *ubuf, int *ulen) -{ - int i; - - *ulen = 0; - - for (i = 0; i < nbytes; i++) { - int t = text_chars[buf[i]]; - - if (t != T && t != I) - return 0; - - ubuf[(*ulen)++] = buf[i]; - } - - return 1; -} - -static int -looks_extended(const unsigned char *buf, int nbytes, unichar *ubuf, int *ulen) -{ - int i; - - *ulen = 0; - - for (i = 0; i < nbytes; i++) { - int t = text_chars[buf[i]]; - - if (t != T && t != I && t != X) - return 0; - - ubuf[(*ulen)++] = buf[i]; - } - - return 1; -} - -int -looks_utf8(const unsigned char *buf, int nbytes, unichar *ubuf, int *ulen) -{ - int i, n; - unichar c; - int gotone = 0; - - *ulen = 0; - - for (i = 0; i < nbytes; i++) { - if ((buf[i] & 0x80) == 0) { /* 0xxxxxxx is plain ASCII */ - /* - * Even if the whole file is valid UTF-8 sequences, - * still reject it if it uses weird control characters. - */ - - if (text_chars[buf[i]] != T) - return 0; - - ubuf[(*ulen)++] = buf[i]; - } else if ((buf[i] & 0x40) == 0) { /* 10xxxxxx never 1st byte */ - return 0; - } else { /* 11xxxxxx begins UTF-8 */ - int following; - - if ((buf[i] & 0x20) == 0) { /* 110xxxxx */ - c = buf[i] & 0x1f; - following = 1; - } else if ((buf[i] & 0x10) == 0) { /* 1110xxxx */ - c = buf[i] & 0x0f; - following = 2; - } else if ((buf[i] & 0x08) == 0) { /* 11110xxx */ - c = buf[i] & 0x07; - following = 3; - } else if ((buf[i] & 0x04) == 0) { /* 111110xx */ - c = buf[i] & 0x03; - following = 4; - } else if ((buf[i] & 0x02) == 0) { /* 1111110x */ - c = buf[i] & 0x01; - following = 5; - } else - return 0; - - for (n = 0; n < following; n++) { - i++; - if (i >= nbytes) - goto done; - - if ((buf[i] & 0x80) == 0 || (buf[i] & 0x40)) - return 0; - - c = (c << 6) + (buf[i] & 0x3f); - } - - ubuf[(*ulen)++] = c; - gotone = 1; - } - } -done: - return gotone; /* don't claim it's UTF-8 if it's all 7-bit */ -} - -static int -looks_unicode(const unsigned char *buf, int nbytes, unichar *ubuf, int *ulen) -{ - int bigend; - int i; - - if (nbytes < 2) - return 0; - - if (buf[0] == 0xff && buf[1] == 0xfe) - bigend = 0; - else if (buf[0] == 0xfe && buf[1] == 0xff) - bigend = 1; - else - return 0; - - *ulen = 0; - - for (i = 2; i + 1 < nbytes; i += 2) { - /* XXX fix to properly handle chars > 65536 */ - - if (bigend) - ubuf[(*ulen)++] = buf[i + 1] + 256 * buf[i]; - else - ubuf[(*ulen)++] = buf[i] + 256 * buf[i + 1]; - - if (ubuf[*ulen - 1] == 0xfffe) - return 0; - if (ubuf[*ulen - 1] < 128 && text_chars[ubuf[*ulen - 1]] != T) - return 0; - } - - return 1 + bigend; -} - -#undef F -#undef T -#undef I -#undef X - -/* - * This table maps each EBCDIC character to an (8-bit extended) ASCII - * character, as specified in the rationale for the dd(1) command in - * draft 11.2 (September, 1991) of the POSIX P1003.2 standard. - * - * Unfortunately it does not seem to correspond exactly to any of the - * five variants of EBCDIC documented in IBM's _Enterprise Systems - * Architecture/390: Principles of Operation_, SA22-7201-06, Seventh - * Edition, July, 1999, pp. I-1 - I-4. - * - * Fortunately, though, all versions of EBCDIC, including this one, agree - * on most of the printing characters that also appear in (7-bit) ASCII. - * Of these, only '|', '!', '~', '^', '[', and ']' are in question at all. - * - * Fortunately too, there is general agreement that codes 0x00 through - * 0x3F represent control characters, 0x41 a nonbreaking space, and the - * remainder printing characters. - * - * This is sufficient to allow us to identify EBCDIC text and to distinguish - * between old-style and internationalized examples of text. - */ - -unsigned char ebcdic_to_ascii[] = { - 0, 1, 2, 3, 156, 9, 134, 127, 151, 141, 142, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 157, 133, 8, 135, 24, 25, 146, 143, 28, 29, 30, 31, -128, 129, 130, 131, 132, 10, 23, 27, 136, 137, 138, 139, 140, 5, 6, 7, -144, 145, 22, 147, 148, 149, 150, 4, 152, 153, 154, 155, 20, 21, 158, 26, -' ', 160, 161, 162, 163, 164, 165, 166, 167, 168, 213, '.', '<', '(', '+', '|', -'&', 169, 170, 171, 172, 173, 174, 175, 176, 177, '!', '$', '*', ')', ';', '~', -'-', '/', 178, 179, 180, 181, 182, 183, 184, 185, 203, ',', '%', '_', '>', '?', -186, 187, 188, 189, 190, 191, 192, 193, 194, '`', ':', '#', '@', '\'','=', '"', -195, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 196, 197, 198, 199, 200, 201, -202, 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', '^', 204, 205, 206, 207, 208, -209, 229, 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 210, 211, 212, '[', 214, 215, -216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, ']', 230, 231, -'{', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 232, 233, 234, 235, 236, 237, -'}', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 238, 239, 240, 241, 242, 243, -'\\',159, 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 244, 245, 246, 247, 248, 249, -'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 250, 251, 252, 253, 254, 255 -}; - -/* - * The following EBCDIC-to-ASCII table may relate more closely to reality, - * or at least to modern reality. It comes from - * - * http://ftp.s390.ibm.com/products/oe/bpxqp9.html - * - * and maps the characters of EBCDIC code page 1047 (the code used for - * Unix-derived software on IBM's 390 systems) to the corresponding - * characters from ISO 8859-1. - * - * If this table is used instead of the above one, some of the special - * cases for the NEL character can be taken out of the code. - */ - -unsigned char ebcdic_1047_to_8859[] = { -0x00,0x01,0x02,0x03,0x9C,0x09,0x86,0x7F,0x97,0x8D,0x8E,0x0B,0x0C,0x0D,0x0E,0x0F, -0x10,0x11,0x12,0x13,0x9D,0x0A,0x08,0x87,0x18,0x19,0x92,0x8F,0x1C,0x1D,0x1E,0x1F, -0x80,0x81,0x82,0x83,0x84,0x85,0x17,0x1B,0x88,0x89,0x8A,0x8B,0x8C,0x05,0x06,0x07, -0x90,0x91,0x16,0x93,0x94,0x95,0x96,0x04,0x98,0x99,0x9A,0x9B,0x14,0x15,0x9E,0x1A, -0x20,0xA0,0xE2,0xE4,0xE0,0xE1,0xE3,0xE5,0xE7,0xF1,0xA2,0x2E,0x3C,0x28,0x2B,0x7C, -0x26,0xE9,0xEA,0xEB,0xE8,0xED,0xEE,0xEF,0xEC,0xDF,0x21,0x24,0x2A,0x29,0x3B,0x5E, -0x2D,0x2F,0xC2,0xC4,0xC0,0xC1,0xC3,0xC5,0xC7,0xD1,0xA6,0x2C,0x25,0x5F,0x3E,0x3F, -0xF8,0xC9,0xCA,0xCB,0xC8,0xCD,0xCE,0xCF,0xCC,0x60,0x3A,0x23,0x40,0x27,0x3D,0x22, -0xD8,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0xAB,0xBB,0xF0,0xFD,0xFE,0xB1, -0xB0,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,0x72,0xAA,0xBA,0xE6,0xB8,0xC6,0xA4, -0xB5,0x7E,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0xA1,0xBF,0xD0,0x5B,0xDE,0xAE, -0xAC,0xA3,0xA5,0xB7,0xA9,0xA7,0xB6,0xBC,0xBD,0xBE,0xDD,0xA8,0xAF,0x5D,0xB4,0xD7, -0x7B,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0xAD,0xF4,0xF6,0xF2,0xF3,0xF5, -0x7D,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,0x52,0xB9,0xFB,0xFC,0xF9,0xFA,0xFF, -0x5C,0xF7,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0xB2,0xD4,0xD6,0xD2,0xD3,0xD5, -0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0xB3,0xDB,0xDC,0xD9,0xDA,0x9F -}; - -/* - * Copy buf[0 ... nbytes-1] into out[], translating EBCDIC to ASCII. - */ -static void -from_ebcdic(const unsigned char *buf, int nbytes, unsigned char *out) -{ - int i; - - for (i = 0; i < nbytes; i++) { - out[i] = ebcdic_to_ascii[buf[i]]; - } -} diff --git a/contrib/file/compress.c b/contrib/file/compress.c deleted file mode 100644 index 4e1219c991..0000000000 --- a/contrib/file/compress.c +++ /dev/null @@ -1,329 +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 - */ -#include "file.h" -#include -#ifdef HAVE_UNISTD_H -#include -#endif -#include -#ifdef HAVE_SYS_WAIT_H -#include -#endif -#ifdef HAVE_LIBZ -#include -#endif - -#ifndef lint -FILE_RCSID("@(#)$Id: compress.c,v 1.25 2002/07/03 18:26:37 christos Exp $") -#endif - - -static struct { - const char *magic; - int maglen; - const char *const argv[3]; - int silent; -} compr[] = { - { "\037\235", 2, { "gzip", "-cdq", NULL }, 1 }, /* compressed */ - /* Uncompress can get stuck; so use gzip first if we have it - * Idea from Damien Clark, thanks! */ - { "\037\235", 2, { "uncompress", "-c", NULL }, 1 }, /* compressed */ - { "\037\213", 2, { "gzip", "-cdq", NULL }, 1 }, /* gzipped */ - { "\037\236", 2, { "gzip", "-cdq", NULL }, 1 }, /* frozen */ - { "\037\240", 2, { "gzip", "-cdq", NULL }, 1 }, /* SCO LZH */ - /* the standard pack utilities do not accept standard input */ - { "\037\036", 2, { "gzip", "-cdq", NULL }, 0 }, /* packed */ - { "BZh", 3, { "bzip2", "-cd", NULL }, 1 }, /* bzip2-ed */ -}; - -static int ncompr = sizeof(compr) / sizeof(compr[0]); - - -static int swrite(int, const void *, size_t); -static int sread(int, void *, size_t); -static int uncompressbuf(int, const unsigned char *, unsigned char **, int); -#ifdef HAVE_LIBZ -static int uncompressgzipped(const unsigned char *, unsigned char **, int); -#endif - -int -zmagic(const char *fname, 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 && - (newsize = uncompressbuf(i, buf, &newbuf, nbytes)) != 0) { - tryit(fname, newbuf, newsize, 1); - free(newbuf); - printf(" ("); - tryit(fname, buf, nbytes, 0); - printf(")"); - return 1; - } - } - - if (i == ncompr) - return 0; - - return 1; -} - -/* - * `safe' write for sockets and pipes. - */ -static int -swrite(int fd, const void *buf, size_t n) -{ - int rv; - size_t rn = n; - - do - switch (rv = write(fd, buf, n)) { - case -1: - if (errno == EINTR) - continue; - return -1; - default: - n -= rv; - buf = ((const char *)buf) + rv; - break; - } - while (n > 0); - return rn; -} - - -/* - * `safe' read for sockets and pipes. - */ -static int -sread(int fd, void *buf, size_t n) -{ - int rv; - size_t rn = n; - - do - switch (rv = read(fd, buf, n)) { - case -1: - if (errno == EINTR) - continue; - return -1; - case 0: - return rn - n; - default: - n -= rv; - buf = ((char *)buf) + rv; - break; - } - while (n > 0); - return rn; -} - -int -pipe2file(int fd, void *startbuf, size_t nbytes) -{ - char buf[4096]; - int r, tfd; - - (void)strcpy(buf, "/tmp/file.XXXXXX"); -#ifndef HAVE_MKSTEMP - { - char *ptr = mktemp(buf); - tfd = open(ptr, O_RDWR|O_TRUNC|O_EXCL|O_CREAT, 0600); - r = errno; - (void)unlink(ptr); - errno = r; - } -#else - tfd = mkstemp(buf); - r = errno; - (void)unlink(buf); - errno = r; -#endif - if (tfd == -1) { - error("Can't create temporary file for pipe copy (%s)\n", - strerror(errno)); - /*NOTREACHED*/ - } - - if (swrite(tfd, startbuf, nbytes) != nbytes) - r = 1; - else { - while ((r = sread(fd, buf, sizeof(buf))) > 0) - if (swrite(tfd, buf, r) != r) - break; - } - - switch (r) { - case -1: - error("Error copying from pipe to temp file (%s)\n", - strerror(errno)); - /*NOTREACHED*/ - case 0: - break; - default: - error("Error while writing to temp file (%s)\n", - strerror(errno)); - /*NOTREACHED*/ - } - - /* - * We duplicate the file descriptor, because fclose on a - * tmpfile will delete the file, but any open descriptors - * can still access the phantom inode. - */ - if ((fd = dup2(tfd, fd)) == -1) { - error("Couldn't dup destcriptor for temp file(%s)\n", - strerror(errno)); - /*NOTREACHED*/ - } - (void)close(tfd); - if (lseek(fd, (off_t)0, SEEK_SET) == (off_t)-1) { - error("Couldn't seek on temp file (%s)\n", strerror(errno)); - /*NOTREACHED*/ - } - return fd; -} - -#ifdef HAVE_LIBZ - -#define FHCRC (1 << 1) -#define FEXTRA (1 << 2) -#define FNAME (1 << 3) -#define FCOMMENT (1 << 4) - -static int -uncompressgzipped(const unsigned char *old, unsigned char **newch, int n) -{ - unsigned char flg = old[3]; - int data_start = 10; - z_stream z; - int rc; - - if (flg & FEXTRA) - data_start += 2 + old[data_start] + old[data_start + 1] * 256; - if (flg & FNAME) { - while(old[data_start]) - data_start++; - data_start++; - } - if(flg & FCOMMENT) { - while(old[data_start]) - data_start++; - data_start++; - } - if(flg & FHCRC) - data_start += 2; - - if ((*newch = (unsigned char *)malloc(HOWMANY + 1)) == NULL) { - return 0; - } - - z.next_in = (Bytef *)(old + data_start); - z.avail_in = n - data_start; - z.next_out = *newch; - z.avail_out = HOWMANY; - z.zalloc = Z_NULL; - z.zfree = Z_NULL; - z.opaque = Z_NULL; - - rc = inflateInit2(&z, -15); - if (rc != Z_OK) { - (void) fprintf(stderr,"%s: zlib: %s\n", progname, z.msg); - return 0; - } - - rc = inflate(&z, Z_SYNC_FLUSH); - if (rc != Z_OK && rc != Z_STREAM_END) { - fprintf(stderr,"%s: zlib: %s\n", progname, z.msg); - return 0; - } - - n = z.total_out; - inflateEnd(&z); - - /* let's keep the nul-terminate tradition */ - (*newch)[n++] = '\0'; - - return n; -} -#endif - -static int -uncompressbuf(int method, const unsigned char *old, unsigned char **newch, - int n) -{ - int fdin[2], fdout[2]; - - /* The buffer is NUL terminated, and we don't need that. */ - n--; - -#ifdef HAVE_LIBZ - if (method == 2) - return uncompressgzipped(old,newch,n); -#endif - - if (pipe(fdin) == -1 || pipe(fdout) == -1) { - error("cannot create pipe (%s).\n", strerror(errno)); - /*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], - (char *const *)compr[method].argv); - exit(1); - /*NOTREACHED*/ - case -1: - error("could not fork (%s).\n", strerror(errno)); - /*NOTREACHED*/ - - default: /* parent */ - (void) close(fdin[0]); - (void) close(fdout[1]); - if (swrite(fdin[1], old, n) != n) { - n = 0; - goto err; - } - (void) close(fdin[1]); - fdin[1] = -1; - if ((*newch = (unsigned char *) malloc(HOWMANY + 1)) == NULL) { - n = 0; - goto err; - } - if ((n = sread(fdout[0], *newch, HOWMANY)) <= 0) { - free(*newch); - n = 0; - goto err; - } - /* NUL terminate, as every buffer is handled here. */ - (*newch)[n++] = '\0'; -err: - if (fdin[1] != -1) - (void) close(fdin[1]); - (void) close(fdout[0]); - (void) wait(NULL); - return n; - } -} diff --git a/contrib/file/config.h.in b/contrib/file/config.h.in deleted file mode 100644 index d00ad53681..0000000000 --- a/contrib/file/config.h.in +++ /dev/null @@ -1,135 +0,0 @@ -/* 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. */ -#undef HAVE_ST_RDEV - -/* Define if you have that is POSIX.1 compatible. */ -#undef HAVE_SYS_WAIT_H - -/* Define if major, minor, and makedev are declared in . */ -#undef MAJOR_IN_MKDEV - -/* Define if major, minor, and makedev are declared in . */ -#undef MAJOR_IN_SYSMACROS - -/* Define to `long' if doesn't define. */ -#undef off_t - -/* Define to `unsigned' if doesn't define. */ -#undef size_t - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define if your declares struct tm. */ -#undef TM_IN_SYS_TIME - -/* Define if builtin ELF support is enabled. */ -#undef BUILTIN_ELF - -/* Define if ELF core file support is enabled. */ -#undef ELFCORE - -/* Define if the `long long' type works. */ -#undef HAVE_LONG_LONG - -/* Define if we have "tm_isdst" in "struct tm". */ -#undef HAVE_TM_ISDST - -/* Define if we have a global "int" variable "daylight". */ -#undef HAVE_DAYLIGHT - -/* 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 - -/* Define to `int' if standard headers don't define. */ -#undef int32_t - -/* The number of bytes in a uint8_t. */ -#define SIZEOF_UINT8_T 0 - -/* The number of bytes in a uint16_t. */ -#define SIZEOF_UINT16_T 0 - -/* The number of bytes in a uint32_t. */ -#define SIZEOF_UINT32_T 0 - -/* The number of bytes in a uint64_t. */ -#define SIZEOF_UINT64_T 0 - -/* Define if you have the getopt_long function. */ -#undef HAVE_GETOPT_LONG - -/* Define if you have the mkstemp function. */ -#undef HAVE_MKSTEMP - -/* Define if you have the mmap function. */ -#undef HAVE_MMAP - -/* Define if you have the strerror function. */ -#undef HAVE_STRERROR - -/* Define if you have the strtoul function. */ -#undef HAVE_STRTOUL - -/* Define if you have the header file. */ -#undef HAVE_FCNTL_H - -/* Define if you have the header file. */ -#undef HAVE_GETOPT_H - -/* Define if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define if you have the header file. */ -#undef HAVE_LOCALE_H - -/* Define if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_MMAN_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define if you have the z library (-lz). */ -#undef HAVE_LIBZ - -/* Name of package */ -#undef PACKAGE - -/* Version number of package */ -#undef VERSION - -/* HAVE_TM_ZONE */ -#undef HAVE_TM_ZONE - -/* HAVE_TZNAME */ -#undef HAVE_TZNAME - -/* Number of bits in a file offset, on hosts where this is settable. */ -#undef _FILE_OFFSET_BITS - -/* Define for large files, on AIX-style hosts. */ -#undef _LARGE_FILES - diff --git a/contrib/file/configure b/contrib/file/configure deleted file mode 100755 index 6a3e07238a..0000000000 --- a/contrib/file/configure +++ /dev/null @@ -1,3253 +0,0 @@ -#! /bin/sh - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.13 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: -ac_help="$ac_help - --disable-elf disable builtin ELF support" -ac_help="$ac_help - --disable-elf-core disable ELF core file support" -ac_help="$ac_help - --enable-fsect-man5 enable file formats in man section 5" -ac_help="$ac_help - --disable-largefile omit support for large files" - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.13" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=file.c - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -ac_exeext= -ac_objext=o -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - -ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# ./install, which can be erroneously created by make from ./install.sh. -echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:564: checking for a BSD compatible install" >&5 -if test -z "$INSTALL"; then -if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" - for ac_dir in $PATH; do - # Account for people who put trailing slashes in PATH elements. - case "$ac_dir/" in - /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if test -f $ac_dir/$ac_prog; then - if test $ac_prog = install && - grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 - fi - fi - done - ;; - esac - done - IFS="$ac_save_IFS" - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL="$ac_cv_path_install" - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL="$ac_install_sh" - fi -fi -echo "$ac_t""$INSTALL" 1>&6 - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 -echo "configure:617: checking whether build environment is sane" >&5 -# Just in case -sleep 1 -echo timestamp > conftestfile -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftestfile` - fi - if test "$*" != "X $srcdir/configure conftestfile" \ - && test "$*" != "X conftestfile $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - { echo "configure: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" 1>&2; exit 1; } - fi - - test "$2" = conftestfile - ) -then - # Ok. - : -else - { echo "configure: error: newly created file is older than distributed files! -Check your system clock" 1>&2; exit 1; } -fi -rm -f conftest* -echo "$ac_t""yes" 1>&6 -if test "$program_transform_name" = s,x,x,; then - program_transform_name= -else - # Double any \ or $. echo might interpret backslashes. - cat <<\EOF_SED > conftestsed -s,\\,\\\\,g; s,\$,$$,g -EOF_SED - program_transform_name="`echo $program_transform_name|sed -f conftestsed`" - rm -f conftestsed -fi -test "$program_prefix" != NONE && - program_transform_name="s,^,${program_prefix},; $program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s,\$\$,${program_suffix},; $program_transform_name" - -# sed with no file args requires a program. -test "$program_transform_name" = "" && program_transform_name="s,x,x," - -echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:674: checking whether ${MAKE-make} sets \${MAKE}" >&5 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftestmake <<\EOF -all: - @echo 'ac_maketemp="${MAKE}"' -EOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftestmake -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$ac_t""yes" 1>&6 - SET_MAKE= -else - echo "$ac_t""no" 1>&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - - -PACKAGE=file - -VERSION=3.41 - -if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then - { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; } -fi -cat >> confdefs.h <> confdefs.h <&6 -echo "configure:720: checking for working aclocal" >&5 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (aclocal --version) < /dev/null > /dev/null 2>&1; then - ACLOCAL=aclocal - echo "$ac_t""found" 1>&6 -else - ACLOCAL="$missing_dir/missing aclocal" - echo "$ac_t""missing" 1>&6 -fi - -echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:733: checking for working autoconf" >&5 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (autoconf --version) < /dev/null > /dev/null 2>&1; then - AUTOCONF=autoconf - echo "$ac_t""found" 1>&6 -else - AUTOCONF="$missing_dir/missing autoconf" - echo "$ac_t""missing" 1>&6 -fi - -echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:746: checking for working automake" >&5 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (automake --version) < /dev/null > /dev/null 2>&1; then - AUTOMAKE=automake - echo "$ac_t""found" 1>&6 -else - AUTOMAKE="$missing_dir/missing automake" - echo "$ac_t""missing" 1>&6 -fi - -echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:759: checking for working autoheader" >&5 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (autoheader --version) < /dev/null > /dev/null 2>&1; then - AUTOHEADER=autoheader - echo "$ac_t""found" 1>&6 -else - AUTOHEADER="$missing_dir/missing autoheader" - echo "$ac_t""missing" 1>&6 -fi - -echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:772: checking for working makeinfo" >&5 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (makeinfo --version) < /dev/null > /dev/null 2>&1; then - MAKEINFO=makeinfo - echo "$ac_t""found" 1>&6 -else - MAKEINFO="$missing_dir/missing makeinfo" - echo "$ac_t""missing" 1>&6 -fi - - - - - - -echo $ac_n "checking for builtin ELF support""... $ac_c" 1>&6 -echo "configure:790: checking for builtin ELF support" >&5 -# Check whether --enable-elf or --disable-elf was given. -if test "${enable_elf+set}" = set; then - enableval="$enable_elf" - if test "${enableval}" = yes; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <<\EOF -#define BUILTIN_ELF 1 -EOF - -else - echo "$ac_t""no" 1>&6 -fi -else - - # enable by default - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <<\EOF -#define BUILTIN_ELF 1 -EOF - - -fi - - -echo $ac_n "checking for ELF core file support""... $ac_c" 1>&6 -echo "configure:816: checking for ELF core file support" >&5 -# Check whether --enable-elf-core or --disable-elf-core was given. -if test "${enable_elf_core+set}" = set; then - enableval="$enable_elf_core" - if test "${enableval}" = yes; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <<\EOF -#define ELFCORE 1 -EOF - -else - echo "$ac_t""no" 1>&6 -fi -else - - # enable by default - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <<\EOF -#define ELFCORE 1 -EOF - - -fi - - -echo $ac_n "checking for file formats in man section 5""... $ac_c" 1>&6 -echo "configure:842: checking for file formats in man section 5" >&5 -# Check whether --enable-fsect-man5 or --disable-fsect-man5 was given. -if test "${enable_fsect_man5+set}" = set; then - enableval="$enable_fsect_man5" - if test "${enableval}" = yes; then - echo "$ac_t""yes" 1>&6 - fsect=5 -else - echo "$ac_t""no" 1>&6 - fsect=4 -fi -else - - # disable by default - echo "$ac_t""no" 1>&6 - fsect=4 - -fi - - - - -if test x$fsect = x5; then - FSECT5_TRUE= - FSECT5_FALSE='#' -else - FSECT5_TRUE='#' - FSECT5_FALSE= -fi - -# Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:875: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="gcc" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:905: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_prog_rejected=no - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - break - fi - done - IFS="$ac_save_ifs" -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# -gt 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - set dummy "$ac_dir/$ac_word" "$@" - shift - ac_cv_prog_CC="$@" - fi -fi -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - if test -z "$CC"; then - case "`uname -s`" in - *win32* | *WIN32*) - # Extract the first word of "cl", so it can be a program name with args. -set dummy cl; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:956: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="cl" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - ;; - esac - fi - test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } -fi - -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:988: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -cat > conftest.$ac_ext << EOF - -#line 999 "configure" -#include "confdefs.h" - -main(){return(0);} -EOF -if { (eval echo configure:1004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - ac_cv_prog_cc_works=yes - # If we can't run a trivial program, we are probably using a cross compiler. - if (./conftest; exit) 2>/dev/null; then - ac_cv_prog_cc_cross=no - else - ac_cv_prog_cc_cross=yes - fi -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_prog_cc_works=no -fi -rm -fr conftest* -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 -if test $ac_cv_prog_cc_works = no; then - { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } -fi -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1030: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 -echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 -cross_compiling=$ac_cv_prog_cc_cross - -echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1035: checking whether we are using GNU C" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then - ac_cv_prog_gcc=yes -else - ac_cv_prog_gcc=no -fi -fi - -echo "$ac_t""$ac_cv_prog_gcc" 1>&6 - -if test $ac_cv_prog_gcc = yes; then - GCC=yes -else - GCC= -fi - -ac_test_CFLAGS="${CFLAGS+set}" -ac_save_CFLAGS="$CFLAGS" -CFLAGS= -echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1063: checking whether ${CC-cc} accepts -g" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - echo 'void f(){}' > conftest.c -if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then - ac_cv_prog_cc_g=yes -else - ac_cv_prog_cc_g=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# ./install, which can be erroneously created by make from ./install.sh. -echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:1106: checking for a BSD compatible install" >&5 -if test -z "$INSTALL"; then -if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" - for ac_dir in $PATH; do - # Account for people who put trailing slashes in PATH elements. - case "$ac_dir/" in - /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if test -f $ac_dir/$ac_prog; then - if test $ac_prog = install && - grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 - fi - fi - done - ;; - esac - done - IFS="$ac_save_IFS" - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL="$ac_cv_path_install" - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL="$ac_install_sh" - fi -fi -echo "$ac_t""$INSTALL" 1>&6 - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:1159: checking whether ln -s works" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - rm -f conftestdata -if ln -s X conftestdata 2>/dev/null -then - rm -f conftestdata - ac_cv_prog_LN_S="ln -s" -else - ac_cv_prog_LN_S=ln -fi -fi -LN_S="$ac_cv_prog_LN_S" -if test "$ac_cv_prog_LN_S" = "ln -s"; then - echo "$ac_t""yes" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - -echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1181: checking how to run the C preprocessor" >&5 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then -if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - # This must be in double quotes, not single quotes, because CPP may get - # substituted into the Makefile and "${CC-cc}" will confuse make. - CPP="${CC-cc} -E" - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1202: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -E -traditional-cpp" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1219: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -nologo -E" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1236: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP=/lib/cpp -fi -rm -f conftest* -fi -rm -f conftest* -fi -rm -f conftest* - ac_cv_prog_CPP="$CPP" -fi - CPP="$ac_cv_prog_CPP" -else - ac_cv_prog_CPP="$CPP" -fi -echo "$ac_t""$CPP" 1>&6 - -echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1261: checking for ANSI C header files" >&5 -if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -#include -#include -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1274: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - ac_cv_header_stdc=yes -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -if test "$cross_compiling" = yes; then - : -else - cat > conftest.$ac_ext < -#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int main () { int i; for (i = 0; i < 256; i++) -if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); -exit (0); } - -EOF -if { (eval echo configure:1341: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_header_stdc=no -fi -rm -fr conftest* -fi - -fi -fi - -echo "$ac_t""$ac_cv_header_stdc" 1>&6 -if test $ac_cv_header_stdc = yes; then - cat >> confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF - -fi - -echo $ac_n "checking whether sys/types.h defines makedev""... $ac_c" 1>&6 -echo "configure:1365: checking whether sys/types.h defines makedev" >&5 -if eval "test \"`echo '$''{'ac_cv_header_sys_types_h_makedev'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -int main() { -return makedev(0, 0); -; return 0; } -EOF -if { (eval echo configure:1377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_header_sys_types_h_makedev=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_sys_types_h_makedev=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ac_cv_header_sys_types_h_makedev" 1>&6 - -if test $ac_cv_header_sys_types_h_makedev = no; then -ac_safe=`echo "sys/mkdev.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for sys/mkdev.h""... $ac_c" 1>&6 -echo "configure:1395: checking for sys/mkdev.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1405: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <<\EOF -#define MAJOR_IN_MKDEV 1 -EOF - -else - echo "$ac_t""no" 1>&6 -fi - - - if test $ac_cv_header_sys_mkdev_h = no; then -ac_safe=`echo "sys/sysmacros.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for sys/sysmacros.h""... $ac_c" 1>&6 -echo "configure:1433: checking for sys/sysmacros.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1443: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <<\EOF -#define MAJOR_IN_SYSMACROS 1 -EOF - -else - echo "$ac_t""no" 1>&6 -fi - - fi -fi - -echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:1471: checking for sys/wait.h that is POSIX.1 compatible" >&5 -if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -#ifndef WEXITSTATUS -#define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) -#endif -#ifndef WIFEXITED -#define WIFEXITED(stat_val) (((stat_val) & 255) == 0) -#endif -int main() { -int s; -wait (&s); -s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; -; return 0; } -EOF -if { (eval echo configure:1492: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_header_sys_wait_h=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_sys_wait_h=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_header_sys_wait_h" 1>&6 -if test $ac_cv_header_sys_wait_h = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_SYS_WAIT_H 1 -EOF - -fi - -for ac_hdr in stdint.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1516: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1526: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_hdr in fcntl.h locale.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1556: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1566: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_hdr in sys/mman.h sys/stat.h sys/types.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1596: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1606: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_hdr in stdint.h inttypes.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1636: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1646: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_hdr in unistd.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1676: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1686: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_hdr in getopt.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1716: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1726: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_hdr in locale.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1756: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1766: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - - -echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:1794: checking for working const" >&5 -if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <j = 5; -} -{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; -} - -; return 0; } -EOF -if { (eval echo configure:1848: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_c_const=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_c_const=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_c_const" 1>&6 -if test $ac_cv_c_const = no; then - cat >> confdefs.h <<\EOF -#define const -EOF - -fi - -echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:1869: checking for off_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_off_t=yes -else - rm -rf conftest* - ac_cv_type_off_t=no -fi -rm -f conftest* - -fi -echo "$ac_t""$ac_cv_type_off_t" 1>&6 -if test $ac_cv_type_off_t = no; then - cat >> confdefs.h <<\EOF -#define off_t long -EOF - -fi - -echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:1902: checking for size_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_size_t=yes -else - rm -rf conftest* - ac_cv_type_size_t=no -fi -rm -f conftest* - -fi -echo "$ac_t""$ac_cv_type_size_t" 1>&6 -if test $ac_cv_type_size_t = no; then - cat >> confdefs.h <<\EOF -#define size_t unsigned -EOF - -fi - -echo $ac_n "checking for st_rdev in struct stat""... $ac_c" 1>&6 -echo "configure:1935: checking for st_rdev in struct stat" >&5 -if eval "test \"`echo '$''{'ac_cv_struct_st_rdev'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -int main() { -struct stat s; s.st_rdev; -; return 0; } -EOF -if { (eval echo configure:1948: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_struct_st_rdev=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_struct_st_rdev=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_struct_st_rdev" 1>&6 -if test $ac_cv_struct_st_rdev = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_ST_RDEV 1 -EOF - -fi - -echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 -echo "configure:1969: checking whether struct tm is in sys/time.h or time.h" >&5 -if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -int main() { -struct tm *tp; tp->tm_sec; -; return 0; } -EOF -if { (eval echo configure:1982: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_struct_tm=time.h -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_struct_tm=sys/time.h -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_struct_tm" 1>&6 -if test $ac_cv_struct_tm = sys/time.h; then - cat >> confdefs.h <<\EOF -#define TM_IN_SYS_TIME 1 -EOF - -fi - -echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6 -echo "configure:2003: checking for tm_zone in struct tm" >&5 -if eval "test \"`echo '$''{'ac_cv_struct_tm_zone'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include <$ac_cv_struct_tm> -int main() { -struct tm tm; tm.tm_zone; -; return 0; } -EOF -if { (eval echo configure:2016: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_struct_tm_zone=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_struct_tm_zone=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_struct_tm_zone" 1>&6 -if test "$ac_cv_struct_tm_zone" = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_TM_ZONE 1 -EOF - -fi -echo $ac_n "checking for tzname""... $ac_c" 1>&6 -echo "configure:2036: checking for tzname" >&5 -if eval "test \"`echo '$''{'ac_cv_var_tzname'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#ifndef tzname /* For SGI. */ -extern char *tzname[]; /* RS6000 and others reject char **tzname. */ -#endif -int main() { -atoi(*tzname); -; return 0; } -EOF -if { (eval echo configure:2051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_var_tzname=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_var_tzname=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_var_tzname" 1>&6 - if test $ac_cv_var_tzname = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_TZNAME 1 -EOF - - fi - -echo $ac_n "checking for tm_isdst in struct tm""... $ac_c" 1>&6 -echo "configure:2072: checking for tm_isdst in struct tm" >&5 -if eval "test \"`echo '$''{'ac_cv_struct_tm_isdst'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include <$ac_cv_struct_tm> -int main() { -struct tm tm; tm.tm_isdst; -; return 0; } -EOF -if { (eval echo configure:2085: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_struct_tm_isdst=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_struct_tm_isdst=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_struct_tm_isdst" 1>&6 -if test "$ac_cv_struct_tm_isdst" = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_TM_ISDST 1 -EOF - -fi -echo $ac_n "checking for daylight""... $ac_c" 1>&6 -echo "configure:2105: checking for daylight" >&5 -if eval "test \"`echo '$''{'ac_cv_var_daylight'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#ifndef daylight /* In case IRIX #defines this, too */ -extern int daylight; -#endif -int main() { -atoi(daylight); -; return 0; } -EOF -if { (eval echo configure:2120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_var_daylight=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_var_daylight=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_var_daylight" 1>&6 - if test $ac_cv_var_daylight = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_DAYLIGHT 1 -EOF - - fi - - - # Check whether --enable-largefile or --disable-largefile was given. -if test "${enable_largefile+set}" = set; then - enableval="$enable_largefile" - : -fi - - if test "$enable_largefile" != no; then - - echo $ac_n "checking for special C compiler options needed for large files= -""... $ac_c" 1>&6 -echo "configure:2151: checking for special C compiler options needed for large files= -" >&5 -if eval "test \"`echo '$''{'ac_cv_sys_largefile_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - cat > conftest.$ac_ext < - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply "#define LARGE_OFF_T 9223372036854775807", - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -# define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; - -int main() { - -; return 0; } -EOF -if { (eval echo configure:2177: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_save_CC="$CC" - CC="$CC -n32" - cat > conftest.$ac_ext < - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply "#define LARGE_OFF_T 9223372036854775807", - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -# define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; - -int main() { - -; return 0; } -EOF -if { (eval echo configure:2202: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_sys_largefile_CC=' -n32' -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* - CC="$ac_save_CC" -fi -rm -f conftest* - fi -fi - -echo "$ac_t""$ac_cv_sys_largefile_CC" 1>&6 - if test "$ac_cv_sys_largefile_CC" != no; then - CC="$CC$ac_cv_sys_largefile_CC" - fi - - echo $ac_n "checking for _FILE_OFFSET_BITS value needed for large files""... $ac_c" 1>&6 -echo "configure:2222: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -if eval "test \"`echo '$''{'ac_cv_sys_file_offset_bits'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_cv_sys_file_offset_bits=no - cat > conftest.$ac_ext < - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply "#define LARGE_OFF_T 9223372036854775807", - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -# define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; - -int main() { - -; return 0; } -EOF -if { (eval echo configure:2244: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat > conftest.$ac_ext < - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply "#define LARGE_OFF_T 9223372036854775807", - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -# define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; - - -int main() { - -; return 0; } -EOF -if { (eval echo configure:2269: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_sys_file_offset_bits=64 -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_sys_file_offset_bits" 1>&6 - if test "$ac_cv_sys_file_offset_bits" != no; then - cat >> confdefs.h <&6 -echo "configure:2289: checking for _LARGE_FILES value needed for large files" >&5 -if eval "test \"`echo '$''{'ac_cv_sys_large_files'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_cv_sys_large_files=no - cat > conftest.$ac_ext < - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply "#define LARGE_OFF_T 9223372036854775807", - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -# define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; - -int main() { - -; return 0; } -EOF -if { (eval echo configure:2311: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat > conftest.$ac_ext < - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply "#define LARGE_OFF_T 9223372036854775807", - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -# define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; - - -int main() { - -; return 0; } -EOF -if { (eval echo configure:2336: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_sys_large_files=1 -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_sys_large_files" 1>&6 - if test "$ac_cv_sys_large_files" != no; then - cat >> confdefs.h <&6 -echo "configure:2359: checking for uint8_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_uint8_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#endif -#include -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])uint8_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_uint8_t=yes -else - rm -rf conftest* - ac_cv_type_uint8_t=no -fi -rm -f conftest* - -fi -echo "$ac_t""$ac_cv_type_uint8_t" 1>&6 -if test $ac_cv_type_uint8_t = no; then - cat >> confdefs.h <<\EOF -#define uint8_t unsigned char -EOF - -fi - -echo $ac_n "checking for uint16_t""... $ac_c" 1>&6 -echo "configure:2395: checking for uint16_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_uint16_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#endif -#include -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])uint16_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_uint16_t=yes -else - rm -rf conftest* - ac_cv_type_uint16_t=no -fi -rm -f conftest* - -fi -echo "$ac_t""$ac_cv_type_uint16_t" 1>&6 -if test $ac_cv_type_uint16_t = no; then - cat >> confdefs.h <<\EOF -#define uint16_t unsigned short -EOF - -fi - -echo $ac_n "checking for uint32_t""... $ac_c" 1>&6 -echo "configure:2431: checking for uint32_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_uint32_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#endif -#include -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])uint32_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_uint32_t=yes -else - rm -rf conftest* - ac_cv_type_uint32_t=no -fi -rm -f conftest* - -fi -echo "$ac_t""$ac_cv_type_uint32_t" 1>&6 -if test $ac_cv_type_uint32_t = no; then - cat >> confdefs.h <<\EOF -#define uint32_t unsigned int -EOF - -fi - -echo $ac_n "checking for int32_t""... $ac_c" 1>&6 -echo "configure:2467: checking for int32_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_int32_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#endif -#include -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])int32_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_int32_t=yes -else - rm -rf conftest* - ac_cv_type_int32_t=no -fi -rm -f conftest* - -fi -echo "$ac_t""$ac_cv_type_int32_t" 1>&6 -if test $ac_cv_type_int32_t = no; then - cat >> confdefs.h <<\EOF -#define int32_t int -EOF - -fi - -echo $ac_n "checking for long long""... $ac_c" 1>&6 -echo "configure:2503: checking for long long" >&5 -if eval "test \"`echo '$''{'ac_cv_c_long_long'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$GCC" = yes; then - ac_cv_c_long_long=yes -else -if test "$cross_compiling" = yes; then - { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } -else - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_c_long_long=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_c_long_long=no -fi -rm -fr conftest* -fi - -fi -fi - -echo "$ac_t""$ac_cv_c_long_long" 1>&6 -if test $ac_cv_c_long_long = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_LONG_LONG 1 -EOF - -fi - -if test $ac_cv_c_long_long = yes; then - long64='unsigned long long'; -else - long64='unsigned long'; -fi -echo $ac_n "checking for uint64_t""... $ac_c" 1>&6 -echo "configure:2549: checking for uint64_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_uint64_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#endif -#include -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])uint64_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - eval "ac_cv_type_uint64_t=yes" -else - rm -rf conftest* - eval "ac_cv_type_uint64_t=no" -fi -rm -f conftest* - -fi -if eval "test \"`echo '$ac_cv_type_'uint64_t`\" = yes"; then - echo "$ac_t""yes" 1>&6 -else - echo "$ac_t""no" 1>&6 - cat >> confdefs.h <&6 -echo "configure:2588: checking size of uint8_t" >&5 -if eval "test \"`echo '$''{'ac_cv_sizeof_uint8_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - ac_cv_sizeof_uint8_t=0 -else - cat > conftest.$ac_ext < -#endif -#include -#ifdef STDC_HEADERS -#include -#endif - -#include -main() -{ - FILE *f=fopen("conftestval", "w"); - if (!f) exit(1); - fprintf(f, "%d\n", sizeof(uint8_t)); - exit(0); -} -EOF -if { (eval echo configure:2615: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_sizeof_uint8_t=`cat conftestval` -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_sizeof_uint8_t=0 -fi -rm -fr conftest* -fi - -fi -echo "$ac_t""$ac_cv_sizeof_uint8_t" 1>&6 -cat >> confdefs.h <&6 -echo "configure:2636: checking size of uint16_t" >&5 -if eval "test \"`echo '$''{'ac_cv_sizeof_uint16_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - ac_cv_sizeof_uint16_t=0 -else - cat > conftest.$ac_ext < -#endif -#include -#ifdef STDC_HEADERS -#include -#endif - -#include -main() -{ - FILE *f=fopen("conftestval", "w"); - if (!f) exit(1); - fprintf(f, "%d\n", sizeof(uint16_t)); - exit(0); -} -EOF -if { (eval echo configure:2663: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_sizeof_uint16_t=`cat conftestval` -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_sizeof_uint16_t=0 -fi -rm -fr conftest* -fi - -fi -echo "$ac_t""$ac_cv_sizeof_uint16_t" 1>&6 -cat >> confdefs.h <&6 -echo "configure:2684: checking size of uint32_t" >&5 -if eval "test \"`echo '$''{'ac_cv_sizeof_uint32_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - ac_cv_sizeof_uint32_t=0 -else - cat > conftest.$ac_ext < -#endif -#include -#ifdef STDC_HEADERS -#include -#endif - -#include -main() -{ - FILE *f=fopen("conftestval", "w"); - if (!f) exit(1); - fprintf(f, "%d\n", sizeof(uint32_t)); - exit(0); -} -EOF -if { (eval echo configure:2711: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_sizeof_uint32_t=`cat conftestval` -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_sizeof_uint32_t=0 -fi -rm -fr conftest* -fi - -fi -echo "$ac_t""$ac_cv_sizeof_uint32_t" 1>&6 -cat >> confdefs.h <&6 -echo "configure:2732: checking size of uint64_t" >&5 -if eval "test \"`echo '$''{'ac_cv_sizeof_uint64_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - ac_cv_sizeof_uint64_t=0 -else - cat > conftest.$ac_ext < -#endif -#include -#ifdef STDC_HEADERS -#include -#endif - -#include -main() -{ - FILE *f=fopen("conftestval", "w"); - if (!f) exit(1); - fprintf(f, "%d\n", sizeof(uint64_t)); - exit(0); -} -EOF -if { (eval echo configure:2759: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_sizeof_uint64_t=`cat conftestval` -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_sizeof_uint64_t=0 -fi -rm -fr conftest* -fi - -fi -echo "$ac_t""$ac_cv_sizeof_uint64_t" 1>&6 -cat >> confdefs.h <&6 -echo "configure:2783: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:2811: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - -echo $ac_n "checking for gzopen in -lz""... $ac_c" 1>&6 -echo "configure:2837: checking for gzopen in -lz" >&5 -ac_lib_var=`echo z'_'gzopen | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lz $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo z | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <&6 -fi - - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -DEFS=-DHAVE_CONFIG_H - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS </dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.13" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir -ac_given_INSTALL="$INSTALL" - -trap 'rm -fr `echo "Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@FFLAGS@%$FFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g -s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g -s%@INSTALL_DATA@%$INSTALL_DATA%g -s%@PACKAGE@%$PACKAGE%g -s%@VERSION@%$VERSION%g -s%@ACLOCAL@%$ACLOCAL%g -s%@AUTOCONF@%$AUTOCONF%g -s%@AUTOMAKE@%$AUTOMAKE%g -s%@AUTOHEADER@%$AUTOHEADER%g -s%@MAKEINFO@%$MAKEINFO%g -s%@SET_MAKE@%$SET_MAKE%g -s%@fsect@%$fsect%g -s%@FSECT5_TRUE@%$FSECT5_TRUE%g -s%@FSECT5_FALSE@%$FSECT5_FALSE%g -s%@CC@%$CC%g -s%@LN_S@%$LN_S%g -s%@CPP@%$CPP%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - case "$ac_given_INSTALL" in - [/$]*) INSTALL="$ac_given_INSTALL" ;; - *) INSTALL="$ac_dots$ac_given_INSTALL" ;; - esac - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -s%@INSTALL@%$INSTALL%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' -ac_dC='\3' -ac_dD='%g' -# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='\([ ]\)%\1#\2define\3' -ac_uC=' ' -ac_uD='\4%g' -# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_eB='$%\1#\2define\3' -ac_eC=' ' -ac_eD='%g' - -if test "${CONFIG_HEADERS+set}" != set; then -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -fi -for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - echo creating $ac_file - - rm -f conftest.frag conftest.in conftest.out - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - cat $ac_file_inputs > conftest.in - -EOF - -# Transform confdefs.h into a sed script conftest.vals that substitutes -# the proper values into config.h.in to produce config.h. And first: -# Protect against being on the right side of a sed subst in config.status. -# Protect against being in an unquoted here document in config.status. -rm -f conftest.vals -cat > conftest.hdr <<\EOF -s/[\\&%]/\\&/g -s%[\\$`]%\\&%g -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp -s%ac_d%ac_u%gp -s%ac_u%ac_e%gp -EOF -sed -n -f conftest.hdr confdefs.h > conftest.vals -rm -f conftest.hdr - -# This sed command replaces #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -cat >> conftest.vals <<\EOF -s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% -EOF - -# Break up conftest.vals because some shells have a limit on -# the size of here documents, and old seds have small limits too. - -rm -f conftest.tail -while : -do - ac_lines=`grep -c . conftest.vals` - # grep -c gives empty output for an empty file on some AIX systems. - if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi - # Write a limited-size here document to conftest.frag. - echo ' cat > conftest.frag <> $CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS - echo 'CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in -' >> $CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail - rm -f conftest.vals - mv conftest.tail conftest.vals -done -rm -f conftest.vals - -cat >> $CONFIG_STATUS <<\EOF - rm -f conftest.frag conftest.h - echo "/* $ac_file. Generated automatically by configure. */" > conftest.h - cat conftest.in >> conftest.h - rm -f conftest.in - if cmp -s $ac_file conftest.h 2>/dev/null; then - echo "$ac_file is unchanged" - rm -f conftest.h - else - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - fi - rm -f $ac_file - mv conftest.h $ac_file - fi -fi; done - -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - diff --git a/contrib/file/configure.in b/contrib/file/configure.in deleted file mode 100644 index 8536b0dbde..0000000000 --- a/contrib/file/configure.in +++ /dev/null @@ -1,100 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -AC_INIT(file.c) -AM_INIT_AUTOMAKE(file, 3.41) -AM_CONFIG_HEADER(config.h) - -AC_MSG_CHECKING(for builtin ELF support) -AC_ARG_ENABLE(elf, -[ --disable-elf disable builtin ELF support], -[if test "${enableval}" = yes; then - AC_MSG_RESULT(yes) - AC_DEFINE(BUILTIN_ELF) -else - AC_MSG_RESULT(no) -fi], [ - # enable by default - AC_MSG_RESULT(yes) - AC_DEFINE(BUILTIN_ELF) -]) - -AC_MSG_CHECKING(for ELF core file support) -AC_ARG_ENABLE(elf-core, -[ --disable-elf-core disable ELF core file support], -[if test "${enableval}" = yes; then - AC_MSG_RESULT(yes) - AC_DEFINE(ELFCORE) -else - AC_MSG_RESULT(no) -fi], [ - # enable by default - AC_MSG_RESULT(yes) - AC_DEFINE(ELFCORE) -]) - -AC_MSG_CHECKING(for file formats in man section 5) -AC_ARG_ENABLE(fsect-man5, -[ --enable-fsect-man5 enable file formats in man section 5], -[if test "${enableval}" = yes; then - AC_MSG_RESULT(yes) - fsect=5 -else - AC_MSG_RESULT(no) - fsect=4 -fi], [ - # disable by default - AC_MSG_RESULT(no) - fsect=4 -]) -AC_SUBST(fsect) -AM_CONDITIONAL(FSECT5, test x$fsect = x5) - -dnl Checks for programs. -AC_PROG_CC -AC_PROG_INSTALL -AC_PROG_LN_S - -dnl Checks for headers -AC_HEADER_STDC -AC_HEADER_MAJOR -AC_HEADER_SYS_WAIT -AC_HEADER_STDINT -AC_CHECK_HEADERS(fcntl.h locale.h) -AC_CHECK_HEADERS(sys/mman.h sys/stat.h sys/types.h) -AC_CHECK_HEADERS(stdint.h inttypes.h) -AC_CHECK_HEADERS(unistd.h) -AC_CHECK_HEADERS(getopt.h) -AC_CHECK_HEADERS(locale.h) - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_TYPE_OFF_T -AC_TYPE_SIZE_T -AC_STRUCT_ST_RDEV -AC_STRUCT_TIMEZONE_DAYLIGHT -AC_SYS_LARGEFILE - -AC_CHECK_TYPE_STDC(uint8_t, unsigned char) -AC_CHECK_TYPE_STDC(uint16_t, unsigned short) -AC_CHECK_TYPE_STDC(uint32_t, unsigned int) -AC_CHECK_TYPE_STDC(int32_t, int) -AC_C_LONG_LONG -if test $ac_cv_c_long_long = yes; then - long64='unsigned long long'; -else - long64='unsigned long'; -fi -dnl This needs a patch to autoconf 2.13 acgeneral.m4 -AC_CHECK_TYPE2_STDC(uint64_t, $long64) - -AC_CHECK_SIZEOF_STDC_HEADERS(uint8_t, 0) -AC_CHECK_SIZEOF_STDC_HEADERS(uint16_t, 0) -AC_CHECK_SIZEOF_STDC_HEADERS(uint32_t, 0) -AC_CHECK_SIZEOF_STDC_HEADERS(uint64_t, 0) - -dnl Checks for functions -AC_CHECK_FUNCS(mmap strerror strtoul mkstemp getopt_long) - -dnl Checks for libraries -AC_CHECK_LIB(z,gzopen) - -AC_OUTPUT(Makefile) diff --git a/contrib/file/file.c b/contrib/file/file.c deleted file mode 100644 index 2ccd8cab98..0000000000 --- a/contrib/file/file.c +++ /dev/null @@ -1,570 +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. - */ - -#include "file.h" -#include -#include -#include -#include /* for MAXPATHLEN */ -#include /* for open() */ -#ifdef RESTORE_TIME -# if (__COHERENT__ >= 0x420) -# include -# else -# ifdef USE_UTIMES -# include -# else -# include -# endif -# endif -#endif -#ifdef HAVE_UNISTD_H -#include /* for read() */ -#endif -#ifdef HAVE_LOCALE_H -#include -#endif - -#ifdef HAVE_GETOPT_H -#include /* for long options (is this portable?)*/ -#endif - -#include /* for byte swapping */ - -#include "patchlevel.h" - -#ifndef lint -FILE_RCSID("@(#)$Id: file.c,v 1.69 2003/02/27 20:47:46 christos Exp $") -#endif /* lint */ - - -#ifdef S_IFLNK -# define USAGE "Usage: %s [-bciknsvzL] [-f namefile] [-m magicfiles] file...\n" -#else -# define USAGE "Usage: %s [-bciknsvz] [-f namefile] [-m magicfiles] file...\n" -#endif - -#ifdef __EMX__ -static char *apptypeName = NULL; -int os2_apptype (const char *fn, char *buf, int nb); -#endif /* __EMX__ */ - -#ifndef MAGIC -# define MAGIC "/etc/magic" -#endif - -#ifndef MAXPATHLEN -#define MAXPATHLEN 512 -#endif - -int /* Global command-line options */ - debug = 0, /* debugging */ - lflag = 0, /* follow Symlinks (BSD only) */ - bflag = 0, /* brief output format */ - zflag = 0, /* follow (uncompress) compressed files */ - sflag = 0, /* read block special files */ - iflag = 0, - nopad = 0, /* Don't pad output */ - nobuffer = 0, /* Do not buffer stdout */ - kflag = 0; /* Keep going after the first match */ - -int /* Misc globals */ - nmagic = 0; /* number of valid magic[]s */ - -struct magic *magic; /* array of magic entries */ - -const char *magicfile = 0; /* where the magic is */ -const char *default_magicfile = MAGIC; - -char separator = ':'; /* Default field separator */ - -char *progname; /* used throughout */ -int lineno; /* line number in the magic file */ - - -static void unwrap(char *fn); -static void usage(void); -#ifdef HAVE_GETOPT_LONG -static void help(void); -#endif -#if 0 -static int byteconv4(int, int, int); -static short byteconv2(int, int, int); -#endif - -int main(int, char *[]); - -/* - * main - parse arguments and handle options - */ -int -main(int argc, char **argv) -{ - int c; - int action = 0, didsomefiles = 0, errflg = 0, ret = 0, app = 0; - char *mime, *home, *usermagic; - struct stat sb; -#define OPTSTRING "bcdf:F:ikm:nNsvzCL" -#ifdef HAVE_GETOPT_LONG - int longindex; - static struct option long_options[] = - { - {"version", 0, 0, 'v'}, - {"help", 0, 0, 0}, - {"brief", 0, 0, 'b'}, - {"checking-printout", 0, 0, 'c'}, - {"debug", 0, 0, 'd'}, - {"files-from", 1, 0, 'f'}, - {"separator", 1, 0, 'F'}, - {"mime", 0, 0, 'i'}, - {"keep-going", 0, 0, 'k'}, -#ifdef S_IFLNK - {"dereference", 0, 0, 'L'}, -#endif - {"magic-file", 1, 0, 'm'}, - {"uncompress", 0, 0, 'z'}, - {"no-buffer", 0, 0, 'n'}, - {"no-pad", 0, 0, 'N'}, - {"special-files", 0, 0, 's'}, - {"compile", 0, 0, 'C'}, - {0, 0, 0, 0}, - }; -#endif - -#ifdef LC_CTYPE - setlocale(LC_CTYPE, ""); /* makes islower etc work for other langs */ -#endif - -#ifdef __EMX__ - /* sh-like wildcard expansion! Shouldn't hurt at least ... */ - _wildcard(&argc, &argv); -#endif - - if ((progname = strrchr(argv[0], '/')) != NULL) - progname++; - else - progname = argv[0]; - - magicfile = default_magicfile; - if ((usermagic = getenv("MAGIC")) != NULL) - magicfile = usermagic; - else - if ((home = getenv("HOME")) != NULL) { - if ((usermagic = malloc(strlen(home) + 8)) != NULL) { - (void)strcpy(usermagic, home); - (void)strcat(usermagic, "/.magic"); - if (stat(usermagic, &sb)<0) - free(usermagic); - else - magicfile = usermagic; - } - } - -#ifndef HAVE_GETOPT_LONG - while ((c = getopt(argc, argv, OPTSTRING)) != -1) -#else - while ((c = getopt_long(argc, argv, OPTSTRING, long_options, - &longindex)) != -1) -#endif - switch (c) { -#ifdef HAVE_GETOPT_LONG - case 0 : - if (longindex == 1) - help(); - break; -#endif - case 'b': - ++bflag; - break; - case 'c': - action = CHECK; - break; - case 'C': - action = COMPILE; - break; - case 'd': - ++debug; - break; - case 'f': - if (!app) { - ret = apprentice(magicfile, action); - if (action) - exit(ret); - app = 1; - } - unwrap(optarg); - ++didsomefiles; - break; - case 'F': - separator = *optarg; - break; - case 'i': - iflag++; - if ((mime = malloc(strlen(magicfile) + 6)) != NULL) { - (void)strcpy(mime, magicfile); - (void)strcat(mime, ".mime"); - magicfile = mime; - } - break; - case 'k': - kflag = 1; - break; - case 'm': - magicfile = optarg; - break; - case 'n': - ++nobuffer; - break; - case 'N': - ++nopad; - break; - case 's': - sflag++; - break; - case 'v': - (void) fprintf(stdout, "%s-%d.%d\n", progname, - FILE_VERSION_MAJOR, patchlevel); - (void) fprintf(stdout, "magic file from %s\n", - magicfile); - return 1; - case 'z': - zflag++; - break; -#ifdef S_IFLNK - case 'L': - ++lflag; - break; -#endif - case '?': - default: - errflg++; - break; - } - - if (errflg) { - usage(); - } - - if (!app) { - ret = apprentice(magicfile, action); - if (action) - 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; -} - - -/* - * unwrap -- read a file of filenames, do each one. - */ -static void -unwrap(char *fn) -{ - char buf[MAXPATHLEN]; - FILE *f; - int wid = 0, cwid; - - if (strcmp("-", fn) == 0) { - f = stdin; - wid = 1; - } else { - if ((f = fopen(fn, "r")) == NULL) { - error("Cannot open `%s' (%s).\n", fn, strerror(errno)); - /*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); - if(nobuffer) - (void) fflush(stdout); - } - - (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(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(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(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) { - error("cannot fstat `%s' (%s).\n", stdname, - strerror(errno)); - /*NOTREACHED*/ - } - inname = stdname; - } - - if (wid > 0 && !bflag) - (void) printf("%s%c%*s", inname, separator, - (int) (nopad ? 0 : 1 + (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("writable, ", 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) { - error("read failed (%s).\n", strerror(errno)); - /*NOTREACHED*/ - } - - if (nbytes == 0) - ckfputs(iflag ? "application/x-empty" : "empty", stdout); - else { - buf[nbytes++] = '\0'; /* null-terminate it */ - match = tryit(inname, buf, nbytes, zflag); - } - -#ifdef BUILTIN_ELF - if (match == 's' && nbytes > 5) { - /* - * We matched something in the file, so this *might* - * be an ELF file, and the file is at least 5 bytes long, - * so if it's an ELF file it has at least one byte - * past the ELF magic number - try extracting information - * from the ELF headers that can't easily be extracted - * with rules in the magic file. - */ - tryelf(fd, buf, nbytes); - } -#endif - - if (inname != stdname) { -#ifdef RESTORE_TIME - /* - * Try to restore access, modification times if read it. - * This is really *bad* because it will modify the status - * time of the file... And of course this will affect - * backup programs - */ -# ifdef 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(const char *fn, unsigned char *buf, int nb, int zfl) -{ - - /* - * The main work is done here! - * We have the file name and/or the data buffer to be identified. - */ - -#ifdef __EMX__ - /* - * Ok, here's the right place to add a call to some os-specific - * routine, e.g. - */ - if (os2_apptype(fn, buf, nb) == 1) - return 'o'; -#endif - /* try compression stuff */ - if (zfl && zmagic(fn, 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'; - - /* abandon hope, all ye who remain here */ - ckfputs(iflag ? "application/octet-stream" : "data", stdout); - return '\0'; -} - -static void -usage(void) -{ - (void)fprintf(stderr, USAGE, progname); - (void)fprintf(stderr, "Usage: %s -C [-m magic]\n", progname); -#ifdef HAVE_GETOPT_LONG - (void)fputs("Try `file --help' for more information.\n", stderr); -#endif - exit(1); -} - -#ifdef HAVE_GETOPT_LONG -static void -help(void) -{ - puts( -"Usage: file [OPTION]... [FILE]...\n" -"Determine file type of FILEs.\n" -"\n" -" -m, --magic-file LIST use LIST as a colon-separated list of magic\n" -" number files\n" -" -z, --uncompress try to look inside compressed files\n" -" -b, --brief do not prepend filenames to output lines\n" -" -c, --checking-printout print the parsed form of the magic file, use in\n" -" conjunction with -m to debug a new magic file\n" -" before installing it\n" -" -f, --files-from FILE read the filenames to be examined from FILE\n" -" -i, --mime output mime type strings\n" -" -k, --keep-going don't stop at the first match\n" -" -L, --dereference causes symlinks to be followed\n" -" -n, --no-buffer do not buffer output\n" -" -s, --special-files treat special (block/char devices) files as\n" -" ordinary ones\n" -" --help display this help and exit\n" -" --version output version information and exit\n" -); - exit(0); -} -#endif diff --git a/contrib/file/file.h b/contrib/file/file.h deleted file mode 100644 index 874beb9eb3..0000000000 --- a/contrib/file/file.h +++ /dev/null @@ -1,197 +0,0 @@ -/* - * file.h - definitions for file(1) program - * @(#)$Id: file.h,v 1.45 2003/02/08 18:33:53 christos Exp $ - * - * 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__ - -#ifndef __linux__ -#define _LARGEFILE_SOURCE -#define _LARGEFILE64_SOURCE -#define _FILE_OFFSET_BITS 64 -#endif - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#ifdef HAVE_STDINT_H -#include -#elif defined(HAVE_INTTYPES_H) -#include -#endif -/* Do this here and now, because struct stat gets re-defined on solaris */ -#include - -#ifndef HOWMANY -# define HOWMANY 65536 /* how much of the file to look at */ -#endif -#define MAXMAGIS 4096 /* max entries in /etc/magic */ -#define MAXDESC 50 /* max leng of text description */ -#define MAXstring 32 /* max leng of "string" types */ - -#define MAGICNO 0xF11E041C -#define VERSIONNO 1 - -#define CHECK 1 -#define COMPILE 2 - -#ifndef __GNUC__ -#define __attribute__(a) -#endif - -struct magic { - uint16_t cont_level; /* level of ">" */ - uint8_t nospflag; /* supress space character */ - uint8_t flag; -#define INDIR 1 /* if '>(...)' appears, */ -#define UNSIGNED 2 /* comparison is unsigned */ -#define OFFADD 4 /* if '>&' appears, */ - uint8_t reln; /* relation (0=eq, '>'=gt, etc) */ - uint8_t vallen; /* length of string value, if any */ - uint8_t type; /* int, short, long or string. */ - uint8_t in_type; /* type of indirrection */ -#define 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 -#define PSTRING 13 -#define LDATE 14 -#define BELDATE 15 -#define LELDATE 16 -#define REGEX 17 - uint8_t in_op; /* operator for indirection */ - uint8_t mask_op; /* operator for mask */ -#define OPAND 1 -#define OPOR 2 -#define OPXOR 3 -#define OPADD 4 -#define OPMINUS 5 -#define OPMULTIPLY 6 -#define OPDIVIDE 7 -#define OPMODULO 8 -#define OPINVERSE 0x80 - int32_t offset; /* offset to magic number */ - int32_t in_offset; /* offset from indirection */ - union VALUETYPE { - uint8_t b; - uint16_t h; - uint32_t l; - char s[MAXstring]; - char *buf; - uint8_t hs[2]; /* 2 bytes of a fixed-endian "short" */ - uint8_t hl[4]; /* 4 bytes of a fixed-endian "long" */ - } value; /* either number or string */ - uint32_t mask; /* mask before comparison with value */ - char desc[MAXDESC]; /* description */ -} __attribute__((__packed__)); - -#define BIT(A) (1 << (A)) -#define STRING_IGNORE_LOWERCASE BIT(0) -#define STRING_COMPACT_BLANK BIT(1) -#define STRING_COMPACT_OPTIONAL_BLANK BIT(2) -#define CHAR_IGNORE_LOWERCASE 'c' -#define CHAR_COMPACT_BLANK 'B' -#define CHAR_COMPACT_OPTIONAL_BLANK 'b' - - -/* list of magic entries */ -struct mlist { - struct magic *magic; /* array of magic entries */ - uint32_t nmagic; /* number of entries in array */ - struct mlist *next, *prev; -}; - -extern int apprentice(const char *, int); -extern int ascmagic(unsigned char *, int); -extern void error(const char *, ...); -extern void ckfputs(const char *, FILE *); -struct stat; -extern int fsmagic(const char *, struct stat *); -extern char *fmttime(long, int); -extern int is_compress(const unsigned char *, int *); -extern int is_tar(unsigned char *, int); -extern void magwarn(const char *, ...); -extern void mdump(struct magic *); -extern void process(const char *, int); -extern void showstr(FILE *, const char *, int); -extern int softmagic(unsigned char *, int); -extern int tryit(const char *, unsigned char *, int, int); -extern int zmagic(const char *, unsigned char *, int); -extern void ckfprintf(FILE *, const char *, ...); -extern uint32_t signextend(struct magic *, unsigned int32); -extern void tryelf(int, unsigned char *, int); -extern int pipe2file(int, void *, size_t); - - -extern char *progname; /* the program name */ -extern const char *magicfile; /* name of the magic file */ -extern int lineno; /* current line number in magic file */ - -extern struct mlist mlist; /* list of arrays of magic entries */ - -extern int debug; /* enable debugging? */ -extern int zflag; /* process compressed files? */ -extern int lflag; /* follow symbolic links? */ -extern int sflag; /* read/analyze block special files? */ -extern int iflag; /* Output types as mime-types */ - -#ifdef NEED_GETOPT -extern int optind; /* From getopt(3) */ -extern char *optarg; -#endif - -#ifndef HAVE_STRERROR -extern int sys_nerr; -extern char *sys_errlist[]; -#define strerror(e) \ - (((e) >= 0 && (e) < sys_nerr) ? sys_errlist[(e)] : "Unknown error") -#endif - -#ifndef HAVE_STRTOUL -#define strtoul(a, b, c) strtol(a, b, c) -#endif - -#if defined(HAVE_MMAP) && defined(HAVE_SYS_MMAN_H) && !defined(QUICK) -#define QUICK -#endif - -#define FILE_RCSID(id) \ -static const char *rcsid(const char *p) { \ - return rcsid(p = id); \ -} - -#endif /* __file_h__ */ diff --git a/contrib/file/file.man b/contrib/file/file.man deleted file mode 100644 index 7d0ce419ab..0000000000 --- a/contrib/file/file.man +++ /dev/null @@ -1,484 +0,0 @@ -.TH FILE __CSECTION__ "Copyright but distributable" -.\" $Id: file.man,v 1.44 2003/02/27 20:47:46 christos Exp $ -.SH NAME -file -\- determine file type -.SH SYNOPSIS -.B file -[ -.B \-bciknNsvzL -] -[ -.B \-f -.I namefile -] -[ -.B \-F -separator ] -[ -.B \-m -.I magicfiles -] -.I file -\*[Am]... -.br -.B file -.B -C -[ -.B \-m -magicfile ] -.SH DESCRIPTION -This manual page documents version __VERSION__ of the -.B file -command. -.PP -.B File -tests each argument in an attempt to classify it. -There are three sets of tests, performed in this order: -filesystem tests, magic number tests, and language tests. -The -.I first -test that succeeds causes the file type to be printed. -.PP -The type printed will usually contain one of the words -.B text -(the file contains only -printing characters and a few common control -characters and is probably safe to read on an -.SM ASCII -terminal), -.B executable -(the file contains the result of compiling a program -in a form understandable to some \s-1UNIX\s0 kernel or another), -or -.B data -meaning anything else (data is usually `binary' or non-printable). -Exceptions are well-known file formats (core files, tar archives) -that are known to contain binary data. -When modifying the file -.I __MAGIC__ -or the program itself, -.B "preserve these keywords" . -People depend on knowing that all the readable files in a directory -have the word ``text'' printed. -Don't do as Berkeley did and change ``shell commands text'' -to ``shell script''. -Note that the file -.I __MAGIC__ -is built mechanically from a large number of small files in -the subdirectory -.I Magdir -in the source distribution of this program. -.PP -The filesystem tests are based on examining the return from a -.BR stat (2) -system call. -The program checks to see if the file is empty, -or if it's some sort of special file. -Any known file types appropriate to the system you are running on -(sockets, symbolic links, or named pipes (FIFOs) on those systems that -implement them) -are intuited if they are defined in -the system header file -.IR \*[Lt]sys/stat.h\*[Gt] . -.PP -The magic number tests are used to check for files with data in -particular fixed formats. -The canonical example of this is a binary executable (compiled program) -.I a.out -file, whose format is defined in -.I a.out.h -and possibly -.I exec.h -in the standard include directory. -These files have a `magic number' stored in a particular place -near the beginning of the file that tells the \s-1UNIX\s0 operating system -that the file is a binary executable, and which of several types thereof. -The concept of `magic number' has been applied by extension to data files. -Any file with some invariant identifier at a small fixed -offset into the file can usually be described in this way. -The information identifying these files is read from the compiled -magic file -.I __MAGIC__.mgc , -or -.I __MAGIC__ -if the compile file does not exist. -.PP -If a file does not match any of the entries in the magic file, -it is examined to see if it seems to be a text file. -ASCII, ISO-8859-x, non-ISO 8-bit extended-ASCII character sets -(such as those used on Macintosh and IBM PC systems), -UTF-8-encoded Unicode, UTF-16-encoded Unicode, and EBCDIC -character sets can be distinguished by the different -ranges and sequences of bytes that constitute printable text -in each set. -If a file passes any of these tests, its character set is reported. -ASCII, ISO-8859-x, UTF-8, and extended-ASCII files are identified -as ``text'' because they will be mostly readable on nearly any terminal; -UTF-16 and EBCDIC are only ``character data'' because, while -they contain text, it is text that will require translation -before it can be read. -In addition, -.B file -will attempt to determine other characteristics of text-type files. -If the lines of a file are terminated by CR, CRLF, or NEL, instead -of the Unix-standard LF, this will be reported. -Files that contain embedded escape sequences or overstriking -will also be identified. -.PP -Once -.B file -has determined the character set used in a text-type file, -it will -attempt to determine in what language the file is written. -The language tests look for particular strings (cf -.IR names.h ) -that can appear anywhere in the first few blocks of a file. -For example, the keyword -.B .br -indicates that the file is most likely a -.BR troff (1) -input file, just as the keyword -.B struct -indicates a C program. -These tests are less reliable than the previous -two groups, so they are performed last. -The language test routines also test for some miscellany -(such as -.BR tar (1) -archives). -.PP -Any file that cannot be identified as having been written -in any of the character sets listed above is simply said to be ``data''. -.SH OPTIONS -.TP 8 -.B \-b -Do not prepend filenames to output lines (brief mode). -.TP 8 -.B \-c -Cause a checking printout of the parsed form of the magic file. -This is usually used in conjunction with -.B \-m -to debug a new magic file before installing it. -.TP 8 -.B \-C -Write a magic.mgc output file that contains a pre-parsed version of -file. -.TP 8 -.BI \-f " namefile" -Read the names of the files to be examined from -.I namefile -(one per line) -before the argument list. -Either -.I namefile -or at least one filename argument must be present; -to test the standard input, use ``\-'' as a filename argument. -.TP 8 -.BI \-F " separator" -Use the specified separator character instead of ``:''. -.TP 8 -.B \-i -Causes the file command to output mime type strings rather than the more -traditional human readable ones. -Thus it may say -``text/plain; charset=us-ascii'' -rather -than ``ASCII text''. -In order for this option to work, file changes the way -it handles files recognised by the command itself (such as many of the -text file types, directories etc), and makes use of an alternative -``magic'' file. -(See ``FILES'' section, below). -.TP 8 -.B \-k -Don't stop at the first match, keep going. -.TP 8 -.BI \-m " list" -Specify an alternate list of files containing magic numbers. -This can be a single file, or a colon-separated list of files. -.TP 8 -.B \-n -Force stdout to be flushed after checking each file. -This is only useful if checking a list of files. -It is intended to be used by programs that want filetype output from a pipe. -.TP 8 -.B \-N -Don't pad output to align filenames nicely. -.TP 8 -.B \-v -Print the version of the program and exit. -.TP 8 -.B \-z -Try to look inside compressed files. -.TP 8 -.B \-L -option causes symlinks to be followed, as the like-named option in -.BR ls (1). -(on systems that support symbolic links). -.TP 8 -.B \-s -Normally, -.B file -only attempts to read and determine the type of argument files which -.BR stat (2) -reports are ordinary files. -This prevents problems, because reading special files may have peculiar -consequences. -Specifying the -.BR \-s -option causes -.B file -to also read argument files which are block or character special files. -This is useful for determining the filesystem types of the data in raw -disk partitions, which are block special files. -This option also causes -.B file -to disregard the file size as reported by -.BR stat (2) -since on some systems it reports a zero size for raw disk partitions. -.SH FILES -.I __MAGIC__.mgc -\- default compiled list of magic numbers -.PP -.I __MAGIC__ -\- default list of magic numbers -.PP -.I __MAGIC__.mime -\- default list of magic numbers, used to output mime types when the -i option -is specified. - -.SH ENVIRONMENT -The environment variable -.B MAGIC -can be used to set the default magic number files. -.SH SEE ALSO -.BR magic (__FSECTION__) -\- description of magic file format. -.br -.BR strings (1), " od" (1), " hexdump(1)" -\- tools for examining non-textfiles. -.SH STANDARDS CONFORMANCE -This program is believed to exceed the System V Interface Definition -of FILE(CMD), as near as one can determine from the vague language -contained therein. -Its behaviour is mostly compatible with the System V program of the same name. -This version knows more magic, however, so it will produce -different (albeit more accurate) output in many cases. -.PP -The one significant difference -between this version and System V -is that this version treats any white space -as a delimiter, so that spaces in pattern strings must be escaped. -For example, -.br -\*[Gt]10 string language impress\ (imPRESS data) -.br -in an existing magic file would have to be changed to -.br -\*[Gt]10 string language\e impress (imPRESS data) -.br -In addition, in this version, if a pattern string contains a backslash, -it must be escaped. For example -.br -0 string \ebegindata Andrew Toolkit document -.br -in an existing magic file would have to be changed to -.br -0 string \e\ebegindata Andrew Toolkit document -.br -.PP -SunOS releases 3.2 and later from Sun Microsystems include a -.BR file (1) -command derived from the System V one, but with some extensions. -My version differs from Sun's only in minor ways. -It includes the extension of the `\*[Am]' operator, used as, -for example, -.br -\*[Gt]16 long\*[Am]0x7fffffff \*[Gt]0 not stripped -.SH MAGIC DIRECTORY -The magic file entries have been collected from various sources, -mainly USENET, and contributed by various authors. -Christos Zoulas (address below) will collect additional -or corrected magic file entries. -A consolidation of magic file entries -will be distributed periodically. -.PP -The order of entries in the magic file is significant. -Depending on what system you are using, the order that -they are put together may be incorrect. -If your old -.B file -command uses a magic file, -keep the old magic file around for comparison purposes -(rename it to -.IR __MAGIC__.orig ). -.SH EXAMPLES -.nf -$ file file.c file /dev/{wd0a,hda} -file.c: C program text -file: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), - dynamically linked (uses shared libs), stripped -/dev/wd0a: block special (0/0) -/dev/hda: block special (3/0) -$ file -s /dev/wd0{b,d} -/dev/wd0b: data -/dev/wd0d: x86 boot sector -$ file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10} # Linux -/dev/hda: x86 boot sector -/dev/hda1: Linux/i386 ext2 filesystem -/dev/hda2: x86 boot sector -/dev/hda3: x86 boot sector, extended partition table -/dev/hda4: Linux/i386 ext2 filesystem -/dev/hda5: Linux/i386 swap file -/dev/hda6: Linux/i386 swap file -/dev/hda7: Linux/i386 swap file -/dev/hda8: Linux/i386 swap file -/dev/hda9: empty -/dev/hda10: empty - -$ file -s /dev/rwd0e # BSD -/dev/rwd0e: -Unix Fast File system (little-endian), -last mounted on /usr, -last written at Mon Feb 10 13:22:40 2003, -clean flag 2, -number of blocks 28754208, -number of data blocks 27812712, -number of cylinder groups 3566, -block size 8192, -fragment size 1024, -minimum percentage of free blocks 5, -rotational delay 0ms, -disk rotational speed 60rps, -TIME optimization - -$ file -i file.c file /dev/{wd0a,hda} -file.c: text/x-c -file: application/x-executable, dynamically linked (uses shared libs), -not stripped -/dev/hda: application/x-not-regular-file -/dev/wd0a: application/x-not-regular-file - -.fi -.SH HISTORY -There has been a -.B file -command in every \s-1UNIX\s0 since at least Research Version 4 -(man page dated November, 1973). -The System V version introduced one significant major change: -the external list of magic number types. -This slowed the program down slightly but made it a lot more flexible. -.PP -This program, based on the System V version, -was written by Ian Darwin \*[Lt]ian@darwinsys.com\*[Gt] -without looking at anybody else's source code. -.PP -John Gilmore revised the code extensively, making it better than -the first version. -Geoff Collyer found several inadequacies -and provided some magic file entries. -Contributions by the `\*[Am]' operator by Rob McMahon, cudcv@warwick.ac.uk, 1989. -.PP -Guy Harris, guy@netapp.com, made many changes from 1993 to the present. -.PP -Primary development and maintenance from 1990 to the present by -Christos Zoulas (christos@astron.com). -.PP -Altered by Chris Lowth, chris@lowth.com, 2000: -Handle the ``-i'' option to output mime type strings and using an alternative -magic file and internal logic. -.PP -Altered by Eric Fischer (enf@pobox.com), July, 2000, -to identify character codes and attempt to identify the languages -of non-ASCII files. -.PP -The list of contributors to the "Magdir" directory (source for the -/etc/magic -file) is too long to include here. -You know who you are; thank you. -.SH LEGAL NOTICE -Copyright (c) Ian F. Darwin, Toronto, Canada, 1986-1999. -Covered by the standard Berkeley Software Distribution copyright; see the file -LEGAL.NOTICE in the source distribution. -.PP -The files -.I tar.h -and -.I is_tar.c -were written by John Gilmore from his public-domain -.B tar -program, and are not covered by the above license. -.SH BUGS -There must be a better way to automate the construction of the Magic -file from all the glop in Magdir. -What is it? -Better yet, the magic file should be compiled into binary (say, -.BR ndbm (3) -or, better yet, fixed-length -.SM ASCII -strings for use in heterogenous network environments) for faster startup. -Then the program would run as fast as the Version 7 program of the same name, -with the flexibility of the System V version. -.PP -.B File -uses several algorithms that favor speed over accuracy, -thus it can be misled about the contents of -text -files. -.PP -The support for -text -files (primarily for programming languages) -is simplistic, inefficient and requires recompilation to update. -.PP -There should be an ``else'' clause to follow a series of continuation lines. -.PP -The magic file and keywords should have regular expression support. -Their use of -.SM "ASCII TAB" -as a field delimiter is ugly and makes -it hard to edit the files, but is entrenched. -.PP -It might be advisable to allow upper-case letters in keywords -for e.g., -.BR troff (1) -commands vs man page macros. -Regular expression support would make this easy. -.PP -The program doesn't grok \s-2FORTRAN\s0. -It should be able to figure \s-2FORTRAN\s0 by seeing some keywords which -appear indented at the start of line. -Regular expression support would make this easy. -.PP -The list of keywords in -.I ascmagic -probably belongs in the Magic file. -This could be done by using some keyword like `*' for the offset value. -.PP -Another optimisation would be to sort -the magic file so that we can just run down all the -tests for the first byte, first word, first long, etc, once we -have fetched it. -Complain about conflicts in the magic file entries. -Make a rule that the magic entries sort based on file offset rather -than position within the magic file? -.PP -The program should provide a way to give an estimate -of ``how good'' a guess is. -We end up removing guesses (e.g. ``From '' as first 5 chars of file) because -they are not as good as other guesses (e.g. ``Newsgroups:'' versus -``Return-Path:''). -Still, if the others don't pan out, it should be -possible to use the first guess. -.PP -This program is slower than some vendors' file commands. -The new support for multiple character codes makes it even slower. -.PP -This manual page, and particularly this section, is too long. -.SH AVAILABILITY -You can obtain the original author's latest version by anonymous FTP -on -.B ftp.astron.com -in the directory -.I /pub/file/file-X.YZ.tar.gz diff --git a/contrib/file/fsmagic.c b/contrib/file/fsmagic.c deleted file mode 100644 index fc6a29b24d..0000000000 --- a/contrib/file/fsmagic.c +++ /dev/null @@ -1,246 +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. - */ - -#include "file.h" -#include -#ifdef HAVE_UNISTD_H -#include -#endif -#include -/* Since major is a function on SVR4, we can't use `ifndef major'. */ -#ifdef MAJOR_IN_MKDEV -# include -# define HAVE_MAJOR -#endif -#ifdef MAJOR_IN_SYSMACROS -# include -# define HAVE_MAJOR -#endif -#ifdef major /* Might be defined in sys/types.h. */ -# define HAVE_MAJOR -#endif - -#ifndef HAVE_MAJOR -# define major(dev) (((dev) >> 8) & 0xff) -# define minor(dev) ((dev) & 0xff) -#endif -#undef HAVE_MAJOR - -#ifndef lint -FILE_RCSID("@(#)$Id: fsmagic.c,v 1.36 2002/07/03 19:00:41 christos Exp $") -#endif /* lint */ - -int -fsmagic(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 (iflag) { - if ((sb->st_mode & S_IFMT) != S_IFREG) { - ckfputs("application/x-not-regular-file", stdout); - return 1; - } - } - else { -#ifdef S_ISUID - if (sb->st_mode & S_ISUID) ckfputs("setuid ", stdout); -#endif -#ifdef S_ISGID - if (sb->st_mode & S_ISGID) ckfputs("setgid ", stdout); -#endif -#ifdef S_ISVTX - if (sb->st_mode & S_ISVTX) ckfputs("sticky ", stdout); -#endif - } - - switch (sb->st_mode & S_IFMT) { - case S_IFDIR: - ckfputs("directory", stdout); - return 1; -#ifdef S_IFCHR - case S_IFCHR: - /* - * If -s has been specified, treat character special files - * like ordinary files. Otherwise, just report that they - * are block special files and go on to the next file. - */ - if (sflag) - break; -#ifdef HAVE_ST_RDEV -# ifdef dv_unit - (void) printf("character special (%d/%d/%d)", - major(sb->st_rdev), - dv_unit(sb->st_rdev), - dv_subunit(sb->st_rdev)); -# else - (void) printf("character special (%ld/%ld)", - (long) major(sb->st_rdev), (long) minor(sb->st_rdev)); -# endif -#else - (void) printf("character special"); -#endif - return 1; -#endif -#ifdef S_IFBLK - case S_IFBLK: - /* - * If -s has been specified, treat block special files - * like ordinary files. Otherwise, just report that they - * are block special files and go on to the next file. - */ - if (sflag) - break; -#ifdef HAVE_ST_RDEV -# ifdef dv_unit - (void) printf("block special (%d/%d/%d)", - major(sb->st_rdev), - dv_unit(sb->st_rdev), - dv_subunit(sb->st_rdev)); -# else - (void) printf("block special (%ld/%ld)", - (long) major(sb->st_rdev), (long) minor(sb->st_rdev)); -# endif -#else - (void) printf("block special"); -#endif - return 1; -#endif - /* 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_IFDOOR - case S_IFDOOR: - ckfputs("door", stdout); - return 1; -#endif -#ifdef S_IFLNK - case S_IFLNK: - { - char buf[BUFSIZ+4]; - 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: - error("invalid mode 0%o.\n", sb->st_mode); - /*NOTREACHED*/ - } - - /* - * regular file, check next possibility - * - * If stat() tells us the file has zero length, report here that - * the file is empty, so we can skip all the work of opening and - * reading the file. - * But if the -s option has been given, we skip this optimization, - * since on some systems, stat() reports zero size for raw disk - * partitions. (If the block special device really has zero length, - * the fact that it is empty will be detected and reported correctly - * when we read the file.) - */ - if (!sflag && sb->st_size == 0) { - ckfputs(iflag ? "application/x-empty" : "empty", stdout); - return 1; - } - return 0; -} diff --git a/contrib/file/install-sh b/contrib/file/install-sh deleted file mode 100755 index 89fc9b098b..0000000000 --- a/contrib/file/install-sh +++ /dev/null @@ -1,238 +0,0 @@ -#! /bin/sh -# -# install - install a program, script, or datafile -# This comes from X11R5. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. -# - - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - - -# put in absolute paths if you don't have them in your path; or use env. vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -tranformbasename="" -transform_arg="" -instcmd="$mvprog" -chmodcmd="$chmodprog 0755" -chowncmd="" -chgrpcmd="" -stripcmd="" -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src="" -dst="" -dir_arg="" - -while [ x"$1" != x ]; do - case $1 in - -c) instcmd="$cpprog" - shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - -s) stripcmd="$stripprog" - shift - continue;; - - -t=*) transformarg=`echo $1 | sed 's/-t=//'` - shift - continue;; - - -b=*) transformbasename=`echo $1 | sed 's/-b=//'` - shift - continue;; - - *) if [ x"$src" = x ] - then - src=$1 - else - # this colon is to work around a 386BSD /bin/sh bug - : - dst=$1 - fi - shift - continue;; - esac -done - -if [ x"$src" = x ] -then - echo "install: no input file specified" - exit 1 -else - true -fi - -if [ x"$dir_arg" != x ]; then - dst=$src - src="" - - if [ -d $dst ]; then - instcmd=: - else - instcmd=mkdir - fi -else - -# Waiting for this to be detected by the "$instcmd $src $dsttmp" command -# might cause directories to be created, which would be especially bad -# if $src (and thus $dsttmp) contains '*'. - - if [ -f $src -o -d $src ] - then - true - else - echo "install: $src does not exist" - exit 1 - fi - - if [ x"$dst" = x ] - then - echo "install: no destination specified" - exit 1 - else - true - fi - -# If destination is a directory, append the input filename; if your system -# does not like double slashes in filenames, you may need to add some logic - - if [ -d $dst ] - then - dst="$dst"/`basename $src` - else - true - fi -fi - -## this sed command emulates the dirname command -dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` - -# Make sure that the destination directory exists. -# this part is taken from Noah Friedman's mkinstalldirs script - -# Skip lots of stat calls in the usual case. -if [ ! -d "$dstdir" ]; then -defaultIFS=' -' -IFS="${IFS-${defaultIFS}}" - -oIFS="${IFS}" -# Some sh's can't handle IFS=/ for some reason. -IFS='%' -set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -IFS="${oIFS}" - -pathcomp='' - -while [ $# -ne 0 ] ; do - pathcomp="${pathcomp}${1}" - shift - - if [ ! -d "${pathcomp}" ] ; - then - $mkdirprog "${pathcomp}" - else - true - fi - - pathcomp="${pathcomp}/" -done -fi - -if [ x"$dir_arg" != x ] -then - $doit $instcmd $dst && - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi -else - -# If we're going to rename the final executable, determine the name now. - - if [ x"$transformarg" = x ] - then - dstfile=`basename $dst` - else - dstfile=`basename $dst $transformbasename | - sed $transformarg`$transformbasename - fi - -# don't allow the sed command to completely eliminate the filename - - if [ x"$dstfile" = x ] - then - dstfile=`basename $dst` - else - true - fi - -# Make a temp file name in the proper directory. - - dsttmp=$dstdir/#inst.$$# - -# Move or copy the file name to the temp name - - $doit $instcmd $src $dsttmp && - - trap "rm -f ${dsttmp}" 0 && - -# and set any options; do chmod last to preserve setuid bits - -# If any of these fail, we abort the whole thing. If we want to -# ignore errors from any of these, just make sure not to ignore -# errors from the above "$doit $instcmd $src $dsttmp" command. - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && - -# Now rename the file to the real destination. - - $doit $rmcmd -f $dstdir/$dstfile && - $doit $mvcmd $dsttmp $dstdir/$dstfile - -fi && - - -exit 0 diff --git a/contrib/file/is_tar.c b/contrib/file/is_tar.c deleted file mode 100644 index de7a169184..0000000000 --- a/contrib/file/is_tar.c +++ /dev/null @@ -1,97 +0,0 @@ -/* - * is_tar() -- figure out whether file is a tar archive. - * - * Stolen (by the author!) from the public domain tar program: - * Public Domain version written 26 Aug 1985 John Gilmore (ihnp4!hoptoad!gnu). - * - * @(#)list.c 1.18 9/23/86 Public Domain - gnu - * $Id: is_tar.c,v 1.17 2002/07/03 18:26:38 christos Exp $ - * - * Comments changed and some code/comments reformatted - * for file command by Ian Darwin. - */ - -#include "file.h" -#include -#include -#include -#include "tar.h" - -#ifndef lint -FILE_RCSID("@(#)$Id: is_tar.c,v 1.17 2002/07/03 18:26:38 christos Exp $") -#endif - -#define isodigit(c) ( ((c) >= '0') && ((c) <= '7') ) - -static int from_oct(int, char *); /* Decode octal number */ - -/* - * 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(unsigned char *buf, int nbytes) -{ - union record *header = (union record *)buf; - int i; - int sum, recsum; - 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(int digs, char *where) -{ - int value; - - while (isspace((unsigned char)*where)) { /* Skip spaces */ - where++; - if (--digs <= 0) - return -1; /* All blank field */ - } - value = 0; - while (digs > 0 && isodigit(*where)) { /* Scan til nonoctal */ - value = (value << 3) | (*where++ - '0'); - --digs; - } - - if (digs > 0 && *where && !isspace((unsigned char)*where)) - return -1; /* Ended on non-space/nul */ - - return value; -} diff --git a/contrib/file/magic.man b/contrib/file/magic.man deleted file mode 100644 index 0d957bc307..0000000000 --- a/contrib/file/magic.man +++ /dev/null @@ -1,238 +0,0 @@ -.TH MAGIC __FSECTION__ "Public Domain" -.\" install as magic.4 on USG, magic.5 on V7 or Berkeley systems. -.SH NAME -magic \- file command's magic number file -.SH DESCRIPTION -This manual page documents the format of the magic file as -used by the -.BR file (__CSECTION__) -command, version __VERSION__. -The -.BR file -command identifies the type of a file using, -among other tests, -a test for whether the file begins with a certain -.IR "magic number" . -The file -.I __MAGIC__ -specifies what magic numbers are to be tested for, -what message to print if a particular magic number is found, -and additional information to extract from the file. -.PP -Each line of the file specifies a test to be performed. -A test compares the data starting at a particular offset -in the file with a 1-byte, 2-byte, or 4-byte numeric value or -a string. -If the test succeeds, a message is printed. -The line consists of the following fields: -.IP offset \w'message'u+2n -A number specifying the offset, in bytes, into the file of the data -which is to be tested. -.IP type -The type of the data to be tested. -The possible values are: -.RS -.IP byte \w'message'u+2n -A one-byte value. -.IP short -A two-byte value (on most systems) in this machine's native byte order. -.IP long -A four-byte value (on most systems) in this machine's native byte order. -.IP string -A string of bytes. -The string type specification can be optionally followed by /[Bbc]*. -The ``B'' flag compacts whitespace in the target, which must -contain at least one whitespace character. -If the magic has "n" consecutive -blanks, the target needs at least "n" consecutive blanks to match. -The ``b'' flag treats every blank in the target as an optional blank. -Finally the ``c'' -flag, specifies case insensitive matching: lowercase characters in the magic -match both lower and upper case characters in the targer, whereas upper case -characters in the magic, only much uppercase characters in the target. -.IP date -A four-byte value interpreted as a UNIX date. -.IP ldate -A four-byte value interpreted as a UNIX-style date, but interpreted as -local time rather than UTC. -.IP beshort -A two-byte value (on most systems) in big-endian byte order. -.IP belong -A four-byte value (on most systems) in big-endian byte order. -.IP bedate -A four-byte value (on most systems) in big-endian byte order, -interpreted as a unix date. -.IP leshort -A two-byte value (on most systems) in little-endian byte order. -.IP lelong -A four-byte value (on most systems) in little-endian byte order. -.IP ledate -A four-byte value (on most systems) in little-endian byte order, -interpreted as a UNIX date. -.IP leldate -A four-byte value (on most systems) in little-endian byte order, -interpreted as a UNIX-style date, but interpreted as local time rather -than UTC. -.RE -.PP -The numeric types may optionally be followed by -.B \*[Am] -and a numeric value, -to specify that the value is to be AND'ed with the -numeric value before any comparisons are done. -Prepending a -.B u -to the type indicates that ordered comparisons should be unsigned. -.IP test -The value to be compared with the value from the file. -If the type is numeric, this value -is specified in C form; if it is a string, it is specified as a C string -with the usual escapes permitted (e.g. \en for new-line). -.IP -Numeric values -may be preceded by a character indicating the operation to be performed. -It may be -.BR = , -to specify that the value from the file must equal the specified value, -.BR \*[Lt] , -to specify that the value from the file must be less than the specified -value, -.BR \*[Gt] , -to specify that the value from the file must be greater than the specified -value, -.BR \*[Am] , -to specify that the value from the file must have set all of the bits -that are set in the specified value, -.BR ^ , -to specify that the value from the file must have clear any of the bits -that are set in the specified value, or -.BR x , -to specify that any value will match. -If the character is omitted, it is assumed to be -.BR = . -.IP -Numeric values are specified in C form; e.g. -.B 13 -is decimal, -.B 013 -is octal, and -.B 0x13 -is hexadecimal. -.IP -For string values, the byte string from the -file must match the specified byte string. -The operators -.BR = , -.B \*[Lt] -and -.B \*[Gt] -(but not -.BR \*[Am] ) -can be applied to strings. -The length used for matching is that of the string argument -in the magic file. -This means that a line can match any string, and -then presumably print that string, by doing -.B \*[Gt]\e0 -(because all strings are greater than the null string). -.IP message -The message to be printed if the comparison succeeds. -If the string contains a -.BR printf (3) -format specification, the value from the file (with any specified masking -performed) is printed using the message as the format string. -.PP -Some file formats contain additional information which is to be printed -along with the file type. -A line which begins with the character -.B \*[Gt] -indicates additional tests and messages to be printed. -The number of -.B \*[Gt] -on the line indicates the level of the test; a line with no -.B \*[Gt] -at the beginning is considered to be at level 0. -Each line at level -.IB n \(pl1 -is under the control of the line at level -.IB n -most closely preceding it in the magic file. -If the test on a line at level -.I n -succeeds, the tests specified in all the subsequent lines at level -.IB n \(pl1 -are performed, and the messages printed if the tests succeed. -The next line at level -.I n -terminates this. -If the first character following the last -.B \*[Gt] -is a -.B ( -then the string after the parenthesis is interpreted as an indirect offset. -That means that the number after the parenthesis is used as an offset in -the file. -The value at that offset is read, and is used again as an offset -in the file. -Indirect offsets are of the form: -.BI (( x [.[bslBSL]][+-][ y ]). -The value of -.I x -is used as an offset in the file. -A byte, short or long is read at that offset depending on the -.B [bslBSL] -type specifier. -The capitalized types interpret the number as a big endian -value, whereas the small letter versions interpret the number as a little -endian value. -To that number the value of -.I y -is added and the result is used as an offset in the file. -The default type if one is not specified is long. -.PP -Sometimes you do not know the exact offset as this depends on the length of -preceding fields. -You can specify an offset relative to the end of the -last uplevel field (of course this may only be done for sublevel tests, i.e. -test beginning with -.B \*[Gt] -). -Such a relative offset is specified using -.B \*[Am] -as a prefix to the offset. -.SH BUGS -The formats -.IR long , -.IR belong , -.IR lelong , -.IR short , -.IR beshort , -.IR leshort , -.IR date , -.IR bedate , -and -.I ledate -are system-dependent; perhaps they should be specified as a number -of bytes (2B, 4B, etc), -since the files being recognized typically come from -a system on which the lengths are invariant. -.PP -There is (currently) no support for specified-endian data to be used in -indirect offsets. -.SH SEE ALSO -.BR file (__CSECTION__) -\- the command that reads this file. -.\" -.\" From: guy@sun.uucp (Guy Harris) -.\" Newsgroups: net.bugs.usg -.\" Subject: /etc/magic's format isn't well documented -.\" Message-ID: \*[Lt]2752@sun.uucp\*[Gt] -.\" Date: 3 Sep 85 08:19:07 GMT -.\" Organization: Sun Microsystems, Inc. -.\" Lines: 136 -.\" -.\" Here's a manual page for the format accepted by the "file" made by adding -.\" the changes I posted to the S5R2 version. -.\" -.\" Modified for Ian Darwin's version of the file command. -.\" @(#)$Id: magic.man,v 1.21 2003/02/27 20:47:46 christos Exp $ diff --git a/contrib/file/magic.mime b/contrib/file/magic.mime deleted file mode 100644 index c9ae6ba8cd..0000000000 --- a/contrib/file/magic.mime +++ /dev/null @@ -1,551 +0,0 @@ -# Magic data for KMimeMagic (originally for file(1) command) -# -# The format is 4-5 columns: -# Column #1: byte number to begin checking from, ">" indicates continuation -# Column #2: type of data to match -# Column #3: contents of data to match -# Column #4: MIME type of result -# Column #5: MIME encoding of result (optional) - -#------------------------------------------------------------------------------ -# Localstuff: file(1) magic for locally observed files -# Add any locally observed files here. - -#------------------------------------------------------------------------------ -# end local stuff -#------------------------------------------------------------------------------ - -#------------------------------------------------------------------------------ -# Java - -0 short 0xcafe ->2 short 0xbabe application/java - -#------------------------------------------------------------------------------ -# audio: file(1) magic for sound formats -# -# from Jan Nicolai Langfeldt , -# - -# Sun/NeXT audio data -0 string .snd ->12 belong 1 audio/basic ->12 belong 2 audio/basic ->12 belong 3 audio/basic ->12 belong 4 audio/basic ->12 belong 5 audio/basic ->12 belong 6 audio/basic ->12 belong 7 audio/basic - ->12 belong 23 audio/x-adpcm - -# DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format -# that uses little-endian encoding and has a different magic number -# (0x0064732E in little-endian encoding). -0 lelong 0x0064732E ->12 lelong 1 audio/x-dec-basic ->12 lelong 2 audio/x-dec-basic ->12 lelong 3 audio/x-dec-basic ->12 lelong 4 audio/x-dec-basic ->12 lelong 5 audio/x-dec-basic ->12 lelong 6 audio/x-dec-basic ->12 lelong 7 audio/x-dec-basic -# compressed (G.721 ADPCM) ->12 lelong 23 audio/x-dec-adpcm - -# Bytes 0-3 of AIFF, AIFF-C, & 8SVX audio files are "FORM" -# AIFF audio data -8 string AIFF audio/x-aiff -# AIFF-C audio data -8 string AIFC audio/x-aiff -# IFF/8SVX audio data -8 string 8SVX audio/x-aiff - -# Creative Labs AUDIO stuff -# Standard MIDI data -0 string MThd audio/unknown -#>9 byte >0 (format %d) -#>11 byte >1 using %d channels -# Creative Music (CMF) data -0 string CTMF audio/unknown -# SoundBlaster instrument data -0 string SBI audio/unknown -# Creative Labs voice data -0 string Creative\ Voice\ File audio/unknown -## is this next line right? it came this way... -#>19 byte 0x1A -#>23 byte >0 - version %d -#>22 byte >0 \b.%d - -# [GRR 950115: is this also Creative Labs? Guessing that first line -# should be string instead of unknown-endian long...] -#0 long 0x4e54524b MultiTrack sound data -#0 string NTRK MultiTrack sound data -#>4 long x - version %ld - -# Microsoft WAVE format (*.wav) -# [GRR 950115: probably all of the shorts and longs should be leshort/lelong] -# Microsoft RIFF -0 string RIFF -# - WAVE format ->8 string WAVE audio/x-wav ->8 string AVI video/x-msvideo -# -0 belong 0x2e7261fd application/x-realaudio - -# MPEG Layer 3 sound files -0 beshort &0xffe0 audio/mpeg -#MP3 with ID3 tag -0 string ID3 audio/mpeg -# Ogg/Vorbis -0 string OggS audio/x-ogg - -#------------------------------------------------------------------------------ -# c-lang: file(1) magic for C programs or various scripts -# - -# XPM icons (Greg Roelofs, newt@uchicago.edu) -# ideally should go into "images", but entries below would tag XPM as C source -0 string /*\ XPM image/x-xpm 7bit - -# 3DS (3d Studio files) -16 beshort 0x3d3d image/x-3ds - -# this first will upset you if you're a PL/1 shop... (are there any left?) -# in which case rm it; ascmagic will catch real C programs -# C or REXX program text -#0 string /* text/x-c -# C++ program text -#0 string // text/x-c++ - -#------------------------------------------------------------------------------ -# commands: file(1) magic for various shells and interpreters -# -#0 string :\ shell archive or commands for antique kernel text -0 string #!/bin/sh application/x-shellscript -0 string #!\ /bin/sh application/x-shellscript -0 string #!/bin/csh application/x-shellscript -0 string #!\ /bin/csh application/x-shellscript -# korn shell magic, sent by George Wu, gwu@clyde.att.com -0 string #!/bin/ksh application/x-shellscript -0 string #!\ /bin/ksh application/x-shellscript -0 string #!/bin/tcsh application/x-shellscript -0 string #!\ /bin/tcsh application/x-shellscript -0 string #!/usr/local/tcsh application/x-shellscript -0 string #!\ /usr/local/tcsh application/x-shellscript -0 string #!/usr/local/bin/tcsh application/x-shellscript -0 string #!\ /usr/local/bin/tcsh application/x-shellscript -# bash shell magic, from Peter Tobias (tobias@server.et-inf.fho-emden.de) -0 string #!/bin/bash application/x-shellscript -0 string #!\ /bin/bash application/x-shellscript -0 string #!/usr/local/bin/bash application/x-shellscript -0 string #!\ /usr/local/bin/bash application/x-shellscript - -# -# zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson) -0 string #!/usr/local/bin/zsh application/x-shellscript -0 string #!\ /usr/local/bin/zsh application/x-shellscript -0 string #!/usr/local/bin/ash application/x-shellscript -0 string #!\ /usr/local/bin/ash application/x-shellscript -#0 string #!/usr/local/bin/ae Neil Brown's ae -#0 string #!\ /usr/local/bin/ae Neil Brown's ae -0 string #!/bin/nawk application/x-nawk -0 string #!\ /bin/nawk application/x-nawk -0 string #!/usr/bin/nawk application/x-nawk -0 string #!\ /usr/bin/nawk application/x-nawk -0 string #!/usr/local/bin/nawk application/x-nawk -0 string #!\ /usr/local/bin/nawk application/x-nawk -0 string #!/bin/gawk application/x-gawk -0 string #!\ /bin/gawk application/x-gawk -0 string #!/usr/bin/gawk application/x-gawk -0 string #!\ /usr/bin/gawk application/x-gawk -0 string #!/usr/local/bin/gawk application/x-gawk -0 string #!\ /usr/local/bin/gawk application/x-gawk -# -0 string #!/bin/awk application/x-awk -0 string #!\ /bin/awk application/x-awk -0 string #!/usr/bin/awk application/x-awk -0 string #!\ /usr/bin/awk application/x-awk -0 string BEGIN application/x-awk - -# For Larry Wall's perl language. The ``eval'' line recognizes an -# outrageously clever hack for USG systems. -# Keith Waclena -0 string #!/bin/perl application/x-perl -0 string #!\ /bin/perl application/x-perl -0 string eval\ "exec\ /bin/perl application/x-perl -0 string #!/usr/bin/perl application/x-perl -0 string #!\ /usr/bin/perl application/x-perl -0 string eval\ "exec\ /usr/bin/perl application/x-perl -0 string #!/usr/local/bin/perl application/x-perl -0 string #!\ /usr/local/bin/perl application/x-perl -0 string eval\ "exec\ /usr/local/bin/perl application/x-perl - -#------------------------------------------------------------------------------ -# compress: file(1) magic for pure-compression formats (no archives) -# -# compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, whap, etc. -# -# Formats for various forms of compressed data -# Formats for "compress" proper have been moved into "compress.c", -# because it tries to uncompress it to figure out what's inside. - -# standard unix compress -0 string \037\235 application/x-compress - -# gzip (GNU zip, not to be confused with [Info-ZIP/PKWARE] zip archiver) -0 string \037\213 application/x-gzip - -0 string PK\003\004 application/x-zip - -# According to gzip.h, this is the correct byte order for packed data. -0 string \037\036 application/octet-stream -# -# This magic number is byte-order-independent. -# -0 short 017437 application/octet-stream - -# XXX - why *two* entries for "compacted data", one of which is -# byte-order independent, and one of which is byte-order dependent? -# -# compacted data -0 short 0x1fff application/octet-stream -0 string \377\037 application/octet-stream -# huf output -0 short 0145405 application/octet-stream - -# Squeeze and Crunch... -# These numbers were gleaned from the Unix versions of the programs to -# handle these formats. Note that I can only uncrunch, not crunch, and -# I didn't have a crunched file handy, so the crunch number is untested. -# Keith Waclena -#0 leshort 0x76FF squeezed data (CP/M, DOS) -#0 leshort 0x76FE crunched data (CP/M, DOS) - -# Freeze -#0 string \037\237 Frozen file 2.1 -#0 string \037\236 Frozen file 1.0 (or gzip 0.5) - -# lzh? -#0 string \037\240 LZH compressed data - -257 string ustar\0 application/x-tar posix -257 string ustar\040\040\0 application/x-tar gnu - -0 short 070707 application/x-cpio -0 short 0143561 application/x-cpio swapped - -0 string = application/x-archive -0 string ! application/x-archive ->8 string debian application/x-debian-package - -#------------------------------------------------------------------------------ -# -# RPM: file(1) magic for Red Hat Packages Erik Troan (ewt@redhat.com) -# -0 beshort 0xedab ->2 beshort 0xeedb application/x-rpm - -0 lelong&0x8080ffff 0x0000081a application/x-arc lzw -0 lelong&0x8080ffff 0x0000091a application/x-arc squashed -0 lelong&0x8080ffff 0x0000021a application/x-arc uncompressed -0 lelong&0x8080ffff 0x0000031a application/x-arc packed -0 lelong&0x8080ffff 0x0000041a application/x-arc squeezed -0 lelong&0x8080ffff 0x0000061a application/x-arc crunched - -0 leshort 0xea60 application/octet-stream x-arj - -# LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu) -2 string -lh0- application/x-lharc lh0 -2 string -lh1- application/x-lharc lh1 -2 string -lz4- application/x-lharc lz4 -2 string -lz5- application/x-lharc lz5 -# [never seen any but the last; -lh4- reported in comp.compression:] -2 string -lzs- application/x-lha lzs -2 string -lh\ - application/x-lha lh -2 string -lhd- application/x-lha lhd -2 string -lh2- application/x-lha lh2 -2 string -lh3- application/x-lha lh3 -2 string -lh4- application/x-lha lh4 -2 string -lh5- application/x-lha lh5 -2 string -lh6- application/x-lha lh6 -2 string -lh7- application/x-lha lh7 -# Shell archives -10 string #\ This\ is\ a\ shell\ archive application/octet-stream x-shell - -#------------------------------------------------------------------------------ -# frame: file(1) magic for FrameMaker files -# -# This stuff came on a FrameMaker demo tape, most of which is -# copyright, but this file is "published" as witness the following: -# -0 string \ -# -0 string \14 byte 12 (OS/2 1.x format) -#>14 byte 64 (OS/2 2.x format) -#>14 byte 40 (Windows 3.x format) -#0 string IC icon -#0 string PI pointer -#0 string CI color icon -#0 string CP color pointer -#0 string BA bitmap array - - -#------------------------------------------------------------------------------ -# lisp: file(1) magic for lisp programs -# -# various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com) -0 string ;; text/plain 8bit -# Emacs 18 - this is always correct, but not very magical. -0 string \012( application/x-elc -# Emacs 19 -0 string ;ELC\023\000\000\000 application/x-elc - -#------------------------------------------------------------------------------ -# mail.news: file(1) magic for mail and news -# -# There are tests to ascmagic.c to cope with mail and news. -0 string Relay-Version: message/rfc822 7bit -0 string #!\ rnews message/rfc822 7bit -0 string N#!\ rnews message/rfc822 7bit -0 string Forward\ to message/rfc822 7bit -0 string Pipe\ to message/rfc822 7bit -0 string Return-Path: message/rfc822 7bit -0 string Path: message/news 8bit -0 string Xref: message/news 8bit -0 string From: message/rfc822 7bit -0 string Article message/news 8bit -#------------------------------------------------------------------------------ -# msword: file(1) magic for MS Word files -# -# Contributor claims: -# Reversed-engineered MS Word magic numbers -# - -0 string \376\067\0\043 application/msword -0 string \320\317\021\340\241\261 application/msword -0 string \333\245-\0\0\0 application/msword - - - -#------------------------------------------------------------------------------ -# printer: file(1) magic for printer-formatted files -# - -# PostScript -0 string %! application/postscript -0 string \004%! application/postscript - -# Acrobat -# (due to clamen@cs.cmu.edu) -0 string %PDF- application/pdf - -#------------------------------------------------------------------------------ -# sc: file(1) magic for "sc" spreadsheet -# -38 string Spreadsheet application/x-sc - -#------------------------------------------------------------------------------ -# tex: file(1) magic for TeX files -# -# XXX - needs byte-endian stuff (big-endian and little-endian DVI?) -# -# From - -# Although we may know the offset of certain text fields in TeX DVI -# and font files, we can't use them reliably because they are not -# zero terminated. [but we do anyway, christos] -0 string \367\002 application/x-dvi -#0 string \367\203 TeX generic font data -#0 string \367\131 TeX packed font data -#0 string \367\312 TeX virtual font data -#0 string This\ is\ TeX, TeX transcript text -#0 string This\ is\ METAFONT, METAFONT transcript text - -# There is no way to detect TeX Font Metric (*.tfm) files without -# breaking them apart and reading the data. The following patterns -# match most *.tfm files generated by METAFONT or afm2tfm. -2 string \000\021 application/x-tex-tfm -2 string \000\022 application/x-tex-tfm -#>34 string >\0 (%s) - -# Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com) -#0 string \\input\ texinfo Texinfo source text -#0 string This\ is\ Info\ file GNU Info text - -# correct TeX magic for Linux (and maybe more) -# from Peter Tobias (tobias@server.et-inf.fho-emden.de) -# -0 leshort 0x02f7 application/x-dvi - -# RTF - Rich Text Format -0 string {\\rtf text/rtf - -#------------------------------------------------------------------------------ -# animation: file(1) magic for animation/movie formats -# -# animation formats, originally from vax@ccwf.cc.utexas.edu (VaX#n8) -# MPEG file -0 belong 0x000001b3 video/mpeg -0 belong 0x000001ba video/mpeg -# FLI animation format -0 leshort 0xAF11 video/fli -# FLC animation format -0 leshort 0xAF12 video/flc -# AVI ->8 string AVI\ video/avi -# -# SGI and Apple formats -# -0 string MOVI video/sgi -4 string moov video/quicktime moov -4 string mdat video/quicktime mdat -# The contributor claims: -# I couldn't find a real magic number for these, however, this -# -appears- to work. Note that it might catch other files, too, -# so BE CAREFUL! -# -# Note that title and author appear in the two 20-byte chunks -# at decimal offsets 2 and 22, respectively, but they are XOR'ed with -# 255 (hex FF)! DL format SUCKS BIG ROCKS. -# -# DL file version 1 , medium format (160x100, 4 images/screen) -0 byte 1 video/unknown -0 byte 2 video/unknown -# -# Databases -# -# GDBM magic numbers -# Will be maintained as part of the GDBM distribution in the future. -# -0 belong 0x13579ace application/x-gdbm -0 lelong 0x13579ace application/x-gdbm -0 string GDBM application/x-gdbm -# -0 belong 0x061561 application/x-dbm -# -# Executables -# -0 string \177ELF ->4 byte 0 ->4 byte 1 ->4 byte 2 ->5 byte 0 ->5 byte 1 ->>16 leshort 0 ->>16 leshort 1 application/x-object ->>16 leshort 2 application/x-executable ->>16 leshort 3 application/x-sharedlib ->>16 leshort 4 application/x-coredump -# -# DOS -0 string MZ application/x-dosexec -# -# KDE -0 string [KDE\ Desktop\ Entry] application/x-kdelnk -0 string \#\ KDE\ Config\ File application/x-kdelnk -# xmcd database file for kscd -0 string \#\ xmcd text/xmcd - -#------------------------------------------------------------------------------ -# pkgadd: file(1) magic for SysV R4 PKG Datastreams -# -0 string #\ PaCkAgE\ DaTaStReAm application/x-svr4-package - -#PNG Image Format -0 string \x89PNG image/png - -# MNG Video Format, -0 string \x8aMNG video/x-mng - -#------------------------------------------------------------------------------ -# Hierarchical Data Format, used to facilitate scientific data exchange -# specifications at http://hdf.ncsa.uiuc.edu/ -0 belong 0x0e031301 Hierarchical Data Format (version 4) data -0 string \211HDF\r\n\032 Hierarchical Data Format (version 5) data diff --git a/contrib/file/magic2mime b/contrib/file/magic2mime deleted file mode 100755 index 9c6b4ecd63..0000000000 --- a/contrib/file/magic2mime +++ /dev/null @@ -1,68 +0,0 @@ -#! /usr/local/bin/perl -# -*- PERL -*- -# $Id: magic2mime,v 1.1 1998/02/15 23:18:53 christos Exp $ -# Copyright (c) 1996, 1997 vax@linkdead.paranoia.com (VaX#n8) -# -# Usage: echo 'your-file-output-here' | file_to_ctype.pl -# file -b files... | file_to_ctype.pl -# It acts like a filter, reading from STDIN and any files on the command -# line, printing to STDOUT. - -## refs -# http://www.faqs.org/faqs/mail/mime-faq/part1/index.html -# comp.mail.mime FAQ -# ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/media-types -# assigned content-types -# ftp://ftp.uu.net/inet/rfc/rfc-index -# RFC index; search for MIME - -@mapping = -( - # defaults - 'data', 'application/octet-stream', - 'text', 'text/plain', - # more specific - '^Rich Text Format data', 'text/richtext', - '^HTML document text', 'text/html', - '^exported SGML document text', 'text/sgml', - 'mail text', 'message/rfc822', - 'news text', 'message/news', - '^PostScript document text', 'application/postscript', - '^BinHex binary text', 'application/mac-binhex40', - '^Zip archive data', 'application/zip', - '^Microsoft Word', 'application/msword', - '^PGP key', 'application/pgp-keys', - '^PGP encrypted', 'application/pgp-encrypted', - '^PGP armored data signature', 'application/pgp-signature', - '^JPEG image', 'image/jpeg', - '^GIF image', 'image/gif', - '^PNG image', 'image/png', - '^TIFF image', 'image/tiff', - 'Computer Graphics Metafile', 'image/cgf', - '^Sun/NeXT audio data', 'audio/basic', - '^MPEG', 'video/mpeg', - '^Apple QuickTime movie', 'video/quicktime', - # made up by me - '^bitmap', 'image/x-bitmap', - '^PC bitmap data, Windows 3.x format', 'image/x-msw3bmp', - '^FLI', 'video/x-fli', - '^FLC', 'video/x-flc', - 'AVI data', 'video/x-avi', - 'WAVE', 'audio/x-wav', - 'VOC', 'audio/x-voc', -); - -local($mimetype,$index,$regexp); -while (<>) - { - chop; - $index = $#mapping - 1; - while ($index > -1 && !defined($mimetype)) - { - $mimetype = $mapping[$index + 1] if (/$mapping[$index]/); - $index -= 2; - } - print "$mimetype\n"; - undef $mimetype; # hack - } -0; diff --git a/contrib/file/missing b/contrib/file/missing deleted file mode 100755 index e69de29bb2..0000000000 diff --git a/contrib/file/mkinstalldirs b/contrib/file/mkinstalldirs deleted file mode 100644 index 922a27e809..0000000000 --- a/contrib/file/mkinstalldirs +++ /dev/null @@ -1,39 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman -# Created: 1993-05-16 -# Public domain - -# $Id: mkinstalldirs,v 1.2 2000/11/13 00:30:49 christos Exp $ - -errstatus=0 - -for file -do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift - - pathcomp= - for d - do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - fi - fi - - pathcomp="$pathcomp/" - done -done - -exit $errstatus - diff --git a/contrib/file/names.h b/contrib/file/names.h deleted file mode 100644 index ea4e85cc24..0000000000 --- a/contrib/file/names.h +++ /dev/null @@ -1,159 +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 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 - * - * $Id: names.h,v 1.19 2002/05/16 15:01:41 christos Exp $ - */ - -/* - modified by Chris Lowth - 9 April 2000 - to add mime type strings to the types table. -*/ - -/* these types are used to index the table 'types': keep em in sync! */ -#define L_C 0 /* first and foremost on UNIX */ -#define L_CC 1 /* Bjarne's postincrement */ -#define L_FORT 2 /* the oldest one */ -#define L_MAKE 3 /* Makefiles */ -#define L_PLI 4 /* PL/1 */ -#define L_MACH 5 /* some kinda assembler */ -#define L_ENG 6 /* English */ -#define L_PAS 7 /* Pascal */ -#define L_MAIL 8 /* Electronic mail */ -#define L_NEWS 9 /* Usenet Netnews */ -#define L_JAVA 10 /* Java code */ -#define L_HTML 11 /* HTML */ -#define L_BCPL 12 /* BCPL */ -#define L_M4 13 /* M4 */ - -static const struct { - char *human; - char *mime; -} types[] = { - { "C program", "text/x-c", }, - { "C++ program", "text/x-c++" }, - { "FORTRAN program", "text/x-fortran" }, - { "make commands", "text/x-makefile" }, - { "PL/1 program", "text/x-pl1" }, - { "assembler program", "text/x-asm" }, - { "English", "text/plain, English" }, - { "Pascal program", "text/x-pascal" }, - { "mail", "text/x-mail" }, - { "news", "text/x-news" }, - { "Java program", "text/x-java" }, - { "HTML document", "text/html", }, - { "BCPL program", "text/x-bcpl" }, - { "M4 macro language pre-processor", "text/x-m4" }, - { "can't happen error on names.h/types", "error/x-error" }, - { 0, 0} -}; - -/* - * XXX - how should we distinguish Java from C++? - * The trick used in a Debian snapshot, of having "extends" or "implements" - * as tags for Java, doesn't work very well, given that those keywords - * are often preceded by "class", which flags it as C++. - * - * Perhaps we need to be able to say - * - * If "class" then - * - * if "extends" or "implements" then - * Java - * else - * C++ - * endif - * - * Or should we use other keywords, such as "package" or "import"? - * Unfortunately, Ada95 uses "package", and Modula-3 uses "import", - * although I infer from the language spec at - * - * http://www.research.digital.com/SRC/m3defn/html/m3.html - * - * that Modula-3 uses "IMPORT" rather than "import", i.e. it must be - * in all caps. - * - * So, for now, we go with "import". We must put it before the C++ - * stuff, so that we don't misidentify Java as C++. Not using "package" - * means we won't identify stuff that defines a package but imports - * nothing; hopefully, very little Java code imports nothing (one of the - * reasons for doing OO programming is to import as much as possible - * and write only what you need to, right?). - * - * Unfortunately, "import" may cause us to misidentify English text - * as Java, as it comes after "the" and "The". Perhaps we need a fancier - * heuristic to identify Java? - */ -static struct names { - const char *name; - short type; -} names[] = { - /* These must be sorted by eye for optimal hit rate */ - /* Add to this list only after substantial meditation */ - {"dnl", L_M4}, - {"import", L_JAVA}, - {"\"libhdr\"", L_BCPL}, - {"\"LIBHDR\"", L_BCPL}, - {"//", L_CC}, - {"template", L_CC}, - {"virtual", L_CC}, - {"class", L_CC}, - {"public:", L_CC}, - {"private:", L_CC}, - {"/*", L_C}, /* must precede "The", "the", etc. */ - {"#include", L_C}, - {"char", L_C}, - {"The", L_ENG}, - {"the", L_ENG}, - {"double", L_C}, - {"extern", L_C}, - {"float", L_C}, - {"struct", L_C}, - {"union", L_C}, - {"CFLAGS", L_MAKE}, - {"LDFLAGS", L_MAKE}, - {"all:", L_MAKE}, - {".PRECIOUS", L_MAKE}, -/* Too many files of text have these words in them. Find another way - * to recognize Fortrash. - */ -#ifdef NOTDEF - {"subroutine", L_FORT}, - {"function", L_FORT}, - {"block", L_FORT}, - {"common", L_FORT}, - {"dimension", L_FORT}, - {"integer", L_FORT}, - {"data", L_FORT}, -#endif /*NOTDEF*/ - {".ascii", L_MACH}, - {".asciiz", L_MACH}, - {".byte", L_MACH}, - {".even", L_MACH}, - {".globl", L_MACH}, - {".text", L_MACH}, - {"clr", L_MACH}, - {"(input,", L_PAS}, - {"dcl", L_PLI}, - {"Received:", L_MAIL}, - {">From", L_MAIL}, - {"Return-Path:",L_MAIL}, - {"Cc:", L_MAIL}, - {"Newsgroups:", L_NEWS}, - {"Path:", L_NEWS}, - {"Organization:",L_NEWS}, - {"href=", L_HTML}, - {"HREF=", L_HTML}, - {") - * - eliminate unsigned char warnings (Petter Reinholdtsen ) - * - better elf PT_NOTE handling (Nalin Dahyabhai ) - * - add options to format the output differently - * - much more magic. - * - * Revision 1.39 2002/07/03 18:57:52 christos - * - ansify/c99ize - * - more magic - * - better COMPILE_ONLY support. - * - new magic files. - * - fix solaris compilation problems. - * - * Revision 1.38 2002/05/16 18:45:56 christos - * - pt_note elf additions from NetBSD - * - EMX os specific changes (Alexander Mai) - * - stdint.h detection, acconfig.h fixes (Maciej W. Rozycki, Franz Korntner) - * - regex file additions (Kim Cromie) - * - getopt_long support and misc cleanups (Michael Piefel) - * - many magic fixes and additions - * - * Revision 1.37 2001/09/03 14:44:22 christos - * daylight/tm_isdst detection - * magic fixes - * don't eat the whole file if it has only nulls - * - * Revision 1.36 2001/07/22 21:04:15 christos - * - magic fixes - * - add new operators, pascal strings, UTC date printing, $HOME/.magic - * [from "Tom N Harris" ] - * - * Revision 1.35 2001/04/24 14:40:25 christos - * - rename magic file sgi to mips and fix it - * - add support for building magic.mgc - * - portability fixes for mmap() - * - try gzip before uncompress, because uncompress sometimes hangs - * - be more conservative about pipe reads and writes - * - many magic fixes - * - * Revision 1.34 2001/03/12 05:05:57 christos - * - new compiled magic format - * - lots of magic additions - * - * Revision 1.33 2000/11/13 00:30:50 christos - * - wordperfect magic fix: freebsd pr 9388 - * - more msdos fixes from freebsd pr's 20131 and 20812 - * - sas and spss magic [Bruce Foster] - * - mkinstalldirs [John Fremlin] - * - sgi opengl fixes [Michael Pruett] - * - netbsd magic fixes [Ignatios Souvatzis] - * - audio additions [Michael Pruett] - * - fix problem with non ansi RCSID [Andreas Ley] - * - oggs magic [Felix von Leitner] - * - gmon magic [Eugen Dedu] - * - TNEF magic [Joomy] - * - netpbm magic and misc other image stuff [Bryan Henderson] - * - * Revision 1.32 2000/08/05 18:24:18 christos - * Correct indianness detection in elf (Charles Hannum) - * FreeBSD elf core support (Guy Harris) - * Use gzip in systems that don't have uncompress (Anthon van der Neut) - * Internationalization/EBCDIC support (Eric Fisher) - * Many many magic changes - * - * Revision 1.31 2000/05/14 17:58:36 christos - * - new magic for claris files - * - new magic for mathematica and maple files - * - new magic for msvc files - * - new -k flag to keep going matching all possible entries - * - add the word executable on #! magic files, and fix the usage of - * the word script - * - lots of other magic fixes - * - fix typo test -> text - * - * Revision 1.30 2000/04/11 02:41:17 christos - * - add support for mime output (-i) - * - make sure we free memory in case realloc fails - * - magic fixes - * - * Revision 1.29 1999/11/28 20:02:29 christos - * new string/[Bcb] magic from anthon, and adjustments to the magic files to - * use it. - * - * Revision 1.28 1999/10/31 22:11:48 christos - * - add "char" type for compatibility with HP/UX - * - recognize HP/UX syntax &=n etc. - * - include errno.h for CYGWIN - * - conditionalize the S_IS* macros - * - revert the SHT_DYNSYM test that broke the linux stripped binaries test - * - lots of Magdir changes - * - * Revision 1.27 1999/02/14 17:21:41 christos - * Automake support and misc cleanups from Rainer Orth - * Enable reading character and block special files from Dale R. Worley - * - * Revision 1.26 1998/09/12 13:19:39 christos - * - add support for bi-endian indirect offsets (Richard Verhoeven) - * - add recognition for bcpl (Joseph Myers) - * - remove non magic files from Magdir to avoid difficulties building - * on os2 where files are case independent - * - magic fixes. - * - * Revision 1.25 1998/06/27 14:04:04 christos - * OLF patch Guy Harris - * Recognize java/html (debian linux) - * Const poisoning (debian linux) - * More magic! - * - * Revision 1.24 1998/02/15 23:20:38 christos - * Autoconf patch: Felix von Leitner - * More magic fixes - * Elf64 fixes - * - * Revision 1.23 1997/11/05 16:03:37 christos - * - correct elf prps offset for SunOS-2.5.1 [guy@netapp.com] - * - handle 64 bit time_t's correctly [ewt@redhat.com] - * - new mime style magic [clarosse@netvista.net] - * - new TI calculator magic [rmcguire@freenet.columbus.oh.us] - * - new figlet fonts [obrien@freebsd.org] - * - new cisco magic, and elf fixes [jhawk@bbnplanet.com] - * - -b flag addition, and x86 filesystem magic [vax@linkhead.paranoia.com] - * - s/Mpeg/MPEG, header and elf typo fixes [guy@netapp.com] - * - Windows/NT registry files, audio code [guy@netapp.com] - * - libGrx graphics lib fonts [guy@netapp.com] - * - PNG fixes [guy@netapp.com] - * - more m$ document magic [guy@netapp.com] - * - PPD files [guy@netapp.com] - * - archive magic cleanup [guy@netapp.com] - * - linux kernel magic cleanup [guy@netapp.com] - * - lecter magic [guy@netapp.com] - * - vgetty magic [guy@netapp.com] - * - sniffer additions [guy@netapp.com] - * - * Revision 1.22 1997/01/15 17:23:24 christos - * - add support for elf core files: find the program name under SVR4 [Ken Pizzini] - * - print strings only up to the first carriage return [various] - * - freebsd international ascii support [J Wunsch] - * - magic fixes and additions [Guy Harris] - * - 64 bit fixes [Larry Schwimmer] - * - support for both utime and utimes, but don't restore file access times - * by default [various] - * - \xXX only takes 2 hex digits, not 3. - * - re-implement support for core files [Guy Harris] - * - * Revision 1.21 1996/10/05 18:15:29 christos - * Segregate elf stuff and conditionally enable it with -DBUILTIN_ELF - * More magic fixes - * - * Revision 1.20 1996/06/22 22:15:52 christos - * - support relative offsets of the form >& - * - fix bug with truncating magic strings that contain \n - * - file -f - did not read from stdin as documented - * - support elf file parsing using our own elf support. - * - as always magdir fixes and additions. - * - * Revision 1.19 1995/10/27 23:14:46 christos - * Ability to parse colon separated list of magic files - * New LEGAL.NOTICE - * Various magic file changes - * - * Revision 1.18 1995/05/20 22:09:21 christos - * Passed incorrect argument to eatsize(). - * Use %ld and %lx where appropriate. - * Remove unused variables - * ELF support for both big and little endian - * Fixes for small files again. - * - * Revision 1.17 1995/04/28 17:29:13 christos - * - Incorrect nroff detection fix from der Mouse - * - Lost and incorrect magic entries. - * - Added ELF stripped binary detection [in C; ugh] - * - Look for $MAGIC to find the magic file. - * - Eat trailing size specifications from numbers i.e. ignore 10L - * - More fixes for very short files - * - * Revision 1.16 1995/03/25 22:06:45 christos - * - use strtoul() where it exists. - * - fix sign-extend bug - * - try to detect tar archives before nroff files, otherwise - * tar files where the first file starts with a . will not work - * - * Revision 1.15 1995/01/21 21:03:35 christos - * Added CSECTION for the file man page - * Added version flag -v - * Fixed bug with -f input flag (from iorio@violet.berkeley.edu) - * Lots of magic fixes and reorganization... - * - * Revision 1.14 1994/05/03 17:58:23 christos - * changes from mycroft@gnu.ai.mit.edu (Charles Hannum) for unsigned - * - * Revision 1.13 1994/01/21 01:27:01 christos - * Fixed null termination bug from Don Seeley at BSDI in ascmagic.c - * - * Revision 1.12 1993/10/27 20:59:05 christos - * Changed -z flag to understand gzip format too. - * Moved builtin compression detection to a table, and move - * the compress magic entry out of the source. - * Made printing of numbers unsigned, and added the mask to it. - * Changed the buffer size to 8k, because gzip will refuse to - * unzip just a few bytes. - * - * Revision 1.11 1993/09/24 18:49:06 christos - * Fixed small bug in softmagic.c introduced by - * copying the data to be examined out of the input - * buffer. Changed the Makefile to use sed to create - * the correct man pages. - * - * Revision 1.10 1993/09/23 21:56:23 christos - * Passed purify. Fixed indirections. Fixed byte order printing. - * Fixed segmentation faults caused by referencing past the end - * of the magic buffer. Fixed bus errors caused by referencing - * unaligned shorts or longs. - * - * Revision 1.9 1993/03/24 14:23:40 ian - * Batch of minor changes from several contributors. - * - * Revision 1.8 93/02/19 15:01:26 ian - * Numerous changes from Guy Harris too numerous to mention but including - * byte-order independance, fixing "old-style masking", etc. etc. A bugfix - * for broken symlinks from martin@@d255s004.zfe.siemens.de. - * - * Revision 1.7 93/01/05 14:57:27 ian - * Couple of nits picked by Christos (again, thanks). - * - * Revision 1.6 93/01/05 13:51:09 ian - * Lotsa work on the Magic directory. - * - * Revision 1.5 92/09/14 14:54:51 ian - * Fix a tiny null-pointer bug in previous fix for tar archive + uncompress. - * - */ diff --git a/contrib/file/print.c b/contrib/file/print.c deleted file mode 100644 index 0b1a0e4c1b..0000000000 --- a/contrib/file/print.c +++ /dev/null @@ -1,226 +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. - */ - -#include "file.h" -#include -#include -#include -#ifdef HAVE_UNISTD_H -#include -#endif -#include - -#ifndef lint -FILE_RCSID("@(#)$Id: print.c,v 1.39 2002/07/09 15:46:23 christos Exp $") -#endif /* lint */ - -#define SZOF(a) (sizeof(a) / sizeof(a[0])) - -#ifndef COMPILE_ONLY -void -mdump(struct magic *m) -{ - static const char *typ[] = { "invalid", "byte", "short", "invalid", - "long", "string", "date", "beshort", - "belong", "bedate", "leshort", "lelong", - "ledate", "pstring", "ldate", "beldate", - "leldate", "regex" }; - static const char optyp[] = { '@', '&', '|', '^', '+', '-', - '*', '/', '%' }; - (void) fputc('[', stderr); - (void) fprintf(stderr, ">>>>>>>> %d" + 8 - (m->cont_level & 7), - m->offset); - - if (m->flag & INDIR) { - (void) fprintf(stderr, "(%s,", - /* Note: type is unsigned */ - (m->in_type < SZOF(typ)) ? - typ[m->in_type] : "*bad*"); - if (m->in_op & OPINVERSE) - (void) fputc('~', stderr); - (void) fprintf(stderr, "%c%d),", - ((m->in_op&0x7F) < SZOF(optyp)) ? - optyp[m->in_op&0x7F] : '?', - m->in_offset); - } - (void) fprintf(stderr, " %s%s", (m->flag & UNSIGNED) ? "u" : "", - /* Note: type is unsigned */ - (m->type < SZOF(typ)) ? typ[m->type] : "*bad*"); - if (m->mask_op & OPINVERSE) - (void) fputc('~', stderr); - if (m->mask) { - ((m->mask_op&0x7F) < SZOF(optyp)) ? - (void) fputc(optyp[m->mask_op&0x7F], stderr) : - (void) fputc('?', stderr); - if(STRING != m->type || PSTRING != m->type) - (void) fprintf(stderr, "%.8x", m->mask); - else { - if (m->mask & STRING_IGNORE_LOWERCASE) - (void) fputc(CHAR_IGNORE_LOWERCASE, stderr); - if (m->mask & STRING_COMPACT_BLANK) - (void) fputc(CHAR_COMPACT_BLANK, stderr); - if (m->mask & STRING_COMPACT_OPTIONAL_BLANK) - (void) fputc(CHAR_COMPACT_OPTIONAL_BLANK, - stderr); - } - } - - (void) fprintf(stderr, ",%c", m->reln); - - if (m->reln != 'x') { - switch (m->type) { - case BYTE: - case SHORT: - case LONG: - case LESHORT: - case LELONG: - case BESHORT: - case BELONG: - (void) fprintf(stderr, "%d", m->value.l); - break; - case STRING: - case PSTRING: - case REGEX: - showstr(stderr, m->value.s, -1); - break; - case DATE: - case LEDATE: - case BEDATE: - (void)fprintf(stderr, "%s,", fmttime(m->value.l, 1)); - break; - case LDATE: - case LELDATE: - case BELDATE: - (void)fprintf(stderr, "%s,", fmttime(m->value.l, 0)); - break; - default: - (void) fputs("*bad*", stderr); - break; - } - } - (void) fprintf(stderr, ",\"%s\"]\n", m->desc); -} -#endif - -/* - * ckfputs - fputs, but with error checking - * ckfprintf - fprintf, but with error checking - */ -void -ckfputs(const char *str, FILE *fil) -{ - if (fputs(str,fil) == EOF) - error("write failed.\n"); -} - -/*VARARGS*/ -void -ckfprintf(FILE *f, const char *fmt, ...) -{ - va_list va; - - va_start(va, fmt); - (void) vfprintf(f, fmt, va); - if (ferror(f)) - error("write failed.\n"); - va_end(va); -} - -/* - * error - print best error message possible and exit - */ -/*VARARGS*/ -void -error(const char *f, ...) -{ - va_list va; - - va_start(va, f); - /* cuz we use stdout for most, stderr here */ - (void) fflush(stdout); - - if (progname != NULL) - (void) fprintf(stderr, "%s: ", progname); - (void) vfprintf(stderr, f, va); - va_end(va); - exit(1); -} - -/*VARARGS*/ -void -magwarn(const char *f, ...) -{ - va_list va; - - va_start(va, f); - /* cuz we use stdout for most, stderr here */ - (void) fflush(stdout); - - if (progname != NULL) - (void) fprintf(stderr, "%s: %s, %d: ", - progname, magicfile, lineno); - (void) vfprintf(stderr, f, va); - va_end(va); - fputc('\n', stderr); -} - - -#ifndef COMPILE_ONLY -char * -fmttime(long v, int local) -{ - char *pp, *rt; - time_t t = (time_t)v; - struct tm *tm; - - if (local) { - pp = ctime(&t); - } else { -#ifndef HAVE_DAYLIGHT - static int daylight = 0; -#ifdef HAVE_TM_ISDST - static time_t now = (time_t)0; - - if (now == (time_t)0) { - struct tm *tm1; - (void)time(&now); - tm1 = localtime(&now); - daylight = tm1->tm_isdst; - } -#endif /* HAVE_TM_ISDST */ -#endif /* HAVE_DAYLIGHT */ - if (daylight) - t += 3600; - tm = gmtime(&t); - pp = asctime(tm); - } - - if ((rt = strchr(pp, '\n')) != NULL) - *rt = '\0'; - return pp; -} -#endif diff --git a/contrib/file/readelf.c b/contrib/file/readelf.c deleted file mode 100644 index 2259558b71..0000000000 --- a/contrib/file/readelf.c +++ /dev/null @@ -1,674 +0,0 @@ -#include "file.h" - -#ifdef BUILTIN_ELF -#include -#include -#include -#ifdef HAVE_UNISTD_H -#include -#endif - -#include "readelf.h" - -#ifndef lint -FILE_RCSID("@(#)$Id: readelf.c,v 1.26 2003/02/25 15:30:00 christos Exp $") -#endif - -#ifdef ELFCORE -static void dophn_core(int, int, int, off_t, int, size_t); -#endif -static void dophn_exec(int, int, int, off_t, int, size_t); -static void doshn(int, int, int, off_t, int, size_t); - -static uint16_t getu16(int, uint16_t); -static uint32_t getu32(int, uint32_t); -static uint64_t getu64(int, uint64_t); - -static uint16_t -getu16(int swap, uint16_t value) -{ - union { - uint16_t ui; - char c[2]; - } retval, tmpval; - - if (swap) { - tmpval.ui = value; - - retval.c[0] = tmpval.c[1]; - retval.c[1] = tmpval.c[0]; - - return retval.ui; - } else - return value; -} - -static uint32_t -getu32(int swap, uint32_t value) -{ - union { - uint32_t ui; - char c[4]; - } retval, tmpval; - - if (swap) { - tmpval.ui = value; - - retval.c[0] = tmpval.c[3]; - retval.c[1] = tmpval.c[2]; - retval.c[2] = tmpval.c[1]; - retval.c[3] = tmpval.c[0]; - - return retval.ui; - } else - return value; -} - -static uint64_t -getu64(int swap, uint64_t value) -{ - union { - uint64_t ui; - char c[8]; - } retval, tmpval; - - if (swap) { - tmpval.ui = value; - - retval.c[0] = tmpval.c[7]; - retval.c[1] = tmpval.c[6]; - retval.c[2] = tmpval.c[5]; - retval.c[3] = tmpval.c[4]; - retval.c[4] = tmpval.c[3]; - retval.c[5] = tmpval.c[2]; - retval.c[6] = tmpval.c[1]; - retval.c[7] = tmpval.c[0]; - - return retval.ui; - } else - return value; -} - -#define sh_addr (class == ELFCLASS32 \ - ? (void *) &sh32 \ - : (void *) &sh64) -#define sh_size (class == ELFCLASS32 \ - ? sizeof sh32 \ - : sizeof sh64) -#define shs_type (class == ELFCLASS32 \ - ? getu32(swap, sh32.sh_type) \ - : getu32(swap, sh64.sh_type)) -#define ph_addr (class == ELFCLASS32 \ - ? (void *) &ph32 \ - : (void *) &ph64) -#define ph_size (class == ELFCLASS32 \ - ? sizeof ph32 \ - : sizeof ph64) -#define ph_type (class == ELFCLASS32 \ - ? getu32(swap, ph32.p_type) \ - : getu32(swap, ph64.p_type)) -#define ph_offset (class == ELFCLASS32 \ - ? getu32(swap, ph32.p_offset) \ - : getu64(swap, ph64.p_offset)) -#define ph_align (class == ELFCLASS32 \ - ? (ph32.p_align ? getu32(swap, ph32.p_align) : 4) \ - : (ph64.p_align ? getu64(swap, ph64.p_align) : 4)) -#define nh_size (class == ELFCLASS32 \ - ? sizeof *nh32 \ - : sizeof *nh64) -#define nh_type (class == ELFCLASS32 \ - ? getu32(swap, nh32->n_type) \ - : getu32(swap, nh64->n_type)) -#define nh_namesz (class == ELFCLASS32 \ - ? getu32(swap, nh32->n_namesz) \ - : getu32(swap, nh64->n_namesz)) -#define nh_descsz (class == ELFCLASS32 \ - ? getu32(swap, nh32->n_descsz) \ - : getu32(swap, nh64->n_descsz)) -#define prpsoffsets(i) (class == ELFCLASS32 \ - ? prpsoffsets32[i] \ - : prpsoffsets64[i]) - -static void -doshn(int class, int swap, int fd, off_t off, int num, size_t size) -{ - Elf32_Shdr sh32; - Elf64_Shdr sh64; - - if (size != sh_size) - error("corrupted section header size.\n"); - - if (lseek(fd, off, SEEK_SET) == -1) - error("lseek failed (%s).\n", strerror(errno)); - - for ( ; num; num--) { - if (read(fd, sh_addr, sh_size) == -1) - error("read failed (%s).\n", strerror(errno)); - if (shs_type == SHT_SYMTAB /* || shs_type == SHT_DYNSYM */) { - (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(int class, int swap, int fd, off_t off, int num, size_t size) -{ - Elf32_Phdr ph32; - Elf32_Nhdr *nh32 = NULL; - Elf64_Phdr ph64; - Elf64_Nhdr *nh64 = NULL; - char *linking_style = "statically"; - char *shared_libraries = ""; - char nbuf[BUFSIZ]; - int bufsize; - size_t offset, nameoffset; - off_t savedoffset; - - if (size != ph_size) - error("corrupted program header size.\n"); - if (lseek(fd, off, SEEK_SET) == -1) - error("lseek failed (%s).\n", strerror(errno)); - - for ( ; num; num--) { - if (read(fd, ph_addr, ph_size) == -1) - error("read failed (%s).\n", strerror(errno)); - if ((savedoffset = lseek(fd, 0, SEEK_CUR)) == -1) - error("lseek failed (%s).\n", strerror(errno)); - - switch (ph_type) { - case PT_DYNAMIC: - linking_style = "dynamically"; - break; - case PT_INTERP: - shared_libraries = " (uses shared libs)"; - break; - case PT_NOTE: - /* - * This is a PT_NOTE section; loop through all the notes - * in the section. - */ - if (lseek(fd, (off_t) ph_offset, SEEK_SET) == -1) - error("lseek failed (%s).\n", strerror(errno)); - bufsize = read(fd, nbuf, sizeof(nbuf)); - if (bufsize == -1) - error(": " "read failed (%s).\n", - strerror(errno)); - offset = 0; - for (;;) { - if (offset >= bufsize) - break; - if (class == ELFCLASS32) - nh32 = (Elf32_Nhdr *)&nbuf[offset]; - else - nh64 = (Elf64_Nhdr *)&nbuf[offset]; - offset += nh_size; - - if (offset + nh_namesz >= bufsize) { - /* - * We're past the end of the buffer. - */ - break; - } - - nameoffset = offset; - offset += nh_namesz; - offset = ((offset+ph_align-1)/ph_align)*ph_align; - - if ((nh_namesz == 0) && (nh_descsz == 0)) { - /* - * We're out of note headers. - */ - break; - } - - if (offset + nh_descsz >= bufsize) - break; - - if (nh_namesz == 4 && - strcmp(&nbuf[nameoffset], "GNU") == 0 && - nh_type == NT_GNU_VERSION && - nh_descsz == 16) { - uint32_t *desc = - (uint32_t *)&nbuf[offset]; - - printf(", for GNU/"); - switch (getu32(swap, desc[0])) { - case GNU_OS_LINUX: - printf("Linux"); - break; - case GNU_OS_HURD: - printf("Hurd"); - break; - case GNU_OS_SOLARIS: - printf("Solaris"); - break; - default: - printf(""); - } - printf(" %d.%d.%d", - getu32(swap, desc[1]), - getu32(swap, desc[2]), - getu32(swap, desc[3])); - } - - if (nh_namesz == 7 && - strcmp(&nbuf[nameoffset], "NetBSD") == 0 && - nh_type == NT_NETBSD_VERSION && - nh_descsz == 4) { - printf(", for NetBSD"); - /* - * Version number is stuck at 199905, - * and hence is basically content-free. - */ - } - - if (nh_namesz == 8 && - strcmp(&nbuf[nameoffset], "FreeBSD") == 0 && - nh_type == NT_FREEBSD_VERSION && - nh_descsz == 4) { - uint32_t desc = getu32(swap, - *(uint32_t *)&nbuf[offset]); - printf(", for FreeBSD"); - /* - * Contents is __FreeBSD_version, - * whose relation to OS versions is - * defined by a huge table in the - * Porters' Handbook. Happily, the - * first three digits are the version - * number, at least in versions of - * FreeBSD that use this note. - */ - - printf(" %d.%d", desc / 100000, - desc / 10000 % 10); - if (desc / 1000 % 10 > 0) - printf(".%d", - desc / 1000 % 10); - } - - if (nh_namesz == 8 && - strcmp(&nbuf[nameoffset], "OpenBSD") == 0 && - nh_type == NT_OPENBSD_VERSION && - nh_descsz == 4) { - printf(", for OpenBSD"); - /* Content of note is always 0 */ - } - } - if ((lseek(fd, savedoffset + offset, SEEK_SET)) == -1) - error("lseek failed (%s).\n", strerror(errno)); - break; - } - } - printf(", %s linked%s", linking_style, shared_libraries); -} - -#ifdef ELFCORE -size_t prpsoffsets32[] = { - 8, /* FreeBSD */ - 28, /* Linux 2.0.36 */ - 32, /* Linux (I forget which kernel version) */ - 84, /* SunOS 5.x */ -}; - -size_t prpsoffsets64[] = { - 120, /* SunOS 5.x, 64-bit */ -}; - -#define NOFFSETS32 (sizeof prpsoffsets32 / sizeof prpsoffsets32[0]) -#define NOFFSETS64 (sizeof prpsoffsets64 / sizeof prpsoffsets64[0]) - -#define NOFFSETS (class == ELFCLASS32 ? NOFFSETS32 : NOFFSETS64) - -/* - * Look through the program headers of an executable image, searching - * for a PT_NOTE section of type NT_PRPSINFO, with a name "CORE" or - * "FreeBSD"; if one is found, try looking in various places in its - * contents for a 16-character string containing only printable - * characters - if found, that string should be the name of the program - * that dropped core. Note: right after that 16-character string is, - * at least in SunOS 5.x (and possibly other SVR4-flavored systems) and - * Linux, a longer string (80 characters, in 5.x, probably other - * SVR4-flavored systems, and Linux) containing the start of the - * command line for that program. - * - * The signal number probably appears in a section of type NT_PRSTATUS, - * but that's also rather OS-dependent, in ways that are harder to - * dissect with heuristics, so I'm not bothering with the signal number. - * (I suppose the signal number could be of interest in situations where - * you don't have the binary of the program that dropped core; if you - * *do* have that binary, the debugger will probably tell you what - * signal it was.) - */ - -#define OS_STYLE_SVR4 0 -#define OS_STYLE_FREEBSD 1 -#define OS_STYLE_NETBSD 2 - -static const char *os_style_names[] = { - "SVR4", - "FreeBSD", - "NetBSD", -}; - -static void -dophn_core(int class, int swap, int fd, off_t off, int num, size_t size) -{ - Elf32_Phdr ph32; - Elf32_Nhdr *nh32 = NULL; - Elf64_Phdr ph64; - Elf64_Nhdr *nh64 = NULL; - size_t offset, nameoffset, noffset, reloffset; - unsigned char c; - int i, j; - char nbuf[BUFSIZ]; - int bufsize; - int os_style = -1; - - if (size != ph_size) - error("corrupted program header size.\n"); - /* - * Loop through all the program headers. - */ - for ( ; num; num--) { - if (lseek(fd, off, SEEK_SET) == -1) - error("lseek failed (%s).\n", strerror(errno)); - if (read(fd, ph_addr, ph_size) == -1) - error("read failed (%s).\n", strerror(errno)); - off += size; - if (ph_type != PT_NOTE) - continue; - - /* - * This is a PT_NOTE section; loop through all the notes - * in the section. - */ - if (lseek(fd, (off_t) ph_offset, SEEK_SET) == -1) - error("lseek failed (%s).\n", strerror(errno)); - bufsize = read(fd, nbuf, BUFSIZ); - if (bufsize == -1) - error(": " "read failed (%s).\n", strerror(errno)); - offset = 0; - for (;;) { - if (offset >= bufsize) - break; - if (class == ELFCLASS32) - nh32 = (Elf32_Nhdr *)&nbuf[offset]; - else - nh64 = (Elf64_Nhdr *)&nbuf[offset]; - offset += nh_size; - - /* - * Check whether this note has the name "CORE" or - * "FreeBSD", or "NetBSD-CORE". - */ - if (offset + nh_namesz >= bufsize) { - /* - * We're past the end of the buffer. - */ - break; - } - - nameoffset = offset; - offset += nh_namesz; - offset = ((offset + 3)/4)*4; - - /* - * Sigh. The 2.0.36 kernel in Debian 2.1, at - * least, doesn't correctly implement name - * sections, in core dumps, as specified by - * the "Program Linking" section of "UNIX(R) System - * V Release 4 Programmer's Guide: ANSI C and - * Programming Support Tools", because my copy - * clearly says "The first 'namesz' bytes in 'name' - * contain a *null-terminated* [emphasis mine] - * character representation of the entry's owner - * or originator", but the 2.0.36 kernel code - * doesn't include the terminating null in the - * name.... - */ - if (os_style == -1) { - if ((nh_namesz == 4 && - strncmp(&nbuf[nameoffset], - "CORE", 4) == 0) || - (nh_namesz == 5 && - strcmp(&nbuf[nameoffset], - "CORE") == 0)) { - os_style = OS_STYLE_SVR4; - } else - if ((nh_namesz == 8 && - strcmp(&nbuf[nameoffset], - "FreeBSD") == 0)) { - os_style = OS_STYLE_FREEBSD; - } else - if ((nh_namesz >= 11 && - strncmp(&nbuf[nameoffset], - "NetBSD-CORE", 11) == 0)) { - os_style = OS_STYLE_NETBSD; - } else - continue; - printf(", %s-style", os_style_names[os_style]); - } - - if (os_style == OS_STYLE_NETBSD && - nh_type == NT_NETBSD_CORE_PROCINFO) { - uint32_t signo; - - /* - * Extract the program name. It is at - * offset 0x7c, and is up to 32-bytes, - * including the terminating NUL. - */ - printf(", from '%.31s'", &nbuf[offset + 0x7c]); - - /* - * Extract the signal number. It is at - * offset 0x08. - */ - memcpy(&signo, &nbuf[offset + 0x08], - sizeof(signo)); - printf(" (signal %u)", getu32(swap, signo)); - } else - if (os_style != OS_STYLE_NETBSD && - nh_type == NT_PRPSINFO) { - /* - * Extract the program name. We assume - * it to be 16 characters (that's what it - * is in SunOS 5.x and Linux). - * - * Unfortunately, it's at a different offset - * in varous OSes, so try multiple offsets. - * If the characters aren't all printable, - * reject it. - */ - for (i = 0; i < NOFFSETS; i++) { - 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) - goto tryanother; - - /* - * Make sure we're not past - * the end of the contents; - * if we are, this obviously - * isn't the right offset. - */ - if (reloffset >= nh_descsz) - goto tryanother; - - c = nbuf[noffset]; - if (c == '\0') { - /* - * A '\0' at the - * beginning is - * obviously wrong. - * Any other '\0' - * means we're done. - */ - if (j == 0) - goto tryanother; - else - break; - } else { - /* - * A nonprintable - * character is also - * wrong. - */ -#define isquote(c) (strchr("'\"`", (c)) != NULL) - if (!isprint(c) || - isquote(c)) - goto tryanother; - } - } - - /* - * Well, that worked. - */ - printf(", from '%.16s'", - &nbuf[offset + prpsoffsets(i)]); - break; - - tryanother: - ; - } - break; - } - offset += nh_descsz; - offset = ((offset + 3)/4)*4; - } - } -} -#endif - -void -tryelf(int fd, unsigned char *buf, int nbytes) -{ - union { - int32_t l; - char c[sizeof (int32_t)]; - } u; - int class; - int swap; - - /* - * If we can't seek, it must be a pipe, socket or fifo. - */ - if((lseek(fd, (off_t)0, SEEK_SET) == (off_t)-1) && (errno == ESPIPE)) - fd = pipe2file(fd, buf, nbytes); - - /* - * ELF executables have multiple section headers in arbitrary - * file locations and thus file(1) cannot determine it from easily. - * Instead we traverse thru all section headers until a symbol table - * one is found or else the binary is stripped. - */ - if (buf[EI_MAG0] != ELFMAG0 - || (buf[EI_MAG1] != ELFMAG1 && buf[EI_MAG1] != OLFMAG1) - || buf[EI_MAG2] != ELFMAG2 || buf[EI_MAG3] != ELFMAG3) - return; - - - class = buf[4]; - - if (class == ELFCLASS32) { - Elf32_Ehdr elfhdr; - if (nbytes <= sizeof (Elf32_Ehdr)) - return; - - - u.l = 1; - (void) memcpy(&elfhdr, buf, sizeof elfhdr); - swap = (u.c[sizeof(int32_t) - 1] + 1) != elfhdr.e_ident[5]; - - if (getu16(swap, elfhdr.e_type) == ET_CORE) -#ifdef ELFCORE - dophn_core(class, swap, - fd, - getu32(swap, elfhdr.e_phoff), - getu16(swap, elfhdr.e_phnum), - getu16(swap, elfhdr.e_phentsize)); -#else - ; -#endif - else { - if (getu16(swap, elfhdr.e_type) == ET_EXEC) { - dophn_exec(class, swap, - fd, - getu32(swap, elfhdr.e_phoff), - getu16(swap, elfhdr.e_phnum), - getu16(swap, elfhdr.e_phentsize)); - } - doshn(class, swap, - fd, - getu32(swap, elfhdr.e_shoff), - getu16(swap, elfhdr.e_shnum), - getu16(swap, elfhdr.e_shentsize)); - } - return; - } - - if (class == ELFCLASS64) { - Elf64_Ehdr elfhdr; - if (nbytes <= sizeof (Elf64_Ehdr)) - return; - - - u.l = 1; - (void) memcpy(&elfhdr, buf, sizeof elfhdr); - swap = (u.c[sizeof(int32_t) - 1] + 1) != elfhdr.e_ident[5]; - - if (getu16(swap, elfhdr.e_type) == ET_CORE) -#ifdef ELFCORE - dophn_core(class, swap, - fd, -#ifdef USE_ARRAY_FOR_64BIT_TYPES - getu32(swap, elfhdr.e_phoff[1]), -#else - getu64(swap, elfhdr.e_phoff), -#endif - getu16(swap, elfhdr.e_phnum), - getu16(swap, elfhdr.e_phentsize)); -#else - ; -#endif - else - { - if (getu16(swap, elfhdr.e_type) == ET_EXEC) { - dophn_exec(class, swap, - fd, -#ifdef USE_ARRAY_FOR_64BIT_TYPES - getu32(swap, elfhdr.e_phoff[1]), -#else - getu64(swap, elfhdr.e_phoff), -#endif - getu16(swap, elfhdr.e_phnum), - getu16(swap, elfhdr.e_phentsize)); - } - doshn(class, swap, - fd, -#ifdef USE_ARRAY_FOR_64BIT_TYPES - getu32(swap, elfhdr.e_shoff[1]), -#else - getu64(swap, elfhdr.e_shoff), -#endif - getu16(swap, elfhdr.e_shnum), - getu16(swap, elfhdr.e_shentsize)); - } - return; - } -} -#endif diff --git a/contrib/file/readelf.h b/contrib/file/readelf.h deleted file mode 100644 index f7494de6b6..0000000000 --- a/contrib/file/readelf.h +++ /dev/null @@ -1,211 +0,0 @@ -/* $NetBSD: readelf.h,v 1.9 2002/05/18 07:00:47 pooka Exp $ */ - -/* - * readelf.h - * @(#)Id: readelf.h,v 1.9 2002/05/16 18:45:56 christos Exp - * - * Provide elf data structures for non-elf machines, allowing file - * non-elf hosts to determine if an elf binary is stripped. - * Note: cobbled from the linux header file, with modifications - */ -#ifndef __fake_elf_h__ -#define __fake_elf_h__ - -#if HAVE_STDINT_H -#include -#endif - -typedef uint32_t Elf32_Addr; -typedef uint32_t Elf32_Off; -typedef uint16_t Elf32_Half; -typedef uint32_t Elf32_Word; -typedef uint8_t Elf32_Char; - -#if SIZEOF_UINT64_T != 8 -#define USE_ARRAY_FOR_64BIT_TYPES -typedef uint32_t Elf64_Addr[2]; -typedef uint32_t Elf64_Off[2]; -typedef uint32_t Elf64_Xword[2]; -#else -typedef uint64_t Elf64_Addr; -typedef uint64_t Elf64_Off; -typedef uint64_t Elf64_Xword; -#endif -typedef uint16_t Elf64_Half; -typedef uint32_t Elf64_Word; -typedef uint8_t Elf64_Char; - -#define EI_NIDENT 16 - -typedef struct { - Elf32_Char e_ident[EI_NIDENT]; - Elf32_Half e_type; - Elf32_Half e_machine; - Elf32_Word e_version; - Elf32_Addr e_entry; /* Entry point */ - Elf32_Off e_phoff; - Elf32_Off e_shoff; - Elf32_Word e_flags; - Elf32_Half e_ehsize; - Elf32_Half e_phentsize; - Elf32_Half e_phnum; - Elf32_Half e_shentsize; - Elf32_Half e_shnum; - Elf32_Half e_shstrndx; -} Elf32_Ehdr; - -typedef struct { - Elf64_Char e_ident[EI_NIDENT]; - Elf64_Half e_type; - Elf64_Half e_machine; - Elf64_Word e_version; - Elf64_Addr e_entry; /* Entry point */ - Elf64_Off e_phoff; - Elf64_Off e_shoff; - Elf64_Word e_flags; - Elf64_Half e_ehsize; - Elf64_Half e_phentsize; - Elf64_Half e_phnum; - Elf64_Half e_shentsize; - Elf64_Half e_shnum; - Elf64_Half e_shstrndx; -} Elf64_Ehdr; - -/* e_type */ -#define ET_EXEC 2 -#define ET_CORE 4 - -/* sh_type */ -#define SHT_SYMTAB 2 -#define SHT_NOTE 7 -#define SHT_DYNSYM 11 - -/* elf type */ -#define ELFDATANONE 0 /* e_ident[EI_DATA] */ -#define ELFDATA2LSB 1 -#define ELFDATA2MSB 2 - -/* elf class */ -#define ELFCLASSNONE 0 -#define ELFCLASS32 1 -#define ELFCLASS64 2 - -/* magic number */ -#define EI_MAG0 0 /* e_ident[] indexes */ -#define EI_MAG1 1 -#define EI_MAG2 2 -#define EI_MAG3 3 -#define EI_CLASS 4 -#define EI_DATA 5 -#define EI_VERSION 6 -#define EI_PAD 7 - -#define ELFMAG0 0x7f /* EI_MAG */ -#define ELFMAG1 'E' -#define ELFMAG2 'L' -#define ELFMAG3 'F' -#define ELFMAG "\177ELF" - -#define OLFMAG1 'O' -#define OLFMAG "\177OLF" - -typedef struct { - Elf32_Word p_type; - Elf32_Off p_offset; - Elf32_Addr p_vaddr; - Elf32_Addr p_paddr; - Elf32_Word p_filesz; - Elf32_Word p_memsz; - Elf32_Word p_flags; - Elf32_Word p_align; -} Elf32_Phdr; - -typedef struct { - Elf64_Word p_type; - Elf64_Word p_flags; - Elf64_Off p_offset; - Elf64_Addr p_vaddr; - Elf64_Addr p_paddr; - Elf64_Xword p_filesz; - Elf64_Xword p_memsz; - Elf64_Xword p_align; -} Elf64_Phdr; - -#define PT_NULL 0 /* p_type */ -#define PT_LOAD 1 -#define PT_DYNAMIC 2 -#define PT_INTERP 3 -#define PT_NOTE 4 -#define PT_SHLIB 5 -#define PT_PHDR 6 -#define PT_NUM 7 - -typedef struct { - Elf32_Word sh_name; - Elf32_Word sh_type; - Elf32_Word sh_flags; - Elf32_Addr sh_addr; - Elf32_Off sh_offset; - Elf32_Word sh_size; - Elf32_Word sh_link; - Elf32_Word sh_info; - Elf32_Word sh_addralign; - Elf32_Word sh_entsize; -} Elf32_Shdr; - -typedef struct { - Elf64_Word sh_name; - Elf64_Word sh_type; - Elf64_Off sh_flags; - Elf64_Addr sh_addr; - Elf64_Off sh_offset; - Elf64_Off sh_size; - Elf64_Word sh_link; - Elf64_Word sh_info; - Elf64_Off sh_addralign; - Elf64_Off sh_entsize; -} Elf64_Shdr; - -/* Notes used in ET_CORE */ -#define NT_PRSTATUS 1 -#define NT_PRFPREG 2 -#define NT_PRPSINFO 3 -#define NT_TASKSTRUCT 4 - -#define NT_NETBSD_CORE_PROCINFO 1 - -/* Note header in a PT_NOTE section */ -typedef struct elf_note { - Elf32_Word n_namesz; /* Name size */ - Elf32_Word n_descsz; /* Content size */ - Elf32_Word n_type; /* Content type */ -} Elf32_Nhdr; - -typedef struct { - Elf64_Word n_namesz; - Elf64_Word n_descsz; - Elf64_Word n_type; -} Elf64_Nhdr; - -#define NT_PRSTATUS 1 -#define NT_PRFPREG 2 -#define NT_PRPSINFO 3 -#define NT_PRXREG 4 -#define NT_PLATFORM 5 -#define NT_AUXV 6 - -/* Note types used in executables */ -/* NetBSD executables (name = "NetBSD") */ -#define NT_NETBSD_VERSION 1 -#define NT_NETBSD_EMULATION 2 -#define NT_FREEBSD_VERSION 1 -#define NT_OPENBSD_VERSION 1 -/* GNU executables (name = "GNU") */ -#define NT_GNU_VERSION 1 - -/* GNU OS tags */ -#define GNU_OS_LINUX 0 -#define GNU_OS_HURD 1 -#define GNU_OS_SOLARIS 2 - -#endif diff --git a/contrib/file/softmagic.c b/contrib/file/softmagic.c deleted file mode 100644 index d1ef94dd41..0000000000 --- a/contrib/file/softmagic.c +++ /dev/null @@ -1,1111 +0,0 @@ -/* - * softmagic - interpret variable magic from 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. - */ - -#include "file.h" -#include -#include -#include -#include -#include - - -#ifndef lint -FILE_RCSID("@(#)$Id: softmagic.c,v 1.54 2003/02/25 13:04:32 christos Exp $") -#endif /* lint */ - -static int match(struct magic *, uint32_t, unsigned char *, int); -static int mget(union VALUETYPE *, unsigned char *, struct magic *, int); -static int mcheck(union VALUETYPE *, struct magic *); -static int32_t mprint(union VALUETYPE *, struct magic *); -static void mdebug(int32_t, char *, int); -static int mconvert(union VALUETYPE *, struct magic *); - -extern int kflag; - -/* - * softmagic - lookup one file in database - * (already read from MAGIC by apprentice.c). - * Passed the name and FILE * of one file to be typed. - */ -/*ARGSUSED1*/ /* nbytes passed for regularity, maybe need later */ -int -softmagic(unsigned char *buf, int nbytes) -{ - struct mlist *ml; - - for (ml = mlist.next; ml != &mlist; ml = ml->next) - if (match(ml->magic, ml->nmagic, buf, nbytes)) - return 1; - - return 0; -} - -/* - * Go through the whole list, stopping if you find a match. Process all - * the continuations of that match before returning. - * - * We support multi-level continuations: - * - * At any time when processing a successful top-level match, there is a - * current continuation level; it represents the level of the last - * successfully matched continuation. - * - * Continuations above that level are skipped as, if we see one, it - * means that the continuation that controls them - i.e, the - * lower-level continuation preceding them - failed to match. - * - * Continuations below that level are processed as, if we see one, - * it means we've finished processing or skipping higher-level - * continuations under the control of a successful or unsuccessful - * lower-level continuation, and are now seeing the next lower-level - * continuation and should process it. The current continuation - * level reverts to the level of the one we're seeing. - * - * Continuations at the current level are processed as, if we see - * one, there's no lower-level continuation that may have failed. - * - * If a continuation matches, we bump the current continuation level - * so that higher-level continuations are processed. - */ -static int -match(struct magic *magic, uint32_t nmagic, unsigned char *s, int nbytes) -{ - int magindex = 0; - int cont_level = 0; - int need_separator = 0; - union VALUETYPE p; - static int32_t *tmpoff = NULL; - static size_t tmplen = 0; - int32_t oldoff = 0; - int returnval = 0; /* if a match is found it is set to 1*/ - int firstline = 1; /* a flag to print X\n X\n- X */ - - if (tmpoff == NULL) - if ((tmpoff = (int32_t *) malloc( - (tmplen = 20) * sizeof(*tmpoff))) == NULL) - error("out of memory\n"); - - 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; - } - - if (! firstline) { /* we found another match */ - /* put a newline and '-' to do some simple formatting*/ - printf("\n- "); - } - - 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_t *) realloc(tmpoff, - (tmplen += 20) * sizeof(*tmpoff))) == NULL) - error("out of memory\n"); - 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 & OFFADD) { - 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_t *) realloc(tmpoff, - (tmplen += 20) - * sizeof(*tmpoff))) == NULL) - error("out of memory\n"); - } - if (magic[magindex].flag & OFFADD) { - magic[magindex].offset = oldoff; - } - } - } - firstline = 0; - returnval = 1; - if (!kflag) { - return 1; /* don't keep searching */ - } - } - return returnval; /* This is hit if -k is set or there is no match */ -} - -static int32_t -mprint(union VALUETYPE *p, struct magic *m) -{ - uint32_t v; - int32_t t=0 ; - - - switch (m->type) { - case BYTE: - v = signextend(m, p->b); - (void) printf(m->desc, (unsigned char) v); - t = m->offset + sizeof(char); - break; - - case SHORT: - case BESHORT: - case LESHORT: - v = signextend(m, p->h); - (void) printf(m->desc, (unsigned short) v); - t = m->offset + sizeof(short); - break; - - case LONG: - case BELONG: - case LELONG: - v = signextend(m, p->l); - (void) printf(m->desc, (uint32_t) v); - t = m->offset + sizeof(int32_t); - break; - - case STRING: - case PSTRING: - 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: - (void) printf(m->desc, fmttime(p->l, 1)); - t = m->offset + sizeof(time_t); - break; - - case LDATE: - case BELDATE: - case LELDATE: - (void) printf(m->desc, fmttime(p->l, 0)); - t = m->offset + sizeof(time_t); - break; - case REGEX: - (void) printf(m->desc, p->s); - t = m->offset + strlen(p->s); - break; - - default: - error("invalid m->type (%d) in mprint().\n", m->type); - /*NOTREACHED*/ - } - return(t); -} - -/* - * Convert the byte order of the data we are looking at - * While we're here, let's apply the mask operation - * (unless you have a better idea) - */ -static int -mconvert(union VALUETYPE *p, struct magic *m) -{ - switch (m->type) { - case BYTE: - if (m->mask) - switch (m->mask_op&0x7F) { - case OPAND: - p->b &= m->mask; - break; - case OPOR: - p->b |= m->mask; - break; - case OPXOR: - p->b ^= m->mask; - break; - case OPADD: - p->b += m->mask; - break; - case OPMINUS: - p->b -= m->mask; - break; - case OPMULTIPLY: - p->b *= m->mask; - break; - case OPDIVIDE: - p->b /= m->mask; - break; - case OPMODULO: - p->b %= m->mask; - break; - } - if (m->mask_op & OPINVERSE) - p->b = ~p->b; - return 1; - case SHORT: - if (m->mask) - switch (m->mask_op&0x7F) { - case OPAND: - p->h &= m->mask; - break; - case OPOR: - p->h |= m->mask; - break; - case OPXOR: - p->h ^= m->mask; - break; - case OPADD: - p->h += m->mask; - break; - case OPMINUS: - p->h -= m->mask; - break; - case OPMULTIPLY: - p->h *= m->mask; - break; - case OPDIVIDE: - p->h /= m->mask; - break; - case OPMODULO: - p->h %= m->mask; - break; - } - if (m->mask_op & OPINVERSE) - p->h = ~p->h; - return 1; - case LONG: - case DATE: - case LDATE: - if (m->mask) - switch (m->mask_op&0x7F) { - case OPAND: - p->l &= m->mask; - break; - case OPOR: - p->l |= m->mask; - break; - case OPXOR: - p->l ^= m->mask; - break; - case OPADD: - p->l += m->mask; - break; - case OPMINUS: - p->l -= m->mask; - break; - case OPMULTIPLY: - p->l *= m->mask; - break; - case OPDIVIDE: - p->l /= m->mask; - break; - case OPMODULO: - p->l %= m->mask; - break; - } - if (m->mask_op & OPINVERSE) - p->l = ~p->l; - return 1; - case STRING: - { - int n; - - /* Null terminate and eat *trailing* return */ - p->s[sizeof(p->s) - 1] = '\0'; - n = strlen(p->s) - 1; - if (p->s[n] == '\n') - p->s[n] = '\0'; - return 1; - } - case PSTRING: - { - char *ptr1 = p->s, *ptr2 = ptr1 + 1; - int n = *p->s; - if (n >= sizeof(p->s)) - n = sizeof(p->s) - 1; - while (n--) - *ptr1++ = *ptr2++; - *ptr1 = '\0'; - n = strlen(p->s) - 1; - if (p->s[n] == '\n') - p->s[n] = '\0'; - return 1; - } - case BESHORT: - p->h = (short)((p->hs[0]<<8)|(p->hs[1])); - if (m->mask) - switch (m->mask_op&0x7F) { - case OPAND: - p->h &= m->mask; - break; - case OPOR: - p->h |= m->mask; - break; - case OPXOR: - p->h ^= m->mask; - break; - case OPADD: - p->h += m->mask; - break; - case OPMINUS: - p->h -= m->mask; - break; - case OPMULTIPLY: - p->h *= m->mask; - break; - case OPDIVIDE: - p->h /= m->mask; - break; - case OPMODULO: - p->h %= m->mask; - break; - } - if (m->mask_op & OPINVERSE) - p->h = ~p->h; - return 1; - case BELONG: - case BEDATE: - case BELDATE: - p->l = (int32_t) - ((p->hl[0]<<24)|(p->hl[1]<<16)|(p->hl[2]<<8)|(p->hl[3])); - if (m->mask) - switch (m->mask_op&0x7F) { - case OPAND: - p->l &= m->mask; - break; - case OPOR: - p->l |= m->mask; - break; - case OPXOR: - p->l ^= m->mask; - break; - case OPADD: - p->l += m->mask; - break; - case OPMINUS: - p->l -= m->mask; - break; - case OPMULTIPLY: - p->l *= m->mask; - break; - case OPDIVIDE: - p->l /= m->mask; - break; - case OPMODULO: - p->l %= m->mask; - break; - } - if (m->mask_op & OPINVERSE) - p->l = ~p->l; - return 1; - case LESHORT: - p->h = (short)((p->hs[1]<<8)|(p->hs[0])); - if (m->mask) - switch (m->mask_op&0x7F) { - case OPAND: - p->h &= m->mask; - break; - case OPOR: - p->h |= m->mask; - break; - case OPXOR: - p->h ^= m->mask; - break; - case OPADD: - p->h += m->mask; - break; - case OPMINUS: - p->h -= m->mask; - break; - case OPMULTIPLY: - p->h *= m->mask; - break; - case OPDIVIDE: - p->h /= m->mask; - break; - case OPMODULO: - p->h %= m->mask; - break; - } - if (m->mask_op & OPINVERSE) - p->h = ~p->h; - return 1; - case LELONG: - case LEDATE: - case LELDATE: - p->l = (int32_t) - ((p->hl[3]<<24)|(p->hl[2]<<16)|(p->hl[1]<<8)|(p->hl[0])); - if (m->mask) - switch (m->mask_op&0x7F) { - case OPAND: - p->l &= m->mask; - break; - case OPOR: - p->l |= m->mask; - break; - case OPXOR: - p->l ^= m->mask; - break; - case OPADD: - p->l += m->mask; - break; - case OPMINUS: - p->l -= m->mask; - break; - case OPMULTIPLY: - p->l *= m->mask; - break; - case OPDIVIDE: - p->l /= m->mask; - break; - case OPMODULO: - p->l %= m->mask; - break; - } - if (m->mask_op & OPINVERSE) - p->l = ~p->l; - return 1; - case REGEX: - return 1; - default: - error("invalid type %d in mconvert().\n", m->type); - return 0; - } -} - - -static void -mdebug(int32_t 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(union VALUETYPE *p, unsigned char *s, struct magic *m, int nbytes) -{ - int32_t offset = m->offset; - - if (m->type == REGEX) { - /* - * offset is interpreted as last line to search, - * (starting at 1), not as bytes-from start-of-file - */ - unsigned char *last = NULL; - p->buf = (char *)s; - for (; offset && (s = (unsigned char *)strchr(s, '\n')) != NULL; - offset--, s++) - last = s; - if (last != NULL) - *last = '\0'; - } else 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_t 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 (m->flag & INDIR) { - switch (m->in_type) { - case BYTE: - if (m->in_offset) - switch (m->in_op&0x7F) { - case OPAND: - offset = p->b & m->in_offset; - break; - case OPOR: - offset = p->b | m->in_offset; - break; - case OPXOR: - offset = p->b ^ m->in_offset; - break; - case OPADD: - offset = p->b + m->in_offset; - break; - case OPMINUS: - offset = p->b - m->in_offset; - break; - case OPMULTIPLY: - offset = p->b * m->in_offset; - break; - case OPDIVIDE: - offset = p->b / m->in_offset; - break; - case OPMODULO: - offset = p->b % m->in_offset; - break; - } - if (m->in_op & OPINVERSE) - offset = ~offset; - break; - case BESHORT: - if (m->in_offset) - switch (m->in_op&0x7F) { - case OPAND: - offset = (short)((p->hs[0]<<8)| - (p->hs[1])) & - m->in_offset; - break; - case OPOR: - offset = (short)((p->hs[0]<<8)| - (p->hs[1])) | - m->in_offset; - break; - case OPXOR: - offset = (short)((p->hs[0]<<8)| - (p->hs[1])) ^ - m->in_offset; - break; - case OPADD: - offset = (short)((p->hs[0]<<8)| - (p->hs[1])) + - m->in_offset; - break; - case OPMINUS: - offset = (short)((p->hs[0]<<8)| - (p->hs[1])) - - m->in_offset; - break; - case OPMULTIPLY: - offset = (short)((p->hs[0]<<8)| - (p->hs[1])) * - m->in_offset; - break; - case OPDIVIDE: - offset = (short)((p->hs[0]<<8)| - (p->hs[1])) / - m->in_offset; - break; - case OPMODULO: - offset = (short)((p->hs[0]<<8)| - (p->hs[1])) % - m->in_offset; - break; - } - if (m->in_op & OPINVERSE) - offset = ~offset; - break; - case LESHORT: - if (m->in_offset) - switch (m->in_op&0x7F) { - case OPAND: - offset = (short)((p->hs[1]<<8)| - (p->hs[0])) & - m->in_offset; - break; - case OPOR: - offset = (short)((p->hs[1]<<8)| - (p->hs[0])) | - m->in_offset; - break; - case OPXOR: - offset = (short)((p->hs[1]<<8)| - (p->hs[0])) ^ - m->in_offset; - break; - case OPADD: - offset = (short)((p->hs[1]<<8)| - (p->hs[0])) + - m->in_offset; - break; - case OPMINUS: - offset = (short)((p->hs[1]<<8)| - (p->hs[0])) - - m->in_offset; - break; - case OPMULTIPLY: - offset = (short)((p->hs[1]<<8)| - (p->hs[0])) * - m->in_offset; - break; - case OPDIVIDE: - offset = (short)((p->hs[1]<<8)| - (p->hs[0])) / - m->in_offset; - break; - case OPMODULO: - offset = (short)((p->hs[1]<<8)| - (p->hs[0])) % - m->in_offset; - break; - } - if (m->in_op & OPINVERSE) - offset = ~offset; - break; - case SHORT: - if (m->in_offset) - switch (m->in_op&0x7F) { - case OPAND: - offset = p->h & m->in_offset; - break; - case OPOR: - offset = p->h | m->in_offset; - break; - case OPXOR: - offset = p->h ^ m->in_offset; - break; - case OPADD: - offset = p->h + m->in_offset; - break; - case OPMINUS: - offset = p->h - m->in_offset; - break; - case OPMULTIPLY: - offset = p->h * m->in_offset; - break; - case OPDIVIDE: - offset = p->h / m->in_offset; - break; - case OPMODULO: - offset = p->h % m->in_offset; - break; - } - if (m->in_op & OPINVERSE) - offset = ~offset; - break; - case BELONG: - if (m->in_offset) - switch (m->in_op&0x7F) { - case OPAND: - offset = (int32_t)((p->hl[0]<<24)| - (p->hl[1]<<16)| - (p->hl[2]<<8)| - (p->hl[3])) & - m->in_offset; - break; - case OPOR: - offset = (int32_t)((p->hl[0]<<24)| - (p->hl[1]<<16)| - (p->hl[2]<<8)| - (p->hl[3])) | - m->in_offset; - break; - case OPXOR: - offset = (int32_t)((p->hl[0]<<24)| - (p->hl[1]<<16)| - (p->hl[2]<<8)| - (p->hl[3])) ^ - m->in_offset; - break; - case OPADD: - offset = (int32_t)((p->hl[0]<<24)| - (p->hl[1]<<16)| - (p->hl[2]<<8)| - (p->hl[3])) + - m->in_offset; - break; - case OPMINUS: - offset = (int32_t)((p->hl[0]<<24)| - (p->hl[1]<<16)| - (p->hl[2]<<8)| - (p->hl[3])) - - m->in_offset; - break; - case OPMULTIPLY: - offset = (int32_t)((p->hl[0]<<24)| - (p->hl[1]<<16)| - (p->hl[2]<<8)| - (p->hl[3])) * - m->in_offset; - break; - case OPDIVIDE: - offset = (int32_t)((p->hl[0]<<24)| - (p->hl[1]<<16)| - (p->hl[2]<<8)| - (p->hl[3])) / - m->in_offset; - break; - case OPMODULO: - offset = (int32_t)((p->hl[0]<<24)| - (p->hl[1]<<16)| - (p->hl[2]<<8)| - (p->hl[3])) % - m->in_offset; - break; - } - if (m->in_op & OPINVERSE) - offset = ~offset; - break; - case LELONG: - if (m->in_offset) - switch (m->in_op&0x7F) { - case OPAND: - offset = (int32_t)((p->hl[3]<<24)| - (p->hl[2]<<16)| - (p->hl[1]<<8)| - (p->hl[0])) & - m->in_offset; - break; - case OPOR: - offset = (int32_t)((p->hl[3]<<24)| - (p->hl[2]<<16)| - (p->hl[1]<<8)| - (p->hl[0])) | - m->in_offset; - break; - case OPXOR: - offset = (int32_t)((p->hl[3]<<24)| - (p->hl[2]<<16)| - (p->hl[1]<<8)| - (p->hl[0])) ^ - m->in_offset; - break; - case OPADD: - offset = (int32_t)((p->hl[3]<<24)| - (p->hl[2]<<16)| - (p->hl[1]<<8)| - (p->hl[0])) + - m->in_offset; - break; - case OPMINUS: - offset = (int32_t)((p->hl[3]<<24)| - (p->hl[2]<<16)| - (p->hl[1]<<8)| - (p->hl[0])) - - m->in_offset; - break; - case OPMULTIPLY: - offset = (int32_t)((p->hl[3]<<24)| - (p->hl[2]<<16)| - (p->hl[1]<<8)| - (p->hl[0])) * - m->in_offset; - break; - case OPDIVIDE: - offset = (int32_t)((p->hl[3]<<24)| - (p->hl[2]<<16)| - (p->hl[1]<<8)| - (p->hl[0])) / - m->in_offset; - break; - case OPMODULO: - offset = (int32_t)((p->hl[3]<<24)| - (p->hl[2]<<16)| - (p->hl[1]<<8)| - (p->hl[0])) % - m->in_offset; - break; - } - if (m->in_op & OPINVERSE) - offset = ~offset; - break; - case LONG: - if (m->in_offset) - switch (m->in_op&0x7F) { - case OPAND: - offset = p->l & m->in_offset; - break; - case OPOR: - offset = p->l | m->in_offset; - break; - case OPXOR: - offset = p->l ^ m->in_offset; - break; - case OPADD: - offset = p->l + m->in_offset; - break; - case OPMINUS: - offset = p->l - m->in_offset; - break; - case OPMULTIPLY: - offset = p->l * m->in_offset; - break; - case OPDIVIDE: - offset = p->l / m->in_offset; - break; - case OPMODULO: - offset = p->l % m->in_offset; - break; - /* case TOOMANYSWITCHBLOCKS: - * ugh = p->eye % m->strain; - * rub; - * case BEER: - * off = p->tab & m->in_gest; - * sleep; - */ - } - if (m->in_op & OPINVERSE) - offset = ~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(union VALUETYPE *p, struct magic *m) -{ - uint32_t l = m->value.l; - uint32_t v; - int matched; - - if ( (m->value.s[0] == 'x') && (m->value.s[1] == '\0') ) { - 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: - case LDATE: - case BELDATE: - case LELDATE: - v = p->l; - break; - - case STRING: - case PSTRING: - { - /* - * What we want here is: - * v = strncmp(m->value.s, p->s, m->vallen); - * but ignoring any nulls. bcmp doesn't give -/+/0 - * and isn't universally available anyway. - */ - unsigned char *a = (unsigned char*)m->value.s; - unsigned char *b = (unsigned char*)p->s; - int len = m->vallen; - l = 0; - v = 0; - if (0L == m->mask) { /* normal string: do it fast */ - while (--len >= 0) - if ((v = *b++ - *a++) != '\0') - break; - } else { /* combine the others */ - while (--len >= 0) { - if ((m->mask & STRING_IGNORE_LOWERCASE) && - islower(*a)) { - if ((v = tolower(*b++) - *a++) != '\0') - break; - } else if ((m->mask & STRING_COMPACT_BLANK) && - isspace(*a)) { - a++; - if (isspace(*b++)) { - while (isspace(*b)) - b++; - } else { - v = 1; - break; - } - } else if (isspace(*a) && - (m->mask & STRING_COMPACT_OPTIONAL_BLANK)) { - a++; - while (isspace(*b)) - b++; - } else { - if ((v = *b++ - *a++) != '\0') - break; - } - } - } - break; - } - case REGEX: - { - int rc; - regex_t rx; - char errmsg[512]; - - rc = regcomp(&rx, m->value.s, REG_EXTENDED|REG_NOSUB); - if (rc) { - regerror(rc, &rx, errmsg, sizeof(errmsg)); - error("regex error %d, (%s)\n", rc, errmsg); - } else { - rc = regexec(&rx, p->buf, 0, 0, 0); - return !rc; - } - } - default: - error("invalid type %d in mcheck().\n", m->type); - return 0;/*NOTREACHED*/ - } - - if(m->type != STRING && m->type != PSTRING) - v = signextend(m, v); - - 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_t) v > (int32_t) 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_t) v < (int32_t) 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; - error("mcheck: can't happen: invalid relation %d.\n", m->reln); - break;/*NOTREACHED*/ - } - - return matched; -} diff --git a/contrib/file/stamp-h.in b/contrib/file/stamp-h.in deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/file/stamp-h.in +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/file/tar.h b/contrib/file/tar.h deleted file mode 100644 index c5fce4ed71..0000000000 --- a/contrib/file/tar.h +++ /dev/null @@ -1,177 +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. - * - * $Id: tar.h,v 1.5 1999/01/13 15:44:10 christos Exp $ # 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 . I tried to make it automatic, - * but System V has no defines in , so there is no way of - * knowing when it has been included. In addition, it cannot be included - * twice, but must be included exactly once. Argghh! - * - * Thanks, typedef. Thanks, USG. - */ -struct link { - struct link *next; - dev_t dev; - ino_t ino; - short linkcount; - char name[NAMSIZ+1]; -}; - -TAR_EXTERN struct link *linklist; /* Points to first link in list */ - - -/* - * Error recovery stuff - */ -TAR_EXTERN char read_error_flag; - - -#if 0 -/* - * Declarations of functions available to the world. - */ -/*LINTLIBRARY*/ -#define annorec(stream, msg) anno(stream, msg, 0) /* Cur rec */ -#define annofile(stream, msg) anno(stream, msg, 1) /* Saved rec */ -#endif