diff options
Diffstat (limited to 'usr.bin/file/Magdir')
83 files changed, 1877 insertions, 0 deletions
diff --git a/usr.bin/file/Magdir/Header b/usr.bin/file/Magdir/Header new file mode 100644 index 0000000000000..0c97baede0ccb --- /dev/null +++ b/usr.bin/file/Magdir/Header @@ -0,0 +1,5 @@ +#! file +# Magic data for file(1) command. +# Machine-genererated from src/cmd/file/magdir/*; edit there only! +# Format is described in magic(files), where: +# files is 4 on V7 and BSD, 4 on SV, and ?? in the SVID. diff --git a/usr.bin/file/Magdir/Localstuff b/usr.bin/file/Magdir/Localstuff new file mode 100644 index 0000000000000..224940b946e1d --- /dev/null +++ b/usr.bin/file/Magdir/Localstuff @@ -0,0 +1,3 @@ +# $Id: Localstuff,v 1.2 1993/01/05 13:22:25 ian 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 new file mode 100644 index 0000000000000..52ed628db2939 --- /dev/null +++ b/usr.bin/file/Magdir/alliant @@ -0,0 +1,15 @@ +# +# Alliant FX series a.out files: +# If the FX series is the one that had a processor with a 68K-derived +# instruction set, the "short" should probably become "beshort" and the +# "long" should probably become "belong". +# If it's the i860-based one, they should probably become either the +# big-endian or little-endian versions, depending on the mode they ran +# the 860 in.... +# +0 short 0420 0420 Alliant virtual executable +>2 short &0x0020 common library +>16 long >0 not stripped +0 short 0421 0421 Alliant compact executable +>2 short &0x0020 common library +>16 long >0 not stripped diff --git a/usr.bin/file/Magdir/apl b/usr.bin/file/Magdir/apl new file mode 100644 index 0000000000000..6ede926af3783 --- /dev/null +++ b/usr.bin/file/Magdir/apl @@ -0,0 +1,4 @@ +# +# magic.apl: +# +0 long 0100554 APL workspace (Ken's original?) diff --git a/usr.bin/file/Magdir/apple b/usr.bin/file/Magdir/apple new file mode 100644 index 0000000000000..eb48673cc0ed6 --- /dev/null +++ b/usr.bin/file/Magdir/apple @@ -0,0 +1,10 @@ +# +# Apple II file formats +# +0 string FiLeStArTfIlEsTaRt binscii (apple ][) text +0 string \x0aGL Binary II (apple ][) data +0 string \x76\xff Squeezed (apple ][) data +0 string SIT! StuffIt (macintosh) text +0 string NuFile NuFile archive (apple ][) data +0 string N\xf5F\xe9l\xe5 NuFile archive (apple ][) data + diff --git a/usr.bin/file/Magdir/ar b/usr.bin/file/Magdir/ar new file mode 100644 index 0000000000000..583ec30cf9b3f --- /dev/null +++ b/usr.bin/file/Magdir/ar @@ -0,0 +1,104 @@ +# +# "ar", for all kinds of archives. +# +# XXX - why are there multiple <ar> thingies? Note that 0x213c6172 is +# "!<ar", so, for new-style (4.xBSD/SVR2andup) archives, we have: +# +# 0 string !<arch> current ar archive +# 0 long 0x213c6172 archive file +# +# and for SVR3.1 archives, we have: +# +# 0 string \<ar> System V Release 1 ar archive +# 0 string =<ar> archive +# 0 string =<ar> archive +# +# XXX - did Aegis really store shared libraries, breakpointed modules, +# and absolute code program modules in the same format as new-style +# "ar" archives? +# +0 string !<arch> current ar archive +>8 string __.SYMDEF random library +>0 belong =65538 - pre SR9.5 +>0 belong =65539 - post SR9.5 +>0 beshort 2 - object archive +>0 beshort 3 - shared library module +>0 beshort 4 - debug break-pointed module +>0 beshort 5 - absolute code program module +0 string \<ar> System V Release 1 ar archive +0 string =<ar> archive +# +# XXX - from "vax", which appears to collect a bunch of byte-swapped +# thingies, to help you recognize VAX files on big-endian machines; +# with "leshort", "lelong", and "string", that's no longer necessary.... +# +# 0 long 0x3c61723e VAX 5.0 archive +# +0 long 0x213c6172 archive file +0 lelong 0177555 very old VAX archive +0 leshort 0177555 very old PDP-11 archive +# +# XXX - "pdp" claims that 0177545 can have an __.SYMDEF member and thus +# be a random library (it said 0xff65 rather than 0177545). +# +0 lelong 0177545 old VAX archive +>8 string __.SYMDEF random library +0 leshort 0177545 old PDP-11 archive +>8 string __.SYMDEF random library +# +0 string =<ar> archive +# +# From "pdp": +# +0 lelong 0x39bed PDP-11 old archive +0 lelong 0x39bee PDP-11 4.0 archive +# +0 string -h- Software Tools format archive text +# "arc" archiver +0 byte 26 'arc' archive +>1 byte 0 (empty) +>1 byte 1 (old format) +# Rahul Dhesi's zoo archive format, from keith@cerberus.uchicago.edu. +20 long 0xdca7c4fd Rahul Dhesi's "zoo" archive +# ZIP archiver +0 string PK zip archive file +>4 byte x - version +>4 byte 10 1.0 +>4 byte 20 2.0 + +2 string -lh LHarc archive data +>6 byte x type %c +>20 byte x - header level %d + +# From: <u31b3hs@pool.informatik.rwth-aachen.de> (Michael Haardt) +2 string -lh0- Lharc 1.x archive +2 string -lh1- Lharc 1.x archive +2 string -lz4- Lharc 1.x archive +2 string -lz5- Lharc 1.x archive +2 string -lzs- LHa 2.x? archive [lzs] +2 string -lh - LHa 2.x? archive [lh ] +2 string -lhd- LHa 2.x? archive [lhd] +2 string -lh2- LHa 2.x? archive [lh2] +2 string -lh3- LHa 2.x? archive [lh3] +2 string -lh4- LHa 2.x? archive [lh4] +2 string -lh5- LHa (2.x) archive + +# ARJ archive data from jason@jarthur.Claremont.EDU +0 leshort 0xea60 ARJ archive data +>5 byte x - version %d, +>8 byte >0 flags: +>>8 byte &0x04 multi-volume, +>>8 byte &0x10 slash switched, +>>8 byte &0x20 backup, +>34 string x original name: %s, +>7 byte 0 os: MS/DOS +>7 byte 1 os: PRIMOS +>7 byte 2 os: UNIX +>7 byte 3 os: Amiga +>7 byte 4 os: Macintosh +>7 byte 5 os: OS/2 +>7 byte 6 os: Apple ][ GS +>7 byte 7 os: Atari ST +>7 byte 8 os: NeXT +>7 byte 9 os: VAX/VMS +>3 byte >0 %d] diff --git a/usr.bin/file/Magdir/arc b/usr.bin/file/Magdir/arc new file mode 100644 index 0000000000000..1ebb260162e25 --- /dev/null +++ b/usr.bin/file/Magdir/arc @@ -0,0 +1,3 @@ +0 byte 26 'arc' archive +>1 byte 0 (empty) +>1 byte 1 (old format) diff --git a/usr.bin/file/Magdir/archive b/usr.bin/file/Magdir/archive new file mode 100644 index 0000000000000..8999c2f497e56 --- /dev/null +++ b/usr.bin/file/Magdir/archive @@ -0,0 +1,15 @@ +# A collection of various "ar" and "cpio" archive formats. +# "Tar" archives are handled in the C code. +0 short 070707 cpio archive +0 string 070707 ASCII cpio archive +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 +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 diff --git a/usr.bin/file/Magdir/att3b b/usr.bin/file/Magdir/att3b new file mode 100644 index 0000000000000..c1e9e39fdde20 --- /dev/null +++ b/usr.bin/file/Magdir/att3b @@ -0,0 +1,38 @@ +# +# AT&T 3B machines +# +# The `versions' should be un-commented if they work for you. +# (Was the problem just one of endianness?) +# +# 3B20 +# +0 beshort 0550 3b20 COFF executable +>12 belong >0 not stripped +#>22 beshort >0 - version %ld +0 beshort 0551 3b20 COFF executable (TV) +>12 belong >0 not stripped +#>22 beshort >0 - version %ld +# +# WE32K +# +0 beshort 0560 WE32000 COFF +>18 beshort ^00000020 object +>18 beshort &00000020 executable +>12 belong >0 not stripped +>18 beshort ^00010000 N/A on 3b2/300 w/paging +>18 beshort &00020000 32100 required +>18 beshort &00040000 and mau hardware required +>20 beshort 0407 (impure) +>20 beshort 0410 (pure) +>20 beshort 0413 (demand paged) +>20 beshort 0443 (target shared library) +>22 beshort >0 - version %ld +0 beshort 0561 WE32000 COFF executable (TV) +>12 belong >0 not stripped +#>18 beshort &00020000 - 32100 required +#>18 beshort &00040000 and mau hardware required +#>22 beshort >0 - version %ld +# +# core file for 3b2 +0 string \000\004\036\212\200 3b2 core file +>364 string >\0 of '%s' diff --git a/usr.bin/file/Magdir/audio b/usr.bin/file/Magdir/audio new file mode 100644 index 0000000000000..6b4cb364532c8 --- /dev/null +++ b/usr.bin/file/Magdir/audio @@ -0,0 +1,43 @@ +# +# Sound formats, from Jan Nicolai Langfeldt <janl@ifi.uio.no>, +# + +# Sun/NeXT audio data +0 string .snd audio data: +>12 belong 1 8-bit u-law, +>12 belong 2 8-bit linear 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), +>20 belong 1 mono, +>20 belong 2 stereo, +>20 belong 4 quad, +>16 belong x %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 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), +>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 diff --git a/usr.bin/file/Magdir/blit b/usr.bin/file/Magdir/blit new file mode 100644 index 0000000000000..0f4804da8c023 --- /dev/null +++ b/usr.bin/file/Magdir/blit @@ -0,0 +1,16 @@ +# 68K Blit stuff as seen from 680x0 machine +# Note that this 0407 conflicts with several other a.out formats... +# +# XXX - should this be redone with "be" and "le", so that it works on +# little-endian machines as well? If so, what's the deal with +# "VAX-order" and "VAX-order2"? +# +#0 long 0407 68K Blit (standalone) executable +#0 short 0407 VAX-order2 68K Blit (standalone) executable +0 short 03401 VAX-order 68K Blit (standalone) executable +0 long 0406 68k Blit mpx/mux executable +0 short 0406 VAX-order2 68k Blit mpx/mux executable +0 short 03001 VAX-order 68k Blit mpx/mux executable +# Need more values for WE32 DMD executables. +# Note that 0520 is the same as COFF +#0 short 0520 tty630 layers executable diff --git a/usr.bin/file/Magdir/bsdi b/usr.bin/file/Magdir/bsdi new file mode 100644 index 0000000000000..faf0a60392723 --- /dev/null +++ b/usr.bin/file/Magdir/bsdi @@ -0,0 +1,2 @@ +# BSDI BSD/386 +0 long 0314 BSD/386 demand paged (first page unmapped) pure executable diff --git a/usr.bin/file/Magdir/c-lang b/usr.bin/file/Magdir/c-lang new file mode 100644 index 0000000000000..79b2254bc699d --- /dev/null +++ b/usr.bin/file/Magdir/c-lang @@ -0,0 +1,3 @@ +# 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 diff --git a/usr.bin/file/Magdir/chi b/usr.bin/file/Magdir/chi new file mode 100644 index 0000000000000..2dfbfcfced27f --- /dev/null +++ b/usr.bin/file/Magdir/chi @@ -0,0 +1,4 @@ +# 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 new file mode 100644 index 0000000000000..f4e9fa73cbce4 --- /dev/null +++ b/usr.bin/file/Magdir/clipper @@ -0,0 +1,63 @@ +# +# Intergraph, formerly Fairchild, Clipper. +# +# XXX - what byte order does the Clipper use? +# +# XXX - what's the "!" stuff: +# +# >18 short !074000,000000 C1 R1 +# >18 short !074000,004000 C2 R1 +# >18 short !074000,010000 C3 R1 +# >18 short !074000,074000 TEST +# +# I shall assume it's ANDing the field with the first value and +# comparing it with the second, and rewrite it as: +# +# >18 short&074000 000000 C1 R1 +# >18 short&074000 004000 C2 R1 +# >18 short&074000 010000 C3 R1 +# >18 short&074000 074000 TEST +# +# as SVR3.1's "file" doesn't support anything of the "!074000,000000" +# sort, nor does SunOS 4.x, so either it's something Intergraph added +# in CLIX, or something AT&T added in SVR3.2 or later, or something +# somebody else thought was a good idea; it's not documented in the +# man page for this version of "magic", nor does it appear to be +# implemented (at least not after I blew off the bogus code to turn +# old-style "&"s into new-style "&"s, which just didn't work at all). +# +0 short 0575 CLIPPER COFF executable (VAX #) +>20 short 0407 (impure) +>20 short 0410 (5.2 compatible) +>20 short 0411 (pure) +>20 short 0413 (demand paged) +>20 short 0443 (target shared library) +>12 long >0 not stripped +>22 short >0 - version %ld +0 short 0577 CLIPPER COFF executable +>18 short&074000 000000 C1 R1 +>18 short&074000 004000 C2 R1 +>18 short&074000 010000 C3 R1 +>18 short&074000 074000 TEST +>20 short 0407 (impure) +>20 short 0410 (pure) +>20 short 0411 (separate I&D) +>20 short 0413 (paged) +>20 short 0443 (target shared library) +>12 long >0 not stripped +>22 short >0 - version %ld +>48 long&01 01 alignment trap enabled +>52 byte 1 -Ctnc +>52 byte 2 -Ctsw +>52 byte 3 -Ctpw +>52 byte 4 -Ctcb +>53 byte 1 -Cdnc +>53 byte 2 -Cdsw +>53 byte 3 -Cdpw +>53 byte 4 -Cdcb +>54 byte 1 -Csnc +>54 byte 2 -Cssw +>54 byte 3 -Cspw +>54 byte 4 -Cscb +4 string pipe CLIPPER instruction trace +4 string prof CLIPPER instruction profile diff --git a/usr.bin/file/Magdir/commands b/usr.bin/file/Magdir/commands new file mode 100644 index 0000000000000..d7c04c1a40aca --- /dev/null +++ b/usr.bin/file/Magdir/commands @@ -0,0 +1,40 @@ +# +# "Commands": stuff for various shells and interpreters. +# +0 string :\ shell archive or commands for antique kernel text +0 string #!/bin/sh Bourne Shell script text +0 string #!\ /bin/sh Bourne Shell script text +0 string #!/bin/csh C Shell script text +0 string #!\ /bin/csh C Shell script text +# korn shell magic, sent by George Wu, gwu@clyde.att.com +0 string #!/bin/ksh Korn Shell script text +0 string #!\ /bin/ksh Korn Shell script text +0 string #!/bin/tcsh Tenex C Shell script text +0 string #!\ /bin/tcsh Tenex C Shell script text +0 string #!/usr/local/tcsh Tenex C Shell script text +0 string #!\ /usr/local/tcsh Tenex C Shell script text +0 string #!/usr/local/bin/tcsh Tenex C Shell script text +0 string #!\ /usr/local/bin/tcsh Tenex C Shell script text +0 string #!/bin/awk Awk Commands text +0 string #!\ /bin/awk Awk Commands text +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 new file mode 100644 index 0000000000000..6309c18061a1b --- /dev/null +++ b/usr.bin/file/Magdir/compress @@ -0,0 +1,40 @@ +# +# 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 + +# +# This magic number is byte-order-independent. +# +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 +0 string \377\037 compacted data +0 short 0145405 huf output +# +# Squeeze and Crunch... +# These numbers were gleaned from the Unix versions of the programs to +# handle these formats. Note that I can only uncrunch, not crunch, and +# I didn't have a crunched file handy, so the crunch number is untested. +# Keith Waclena <keith@cerberus.uchicago.edu> +0 leshort 0x76FF squeezed data (CP/M, DOS) +0 leshort 0x76FE crunched data (CP/M, DOS) +# Freeze +0 string \037\237 Frozen file 2.1 +0 string \037\236 Frozen file 1.0 (or gzip 0.5) +# +# Standard unix compress +# +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 diff --git a/usr.bin/file/Magdir/convex b/usr.bin/file/Magdir/convex new file mode 100644 index 0000000000000..0220a81473683 --- /dev/null +++ b/usr.bin/file/Magdir/convex @@ -0,0 +1,4 @@ +# +# XXX - what byte order does a Convex use? +# +0 long 0513 Convex executable diff --git a/usr.bin/file/Magdir/cpio b/usr.bin/file/Magdir/cpio new file mode 100644 index 0000000000000..d1805cc171f1c --- /dev/null +++ b/usr.bin/file/Magdir/cpio @@ -0,0 +1,16 @@ +# +# Yes, the two "cpio archive" formats *are* supposed to just be "short". +# The idea is to indicate archives produced on machines with the same +# byte order as the machine running "file" with "cpio archive", and +# to indicate archives produced on machines with the opposite byte order +# from the machine running "file" with "byte-swapped cpio archive". +# +# The SVR4 "cpio(4)" hints that there are additional formats, but they +# are defined as "short"s; I think all the new formats are +# character-header formats, and thus are strings not numbers. +# +0 short 070707 cpio archive +0 short 0143561 byte-swapped cpio archive +0 string 070707 ASCII cpio archive (pre-SVR4 or odc) +0 string 070701 ASCII cpio archive (SVR4 with no CRC) +0 string 070702 ASCII cpio archive (SVR4 with CRC) diff --git a/usr.bin/file/Magdir/diamond b/usr.bin/file/Magdir/diamond new file mode 100644 index 0000000000000..d515d61fe9a17 --- /dev/null +++ b/usr.bin/file/Magdir/diamond @@ -0,0 +1,8 @@ +# +# ... diamond is a multi-media mail and electronic conferencing system.... +# +# XXX - I think it was either renamed Slate, or replaced by Slate.... +# +# The full deal is too long... +#0 string <list>\n<protocol\ bbn-multimedia-format> Diamond Multimedia Document +0 string =<list>\n<protocol\ bbn-m Diamond Multimedia Document diff --git a/usr.bin/file/Magdir/diff b/usr.bin/file/Magdir/diff new file mode 100644 index 0000000000000..abf1b87c72117 --- /dev/null +++ b/usr.bin/file/Magdir/diff @@ -0,0 +1,6 @@ +# +# 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 +0 string Common\ subdirectories:\ 'diff' output text diff --git a/usr.bin/file/Magdir/ditroff b/usr.bin/file/Magdir/ditroff new file mode 100644 index 0000000000000..1fff1783639be --- /dev/null +++ b/usr.bin/file/Magdir/ditroff @@ -0,0 +1,4 @@ +# Magic numbers for ditroff intermediate language +0 string x\ T\ cat titroff output for the C/A/T text +0 string x\ T\ ps titroff output for PostScript +0 string x\ T titroff output text diff --git a/usr.bin/file/Magdir/dump b/usr.bin/file/Magdir/dump new file mode 100644 index 0000000000000..d641747f38d42 --- /dev/null +++ b/usr.bin/file/Magdir/dump @@ -0,0 +1,80 @@ +# +# magic.dump, dump file format. For new and old dump filesystems +# +# We specify both byte orders in order to recognize byte-swapped dumps. +# +24 belong 60012 new-fs dump file (big endian), +>4 bedate x Previous dump %s, +>8 bedate x This dump %s, +>12 belong >0 Volume %ld, +>692 belong 0 Level zero, type: +>692 belong >0 Level %d, type: +>0 belong 1 tape header, +>0 belong 2 beginning of file record, +>0 belong 3 map of inodes on tape, +>0 belong 4 continuation of file record, +>0 belong 5 end of volume, +>0 belong 6 map of inodes deleted, +>0 belong 7 end of medium (for floppy), +>676 string >\0 Label %s, +>696 string >\0 Filesystem %s, +>760 string >\0 Device %s, +>824 string >\0 Host %s, +>888 belong >0 Flags %x + +24 belong 60011 old-fs dump file (big endian), +#>4 bedate x Previous dump %s, +#>8 bedate x This dump %s, +>12 belong >0 Volume %ld, +>692 belong 0 Level zero, type: +>692 belong >0 Level %d, type: +>0 belong 1 tape header, +>0 belong 2 beginning of file record, +>0 belong 3 map of inodes on tape, +>0 belong 4 continuation of file record, +>0 belong 5 end of volume, +>0 belong 6 map of inodes deleted, +>0 belong 7 end of medium (for floppy), +>676 string >\0 Label %s, +>696 string >\0 Filesystem %s, +>760 string >\0 Device %s, +>824 string >\0 Host %s, +>888 belong >0 Flags %x + +24 lelong 60012 new-fs dump file (little endian), +>4 ledate x Previous dump %s, +>8 ledate x This dump %s, +>12 lelong >0 Volume %ld, +>692 lelong 0 Level zero, type: +>692 lelong >0 Level %d, type: +>0 lelong 1 tape header, +>0 lelong 2 beginning of file record, +>0 lelong 3 map of inodes on tape, +>0 lelong 4 continuation of file record, +>0 lelong 5 end of volume, +>0 lelong 6 map of inodes deleted, +>0 lelong 7 end of medium (for floppy), +>676 string >\0 Label %s, +>696 string >\0 Filesystem %s, +>760 string >\0 Device %s, +>824 string >\0 Host %s, +>888 lelong >0 Flags %x + +24 lelong 60011 old-fs dump file (little endian), +#>4 ledate x Previous dump %s, +#>8 ledate x This dump %s, +>12 lelong >0 Volume %ld, +>692 lelong 0 Level zero, type: +>692 lelong >0 Level %d, type: +>0 lelong 1 tape header, +>0 lelong 2 beginning of file record, +>0 lelong 3 map of inodes on tape, +>0 lelong 4 continuation of file record, +>0 lelong 5 end of volume, +>0 lelong 6 map of inodes deleted, +>0 lelong 7 end of medium (for floppy), +>676 string >\0 Label %s, +>696 string >\0 Filesystem %s, +>760 string >\0 Device %s, +>824 string >\0 Host %s, +>888 lelong >0 Flags %x diff --git a/usr.bin/file/Magdir/elf b/usr.bin/file/Magdir/elf new file mode 100644 index 0000000000000..e34332dc1c700 --- /dev/null +++ b/usr.bin/file/Magdir/elf @@ -0,0 +1,44 @@ +# +# ELF +# Missing MIPS image type and flags +# +# 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. +# +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 +>>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 +>>36 belong 1 MathCoPro/FPU/MAU Required + diff --git a/usr.bin/file/Magdir/encore b/usr.bin/file/Magdir/encore new file mode 100644 index 0000000000000..7244f87a9110c --- /dev/null +++ b/usr.bin/file/Magdir/encore @@ -0,0 +1,20 @@ +# +# magic.encore: Recognize encore machines +# +# XXX - needs to have the byte order specified (NS32K was little-endian, +# dunno whether they run the 88K in little-endian mode or not). +# +0 short 0x154 Encore +>20 short 0x107 executable +>20 short 0x108 pure executable +>20 short 0x10b demand-paged executable +>20 short 0x10f unsupported executable +>12 long >0 not stripped +>22 short >0 - version %ld +>22 short 0 - +#>4 date x stamp %s +0 short 0x155 Encore unsupported executable +>12 long >0 not stripped +>22 short >0 - version %ld +>22 short 0 - +#>4 date x stamp %s diff --git a/usr.bin/file/Magdir/floppy.raw b/usr.bin/file/Magdir/floppy.raw new file mode 100644 index 0000000000000..75091b9b55808 --- /dev/null +++ b/usr.bin/file/Magdir/floppy.raw @@ -0,0 +1 @@ +0 string \366\366\366\366 Formatted floppy w/ no filesystem data diff --git a/usr.bin/file/Magdir/fonts b/usr.bin/file/Magdir/fonts new file mode 100644 index 0000000000000..594db76d91f00 --- /dev/null +++ b/usr.bin/file/Magdir/fonts @@ -0,0 +1,3 @@ +0 string FONT ASCII vfont text +0 short 0436 Berkeley vfont data +0 short 017001 byte-swapped Berkeley vfont data diff --git a/usr.bin/file/Magdir/frame b/usr.bin/file/Magdir/frame new file mode 100644 index 0000000000000..46e8648fddc66 --- /dev/null +++ b/usr.bin/file/Magdir/frame @@ -0,0 +1,28 @@ +# +# 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 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 +>9 string 3.0 (3.0) +>9 string 2.0 (2.0) +>9 string 1.0 (1.x) +0 string \<MakerDictionary FraneMaker 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 +>17 string 1.01 (%s) +0 string \<MML FrameMaker MML file +0 string \<Book 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 diff --git a/usr.bin/file/Magdir/gzip b/usr.bin/file/Magdir/gzip new file mode 100644 index 0000000000000..a19a6546ef439 --- /dev/null +++ b/usr.bin/file/Magdir/gzip @@ -0,0 +1,21 @@ +0 string \037\213 gzip compressed data +>2 byte <8 - reserved method +>2 byte 8 - deflate method +>3 byte &0x01 , ascii +>3 byte &0x02 , continuation +>3 byte &0x04 , extra field +>3 byte &0x08 , original file name +>3 byte &0x10 , comment +>3 byte &0x20 , encrypted +>4 ledate x , last modified: %s +>8 byte 2 , max compression +>8 byte 4 , max speed +>9 byte =0x00 os: MS/DOS +>9 byte =0x01 os: Amiga +>9 byte =0x02 os: VMS +>9 byte =0x03 os: Unix +>9 byte =0x05 os: Atari +>9 byte =0x06 os: OS/2 +>9 byte =0x07 os: MacOS +>9 byte =0x0A os: Tops/20 +>9 byte =0x0B os: Win/32 diff --git a/usr.bin/file/Magdir/hp b/usr.bin/file/Magdir/hp new file mode 100644 index 0000000000000..db02e54bd5974 --- /dev/null +++ b/usr.bin/file/Magdir/hp @@ -0,0 +1,191 @@ +# +# magic.hp: Hewlett Packard Magic +# +# XXX - somebody should figure out whether any byte order needs to be +# applied to the "TML" stuff; I'm assuming the Apollo stuff is +# big-endian as it was mostly 68K-based. +# +# HP-PA is big-endian, so it (and "800", which is *also* HP-PA-based; I +# assume "HPPA-RISC1.1" really means "HP-PA Version 1.1", which first +# showed up in the 700 series, although later 800 series machines are, +# I think, based on the PA7100 which implements HP-PA 1.1) are flagged +# as big-endian. +# +# I think the 500 series was the old stack-based machines, running a +# UNIX environment atop the "SUN kernel"; dunno whether it was +# big-endian or little-endian. +# +# I'm guessing that the 200 series was 68K-based; the 300 and 400 series +# are. +# +# The "misc" stuff needs a byte order; the archives look suspiciously +# like the old 177545 archives (0xff65 = 0177545). +# +#### Old Apollo stuff +0 beshort 0627 Apollo m68k COFF executable +>18 beshort ^040000 not stripped +>22 beshort >0 - version %ld +0 beshort 0624 apollo a88k COFF executable +>18 beshort ^040000 not stripped +>22 beshort >0 - version %ld +0 long 01203604016 TML 0123 byte-order format +0 long 01702407010 TML 1032 byte-order format +0 long 01003405017 TML 2301 byte-order format +0 long 01602007412 TML 3210 byte-order format +#### HPPA +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 + +0 belong 0x02100108 HPPA-RISC1.1 shared executable +>(144) belong 0x054ef630 dynamically linked +>96 belong >0 -not stripped + +0 belong 0x0210010b HPPA-RISC1.1 demand-load executable +>(144) belong 0x054ef630 dynamically linked +>96 belong >0 -not stripped + +0 belong 0x0210010e HPPA-RISC1.1 shared library +>96 belong >0 -not stripped + +0 belong 0x0210010d HPPA-RISC1.1 dynamic load library +>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 + +0 belong 0x020b0108 HP s800 shared executable +>(144) belong 0x054ef630 dynamically linked +>96 belong >0 -not stripped + +0 belong 0x020b010b HP s800 demand-load executable +>(144) belong 0x054ef630 dynamically linked +>96 belong >0 -not stripped + +0 belong 0x020b010e HP s800 shared library +>96 belong >0 -not stripped + +0 belong 0x020b010d HP s800 dynamic load library +>96 belong >0 -not stripped + +0 belong 0x213c6172 archive file +>68 belong 0x020b0619 -HP s800 relocatable library + +#### 500 +0 long 0x02080106 HP s500 relocatable executable +>16 long >0 -version %ld + +0 long 0x02080107 HP s500 executable +>16 long >0 -version %ld + +0 long 0x02080108 HP s500 pure executable +>16 long >0 -version %ld + +#### 200 +0 belong 0x020c0108 HP s200 pure executable +>4 beshort >0 -version %ld +>8 belong &0x80000000 save fp regs +>8 belong &0x40000000 dynamically linked +>8 belong &0x20000000 debuggable +>36 belong >0 not stripped + +0 belong 0x020c0107 HP s200 executable +>4 beshort >0 -version %ld +>8 belong &0x80000000 save fp regs +>8 belong &0x40000000 dynamically linked +>8 belong &0x20000000 debuggable +>36 belong >0 not stripped + +0 belong 0x020c010b HP s200 demand-load executable +>4 beshort >0 -version %ld +>8 belong &0x80000000 save fp regs +>8 belong &0x40000000 dynamically linked +>8 belong &0x20000000 debuggable +>36 belong >0 not stripped + +0 belong 0x020c0106 HP s200 relocatable executable +>4 beshort >0 -version %ld +>6 beshort >0 -highwater %d +>8 belong &0x80000000 save fp regs +>8 belong &0x20000000 debuggable +>8 belong &0x10000000 PIC + +0 belong 0x020a0108 HP s200 (2.x release) pure executable +>4 beshort >0 -version %ld +>36 belong >0 not stripped + +0 belong 0x020a0107 HP s200 (2.x release) executable +>4 beshort >0 -version %ld +>36 belong >0 not stripped + +0 belong 0x020c010e HP s200 shared library +>4 beshort >0 -version %ld +>6 beshort >0 -highwater %d +>36 belong >0 not stripped + +0 belong 0x020c010d HP s200 dynamic load library +>4 beshort >0 -version %ld +>6 beshort >0 -highwater %d +>36 belong >0 not stripped + +#### MISC +0 long 0x0000ff65 HP old archive +0 long 0x020aff65 HP s200 old archive +0 long 0x020cff65 HP s200 old archive +0 long 0x0208ff65 HP s500 old archive + +0 long 0x015821a6 HP core file + +0 long 0x4da7eee8 HP-WINDOWS font +>8 byte >0 -version %ld +0 string Bitmapfile HP Bitmapfile + +0 string IMGfile CIS compimg HP Bitmapfile +0 short 0x8000 lif file +0 long 0x020c010c compiled Lisp + +0 string msgcat01 HP NLS message catalog, +>8 long >0 %d messages + +# addendum to /etc/magic with HP-48sx file-types by phk@data.fls.dk 1jan92 +0 string HPHP48- HP48 binary +>7 byte >0 - Rev %c +>8 short 0x1129 (ADR) +>8 short 0x3329 (REAL) +>8 short 0x5529 (LREAL) +>8 short 0x7729 (COMPLX) +>8 short 0x9d29 (LCOMPLX) +>8 short 0xbf29 (CHAR) +>8 short 0xe829 (ARRAY) +>8 short 0x0a2a (LNKARRAY) +>8 short 0x2c2a (STRING) +>8 short 0x4e2a (HXS) +>8 short 0x742a (LIST) +>8 short 0x962a (DIR) +>8 short 0xb82a (ALG) +>8 short 0xda2a (UNIT) +>8 short 0xfc2a (TAGGED) +>8 short 0x1e2b (GROB) +>8 short 0x402b (LIB) +>8 short 0x622b (BACKUP) +>8 short 0x882b (LIBDATA) +>8 short 0x9d2d (PROG) +>8 short 0xcc2d (CODE) +>8 short 0x482e (GNAME) +>8 short 0x6d2e (LNAME) +>8 short 0x922e (XLIB) +0 string %%HP: HP48 text +>6 string T(0) - T(0) +>6 string T(1) - T(1) +>6 string T(2) - T(2) +>6 string T(3) - T(3) +>10 string A(D) A(D) +>10 string A(R) A(R) +>10 string A(G) A(G) +>14 string F(.) F(.); +>14 string F(,) F(,); diff --git a/usr.bin/file/Magdir/ibm370 b/usr.bin/file/Magdir/ibm370 new file mode 100644 index 0000000000000..b40fbf4208872 --- /dev/null +++ b/usr.bin/file/Magdir/ibm370 @@ -0,0 +1,19 @@ +# +# IBM 370 and compatibles. +# +# "ibm370" said that 0x15d == 0535 was "ibm 370 pure executable". +# What the heck *is* "USS/370"? +# +0 beshort 0531 SVR2 executable (Amdahl-UTS) +>12 belong >0 not stripped +>24 belong >0 - version %ld +0 beshort 0534 SVR2 pure executable (Amdahl-UTS) +>12 belong >0 not stripped +>24 belong >0 - version %ld +0 beshort 0530 SVR2 pure executable (USS/370) +>12 belong >0 not stripped +>24 belong >0 - version %ld +0 beshort 0535 SVR2 executable (USS/370) +>12 belong >0 not stripped +>24 belong >0 - version %ld + diff --git a/usr.bin/file/Magdir/ibm6000 b/usr.bin/file/Magdir/ibm6000 new file mode 100644 index 0000000000000..e4d73df4ec7af --- /dev/null +++ b/usr.bin/file/Magdir/ibm6000 @@ -0,0 +1,17 @@ +# +# magic.rs6000: +# +# RS/6000 and the RT PC. +# +0 beshort 0x01df executable (RISC System/6000 V3.1) or obj module +>12 belong >0 not stripped +# Breaks sun4 statically linked execs. +#0 beshort 0x0103 executable (RT Version 2) or obj module +#>2 byte 0x50 pure +#>28 belong >0 not stripped +#>6 beshort >0 - version %ld +0 beshort 0x0104 shared library +0 beshort 0x0105 ctab data +0 beshort 0xfe04 structured file +0 string 0xabcdef message catalog +#0 string <aiaff> archive diff --git a/usr.bin/file/Magdir/iff b/usr.bin/file/Magdir/iff new file mode 100644 index 0000000000000..2d2f95bba0b6d --- /dev/null +++ b/usr.bin/file/Magdir/iff @@ -0,0 +1,5 @@ +# 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 diff --git a/usr.bin/file/Magdir/imagen b/usr.bin/file/Magdir/imagen new file mode 100644 index 0000000000000..5fa4f6c319511 --- /dev/null +++ b/usr.bin/file/Magdir/imagen @@ -0,0 +1,14 @@ +# Tell file about magic for IMAGEN printer-ready files: +0 string @document( Imagen printer +# this only works if "language xxx" is first item in Imagen header. +>10 string language\ impress (imPRESS data) +>10 string language\ daisy (daisywheel text) +>10 string language\ diablo (daisywheel text) +>10 string language\ printer (line printer emulation) +>10 string language\ tektronix (Tektronix 4014 emulation) +# Add any other languages that your Imagen uses - remember +# to keep the word `text' if the file is human-readable. +# +# Now magic for IMAGEN font files... +0 string Rast RST-format raster font data +>45 string >0 face % diff --git a/usr.bin/file/Magdir/images b/usr.bin/file/Magdir/images new file mode 100644 index 0000000000000..074c743e65c72 --- /dev/null +++ b/usr.bin/file/Magdir/images @@ -0,0 +1,69 @@ +# image formats, 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? +# + +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) +0 string IIN1 NIFF raster data + +# GIF +0 string GIF GIF picture +>3 string 87a - version %s +>3 string 89a - version %s +>6 leshort >0 %hd x +>8 leshort >0 %hd, +>10 byte &0x40 interlaced, +>10 byte&0x07 =0x00 2 colors +>10 byte&0x07 =0x01 4 colors +>10 byte&0x07 =0x02 8 colors +>10 byte&0x07 =0x03 16 colors +>10 byte&0x07 =0x04 32 colors +>10 byte&0x07 =0x05 64 colors +>10 byte&0x07 =0x06 128 colors +>10 byte&0x07 =0x07 256 colors + +# 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 +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 diff --git a/usr.bin/file/Magdir/intel b/usr.bin/file/Magdir/intel new file mode 100644 index 0000000000000..3f7ade796204b --- /dev/null +++ b/usr.bin/file/Magdir/intel @@ -0,0 +1,31 @@ +# +# Various flavors of x86 UNIX executable/object (other than Xenix, which +# is in "microsoft"). DOS is in "ms-dos"; the ambitious soul can do +# Windows as well. +# +# Windows NT belongs elsewhere, as you need x86 and MIPS and Alpha and +# whatever comes next (HP-PA Hummingbird?). OS/2 may also go elsewhere +# as well, if, as, and when IBM makes it portable. +# +# The `versions' should be un-commented if they work for you. +# (Was the problem just one of endianness?) +# +0 leshort 0502 basic-16 executable +>12 lelong >0 not stripped +#>22 leshort >0 - version %ld +0 leshort 0503 basic-16 executable (TV) +>12 lelong >0 not stripped +#>22 leshort >0 - version %ld +0 leshort 0510 x86 executable +>12 lelong >0 not stripped +0 leshort 0511 x86 executable (TV) +>12 lelong >0 not stripped +0 leshort =0512 iAPX 286 executable small model (COFF) +>12 lelong >0 not stripped +#>22 leshort >0 - version %ld +0 leshort =0522 iAPX 286 executable large model (COFF) +>12 lelong >0 not stripped +#>22 leshort >0 - version %ld +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 new file mode 100644 index 0000000000000..ab5f3c654f620 --- /dev/null +++ b/usr.bin/file/Magdir/interleaf @@ -0,0 +1,7 @@ +# +# magic for InterLeaf TPS: +0 string =\210OPS Interleaf saved data +0 string =<!OPS Interleaf document text +>5 string ,\ Version\ (version +>>14 string >\0 %s) + diff --git a/usr.bin/file/Magdir/iris b/usr.bin/file/Magdir/iris new file mode 100644 index 0000000000000..952a5f19789f0 --- /dev/null +++ b/usr.bin/file/Magdir/iris @@ -0,0 +1,57 @@ +# +# magic.iris: Magic for mips from an iris4d +# +# Dunno what byte-order munging is needed; all of SGI's *current* +# machines and OSes run in big-endian mode on the MIPS machines, +# as far as I know, but they do have the MIPSEB and MIPSEL stuff +# here.... +# +0 short 0x0160 mipseb +>20 short 0407 executable +>20 short 0410 pure +>20 short 0413 demand paged +>8 long >0 not stripped +>8 long 0 stripped +>22 byte >0 - version %ld. +>23 byte >0 %ld +0 short 0x0162 mipsel +>20 short 0407 executable +>20 short 0410 pure +>20 short 0413 demand paged +>8 long >0 not stripped +>8 long 0 stripped +>23 byte >0 - version %ld. +>22 byte >0 %ld +0 short 0x6001 swapped mipseb +>20 short 03401 executable +>20 short 04001 pure +>20 short 05401 demand paged +>8 long >0 not stripped +>8 long 0 stripped +>22 byte >0 - version %ld. +>23 byte >0 %ld +0 short 0x6201 swapped mipsel +>20 short 03401 executable +>20 short 04001 pure +>20 short 05401 demand paged +>8 long >0 not stripped +>8 long 0 stripped +>22 byte >0 - version %ld. +>23 byte >0 %ld +0 short 0x180 mipseb ucode +0 short 0x182 mipsel ucode +# +# IRIX core format version 1 (from /usr/include/core.out.h) +0 long 0xdeadadb0 IRIX core dump +>4 long 1 of +>16 string >\0 '%s' +# +# Archives - This handles archive subtypes +# +0 string !<arch>\n__________E MIPS archive +>20 string U with mipsucode members +>21 string L with mipsel members +>21 string B with mipseb members +>19 string L and a EL hash table +>19 string B and a EB hash table +>22 string X -- out of date diff --git a/usr.bin/file/Magdir/ispell b/usr.bin/file/Magdir/ispell new file mode 100644 index 0000000000000..04814b8f19381 --- /dev/null +++ b/usr.bin/file/Magdir/ispell @@ -0,0 +1,23 @@ +# +# magic.ispell +# +# XXX - byte order? +# +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 diff --git a/usr.bin/file/Magdir/lex b/usr.bin/file/Magdir/lex new file mode 100644 index 0000000000000..929e68dd67e56 --- /dev/null +++ b/usr.bin/file/Magdir/lex @@ -0,0 +1,3 @@ +# derived empirically, your offsets may vary! +53 string yyprevious c program text (from lex) +>3 string >\0 for %s diff --git a/usr.bin/file/Magdir/lif b/usr.bin/file/Magdir/lif new file mode 100644 index 0000000000000..9ac80b9c1b86e --- /dev/null +++ b/usr.bin/file/Magdir/lif @@ -0,0 +1,6 @@ +# +# magic.lif: +# +# XXX - byte order? +# +0 short 0x8000 lif file diff --git a/usr.bin/file/Magdir/linux b/usr.bin/file/Magdir/linux new file mode 100644 index 0000000000000..7c2855ee59082 --- /dev/null +++ b/usr.bin/file/Magdir/linux @@ -0,0 +1,11 @@ +# 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 diff --git a/usr.bin/file/Magdir/magic b/usr.bin/file/Magdir/magic new file mode 100644 index 0000000000000..20ee340a03053 --- /dev/null +++ b/usr.bin/file/Magdir/magic @@ -0,0 +1 @@ +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 new file mode 100644 index 0000000000000..d55b108a9621f --- /dev/null +++ b/usr.bin/file/Magdir/mail.news @@ -0,0 +1,13 @@ +# Unfortunately, saved netnews also has From line added in some news software. +#0 string From mail text +# There are tests to ascmagic.c to cope with mail and news. +0 string Relay-Version: old news text +0 string #!\ rnews batched news text +0 string N#!\ rnews mailed, batched news text +0 string Forward\ to mail forwarding text +0 string Pipe\ to mail piping text +0 string Return-Path: smtp mail text +0 string Path: news text +0 string Xref: news text +0 string From: news or mail text +0 string Article saved news text diff --git a/usr.bin/file/Magdir/microsoft b/usr.bin/file/Magdir/microsoft new file mode 100644 index 0000000000000..72bb0df4af4f3 --- /dev/null +++ b/usr.bin/file/Magdir/microsoft @@ -0,0 +1,68 @@ +# +# Microsoft (Xenix, not DOS) +# +# "Middle model" stuff, and "Xenix 8086 relocatable or 80286 small +# model" lifted from "magic.xenix", with comment "derived empirically; +# treat as folklore until proven" +# +# "small model", "large model", "huge model" stuff lifted from XXX +# +# XXX - "x.out" collides with PDP-11 archives.... +# +0 string core core file (Xenix) +0 byte 0x80 8086 relocatable (Microsoft) +0 leshort 0xff65 x.out +>2 string __.SYMDEF randomized +>0 byte x archive +0 leshort 0x206 Microsoft a.out +>8 leshort 1 Middle model +>0x1e leshort &0x10 overlay +>0x1e leshort &0x2 separate +>0x1e leshort &0x4 pure +>0x1e leshort &0x800 segmented +>0x1e leshort &0x400 standalone +>0x1e leshort &0x8 fixed-stack +>0x1c byte &0x80 byte-swapped +>0x1c byte &0x40 word-swapped +>0x10 lelong >0 not-stripped +>0x1e leshort ^0xc000 pre-SysV +>0x1c byte &0x4 86 +>0x1c byte &0x9 286 +>0x1c byte &0xa 386 +>0x1f byte <0x040 small model +>0x1f byte =0x048 large model +>0x1f byte =0x049 huge model +>0x1e leshort &0x1 executable +>0x1e leshort ^0x1 object file +>0x1e leshort &0x40 Large Text +>0x1e leshort &0x20 Large Data +>0x1e leshort &0x120 Huge Objects Enabled +>0x10 lelong >0 not stripped + +0 leshort 0x140 old Microsoft 8086 x.out +>0x3 byte &0x4 separate +>0x3 byte &0x2 pure +>0 byte &0x1 executable +>0 byte ^0x1 relocatable +>0x14 lelong >0 not stripped + +0 lelong 0x206 b.out +>0x1e leshort &0x10 overlay +>0x1e leshort &0x2 separate +>0x1e leshort &0x4 pure +>0x1e leshort &0x800 segmented +>0x1e leshort &0x400 standalone +>0x1e leshort &0x1 executable +>0x1e leshort ^0x1 object file +>0x1e leshort &0x4000 V2.3 +>0x1e leshort &0x8000 V3.0 +>0x1c byte &0x4 86 +>0x1c byte &0xb 186 +>0x1c byte &0x9 286 +>0x1c byte &0x29 286 +>0x1c byte &0xa 386 +>0x1e leshort &0x4 Large Text +>0x1e leshort &0x2 Large Data +>0x1e leshort &0x102 Huge Objects Enabled + +0 leshort 0x580 XENIX 8086 relocatable or 80286 small model diff --git a/usr.bin/file/Magdir/mips b/usr.bin/file/Magdir/mips new file mode 100644 index 0000000000000..ae17cbda2cdb8 --- /dev/null +++ b/usr.bin/file/Magdir/mips @@ -0,0 +1,8 @@ +# +# RISC MIPS decstation +# Should this be "leshort", given that DEC ran the DECstations in +# little-endian mode? +# +# Where is the non-SGI, non-DEC MIPS stuff? +# +0 short 0x6201 MIPS executable diff --git a/usr.bin/file/Magdir/mirage b/usr.bin/file/Magdir/mirage new file mode 100644 index 0000000000000..8a2dbcbe83740 --- /dev/null +++ b/usr.bin/file/Magdir/mirage @@ -0,0 +1,4 @@ +# +# XXX - byte order? +# +0 long 31415 Mirage Assembler m.out executable diff --git a/usr.bin/file/Magdir/mkid b/usr.bin/file/Magdir/mkid new file mode 100644 index 0000000000000..cd2cf864421ff --- /dev/null +++ b/usr.bin/file/Magdir/mkid @@ -0,0 +1,7 @@ +# +# ID is the binary tags database produced by mkid(1). +# +# XXX - byte order? +# +0 string \311\304 ID tags data +>2 short >0 version %d diff --git a/usr.bin/file/Magdir/mmdf b/usr.bin/file/Magdir/mmdf new file mode 100644 index 0000000000000..236c721409029 --- /dev/null +++ b/usr.bin/file/Magdir/mmdf @@ -0,0 +1 @@ +0 string \001\001\001\001 MMDF mailbox diff --git a/usr.bin/file/Magdir/motorola b/usr.bin/file/Magdir/motorola new file mode 100644 index 0000000000000..b89279468fdb0 --- /dev/null +++ b/usr.bin/file/Magdir/motorola @@ -0,0 +1,28 @@ +# +# Motorola +# +# 68K +# +0 beshort 0520 mc68k COFF +>18 beshort ^00000020 object +>18 beshort &00000020 executable +>12 belong >0 not stripped +>168 string .lowmem Apple toolbox +>20 beshort 0407 (impure) +>20 beshort 0410 (pure) +>20 beshort 0413 (demand paged) +>20 beshort 0421 (standalone) +0 beshort 0521 mc68k executable (shared) +>12 belong >0 not stripped +0 beshort 0522 mc68k executable (shared demand paged) +>12 belong >0 not stripped +# +# Motorola/UniSoft 68K Binary Compatibility Standard (BCS) +# +0 beshort 0554 68K BCS executable +# +# 88K +# +# Motorola/88Open BCS +# +0 beshort 0555 88K BCS executable diff --git a/usr.bin/file/Magdir/ms-dos b/usr.bin/file/Magdir/ms-dos new file mode 100644 index 0000000000000..830493aef993a --- /dev/null +++ b/usr.bin/file/Magdir/ms-dos @@ -0,0 +1,8 @@ +# +# Various MS-DOS magic numbers +# +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 diff --git a/usr.bin/file/Magdir/ncr b/usr.bin/file/Magdir/ncr new file mode 100644 index 0000000000000..89df75058d6b5 --- /dev/null +++ b/usr.bin/file/Magdir/ncr @@ -0,0 +1,47 @@ +# +# magic.tower: +# +# NCR Tower objects, contributed by +# Michael R. Wayne *** TMC & Associates *** INTERNET: wayne@ford-vax.arpa +# uucp: {philabs | pyramid} !fmsrl7!wayne OR wayne@fmsrl7.UUCP +# +0 beshort 000610 Tower/XP rel 2 object +>12 belong >0 not stripped +>20 beshort 0407 executable +>20 beshort 0410 pure executable +>22 beshort >0 - version %ld +0 beshort 000615 Tower/XP rel 2 object +>12 belong >0 not stripped +>20 beshort 0407 executable +>20 beshort 0410 pure executable +>22 beshort >0 - version %ld +0 beshort 000620 Tower/XP rel 3 object +>12 belong >0 not stripped +>20 beshort 0407 executable +>20 beshort 0410 pure executable +>22 beshort >0 - version %ld +0 beshort 000625 Tower/XP rel 3 object +>12 belong >0 not stripped +>20 beshort 0407 executable +>20 beshort 0410 pure executable +>22 beshort >0 - version %ld +0 beshort 000630 Tower32/600/400 68020 object +>12 belong >0 not stripped +>20 beshort 0407 executable +>20 beshort 0410 pure executable +>22 beshort >0 - version %ld +0 beshort 000640 Tower32/800 68020 +>18 beshort &020000 w/68881 object +>18 beshort &040000 compatible object +>18 beshort &~060000 object +>20 beshort 0407 executable +>20 beshort 0413 pure executable +>12 belong >0 not stripped +>22 beshort >0 - version %ld +0 beshort 000645 Tower32/800 68010 +>18 beshort &040000 compatible object +>18 beshort &~060000 object +>20 beshort 0407 executable +>20 beshort 0413 pure executable +>12 belong >0 not stripped +>22 beshort >0 - version %ld diff --git a/usr.bin/file/Magdir/netbsd b/usr.bin/file/Magdir/netbsd new file mode 100644 index 0000000000000..c89f6fa7d0740 --- /dev/null +++ b/usr.bin/file/Magdir/netbsd @@ -0,0 +1,117 @@ +# +# All new-style magic numbers are in network byte order. +# +0 lelong 000000413 386BSD demand paged executable +>16 lelong >0 not stripped +0 lelong 000000314 BSDI demand paged executable +>16 lelong >0 not stripped + +0 lelong 000000407 NetBSD little-endian object file +>16 lelong >0 not stripped +0 belong 000000407 NetBSD big-endian object file +>16 belong >0 not stripped + +0 belong&0377777777 041400413 NetBSD/i386 demand paged +>0 byte &0x80 +>>20 lelong <4096 shared library +>>20 lelong =4096 dynamically linked executable +>>20 lelong >4096 dynamically linked executable +>0 byte ^0x80 executable +>16 lelong >0 not stripped +0 belong&0377777777 041400410 NetBSD/i386 pure +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 executable +>16 lelong >0 not stripped +0 belong&0377777777 041400407 NetBSD/i386 +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 +>>20 lelong !0 executable +>>20 lelong =0 object file +>16 lelong >0 not stripped + +0 belong&0377777777 041600413 NetBSD/m68k demand paged +>0 byte &0x80 +>>20 belong <8192 shared library +>>20 belong =8192 dynamically linked executable +>>20 belong >8192 dynamically linked executable +>0 byte ^0x80 executable +>16 belong >0 not stripped +0 belong&0377777777 041600410 NetBSD/m68k pure +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 executable +>16 belong >0 not stripped +0 belong&0377777777 041600407 NetBSD/m68k +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 +>>20 belong !0 executable +>>20 belong =0 object file +>16 belong >0 not stripped + +0 belong&0377777777 042000413 NetBSD/m68k4k demand paged +>0 byte &0x80 +>>20 belong <4096 shared library +>>20 belong =4096 dynamically linked executable +>>20 belong >4096 dynamically linked executable +>0 byte ^0x80 executable +>16 belong >0 not stripped +0 belong&0377777777 042000410 NetBSD/m68k4k pure +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 executable +>16 belong >0 not stripped +0 belong&0377777777 042000407 NetBSD/m68k4k +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 +>>20 belong !0 executable +>>20 belong =0 object file +>16 belong >0 not stripped + +0 belong&0377777777 042200413 NetBSD/ns32532 demand paged +>0 byte &0x80 +>>20 lelong <4096 shared library +>>20 lelong =4096 dynamically linked executable +>>20 lelong >4096 dynamically linked executable +>0 byte ^0x80 executable +>16 lelong >0 not stripped +0 belong&0377777777 042200410 NetBSD/ns32532 pure +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 executable +>16 lelong >0 not stripped +0 belong&0377777777 042200407 NetBSD/ns32532 +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 +>>20 lelong !0 executable +>>20 lelong =0 object file +>16 lelong >0 not stripped + +0 belong&0377777777 042400413 NetBSD/sparc demand paged +>0 byte &0x80 +>>20 belong <8192 shared library +>>20 belong =8192 dynamically linked executable +>>20 belong >8192 dynamically linked executable +>0 byte ^0x80 executable +>16 belong >0 not stripped +0 belong&0377777777 042400410 NetBSD/sparc pure +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 executable +>16 belong >0 not stripped +0 belong&0377777777 042400407 NetBSD/sparc +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 +>>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 +>12 string >\0 from '%s' + +0 belong&0377777777 042000507 NetBSD/m68k4k core +>12 string >\0 from '%s' + +0 belong&0377777777 042200507 NetBSD/ns32532 core +>12 string >\0 from '%s' + +0 belong&0377777777 042400507 NetBSD/sparc core +>12 string >\0 from '%s' diff --git a/usr.bin/file/Magdir/news b/usr.bin/file/Magdir/news new file mode 100644 index 0000000000000..df7b6599c5dd0 --- /dev/null +++ b/usr.bin/file/Magdir/news @@ -0,0 +1,5 @@ +# NeWS, 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 diff --git a/usr.bin/file/Magdir/pbm b/usr.bin/file/Magdir/pbm new file mode 100644 index 0000000000000..bed702e66079c --- /dev/null +++ b/usr.bin/file/Magdir/pbm @@ -0,0 +1,4 @@ +# +# XXX - byte order? +# +0 short 0x2a17 "compact bitmap" format (Poskanzer) diff --git a/usr.bin/file/Magdir/pdp b/usr.bin/file/Magdir/pdp new file mode 100644 index 0000000000000..cf1129dbc3b66 --- /dev/null +++ b/usr.bin/file/Magdir/pdp @@ -0,0 +1,22 @@ +# +# magic.pdp: 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 + +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 + +0 leshort 0411 PDP-11 separate I&D executable +>8 leshort >0 not stripped + +0 leshort 0437 PDP-11 kernel overlay diff --git a/usr.bin/file/Magdir/pgp b/usr.bin/file/Magdir/pgp new file mode 100644 index 0000000000000..3965553879294 --- /dev/null +++ b/usr.bin/file/Magdir/pgp @@ -0,0 +1,10 @@ +# +# 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 +>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 new file mode 100644 index 0000000000000..2cdb5e57f322e --- /dev/null +++ b/usr.bin/file/Magdir/pkgadd @@ -0,0 +1,4 @@ +# +# 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 new file mode 100644 index 0000000000000..a5fa4e7dcceda --- /dev/null +++ b/usr.bin/file/Magdir/plus5 @@ -0,0 +1,16 @@ +# +#/etc/magic entries for Plus Five's UNIX MUMPS +# +# XXX - byte order? Paging Hokey.... +# +0 short 0x259 mumps avl global +>2 byte >0 (V%d) +>6 byte >0 with %d byte name +>7 byte >0 and %d byte data cells +0 short 0x25a mumps blt global +>2 byte >0 (V%d) +>8 short >0 - %d byte blocks +>15 byte 0x00 - P/D format +>15 byte 0x01 - P/K/D format +>15 byte 0x02 - K/D format +>15 byte >0x02 - Bad Flags diff --git a/usr.bin/file/Magdir/postscript b/usr.bin/file/Magdir/postscript new file mode 100644 index 0000000000000..dcd8f65507118 --- /dev/null +++ b/usr.bin/file/Magdir/postscript @@ -0,0 +1,17 @@ +# +# magic.postscript: Magic for postscript files +# +# XXX - should we match only versions 1.0 and 2.0, or should we wildcard +# it? +# +0 string %! PostScript document +>2 string PS-Adobe- conforming +>>11 string 1.0 at level %s +>>11 string 2.0 at level %s +>>11 string 3.0 at level %s +# Some pc's have the annoying habit of adding a ^D +0 string \004%! PostScript document +>3 string PS-Adobe- conforming +>>12 string 1.0 at level %s +>>12 string 2.0 at level %s +>>12 string 3.0 at level %s diff --git a/usr.bin/file/Magdir/psdbms b/usr.bin/file/Magdir/psdbms new file mode 100644 index 0000000000000..b1fc2e18d4bc5 --- /dev/null +++ b/usr.bin/file/Magdir/psdbms @@ -0,0 +1,6 @@ +# +# magic.ps: psdatabase magic +# +0 belong&0xff00ffff 0x56000000 ps database +>1 string >\0 version %s +>4 string >\0 from kernel %s diff --git a/usr.bin/file/Magdir/pyramid b/usr.bin/file/Magdir/pyramid new file mode 100644 index 0000000000000..b9c9e56cc8f02 --- /dev/null +++ b/usr.bin/file/Magdir/pyramid @@ -0,0 +1,10 @@ +# +# magic.pyramid: Magic for pyramids +# +# XXX - byte order? +# +0 long 0x50900107 Pyramid 90x family executable +0 long 0x50900108 Pyramid 90x family pure executable +>16 long >0 not stripped +0 long 0x5090010b Pyramid 90x family demand paged pure executable +>16 long >0 not stripped diff --git a/usr.bin/file/Magdir/rle b/usr.bin/file/Magdir/rle new file mode 100644 index 0000000000000..f45605ba7890d --- /dev/null +++ b/usr.bin/file/Magdir/rle @@ -0,0 +1,19 @@ +# From <janl@ifi.uio.no> +# I made this with the help of the man page for rle(5). Ihey missing +# from the magic numbers I have: + +# +# rle +# +0 short 0xcc52 Utah Raster Toolkit RLE +>2 short >0 lower left corner: %d +>4 short >0 lower right corner: %d +>6 short >0 %d x +>8 short >0 %d +>10 byte&0x1 =0x1 CLEARFIRST +>10 byte&0x2 =0x2 NO_BACKGROUND +>10 byte&0x4 =0x4 ALPHA +>10 byte&0x8 =0x8 COMMENT +>11 byte >0 %d colour channels +>12 byte >0 %d bits pr. pixel +>13 byte >0 %d colour map channels diff --git a/usr.bin/file/Magdir/sc b/usr.bin/file/Magdir/sc new file mode 100644 index 0000000000000..9bc91998e1f59 --- /dev/null +++ b/usr.bin/file/Magdir/sc @@ -0,0 +1,2 @@ +# for SC +38 string Spreadsheet sc file diff --git a/usr.bin/file/Magdir/sccs b/usr.bin/file/Magdir/sccs new file mode 100644 index 0000000000000..d27c5a70d9256 --- /dev/null +++ b/usr.bin/file/Magdir/sccs @@ -0,0 +1,17 @@ +# SCCS archive structure: +# \001h01207 +# \001s 00276/00000/00000 +# \001d D 1.1 87/09/23 08:09:20 ian 1 0 +# \001c date and time created 87/09/23 08:09:20 by ian +# \001e +# \001u +# \001U +# ... etc. +# Now '\001h' happens to be the same as the 3B20's a.out magic number (0550). +# *Sigh*. And these both came from various parts of the USG. +# Maybe we should just switch everybody from SCCS to RCS! +# Further, you can't just say '\001h0', because the five-digit number +# is a checksum that could (presumably) have any leading digit, +# and we don't have regular expression matching yet. +# Hence the following official kludge: +8 string \001s\ SCCS archive. diff --git a/usr.bin/file/Magdir/sendmail b/usr.bin/file/Magdir/sendmail new file mode 100644 index 0000000000000..7eea31d217fb9 --- /dev/null +++ b/usr.bin/file/Magdir/sendmail @@ -0,0 +1,9 @@ +# +# magic.sendmail: +# +# XXX - byte order? +# +0 byte 046 Sendmail frozen configuration +>16 string >\0 - version %s +0 short 0x271c Sendmail frozen configuration +>16 string >\0 - version %s diff --git a/usr.bin/file/Magdir/sequent b/usr.bin/file/Magdir/sequent new file mode 100644 index 0000000000000..bcb7061577f87 --- /dev/null +++ b/usr.bin/file/Magdir/sequent @@ -0,0 +1,30 @@ +# Sequent information updated by Don Dwiggins <atsun!dwiggins>. +# For Sequent's multiprocessor systems (incomplete). +0 lelong 0x00ea BALANCE NS32000 .o +>16 lelong >0 not stripped +>124 lelong >0 version %ld +0 lelong 0x10ea BALANCE NS32000 executable (0 @ 0) +>16 lelong >0 not stripped +>124 lelong >0 version %ld +0 lelong 0x20ea BALANCE NS32000 executable (invalid @ 0) +>16 lelong >0 not stripped +>124 lelong >0 version %ld +0 lelong 0x30ea BALANCE NS32000 standalone executable +>16 lelong >0 not stripped +>124 lelong >0 version %ld +# +# Symmetry information added by Jason Merrill <jason@jarthur.claremont.edu>. +# Symmetry magic nums will not be reached if DOS COM comes before them; +# byte 0xeb is matched before these get a chance. +0 leshort 0x12eb SYMMETRY i386 .o +>16 lelong >0 not stripped +>124 lelong >0 version %ld +0 leshort 0x22eb SYMMETRY i386 executable (0 @ 0) +>16 lelong >0 not stripped +>124 lelong >0 version %ld +0 leshort 0x32eb SYMMETRY i386 executable (invalid @ 0) +>16 lelong >0 not stripped +>124 lelong >0 version %ld +0 leshort 0x42eb SYMMETRY i386 standalone executable +>16 lelong >0 not stripped +>124 lelong >0 version %ld diff --git a/usr.bin/file/Magdir/sgml b/usr.bin/file/Magdir/sgml new file mode 100644 index 0000000000000..bb8b5dd43d19e --- /dev/null +++ b/usr.bin/file/Magdir/sgml @@ -0,0 +1,6 @@ +# $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 diff --git a/usr.bin/file/Magdir/softquad b/usr.bin/file/Magdir/softquad new file mode 100644 index 0000000000000..e49d052ee7cbe --- /dev/null +++ b/usr.bin/file/Magdir/softquad @@ -0,0 +1,27 @@ +# SoftQuad Publishing Software magic numbers +# $Id: softquad,v 1.8 1993/02/19 14:36:43 ian Exp $ +# Author/Editor and RulesBuilder +# +# XXX - byte order? +# +0 string \<!SQ\ DTD> Compiled SGML rules file +>9 string >\0 Type %s +0 string \<!SQ\ A/E> A/E SGML Document binary +>9 string >\0 Type %s +0 string \<!SQ\ STS> A/E SGML binary styles file +>9 string >\0 Type %s +0 short 0xc0de Compiled PSI (v1) data +0 short 0xc0da Compiled PSI (v2) data +>3 string >\0 (%s) +# Binary sqtroff font/desc files... +0 short 0125252 SoftQuad DESC or font file binary +>2 short >0 - version %d +# Bitmaps... +0 string SQ\ BITMAP1 SoftQuad Raster Format text +#0 string SQ\ BITMAP2 SoftQuad Raster Format data +# sqtroff intermediate language (replacement for ditroff int. lang.) +0 string X\ SoftQuad troff Context intermediate +>2 string 495 for AT&T 495 laser printer +>2 string hp for Hewlett-Packard LaserJet +>2 string impr for IMAGEN imPRESS +>2 string ps for PostScript diff --git a/usr.bin/file/Magdir/sun b/usr.bin/file/Magdir/sun new file mode 100644 index 0000000000000..d6ce8093175c9 --- /dev/null +++ b/usr.bin/file/Magdir/sun @@ -0,0 +1,84 @@ +# +# Values for big-endian Sun (MC680x0, SPARC) binaries on pre-5.x +# releases. +# (5.x uses ELF.) +# +0 belong&077777777 0600413 sparc demand paged +>0 byte &0x80 +>>20 belong <4096 shared library +>>20 belong =4096 dynamically linked executable +>>20 belong >4096 dynamically linked executable +>0 byte ^0x80 executable +>16 belong >0 not stripped +0 belong&077777777 0600410 sparc pure +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 executable +>16 belong >0 not stripped +0 belong&077777777 0600407 sparc +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 executable +>16 belong >0 not stripped + +0 belong&077777777 0400413 mc68020 demand paged +>0 byte &0x80 +>>20 belong <4096 shared library +>>20 belong =4096 dynamically linked executable +>>20 belong >4096 dynamically linked executable +>16 belong >0 not stripped +0 belong&077777777 0400410 mc68020 pure +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 executable +>16 belong >0 not stripped +0 belong&077777777 0400407 mc68020 +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 executable +>16 belong >0 not stripped + +0 belong&077777777 0200413 mc68010 demand paged +>0 byte &0x80 +>>20 belong <4096 shared library +>>20 belong =4096 dynamically linked executable +>>20 belong >4096 dynamically linked executable +>16 belong >0 not stripped +0 belong&077777777 0200410 mc68010 pure +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 executable +>16 belong >0 not stripped +0 belong&077777777 0200407 mc68010 +>0 byte &0x80 dynamically linked executable +>0 byte ^0x80 executable +>16 belong >0 not stripped + +# reworked these to avoid anything beginning with zero becoming "old sun-2" +0 belong 0407 old sun-2 executable +>16 belong >0 not stripped +0 belong 0410 old sun-2 pure executable +>16 belong >0 not stripped +0 belong 0413 old sun-2 demand paged executable +>16 belong >0 not stripped + +# +# Core files. "SPARC 4.x BCP" means "core file from a SunOS 4.x SPARC +# binary executed in compatibility mode under SunOS 5.x". +# +0 belong 0x080456 SunOS core file +>4 belong 432 (SPARC) +>>132 string >\0 from '%s' +>>116 belong =3 (quit) +>>116 belong =4 (illegal instruction) +>>116 belong =5 (trace trap) +>>116 belong =6 (abort) +>>116 belong =7 (emulator trap) +>>116 belong =8 (arithmetic exception) +>>116 belong =9 (kill) +>>116 belong =10 (bus error) +>>116 belong =11 (segmentation violation) +>>116 belong =12 (bad argument to system call) +>>116 belong =29 (resource lost) +>>120 belong x (T=%dK, +>>124 belong x D=%dK, +>>128 belong x S=%dK) +>4 belong 826 (68K) +>>128 string >\0 from '%s' +>4 belong 456 (SPARC 4.x BCP) +>>152 string >\0 from '%s' diff --git a/usr.bin/file/Magdir/sunraster b/usr.bin/file/Magdir/sunraster new file mode 100644 index 0000000000000..39db3a3115ed9 --- /dev/null +++ b/usr.bin/file/Magdir/sunraster @@ -0,0 +1,12 @@ +# +# Sun rasterfiles +# +# XXX - byte order? What about the 386i? +# +0 string \x59\xa6\x6a\x95 rasterfile +>4 belong >0 %d +>8 belong >0 x %d +>12 belong >0 x %d +>20 belong 0 old format +>20 belong 2 compressed +>24 belong 1 with color map diff --git a/usr.bin/file/Magdir/terminfo b/usr.bin/file/Magdir/terminfo new file mode 100644 index 0000000000000..76e171d84db61 --- /dev/null +++ b/usr.bin/file/Magdir/terminfo @@ -0,0 +1,8 @@ +# +# Terminfo +# +# XXX - byte order for screen images? +# +0 string \032\001 Compiled terminfo entry +0 short 0433 Curses screen image +0 short 0434 Curses screen image diff --git a/usr.bin/file/Magdir/tex b/usr.bin/file/Magdir/tex new file mode 100644 index 0000000000000..734bedd5a8e81 --- /dev/null +++ b/usr.bin/file/Magdir/tex @@ -0,0 +1,25 @@ +# +# magic.tex: +# +# XXX - needs byte-endian stuff (big-endian and little-endian DVI?) +# +# From <conklin@talisman.kaleida.com> + +# Although we may know the offset of certain text fields in TeX DVI +# and font files, we can't use them reliably because they are not +# zero terminated. [but we do anyway, christos] +0 string \367\002 TeX DVI file +>16 string >\0 (%s) +0 string \367\203 TeX generic font data +0 string \367\131 TeX packed font data +>4 string >\0 (%s) +0 string \367\312 TeX virtual font data +0 string This\ is\ TeX, TeX transcript text +0 string This\ is\ METAFONT, METAFONT transcript text + +# There is no way to detect TeX Font Metric (*.tfm) files without +# breaking them apart and reading the data. The following patterns +# match most *.tfm files generated by METAFONT or afm2tfm. +2 string \000\021 TeX font metric data +2 string \000\022 TeX font metric data +>34 string >\0 (%s) diff --git a/usr.bin/file/Magdir/troff b/usr.bin/file/Magdir/troff new file mode 100644 index 0000000000000..d414c16493225 --- /dev/null +++ b/usr.bin/file/Magdir/troff @@ -0,0 +1,6 @@ +# +# magic.troff: +# +0 string \100\357 very old (C/A/T) troff output data +0 string ' [nt]roff, tbl, or eqn input text + diff --git a/usr.bin/file/Magdir/typeset b/usr.bin/file/Magdir/typeset new file mode 100644 index 0000000000000..506456350c182 --- /dev/null +++ b/usr.bin/file/Magdir/typeset @@ -0,0 +1,5 @@ +# other typesetting magic +0 string \100\357 very old (C/A/T) troff output data +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 new file mode 100644 index 0000000000000..1ea5f066d6ff2 --- /dev/null +++ b/usr.bin/file/Magdir/unknown @@ -0,0 +1,35 @@ +# +# magic.unknown: Unknown machine magic +# +# XXX - this probably should be pruned, as it'll match PDP-11 and +# VAX image formats. +# +# 0x107 is 0407; 0x108 is 0410; both are PDP-11 (executable and pure, +# respectively). +# +# 0x109 is 0411; that's PDP-11 split I&D, but the PDP-11 version doesn't +# have the "version %ld", which may be a bogus COFFism (I don't think +# there ever was COFF for the PDP-11). +# +# 0x10B is 0413; that's VAX demand-paged, but this is a short, not a +# long, as it would be on a VAX. +# +# 0x10C is 0414, 0x10D is 0415, and 0x10E is 416; those *are* unknown. +# +0 short 0x107 unknown machine executable +>8 short >0 not stripped +>15 byte >0 - version %ld +0 short 0x108 unknown pure executable +>8 short >0 not stripped +>15 byte >0 - version %ld +0 short 0x109 PDP-11 separate I&D +>8 short >0 not stripped +>15 byte >0 - version %ld +0 short 0x10b unknown pure executable +>8 short >0 not stripped +>15 byte >0 - version %ld +0 long 0x10c unknown demand paged pure executable +>16 long >0 not stripped +0 long 0x10d unknown demand paged pure executable +>16 long >0 not stripped +0 long 0x10e unknown readable demand paged pure executable diff --git a/usr.bin/file/Magdir/uuencode b/usr.bin/file/Magdir/uuencode new file mode 100644 index 0000000000000..add48a8c3276d --- /dev/null +++ b/usr.bin/file/Magdir/uuencode @@ -0,0 +1,3 @@ +0 string begin uuencoded mail text +# Btoa(1) is an alternative to uuencode that requires less space. +0 string xbtoa\ Begin btoa'd text diff --git a/usr.bin/file/Magdir/varied.out b/usr.bin/file/Magdir/varied.out new file mode 100644 index 0000000000000..3a997d1c57119 --- /dev/null +++ b/usr.bin/file/Magdir/varied.out @@ -0,0 +1,5 @@ +# 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 diff --git a/usr.bin/file/Magdir/vax b/usr.bin/file/Magdir/vax new file mode 100644 index 0000000000000..af665fa8a8f30 --- /dev/null +++ b/usr.bin/file/Magdir/vax @@ -0,0 +1,33 @@ +# +# magic.pdp: VAX executable/object and APL workspace +# +0 lelong 0101557 VAX single precision APL workspace +0 lelong 0101556 VAX double precision APL workspace + +# +# VAX a.out (32V, BSD) +# +0 lelong 0407 VAX executable +>16 lelong >0 not stripped + +0 lelong 0410 VAX pure executable +>16 lelong >0 not stripped + +0 lelong 0413 VAX demand paged pure executable +>16 lelong >0 not stripped + +0 lelong 0420 VAX demand paged (first page unmapped) pure executable +>16 lelong >0 not stripped + +# +# VAX COFF +# +# The `versions' should be un-commented if they work for you. +# (Was the problem just one of endianness?) +# +0 leshort 0570 VAX COFF executable +>12 lelong >0 not stripped +>22 leshort >0 - version %ld +0 leshort 0575 VAX COFF pure executable +>12 lelong >0 not stripped +>22 leshort >0 - version %ld diff --git a/usr.bin/file/Magdir/visx b/usr.bin/file/Magdir/visx new file mode 100644 index 0000000000000..e95cc5ee6ea00 --- /dev/null +++ b/usr.bin/file/Magdir/visx @@ -0,0 +1,30 @@ +# +# magic.visx: Visx format file +# +0 short 0x5555 VISX image file +>2 byte 0 (zero) +>2 byte 1 (unsigned char) +>2 byte 2 (short integer) +>2 byte 3 (float 32) +>2 byte 4 (float 64) +>2 byte 5 (signed char) +>2 byte 6 (bit-plane) +>2 byte 7 (classes) +>2 byte 8 (statistics) +>2 byte 10 (ascii text) +>2 byte 15 (image segments) +>2 byte 100 (image set) +>2 byte 101 (unsigned char vector) +>2 byte 102 (short integer vector) +>2 byte 103 (float 32 vector) +>2 byte 104 (float 64 vector) +>2 byte 105 (signed char vector) +>2 byte 106 (bit plane vector) +>2 byte 121 (feature vector) +>2 byte 122 (feature vector library) +>2 byte 124 (chain code) +>2 byte 126 (bit vector) +>2 byte 130 (graph) +>2 byte 131 (adjacency graph) +>2 byte 132 (adjacency graph library) +>2 string .VISIX (ascii text) diff --git a/usr.bin/file/Magdir/x11 b/usr.bin/file/Magdir/x11 new file mode 100644 index 0000000000000..ed0ff440e401e --- /dev/null +++ b/usr.bin/file/Magdir/x11 @@ -0,0 +1,9 @@ +# +# magic.x11 +# +# I think this is byte-order-dependent; if so, it should become: +# +# 0 belong 00000004 X11 big-endian snf font +# 0 lelong 00000004 X11 little-endian snf font +# +0 long 00000004 X11 snf font diff --git a/usr.bin/file/Magdir/zilog b/usr.bin/file/Magdir/zilog new file mode 100644 index 0000000000000..c7503cddd5d1b --- /dev/null +++ b/usr.bin/file/Magdir/zilog @@ -0,0 +1,11 @@ +# +# Zilog Z8000. +# +# Was it big-endian or little-endian? My Product Specification doesn't +# say. +# +0 long 0xe807 object file (z8000 a.out) +0 long 0xe808 pure object file (z8000 a.out) +0 long 0xe809 separate object file (z8000 a.out) +0 long 0xe805 overlay object file (z8000 a.out) + diff --git a/usr.bin/file/Magdir/zyxel b/usr.bin/file/Magdir/zyxel new file mode 100644 index 0000000000000..dfb48bfad6ae2 --- /dev/null +++ b/usr.bin/file/Magdir/zyxel @@ -0,0 +1,9 @@ +# 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 |
