diff options
author | mpp <mpp@FreeBSD.org> | 1996-01-23 12:29:07 +0000 |
---|---|---|
committer | mpp <mpp@FreeBSD.org> | 1996-01-23 12:29:07 +0000 |
commit | c335a065680c2ca4e8d5b34f7b4f590e27edbe6a (patch) | |
tree | 9fa2da304b3ae0ff653631581c1717586dfb28c2 /usr.bin/file/Magdir | |
parent | 8d1a4c7e8675282c0693d9785300e01d10bfe014 (diff) | |
download | FreeBSD-src-c335a065680c2ca4e8d5b34f7b4f590e27edbe6a.zip FreeBSD-src-c335a065680c2ca4e8d5b34f7b4f590e27edbe6a.tar.gz |
Upgrade to file version 3.19.
Diffstat (limited to 'usr.bin/file/Magdir')
80 files changed, 1738 insertions, 364 deletions
diff --git a/usr.bin/file/Magdir/Localstuff b/usr.bin/file/Magdir/Localstuff index 224940b..3c2fa0e 100644 --- a/usr.bin/file/Magdir/Localstuff +++ b/usr.bin/file/Magdir/Localstuff @@ -1,3 +1,7 @@ -# $Id: Localstuff,v 1.2 1993/01/05 13:22:25 ian Exp $ -# Add any locally-observed files here. Remember: + +#------------------------------------------------------------------------------ +# 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/usr.bin/file/Magdir/alliant b/usr.bin/file/Magdir/alliant index 52ed628..69cf4b4 100644 --- a/usr.bin/file/Magdir/alliant +++ b/usr.bin/file/Magdir/alliant @@ -1,5 +1,7 @@ + +#------------------------------------------------------------------------------ +# alliant: file(1) magic for Alliant FX series a.out files # -# 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". diff --git a/usr.bin/file/Magdir/animation b/usr.bin/file/Magdir/animation new file mode 100644 index 0000000..9d2dc8e --- /dev/null +++ b/usr.bin/file/Magdir/animation @@ -0,0 +1,54 @@ + +#------------------------------------------------------------------------------ +# 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 string \000\000\001\263 MPEG file + +# 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) diff --git a/usr.bin/file/Magdir/apl b/usr.bin/file/Magdir/apl index 6ede926..0400431 100644 --- a/usr.bin/file/Magdir/apl +++ b/usr.bin/file/Magdir/apl @@ -1,4 +1,6 @@ -# -# magic.apl: + +#------------------------------------------------------------------------------ +# apl: file(1) magic for APL (see also "pdp" and "vax" for other APL +# workspaces) # 0 long 0100554 APL workspace (Ken's original?) diff --git a/usr.bin/file/Magdir/apple b/usr.bin/file/Magdir/apple index eb48673..a6492b7 100644 --- a/usr.bin/file/Magdir/apple +++ b/usr.bin/file/Magdir/apple @@ -1,5 +1,6 @@ -# -# Apple II file formats + +#------------------------------------------------------------------------------ +# apple: file(1) magic for Apple II file formats # 0 string FiLeStArTfIlEsTaRt binscii (apple ][) text 0 string \x0aGL Binary II (apple ][) data @@ -7,4 +8,3 @@ 0 string SIT! StuffIt (macintosh) text 0 string NuFile NuFile archive (apple ][) data 0 string N\xf5F\xe9l\xe5 NuFile archive (apple ][) data - diff --git a/usr.bin/file/Magdir/archive b/usr.bin/file/Magdir/archive index 8999c2f..bd40081 100644 --- a/usr.bin/file/Magdir/archive +++ b/usr.bin/file/Magdir/archive @@ -1,15 +1,215 @@ -# A collection of various "ar" and "cpio" archive formats. -# "Tar" archives are handled in the C code. + +#------------------------------------------------------------------------------ +# 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 string 070707 ASCII cpio archive +0 short 0143561 byte-swapped cpio archive +0 string 070707 ASCII cpio archive (pre-SVR4 or odc) +0 string 070701 ASCII cpio archive (SVR4 with no CRC) +0 string 070702 ASCII cpio archive (SVR4 with CRC) + +# other archives 0 long 0177555 very old archive 0 short 0177555 very old PDP-11 archive 0 long 0177545 old archive 0 short 0177545 old PDP-11 archive 0 long 0100554 apl workspace 0 string =<ar> archive + +# MIPS archive (needs to go first) +# +0 string !<arch>\n__________E MIPS archive +>20 string U with MIPS Ucode members +>21 string L with MIPSEL members +>21 string B with MIPSEB members +>19 string L and an EL hash table +>19 string B and an EB hash table +>22 string X -- out of date + 0 string !<arch> archive >8 string __.SYMDEF random library 0 string -h- Software Tools format archive text -# Rahul Dhesi's zoo archive format, from keith@cerberus.uchicago.edu. -20 long 0xdca7c4fd Rahul Dhesi's "zoo" archive + +# +# XXX - why are there multiple <ar> thingies? Note that 0x213c6172 is +# "!<ar", so, for new-style (4.xBSD/SVR2andup) archives, we have: +# +# 0 string !<arch> current ar archive +# 0 long 0x213c6172 archive file +# +# and for SVR3.1 archives, we have: +# +# 0 string \<ar> System V Release 1 ar archive +# 0 string =<ar> archive +# 0 string =<ar> archive +# +# XXX - did Aegis really store shared libraries, breakpointed modules, +# and absolute code program modules in the same format as new-style +# "ar" archives? +# +0 string !<arch> current ar archive +>8 string __.SYMDEF random library +>0 belong =65538 - pre SR9.5 +>0 belong =65539 - post SR9.5 +>0 beshort 2 - object archive +>0 beshort 3 - shared library module +>0 beshort 4 - debug break-pointed module +>0 beshort 5 - absolute code program module +0 string \<ar> System V Release 1 ar archive +0 string =<ar> archive +# +# XXX - from "vax", which appears to collect a bunch of byte-swapped +# thingies, to help you recognize VAX files on big-endian machines; +# with "leshort", "lelong", and "string", that's no longer necessary.... +# +0 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 +# +0 string =<ar> archive +# +# From "pdp": +# +0 lelong 0x39bed PDP-11 old archive +0 lelong 0x39bee PDP-11 4.0 archive +# +0 string -h- Software Tools format archive text + +# ARC archiver, from Daniel Quinlan (quinlan@yggdrasil.com) +# +# The first byte is the magic (0x1a), byte 2 is the compression type for +# the first file (0x01 through 0x09), and bytes 3 to 15 are the MS-DOS +# filename of the first file (null terminated). Since some types collide +# we only test some types on basis of frequency: 0x08 (83%), 0x09 (5%), +# 0x02 (5%), 0x03 (3%), 0x04 (2%), 0x06 (2%). 0x01 collides with terminfo. +0 lelong&0x8080ffff 0x0000081a ARC archive data, dynamic LZW +0 lelong&0x8080ffff 0x0000091a ARC archive data, squashed +0 lelong&0x8080ffff 0x0000021a ARC archive data, uncompressed +0 lelong&0x8080ffff 0x0000031a ARC archive data, packed +0 lelong&0x8080ffff 0x0000041a ARC archive data, squeezed +0 lelong&0x8080ffff 0x0000061a ARC archive data, crunched + +# Acorn archive formats (Disaster prone simpleton, m91dps@ecs.ox.ac.uk) +# I can't create either SPARK or ArcFS archives so I have not tested this stuff +# [GRR: the original entries collide with ARC, above; replaced with combined +# version (not tested)] +#0 byte 0x1a RISC OS archive +#>1 string archive (ArcFS format) +0 string \032archive RISC OS archive (ArcFS format) + +# ARJ archiver (jason@jarthur.Claremont.EDU) +0 leshort 0xea60 ARJ archive data +>5 byte x \b, v%d, +>8 byte &0x04 multi-volume, +>8 byte &0x10 slash-switched, +>8 byte &0x20 backup, +>34 string x original name: %s, +>7 byte 0 os: MS-DOS +>7 byte 1 os: PRIMOS +>7 byte 2 os: Unix +>7 byte 3 os: Amiga +>7 byte 4 os: Macintosh +>7 byte 5 os: OS/2 +>7 byte 6 os: Apple ][ GS +>7 byte 7 os: Atari ST +>7 byte 8 os: NeXT +>7 byte 9 os: VAX/VMS +>3 byte >0 %d] + +# HA archiver (Greg Roelofs, newt@uchicago.edu) +# This is a really bad format. A file containing HAWAII will match this... +#0 string HA HA archive data, +#>2 leshort =1 1 file, +#>2 leshort >1 %u files, +#>4 byte&0x0f =0 first is type CPY +#>4 byte&0x0f =1 first is type ASC +#>4 byte&0x0f =2 first is type HSC +#>4 byte&0x0f =0x0e first is type DIR +#>4 byte&0x0f =0x0f first is type SPECIAL + +# HPACK archiver (Peter Gutmann, pgut1@cs.aukuni.ac.nz) +0 string HPAK HPACK archive data + +# JAM Archive volume format, by Dmitry.Kohmanyuk@UA.net +0 string \351,\001JAM\ JAM archive, +>7 string >\0 version %.4s +>0x26 byte =0x27 - +>>0x2b string >\0 label %.11s, +>>0x27 lelong x serial %08x, +>>0x36 string >\0 fstype %.8s + +# LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu) +2 string -lh0- LHarc 1.x archive data [lh0] +2 string -lh1- LHarc 1.x archive data [lh1] +2 string -lz4- LHarc 1.x archive data [lz4] +2 string -lz5- LHarc 1.x archive data [lz5] +# [never seen any but the last; -lh4- reported in comp.compression:] +2 string -lzs- LHa 2.x? archive data [lzs] +2 string -lh - LHa 2.x? archive data [lh ] +2 string -lhd- LHa 2.x? archive data [lhd] +2 string -lh2- LHa 2.x? archive data [lh2] +2 string -lh3- LHa 2.x? archive data [lh3] +2 string -lh4- LHa (2.x) archive data [lh4] +2 string -lh5- LHa (2.x) archive data [lh5] +>20 byte x - header level %d + +# RAR archiver (Greg Roelofs, newt@uchicago.edu) +0 string Rar! RAR archive data + +# SQUISH archiver (Greg Roelofs, newt@uchicago.edu) +0 string SQSH squished archive data (Acorn RISCOS) + +# UC2 archiver (Greg Roelofs, newt@uchicago.edu) +# I can't figure out the self-extracting form of these buggers... +0 string UC2\x1a UC2 archive data + +# ZIP archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu) +0 string PK\003\004 Zip archive data +>4 byte 0x09 \b, at least v0.9 to extract +>4 byte 0x0a \b, at least v1.0 to extract +>4 byte 0x0b \b, at least v1.1 to extract +>4 byte 0x14 \b, at least v2.0 to extract + +# Zoo archiver +20 lelong 0xfdc4a7dc Zoo archive data +>4 byte >48 \b, v%c. +>>6 byte >47 \b%c +>>>7 byte >47 \b%c +>32 byte >0 \b, modify: v%d +>>33 byte x \b.%d+ +>42 lelong 0xfdc4a7dc \b, +>>70 byte >0 extract: v%d +>>>71 byte x \b.%d+ + +# Shell archives +10 string #\ This\ is\ a\ shell\ archive shell archive text diff --git a/usr.bin/file/Magdir/att3b b/usr.bin/file/Magdir/att3b index c1e9e39..7723a7f 100644 --- a/usr.bin/file/Magdir/att3b +++ b/usr.bin/file/Magdir/att3b @@ -1,5 +1,6 @@ -# -# AT&T 3B machines + +#------------------------------------------------------------------------------ +# 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?) @@ -21,7 +22,7 @@ >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 +>18 beshort &00040000 and MAU hardware required >20 beshort 0407 (impure) >20 beshort 0410 (pure) >20 beshort 0413 (demand paged) @@ -30,7 +31,7 @@ 0 beshort 0561 WE32000 COFF executable (TV) >12 belong >0 not stripped #>18 beshort &00020000 - 32100 required -#>18 beshort &00040000 and mau hardware required +#>18 beshort &00040000 and MAU hardware required #>22 beshort >0 - version %ld # # core file for 3b2 diff --git a/usr.bin/file/Magdir/audio b/usr.bin/file/Magdir/audio index 6b4cb36..4dc9ddd 100644 --- a/usr.bin/file/Magdir/audio +++ b/usr.bin/file/Magdir/audio @@ -1,43 +1,73 @@ + +#------------------------------------------------------------------------------ +# audio: file(1) magic for sound formats (see also "iff") # -# Sound formats, from Jan Nicolai Langfeldt <janl@ifi.uio.no>, +# Jan Nicolai Langfeldt (janl@ifi.uio.no), Dan Quinlan (quinlan@yggdrasil.com), +# and others # # Sun/NeXT audio data -0 string .snd audio data: ->12 belong 1 8-bit u-law, ->12 belong 2 8-bit linear PCM, +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 floating point, ->12 belong 7 64-bit floating point, ->12 belong 23 compressed (G.721 ADPCM), +>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), >20 belong 1 mono, >20 belong 2 stereo, >20 belong 4 quad, ->16 belong x %d Hz +>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 -# (0x0064732E in little-endian encoding). 0 lelong 0x0064732E DEC audio data: ->12 lelong 1 8-bit u-law, ->12 lelong 2 8-bit linear PCM, +>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 floating point, ->12 lelong 7 64-bit floating point, ->12 lelong 23 compressed (G.721 ADPCM), +>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 x %d Hz -# Bytes 0-3 of AIFF, AIFF-C, & 8SVX audio files are "FORM" -8 string AIFF AIFF audio data -8 string AIFC AIFF-C audio data -8 string 8SVX IFF/8SVX audio data -# Bytes 0-3 of Waveform (*.wav) audio files are "RIFF" -8 string WAVE Waveform audio data -0 string Creative\ Voice\ File Soundblaster audio data -0 long 0x4e54524b MultiTrack sound data file ->4 long x - version %ld +>16 lelong >0 %d Hz + +# Creative Labs AUDIO stuff +0 string MThd Standard MIDI data +>9 byte >0 (format %d) +>11 byte >1 using %d channels +0 string CTMF Creative Music (CMF) data +0 string SBI SoundBlaster instrument data +0 string Creative\ Voice\ File Creative Labs voice data +# is this next line right? it came this way... +>19 byte 0x1A +>23 byte >0 - version %d +>22 byte >0 \b.%d + +# first entry is also the string "NTRK" +0 belong 0x4e54524b MultiTrack sound data +>4 belong x - version %ld + +# Microsoft WAVE format (*.wav) +# [GRR 950115: probably all of the shorts and longs should be leshort/lelong] +0 string RIFF Microsoft RIFF +>8 string WAVE \b, WAVE audio data +>34 short >0 \b, %d bit +>22 short =1 \b, mono +>22 short =2 \b, stereo +>22 short >2 \b, %d channels +>24 long >0 %d Hz + +# 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) diff --git a/usr.bin/file/Magdir/blit b/usr.bin/file/Magdir/blit index 0f4804d..7a470ed 100644 --- a/usr.bin/file/Magdir/blit +++ b/usr.bin/file/Magdir/blit @@ -1,4 +1,7 @@ -# 68K Blit stuff as seen from 680x0 machine + +#------------------------------------------------------------------------------ +# 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 diff --git a/usr.bin/file/Magdir/c-lang b/usr.bin/file/Magdir/c-lang index 79b2254..1b01475 100644 --- a/usr.bin/file/Magdir/c-lang +++ b/usr.bin/file/Magdir/c-lang @@ -1,3 +1,13 @@ -# 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 program text + +#------------------------------------------------------------------------------ +# c-lang: file(1) magic for C programs (or REXX) +# + +# XPM icons (Greg Roelofs, newt@uchicago.edu) +# if you uncomment "/*" for C/REXX below, also uncomment this entry +#0 string /*\ XPM\ */ X pixmap image data + +# this first will upset you if you're a PL/1 shop... +# in which case rm it; ascmagic will catch real C programs +#0 string /* C or REXX program text +0 string // C++ program text diff --git a/usr.bin/file/Magdir/chi b/usr.bin/file/Magdir/chi index 2dfbfcf..ee450f5 100644 --- a/usr.bin/file/Magdir/chi +++ b/usr.bin/file/Magdir/chi @@ -1,4 +1,7 @@ -# ChiWriter files + +#------------------------------------------------------------------------------ +# chi: file(1) magic for ChiWriter files +# 0 string \\1cw\ ChiWriter file >5 string >\0 version %s 0 string \\1cw ChiWriter file diff --git a/usr.bin/file/Magdir/clipper b/usr.bin/file/Magdir/clipper index f4e9fa7..c325cb8 100644 --- a/usr.bin/file/Magdir/clipper +++ b/usr.bin/file/Magdir/clipper @@ -1,5 +1,6 @@ -# -# Intergraph, formerly Fairchild, Clipper. + +#------------------------------------------------------------------------------ +# clipper: file(1) magic for Intergraph (formerly Fairchild) Clipper. # # XXX - what byte order does the Clipper use? # diff --git a/usr.bin/file/Magdir/commands b/usr.bin/file/Magdir/commands index d7c04c1..8a27607 100644 --- a/usr.bin/file/Magdir/commands +++ b/usr.bin/file/Magdir/commands @@ -1,40 +1,75 @@ -# -# "Commands": stuff for various shells and interpreters. + +#------------------------------------------------------------------------------ +# commands: file(1) magic for various shells and interpreters # 0 string :\ shell archive or commands for antique kernel text -0 string #!/bin/sh Bourne Shell script text -0 string #!\ /bin/sh Bourne Shell script text -0 string #!/bin/csh C Shell script text -0 string #!\ /bin/csh C Shell script text +0 string #!/bin/sh Bourne shell script text +0 string #!\ /bin/sh Bourne shell script text +0 string #!/bin/csh C shell script text +0 string #!\ /bin/csh C shell script text # korn shell magic, sent by George Wu, gwu@clyde.att.com -0 string #!/bin/ksh Korn Shell script text -0 string #!\ /bin/ksh Korn Shell script text -0 string #!/bin/tcsh Tenex C Shell script text -0 string #!\ /bin/tcsh Tenex C Shell script text -0 string #!/usr/local/tcsh Tenex C Shell script text -0 string #!\ /usr/local/tcsh Tenex C Shell script text -0 string #!/usr/local/bin/tcsh Tenex C Shell script text -0 string #!\ /usr/local/bin/tcsh Tenex C Shell script text -0 string #!/bin/awk Awk Commands text -0 string #!\ /bin/awk Awk Commands text +0 string #!/bin/ksh Korn shell script text +0 string #!\ /bin/ksh Korn shell script text +0 string #!/bin/tcsh Tenex C shell script text +0 string #!\ /bin/tcsh Tenex C shell script text +0 string #!/usr/local/tcsh Tenex C shell script text +0 string #!\ /usr/local/tcsh Tenex C shell script text +0 string #!/usr/local/bin/tcsh Tenex C shell script text +0 string #!\ /usr/local/bin/tcsh Tenex C shell script text +# +# zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson) +0 string #!/usr/local/bin/zsh Paul Falstad's zsh +0 string #!\ /usr/local/bin/zsh Paul Falstad's zsh +0 string #!/usr/local/bin/ash Neil Brown's ash +0 string #!\ /usr/local/bin/ash Neil Brown's ash +0 string #!/usr/local/bin/ae Neil Brown's ae +0 string #!\ /usr/local/bin/ae Neil Brown's ae +0 string #!/bin/nawk new awk script text +0 string #!\ /bin/nawk new awk script text +0 string #!/usr/bin/nawk new awk script text +0 string #!\ /usr/bin/nawk new awk script text +0 string #!/usr/local/bin/nawk new awk script text +0 string #!\ /usr/local/bin/nawk new awk script text +0 string #!/bin/gawk GNU awk script text +0 string #!\ /bin/gawk GNU awk script text +0 string #!/usr/bin/gawk GNU awk script text +0 string #!\ /usr/bin/gawk GNU awk script text +0 string #!/usr/local/bin/gawk GNU awk script text +0 string #!\ /usr/local/bin/gawk GNU awk script text +# +0 string #!/bin/awk awk commands text +0 string #!\ /bin/awk awk commands text +0 string #!/usr/bin/awk awk commands text +0 string #!\ /usr/bin/awk awk commands text +0 string BEGIN awk commands text + +# For Larry Wall's perl language. The ``eval'' line recognizes an +# outrageously clever hack for USG systems. +# Keith Waclena <keith@cerberus.uchicago.edu> +0 string #!/bin/perl perl commands text +0 string #!\ /bin/perl perl commands text +0 string eval\ "exec\ /bin/perl perl commands text +0 string #!/usr/bin/perl perl commands text +0 string #!\ /usr/bin/perl perl commands text +0 string eval\ "exec\ /usr/bin/perl perl commands text +0 string #!/usr/local/bin/perl perl commands text +0 string #!\ /usr/local/bin/perl perl commands text +0 string eval\ "exec\ /usr/local/bin/perl perl commands text + +# AT&T Bell Labs' Plan 9 shell +0 string #!/bin/rc Plan 9 rc shell script text +0 string #!\ /bin/rc Plan 9 rc shell script text + +# bash shell magic, from Peter Tobias (tobias@server.et-inf.fho-emden.de) +0 string #!/bin/bash Bourne-Again shell script text +0 string #!\ /bin/bash Bourne-Again shell script text +0 string #!/usr/local/bin/bash Bourne-Again shell script text +0 string #!\ /usr/local/bin/bash Bourne-Again shell script text + +# generic shell magic 0 string #!\ / a >3 string >\0 %s script text 0 string #!/ a >2 string >\0 %s script text 0 string #!\ commands text >3 string >\0 for %s - -# For Larry Wall's perl language. The ``eval'' line recognizes an -# outrageously clever hack for USG systems. -# Keith Waclena <keith@cerberus.uchicago.edu> -0 string #!/bin/perl perl commands text -0 string #!\ /bin/perl perl commands text -0 string eval\ "exec\ /bin/perl perl commands text -0 string #!/usr/bin/perl perl commands text -0 string #!\ /usr/bin/perl perl commands text -0 string eval\ "exec\ /usr/bin/perl perl commands text -0 string #!/usr/local/bin/perl perl commands text -0 string #!\ /usr/local/bin/perl perl commands text -0 string eval\ "exec\ /usr/local/bin/perl perl commands text -0 string #!/bin/rc Plan 9 rc Shell script text -0 string #!\ /bin/rc Plan 9 rc Shell script text diff --git a/usr.bin/file/Magdir/compress b/usr.bin/file/Magdir/compress index 6309c180..2cf8d19 100644 --- a/usr.bin/file/Magdir/compress +++ b/usr.bin/file/Magdir/compress @@ -1,25 +1,60 @@ + +#------------------------------------------------------------------------------ +# compress: file(1) magic for pure-compression formats (no archives) +# +# compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, etc. # # Formats for various forms of compressed data # Formats for "compress" proper have been moved into "compress.c", # because it tries to uncompress it to figure out what's inside. -# According to gzip.h, this is the correct byte order for packed data. -# -0 string \037\036 packed data +# standard unix compress +0 string \037\235 compress'd data +>2 byte&0x80 >0 block compressed +>2 byte&0x1f x %d bits +# gzip (GNU zip, not to be confused with Info-ZIP or PKWARE zip archiver) +0 string \037\213 gzip compressed data +>2 byte <8 \b, reserved method, +>2 byte 8 \b, deflated, +>3 byte &0x01 ASCII, +>3 byte &0x02 continuation, +>3 byte &0x04 extra field, +>3 byte &0x08 original filename, +>3 byte &0x10 comment, +>3 byte &0x20 encrypted, +>4 ledate x last modified: %s, +>8 byte 2 max compression, +>8 byte 4 max speed, +>9 byte =0x00 os: MS-DOS +>9 byte =0x01 os: Amiga +>9 byte =0x02 os: VMS +>9 byte =0x03 os: Unix +>9 byte =0x05 os: Atari +>9 byte =0x06 os: OS/2 +>9 byte =0x07 os: MacOS +>9 byte =0x0A os: Tops/20 +>9 byte =0x0B os: Win/32 + +# packed data, Huffman (minimum redundancy) codes on a byte-by-byte basis +0 string \037\036 packed data +>2 belong >1 \b, %d characters originally +>2 belong =1 \b, %d character originally # -# This magic number is byte-order-independent. -# +# This magic number is byte-order-independent. XXX - Does that mean this +# is big-endian, little-endian, either, or that you can't tell? +# this short is valid for SunOS 0 short 017437 old packed data -# # XXX - why *two* entries for "compacted data", one of which is # byte-order independent, and one of which is byte-order dependent? # 0 short 0x1fff compacted data +# This string is valid for SunOS (BE) and a matching "short" is listed +# in the Ultrix (LE) magic file. 0 string \377\037 compacted data 0 short 0145405 huf output -# + # Squeeze and Crunch... # These numbers were gleaned from the Unix versions of the programs to # handle these formats. Note that I can only uncrunch, not crunch, and @@ -27,14 +62,25 @@ # Keith Waclena <keith@cerberus.uchicago.edu> 0 leshort 0x76FF squeezed data (CP/M, DOS) 0 leshort 0x76FE crunched data (CP/M, DOS) + # Freeze -0 string \037\237 Frozen file 2.1 -0 string \037\236 Frozen file 1.0 (or gzip 0.5) +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. # -# Standard unix compress +# 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. # -0 string \037\235 compressed data ->2 byte&0x80 >0 block compressed ->2 byte&0x1f x %d bits - -0 string \037\240 LZH compressed data +# 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 diff --git a/usr.bin/file/Magdir/convex b/usr.bin/file/Magdir/convex index 0220a81..14ed867 100644 --- a/usr.bin/file/Magdir/convex +++ b/usr.bin/file/Magdir/convex @@ -1,4 +1,7 @@ + +#------------------------------------------------------------------------------ +# convex: file(1) magic for Convex boxes # -# XXX - what byte order does a Convex use? +# Convexes are big-endian. # 0 long 0513 Convex executable diff --git a/usr.bin/file/Magdir/database b/usr.bin/file/Magdir/database new file mode 100644 index 0000000..692ce6b --- /dev/null +++ b/usr.bin/file/Magdir/database @@ -0,0 +1,36 @@ + +#------------------------------------------------------------------------------ +# database: file(1) magic for various databases +# +# extracted from header/code files by Graeme Wilford (eep2gw@ee.surrey.ac.uk) +# +# +# GDBM magic numbers +# Will be maintained as part of the GDBM distribution in the future. +# <downsj@teeny.org> +0 belong 0x13579ace GNU dbm 1.x or ndbm database, big endian +0 lelong 0x13579ace GNU dbm 1.x or ndbm database, little endian +0 string GDBM GNU dbm 2.x database +# +0 belong 0x061561 Berkeley DB Hash file +>4 belong >0 (Version %d, +>8 belong 1234 Little Endian, +>8 belong 4321 Big Endian, +>12 belong x Bucket Size %d, +>16 belong x Directory Size %d, +>20 belong x Segment Size %d, +>24 belong x Segment Shift %d, +>28 belong x Overflow Point %d, +>32 belong x Last Freed %d, +>36 belong x Max Bucket %d, +>40 belong x High Mask 0x%x, +>44 belong x Low Mask 0x%x, +>48 belong x Fill Factor %d, +>52 belong x Number of Keys %d) +# +0 belong 0x053162 Berkeley DB Btree file +>4 belong >0 (Version %d, +>8 belong x Page Size %d, +>12 belong x Free Page %d, +>16 belong x Number of Records %d, +>20 belong x Flags 0x%x) diff --git a/usr.bin/file/Magdir/diamond b/usr.bin/file/Magdir/diamond index d515d61..1abd01e 100644 --- a/usr.bin/file/Magdir/diamond +++ b/usr.bin/file/Magdir/diamond @@ -1,3 +1,6 @@ + +#------------------------------------------------------------------------------ +# diamond: file(1) magic for Diamond system # # ... diamond is a multi-media mail and electronic conferencing system.... # diff --git a/usr.bin/file/Magdir/diff b/usr.bin/file/Magdir/diff index abf1b87..9e65146 100644 --- a/usr.bin/file/Magdir/diff +++ b/usr.bin/file/Magdir/diff @@ -1,5 +1,7 @@ + +#------------------------------------------------------------------------------ +# diff: file(1) magic for diff(1) output # -# magic file lines for output from "diff"... 0 string diff\ 'diff' output text 0 string ***\ 'diff' output text 0 string Only\ in\ 'diff' output text diff --git a/usr.bin/file/Magdir/dump b/usr.bin/file/Magdir/dump index d641747..955275b 100644 --- a/usr.bin/file/Magdir/dump +++ b/usr.bin/file/Magdir/dump @@ -1,5 +1,6 @@ -# -# magic.dump, dump file format. For new and old dump filesystems + +#------------------------------------------------------------------------------ +# 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. # diff --git a/usr.bin/file/Magdir/elf b/usr.bin/file/Magdir/elf index e34332d..f99712f 100644 --- a/usr.bin/file/Magdir/elf +++ b/usr.bin/file/Magdir/elf @@ -1,44 +1,56 @@ + +#------------------------------------------------------------------------------ +# elf: file(1) magic for ELF executables # -# ELF -# Missing MIPS image type and flags +# We have to check the byte order flag to see what byte order all the +# other stuff in the header is in. # -# Question marks on processor types flag "should not happen because the -# byte order is wrong". We have to check the byte order flag to see what -# byte order all the other stuff in the header is in. +# Byte order is probably big-endian for MIPS RS3000 and Amdahl. +# MIPS RS3000 may also be for MIPS RS2000. # +# updated by Daniel Quinlan (quinlan@yggdrasil.com) 0 string \177ELF ELF >4 byte 0 invalid class >4 byte 1 32-bit >4 byte 2 64-bit >5 byte 0 invalid byte order >5 byte 1 LSB ->>16 leshort 0 unknown type ->>16 leshort 1 relocatable ->>16 leshort 2 executable ->>16 leshort 3 dynamic lib ->>16 leshort 4 core file ->>18 leshort 0 unknown machine ->>18 leshort 1 WE32100 and up ->>18 leshort 2 SPARC? ->>18 leshort 3 i386 (386 and up) ->>18 leshort 4 M68000? ->>18 leshort 5 M88000? ->>18 leshort 7 i860 ->>20 lelong 1 Version 1 +>>16 leshort 0 no file type, +>>16 leshort 1 relocatable, +>>16 leshort 2 executable, +>>16 leshort 3 shared object, +>>16 leshort 4 core file, +>>16 leshort &0xff00 processor-specific, +>>18 leshort 0 no machine, +>>18 leshort 1 AT&T WE32100 - invalid byte order, +>>18 leshort 2 SPARC - invalid byte order, +>>18 leshort 3 Intel 80386, +>>18 leshort 4 Motorola 68000 - invalid byte order, +>>18 leshort 5 Motorola 88000 - invalid byte order, +>>18 leshort 6 Intel 80486, +>>18 leshort 7 Intel 80860, +>>18 leshort 8 MIPS RS3000, +>>18 leshort 9 Amdahl, +>>20 lelong 0 invalid version +>>20 lelong 1 version 1 >>36 lelong 1 MathCoPro/FPU/MAU Required >5 byte 2 MSB ->>16 beshort 0 unknown type ->>16 beshort 1 relocatable ->>16 beshort 2 executable ->>16 beshort 3 dynamic lib ->>16 beshort 4 core file ->>18 beshort 0 unknown machine ->>18 beshort 1 WE32100 and up ->>18 beshort 2 SPARC ->>18 beshort 3 i386 (386 and up)? ->>18 beshort 4 M68000 ->>18 beshort 5 M88000 ->>18 beshort 7 i860 ->>20 belong 1 Version 1 +>>16 beshort 0 no file type, +>>16 beshort 1 relocatable, +>>16 beshort 2 executable, +>>16 beshort 3 shared object, +>>16 beshort 4 core file, +>>16 beshort &0xff00 processor-specific, +>>18 beshort 0 no machine, +>>18 beshort 1 AT&T WE32100, +>>18 beshort 2 SPARC, +>>18 beshort 3 Intel 80386 - invalid byte order, +>>18 beshort 4 Motorola 68000, +>>18 beshort 5 Motorola 88000, +>>18 beshort 6 Intel 80486 - invalid byte order, +>>18 beshort 7 Intel 80860, +>>18 beshort 8 MIPS RS3000, +>>18 leshort 9 Amdahl, +>>20 belong 0 invalid version +>>20 belong 1 version 1 >>36 belong 1 MathCoPro/FPU/MAU Required - diff --git a/usr.bin/file/Magdir/encore b/usr.bin/file/Magdir/encore index 7244f87..63cb5d4 100644 --- a/usr.bin/file/Magdir/encore +++ b/usr.bin/file/Magdir/encore @@ -1,5 +1,6 @@ -# -# magic.encore: Recognize encore machines + +#------------------------------------------------------------------------------ +# 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). diff --git a/usr.bin/file/Magdir/filesystems b/usr.bin/file/Magdir/filesystems new file mode 100644 index 0000000..125250d --- /dev/null +++ b/usr.bin/file/Magdir/filesystems @@ -0,0 +1,6 @@ + +#------------------------------------------------------------------------------ +# filesystems: file(1) magic for different filesystems +# +0x438 leshort 0xEF53 Linux/i386 ext2 filesystem +0 string \366\366\366\366 PC formatted floppy with no filesystem diff --git a/usr.bin/file/Magdir/fonts b/usr.bin/file/Magdir/fonts index 594db76..dd7907f 100644 --- a/usr.bin/file/Magdir/fonts +++ b/usr.bin/file/Magdir/fonts @@ -1,3 +1,26 @@ -0 string FONT ASCII vfont text -0 short 0436 Berkeley vfont data -0 short 017001 byte-swapped Berkeley vfont data + +#------------------------------------------------------------------------------ +# fonts: file(1) magic for font data +# +0 string FONT ASCII vfont text +0 short 0436 Berkeley vfont data +0 short 017001 byte-swapped Berkeley vfont data + +# PostScript fonts (must precede "printer" entries), quinlan@yggdrasil.com +0 string %!PS-AdobeFont-1.0 PostScript Type 1 font text +>20 string >\0 (%s) +6 string %!PS-AdobeFont-1.0 PostScript Type 1 font program data + +# X11 font files in SNF (Server Natural Format) format +0 belong 00000004 X11 SNF font data, MSB first +0 lelong 00000004 X11 SNF font data, LSB first + +# X11 Bitmap Distribution Format, from Daniel Quinlan (quinlan@yggdrasil.com) +0 string STARTFONT\040 X11 BDF font text + +# X11 fonts, from Daniel Quinlan (quinlan@yggdrasil.com) +# PCF must come before SGI additions ("MIPSEL MIPS-II COFF" collides) +0 string \001fcp X11 Portable Compiled Font data +>12 byte 0x02 \b, LSB first +>12 byte 0x0a \b, MSB first +0 string D1.0\015 X11 Speedo font data diff --git a/usr.bin/file/Magdir/frame b/usr.bin/file/Magdir/frame index 46e8648..47e4897 100644 --- a/usr.bin/file/Magdir/frame +++ b/usr.bin/file/Magdir/frame @@ -1,28 +1,36 @@ + +#------------------------------------------------------------------------------ +# frame: file(1) magic for FrameMaker files # -# Magic number for FrameMaker files # This stuff came on a FrameMaker demo tape, most of which is # copyright, but this file is "published" as witness the following: # 0 string \<MakerFile FrameMaker document +>11 string 4.0 (4.0 >11 string 3.0 (3.0 >11 string 2.0 (2.0 >11 string 1.0 (1.0 >14 byte x %c) -0 string \<MIFFile FrameMaker MIF file +0 string \<MIFFile FrameMaker MIF (ASCII) file +>9 string 4.0 (4.0) >9 string 3.0 (3.0) >9 string 2.0 (2.0) >9 string 1.0 (1.x) -0 string \<MakerDictionary FraneMaker Dictionary text +0 string \<MakerDictionary FrameMaker Dictionary text >17 string 3.0 (3.0) >17 string 2.0 (2.0) >17 string 1.0 (1.x) -0 string \<MakerScreenFon FrameMaker Font file +0 string \<MakerScreenFont FrameMaker Font file >17 string 1.01 (%s) 0 string \<MML FrameMaker MML file -0 string \<Book FrameMaker Book file +0 string \<BookFile FrameMaker Book file >10 string 3.0 (3.0 >10 string 2.0 (2.0 >10 string 1.0 (1.0 >13 byte x %c) -0 string \<Maker Intermediate Print File FrameMaker IPL file -0 string \<MakerDictionary FraneMaker Dictionary text +# XXX - this book entry should be verified, if you find one, uncomment this +#0 string \<Book\ FrameMaker Book (ASCII) file +#>6 string 3.0 (3.0) +#>6 string 2.0 (2.0) +#>6 string 1.0 (1.0) +0 string \<Maker Intermediate Print File FrameMaker IPL file diff --git a/usr.bin/file/Magdir/hp b/usr.bin/file/Magdir/hp index db02e54..82d1130 100644 --- a/usr.bin/file/Magdir/hp +++ b/usr.bin/file/Magdir/hp @@ -1,5 +1,6 @@ -# -# magic.hp: Hewlett Packard Magic + +#------------------------------------------------------------------------------ +# 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 @@ -15,18 +16,26 @@ # UNIX environment atop the "SUN kernel"; dunno whether it was # big-endian or little-endian. # -# I'm guessing that the 200 series was 68K-based; the 300 and 400 series -# are. +# 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. +# +# 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 0x20b hp800 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 +>18 beshort ^040000 not stripped >22 beshort >0 - version %ld 0 beshort 0624 apollo a88k COFF executable ->18 beshort ^040000 not stripped +>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 @@ -36,101 +45,101 @@ 0 belong 0x02100106 HPPA-RISC1.1 relocatable object 0 belong 0x02100107 HPPA-RISC1.1 executable >(144) belong 0x054ef630 dynamically linked ->96 belong >0 -not stripped +>96 belong >0 - not stripped 0 belong 0x02100108 HPPA-RISC1.1 shared executable >(144) belong 0x054ef630 dynamically linked ->96 belong >0 -not stripped +>96 belong >0 - not stripped 0 belong 0x0210010b HPPA-RISC1.1 demand-load executable >(144) belong 0x054ef630 dynamically linked ->96 belong >0 -not stripped +>96 belong >0 - not stripped 0 belong 0x0210010e HPPA-RISC1.1 shared library ->96 belong >0 -not stripped +>96 belong >0 - not stripped 0 belong 0x0210010d HPPA-RISC1.1 dynamic load library ->96 belong >0 -not stripped +>96 belong >0 - not stripped #### 800 0 belong 0x020b0106 HP s800 relocatable object 0 belong 0x020b0107 HP s800 executable >(144) belong 0x054ef630 dynamically linked ->96 belong >0 -not stripped +>96 belong >0 - not stripped 0 belong 0x020b0108 HP s800 shared executable >(144) belong 0x054ef630 dynamically linked ->96 belong >0 -not stripped +>96 belong >0 - not stripped 0 belong 0x020b010b HP s800 demand-load executable >(144) belong 0x054ef630 dynamically linked ->96 belong >0 -not stripped +>96 belong >0 - not stripped 0 belong 0x020b010e HP s800 shared library ->96 belong >0 -not stripped +>96 belong >0 - not stripped 0 belong 0x020b010d HP s800 dynamic load library ->96 belong >0 -not stripped +>96 belong >0 - not stripped 0 belong 0x213c6172 archive file ->68 belong 0x020b0619 -HP s800 relocatable library +>68 belong 0x020b0619 - HP s800 relocatable library #### 500 0 long 0x02080106 HP s500 relocatable executable ->16 long >0 -version %ld +>16 long >0 - version %ld 0 long 0x02080107 HP s500 executable ->16 long >0 -version %ld +>16 long >0 - version %ld 0 long 0x02080108 HP s500 pure executable ->16 long >0 -version %ld +>16 long >0 - version %ld #### 200 0 belong 0x020c0108 HP s200 pure executable ->4 beshort >0 -version %ld +>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 +>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 +>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 +>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 +>4 beshort >0 - version %ld >36 belong >0 not stripped 0 belong 0x020a0107 HP s200 (2.x release) executable ->4 beshort >0 -version %ld +>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 +>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 +>4 beshort >0 - version %ld +>6 beshort >0 - highwater %d >36 belong >0 not stripped #### MISC @@ -142,10 +151,11 @@ 0 long 0x015821a6 HP core file 0 long 0x4da7eee8 HP-WINDOWS font ->8 byte >0 -version %ld +>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 @@ -189,3 +199,14 @@ >10 string A(G) A(G) >14 string F(.) F(.); >14 string F(,) F(,); + +# hpBSD magic numbers +0 beshort 200 hp200 (68010) BSD +>2 beshort 0407 impure binary +>2 beshort 0410 read-only binary +>2 beshort 0413 demand paged binary +0 beshort 300 hp300 (68020+68881) BSD +>2 beshort 0407 impure binary +>2 beshort 0410 read-only binary +>2 beshort 0413 demand paged binary + diff --git a/usr.bin/file/Magdir/ibm370 b/usr.bin/file/Magdir/ibm370 index b40fbf4..32d6bec 100644 --- a/usr.bin/file/Magdir/ibm370 +++ b/usr.bin/file/Magdir/ibm370 @@ -1,5 +1,6 @@ -# -# IBM 370 and compatibles. + +#------------------------------------------------------------------------------ +# 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"? @@ -16,4 +17,3 @@ 0 beshort 0535 SVR2 executable (USS/370) >12 belong >0 not stripped >24 belong >0 - version %ld - diff --git a/usr.bin/file/Magdir/ibm6000 b/usr.bin/file/Magdir/ibm6000 index e4d73df..7b8e494 100644 --- a/usr.bin/file/Magdir/ibm6000 +++ b/usr.bin/file/Magdir/ibm6000 @@ -1,7 +1,6 @@ -# -# magic.rs6000: -# -# RS/6000 and the RT PC. + +#------------------------------------------------------------------------------ +# 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 diff --git a/usr.bin/file/Magdir/iff b/usr.bin/file/Magdir/iff index 2d2f95b..68d1b79 100644 --- a/usr.bin/file/Magdir/iff +++ b/usr.bin/file/Magdir/iff @@ -1,5 +1,28 @@ -# image file format -# From 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 + +#------------------------------------------------------------------------------ +# iff: file(1) magic for Interchange File Format (see also "audio" & "images") +# +# Daniel Quinlan (quinlan@yggdrasil.com) -- IFF was designed by Electronic +# Arts for file interchange. It has also been used by Apple, SGI, and +# especially Commodore-Amiga. +# +# IFF files begin with an 8 byte FORM header, followed by a 4 character +# FORM type, which is followed by the first chunk in the FORM. + +0 string FORM IFF data +#>4 belong x \b, FORM is %d bytes long +# audio formats +>8 string AIFF \b, AIFF audio +>8 string AIFC \b, AIFF-C compressed audio +>8 string 8SVX \b, 8SVX 8-bit sampled sound voice +>8 string SAMP \b, SAMP sampled audio +# image formats +>8 string ILBMBMHD \b, ILBM interleaved image +>>20 beshort x \b, %d x +>>22 beshort x %d +>8 string RGBN \b, RGBN 12-bit RGB image +>8 string RGB8 \b, RGB8 24-bit RGB image +>8 string DR2D \b, DR2D 2-D object +>8 string TDDD \b, TDDD 3-D rendering +# other formats +>8 string FTXT \b, FTXT formatted text diff --git a/usr.bin/file/Magdir/images b/usr.bin/file/Magdir/images index 074c743..4ff0824 100644 --- a/usr.bin/file/Magdir/images +++ b/usr.bin/file/Magdir/images @@ -1,36 +1,58 @@ -# image formats, originally from jef@helios.ee.lbl.gov (Jef Poskanzer), + +#------------------------------------------------------------------------------ +# 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. # -# XXX - byte order for GIF and TIFF fields? -# +# little magic: PCX (first byte is 0x0a) +# no magic: Targa + +# PBMPLUS images +# The next byte following the magic is always whitespace. +0 string P1 PBM image text +0 string P2 PGM image text +0 string P3 PPM image text +0 string P4 PBM "rawbits" image data +0 string P5 PGM "rawbits" image data +0 string P6 PPM "rawbits" image data -0 string xbtoa btoa'd file - -# PBMPLUS -0 string P1 PBM file -0 string P2 PGM file -0 string P3 PPM file -0 string P4 PBM "rawbits" file -0 string P5 PGM "rawbits" file -0 string P6 PPM "rawbits" file - -# TIFF and friends -0 string \115\115 TIFF file, big-endian ->2 short >0 version %d -0 string \111\111 TIFF file, little-endian ->2 short >0 version %d +# NIFF (Navy Interchange File Format, a modification of TIFF) images +0 string IIN1 NIFF image data + +# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com) +# The second word of TIFF files is the TIFF version number, 42, which has +# never changed. The TIFF specification recommends testing for it. +0 string MM\x00\x2a TIFF image data, big-endian +0 string II\x2a\x00 TIFF image data, little-endian + +# PNG [Portable Network Graphics, or "PNG's Not GIF"] images +# (Greg Roelofs, newt@uchicago.edu) +# +# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ... # -# NIFF (Navy Interchange File Format, a modification of TIFF) -0 string IIN1 NIFF raster data +0 string \x89PNG PNG image data, +>4 belong !0x0d0a1a0a CORRUPTED, +>16 belong x %ld x +>20 belong x %ld, +>24 byte x %d-bit +>25 byte 0 grayscale, +>25 byte 2 \b/color RGB, +>25 byte 3 colormap, +>25 byte 4 gray+alpha, +>25 byte 6 \b/color RGBA, +#>26 byte 0 deflate/32K, +>28 byte 0 non-interlaced +>28 byte 1 interlaced # GIF -0 string GIF GIF picture ->3 string 87a - version %s ->3 string 89a - version %s +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 &0x40 interlaced, +#>10 byte &0x80 color mapped, >10 byte&0x07 =0x00 2 colors >10 byte&0x07 =0x01 4 colors >10 byte&0x07 =0x02 8 colors @@ -40,30 +62,163 @@ >10 byte&0x07 =0x06 128 colors >10 byte&0x07 =0x07 256 colors -# Miscellany -0 long 1123028772 Artisan image file ->4 long 1 rectangular 24-bit image ->4 long 2 rectangular 8-bit image with colormap ->4 long 3 rectangular 32-bit image (24-bit with matte) -0 string \361\0\100\273 CMU window manager bitmap -0 string #FIG FIG graphics savefile text ->6 string 2.1 Version 2.1 ->6 string 2.0 Version 2.0 +# 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 -8 string ILBM IFF ILBM file -6 string JFIF JPEG picture -0 string ARF_BEGARF PHIGS clear text archive - -# From: <u31b3hs@pool.informatik.rwth-aachen.de> (Michael Haardt) -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 - -0 string %bitmap FBM pixmap ->30 long 0x31 (mono) ->30 long 0x33 (color) - -4 string Research, Digifax-G3-File ->29 byte 1 , fine resolution ->29 byte 0 , normal resolution +>24 string SunGKS \b, SunGKS + +# CGM image files +0 string BEGMF clear text Computer Graphics Metafile +# XXX - questionable magic +0 beshort&0xffe0 0x0020 binary Computer Graphics Metafile +0 beshort 0x3020 character Computer Graphics Metafile + +# MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de) +0 string yz MGR bitmap, modern format, 8-bit aligned +0 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned +0 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned +0 string yx MGR bitmap, modern format, squeezed + +# Fuzzy Bitmap (FBM) images +0 string %bitmap\0 FBM image data +>30 long 0x31 \b, mono +>30 long 0x33 \b, color + +# facsimile data +1 string PC\ Research,\ Inc group 3 fax data +>29 byte 0 \b, normal resolution (204x98 DPI) +>29 byte 1 \b, fine resolution (204x196 DPI) + +# JPEG images +0 beshort 0xffd8 JPEG image data +>6 string JFIF \b, JFIF standard +# HSI is Handmade Software's proprietary JPEG encoding scheme +0 string hsi1 JPEG image data, HSI proprietary + +# PC bitmaps (OS/2, Windoze BMP files) (Greg Roelofs, newt@uchicago.edu) +0 string BM PC bitmap data +>14 leshort 12 \b, OS/2 1.x format +>>18 leshort x \b, %d x +>>20 leshort x %d +>14 leshort 64 \b, OS/2 2.x format +>>18 leshort x \b, %d x +>>20 leshort x %d +>14 leshort 40 \b, Windows 3.x format +>>18 lelong x \b, %d x +>>22 lelong x %d x +>>28 leshort x %d +0 string IC PC icon data +0 string PI PC pointer image data +0 string CI PC color icon data +0 string CP PC color pointer image data +# Conflicts with other entries [BABYL] +#0 string BA PC bitmap array data + +# XPM icons (Greg Roelofs, newt@uchicago.edu) +# note possible collision with C/REXX entry in c-lang; currently commented out +0 string /*\ XPM\ */ X pixmap image text + +# Utah Raster Toolkit RLE images (janl@ifi.uio.no) +0 leshort 0xcc52 RLE image data, +>6 leshort x %d x +>8 leshort x %d +>2 leshort >0 \b, lower left corner: %d +>4 leshort >0 \b, lower right corner: %d +>10 byte&0x1 =0x1 \b, clear first +>10 byte&0x2 =0x2 \b, no background +>10 byte&0x4 =0x4 \b, alpha channel +>10 byte&0x8 =0x8 \b, comment +>11 byte >0 \b, %d color channels +>12 byte >0 \b, %d bits per pixel +>13 byte >0 \b, %d color map channels + +# image file format (Robert Potter, potter@cs.rochester.edu) +0 string Imagefile\ version- iff image data +# this adds the whole header (inc. version number), informative but longish +>10 string >\0 %s + +# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) +0 belong 0x59a66a95 Sun raster image data +>4 belong >0 \b, %d x +>8 belong >0 %d, +>12 belong >0 %d-bit, +#>16 belong >0 %d bytes long, +>20 belong 0 old format, +#>20 belong 1 standard, +>20 belong 2 compressed, +>20 belong 3 RGB, +>20 belong 4 TIFF, +>20 belong 5 IFF, +>20 belong 0xffff reserved for testing, +>24 belong 0 no colormap +>24 belong 1 RGB colormap +>24 belong 2 raw colormap +#>28 belong >0 colormap is %d bytes long + +# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) +# file://sgi.com/graphics/SGIIMAGESPEC +0 beshort 474 SGI image data +#>2 byte 0 \b, verbatim +>2 byte 1 \b, RLE +#>3 byte 1 \b, normal precision +>3 byte 2 \b, high precision +>4 beshort x \b, %d-D +>6 beshort x \b, %d x +>8 beshort x %d +>10 beshort x \b, %d channel +>10 beshort !1 \bs +>80 string >0 \b, "%s" + +0 string IT01 FIT image data +>4 belong x \b, %d x +>8 belong x %d x +>12 belong x %d +# +0 string IT02 FIT image data +>4 belong x \b, %d x +>8 belong x %d x +>12 belong x %d +# +2048 string PCD_IPI Kodak Photo CD image pack file +0 string PCD_OPA Kodak Photo CD overview pack file + +# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> +# FITS is the Flexible Image Transport System, the de facto standard for +# data and image transfer, storage, etc., for the astronomical community. +# (FITS floating point formats are big-endian.) +0 string SIMPLE\ \ = FITS image data +>109 string 8 \b, 8-bit, character or unsigned binary integer +>108 string 16 \b, 16-bit, two's complement binary integer +>107 string \ 32 \b, 32-bit, two's complement binary integer +>107 string -32 \b, 32-bit, floating point, single precision +>107 string -64 \b, 64-bit, floating point, double precision + +# other images +0 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file +0 string !! Bennet Yee's "face" format diff --git a/usr.bin/file/Magdir/intel b/usr.bin/file/Magdir/intel index 3f7ade7..d450e26 100644 --- a/usr.bin/file/Magdir/intel +++ b/usr.bin/file/Magdir/intel @@ -1,6 +1,9 @@ + +#------------------------------------------------------------------------------ +# intel: file(1) magic for x86 Unix # # Various flavors of x86 UNIX executable/object (other than Xenix, which -# is in "microsoft"). DOS is in "ms-dos"; the ambitious soul can do +# 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 @@ -26,6 +29,7 @@ 0 leshort =0522 iAPX 286 executable large model (COFF) >12 lelong >0 not stripped #>22 leshort >0 - version %ld +# SGI labeled the next entry as "iAPX 386 executable" --Dan Quinlan 0 leshort =0514 80386 COFF executable >12 lelong >0 not stripped >22 leshort >0 - version %ld diff --git a/usr.bin/file/Magdir/interleaf b/usr.bin/file/Magdir/interleaf index ab5f3c6..3eea3cf 100644 --- a/usr.bin/file/Magdir/interleaf +++ b/usr.bin/file/Magdir/interleaf @@ -1,7 +1,8 @@ + +#------------------------------------------------------------------------------ +# interleaf: file(1) magic for InterLeaf TPS: # -# magic for InterLeaf TPS: 0 string =\210OPS Interleaf saved data 0 string =<!OPS Interleaf document text ->5 string ,\ Version\ (version ->>14 string >\0 %s) - +>5 string ,\ Version\ = \b, version +>>17 string >\0 %.3s diff --git a/usr.bin/file/Magdir/ispell b/usr.bin/file/Magdir/ispell index 04814b8..3c6bcdc 100644 --- a/usr.bin/file/Magdir/ispell +++ b/usr.bin/file/Magdir/ispell @@ -1,23 +1,54 @@ + +#------------------------------------------------------------------------------ +# ispell: file(1) magic for ispell # -# magic.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.) # -# XXX - byte order? +# Updated by Daniel Quinlan (quinlan@yggdrasil.com) # -0 short 0xffff9601 ispell hash file ->2 short 0x00 - 8-bit, no capitalization, 26 flags ->2 short 0x01 - 7-bit, no capitalization, 26 flags ->2 short 0x02 - 8-bit, capitalization, 26 flags ->2 short 0x03 - 7-bit, capitalization, 26 flags ->2 short 0x04 - 8-bit, no capitalization, 52 flags ->2 short 0x05 - 7-bit, no capitalization, 52 flags ->2 short 0x06 - 8-bit, capitalization, 52 flags ->2 short 0x07 - 7-bit, capitalization, 52 flags ->2 short 0x08 - 8-bit, no capitalization, 128 flags ->2 short 0x09 - 7-bit, no capitalization, 128 flags ->2 short 0x0A - 8-bit, capitalization, 128 flags ->2 short 0x0B - 7-bit, capitalization, 128 flags ->2 short 0x0C - 8-bit, no capitalization, 256 flags ->2 short 0x0D - 7-bit, no capitalization, 256 flags ->2 short 0x0E - 8-bit, capitalization, 256 flags ->2 short 0x0F - 7-bit, capitalization, 256 flags ->4 short >0 and %d string characters +0 leshort&0xFFFC 0x9600 little endian ispell +>0 byte 0 hash file (?), +>0 byte 1 3.0 hash file, +>0 byte 2 3.1 hash file, +>0 byte 3 hash file (?), +>2 leshort 0x00 8-bit, no capitalization, 26 flags +>2 leshort 0x01 7-bit, no capitalization, 26 flags +>2 leshort 0x02 8-bit, capitalization, 26 flags +>2 leshort 0x03 7-bit, capitalization, 26 flags +>2 leshort 0x04 8-bit, no capitalization, 52 flags +>2 leshort 0x05 7-bit, no capitalization, 52 flags +>2 leshort 0x06 8-bit, capitalization, 52 flags +>2 leshort 0x07 7-bit, capitalization, 52 flags +>2 leshort 0x08 8-bit, no capitalization, 128 flags +>2 leshort 0x09 7-bit, no capitalization, 128 flags +>2 leshort 0x0A 8-bit, capitalization, 128 flags +>2 leshort 0x0B 7-bit, capitalization, 128 flags +>2 leshort 0x0C 8-bit, no capitalization, 256 flags +>2 leshort 0x0D 7-bit, no capitalization, 256 flags +>2 leshort 0x0E 8-bit, capitalization, 256 flags +>2 leshort 0x0F 7-bit, capitalization, 256 flags +>4 leshort >0 and %d string characters +0 beshort&0xFFFC 0x9600 big endian ispell +>1 byte 0 hash file (?), +>1 byte 1 3.0 hash file, +>1 byte 2 3.1 hash file, +>1 byte 3 hash file (?), +>2 beshort 0x00 8-bit, no capitalization, 26 flags +>2 beshort 0x01 7-bit, no capitalization, 26 flags +>2 beshort 0x02 8-bit, capitalization, 26 flags +>2 beshort 0x03 7-bit, capitalization, 26 flags +>2 beshort 0x04 8-bit, no capitalization, 52 flags +>2 beshort 0x05 7-bit, no capitalization, 52 flags +>2 beshort 0x06 8-bit, capitalization, 52 flags +>2 beshort 0x07 7-bit, capitalization, 52 flags +>2 beshort 0x08 8-bit, no capitalization, 128 flags +>2 beshort 0x09 7-bit, no capitalization, 128 flags +>2 beshort 0x0A 8-bit, capitalization, 128 flags +>2 beshort 0x0B 7-bit, capitalization, 128 flags +>2 beshort 0x0C 8-bit, no capitalization, 256 flags +>2 beshort 0x0D 7-bit, no capitalization, 256 flags +>2 beshort 0x0E 8-bit, capitalization, 256 flags +>2 beshort 0x0F 7-bit, capitalization, 256 flags +>4 beshort >0 and %d string characters diff --git a/usr.bin/file/Magdir/karma b/usr.bin/file/Magdir/karma new file mode 100644 index 0000000..e256abf --- /dev/null +++ b/usr.bin/file/Magdir/karma @@ -0,0 +1,8 @@ + +#------------------------------------------------------------------------------ +# karma: file(1) magic for Karma data files +# +# From <rgooch@atnf.csiro.au> + +0 string KarmaRHD Version Karma Data Structure Version +>16 long x %lu diff --git a/usr.bin/file/Magdir/lex b/usr.bin/file/Magdir/lex index 929e68d..7b6d0f7 100644 --- a/usr.bin/file/Magdir/lex +++ b/usr.bin/file/Magdir/lex @@ -1,3 +1,11 @@ + +#------------------------------------------------------------------------------ +# lex: file(1) magic for lex +# # derived empirically, your offsets may vary! -53 string yyprevious c program text (from lex) +53 string yyprevious C program text (from lex) >3 string >\0 for %s +# C program text from GNU flex, from Daniel Quinlan <quinlan@yggdrasil.com> +21 string generated\ by\ flex C program text (from flex) +# lex description file, from Daniel Quinlan <quinlan@yggdrasil.com> +0 string %{ lex description text diff --git a/usr.bin/file/Magdir/lif b/usr.bin/file/Magdir/lif index 9ac80b9..f6d7901 100644 --- a/usr.bin/file/Magdir/lif +++ b/usr.bin/file/Magdir/lif @@ -1,6 +1,7 @@ + +#------------------------------------------------------------------------------ +# lif: file(1) magic for lif # -# magic.lif: -# -# XXX - byte order? +# XXX - byte order? (Probably beshort, Daniel Quinlan <quinlan@yggdrasil.com>) # 0 short 0x8000 lif file diff --git a/usr.bin/file/Magdir/linux b/usr.bin/file/Magdir/linux index 7c2855e..a6e7520 100644 --- a/usr.bin/file/Magdir/linux +++ b/usr.bin/file/Magdir/linux @@ -1,11 +1,55 @@ -# Values for Linux/i386 binaries, From: Rik Faith <faith@cs.unc.edu> -2 leshort 100 Linux/i386 ->0 leshort 0407 executable or impure executable (OMAGIC) ->0 leshort 0410 pure executable (NMAGIC) ->0 leshort 0413 demand-paged executable (ZMAGIC) ->0 leshort 0314 demand-paged executable (QMAGIC) ->16 lelong >0 not stripped ->0 string Jump jump -# core dump file -216 lelong 0421 core file (Linux) ->220 string >\0 core file (Linux) of %s + +#------------------------------------------------------------------------------ +# linux: file(1) magic for Linux files +# +# Values for Linux/i386 binaries, from Daniel Quinlan <quinlan@yggdrasil.com> +# The following basic Linux magic is useful for reference, but using +# "long" magic is a better practice in order to avoid collisions. +# +# 2 leshort 100 Linux/i386 +# >0 leshort 0407 impure executable (OMAGIC) +# >0 leshort 0410 pure executable (NMAGIC) +# >0 leshort 0413 demand-paged executable (ZMAGIC) +# >0 leshort 0314 demand-paged executable (QMAGIC) +# +0 lelong 0x00640107 Linux/i386 impure executable (OMAGIC) +>16 lelong 0 \b, stripped +0 lelong 0x00640108 Linux/i386 pure executable (NMAGIC) +>16 lelong 0 \b, stripped +0 lelong 0x0064010b Linux/i386 demand-paged executable (ZMAGIC) +>16 lelong 0 \b, stripped +0 lelong 0x006400cc Linux/i386 demand-paged executable (QMAGIC) +>16 lelong 0 \b, stripped +# +0 string \007\001\000 Linux/i386 object file +>20 lelong >0x1020 \b, DLL library +# message catalogs, from Mitchum DSouza <m.dsouza@mrc-apu.cam.ac.uk> +0 string *nazgul* compiled message catalog +>8 lelong >0 \b, version %ld +# core dump file, from Bill Reynolds <bill@goshawk.lanl.gov> +216 lelong 0421 Linux/i386 core file +>220 string >\0 of '%s' +>200 lelong >0 (signal %d) +# +# LILO boot/chain loaders, from Daniel Quinlan <quinlan@yggdrasil.com> +# this can be overridden by the DOS executable (COM) entry +2 string LILO Linux/i386 LILO boot/chain loader +# +# Debian Packages, from Peter Tobias <tobias@server.et-inf.fho-emden.de> +0 string 0.9 +>8 byte 0x0a Debian Binary Package +>>3 byte >0 \b, created by dpkg 0.9%c +>>4 byte >0 pl%c +# PSF fonts, from H. Peter Anvin <hpa@yggdrasil.com> +0 leshort 0x0436 Linux/i386 PC Screen Font data, +>2 byte 0 256 characters, no directory, +>2 byte 1 512 characters, no directory, +>2 byte 2 256 characters, Unicode directory, +>2 byte 3 512 characters, Unicode directory, +>3 byte >0 8x%d +# Linux swap file, from Daniel Quinlan <quinlan@yggdrasil.com> +4086 string SWAP-SPACE Linux/i386 swap file +# From: Erik Troan <ewt@redhat.com> +0 leshort 0x00070183 ECOFF (Linux/OSF) Alpha binary +>10 leshort 0x0001 not stripped +>10 leshort 0x0000 stripped diff --git a/usr.bin/file/Magdir/lisp b/usr.bin/file/Magdir/lisp new file mode 100644 index 0000000..ac4ba77 --- /dev/null +++ b/usr.bin/file/Magdir/lisp @@ -0,0 +1,10 @@ + +#------------------------------------------------------------------------------ +# lisp: file(1) magic for lisp programs +# +# various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com) +0 string ;; Lisp/Scheme program text +# Emacs 18 - this is always correct, but not very magical. +0 string \012( byte-compiled Emacs-Lisp program data +# Emacs 19 +0 string ;ELC\023\000\000\000 byte-compiled Emacs-Lisp program data diff --git a/usr.bin/file/Magdir/magic b/usr.bin/file/Magdir/magic index 20ee340..4a639c6 100644 --- a/usr.bin/file/Magdir/magic +++ b/usr.bin/file/Magdir/magic @@ -1 +1,5 @@ + +#------------------------------------------------------------------------------ +# magic: file(1) magic for magic files +# 0 string #\ Magic magic text file for file(1) cmd diff --git a/usr.bin/file/Magdir/mail.news b/usr.bin/file/Magdir/mail.news index d55b108..64c4e1c 100644 --- a/usr.bin/file/Magdir/mail.news +++ b/usr.bin/file/Magdir/mail.news @@ -1,3 +1,7 @@ + +#------------------------------------------------------------------------------ +# 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. @@ -11,3 +15,4 @@ 0 string Xref: news text 0 string From: news or mail text 0 string Article saved news text +0 string BABYL Emacs RMAIL text diff --git a/usr.bin/file/Magdir/microsoft b/usr.bin/file/Magdir/microsoft index 72bb0df..74d1daf 100644 --- a/usr.bin/file/Magdir/microsoft +++ b/usr.bin/file/Magdir/microsoft @@ -1,5 +1,6 @@ -# -# Microsoft (Xenix, not DOS) + +#------------------------------------------------------------------------------ +# microsoft: file(1) magic for Microsoft Xenix # # "Middle model" stuff, and "Xenix 8086 relocatable or 80286 small # model" lifted from "magic.xenix", with comment "derived empirically; @@ -7,7 +8,7 @@ # # "small model", "large model", "huge model" stuff lifted from XXX # -# XXX - "x.out" collides with PDP-11 archives.... +# XXX - "x.out" collides with PDP-11 archives # 0 string core core file (Xenix) 0 byte 0x80 8086 relocatable (Microsoft) @@ -26,7 +27,10 @@ >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 diff --git a/usr.bin/file/Magdir/mirage b/usr.bin/file/Magdir/mirage index 8a2dbcbe..73c3747 100644 --- a/usr.bin/file/Magdir/mirage +++ b/usr.bin/file/Magdir/mirage @@ -1,3 +1,6 @@ + +#------------------------------------------------------------------------------ +# mirage: file(1) magic for Mirage executables # # XXX - byte order? # diff --git a/usr.bin/file/Magdir/mkid b/usr.bin/file/Magdir/mkid index cd2cf86..dfb2d93 100644 --- a/usr.bin/file/Magdir/mkid +++ b/usr.bin/file/Magdir/mkid @@ -1,3 +1,6 @@ + +#------------------------------------------------------------------------------ +# mkid: file(1) magic for mkid(1) databases # # ID is the binary tags database produced by mkid(1). # diff --git a/usr.bin/file/Magdir/mmdf b/usr.bin/file/Magdir/mmdf index 236c721..72cd9f3 100644 --- a/usr.bin/file/Magdir/mmdf +++ b/usr.bin/file/Magdir/mmdf @@ -1 +1,5 @@ + +#------------------------------------------------------------------------------ +# mmdf: file(1) magic for MMDF mail files +# 0 string \001\001\001\001 MMDF mailbox diff --git a/usr.bin/file/Magdir/motorola b/usr.bin/file/Magdir/motorola index b892794..d9fa226 100644 --- a/usr.bin/file/Magdir/motorola +++ b/usr.bin/file/Magdir/motorola @@ -1,5 +1,6 @@ -# -# Motorola + +#------------------------------------------------------------------------------ +# motorola: file(1) magic for Motorola 68K and 88K binaries # # 68K # diff --git a/usr.bin/file/Magdir/ms-dos b/usr.bin/file/Magdir/ms-dos index 830493a..db2c03e 100644 --- a/usr.bin/file/Magdir/ms-dos +++ b/usr.bin/file/Magdir/ms-dos @@ -1,8 +1,73 @@ + +#------------------------------------------------------------------------------ +# msdos: file(1) magic for MS-DOS files # -# Various MS-DOS magic numbers + +# .BAT files (Daniel Quinlan, quinlan@yggdrasil.com) +0 string @echo\ off MS-DOS batch file text + +# .EXE formats (Greg Roelofs, newt@uchicago.edu) # -0 string MZ DOS executable (EXE) -0 string LZ DOS executable (built-in) -0 byte 0xe9 DOS executable (COM) -0 byte 0xeb DOS executable (COM) -0 byte 0xf0 MS-DOS program library +0 string MZ MS-DOS executable (EXE) +>24 string @ \b, OS/2 or Windows +>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) +#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 +# + +# Popular applications +2080 string Microsoft\ Word\ 6.0\ Document %s +# +0 belong 0x31be0000 Microsoft Word Document +# +2080 string Microsoft\ Excel\ 5.0\ Worksheet %s +# +0 belong 0x00001a00 Lotus 1-2-3 +>4 belong 0x00100400 wk3 document +>4 belong 0x02100400 wk4 document +>4 belong 0x07800100 fm3 or fmb document +>4 belong 0x07800000 fm3 or fmb document +# +0 belong 0x00000200 Lotus 1-2-3 +>4 belong 0x06040600 wk1 document +>4 belong 0x06800200 fmt document diff --git a/usr.bin/file/Magdir/ncr b/usr.bin/file/Magdir/ncr index 89df750..987c94e 100644 --- a/usr.bin/file/Magdir/ncr +++ b/usr.bin/file/Magdir/ncr @@ -1,7 +1,8 @@ + +#------------------------------------------------------------------------------ +# ncr: file(1) magic for NCR Tower objects # -# magic.tower: -# -# NCR Tower objects, contributed by +# contributed by # Michael R. Wayne *** TMC & Associates *** INTERNET: wayne@ford-vax.arpa # uucp: {philabs | pyramid} !fmsrl7!wayne OR wayne@fmsrl7.UUCP # diff --git a/usr.bin/file/Magdir/netbsd b/usr.bin/file/Magdir/netbsd index c89f6fa..ea948bd 100644 --- a/usr.bin/file/Magdir/netbsd +++ b/usr.bin/file/Magdir/netbsd @@ -1,3 +1,6 @@ + +#------------------------------------------------------------------------------ +# netbsd: file(1) magic for NetBSD objects # # All new-style magic numbers are in network byte order. # @@ -5,6 +8,8 @@ >16 lelong >0 not stripped 0 lelong 000000314 BSDI demand paged executable >16 lelong >0 not stripped +>32 byte 0x6a (uses shared libs) + 0 lelong 000000407 NetBSD little-endian object file >16 lelong >0 not stripped @@ -25,9 +30,12 @@ 0 belong&0377777777 041400407 NetBSD/i386 >0 byte &0x80 dynamically linked executable >0 byte ^0x80 +>>0 byte &0x40 position independent >>20 lelong !0 executable >>20 lelong =0 object file >16 lelong >0 not stripped +0 belong&0377777777 041400507 NetBSD/i386 core +>12 string >\0 from '%s' 0 belong&0377777777 041600413 NetBSD/m68k demand paged >0 byte &0x80 @@ -43,9 +51,12 @@ 0 belong&0377777777 041600407 NetBSD/m68k >0 byte &0x80 dynamically linked executable >0 byte ^0x80 +>>0 byte &0x40 position independent >>20 belong !0 executable >>20 belong =0 object file >16 belong >0 not stripped +0 belong&0377777777 041600507 NetBSD/m68k core +>12 string >\0 from '%s' 0 belong&0377777777 042000413 NetBSD/m68k4k demand paged >0 byte &0x80 @@ -61,9 +72,12 @@ 0 belong&0377777777 042000407 NetBSD/m68k4k >0 byte &0x80 dynamically linked executable >0 byte ^0x80 +>>0 byte &0x40 position independent >>20 belong !0 executable >>20 belong =0 object file >16 belong >0 not stripped +0 belong&0377777777 042000507 NetBSD/m68k4k core +>12 string >\0 from '%s' 0 belong&0377777777 042200413 NetBSD/ns32532 demand paged >0 byte &0x80 @@ -79,9 +93,12 @@ 0 belong&0377777777 042200407 NetBSD/ns32532 >0 byte &0x80 dynamically linked executable >0 byte ^0x80 +>>0 byte &0x40 position independent >>20 lelong !0 executable >>20 lelong =0 object file >16 lelong >0 not stripped +0 belong&0377777777 042200507 NetBSD/ns32532 core +>12 string >\0 from '%s' 0 belong&0377777777 042400413 NetBSD/sparc demand paged >0 byte &0x80 @@ -97,21 +114,72 @@ 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 041400507 NetBSD/i386 core ->12 string >\0 from '%s' - -0 belong&0377777777 041600507 NetBSD/m68k core +0 belong&0377777777 042400507 NetBSD/sparc core >12 string >\0 from '%s' -0 belong&0377777777 042000507 NetBSD/m68k4k core +0 belong&0377777777 042600413 NetBSD/pmax demand paged +>0 byte &0x80 +>>20 lelong <4096 shared library +>>20 lelong =4096 dynamically linked executable +>>20 lelong >4096 dynamically linked executable +>0 byte ^0x80 executable +>16 lelong >0 not stripped +0 belong&0377777777 042600410 NetBSD/pmax pure +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 executable +>16 lelong >0 not stripped +0 belong&0377777777 042600407 NetBSD/pmax +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 +>>0 byte &0x40 position independent +>>20 lelong !0 executable +>>20 lelong =0 object file +>16 lelong >0 not stripped +0 belong&0377777777 042600507 NetBSD/pmax core >12 string >\0 from '%s' -0 belong&0377777777 042200507 NetBSD/ns32532 core +0 belong&0377777777 043000413 NetBSD/vax demand paged +>0 byte &0x80 +>>20 lelong <4096 shared library +>>20 lelong =4096 dynamically linked executable +>>20 lelong >4096 dynamically linked executable +>0 byte ^0x80 executable +>16 lelong >0 not stripped +0 belong&0377777777 043000410 NetBSD/vax pure +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 executable +>16 lelong >0 not stripped +0 belong&0377777777 043000407 NetBSD/vax +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 +>>0 byte &0x40 position independent +>>20 lelong !0 executable +>>20 lelong =0 object file +>16 lelong >0 not stripped +0 belong&0377777777 043000507 NetBSD/vax core >12 string >\0 from '%s' -0 belong&0377777777 042400507 NetBSD/sparc core +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' diff --git a/usr.bin/file/Magdir/news b/usr.bin/file/Magdir/news index df7b659..0ac4fa2 100644 --- a/usr.bin/file/Magdir/news +++ b/usr.bin/file/Magdir/news @@ -1,5 +1,12 @@ -# NeWS, not "news" as in "netnews" + +#------------------------------------------------------------------------------ +# 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 long 0x137A2944 NeWS bitmap font -0 long 0x137A2947 NeWS font family +0 belong 0x137A2944 NeWS bitmap font +0 belong 0x137A2947 NeWS font family +0 belong 0x137A2950 scalable OpenFont binary +0 belong 0x137A2951 encrypted scalable OpenFont binary +8 belong 0x137A2B45 X11/NeWS bitmap font +8 belong 0x137A2B48 X11/NeWS font family diff --git a/usr.bin/file/Magdir/pbm b/usr.bin/file/Magdir/pbm index bed702e..98c15f7 100644 --- a/usr.bin/file/Magdir/pbm +++ b/usr.bin/file/Magdir/pbm @@ -1,3 +1,6 @@ + +#------------------------------------------------------------------------------ +# pbm: file(1) magic for Portable Bitmap files # # XXX - byte order? # diff --git a/usr.bin/file/Magdir/pdf b/usr.bin/file/Magdir/pdf new file mode 100644 index 0000000..3cea0de --- /dev/null +++ b/usr.bin/file/Magdir/pdf @@ -0,0 +1,7 @@ + +#------------------------------------------------------------------------------ +# pdf: file(1) magic for Portable Document Format +# + +0 string %PDF- PDF document +>5 string x \b, version %.3s diff --git a/usr.bin/file/Magdir/pdp b/usr.bin/file/Magdir/pdp index cf1129d..201dede 100644 --- a/usr.bin/file/Magdir/pdp +++ b/usr.bin/file/Magdir/pdp @@ -1,22 +1,25 @@ -# -# magic.pdp: PDP-11 executable/object and APL workspace + +#------------------------------------------------------------------------------ +# pdp: file(1) magic for PDP-11 executable/object and APL workspace # 0 lelong 0101555 PDP-11 single precision APL workspace 0 lelong 0101554 PDP-11 double precision APL workspace - # # PDP-11 a.out # 0 leshort 0407 PDP-11 executable >8 leshort >0 not stripped +>15 byte >0 - version %ld 0 leshort 0401 PDP-11 UNIX/RT ldp 0 leshort 0405 PDP-11 old overlay 0 leshort 0410 PDP-11 pure executable >8 leshort >0 not stripped +>15 byte >0 - version %ld 0 leshort 0411 PDP-11 separate I&D executable >8 leshort >0 not stripped +>15 byte >0 - version %ld 0 leshort 0437 PDP-11 kernel overlay diff --git a/usr.bin/file/Magdir/pgp b/usr.bin/file/Magdir/pgp index 3965553..aaff0e9 100644 --- a/usr.bin/file/Magdir/pgp +++ b/usr.bin/file/Magdir/pgp @@ -1,10 +1,12 @@ + +#------------------------------------------------------------------------------ +# pgp: file(1) magic for Pretty Good Privacy # -# pgp (pretty good protection) -0 beshort 0x9900 pgp key public ring -0 beshort 0x9501 pgp key security ring -0 beshort 0x9500 pgp key security ring -0 string -----BEGIN\040PGP pgp armored data ->15 string PUBLIC\040KEY\040BLOCK- public key blocK +0 beshort 0x9900 PGP key public ring +0 beshort 0x9501 PGP key security ring +0 beshort 0x9500 PGP key security ring +0 string -----BEGIN\040PGP PGP armored data +>15 string PUBLIC\040KEY\040BLOCK- public key block >15 string MESSAGE- message >15 string SIGNED\040MESSAGE- signed message >15 string PGP\040SIGNATURE- signature diff --git a/usr.bin/file/Magdir/pkgadd b/usr.bin/file/Magdir/pkgadd index 2cdb5e5..dc8ef5d 100644 --- a/usr.bin/file/Magdir/pkgadd +++ b/usr.bin/file/Magdir/pkgadd @@ -1,4 +1,5 @@ -# -# SysV R4 PKG Datastreams: + +#------------------------------------------------------------------------------ +# pkgadd: file(1) magic for SysV R4 PKG Datastreams # 0 string #\ PaCkAgE\ DaTaStReAm pkg Datastream (SVR4) diff --git a/usr.bin/file/Magdir/plus5 b/usr.bin/file/Magdir/plus5 index a5fa4e7..acf3bf4 100644 --- a/usr.bin/file/Magdir/plus5 +++ b/usr.bin/file/Magdir/plus5 @@ -1,5 +1,6 @@ -# -#/etc/magic entries for Plus Five's UNIX MUMPS + +#------------------------------------------------------------------------------ +# plus5: file(1) magic for Plus Five's UNIX MUMPS # # XXX - byte order? Paging Hokey.... # diff --git a/usr.bin/file/Magdir/printer b/usr.bin/file/Magdir/printer new file mode 100644 index 0000000..2d12bc5 --- /dev/null +++ b/usr.bin/file/Magdir/printer @@ -0,0 +1,55 @@ + +#------------------------------------------------------------------------------ +# printer: file(1) magic for printer-formatted files +# + +# PostScript, updated by Daniel Quinlan (quinlan@yggdrasil.com) +0 string %! PostScript document text +>2 string PS-Adobe- conforming +>>11 string >\0 at level %.3s +>>>15 string EPS - type %s +>>>15 string Query - type %s +>>>15 string ExitServer - type %s +# Some PCs have the annoying habit of adding a ^D as a document separator +0 string \004%! PostScript document text +>3 string PS-Adobe- conforming +>>12 string >\0 at level %.3s +>>>16 string EPS - type %s +>>>16 string Query - type %s +>>>16 string ExitServer - type %s + +# HP Printer Job Language +0 string \033%-12345X@PJL HP Printer Job Language data +>15 string \ ENTER\ LANGUAGE\ = +>31 string PostScript Postscript + +# HP Printer Control Language, Daniel Quinlan (quinlan@yggdrasil.com) +0 string \033E\033 HP PCL printer data +>3 string \&l0A - default page size +>3 string \&l1A - US executive page size +>3 string \&l2A - US letter page size +>3 string \&l3A - US legal page size +>3 string \&l26A - A4 page size +>3 string \&l80A - Monarch envelope size +>3 string \&l81A - No. 10 envelope size +>3 string \&l90A - Intl. DL envelope size +>3 string \&l91A - Intl. C5 envelope size +>3 string \&l100A - Intl. B5 envelope size +>3 string \&l-81A - No. 10 envelope size (landscape) +>3 string \&l-90A - Intl. DL envelope size (landscape) + +# IMAGEN printer-ready files: +0 string @document( Imagen printer +# this only works if "language xxx" is first item in Imagen header. +>10 string language\ impress (imPRESS data) +>10 string language\ daisy (daisywheel text) +>10 string language\ diablo (daisywheel text) +>10 string language\ printer (line printer emulation) +>10 string language\ tektronix (Tektronix 4014 emulation) +# Add any other languages that your Imagen uses - remember +# to keep the word `text' if the file is human-readable. +# [GRR 950115: missing "postscript" or "ultrascript" (whatever it was called)] +# +# Now magic for IMAGEN font files... +0 string Rast RST-format raster font data +>45 string >0 face % diff --git a/usr.bin/file/Magdir/psdbms b/usr.bin/file/Magdir/psdbms index b1fc2e1..f36121f 100644 --- a/usr.bin/file/Magdir/psdbms +++ b/usr.bin/file/Magdir/psdbms @@ -1,5 +1,6 @@ -# -# magic.ps: psdatabase magic + +#------------------------------------------------------------------------------ +# psdbms: file(1) magic for psdatabase # 0 belong&0xff00ffff 0x56000000 ps database >1 string >\0 version %s diff --git a/usr.bin/file/Magdir/pyramid b/usr.bin/file/Magdir/pyramid index b9c9e56..fe16608 100644 --- a/usr.bin/file/Magdir/pyramid +++ b/usr.bin/file/Magdir/pyramid @@ -1,5 +1,6 @@ -# -# magic.pyramid: Magic for pyramids + +#------------------------------------------------------------------------------ +# pyramid: file(1) magic for Pyramids # # XXX - byte order? # diff --git a/usr.bin/file/Magdir/rpm b/usr.bin/file/Magdir/rpm new file mode 100644 index 0000000..7b89c68 --- /dev/null +++ b/usr.bin/file/Magdir/rpm @@ -0,0 +1,14 @@ +#------------------------------------------------------------------------------ +# +# 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 PowerPC +>>8 beshort 4 Sparc +>>10 string x %s diff --git a/usr.bin/file/Magdir/rtf b/usr.bin/file/Magdir/rtf new file mode 100644 index 0000000..8e2d416 --- /dev/null +++ b/usr.bin/file/Magdir/rtf @@ -0,0 +1,12 @@ + +#------------------------------------------------------------------------------ +# rtf: file(1) magic for Rich Text Format (RTF) +# +# Duncan P. Simpson, D.P.Simpson@dcs.warwick.ac.uk +# +0 string {\\rtf Rich Text Format data, +>5 byte x version %c, +>6 string \\ansi ANSI +>6 string \\mac Apple Macintosh +>6 string \\pc IBM PC, code page 437 +>6 string \\pca IBM PS/2, code page 850 diff --git a/usr.bin/file/Magdir/sc b/usr.bin/file/Magdir/sc index 9bc9199..98599f2 100644 --- a/usr.bin/file/Magdir/sc +++ b/usr.bin/file/Magdir/sc @@ -1,2 +1,5 @@ -# for SC -38 string Spreadsheet sc file + +#------------------------------------------------------------------------------ +# sc: file(1) magic for "sc" spreadsheet +# +38 string Spreadsheet sc spreadsheet file diff --git a/usr.bin/file/Magdir/sccs b/usr.bin/file/Magdir/sccs index d27c5a7..11d50b2 100644 --- a/usr.bin/file/Magdir/sccs +++ b/usr.bin/file/Magdir/sccs @@ -1,3 +1,7 @@ + +#------------------------------------------------------------------------------ +# sccs: file(1) magic for SCCS archives +# # SCCS archive structure: # \001h01207 # \001s 00276/00000/00000 @@ -14,4 +18,4 @@ # 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. +8 string \001s\ SCCS archive data diff --git a/usr.bin/file/Magdir/sendmail b/usr.bin/file/Magdir/sendmail index 7eea31d..503ef89 100644 --- a/usr.bin/file/Magdir/sendmail +++ b/usr.bin/file/Magdir/sendmail @@ -1,5 +1,6 @@ -# -# magic.sendmail: + +#------------------------------------------------------------------------------ +# sendmail: file(1) magic for sendmail config files # # XXX - byte order? # diff --git a/usr.bin/file/Magdir/sequent b/usr.bin/file/Magdir/sequent index bcb7061..e6f7b52 100644 --- a/usr.bin/file/Magdir/sequent +++ b/usr.bin/file/Magdir/sequent @@ -1,3 +1,7 @@ + +#------------------------------------------------------------------------------ +# sequent: file(1) magic for Sequent machines +# # Sequent information updated by Don Dwiggins <atsun!dwiggins>. # For Sequent's multiprocessor systems (incomplete). 0 lelong 0x00ea BALANCE NS32000 .o diff --git a/usr.bin/file/Magdir/sgi b/usr.bin/file/Magdir/sgi new file mode 100644 index 0000000..a73cfcf --- /dev/null +++ b/usr.bin/file/Magdir/sgi @@ -0,0 +1,165 @@ + +#------------------------------------------------------------------------------ +# sgi: file(1) magic for Silicon Graphics (MIPS, IRIS, IRIX, etc.) +# +# 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? +# +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 +>22 byte x - version %d +>23 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 +>22 byte x - version %ld +>23 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 +>23 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 +>23 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 +>23 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 +>23 byte x .%ld +# +0 beshort 0x180 MIPSEB Ucode +0 beshort 0x182 MIPSEL Ucode +# 32bit core file +0 belong 0xdeadadb0 IRIX core dump +>4 belong 1 of +>16 string >\0 '%s' +# 64bit core file +0 belong 0xdeadad40 IRIX 64-bit core dump +>4 belong 1 of +>16 string >\0 '%s' +# New style crash dump file +0 string \x43\x72\x73\x68\x44\x75\x6d\x70 IRIX vmcore dump of +>36 string >\0 '%s' +# Trusted IRIX info +0 string SGIAUDIT SGI Audit file +>8 byte x - version %d +>9 byte x .%ld +# Are these three SGI-based file types or general ones? +0 string WNGZWZSC Wingz compiled script +0 string WNGZWZSS Wingz spreadsheet +0 string WNGZWZHP Wingz help file +# +0 string \#Inventor V IRIS Inventor file +# XXX - I don't know what next thing is! It is likely to be an image +# (or movie) format +0 string glfHeadMagic(); GLF_TEXT +4 belong 0x41010000 GLF_BINARY_LSB_FIRST +4 belong 0x00000141 GLF_BINARY_MSB_FIRST diff --git a/usr.bin/file/Magdir/sgml b/usr.bin/file/Magdir/sgml index bb8b5dd..985bbec 100644 --- a/usr.bin/file/Magdir/sgml +++ b/usr.bin/file/Magdir/sgml @@ -1,6 +1,21 @@ -# $Id: sgml,v 1.3 1993/01/05 12:52:44 ian Exp $ -# SGML goop, mostly from rph@sq. -0 string \<!DOCTYPE Exported SGML document -0 string \<!doctype Exported SGML document -0 string \<!SUBDOC Exported SGML subdocument -0 string \<!subdoc Exported SGML subdocument + +#------------------------------------------------------------------------------ +# sgml: file(1) magic for Standard Generalized Markup Language + +# HyperText Markup Language (HTML) is an SGML document type, +# from Daniel Quinlan (quinlan@yggdrasil.com) +0 string \<!DOCTYPE\ HTML HTML document text +0 string \<!doctype\ html HTML document text +0 string \<HEAD HTML document text +0 string \<head HTML document text +0 string \<TITLE HTML document text +0 string \<title HTML document text +0 string \<html HTML document text +0 string \<HTML HTML document text + +# SGML, mostly from rph@sq +0 string \<!DOCTYPE exported SGML document text +0 string \<!doctype exported SGML document text +0 string \<!SUBDOC exported SGML subdocument text +0 string \<!subdoc exported SGML subdocument text +0 string \<!-- exported SGML document text diff --git a/usr.bin/file/Magdir/softquad b/usr.bin/file/Magdir/softquad index e49d052..ffad996 100644 --- a/usr.bin/file/Magdir/softquad +++ b/usr.bin/file/Magdir/softquad @@ -1,5 +1,8 @@ -# SoftQuad Publishing Software magic numbers -# $Id: softquad,v 1.8 1993/02/19 14:36:43 ian Exp $ + +#------------------------------------------------------------------------------ +# softquad: file(1) magic for SoftQuad Publishing Software +# +# $Id: softquad,v 1.9 1995/01/21 21:09:00 christos Exp $ # Author/Editor and RulesBuilder # # XXX - byte order? diff --git a/usr.bin/file/Magdir/sun b/usr.bin/file/Magdir/sun index d6ce809..f6695f1 100644 --- a/usr.bin/file/Magdir/sun +++ b/usr.bin/file/Magdir/sun @@ -1,7 +1,9 @@ + +#------------------------------------------------------------------------------ +# sun: file(1) magic for Sun machines # # Values for big-endian Sun (MC680x0, SPARC) binaries on pre-5.x -# releases. -# (5.x uses ELF.) +# releases. (5.x uses ELF.) # 0 belong&077777777 0600413 sparc demand paged >0 byte &0x80 diff --git a/usr.bin/file/Magdir/terminfo b/usr.bin/file/Magdir/terminfo index 76e171d..2226ce8 100644 --- a/usr.bin/file/Magdir/terminfo +++ b/usr.bin/file/Magdir/terminfo @@ -1,5 +1,6 @@ -# -# Terminfo + +#------------------------------------------------------------------------------ +# terminfo: file(1) magic for terminfo # # XXX - byte order for screen images? # diff --git a/usr.bin/file/Magdir/tex b/usr.bin/file/Magdir/tex index 734bedd..5126be8 100644 --- a/usr.bin/file/Magdir/tex +++ b/usr.bin/file/Magdir/tex @@ -1,7 +1,6 @@ -# -# magic.tex: -# -# XXX - needs byte-endian stuff (big-endian and little-endian DVI?) + +#------------------------------------------------------------------------------ +# tex: file(1) magic for TeX files # # From <conklin@talisman.kaleida.com> @@ -9,17 +8,29 @@ # 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) +>16 string >\0 (%s) 0 string \367\203 TeX generic font data 0 string \367\131 TeX packed font data ->4 string >\0 (%s) +>3 string >\0 (%s) 0 string \367\312 TeX virtual font data -0 string This\ is\ TeX, TeX transcript text +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 ->34 string >\0 (%s) +>33 string >\0 (%s) + +# Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com) +0 string \\input\ texinfo Texinfo source text +0 string This\ is\ Info\ file GNU Info text + +# TeX documents, from Daniel Quinlan (quinlan@yggdrasil.com) +0 string \\input TeX document text +0 string \\section LaTeX document text +0 string \\setlength LaTeX document text +0 string \\documentstyle LaTeX document text +0 string \\chapter LaTeX document text diff --git a/usr.bin/file/Magdir/timezone b/usr.bin/file/Magdir/timezone new file mode 100644 index 0000000..e47a371 --- /dev/null +++ b/usr.bin/file/Magdir/timezone @@ -0,0 +1,12 @@ + +#------------------------------------------------------------------------------ +# timezone: file(1) magic for timezone data +# +# from Daniel Quinlan (quinlan@yggdrasil.com) +# this should work on Linux, SunOS, and maybe others +0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0 timezone data +0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0 timezone data +0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0 timezone data +0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0 timezone data +0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0 timezone data +0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0 timezone data diff --git a/usr.bin/file/Magdir/troff b/usr.bin/file/Magdir/troff index d414c16..ea75e85 100644 --- a/usr.bin/file/Magdir/troff +++ b/usr.bin/file/Magdir/troff @@ -1,6 +1,27 @@ + +#------------------------------------------------------------------------------ +# troff: file(1) magic for *roff # -# magic.troff: -# -0 string \100\357 very old (C/A/T) troff output data -0 string ' [nt]roff, tbl, or eqn input text +# updated by Daniel Quinlan (quinlan@yggdrasil.com) +# troff input +0 string .\\" troff or preprocessor input text +0 string '\\" troff or preprocessor input text +0 string '.\\" troff or preprocessor input text +0 string \\" troff or preprocessor input text + +# ditroff intermediate output text +0 string x\ T ditroff text +>4 string cat for the C/A/T phototypesetter +>4 string ps for PostScript +>4 string dvi for DVI +>4 string ascii for ASCII +>4 string lj4 for LaserJet 4 +>4 string latin1 for ISO 8859-1 (Latin 1) +>4 string X75 for xditview at 75dpi +>>7 string -12 (12pt) +>4 string X100 for xditview at 100dpi +>>8 string -12 (12pt) + +# output data formats +0 string \100\357 very old (C/A/T) troff output data diff --git a/usr.bin/file/Magdir/typeset b/usr.bin/file/Magdir/typeset index 5064563..2eda7c3 100644 --- a/usr.bin/file/Magdir/typeset +++ b/usr.bin/file/Magdir/typeset @@ -1,5 +1,7 @@ -# other typesetting magic -0 string \100\357 very old (C/A/T) troff output data + +#------------------------------------------------------------------------------ +# typeset: file(1) magic for other typesetting +# 0 string Interpress/Xerox Xerox InterPress data >16 string / (version >>17 string >\0 %s) diff --git a/usr.bin/file/Magdir/unknown b/usr.bin/file/Magdir/unknown index 1ea5f06..843dc293 100644 --- a/usr.bin/file/Magdir/unknown +++ b/usr.bin/file/Magdir/unknown @@ -1,5 +1,6 @@ -# -# magic.unknown: Unknown machine magic + +#------------------------------------------------------------------------------ +# unknown: file(1) magic for unknown machines # # XXX - this probably should be pruned, as it'll match PDP-11 and # VAX image formats. diff --git a/usr.bin/file/Magdir/uuencode b/usr.bin/file/Magdir/uuencode index add48a8..7e88619 100644 --- a/usr.bin/file/Magdir/uuencode +++ b/usr.bin/file/Magdir/uuencode @@ -1,3 +1,30 @@ -0 string begin uuencoded mail text -# Btoa(1) is an alternative to uuencode that requires less space. + +#------------------------------------------------------------------------------ +# uuencode: file(1) magic for ASCII-encoded files +# + +# GRR: the first line of xxencoded files is identical to that in uuencoded +# files, but the first character in most subsequent lines is 'h' instead of +# 'M'. (xxencoding uses lowercase letters in place of most of uuencode's +# punctuation and survives BITNET gateways better.) If regular expressions +# were supported, this entry could possibly be split into two with +# "begin\040\.\*\012M" or "begin\040\.\*\012h" (where \. and \* are REs). +0 string begin\040 uuencoded or xxencoded text + +# btoa(1) is an alternative to uuencode that requires less space. 0 string xbtoa\ Begin btoa'd text + +# ship(1) is another, much cooler alternative to uuencode. +# Greg Roelofs, newt@uchicago.edu +0 string $\012ship ship'd binary text + +# bencode(8) is used to encode compressed news batches (Bnews/Cnews only?) +# Greg Roelofs, newt@uchicago.edu +0 string Decode\ the\ following\ with\ bdeco bencoded News text + +# BinHex is the Macintosh ASCII-encoded file format (see also "apple") +# Daniel Quinlan, quinlan@yggdrasil.com +11 string must\ be\ converted\ with\ BinHex BinHex binary text +>41 string x \b, version %.3s + +# GRR: is MIME BASE64 encoding handled somewhere? diff --git a/usr.bin/file/Magdir/varied.out b/usr.bin/file/Magdir/varied.out index 3a997d1c..2d1c956 100644 --- a/usr.bin/file/Magdir/varied.out +++ b/usr.bin/file/Magdir/varied.out @@ -1,5 +1,15 @@ + +#------------------------------------------------------------------------------ +# 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 diff --git a/usr.bin/file/Magdir/vax b/usr.bin/file/Magdir/vax index af665fa..7dd86cc 100644 --- a/usr.bin/file/Magdir/vax +++ b/usr.bin/file/Magdir/vax @@ -1,5 +1,6 @@ -# -# magic.pdp: VAX executable/object and APL workspace + +#------------------------------------------------------------------------------ +# 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 diff --git a/usr.bin/file/Magdir/visx b/usr.bin/file/Magdir/visx index e95cc5e..4919964 100644 --- a/usr.bin/file/Magdir/visx +++ b/usr.bin/file/Magdir/visx @@ -1,5 +1,6 @@ -# -# magic.visx: Visx format file + +#------------------------------------------------------------------------------ +# visx: file(1) magic for Visx format files # 0 short 0x5555 VISX image file >2 byte 0 (zero) diff --git a/usr.bin/file/Magdir/vms b/usr.bin/file/Magdir/vms new file mode 100644 index 0000000..c91186f --- /dev/null +++ b/usr.bin/file/Magdir/vms @@ -0,0 +1,27 @@ + +#------------------------------------------------------------------------------ +# vms: file(1) magic for VMS executables (experimental) +# +# VMS .exe formats, both VAX and AXP (Greg Roelofs, newt@uchicago.edu) + +# GRR 950122: I'm just guessing on these, based on inspection of the headers +# of three executables each for Alpha and VAX architectures. The VAX files +# all had headers similar to this: +# +# 00000 b0 00 30 00 44 00 60 00 00 00 00 00 30 32 30 35 ..0.D.`.....0205 +# 00010 01 01 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 ................ +# +0 string \xb0\0\x30\0 VMS VAX executable +>44032 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption +# +# The AXP files all looked like this, except that the byte at offset 0x22 +# was 06 in some of them and 07 in others: +# +# 00000 03 00 00 00 00 00 00 00 ec 02 00 00 10 01 00 00 ................ +# 00010 68 00 00 00 98 00 00 00 b8 00 00 00 00 00 00 00 h............... +# 00020 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ +# 00030 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................ +# 00040 00 00 00 00 ff ff ff ff ff ff ff ff 02 00 00 00 ................ +# +0 belong 0x03000000 VMS Alpha executable +>75264 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption diff --git a/usr.bin/file/Magdir/zilog b/usr.bin/file/Magdir/zilog index c7503cd..b746e20 100644 --- a/usr.bin/file/Magdir/zilog +++ b/usr.bin/file/Magdir/zilog @@ -1,5 +1,6 @@ -# -# Zilog Z8000. + +#------------------------------------------------------------------------------ +# zilog: file(1) magic for Zilog Z8000. # # Was it big-endian or little-endian? My Product Specification doesn't # say. @@ -8,4 +9,3 @@ 0 long 0xe808 pure object file (z8000 a.out) 0 long 0xe809 separate object file (z8000 a.out) 0 long 0xe805 overlay object file (z8000 a.out) - diff --git a/usr.bin/file/Magdir/zyxel b/usr.bin/file/Magdir/zyxel index dfb48bf..12a6abd 100644 --- a/usr.bin/file/Magdir/zyxel +++ b/usr.bin/file/Magdir/zyxel @@ -1,9 +1,16 @@ + +#------------------------------------------------------------------------------ +# zyxel: file(1) magic for ZyXEL modems +# # From <rob@pe1chl.ampr.org> # These are the /etc/magic entries to decode datafiles as used for the # ZyXEL U-1496E DATA/FAX/VOICE modems. (This header conforms to a # ZyXEL-defined standard) -0 string ZyXEL\002 ZyXEL voice data ->10 byte 0 - CELP encoding ->10 byte 1 - ADPCM2 encoding ->10 byte 2 - ADPCM3 encoding +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 |