diff options
author | obrien <obrien@FreeBSD.org> | 2009-01-01 05:39:43 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2009-01-01 05:39:43 +0000 |
commit | 87d6fde760865f6a73395e6a7a56b3a608ea99b1 (patch) | |
tree | 642b6c9d31fbc0f98b1a7fac09aa341daf3ddb15 | |
parent | 99e8b7f6d178e1403522ce383957e9c576b7c3ad (diff) | |
download | FreeBSD-src-87d6fde760865f6a73395e6a7a56b3a608ea99b1.zip FreeBSD-src-87d6fde760865f6a73395e6a7a56b3a608ea99b1.tar.gz |
Flatten the file vendor area.
Remove the svn:keywords property from the vendor files.
-rw-r--r-- | ChangeLog (renamed from contrib/file/ChangeLog) | 0 | ||||
-rw-r--r-- | FREEBSD-upgrade (renamed from contrib/file/FREEBSD-upgrade) | 2 | ||||
-rw-r--r-- | Header (renamed from contrib/file/Header) | 0 | ||||
-rw-r--r-- | LEGAL.NOTICE (renamed from contrib/file/LEGAL.NOTICE) | 0 | ||||
-rw-r--r-- | Localstuff (renamed from contrib/file/Localstuff) | 0 | ||||
-rw-r--r-- | MAINT (renamed from contrib/file/MAINT) | 0 | ||||
-rw-r--r-- | Magdir/acorn (renamed from contrib/file/Magdir/acorn) | 0 | ||||
-rw-r--r-- | Magdir/adi (renamed from contrib/file/Magdir/adi) | 0 | ||||
-rw-r--r-- | Magdir/adventure (renamed from contrib/file/Magdir/adventure) | 0 | ||||
-rw-r--r-- | Magdir/allegro (renamed from contrib/file/Magdir/allegro) | 0 | ||||
-rw-r--r-- | Magdir/alliant (renamed from contrib/file/Magdir/alliant) | 0 | ||||
-rw-r--r-- | Magdir/alpha (renamed from contrib/file/Magdir/alpha) | 0 | ||||
-rw-r--r-- | Magdir/amanda (renamed from contrib/file/Magdir/amanda) | 0 | ||||
-rw-r--r-- | Magdir/amigaos (renamed from contrib/file/Magdir/amigaos) | 0 | ||||
-rw-r--r-- | Magdir/animation (renamed from contrib/file/Magdir/animation) | 0 | ||||
-rw-r--r-- | Magdir/apl (renamed from contrib/file/Magdir/apl) | 0 | ||||
-rw-r--r-- | Magdir/apple (renamed from contrib/file/Magdir/apple) | 0 | ||||
-rw-r--r-- | Magdir/applix (renamed from contrib/file/Magdir/applix) | 0 | ||||
-rw-r--r-- | Magdir/archive (renamed from contrib/file/Magdir/archive) | 0 | ||||
-rw-r--r-- | Magdir/asterix (renamed from contrib/file/Magdir/asterix) | 0 | ||||
-rw-r--r-- | Magdir/att3b (renamed from contrib/file/Magdir/att3b) | 0 | ||||
-rw-r--r-- | Magdir/audio (renamed from contrib/file/Magdir/audio) | 0 | ||||
-rw-r--r-- | Magdir/basis (renamed from contrib/file/Magdir/basis) | 0 | ||||
-rw-r--r-- | Magdir/bflt (renamed from contrib/file/Magdir/bflt) | 0 | ||||
-rw-r--r-- | Magdir/blender (renamed from contrib/file/Magdir/blender) | 0 | ||||
-rw-r--r-- | Magdir/blit (renamed from contrib/file/Magdir/blit) | 0 | ||||
-rw-r--r-- | Magdir/bout (renamed from contrib/file/Magdir/bout) | 0 | ||||
-rw-r--r-- | Magdir/bsdi (renamed from contrib/file/Magdir/bsdi) | 0 | ||||
-rw-r--r-- | Magdir/btsnoop (renamed from contrib/file/Magdir/btsnoop) | 0 | ||||
-rw-r--r-- | Magdir/c-lang (renamed from contrib/file/Magdir/c-lang) | 0 | ||||
-rw-r--r-- | Magdir/c64 (renamed from contrib/file/Magdir/c64) | 0 | ||||
-rw-r--r-- | Magdir/cad (renamed from contrib/file/Magdir/cad) | 0 | ||||
-rw-r--r-- | Magdir/cafebabe (renamed from contrib/file/Magdir/cafebabe) | 0 | ||||
-rw-r--r-- | Magdir/cddb (renamed from contrib/file/Magdir/cddb) | 0 | ||||
-rw-r--r-- | Magdir/chord (renamed from contrib/file/Magdir/chord) | 0 | ||||
-rw-r--r-- | Magdir/cisco (renamed from contrib/file/Magdir/cisco) | 0 | ||||
-rw-r--r-- | Magdir/citrus (renamed from contrib/file/Magdir/citrus) | 0 | ||||
-rw-r--r-- | Magdir/claris (renamed from contrib/file/Magdir/claris) | 0 | ||||
-rw-r--r-- | Magdir/clipper (renamed from contrib/file/Magdir/clipper) | 0 | ||||
-rw-r--r-- | Magdir/commands (renamed from contrib/file/Magdir/commands) | 0 | ||||
-rw-r--r-- | Magdir/communications (renamed from contrib/file/Magdir/communications) | 0 | ||||
-rw-r--r-- | Magdir/compress (renamed from contrib/file/Magdir/compress) | 0 | ||||
-rw-r--r-- | Magdir/console (renamed from contrib/file/Magdir/console) | 0 | ||||
-rw-r--r-- | Magdir/convex (renamed from contrib/file/Magdir/convex) | 0 | ||||
-rw-r--r-- | Magdir/cracklib (renamed from contrib/file/Magdir/cracklib) | 0 | ||||
-rw-r--r-- | Magdir/ctags (renamed from contrib/file/Magdir/ctags) | 0 | ||||
-rw-r--r-- | Magdir/dact (renamed from contrib/file/Magdir/dact) | 0 | ||||
-rw-r--r-- | Magdir/database (renamed from contrib/file/Magdir/database) | 0 | ||||
-rw-r--r-- | Magdir/diamond (renamed from contrib/file/Magdir/diamond) | 0 | ||||
-rw-r--r-- | Magdir/diff (renamed from contrib/file/Magdir/diff) | 0 | ||||
-rw-r--r-- | Magdir/digital (renamed from contrib/file/Magdir/digital) | 0 | ||||
-rw-r--r-- | Magdir/dolby (renamed from contrib/file/Magdir/dolby) | 0 | ||||
-rw-r--r-- | Magdir/dump (renamed from contrib/file/Magdir/dump) | 0 | ||||
-rw-r--r-- | Magdir/dyadic (renamed from contrib/file/Magdir/dyadic) | 0 | ||||
-rw-r--r-- | Magdir/editors (renamed from contrib/file/Magdir/editors) | 0 | ||||
-rw-r--r-- | Magdir/efi (renamed from contrib/file/Magdir/efi) | 0 | ||||
-rw-r--r-- | Magdir/elf (renamed from contrib/file/Magdir/elf) | 0 | ||||
-rw-r--r-- | Magdir/encore (renamed from contrib/file/Magdir/encore) | 0 | ||||
-rw-r--r-- | Magdir/epoc (renamed from contrib/file/Magdir/epoc) | 0 | ||||
-rw-r--r-- | Magdir/esri (renamed from contrib/file/Magdir/esri) | 0 | ||||
-rw-r--r-- | Magdir/fcs (renamed from contrib/file/Magdir/fcs) | 0 | ||||
-rw-r--r-- | Magdir/filesystems (renamed from contrib/file/Magdir/filesystems) | 0 | ||||
-rw-r--r-- | Magdir/flash (renamed from contrib/file/Magdir/flash) | 0 | ||||
-rw-r--r-- | Magdir/fonts (renamed from contrib/file/Magdir/fonts) | 0 | ||||
-rw-r--r-- | Magdir/fortran (renamed from contrib/file/Magdir/fortran) | 0 | ||||
-rw-r--r-- | Magdir/frame (renamed from contrib/file/Magdir/frame) | 0 | ||||
-rw-r--r-- | Magdir/freebsd (renamed from contrib/file/Magdir/freebsd) | 0 | ||||
-rw-r--r-- | Magdir/fsav (renamed from contrib/file/Magdir/fsav) | 0 | ||||
-rw-r--r-- | Magdir/games (renamed from contrib/file/Magdir/games) | 0 | ||||
-rw-r--r-- | Magdir/gcc (renamed from contrib/file/Magdir/gcc) | 0 | ||||
-rw-r--r-- | Magdir/geos (renamed from contrib/file/Magdir/geos) | 0 | ||||
-rw-r--r-- | Magdir/gimp (renamed from contrib/file/Magdir/gimp) | 0 | ||||
-rw-r--r-- | Magdir/gnu (renamed from contrib/file/Magdir/gnu) | 0 | ||||
-rw-r--r-- | Magdir/grace (renamed from contrib/file/Magdir/grace) | 0 | ||||
-rw-r--r-- | Magdir/gringotts (renamed from contrib/file/Magdir/gringotts) | 0 | ||||
-rw-r--r-- | Magdir/hitachi-sh (renamed from contrib/file/Magdir/hitachi-sh) | 0 | ||||
-rw-r--r-- | Magdir/hp (renamed from contrib/file/Magdir/hp) | 0 | ||||
-rw-r--r-- | Magdir/human68k (renamed from contrib/file/Magdir/human68k) | 0 | ||||
-rw-r--r-- | Magdir/ibm370 (renamed from contrib/file/Magdir/ibm370) | 0 | ||||
-rw-r--r-- | Magdir/ibm6000 (renamed from contrib/file/Magdir/ibm6000) | 0 | ||||
-rw-r--r-- | Magdir/iff (renamed from contrib/file/Magdir/iff) | 0 | ||||
-rw-r--r-- | Magdir/images (renamed from contrib/file/Magdir/images) | 0 | ||||
-rw-r--r-- | Magdir/intel (renamed from contrib/file/Magdir/intel) | 0 | ||||
-rw-r--r-- | Magdir/interleaf (renamed from contrib/file/Magdir/interleaf) | 0 | ||||
-rw-r--r-- | Magdir/island (renamed from contrib/file/Magdir/island) | 0 | ||||
-rw-r--r-- | Magdir/ispell (renamed from contrib/file/Magdir/ispell) | 0 | ||||
-rw-r--r-- | Magdir/java (renamed from contrib/file/Magdir/java) | 0 | ||||
-rw-r--r-- | Magdir/jpeg (renamed from contrib/file/Magdir/jpeg) | 0 | ||||
-rw-r--r-- | Magdir/karma (renamed from contrib/file/Magdir/karma) | 0 | ||||
-rw-r--r-- | Magdir/lecter (renamed from contrib/file/Magdir/lecter) | 0 | ||||
-rw-r--r-- | Magdir/lex (renamed from contrib/file/Magdir/lex) | 0 | ||||
-rw-r--r-- | Magdir/lif (renamed from contrib/file/Magdir/lif) | 0 | ||||
-rw-r--r-- | Magdir/linux (renamed from contrib/file/Magdir/linux) | 0 | ||||
-rw-r--r-- | Magdir/lisp (renamed from contrib/file/Magdir/lisp) | 0 | ||||
-rw-r--r-- | Magdir/mach (renamed from contrib/file/Magdir/mach) | 0 | ||||
-rw-r--r-- | Magdir/macintosh (renamed from contrib/file/Magdir/macintosh) | 0 | ||||
-rw-r--r-- | Magdir/magic (renamed from contrib/file/Magdir/magic) | 0 | ||||
-rw-r--r-- | Magdir/mail.news (renamed from contrib/file/Magdir/mail.news) | 0 | ||||
-rw-r--r-- | Magdir/maple (renamed from contrib/file/Magdir/maple) | 0 | ||||
-rw-r--r-- | Magdir/mathematica (renamed from contrib/file/Magdir/mathematica) | 0 | ||||
-rw-r--r-- | Magdir/matroska (renamed from contrib/file/Magdir/matroska) | 0 | ||||
-rw-r--r-- | Magdir/mcrypt (renamed from contrib/file/Magdir/mcrypt) | 0 | ||||
-rw-r--r-- | Magdir/mime (renamed from contrib/file/Magdir/mime) | 0 | ||||
-rw-r--r-- | Magdir/mips (renamed from contrib/file/Magdir/mips) | 0 | ||||
-rw-r--r-- | Magdir/mirage (renamed from contrib/file/Magdir/mirage) | 0 | ||||
-rw-r--r-- | Magdir/misctools (renamed from contrib/file/Magdir/misctools) | 0 | ||||
-rw-r--r-- | Magdir/mkid (renamed from contrib/file/Magdir/mkid) | 0 | ||||
-rw-r--r-- | Magdir/mlssa (renamed from contrib/file/Magdir/mlssa) | 0 | ||||
-rw-r--r-- | Magdir/mmdf (renamed from contrib/file/Magdir/mmdf) | 0 | ||||
-rw-r--r-- | Magdir/modem (renamed from contrib/file/Magdir/modem) | 0 | ||||
-rw-r--r-- | Magdir/motorola (renamed from contrib/file/Magdir/motorola) | 0 | ||||
-rw-r--r-- | Magdir/msdos (renamed from contrib/file/Magdir/msdos) | 0 | ||||
-rw-r--r-- | Magdir/msvc (renamed from contrib/file/Magdir/msvc) | 0 | ||||
-rw-r--r-- | Magdir/mup (renamed from contrib/file/Magdir/mup) | 0 | ||||
-rw-r--r-- | Magdir/natinst (renamed from contrib/file/Magdir/natinst) | 0 | ||||
-rw-r--r-- | Magdir/ncr (renamed from contrib/file/Magdir/ncr) | 0 | ||||
-rw-r--r-- | Magdir/netbsd (renamed from contrib/file/Magdir/netbsd) | 0 | ||||
-rw-r--r-- | Magdir/netscape (renamed from contrib/file/Magdir/netscape) | 0 | ||||
-rw-r--r-- | Magdir/news (renamed from contrib/file/Magdir/news) | 0 | ||||
-rw-r--r-- | Magdir/nitpicker (renamed from contrib/file/Magdir/nitpicker) | 0 | ||||
-rw-r--r-- | Magdir/ocaml (renamed from contrib/file/Magdir/ocaml) | 0 | ||||
-rw-r--r-- | Magdir/octave (renamed from contrib/file/Magdir/octave) | 0 | ||||
-rw-r--r-- | Magdir/olf (renamed from contrib/file/Magdir/olf) | 0 | ||||
-rw-r--r-- | Magdir/os2 (renamed from contrib/file/Magdir/os2) | 0 | ||||
-rw-r--r-- | Magdir/os400 (renamed from contrib/file/Magdir/os400) | 0 | ||||
-rw-r--r-- | Magdir/os9 (renamed from contrib/file/Magdir/os9) | 0 | ||||
-rw-r--r-- | Magdir/osf1 (renamed from contrib/file/Magdir/osf1) | 0 | ||||
-rw-r--r-- | Magdir/palm (renamed from contrib/file/Magdir/palm) | 0 | ||||
-rw-r--r-- | Magdir/parix (renamed from contrib/file/Magdir/parix) | 0 | ||||
-rw-r--r-- | Magdir/pbm (renamed from contrib/file/Magdir/pbm) | 0 | ||||
-rw-r--r-- | Magdir/pdf (renamed from contrib/file/Magdir/pdf) | 0 | ||||
-rw-r--r-- | Magdir/pdp (renamed from contrib/file/Magdir/pdp) | 0 | ||||
-rw-r--r-- | Magdir/perl (renamed from contrib/file/Magdir/perl) | 0 | ||||
-rw-r--r-- | Magdir/pgp (renamed from contrib/file/Magdir/pgp) | 0 | ||||
-rw-r--r-- | Magdir/pkgadd (renamed from contrib/file/Magdir/pkgadd) | 0 | ||||
-rw-r--r-- | Magdir/plan9 (renamed from contrib/file/Magdir/plan9) | 0 | ||||
-rw-r--r-- | Magdir/plus5 (renamed from contrib/file/Magdir/plus5) | 0 | ||||
-rw-r--r-- | Magdir/printer (renamed from contrib/file/Magdir/printer) | 0 | ||||
-rw-r--r-- | Magdir/project (renamed from contrib/file/Magdir/project) | 0 | ||||
-rw-r--r-- | Magdir/psdbms (renamed from contrib/file/Magdir/psdbms) | 0 | ||||
-rw-r--r-- | Magdir/psion (renamed from contrib/file/Magdir/psion) | 0 | ||||
-rw-r--r-- | Magdir/pulsar (renamed from contrib/file/Magdir/pulsar) | 0 | ||||
-rw-r--r-- | Magdir/pyramid (renamed from contrib/file/Magdir/pyramid) | 0 | ||||
-rw-r--r-- | Magdir/python (renamed from contrib/file/Magdir/python) | 0 | ||||
-rw-r--r-- | Magdir/revision (renamed from contrib/file/Magdir/revision) | 0 | ||||
-rw-r--r-- | Magdir/riff (renamed from contrib/file/Magdir/riff) | 0 | ||||
-rw-r--r-- | Magdir/rpm (renamed from contrib/file/Magdir/rpm) | 0 | ||||
-rw-r--r-- | Magdir/rtf (renamed from contrib/file/Magdir/rtf) | 0 | ||||
-rw-r--r-- | Magdir/sc (renamed from contrib/file/Magdir/sc) | 0 | ||||
-rw-r--r-- | Magdir/sccs (renamed from contrib/file/Magdir/sccs) | 0 | ||||
-rw-r--r-- | Magdir/scientific (renamed from contrib/file/Magdir/scientific) | 0 | ||||
-rw-r--r-- | Magdir/sendmail (renamed from contrib/file/Magdir/sendmail) | 0 | ||||
-rw-r--r-- | Magdir/sequent (renamed from contrib/file/Magdir/sequent) | 0 | ||||
-rw-r--r-- | Magdir/sgi (renamed from contrib/file/Magdir/sgi) | 0 | ||||
-rw-r--r-- | Magdir/sgml (renamed from contrib/file/Magdir/sgml) | 0 | ||||
-rw-r--r-- | Magdir/sharc (renamed from contrib/file/Magdir/sharc) | 0 | ||||
-rw-r--r-- | Magdir/sinclair (renamed from contrib/file/Magdir/sinclair) | 0 | ||||
-rw-r--r-- | Magdir/sketch (renamed from contrib/file/Magdir/sketch) | 0 | ||||
-rw-r--r-- | Magdir/smalltalk (renamed from contrib/file/Magdir/smalltalk) | 0 | ||||
-rw-r--r-- | Magdir/sniffer (renamed from contrib/file/Magdir/sniffer) | 0 | ||||
-rw-r--r-- | Magdir/softquad (renamed from contrib/file/Magdir/softquad) | 0 | ||||
-rw-r--r-- | Magdir/spec (renamed from contrib/file/Magdir/spec) | 0 | ||||
-rw-r--r-- | Magdir/spectrum (renamed from contrib/file/Magdir/spectrum) | 0 | ||||
-rw-r--r-- | Magdir/sql (renamed from contrib/file/Magdir/sql) | 0 | ||||
-rw-r--r-- | Magdir/sun (renamed from contrib/file/Magdir/sun) | 0 | ||||
-rw-r--r-- | Magdir/sysex (renamed from contrib/file/Magdir/sysex) | 0 | ||||
-rw-r--r-- | Magdir/teapot (renamed from contrib/file/Magdir/teapot) | 0 | ||||
-rw-r--r-- | Magdir/terminfo (renamed from contrib/file/Magdir/terminfo) | 0 | ||||
-rw-r--r-- | Magdir/tex (renamed from contrib/file/Magdir/tex) | 0 | ||||
-rw-r--r-- | Magdir/tgif (renamed from contrib/file/Magdir/tgif) | 0 | ||||
-rw-r--r-- | Magdir/ti-8x (renamed from contrib/file/Magdir/ti-8x) | 0 | ||||
-rw-r--r-- | Magdir/timezone (renamed from contrib/file/Magdir/timezone) | 0 | ||||
-rw-r--r-- | Magdir/troff (renamed from contrib/file/Magdir/troff) | 0 | ||||
-rw-r--r-- | Magdir/tuxedo (renamed from contrib/file/Magdir/tuxedo) | 0 | ||||
-rw-r--r-- | Magdir/typeset (renamed from contrib/file/Magdir/typeset) | 0 | ||||
-rw-r--r-- | Magdir/unicode (renamed from contrib/file/Magdir/unicode) | 0 | ||||
-rw-r--r-- | Magdir/unknown (renamed from contrib/file/Magdir/unknown) | 0 | ||||
-rw-r--r-- | Magdir/uuencode (renamed from contrib/file/Magdir/uuencode) | 0 | ||||
-rw-r--r-- | Magdir/varied.out (renamed from contrib/file/Magdir/varied.out) | 0 | ||||
-rw-r--r-- | Magdir/varied.script (renamed from contrib/file/Magdir/varied.script) | 0 | ||||
-rw-r--r-- | Magdir/vax (renamed from contrib/file/Magdir/vax) | 0 | ||||
-rw-r--r-- | Magdir/vicar (renamed from contrib/file/Magdir/vicar) | 0 | ||||
-rw-r--r-- | Magdir/virtutech (renamed from contrib/file/Magdir/virtutech) | 0 | ||||
-rw-r--r-- | Magdir/visx (renamed from contrib/file/Magdir/visx) | 0 | ||||
-rw-r--r-- | Magdir/vms (renamed from contrib/file/Magdir/vms) | 0 | ||||
-rw-r--r-- | Magdir/vmware (renamed from contrib/file/Magdir/vmware) | 0 | ||||
-rw-r--r-- | Magdir/vorbis (renamed from contrib/file/Magdir/vorbis) | 0 | ||||
-rw-r--r-- | Magdir/vxl (renamed from contrib/file/Magdir/vxl) | 0 | ||||
-rw-r--r-- | Magdir/wordprocessors (renamed from contrib/file/Magdir/wordprocessors) | 0 | ||||
-rw-r--r-- | Magdir/xdelta (renamed from contrib/file/Magdir/xdelta) | 0 | ||||
-rw-r--r-- | Magdir/xenix (renamed from contrib/file/Magdir/xenix) | 0 | ||||
-rw-r--r-- | Magdir/xo65 (renamed from contrib/file/Magdir/xo65) | 0 | ||||
-rw-r--r-- | Magdir/xwindows (renamed from contrib/file/Magdir/xwindows) | 0 | ||||
-rw-r--r-- | Magdir/zilog (renamed from contrib/file/Magdir/zilog) | 0 | ||||
-rw-r--r-- | Magdir/zyxel (renamed from contrib/file/Magdir/zyxel) | 0 | ||||
-rw-r--r-- | Makefile.am (renamed from contrib/file/Makefile.am) | 0 | ||||
-rw-r--r-- | Makefile.in (renamed from contrib/file/Makefile.in) | 0 | ||||
-rw-r--r-- | Makefile.std (renamed from contrib/file/Makefile.std) | 0 | ||||
-rw-r--r-- | PORTING (renamed from contrib/file/PORTING) | 0 | ||||
-rw-r--r-- | README (renamed from contrib/file/README) | 0 | ||||
-rw-r--r-- | acinclude.m4 (renamed from contrib/file/acinclude.m4) | 0 | ||||
-rw-r--r-- | aclocal.m4 (renamed from contrib/file/aclocal.m4) | 0 | ||||
-rw-r--r-- | apprentice.c (renamed from contrib/file/apprentice.c) | 0 | ||||
-rw-r--r-- | apptype.c (renamed from contrib/file/apptype.c) | 0 | ||||
-rw-r--r-- | ascmagic.c (renamed from contrib/file/ascmagic.c) | 0 | ||||
-rw-r--r-- | compress.c (renamed from contrib/file/compress.c) | 0 | ||||
-rw-r--r-- | config.h.in (renamed from contrib/file/config.h.in) | 0 | ||||
-rwxr-xr-x | configure (renamed from contrib/file/configure) | 0 | ||||
-rw-r--r-- | configure.in (renamed from contrib/file/configure.in) | 0 | ||||
-rw-r--r-- | contrib/file/.cvsignore | 1 | ||||
-rw-r--r-- | file.c (renamed from contrib/file/file.c) | 0 | ||||
-rw-r--r-- | file.h (renamed from contrib/file/file.h) | 0 | ||||
-rw-r--r-- | file.man (renamed from contrib/file/file.man) | 0 | ||||
-rw-r--r-- | file_opts.h (renamed from contrib/file/file_opts.h) | 0 | ||||
-rw-r--r-- | fsmagic.c (renamed from contrib/file/fsmagic.c) | 0 | ||||
-rw-r--r-- | funcs.c (renamed from contrib/file/funcs.c) | 0 | ||||
-rwxr-xr-x | install-sh (renamed from contrib/file/install-sh) | 0 | ||||
-rw-r--r-- | is_tar.c (renamed from contrib/file/is_tar.c) | 0 | ||||
-rw-r--r-- | libmagic.man (renamed from contrib/file/libmagic.man) | 0 | ||||
-rw-r--r-- | magic.c (renamed from contrib/file/magic.c) | 0 | ||||
-rw-r--r-- | magic.h (renamed from contrib/file/magic.h) | 0 | ||||
-rw-r--r-- | magic.man (renamed from contrib/file/magic.man) | 0 | ||||
-rw-r--r-- | magic.mime (renamed from contrib/file/magic.mime) | 0 | ||||
-rwxr-xr-x | magic2mime (renamed from contrib/file/magic2mime) | 0 | ||||
-rw-r--r-- | mkinstalldirs (renamed from contrib/file/mkinstalldirs) | 0 | ||||
-rw-r--r-- | names.h (renamed from contrib/file/names.h) | 0 | ||||
-rw-r--r-- | patchlevel.h (renamed from contrib/file/patchlevel.h) | 0 | ||||
-rw-r--r-- | print.c (renamed from contrib/file/print.c) | 0 | ||||
-rw-r--r-- | readelf.c (renamed from contrib/file/readelf.c) | 0 | ||||
-rw-r--r-- | readelf.h (renamed from contrib/file/readelf.h) | 0 | ||||
-rw-r--r-- | softmagic.c (renamed from contrib/file/softmagic.c) | 0 | ||||
-rw-r--r-- | tar.h (renamed from contrib/file/tar.h) | 0 | ||||
-rw-r--r-- | test.c (renamed from contrib/file/test.c) | 0 | ||||
-rw-r--r-- | usr.bin/file/LEGAL.NOTICE | 31 | ||||
-rw-r--r-- | usr.bin/file/MAINT | 33 | ||||
-rw-r--r-- | usr.bin/file/Magdir/Header | 5 | ||||
-rw-r--r-- | usr.bin/file/Magdir/Localstuff | 7 | ||||
-rw-r--r-- | usr.bin/file/Magdir/alliant | 17 | ||||
-rw-r--r-- | usr.bin/file/Magdir/alpha | 21 | ||||
-rw-r--r-- | usr.bin/file/Magdir/amanda | 7 | ||||
-rw-r--r-- | usr.bin/file/Magdir/amigaos | 10 | ||||
-rw-r--r-- | usr.bin/file/Magdir/animation | 54 | ||||
-rw-r--r-- | usr.bin/file/Magdir/apl | 6 | ||||
-rw-r--r-- | usr.bin/file/Magdir/apple | 10 | ||||
-rw-r--r-- | usr.bin/file/Magdir/ar | 104 | ||||
-rw-r--r-- | usr.bin/file/Magdir/arc | 3 | ||||
-rw-r--r-- | usr.bin/file/Magdir/archive | 210 | ||||
-rw-r--r-- | usr.bin/file/Magdir/asterix | 17 | ||||
-rw-r--r-- | usr.bin/file/Magdir/att3b | 39 | ||||
-rw-r--r-- | usr.bin/file/Magdir/audio | 90 | ||||
-rw-r--r-- | usr.bin/file/Magdir/blit | 19 | ||||
-rw-r--r-- | usr.bin/file/Magdir/bsdi | 7 | ||||
-rw-r--r-- | usr.bin/file/Magdir/c-lang | 13 | ||||
-rw-r--r-- | usr.bin/file/Magdir/chi | 7 | ||||
-rw-r--r-- | usr.bin/file/Magdir/clipper | 64 | ||||
-rw-r--r-- | usr.bin/file/Magdir/commands | 75 | ||||
-rw-r--r-- | usr.bin/file/Magdir/compress | 92 | ||||
-rw-r--r-- | usr.bin/file/Magdir/convex | 69 | ||||
-rw-r--r-- | usr.bin/file/Magdir/cpio | 16 | ||||
-rw-r--r-- | usr.bin/file/Magdir/database | 38 | ||||
-rw-r--r-- | usr.bin/file/Magdir/diamond | 11 | ||||
-rw-r--r-- | usr.bin/file/Magdir/diff | 8 | ||||
-rw-r--r-- | usr.bin/file/Magdir/digital | 41 | ||||
-rw-r--r-- | usr.bin/file/Magdir/ditroff | 4 | ||||
-rw-r--r-- | usr.bin/file/Magdir/dump | 81 | ||||
-rw-r--r-- | usr.bin/file/Magdir/elf | 75 | ||||
-rw-r--r-- | usr.bin/file/Magdir/encore | 21 | ||||
-rw-r--r-- | usr.bin/file/Magdir/filesystems | 6 | ||||
-rw-r--r-- | usr.bin/file/Magdir/floppy.raw | 1 | ||||
-rw-r--r-- | usr.bin/file/Magdir/fonts | 26 | ||||
-rw-r--r-- | usr.bin/file/Magdir/frame | 36 | ||||
-rw-r--r-- | usr.bin/file/Magdir/freebsd | 130 | ||||
-rw-r--r-- | usr.bin/file/Magdir/gzip | 21 | ||||
-rw-r--r-- | usr.bin/file/Magdir/hp | 228 | ||||
-rw-r--r-- | usr.bin/file/Magdir/ibm370 | 47 | ||||
-rw-r--r-- | usr.bin/file/Magdir/ibm6000 | 17 | ||||
-rw-r--r-- | usr.bin/file/Magdir/iff | 28 | ||||
-rw-r--r-- | usr.bin/file/Magdir/imagen | 14 | ||||
-rw-r--r-- | usr.bin/file/Magdir/images | 236 | ||||
-rw-r--r-- | usr.bin/file/Magdir/intel | 35 | ||||
-rw-r--r-- | usr.bin/file/Magdir/interleaf | 8 | ||||
-rw-r--r-- | usr.bin/file/Magdir/iris | 57 | ||||
-rw-r--r-- | usr.bin/file/Magdir/island | 9 | ||||
-rw-r--r-- | usr.bin/file/Magdir/ispell | 54 | ||||
-rw-r--r-- | usr.bin/file/Magdir/java | 5 | ||||
-rw-r--r-- | usr.bin/file/Magdir/karma | 8 | ||||
-rw-r--r-- | usr.bin/file/Magdir/lex | 11 | ||||
-rw-r--r-- | usr.bin/file/Magdir/lif | 7 | ||||
-rw-r--r-- | usr.bin/file/Magdir/linux | 73 | ||||
-rw-r--r-- | usr.bin/file/Magdir/lisp | 10 | ||||
-rw-r--r-- | usr.bin/file/Magdir/mach | 38 | ||||
-rw-r--r-- | usr.bin/file/Magdir/magic | 5 | ||||
-rw-r--r-- | usr.bin/file/Magdir/mail.news | 21 | ||||
-rw-r--r-- | usr.bin/file/Magdir/microsoft | 72 | ||||
-rw-r--r-- | usr.bin/file/Magdir/mips | 8 | ||||
-rw-r--r-- | usr.bin/file/Magdir/mirage | 7 | ||||
-rw-r--r-- | usr.bin/file/Magdir/mkid | 10 | ||||
-rw-r--r-- | usr.bin/file/Magdir/mmdf | 5 | ||||
-rw-r--r-- | usr.bin/file/Magdir/motorola | 32 | ||||
-rw-r--r-- | usr.bin/file/Magdir/ms-dos | 73 | ||||
-rw-r--r-- | usr.bin/file/Magdir/ncr | 48 | ||||
-rw-r--r-- | usr.bin/file/Magdir/netbsd | 209 | ||||
-rw-r--r-- | usr.bin/file/Magdir/news | 12 | ||||
-rw-r--r-- | usr.bin/file/Magdir/osf1 | 10 | ||||
-rw-r--r-- | usr.bin/file/Magdir/pbm | 7 | ||||
-rw-r--r-- | usr.bin/file/Magdir/pdf | 7 | ||||
-rw-r--r-- | usr.bin/file/Magdir/pdp | 25 | ||||
-rw-r--r-- | usr.bin/file/Magdir/pgp | 13 | ||||
-rw-r--r-- | usr.bin/file/Magdir/pkgadd | 5 | ||||
-rw-r--r-- | usr.bin/file/Magdir/plus5 | 17 | ||||
-rw-r--r-- | usr.bin/file/Magdir/postscript | 17 | ||||
-rw-r--r-- | usr.bin/file/Magdir/printer | 55 | ||||
-rw-r--r-- | usr.bin/file/Magdir/psdbms | 7 | ||||
-rw-r--r-- | usr.bin/file/Magdir/pyramid | 11 | ||||
-rw-r--r-- | usr.bin/file/Magdir/rle | 19 | ||||
-rw-r--r-- | usr.bin/file/Magdir/rpm | 17 | ||||
-rw-r--r-- | usr.bin/file/Magdir/rtf | 12 | ||||
-rw-r--r-- | usr.bin/file/Magdir/sc | 5 | ||||
-rw-r--r-- | usr.bin/file/Magdir/sccs | 21 | ||||
-rw-r--r-- | usr.bin/file/Magdir/sendmail | 10 | ||||
-rw-r--r-- | usr.bin/file/Magdir/sequent | 34 | ||||
-rw-r--r-- | usr.bin/file/Magdir/sgi | 170 | ||||
-rw-r--r-- | usr.bin/file/Magdir/sgml | 21 | ||||
-rw-r--r-- | usr.bin/file/Magdir/sniffer | 63 | ||||
-rw-r--r-- | usr.bin/file/Magdir/softquad | 30 | ||||
-rw-r--r-- | usr.bin/file/Magdir/sun | 110 | ||||
-rw-r--r-- | usr.bin/file/Magdir/sunraster | 12 | ||||
-rw-r--r-- | usr.bin/file/Magdir/terminfo | 9 | ||||
-rw-r--r-- | usr.bin/file/Magdir/tex | 36 | ||||
-rw-r--r-- | usr.bin/file/Magdir/timezone | 12 | ||||
-rw-r--r-- | usr.bin/file/Magdir/troff | 27 | ||||
-rw-r--r-- | usr.bin/file/Magdir/typeset | 7 | ||||
-rw-r--r-- | usr.bin/file/Magdir/unknown | 36 | ||||
-rw-r--r-- | usr.bin/file/Magdir/uuencode | 30 | ||||
-rw-r--r-- | usr.bin/file/Magdir/varied.out | 18 | ||||
-rw-r--r-- | usr.bin/file/Magdir/vax | 34 | ||||
-rw-r--r-- | usr.bin/file/Magdir/visx | 31 | ||||
-rw-r--r-- | usr.bin/file/Magdir/vms | 27 | ||||
-rw-r--r-- | usr.bin/file/Magdir/x11 | 9 | ||||
-rw-r--r-- | usr.bin/file/Magdir/xenix | 72 | ||||
-rw-r--r-- | usr.bin/file/Magdir/zilog | 11 | ||||
-rw-r--r-- | usr.bin/file/Magdir/zyxel | 16 | ||||
-rw-r--r-- | usr.bin/file/Makefile | 163 | ||||
-rw-r--r-- | usr.bin/file/PORTING | 76 | ||||
-rw-r--r-- | usr.bin/file/README | 91 | ||||
-rw-r--r-- | usr.bin/file/apprentice.c | 621 | ||||
-rw-r--r-- | usr.bin/file/ascmagic.c | 124 | ||||
-rw-r--r-- | usr.bin/file/compress.c | 122 | ||||
-rw-r--r-- | usr.bin/file/file.1 | 72 | ||||
-rw-r--r-- | usr.bin/file/file.c | 398 | ||||
-rw-r--r-- | usr.bin/file/file.h | 150 | ||||
-rw-r--r-- | usr.bin/file/fsmagic.c | 181 | ||||
-rw-r--r-- | usr.bin/file/internat.c | 72 | ||||
-rw-r--r-- | usr.bin/file/is_tar.c | 100 | ||||
-rw-r--r-- | usr.bin/file/magic.5 | 206 | ||||
-rw-r--r-- | usr.bin/file/names.h | 99 | ||||
-rw-r--r-- | usr.bin/file/patchlevel.h | 107 | ||||
-rw-r--r-- | usr.bin/file/print.c | 204 | ||||
-rw-r--r-- | usr.bin/file/readelf.c | 314 | ||||
-rw-r--r-- | usr.bin/file/readelf.h | 167 | ||||
-rw-r--r-- | usr.bin/file/softmagic.c | 513 | ||||
-rw-r--r-- | usr.bin/file/tar.h | 179 |
362 files changed, 1 insertions, 7946 deletions
diff --git a/contrib/file/ChangeLog b/ChangeLog index 2beffb0..2beffb0 100644 --- a/contrib/file/ChangeLog +++ b/ChangeLog diff --git a/contrib/file/FREEBSD-upgrade b/FREEBSD-upgrade index f6657bc..ee8f7a8 100644 --- a/contrib/file/FREEBSD-upgrade +++ b/FREEBSD-upgrade @@ -1,5 +1,5 @@ # ex:ts=8 -$FreeBSD$ +$FreeBSD: vendor/file/dist/contrib/file/FREEBSD-upgrade 169962 2007-05-24 21:59:38Z obrien $ Christos Zoulas `file' originals can be found at: ftp://ftp.astron.com/pub/file/ diff --git a/contrib/file/Header b/Header index 3ca9b0e..3ca9b0e 100644 --- a/contrib/file/Header +++ b/Header diff --git a/contrib/file/LEGAL.NOTICE b/LEGAL.NOTICE index 68148e2..68148e2 100644 --- a/contrib/file/LEGAL.NOTICE +++ b/LEGAL.NOTICE diff --git a/contrib/file/Localstuff b/Localstuff index 419855f..419855f 100644 --- a/contrib/file/Localstuff +++ b/Localstuff diff --git a/contrib/file/MAINT b/MAINT index 077f9d6..077f9d6 100644 --- a/contrib/file/MAINT +++ b/MAINT diff --git a/contrib/file/Magdir/acorn b/Magdir/acorn index 5acb31e..5acb31e 100644 --- a/contrib/file/Magdir/acorn +++ b/Magdir/acorn diff --git a/contrib/file/Magdir/adi b/Magdir/adi index 12d7da5..12d7da5 100644 --- a/contrib/file/Magdir/adi +++ b/Magdir/adi diff --git a/contrib/file/Magdir/adventure b/Magdir/adventure index 405d3cc..405d3cc 100644 --- a/contrib/file/Magdir/adventure +++ b/Magdir/adventure diff --git a/contrib/file/Magdir/allegro b/Magdir/allegro index 41f4ad6..41f4ad6 100644 --- a/contrib/file/Magdir/allegro +++ b/Magdir/allegro diff --git a/contrib/file/Magdir/alliant b/Magdir/alliant index 69cf4b4..69cf4b4 100644 --- a/contrib/file/Magdir/alliant +++ b/Magdir/alliant diff --git a/contrib/file/Magdir/alpha b/Magdir/alpha index c0191fb..c0191fb 100644 --- a/contrib/file/Magdir/alpha +++ b/Magdir/alpha diff --git a/contrib/file/Magdir/amanda b/Magdir/amanda index 2b95650..2b95650 100644 --- a/contrib/file/Magdir/amanda +++ b/Magdir/amanda diff --git a/contrib/file/Magdir/amigaos b/Magdir/amigaos index bb98299..bb98299 100644 --- a/contrib/file/Magdir/amigaos +++ b/Magdir/amigaos diff --git a/contrib/file/Magdir/animation b/Magdir/animation index 6392f85..6392f85 100644 --- a/contrib/file/Magdir/animation +++ b/Magdir/animation diff --git a/contrib/file/Magdir/apl b/Magdir/apl index 0400431..0400431 100644 --- a/contrib/file/Magdir/apl +++ b/Magdir/apl diff --git a/contrib/file/Magdir/apple b/Magdir/apple index 4a593ea2..4a593ea2 100644 --- a/contrib/file/Magdir/apple +++ b/Magdir/apple diff --git a/contrib/file/Magdir/applix b/Magdir/applix index 9d348d1..9d348d1 100644 --- a/contrib/file/Magdir/applix +++ b/Magdir/applix diff --git a/contrib/file/Magdir/archive b/Magdir/archive index 0b3a9ba..0b3a9ba 100644 --- a/contrib/file/Magdir/archive +++ b/Magdir/archive diff --git a/contrib/file/Magdir/asterix b/Magdir/asterix index d89504a..d89504a 100644 --- a/contrib/file/Magdir/asterix +++ b/Magdir/asterix diff --git a/contrib/file/Magdir/att3b b/Magdir/att3b index 884ad4a..884ad4a 100644 --- a/contrib/file/Magdir/att3b +++ b/Magdir/att3b diff --git a/contrib/file/Magdir/audio b/Magdir/audio index 511da1d..511da1d 100644 --- a/contrib/file/Magdir/audio +++ b/Magdir/audio diff --git a/contrib/file/Magdir/basis b/Magdir/basis index 1813c0e..1813c0e 100644 --- a/contrib/file/Magdir/basis +++ b/Magdir/basis diff --git a/contrib/file/Magdir/bflt b/Magdir/bflt index 5e288d1..5e288d1 100644 --- a/contrib/file/Magdir/bflt +++ b/Magdir/bflt diff --git a/contrib/file/Magdir/blender b/Magdir/blender index 6ef7950..6ef7950 100644 --- a/contrib/file/Magdir/blender +++ b/Magdir/blender diff --git a/contrib/file/Magdir/blit b/Magdir/blit index 7a470ed..7a470ed 100644 --- a/contrib/file/Magdir/blit +++ b/Magdir/blit diff --git a/contrib/file/Magdir/bout b/Magdir/bout index 4cd6f76..4cd6f76 100644 --- a/contrib/file/Magdir/bout +++ b/Magdir/bout diff --git a/contrib/file/Magdir/bsdi b/Magdir/bsdi index ad54759..ad54759 100644 --- a/contrib/file/Magdir/bsdi +++ b/Magdir/bsdi diff --git a/contrib/file/Magdir/btsnoop b/Magdir/btsnoop index 85d867a..85d867a 100644 --- a/contrib/file/Magdir/btsnoop +++ b/Magdir/btsnoop diff --git a/contrib/file/Magdir/c-lang b/Magdir/c-lang index fd3f9aa..fd3f9aa 100644 --- a/contrib/file/Magdir/c-lang +++ b/Magdir/c-lang diff --git a/contrib/file/Magdir/c64 b/Magdir/c64 index a224b21..a224b21 100644 --- a/contrib/file/Magdir/c64 +++ b/Magdir/c64 diff --git a/contrib/file/Magdir/cad b/Magdir/cad index 757dab6..757dab6 100644 --- a/contrib/file/Magdir/cad +++ b/Magdir/cad diff --git a/contrib/file/Magdir/cafebabe b/Magdir/cafebabe index 233411c..233411c 100644 --- a/contrib/file/Magdir/cafebabe +++ b/Magdir/cafebabe diff --git a/contrib/file/Magdir/cddb b/Magdir/cddb index 2ea97ee..2ea97ee 100644 --- a/contrib/file/Magdir/cddb +++ b/Magdir/cddb diff --git a/contrib/file/Magdir/chord b/Magdir/chord index 3639f3c..3639f3c 100644 --- a/contrib/file/Magdir/chord +++ b/Magdir/chord diff --git a/contrib/file/Magdir/cisco b/Magdir/cisco index 77e3efb..77e3efb 100644 --- a/contrib/file/Magdir/cisco +++ b/Magdir/cisco diff --git a/contrib/file/Magdir/citrus b/Magdir/citrus index 6d44794..6d44794 100644 --- a/contrib/file/Magdir/citrus +++ b/Magdir/citrus diff --git a/contrib/file/Magdir/claris b/Magdir/claris index 368b473..368b473 100644 --- a/contrib/file/Magdir/claris +++ b/Magdir/claris diff --git a/contrib/file/Magdir/clipper b/Magdir/clipper index c325cb8..c325cb8 100644 --- a/contrib/file/Magdir/clipper +++ b/Magdir/clipper diff --git a/contrib/file/Magdir/commands b/Magdir/commands index 599c190..599c190 100644 --- a/contrib/file/Magdir/commands +++ b/Magdir/commands diff --git a/contrib/file/Magdir/communications b/Magdir/communications index 81417ec..81417ec 100644 --- a/contrib/file/Magdir/communications +++ b/Magdir/communications diff --git a/contrib/file/Magdir/compress b/Magdir/compress index e9be46b..e9be46b 100644 --- a/contrib/file/Magdir/compress +++ b/Magdir/compress diff --git a/contrib/file/Magdir/console b/Magdir/console index 775472d..775472d 100644 --- a/contrib/file/Magdir/console +++ b/Magdir/console diff --git a/contrib/file/Magdir/convex b/Magdir/convex index b1235d7..b1235d7 100644 --- a/contrib/file/Magdir/convex +++ b/Magdir/convex diff --git a/contrib/file/Magdir/cracklib b/Magdir/cracklib index 8f7e0d4..8f7e0d4 100644 --- a/contrib/file/Magdir/cracklib +++ b/Magdir/cracklib diff --git a/contrib/file/Magdir/ctags b/Magdir/ctags index 84c5b7f..84c5b7f 100644 --- a/contrib/file/Magdir/ctags +++ b/Magdir/ctags diff --git a/contrib/file/Magdir/dact b/Magdir/dact index 5cca8d9..5cca8d9 100644 --- a/contrib/file/Magdir/dact +++ b/Magdir/dact diff --git a/contrib/file/Magdir/database b/Magdir/database index 8f2fc0a..8f2fc0a 100644 --- a/contrib/file/Magdir/database +++ b/Magdir/database diff --git a/contrib/file/Magdir/diamond b/Magdir/diamond index 1abd01e..1abd01e 100644 --- a/contrib/file/Magdir/diamond +++ b/Magdir/diamond diff --git a/contrib/file/Magdir/diff b/Magdir/diff index 187e892..187e892 100644 --- a/contrib/file/Magdir/diff +++ b/Magdir/diff diff --git a/contrib/file/Magdir/digital b/Magdir/digital index 615ef7a..615ef7a 100644 --- a/contrib/file/Magdir/digital +++ b/Magdir/digital diff --git a/contrib/file/Magdir/dolby b/Magdir/dolby index 230f738..230f738 100644 --- a/contrib/file/Magdir/dolby +++ b/Magdir/dolby diff --git a/contrib/file/Magdir/dump b/Magdir/dump index addd954..addd954 100644 --- a/contrib/file/Magdir/dump +++ b/Magdir/dump diff --git a/contrib/file/Magdir/dyadic b/Magdir/dyadic index e8a9d25..e8a9d25 100644 --- a/contrib/file/Magdir/dyadic +++ b/Magdir/dyadic diff --git a/contrib/file/Magdir/editors b/Magdir/editors index 0b15bf8..0b15bf8 100644 --- a/contrib/file/Magdir/editors +++ b/Magdir/editors diff --git a/contrib/file/Magdir/efi b/Magdir/efi index 4eec2eb..4eec2eb 100644 --- a/contrib/file/Magdir/efi +++ b/Magdir/efi diff --git a/contrib/file/Magdir/elf b/Magdir/elf index 464b436..464b436 100644 --- a/contrib/file/Magdir/elf +++ b/Magdir/elf diff --git a/contrib/file/Magdir/encore b/Magdir/encore index 63cb5d4..63cb5d4 100644 --- a/contrib/file/Magdir/encore +++ b/Magdir/encore diff --git a/contrib/file/Magdir/epoc b/Magdir/epoc index 29bd947..29bd947 100644 --- a/contrib/file/Magdir/epoc +++ b/Magdir/epoc diff --git a/contrib/file/Magdir/esri b/Magdir/esri index 35c3492..35c3492 100644 --- a/contrib/file/Magdir/esri +++ b/Magdir/esri diff --git a/contrib/file/Magdir/fcs b/Magdir/fcs index ac4b02c..ac4b02c 100644 --- a/contrib/file/Magdir/fcs +++ b/Magdir/fcs diff --git a/contrib/file/Magdir/filesystems b/Magdir/filesystems index 20b257b..20b257b 100644 --- a/contrib/file/Magdir/filesystems +++ b/Magdir/filesystems diff --git a/contrib/file/Magdir/flash b/Magdir/flash index f14b460..f14b460 100644 --- a/contrib/file/Magdir/flash +++ b/Magdir/flash diff --git a/contrib/file/Magdir/fonts b/Magdir/fonts index cf6e0d7..cf6e0d7 100644 --- a/contrib/file/Magdir/fonts +++ b/Magdir/fonts diff --git a/contrib/file/Magdir/fortran b/Magdir/fortran index ce004ad..ce004ad 100644 --- a/contrib/file/Magdir/fortran +++ b/Magdir/fortran diff --git a/contrib/file/Magdir/frame b/Magdir/frame index 1b397df..1b397df 100644 --- a/contrib/file/Magdir/frame +++ b/Magdir/frame diff --git a/contrib/file/Magdir/freebsd b/Magdir/freebsd index ee710fa..ee710fa 100644 --- a/contrib/file/Magdir/freebsd +++ b/Magdir/freebsd diff --git a/contrib/file/Magdir/fsav b/Magdir/fsav index 4d61beb..4d61beb 100644 --- a/contrib/file/Magdir/fsav +++ b/Magdir/fsav diff --git a/contrib/file/Magdir/games b/Magdir/games index 2dc17da..2dc17da 100644 --- a/contrib/file/Magdir/games +++ b/Magdir/games diff --git a/contrib/file/Magdir/gcc b/Magdir/gcc index ee726f3..ee726f3 100644 --- a/contrib/file/Magdir/gcc +++ b/Magdir/gcc diff --git a/contrib/file/Magdir/geos b/Magdir/geos index af1df7b..af1df7b 100644 --- a/contrib/file/Magdir/geos +++ b/Magdir/geos diff --git a/contrib/file/Magdir/gimp b/Magdir/gimp index 9a9d61e..9a9d61e 100644 --- a/contrib/file/Magdir/gimp +++ b/Magdir/gimp diff --git a/contrib/file/Magdir/gnu b/Magdir/gnu index 42d9c7b..42d9c7b 100644 --- a/contrib/file/Magdir/gnu +++ b/Magdir/gnu diff --git a/contrib/file/Magdir/grace b/Magdir/grace index a5f1433..a5f1433 100644 --- a/contrib/file/Magdir/grace +++ b/Magdir/grace diff --git a/contrib/file/Magdir/gringotts b/Magdir/gringotts index 6e833a3..6e833a3 100644 --- a/contrib/file/Magdir/gringotts +++ b/Magdir/gringotts diff --git a/contrib/file/Magdir/hitachi-sh b/Magdir/hitachi-sh index a096eeb..a096eeb 100644 --- a/contrib/file/Magdir/hitachi-sh +++ b/Magdir/hitachi-sh diff --git a/contrib/file/Magdir/hp b/Magdir/hp index 052f09a..052f09a 100644 --- a/contrib/file/Magdir/hp +++ b/Magdir/hp diff --git a/contrib/file/Magdir/human68k b/Magdir/human68k index d8070f7..d8070f7 100644 --- a/contrib/file/Magdir/human68k +++ b/Magdir/human68k diff --git a/contrib/file/Magdir/ibm370 b/Magdir/ibm370 index 8cd9da2..8cd9da2 100644 --- a/contrib/file/Magdir/ibm370 +++ b/Magdir/ibm370 diff --git a/contrib/file/Magdir/ibm6000 b/Magdir/ibm6000 index 6870c31..6870c31 100644 --- a/contrib/file/Magdir/ibm6000 +++ b/Magdir/ibm6000 diff --git a/contrib/file/Magdir/iff b/Magdir/iff index 3c88f90..3c88f90 100644 --- a/contrib/file/Magdir/iff +++ b/Magdir/iff diff --git a/contrib/file/Magdir/images b/Magdir/images index fd9e14f..fd9e14f 100644 --- a/contrib/file/Magdir/images +++ b/Magdir/images diff --git a/contrib/file/Magdir/intel b/Magdir/intel index 00942c2..00942c2 100644 --- a/contrib/file/Magdir/intel +++ b/Magdir/intel diff --git a/contrib/file/Magdir/interleaf b/Magdir/interleaf index 3eea3cf..3eea3cf 100644 --- a/contrib/file/Magdir/interleaf +++ b/Magdir/interleaf diff --git a/contrib/file/Magdir/island b/Magdir/island index 9903cdd..9903cdd 100644 --- a/contrib/file/Magdir/island +++ b/Magdir/island diff --git a/contrib/file/Magdir/ispell b/Magdir/ispell index 592f064..592f064 100644 --- a/contrib/file/Magdir/ispell +++ b/Magdir/ispell diff --git a/contrib/file/Magdir/java b/Magdir/java index 971b72ce..971b72ce 100644 --- a/contrib/file/Magdir/java +++ b/Magdir/java diff --git a/contrib/file/Magdir/jpeg b/Magdir/jpeg index af646d6..af646d6 100644 --- a/contrib/file/Magdir/jpeg +++ b/Magdir/jpeg diff --git a/contrib/file/Magdir/karma b/Magdir/karma index 89e7772..89e7772 100644 --- a/contrib/file/Magdir/karma +++ b/Magdir/karma diff --git a/contrib/file/Magdir/lecter b/Magdir/lecter index 87c186b..87c186b 100644 --- a/contrib/file/Magdir/lecter +++ b/Magdir/lecter diff --git a/contrib/file/Magdir/lex b/Magdir/lex index 7b6d0f7..7b6d0f7 100644 --- a/contrib/file/Magdir/lex +++ b/Magdir/lex diff --git a/contrib/file/Magdir/lif b/Magdir/lif index cf20e49..cf20e49 100644 --- a/contrib/file/Magdir/lif +++ b/Magdir/lif diff --git a/contrib/file/Magdir/linux b/Magdir/linux index fe68013..fe68013 100644 --- a/contrib/file/Magdir/linux +++ b/Magdir/linux diff --git a/contrib/file/Magdir/lisp b/Magdir/lisp index e9c8ba8..e9c8ba8 100644 --- a/contrib/file/Magdir/lisp +++ b/Magdir/lisp diff --git a/contrib/file/Magdir/mach b/Magdir/mach index cced3a5..cced3a5 100644 --- a/contrib/file/Magdir/mach +++ b/Magdir/mach diff --git a/contrib/file/Magdir/macintosh b/Magdir/macintosh index 4acd5c8..4acd5c8 100644 --- a/contrib/file/Magdir/macintosh +++ b/Magdir/macintosh diff --git a/contrib/file/Magdir/magic b/Magdir/magic index 3bf4e2e..3bf4e2e 100644 --- a/contrib/file/Magdir/magic +++ b/Magdir/magic diff --git a/contrib/file/Magdir/mail.news b/Magdir/mail.news index f08261c..f08261c 100644 --- a/contrib/file/Magdir/mail.news +++ b/Magdir/mail.news diff --git a/contrib/file/Magdir/maple b/Magdir/maple index 6bc7562..6bc7562 100644 --- a/contrib/file/Magdir/maple +++ b/Magdir/maple diff --git a/contrib/file/Magdir/mathematica b/Magdir/mathematica index 0eca5d4..0eca5d4 100644 --- a/contrib/file/Magdir/mathematica +++ b/Magdir/mathematica diff --git a/contrib/file/Magdir/matroska b/Magdir/matroska index ca00db4..ca00db4 100644 --- a/contrib/file/Magdir/matroska +++ b/Magdir/matroska diff --git a/contrib/file/Magdir/mcrypt b/Magdir/mcrypt index e862f59..e862f59 100644 --- a/contrib/file/Magdir/mcrypt +++ b/Magdir/mcrypt diff --git a/contrib/file/Magdir/mime b/Magdir/mime index 2219094..2219094 100644 --- a/contrib/file/Magdir/mime +++ b/Magdir/mime diff --git a/contrib/file/Magdir/mips b/Magdir/mips index 634eff4..634eff4 100644 --- a/contrib/file/Magdir/mips +++ b/Magdir/mips diff --git a/contrib/file/Magdir/mirage b/Magdir/mirage index 73c3747..73c3747 100644 --- a/contrib/file/Magdir/mirage +++ b/Magdir/mirage diff --git a/contrib/file/Magdir/misctools b/Magdir/misctools index bb995ba..bb995ba 100644 --- a/contrib/file/Magdir/misctools +++ b/Magdir/misctools diff --git a/contrib/file/Magdir/mkid b/Magdir/mkid index dfb2d93..dfb2d93 100644 --- a/contrib/file/Magdir/mkid +++ b/Magdir/mkid diff --git a/contrib/file/Magdir/mlssa b/Magdir/mlssa index 21ab61e..21ab61e 100644 --- a/contrib/file/Magdir/mlssa +++ b/Magdir/mlssa diff --git a/contrib/file/Magdir/mmdf b/Magdir/mmdf index 72cd9f3..72cd9f3 100644 --- a/contrib/file/Magdir/mmdf +++ b/Magdir/mmdf diff --git a/contrib/file/Magdir/modem b/Magdir/modem index 73e747e..73e747e 100644 --- a/contrib/file/Magdir/modem +++ b/Magdir/modem diff --git a/contrib/file/Magdir/motorola b/Magdir/motorola index bfe7ea0..bfe7ea0 100644 --- a/contrib/file/Magdir/motorola +++ b/Magdir/motorola diff --git a/contrib/file/Magdir/msdos b/Magdir/msdos index 10ce8ae..10ce8ae 100644 --- a/contrib/file/Magdir/msdos +++ b/Magdir/msdos diff --git a/contrib/file/Magdir/msvc b/Magdir/msvc index 95853fe..95853fe 100644 --- a/contrib/file/Magdir/msvc +++ b/Magdir/msvc diff --git a/contrib/file/Magdir/mup b/Magdir/mup index fd9a7b1..fd9a7b1 100644 --- a/contrib/file/Magdir/mup +++ b/Magdir/mup diff --git a/contrib/file/Magdir/natinst b/Magdir/natinst index 5deb9de..5deb9de 100644 --- a/contrib/file/Magdir/natinst +++ b/Magdir/natinst diff --git a/contrib/file/Magdir/ncr b/Magdir/ncr index 2faf98a..2faf98a 100644 --- a/contrib/file/Magdir/ncr +++ b/Magdir/ncr diff --git a/contrib/file/Magdir/netbsd b/Magdir/netbsd index b6aae1ac6..b6aae1ac6 100644 --- a/contrib/file/Magdir/netbsd +++ b/Magdir/netbsd diff --git a/contrib/file/Magdir/netscape b/Magdir/netscape index f14227d..f14227d 100644 --- a/contrib/file/Magdir/netscape +++ b/Magdir/netscape diff --git a/contrib/file/Magdir/news b/Magdir/news index 0ac4fa2..0ac4fa2 100644 --- a/contrib/file/Magdir/news +++ b/Magdir/news diff --git a/contrib/file/Magdir/nitpicker b/Magdir/nitpicker index c40daec..c40daec 100644 --- a/contrib/file/Magdir/nitpicker +++ b/Magdir/nitpicker diff --git a/contrib/file/Magdir/ocaml b/Magdir/ocaml index f8ba976..f8ba976 100644 --- a/contrib/file/Magdir/ocaml +++ b/Magdir/ocaml diff --git a/contrib/file/Magdir/octave b/Magdir/octave index 3093148..3093148 100644 --- a/contrib/file/Magdir/octave +++ b/Magdir/octave diff --git a/contrib/file/Magdir/olf b/Magdir/olf index e698c36..e698c36 100644 --- a/contrib/file/Magdir/olf +++ b/Magdir/olf diff --git a/contrib/file/Magdir/os2 b/Magdir/os2 index 99dd63a..99dd63a 100644 --- a/contrib/file/Magdir/os2 +++ b/Magdir/os2 diff --git a/contrib/file/Magdir/os400 b/Magdir/os400 index 3dc05bf..3dc05bf 100644 --- a/contrib/file/Magdir/os400 +++ b/Magdir/os400 diff --git a/contrib/file/Magdir/os9 b/Magdir/os9 index ed2ed2c..ed2ed2c 100644 --- a/contrib/file/Magdir/os9 +++ b/Magdir/os9 diff --git a/contrib/file/Magdir/osf1 b/Magdir/osf1 index 31166c1..31166c1 100644 --- a/contrib/file/Magdir/osf1 +++ b/Magdir/osf1 diff --git a/contrib/file/Magdir/palm b/Magdir/palm index 79af1f0..79af1f0 100644 --- a/contrib/file/Magdir/palm +++ b/Magdir/palm diff --git a/contrib/file/Magdir/parix b/Magdir/parix index 09965d1..09965d1 100644 --- a/contrib/file/Magdir/parix +++ b/Magdir/parix diff --git a/contrib/file/Magdir/pbm b/Magdir/pbm index 98c15f7..98c15f7 100644 --- a/contrib/file/Magdir/pbm +++ b/Magdir/pbm diff --git a/contrib/file/Magdir/pdf b/Magdir/pdf index e90214e..e90214e 100644 --- a/contrib/file/Magdir/pdf +++ b/Magdir/pdf diff --git a/contrib/file/Magdir/pdp b/Magdir/pdp index 5452005..5452005 100644 --- a/contrib/file/Magdir/pdp +++ b/Magdir/pdp diff --git a/contrib/file/Magdir/perl b/Magdir/perl index a8daee4..a8daee4 100644 --- a/contrib/file/Magdir/perl +++ b/Magdir/perl diff --git a/contrib/file/Magdir/pgp b/Magdir/pgp index 038d098..038d098 100644 --- a/contrib/file/Magdir/pgp +++ b/Magdir/pgp diff --git a/contrib/file/Magdir/pkgadd b/Magdir/pkgadd index dc8ef5d..dc8ef5d 100644 --- a/contrib/file/Magdir/pkgadd +++ b/Magdir/pkgadd diff --git a/contrib/file/Magdir/plan9 b/Magdir/plan9 index 58fb071..58fb071 100644 --- a/contrib/file/Magdir/plan9 +++ b/Magdir/plan9 diff --git a/contrib/file/Magdir/plus5 b/Magdir/plus5 index acf3bf4..acf3bf4 100644 --- a/contrib/file/Magdir/plus5 +++ b/Magdir/plus5 diff --git a/contrib/file/Magdir/printer b/Magdir/printer index 77ba780..77ba780 100644 --- a/contrib/file/Magdir/printer +++ b/Magdir/printer diff --git a/contrib/file/Magdir/project b/Magdir/project index 04e8865..04e8865 100644 --- a/contrib/file/Magdir/project +++ b/Magdir/project diff --git a/contrib/file/Magdir/psdbms b/Magdir/psdbms index f36121f..f36121f 100644 --- a/contrib/file/Magdir/psdbms +++ b/Magdir/psdbms diff --git a/contrib/file/Magdir/psion b/Magdir/psion index 578ea59..578ea59 100644 --- a/contrib/file/Magdir/psion +++ b/Magdir/psion diff --git a/contrib/file/Magdir/pulsar b/Magdir/pulsar index a4a5c21..a4a5c21 100644 --- a/contrib/file/Magdir/pulsar +++ b/Magdir/pulsar diff --git a/contrib/file/Magdir/pyramid b/Magdir/pyramid index fe16608..fe16608 100644 --- a/contrib/file/Magdir/pyramid +++ b/Magdir/pyramid diff --git a/contrib/file/Magdir/python b/Magdir/python index 9fac2b9..9fac2b9 100644 --- a/contrib/file/Magdir/python +++ b/Magdir/python diff --git a/contrib/file/Magdir/revision b/Magdir/revision index e47416a..e47416a 100644 --- a/contrib/file/Magdir/revision +++ b/Magdir/revision diff --git a/contrib/file/Magdir/riff b/Magdir/riff index 5aa9d10..5aa9d10 100644 --- a/contrib/file/Magdir/riff +++ b/Magdir/riff diff --git a/contrib/file/Magdir/rpm b/Magdir/rpm index 09ee51b..09ee51b 100644 --- a/contrib/file/Magdir/rpm +++ b/Magdir/rpm diff --git a/contrib/file/Magdir/rtf b/Magdir/rtf index 8e2d416..8e2d416 100644 --- a/contrib/file/Magdir/rtf +++ b/Magdir/rtf diff --git a/contrib/file/Magdir/sc b/Magdir/sc index 98599f2..98599f2 100644 --- a/contrib/file/Magdir/sc +++ b/Magdir/sc diff --git a/contrib/file/Magdir/sccs b/Magdir/sccs index 11d50b2..11d50b2 100644 --- a/contrib/file/Magdir/sccs +++ b/Magdir/sccs diff --git a/contrib/file/Magdir/scientific b/Magdir/scientific index 81beac1..81beac1 100644 --- a/contrib/file/Magdir/scientific +++ b/Magdir/scientific diff --git a/contrib/file/Magdir/sendmail b/Magdir/sendmail index 7880ab5..7880ab5 100644 --- a/contrib/file/Magdir/sendmail +++ b/Magdir/sendmail diff --git a/contrib/file/Magdir/sequent b/Magdir/sequent index e6f7b52..e6f7b52 100644 --- a/contrib/file/Magdir/sequent +++ b/Magdir/sequent diff --git a/contrib/file/Magdir/sgi b/Magdir/sgi index f7de138..f7de138 100644 --- a/contrib/file/Magdir/sgi +++ b/Magdir/sgi diff --git a/contrib/file/Magdir/sgml b/Magdir/sgml index ba6c3ef..ba6c3ef 100644 --- a/contrib/file/Magdir/sgml +++ b/Magdir/sgml diff --git a/contrib/file/Magdir/sharc b/Magdir/sharc index 8c2cae4..8c2cae4 100644 --- a/contrib/file/Magdir/sharc +++ b/Magdir/sharc diff --git a/contrib/file/Magdir/sinclair b/Magdir/sinclair index fbad852..fbad852 100644 --- a/contrib/file/Magdir/sinclair +++ b/Magdir/sinclair diff --git a/contrib/file/Magdir/sketch b/Magdir/sketch index d31d184..d31d184 100644 --- a/contrib/file/Magdir/sketch +++ b/Magdir/sketch diff --git a/contrib/file/Magdir/smalltalk b/Magdir/smalltalk index b882759..b882759 100644 --- a/contrib/file/Magdir/smalltalk +++ b/Magdir/smalltalk diff --git a/contrib/file/Magdir/sniffer b/Magdir/sniffer index 282c44f..282c44f 100644 --- a/contrib/file/Magdir/sniffer +++ b/Magdir/sniffer diff --git a/contrib/file/Magdir/softquad b/Magdir/softquad index aa16904..aa16904 100644 --- a/contrib/file/Magdir/softquad +++ b/Magdir/softquad diff --git a/contrib/file/Magdir/spec b/Magdir/spec index bfda306..bfda306 100644 --- a/contrib/file/Magdir/spec +++ b/Magdir/spec diff --git a/contrib/file/Magdir/spectrum b/Magdir/spectrum index ab9fd04..ab9fd04 100644 --- a/contrib/file/Magdir/spectrum +++ b/Magdir/spectrum diff --git a/contrib/file/Magdir/sql b/Magdir/sql index 21c6e51..21c6e51 100644 --- a/contrib/file/Magdir/sql +++ b/Magdir/sql diff --git a/contrib/file/Magdir/sun b/Magdir/sun index 871071e..871071e 100644 --- a/contrib/file/Magdir/sun +++ b/Magdir/sun diff --git a/contrib/file/Magdir/sysex b/Magdir/sysex index 03d6cdd..03d6cdd 100644 --- a/contrib/file/Magdir/sysex +++ b/Magdir/sysex diff --git a/contrib/file/Magdir/teapot b/Magdir/teapot index d9554bf..d9554bf 100644 --- a/contrib/file/Magdir/teapot +++ b/Magdir/teapot diff --git a/contrib/file/Magdir/terminfo b/Magdir/terminfo index 2226ce8..2226ce8 100644 --- a/contrib/file/Magdir/terminfo +++ b/Magdir/terminfo diff --git a/contrib/file/Magdir/tex b/Magdir/tex index 52adb87..52adb87 100644 --- a/contrib/file/Magdir/tex +++ b/Magdir/tex diff --git a/contrib/file/Magdir/tgif b/Magdir/tgif index 779883a..779883a 100644 --- a/contrib/file/Magdir/tgif +++ b/Magdir/tgif diff --git a/contrib/file/Magdir/ti-8x b/Magdir/ti-8x index 89e2204..89e2204 100644 --- a/contrib/file/Magdir/ti-8x +++ b/Magdir/ti-8x diff --git a/contrib/file/Magdir/timezone b/Magdir/timezone index 40e7558..40e7558 100644 --- a/contrib/file/Magdir/timezone +++ b/Magdir/timezone diff --git a/contrib/file/Magdir/troff b/Magdir/troff index 01ad88a..01ad88a 100644 --- a/contrib/file/Magdir/troff +++ b/Magdir/troff diff --git a/contrib/file/Magdir/tuxedo b/Magdir/tuxedo index 119afa6..119afa6 100644 --- a/contrib/file/Magdir/tuxedo +++ b/Magdir/tuxedo diff --git a/contrib/file/Magdir/typeset b/Magdir/typeset index 2eda7c3..2eda7c3 100644 --- a/contrib/file/Magdir/typeset +++ b/Magdir/typeset diff --git a/contrib/file/Magdir/unicode b/Magdir/unicode index 45a32d45..45a32d45 100644 --- a/contrib/file/Magdir/unicode +++ b/Magdir/unicode diff --git a/contrib/file/Magdir/unknown b/Magdir/unknown index 910cea4..910cea4 100644 --- a/contrib/file/Magdir/unknown +++ b/Magdir/unknown diff --git a/contrib/file/Magdir/uuencode b/Magdir/uuencode index 7e88619..7e88619 100644 --- a/contrib/file/Magdir/uuencode +++ b/Magdir/uuencode diff --git a/contrib/file/Magdir/varied.out b/Magdir/varied.out index 6df6fd9..6df6fd9 100644 --- a/contrib/file/Magdir/varied.out +++ b/Magdir/varied.out diff --git a/contrib/file/Magdir/varied.script b/Magdir/varied.script index ab5bece..ab5bece 100644 --- a/contrib/file/Magdir/varied.script +++ b/Magdir/varied.script diff --git a/contrib/file/Magdir/vax b/Magdir/vax index 7dd86cc..7dd86cc 100644 --- a/contrib/file/Magdir/vax +++ b/Magdir/vax diff --git a/contrib/file/Magdir/vicar b/Magdir/vicar index ab216ee..ab216ee 100644 --- a/contrib/file/Magdir/vicar +++ b/Magdir/vicar diff --git a/contrib/file/Magdir/virtutech b/Magdir/virtutech index cea8443..cea8443 100644 --- a/contrib/file/Magdir/virtutech +++ b/Magdir/virtutech diff --git a/contrib/file/Magdir/visx b/Magdir/visx index 4919964..4919964 100644 --- a/contrib/file/Magdir/visx +++ b/Magdir/visx diff --git a/contrib/file/Magdir/vms b/Magdir/vms index c91186f..c91186f 100644 --- a/contrib/file/Magdir/vms +++ b/Magdir/vms diff --git a/contrib/file/Magdir/vmware b/Magdir/vmware index 28e19e5..28e19e5 100644 --- a/contrib/file/Magdir/vmware +++ b/Magdir/vmware diff --git a/contrib/file/Magdir/vorbis b/Magdir/vorbis index 5957ea0..5957ea0 100644 --- a/contrib/file/Magdir/vorbis +++ b/Magdir/vorbis diff --git a/contrib/file/Magdir/vxl b/Magdir/vxl index d3f5561..d3f5561 100644 --- a/contrib/file/Magdir/vxl +++ b/Magdir/vxl diff --git a/contrib/file/Magdir/wordprocessors b/Magdir/wordprocessors index 546d261..546d261 100644 --- a/contrib/file/Magdir/wordprocessors +++ b/Magdir/wordprocessors diff --git a/contrib/file/Magdir/xdelta b/Magdir/xdelta index 80c92da..80c92da 100644 --- a/contrib/file/Magdir/xdelta +++ b/Magdir/xdelta diff --git a/contrib/file/Magdir/xenix b/Magdir/xenix index 1acadec..1acadec 100644 --- a/contrib/file/Magdir/xenix +++ b/Magdir/xenix diff --git a/contrib/file/Magdir/xo65 b/Magdir/xo65 index 1020cee..1020cee 100644 --- a/contrib/file/Magdir/xo65 +++ b/Magdir/xo65 diff --git a/contrib/file/Magdir/xwindows b/Magdir/xwindows index 57f3b08..57f3b08 100644 --- a/contrib/file/Magdir/xwindows +++ b/Magdir/xwindows diff --git a/contrib/file/Magdir/zilog b/Magdir/zilog index b746e20..b746e20 100644 --- a/contrib/file/Magdir/zilog +++ b/Magdir/zilog diff --git a/contrib/file/Magdir/zyxel b/Magdir/zyxel index 12a6abd..12a6abd 100644 --- a/contrib/file/Magdir/zyxel +++ b/Magdir/zyxel diff --git a/contrib/file/Makefile.am b/Makefile.am index 730ad32..730ad32 100644 --- a/contrib/file/Makefile.am +++ b/Makefile.am diff --git a/contrib/file/Makefile.in b/Makefile.in index ba2ef9d..ba2ef9d 100644 --- a/contrib/file/Makefile.in +++ b/Makefile.in diff --git a/contrib/file/Makefile.std b/Makefile.std index ff2a9b5..ff2a9b5 100644 --- a/contrib/file/Makefile.std +++ b/Makefile.std diff --git a/contrib/file/PORTING b/PORTING index e69de29..e69de29 100644 --- a/contrib/file/PORTING +++ b/PORTING diff --git a/contrib/file/README b/README index b7e9d55..b7e9d55 100644 --- a/contrib/file/README +++ b/README diff --git a/contrib/file/acinclude.m4 b/acinclude.m4 index f92a2d1..f92a2d1 100644 --- a/contrib/file/acinclude.m4 +++ b/acinclude.m4 diff --git a/contrib/file/aclocal.m4 b/aclocal.m4 index c46c041..c46c041 100644 --- a/contrib/file/aclocal.m4 +++ b/aclocal.m4 diff --git a/contrib/file/apprentice.c b/apprentice.c index 162acfe..162acfe 100644 --- a/contrib/file/apprentice.c +++ b/apprentice.c diff --git a/contrib/file/apptype.c b/apptype.c index 42cee40..42cee40 100644 --- a/contrib/file/apptype.c +++ b/apptype.c diff --git a/contrib/file/ascmagic.c b/ascmagic.c index 8d2d9a7..8d2d9a7 100644 --- a/contrib/file/ascmagic.c +++ b/ascmagic.c diff --git a/contrib/file/compress.c b/compress.c index 487b1b7..487b1b7 100644 --- a/contrib/file/compress.c +++ b/compress.c diff --git a/contrib/file/config.h.in b/config.h.in index 281a4e4..281a4e4 100644 --- a/contrib/file/config.h.in +++ b/config.h.in diff --git a/contrib/file/configure b/configure index a81d93d..a81d93d 100755 --- a/contrib/file/configure +++ b/configure diff --git a/contrib/file/configure.in b/configure.in index ee509e2..ee509e2 100644 --- a/contrib/file/configure.in +++ b/configure.in diff --git a/contrib/file/.cvsignore b/contrib/file/.cvsignore deleted file mode 100644 index d899218..0000000 --- a/contrib/file/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -autom4te.cache diff --git a/contrib/file/file.c b/file.c index 575b951..575b951 100644 --- a/contrib/file/file.c +++ b/file.c diff --git a/contrib/file/file.h b/file.h index ce0f4e2..ce0f4e2 100644 --- a/contrib/file/file.h +++ b/file.h diff --git a/contrib/file/file.man b/file.man index 05bf9e7..05bf9e7 100644 --- a/contrib/file/file.man +++ b/file.man diff --git a/contrib/file/file_opts.h b/file_opts.h index 46bc08a..46bc08a 100644 --- a/contrib/file/file_opts.h +++ b/file_opts.h diff --git a/contrib/file/fsmagic.c b/fsmagic.c index e04f598..e04f598 100644 --- a/contrib/file/fsmagic.c +++ b/fsmagic.c diff --git a/contrib/file/funcs.c b/funcs.c index 5cf1181..5cf1181 100644 --- a/contrib/file/funcs.c +++ b/funcs.c diff --git a/contrib/file/install-sh b/install-sh index 4fbbae7..4fbbae7 100755 --- a/contrib/file/install-sh +++ b/install-sh diff --git a/contrib/file/is_tar.c b/is_tar.c index 142b487..142b487 100644 --- a/contrib/file/is_tar.c +++ b/is_tar.c diff --git a/contrib/file/libmagic.man b/libmagic.man index 61e8f27..61e8f27 100644 --- a/contrib/file/libmagic.man +++ b/libmagic.man diff --git a/contrib/file/magic.c b/magic.c index 8fba30b..8fba30b 100644 --- a/contrib/file/magic.c +++ b/magic.c diff --git a/contrib/file/magic.h b/magic.h index 6041f54..6041f54 100644 --- a/contrib/file/magic.h +++ b/magic.h diff --git a/contrib/file/magic.man b/magic.man index 3842b64..3842b64 100644 --- a/contrib/file/magic.man +++ b/magic.man diff --git a/contrib/file/magic.mime b/magic.mime index dfa62de..dfa62de 100644 --- a/contrib/file/magic.mime +++ b/magic.mime diff --git a/contrib/file/magic2mime b/magic2mime index 26f84d28..26f84d28 100755 --- a/contrib/file/magic2mime +++ b/magic2mime diff --git a/contrib/file/mkinstalldirs b/mkinstalldirs index ef7e16f..ef7e16f 100644 --- a/contrib/file/mkinstalldirs +++ b/mkinstalldirs diff --git a/contrib/file/names.h b/names.h index 509d2a2..509d2a2 100644 --- a/contrib/file/names.h +++ b/names.h diff --git a/contrib/file/patchlevel.h b/patchlevel.h index 10a506b..10a506b 100644 --- a/contrib/file/patchlevel.h +++ b/patchlevel.h diff --git a/contrib/file/print.c b/print.c index c28ee2e..c28ee2e 100644 --- a/contrib/file/print.c +++ b/print.c diff --git a/contrib/file/readelf.c b/readelf.c index 3c7472b..3c7472b 100644 --- a/contrib/file/readelf.c +++ b/readelf.c diff --git a/contrib/file/readelf.h b/readelf.h index 610c310..610c310 100644 --- a/contrib/file/readelf.h +++ b/readelf.h diff --git a/contrib/file/softmagic.c b/softmagic.c index 21a0148..21a0148 100644 --- a/contrib/file/softmagic.c +++ b/softmagic.c diff --git a/contrib/file/tar.h b/tar.h index 30d386b..30d386b 100644 --- a/contrib/file/tar.h +++ b/tar.h diff --git a/contrib/file/test.c b/test.c index 55b78d3..55b78d3 100644 --- a/contrib/file/test.c +++ b/test.c diff --git a/usr.bin/file/LEGAL.NOTICE b/usr.bin/file/LEGAL.NOTICE deleted file mode 100644 index 87c3176..0000000 --- a/usr.bin/file/LEGAL.NOTICE +++ /dev/null @@ -1,31 +0,0 @@ -Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995. -Software written by Ian F. Darwin and others; maintained by Christos Zoulas. -$Id: LEGAL.NOTICE,v 1.9 1995/10/27 23:14:20 christos Exp $ - -This software (or derivative software) may not be made subject to any -license which denies anyone permission to alter it and redistribute it -freely. Derivative software must also still fall under this license. - -This software is not subject to any export provision of the United States -Department of Commerce, and may be exported to any country or planet. - -Permission is granted to anyone to use this software for any purpose on -any computer system, and to alter it and redistribute it freely, subject -to the following restrictions: - -1. The author is not responsible for the consequences of use of this - software, no matter how awful, even if they arise from flaws in it. - -2. The origin of this software must not be misrepresented, either by - explicit claim or by omission. Since few users ever read sources, - credits must appear in the documentation. - -3. Altered versions must be plainly marked as such, and must not be - misrepresented as being the original software. Since few users - ever read sources, credits must appear in the documentation. - Derivative works must also be marked as such, and credits must appear - in the documentation. - -4. This notice may not be removed or altered. - - diff --git a/usr.bin/file/MAINT b/usr.bin/file/MAINT deleted file mode 100644 index 7fc5e36..0000000 --- a/usr.bin/file/MAINT +++ /dev/null @@ -1,33 +0,0 @@ -$Id: MAINT,v 1.2 1993/09/23 21:47:01 christos Exp $ - -Maintenance notes: - -I am continuing to maintain the file command. I welcome your help, -but to make my life easier I'd like to request the following: - -- Don't change the version numbers! - -If your changes are extensive, I will have to work hard to -integrate them into my version. If you check it into SCCS locally, -the version numbers will likely be kept. IF you check it into RCS -or CVS locally, please use -k to keep the version numbers, and -please use branch deltas (1.21.1, 1.21.2, ...). If you don't do -this, I will likely be unable to use your changes; life's just too -short. - -- Do not distribute changed versions. - -People trying to be helpful occasionally put up their hacked versions -of the file command for FTP, then the "archie" server finds and publishes -the hacked version, and people all over the world get copies of it. -Within a day or two I am getting email from around the world -asking me why "my" file command won't compile!!! Needless to say this -detracts from the limited time I have available to work on the actual -software. Therefore I ask you again to please NOT distribute -your changed version. - - -Thank you for your assistance and cooperation. - -Mark Moraes Christos Zoulas -moraes@deshaw.com christos@deshaw.com diff --git a/usr.bin/file/Magdir/Header b/usr.bin/file/Magdir/Header deleted file mode 100644 index 0c97bae..0000000 --- a/usr.bin/file/Magdir/Header +++ /dev/null @@ -1,5 +0,0 @@ -#! file -# Magic data for file(1) command. -# Machine-genererated from src/cmd/file/magdir/*; edit there only! -# Format is described in magic(files), where: -# files is 4 on V7 and BSD, 4 on SV, and ?? in the SVID. diff --git a/usr.bin/file/Magdir/Localstuff b/usr.bin/file/Magdir/Localstuff deleted file mode 100644 index 3c2fa0e..0000000 --- a/usr.bin/file/Magdir/Localstuff +++ /dev/null @@ -1,7 +0,0 @@ - -#------------------------------------------------------------------------------ -# Localstuff: file(1) magic for locally observed files -# -# $Id: Localstuff,v 1.3 1995/01/21 21:09:00 christos Exp $ -# Add any locally observed files here. Remember: -# text if readable, executable if runnable binary, data if unreadable. diff --git a/usr.bin/file/Magdir/alliant b/usr.bin/file/Magdir/alliant deleted file mode 100644 index 69cf4b4..0000000 --- a/usr.bin/file/Magdir/alliant +++ /dev/null @@ -1,17 +0,0 @@ - -#------------------------------------------------------------------------------ -# alliant: file(1) magic for Alliant FX series a.out files -# -# If the FX series is the one that had a processor with a 68K-derived -# instruction set, the "short" should probably become "beshort" and the -# "long" should probably become "belong". -# If it's the i860-based one, they should probably become either the -# big-endian or little-endian versions, depending on the mode they ran -# the 860 in.... -# -0 short 0420 0420 Alliant virtual executable ->2 short &0x0020 common library ->16 long >0 not stripped -0 short 0421 0421 Alliant compact executable ->2 short &0x0020 common library ->16 long >0 not stripped diff --git a/usr.bin/file/Magdir/alpha b/usr.bin/file/Magdir/alpha deleted file mode 100644 index 42e1917..0000000 --- a/usr.bin/file/Magdir/alpha +++ /dev/null @@ -1,21 +0,0 @@ -#------------------------------------------------------------------------------ -# alpha architecture description -# - -0 leshort 0603 COFF format alpha ->22 leshort&030000 !020000 executable ->24 leshort 0410 pure ->24 leshort 0413 paged ->22 leshort&020000 !0 dynamically linked ->16 lelong !0 not stripped ->16 lelong 0 stripped ->22 leshort&030000 020000 shared library ->24 leshort 0407 object ->27 byte x - version %d ->26 byte x .%d ->28 byte x -%d - -# Basic recognition of OSF/1 core dumps - Mike Bremford <mike@opac.bl.uk> -# -0 string Core\001 COFF format core dump (OSF/1) ->24 string >\0 generated by '%s' diff --git a/usr.bin/file/Magdir/amanda b/usr.bin/file/Magdir/amanda deleted file mode 100644 index 57c4359..0000000 --- a/usr.bin/file/Magdir/amanda +++ /dev/null @@ -1,7 +0,0 @@ -#------------------------------------------------------------------------------ -# amanda: file(1) magic for amanda file format -# -0 string AMANDA:\ TAPESTART\ DATE AMANDA dump header file, ->23 string X ->>25 string >\ Unused %s ->23 string >\ DATE %s diff --git a/usr.bin/file/Magdir/amigaos b/usr.bin/file/Magdir/amigaos deleted file mode 100644 index 6073936..0000000 --- a/usr.bin/file/Magdir/amigaos +++ /dev/null @@ -1,10 +0,0 @@ -#------------------------------------------------------------------------------ -# amigaos: file(1) magic for AmigaOS binary formats: - -# -# From ignatios@cs.uni-bonn.de (Ignatios Souvatzis) -# Some formats are still missing: AmigaOS special IFF's, e.g.: FORM....CTLG -# (the others should be seperate, anyway) -# -0 belong 0x000003f3 AmigaOS loadseg()ble executable/binary -0 belong 0x000003e7 AmigaOS object/library data diff --git a/usr.bin/file/Magdir/animation b/usr.bin/file/Magdir/animation deleted file mode 100644 index 9d2dc8e..0000000 --- a/usr.bin/file/Magdir/animation +++ /dev/null @@ -1,54 +0,0 @@ - -#------------------------------------------------------------------------------ -# animation: file(1) magic for animation/movie formats -# -# animation formats -# MPEG, FLI, DL originally from vax@ccwf.cc.utexas.edu (VaX#n8) -# FLC, SGI, Apple originally from Daniel Quinlan (quinlan@yggdrasil.com) - -# MPEG animation format -0 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 deleted file mode 100644 index 0400431..0000000 --- a/usr.bin/file/Magdir/apl +++ /dev/null @@ -1,6 +0,0 @@ - -#------------------------------------------------------------------------------ -# apl: file(1) magic for APL (see also "pdp" and "vax" for other APL -# workspaces) -# -0 long 0100554 APL workspace (Ken's original?) diff --git a/usr.bin/file/Magdir/apple b/usr.bin/file/Magdir/apple deleted file mode 100644 index a6492b7..0000000 --- a/usr.bin/file/Magdir/apple +++ /dev/null @@ -1,10 +0,0 @@ - -#------------------------------------------------------------------------------ -# apple: file(1) magic for Apple II file formats -# -0 string FiLeStArTfIlEsTaRt binscii (apple ][) text -0 string \x0aGL Binary II (apple ][) data -0 string \x76\xff Squeezed (apple ][) data -0 string SIT! StuffIt (macintosh) text -0 string NuFile NuFile archive (apple ][) data -0 string N\xf5F\xe9l\xe5 NuFile archive (apple ][) data diff --git a/usr.bin/file/Magdir/ar b/usr.bin/file/Magdir/ar deleted file mode 100644 index 583ec30..0000000 --- a/usr.bin/file/Magdir/ar +++ /dev/null @@ -1,104 +0,0 @@ -# -# "ar", for all kinds of archives. -# -# XXX - why are there multiple <ar> thingies? Note that 0x213c6172 is -# "!<ar", so, for new-style (4.xBSD/SVR2andup) archives, we have: -# -# 0 string !<arch> current ar archive -# 0 long 0x213c6172 archive file -# -# and for SVR3.1 archives, we have: -# -# 0 string \<ar> System V Release 1 ar archive -# 0 string =<ar> archive -# 0 string =<ar> archive -# -# XXX - did Aegis really store shared libraries, breakpointed modules, -# and absolute code program modules in the same format as new-style -# "ar" archives? -# -0 string !<arch> current ar archive ->8 string __.SYMDEF random library ->0 belong =65538 - pre SR9.5 ->0 belong =65539 - post SR9.5 ->0 beshort 2 - object archive ->0 beshort 3 - shared library module ->0 beshort 4 - debug break-pointed module ->0 beshort 5 - absolute code program module -0 string \<ar> System V Release 1 ar archive -0 string =<ar> archive -# -# XXX - from "vax", which appears to collect a bunch of byte-swapped -# thingies, to help you recognize VAX files on big-endian machines; -# with "leshort", "lelong", and "string", that's no longer necessary.... -# -# 0 long 0x3c61723e VAX 5.0 archive -# -0 long 0x213c6172 archive file -0 lelong 0177555 very old VAX archive -0 leshort 0177555 very old PDP-11 archive -# -# XXX - "pdp" claims that 0177545 can have an __.SYMDEF member and thus -# be a random library (it said 0xff65 rather than 0177545). -# -0 lelong 0177545 old VAX archive ->8 string __.SYMDEF random library -0 leshort 0177545 old PDP-11 archive ->8 string __.SYMDEF random library -# -0 string =<ar> archive -# -# From "pdp": -# -0 lelong 0x39bed PDP-11 old archive -0 lelong 0x39bee PDP-11 4.0 archive -# -0 string -h- Software Tools format archive text -# "arc" archiver -0 byte 26 'arc' archive ->1 byte 0 (empty) ->1 byte 1 (old format) -# Rahul Dhesi's zoo archive format, from keith@cerberus.uchicago.edu. -20 long 0xdca7c4fd Rahul Dhesi's "zoo" archive -# ZIP archiver -0 string PK zip archive file ->4 byte x - version ->4 byte 10 1.0 ->4 byte 20 2.0 - -2 string -lh LHarc archive data ->6 byte x type %c ->20 byte x - header level %d - -# From: <u31b3hs@pool.informatik.rwth-aachen.de> (Michael Haardt) -2 string -lh0- Lharc 1.x archive -2 string -lh1- Lharc 1.x archive -2 string -lz4- Lharc 1.x archive -2 string -lz5- Lharc 1.x archive -2 string -lzs- LHa 2.x? archive [lzs] -2 string -lh - LHa 2.x? archive [lh ] -2 string -lhd- LHa 2.x? archive [lhd] -2 string -lh2- LHa 2.x? archive [lh2] -2 string -lh3- LHa 2.x? archive [lh3] -2 string -lh4- LHa 2.x? archive [lh4] -2 string -lh5- LHa (2.x) archive - -# ARJ archive data from jason@jarthur.Claremont.EDU -0 leshort 0xea60 ARJ archive data ->5 byte x - version %d, ->8 byte >0 flags: ->>8 byte &0x04 multi-volume, ->>8 byte &0x10 slash switched, ->>8 byte &0x20 backup, ->34 string x original name: %s, ->7 byte 0 os: MS/DOS ->7 byte 1 os: PRIMOS ->7 byte 2 os: UNIX ->7 byte 3 os: Amiga ->7 byte 4 os: Macintosh ->7 byte 5 os: OS/2 ->7 byte 6 os: Apple ][ GS ->7 byte 7 os: Atari ST ->7 byte 8 os: NeXT ->7 byte 9 os: VAX/VMS ->3 byte >0 %d] diff --git a/usr.bin/file/Magdir/arc b/usr.bin/file/Magdir/arc deleted file mode 100644 index 1ebb260..0000000 --- a/usr.bin/file/Magdir/arc +++ /dev/null @@ -1,3 +0,0 @@ -0 byte 26 'arc' archive ->1 byte 0 (empty) ->1 byte 1 (old format) diff --git a/usr.bin/file/Magdir/archive b/usr.bin/file/Magdir/archive deleted file mode 100644 index f266b19..0000000 --- a/usr.bin/file/Magdir/archive +++ /dev/null @@ -1,210 +0,0 @@ - -#------------------------------------------------------------------------------ -# archive: file(1) magic for archive formats (see also "msdos" for self- -# extracting compressed archives) -# -# cpio, ar, arc, arj, hpack, lha/lharc, rar, squish, uc2, zip, zoo, etc. -# pre-POSIX "tar" archives are handled in the C code. - -# POSIX tar archives -257 string ustar\0 POSIX tar archive -257 string ustar\040\040\0 GNU tar archive - -# cpio archives -# -# Yes, the top two "cpio archive" formats *are* supposed to just be "short". -# The idea is to indicate archives produced on machines with the same -# byte order as the machine running "file" with "cpio archive", and -# to indicate archives produced on machines with the opposite byte order -# from the machine running "file" with "byte-swapped cpio archive". -# -# The SVR4 "cpio(4)" hints that there are additional formats, but they -# are defined as "short"s; I think all the new formats are -# character-header formats and thus are strings, not numbers. -0 short 070707 cpio archive -0 short 0143561 byte-swapped cpio archive -0 string 070707 ASCII cpio archive (pre-SVR4 or odc) -0 string 070701 ASCII cpio archive (SVR4 with no CRC) -0 string 070702 ASCII cpio archive (SVR4 with CRC) - -# other archives -0 long 0177555 very old archive -0 short 0177555 very old PDP-11 archive -0 long 0177545 old archive -0 short 0177545 old PDP-11 archive -0 long 0100554 apl workspace -0 string =<ar> archive - -# MIPS archive (needs to go first) -# -0 string !<arch>\n__________E MIPS archive ->20 string U with MIPS Ucode members ->21 string L with MIPSEL members ->21 string B with MIPSEB members ->19 string L and an EL hash table ->19 string B and an EB hash table ->22 string X -- out of date - -0 string -h- Software Tools format archive text - -# -# XXX - why are there multiple <ar> thingies? Note that 0x213c6172 is -# "!<ar", so, for new-style (4.xBSD/SVR2andup) archives, we have: -# -# 0 string !<arch> current ar archive -# 0 long 0x213c6172 archive file -# -# and for SVR1 archives, we have: -# -# 0 string \<ar> System V Release 1 ar archive -# 0 string =<ar> archive -# -# XXX - did Aegis really store shared libraries, breakpointed modules, -# and absolute code program modules in the same format as new-style -# "ar" archives? -# -0 string !<arch> current ar archive ->8 string __.SYMDEF random library ->8 string debian-split part of multipart Debian package ->8 string debian-binary Debian binary package ->0 belong =65538 - pre SR9.5 ->0 belong =65539 - post SR9.5 ->0 beshort 2 - object archive ->0 beshort 3 - shared library module ->0 beshort 4 - debug break-pointed module ->0 beshort 5 - absolute code program module -0 string \<ar> System V Release 1 ar archive -0 string =<ar> archive -# -# XXX - from "vax", which appears to collect a bunch of byte-swapped -# thingies, to help you recognize VAX files on big-endian machines; -# with "leshort", "lelong", and "string", that's no longer necessary.... -# -0 belong 0x65ff0000 VAX 3.0 archive -0 belong 0x3c61723e VAX 5.0 archive -# -0 long 0x213c6172 archive file -0 lelong 0177555 very old VAX archive -0 leshort 0177555 very old PDP-11 archive -# -# XXX - "pdp" claims that 0177545 can have an __.SYMDEF member and thus -# be a random library (it said 0xff65 rather than 0177545). -# -0 lelong 0177545 old VAX archive ->8 string __.SYMDEF random library -0 leshort 0177545 old PDP-11 archive ->8 string __.SYMDEF random library -# -# From "pdp" (but why a 4-byte quantity?) -# -0 lelong 0x39bed PDP-11 old archive -0 lelong 0x39bee PDP-11 4.0 archive - -# ARC archiver, from Daniel Quinlan (quinlan@yggdrasil.com) -# -# The first byte is the magic (0x1a), byte 2 is the compression type for -# the first file (0x01 through 0x09), and bytes 3 to 15 are the MS-DOS -# filename of the first file (null terminated). Since some types collide -# we only test some types on basis of frequency: 0x08 (83%), 0x09 (5%), -# 0x02 (5%), 0x03 (3%), 0x04 (2%), 0x06 (2%). 0x01 collides with terminfo. -0 lelong&0x8080ffff 0x0000081a ARC archive data, dynamic LZW -0 lelong&0x8080ffff 0x0000091a ARC archive data, squashed -0 lelong&0x8080ffff 0x0000021a ARC archive data, uncompressed -0 lelong&0x8080ffff 0x0000031a ARC archive data, packed -0 lelong&0x8080ffff 0x0000041a ARC archive data, squeezed -0 lelong&0x8080ffff 0x0000061a ARC archive data, crunched - -# Acorn archive formats (Disaster prone simpleton, m91dps@ecs.ox.ac.uk) -# I can't create either SPARK or ArcFS archives so I have not tested this stuff -# [GRR: the original entries collide with ARC, above; replaced with combined -# version (not tested)] -#0 byte 0x1a RISC OS archive -#>1 string archive (ArcFS format) -0 string \032archive RISC OS archive (ArcFS format) - -# ARJ archiver (jason@jarthur.Claremont.EDU) -0 leshort 0xea60 ARJ archive data ->5 byte x \b, v%d, ->8 byte &0x04 multi-volume, ->8 byte &0x10 slash-switched, ->8 byte &0x20 backup, ->34 string x original name: %s, ->7 byte 0 os: MS-DOS ->7 byte 1 os: PRIMOS ->7 byte 2 os: Unix ->7 byte 3 os: Amiga ->7 byte 4 os: Macintosh ->7 byte 5 os: OS/2 ->7 byte 6 os: Apple ][ GS ->7 byte 7 os: Atari ST ->7 byte 8 os: NeXT ->7 byte 9 os: VAX/VMS ->3 byte >0 %d] - -# HA archiver (Greg Roelofs, newt@uchicago.edu) -# This is a really bad format. A file containing HAWAII will match this... -#0 string HA HA archive data, -#>2 leshort =1 1 file, -#>2 leshort >1 %u files, -#>4 byte&0x0f =0 first is type CPY -#>4 byte&0x0f =1 first is type ASC -#>4 byte&0x0f =2 first is type HSC -#>4 byte&0x0f =0x0e first is type DIR -#>4 byte&0x0f =0x0f first is type SPECIAL - -# HPACK archiver (Peter Gutmann, pgut1@cs.aukuni.ac.nz) -0 string HPAK HPACK archive data - -# JAM Archive volume format, by Dmitry.Kohmanyuk@UA.net -0 string \351,\001JAM\ JAM archive, ->7 string >\0 version %.4s ->0x26 byte =0x27 - ->>0x2b string >\0 label %.11s, ->>0x27 lelong x serial %08x, ->>0x36 string >\0 fstype %.8s - -# LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu) -2 string -lh0- LHarc 1.x archive data [lh0] -2 string -lh1- LHarc 1.x archive data [lh1] -2 string -lz4- LHarc 1.x archive data [lz4] -2 string -lz5- LHarc 1.x archive data [lz5] -# [never seen any but the last; -lh4- reported in comp.compression:] -2 string -lzs- LHa 2.x? archive data [lzs] -2 string -lh - LHa 2.x? archive data [lh ] -2 string -lhd- LHa 2.x? archive data [lhd] -2 string -lh2- LHa 2.x? archive data [lh2] -2 string -lh3- LHa 2.x? archive data [lh3] -2 string -lh4- LHa (2.x) archive data [lh4] -2 string -lh5- LHa (2.x) archive data [lh5] ->20 byte x - header level %d - -# RAR archiver (Greg Roelofs, newt@uchicago.edu) -0 string Rar! RAR archive data - -# SQUISH archiver (Greg Roelofs, newt@uchicago.edu) -0 string SQSH squished archive data (Acorn RISCOS) - -# UC2 archiver (Greg Roelofs, newt@uchicago.edu) -# I can't figure out the self-extracting form of these buggers... -0 string UC2\x1a UC2 archive data - -# ZIP archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu) -0 string PK\003\004 Zip archive data ->4 byte 0x09 \b, at least v0.9 to extract ->4 byte 0x0a \b, at least v1.0 to extract ->4 byte 0x0b \b, at least v1.1 to extract ->4 byte 0x14 \b, at least v2.0 to extract - -# Zoo archiver -20 lelong 0xfdc4a7dc Zoo archive data ->4 byte >48 \b, v%c. ->>6 byte >47 \b%c ->>>7 byte >47 \b%c ->32 byte >0 \b, modify: v%d ->>33 byte x \b.%d+ ->42 lelong 0xfdc4a7dc \b, ->>70 byte >0 extract: v%d ->>>71 byte x \b.%d+ - -# Shell archives -10 string #\ This\ is\ a\ shell\ archive shell archive text diff --git a/usr.bin/file/Magdir/asterix b/usr.bin/file/Magdir/asterix deleted file mode 100644 index d89504a..0000000 --- a/usr.bin/file/Magdir/asterix +++ /dev/null @@ -1,17 +0,0 @@ - -#------------------------------------------------------------------------------ -# asterix: file(1) magic for Aster*x; SunOS 5.5.1 gave the 4-character -# strings as "long" - we assume they're just strings: -# From: guy@netapp.com (Guy Harris) -# -0 string *STA Aster*x ->7 string WORD Words Document ->7 string GRAP Graphic ->7 string SPRE Spreadsheet ->7 string MACR Macro -0 string 2278 Aster*x Version 2 ->29 byte 0x36 Words Document ->29 byte 0x35 Graphic ->29 byte 0x32 Spreadsheet ->29 byte 0x38 Macro - diff --git a/usr.bin/file/Magdir/att3b b/usr.bin/file/Magdir/att3b deleted file mode 100644 index 7723a7f..0000000 --- a/usr.bin/file/Magdir/att3b +++ /dev/null @@ -1,39 +0,0 @@ - -#------------------------------------------------------------------------------ -# att3b: file(1) magic for AT&T 3B machines -# -# The `versions' should be un-commented if they work for you. -# (Was the problem just one of endianness?) -# -# 3B20 -# -0 beshort 0550 3b20 COFF executable ->12 belong >0 not stripped -#>22 beshort >0 - version %ld -0 beshort 0551 3b20 COFF executable (TV) ->12 belong >0 not stripped -#>22 beshort >0 - version %ld -# -# WE32K -# -0 beshort 0560 WE32000 COFF ->18 beshort ^00000020 object ->18 beshort &00000020 executable ->12 belong >0 not stripped ->18 beshort ^00010000 N/A on 3b2/300 w/paging ->18 beshort &00020000 32100 required ->18 beshort &00040000 and MAU hardware required ->20 beshort 0407 (impure) ->20 beshort 0410 (pure) ->20 beshort 0413 (demand paged) ->20 beshort 0443 (target shared library) ->22 beshort >0 - version %ld -0 beshort 0561 WE32000 COFF executable (TV) ->12 belong >0 not stripped -#>18 beshort &00020000 - 32100 required -#>18 beshort &00040000 and MAU hardware required -#>22 beshort >0 - version %ld -# -# core file for 3b2 -0 string \000\004\036\212\200 3b2 core file ->364 string >\0 of '%s' diff --git a/usr.bin/file/Magdir/audio b/usr.bin/file/Magdir/audio deleted file mode 100644 index a370dc2..0000000 --- a/usr.bin/file/Magdir/audio +++ /dev/null @@ -1,90 +0,0 @@ - -#------------------------------------------------------------------------------ -# audio: file(1) magic for sound formats (see also "iff") -# -# Jan Nicolai Langfeldt (janl@ifi.uio.no), Dan Quinlan (quinlan@yggdrasil.com), -# and others -# - -# Sun/NeXT audio data -0 string .snd Sun/NeXT audio data: ->12 belong 1 8-bit ISDN u-law, ->12 belong 2 8-bit linear PCM [REF-PCM], ->12 belong 3 16-bit linear PCM, ->12 belong 4 24-bit linear PCM, ->12 belong 5 32-bit linear PCM, ->12 belong 6 32-bit IEEE floating point, ->12 belong 7 64-bit IEEE floating point, ->12 belong 23 8-bit ISDN u-law compressed (CCITT G.721 ADPCM voice data encoding), ->12 belong 24 compressed (8-bit G.722 ADPCM) ->12 belong 25 compressed (3-bit G.723 ADPCM), ->12 belong 26 compressed (5-bit G.723 ADPCM), ->12 belong 27 8-bit A-law, ->20 belong 1 mono, ->20 belong 2 stereo, ->20 belong 4 quad, ->16 belong >0 %d Hz - -# DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format -# that uses little-endian encoding and has a different magic number -0 lelong 0x0064732E DEC audio data: ->12 lelong 1 8-bit ISDN u-law, ->12 lelong 2 8-bit linear PCM [REF-PCM], ->12 lelong 3 16-bit linear PCM, ->12 lelong 4 24-bit linear PCM, ->12 lelong 5 32-bit linear PCM, ->12 lelong 6 32-bit IEEE floating point, ->12 lelong 7 64-bit IEEE floating point, ->12 lelong 23 8-bit ISDN u-law compressed (CCITT G.721 ADPCM voice data encoding), ->20 lelong 1 mono, ->20 lelong 2 stereo, ->20 lelong 4 quad, ->16 lelong >0 %d Hz - -# Creative Labs AUDIO stuff -0 string MThd Standard MIDI data ->9 byte >0 (format %d) ->11 byte >1 using %d channels -0 string CTMF Creative Music (CMF) data -0 string SBI SoundBlaster instrument data -0 string Creative\ Voice\ File Creative Labs voice data -# is this next line right? it came this way... ->19 byte 0x1A ->23 byte >0 - version %d ->22 byte >0 \b.%d - -# first entry is also the string "NTRK" -0 belong 0x4e54524b MultiTrack sound data ->4 belong x - version %ld - -# Microsoft WAVE format (*.wav) -0 string RIFF Microsoft RIFF ->8 string WAVE \b, WAVE audio data ->>34 leshort >0 \b, %d bit ->>22 leshort =1 \b, mono ->>22 leshort =2 \b, stereo ->>22 leshort >2 \b, %d channels ->>24 lelong >0 %d Hz -# AVI == Audio Video Interleave ->8 string AVI\ \b, AVI data - -# Extended MOD format (*.emd) (Greg Roelofs, newt@uchicago.edu); NOT TESTED -# [based on posting 940824 by "Dirk/Elastik", husberg@lehtori.cc.tut.fi] -0 string EMOD Extended MOD sound data, ->4 byte&0xf0 x version %d ->4 byte&0x0f x \b.%d, ->45 byte x %d instruments ->83 byte 0 (module) ->83 byte 1 (song) - -# Real Audio (Magic .ra\0375) -0 belong 0x2e7261fd realaudio sound file - -# MTM/669/FAR/S3M/ULT/XM format checking [Aaron Eppert, aeppert@dialin.ind.net] -# Oct 31, 1995 -0 string MTM MultiTracker Module sound file -0 string if Composer 669 Module sound data -0 string FAR Module sound data -0 string MAS_U ULT(imate) Module sound data -0x2c string SCRM ScreamTracker III Module sound data -0 string Extended Module Extended Module sound data diff --git a/usr.bin/file/Magdir/blit b/usr.bin/file/Magdir/blit deleted file mode 100644 index 7a470ed..0000000 --- a/usr.bin/file/Magdir/blit +++ /dev/null @@ -1,19 +0,0 @@ - -#------------------------------------------------------------------------------ -# blit: file(1) magic for 68K Blit stuff as seen from 680x0 machine -# -# Note that this 0407 conflicts with several other a.out formats... -# -# XXX - should this be redone with "be" and "le", so that it works on -# little-endian machines as well? If so, what's the deal with -# "VAX-order" and "VAX-order2"? -# -#0 long 0407 68K Blit (standalone) executable -#0 short 0407 VAX-order2 68K Blit (standalone) executable -0 short 03401 VAX-order 68K Blit (standalone) executable -0 long 0406 68k Blit mpx/mux executable -0 short 0406 VAX-order2 68k Blit mpx/mux executable -0 short 03001 VAX-order 68k Blit mpx/mux executable -# Need more values for WE32 DMD executables. -# Note that 0520 is the same as COFF -#0 short 0520 tty630 layers executable diff --git a/usr.bin/file/Magdir/bsdi b/usr.bin/file/Magdir/bsdi deleted file mode 100644 index 2e3b646..0000000 --- a/usr.bin/file/Magdir/bsdi +++ /dev/null @@ -1,7 +0,0 @@ - -#------------------------------------------------------------------------------ -# bsdi: file(1) magic for BSD/OS (from BSDI) objects -# -0 lelong 000000314 BSD/OS i386 compact demand paged executable ->16 lelong >0 not stripped ->32 byte 0x6a (uses shared libs) diff --git a/usr.bin/file/Magdir/c-lang b/usr.bin/file/Magdir/c-lang deleted file mode 100644 index 1b01475..0000000 --- a/usr.bin/file/Magdir/c-lang +++ /dev/null @@ -1,13 +0,0 @@ - -#------------------------------------------------------------------------------ -# c-lang: file(1) magic for C programs (or REXX) -# - -# XPM icons (Greg Roelofs, newt@uchicago.edu) -# if you uncomment "/*" for C/REXX below, also uncomment this entry -#0 string /*\ XPM\ */ X pixmap image data - -# this first will upset you if you're a PL/1 shop... -# in which case rm it; ascmagic will catch real C programs -#0 string /* C or REXX program text -0 string // C++ program text diff --git a/usr.bin/file/Magdir/chi b/usr.bin/file/Magdir/chi deleted file mode 100644 index ee450f5..0000000 --- a/usr.bin/file/Magdir/chi +++ /dev/null @@ -1,7 +0,0 @@ - -#------------------------------------------------------------------------------ -# chi: file(1) magic for ChiWriter files -# -0 string \\1cw\ ChiWriter file ->5 string >\0 version %s -0 string \\1cw ChiWriter file diff --git a/usr.bin/file/Magdir/clipper b/usr.bin/file/Magdir/clipper deleted file mode 100644 index c325cb8..0000000 --- a/usr.bin/file/Magdir/clipper +++ /dev/null @@ -1,64 +0,0 @@ - -#------------------------------------------------------------------------------ -# clipper: file(1) magic for Intergraph (formerly Fairchild) Clipper. -# -# XXX - what byte order does the Clipper use? -# -# XXX - what's the "!" stuff: -# -# >18 short !074000,000000 C1 R1 -# >18 short !074000,004000 C2 R1 -# >18 short !074000,010000 C3 R1 -# >18 short !074000,074000 TEST -# -# I shall assume it's ANDing the field with the first value and -# comparing it with the second, and rewrite it as: -# -# >18 short&074000 000000 C1 R1 -# >18 short&074000 004000 C2 R1 -# >18 short&074000 010000 C3 R1 -# >18 short&074000 074000 TEST -# -# as SVR3.1's "file" doesn't support anything of the "!074000,000000" -# sort, nor does SunOS 4.x, so either it's something Intergraph added -# in CLIX, or something AT&T added in SVR3.2 or later, or something -# somebody else thought was a good idea; it's not documented in the -# man page for this version of "magic", nor does it appear to be -# implemented (at least not after I blew off the bogus code to turn -# old-style "&"s into new-style "&"s, which just didn't work at all). -# -0 short 0575 CLIPPER COFF executable (VAX #) ->20 short 0407 (impure) ->20 short 0410 (5.2 compatible) ->20 short 0411 (pure) ->20 short 0413 (demand paged) ->20 short 0443 (target shared library) ->12 long >0 not stripped ->22 short >0 - version %ld -0 short 0577 CLIPPER COFF executable ->18 short&074000 000000 C1 R1 ->18 short&074000 004000 C2 R1 ->18 short&074000 010000 C3 R1 ->18 short&074000 074000 TEST ->20 short 0407 (impure) ->20 short 0410 (pure) ->20 short 0411 (separate I&D) ->20 short 0413 (paged) ->20 short 0443 (target shared library) ->12 long >0 not stripped ->22 short >0 - version %ld ->48 long&01 01 alignment trap enabled ->52 byte 1 -Ctnc ->52 byte 2 -Ctsw ->52 byte 3 -Ctpw ->52 byte 4 -Ctcb ->53 byte 1 -Cdnc ->53 byte 2 -Cdsw ->53 byte 3 -Cdpw ->53 byte 4 -Cdcb ->54 byte 1 -Csnc ->54 byte 2 -Cssw ->54 byte 3 -Cspw ->54 byte 4 -Cscb -4 string pipe CLIPPER instruction trace -4 string prof CLIPPER instruction profile diff --git a/usr.bin/file/Magdir/commands b/usr.bin/file/Magdir/commands deleted file mode 100644 index 8a27607..0000000 --- a/usr.bin/file/Magdir/commands +++ /dev/null @@ -1,75 +0,0 @@ - -#------------------------------------------------------------------------------ -# commands: file(1) magic for various shells and interpreters -# -0 string :\ shell archive or commands for antique kernel text -0 string #!/bin/sh Bourne shell script text -0 string #!\ /bin/sh Bourne shell script text -0 string #!/bin/csh C shell script text -0 string #!\ /bin/csh C shell script text -# korn shell magic, sent by George Wu, gwu@clyde.att.com -0 string #!/bin/ksh Korn shell script text -0 string #!\ /bin/ksh Korn shell script text -0 string #!/bin/tcsh Tenex C shell script text -0 string #!\ /bin/tcsh Tenex C shell script text -0 string #!/usr/local/tcsh Tenex C shell script text -0 string #!\ /usr/local/tcsh Tenex C shell script text -0 string #!/usr/local/bin/tcsh Tenex C shell script text -0 string #!\ /usr/local/bin/tcsh Tenex C shell script text -# -# zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson) -0 string #!/usr/local/bin/zsh 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 diff --git a/usr.bin/file/Magdir/compress b/usr.bin/file/Magdir/compress deleted file mode 100644 index a797f8f..0000000 --- a/usr.bin/file/Magdir/compress +++ /dev/null @@ -1,92 +0,0 @@ - -#------------------------------------------------------------------------------ -# compress: file(1) magic for pure-compression formats (no archives) -# -# compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, etc. -# -# Formats for various forms of compressed data -# Formats for "compress" proper have been moved into "compress.c", -# because it tries to uncompress it to figure out what's inside. - -# standard unix compress -0 string \037\235 compress'd data ->2 byte&0x80 >0 block compressed ->2 byte&0x1f x %d bits - -# gzip (GNU zip, not to be confused with Info-ZIP or PKWARE zip archiver) -0 string \037\213 gzip compressed data ->2 byte <8 \b, reserved method, ->2 byte 8 \b, deflated, ->3 byte &0x01 ASCII, ->3 byte &0x02 continuation, ->3 byte &0x04 extra field, ->3 byte &0x08 original filename, ->3 byte &0x10 comment, ->3 byte &0x20 encrypted, ->4 ledate x last modified: %s, ->8 byte 2 max compression, ->8 byte 4 max speed, ->9 byte =0x00 os: MS-DOS ->9 byte =0x01 os: Amiga ->9 byte =0x02 os: VMS ->9 byte =0x03 os: Unix ->9 byte =0x05 os: Atari ->9 byte =0x06 os: OS/2 ->9 byte =0x07 os: MacOS ->9 byte =0x0A os: Tops/20 ->9 byte =0x0B os: Win/32 - -# packed data, Huffman (minimum redundancy) codes on a byte-by-byte basis -0 string \037\036 packed data ->2 belong >1 \b, %d characters originally ->2 belong =1 \b, %d character originally -# -# This magic number is byte-order-independent. XXX - Does that mean this -# is big-endian, little-endian, either, or that you can't tell? -# this short is valid for SunOS -0 short 017437 old packed data - -# XXX - why *two* entries for "compacted data", one of which is -# byte-order independent, and one of which is byte-order dependent? -# -0 short 0x1fff compacted data -# This string is valid for SunOS (BE) and a matching "short" is listed -# in the Ultrix (LE) magic file. -0 string \377\037 compacted data -0 short 0145405 huf output - -# Squeeze and Crunch... -# These numbers were gleaned from the Unix versions of the programs to -# handle these formats. Note that I can only uncrunch, not crunch, and -# I didn't have a crunched file handy, so the crunch number is untested. -# Keith Waclena <keith@cerberus.uchicago.edu> -0 leshort 0x76FF squeezed data (CP/M, DOS) -0 leshort 0x76FE crunched data (CP/M, DOS) - -# Freeze -0 string \037\237 frozen file 2.1 -0 string \037\236 frozen file 1.0 (or gzip 0.5) - -# SCO compress -H (LZH) -0 string \037\240 SCO compress -H (LZH) data - -# European GSM 06.10 is a provisional standard for full-rate speech -# transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse -# excitation/long term prediction) coding at 13 kbit/s. -# -# There's only a magic nibble (4 bits); that nibble repeats every 33 -# bytes. This isn't suited for use, but maybe we can use it someday. -# -# This will cause very short GSM files to be declared as data and -# mismatches to be declared as data too! -#0 byte&0xF0 0xd0 data -#>33 byte&0xF0 0xd0 -#>66 byte&0xF0 0xd0 -#>99 byte&0xF0 0xd0 -#>132 byte&0xF0 0xd0 GSM 06.10 compressed audio - -# Bzip from ulmo@Q.Net -0 string BZ bzip compressed data, ->2 byte x format v. %c, ->3 byte x block size indicator %c - diff --git a/usr.bin/file/Magdir/convex b/usr.bin/file/Magdir/convex deleted file mode 100644 index b1235d7..0000000 --- a/usr.bin/file/Magdir/convex +++ /dev/null @@ -1,69 +0,0 @@ -#------------------------------------------------------------------------------ -# convex: file(1) magic for Convex boxes -# -# Convexes are big-endian. -# -# /*\ -# * Below are the magic numbers and tests added for Convex. -# * Added at beginning, because they are expected to be used most. -# \*/ -0 belong 0507 Convex old-style object ->16 belong >0 not stripped -0 belong 0513 Convex old-style demand paged executable ->16 belong >0 not stripped -0 belong 0515 Convex old-style pre-paged executable ->16 belong >0 not stripped -0 belong 0517 Convex old-style pre-paged, non-swapped executable ->16 belong >0 not stripped -0 belong 0x011257 Core file -# -# The following are a series of dump format magic numbers. Each one -# corresponds to a drastically different dump format. The first on is -# the original dump format on a 4.1 BSD or earlier file system. The -# second marks the change between the 4.1 file system and the 4.2 file -# system. The Third marks the changing of the block size from 1K -# to 2K to be compatible with an IDC file system. The fourth indicates -# a dump that is dependent on Convex Storage Manager, because data in -# secondary storage is not physically contained within the dump. -# The restore program uses these number to determine how the data is -# to be extracted. -# -24 belong =60011 dump format, 4.1 BSD or earlier -24 belong =60012 dump format, 4.2 or 4.3 BSD without IDC -24 belong =60013 dump format, 4.2 or 4.3 BSD (IDC compatible) -24 belong =60014 dump format, Convex Storage Manager by-reference dump -# -# what follows is a bunch of bit-mask checks on the flags field of the opthdr. -# If there is no `=' sign, assume just checking for whether the bit is set? -# -0 belong 0601 Convex SOFF ->88 belong&0x000f0000 =0x00000000 c1 ->88 belong &0x00010000 c2 ->88 belong &0x00020000 c2mp ->88 belong &0x00040000 parallel ->88 belong &0x00080000 intrinsic ->88 belong &0x00000001 demand paged ->88 belong &0x00000002 pre-paged ->88 belong &0x00000004 non-swapped ->88 belong &0x00000008 POSIX -# ->84 belong &0x80000000 executable ->84 belong &0x40000000 object ->84 belong&0x20000000 =0 not stripped ->84 belong&0x18000000 =0x00000000 native fpmode ->84 belong&0x18000000 =0x10000000 ieee fpmode ->84 belong&0x18000000 =0x18000000 undefined fpmode -# -0 belong 0605 Convex SOFF core -# -0 belong 0607 Convex SOFF checkpoint ->88 belong&0x000f0000 =0x00000000 c1 ->88 belong &0x00010000 c2 ->88 belong &0x00020000 c2mp ->88 belong &0x00040000 parallel ->88 belong &0x00080000 intrinsic ->88 belong &0x00000008 POSIX -# ->84 belong&0x18000000 =0x00000000 native fpmode ->84 belong&0x18000000 =0x10000000 ieee fpmode ->84 belong&0x18000000 =0x18000000 undefined fpmode diff --git a/usr.bin/file/Magdir/cpio b/usr.bin/file/Magdir/cpio deleted file mode 100644 index d1805cc..0000000 --- a/usr.bin/file/Magdir/cpio +++ /dev/null @@ -1,16 +0,0 @@ -# -# Yes, the two "cpio archive" formats *are* supposed to just be "short". -# The idea is to indicate archives produced on machines with the same -# byte order as the machine running "file" with "cpio archive", and -# to indicate archives produced on machines with the opposite byte order -# from the machine running "file" with "byte-swapped cpio archive". -# -# The SVR4 "cpio(4)" hints that there are additional formats, but they -# are defined as "short"s; I think all the new formats are -# character-header formats, and thus are strings not numbers. -# -0 short 070707 cpio archive -0 short 0143561 byte-swapped cpio archive -0 string 070707 ASCII cpio archive (pre-SVR4 or odc) -0 string 070701 ASCII cpio archive (SVR4 with no CRC) -0 string 070702 ASCII cpio archive (SVR4 with CRC) diff --git a/usr.bin/file/Magdir/database b/usr.bin/file/Magdir/database deleted file mode 100644 index 146c310..0000000 --- a/usr.bin/file/Magdir/database +++ /dev/null @@ -1,38 +0,0 @@ - -#------------------------------------------------------------------------------ -# database: file(1) magic for various databases -# -# extracted from header/code files by Graeme Wilford (eep2gw@ee.surrey.ac.uk) -# -# -# GDBM magic numbers -# Will be maintained as part of the GDBM distribution in the future. -# <downsj@teeny.org> -0 belong 0x13579ace GNU dbm 1.x or ndbm database, big endian -0 lelong 0x13579ace GNU dbm 1.x or ndbm database, little endian -0 string GDBM GNU dbm 2.x database -# -0 belong 0x061561 Berkeley DB Hash file ->4 belong >0 (Version %d, ->8 belong 1234 Little Endian, ->8 belong 4321 Big Endian, ->12 belong x Bucket Size %d, ->16 belong x Bucket Shift %d, ->20 belong x Directory Size %d, ->24 belong x Segment Size %d, ->28 belong x Segment Shift %d, ->32 belong x Overflow Point %d, ->36 belong x Last Freed %d, ->40 belong x Max Bucket %d, ->44 belong x High Mask 0x%x, ->48 belong x Low Mask 0x%x, ->52 belong x Fill Factor %d, ->56 belong x Number of Keys %d) -# -# -0 belong 0x053162 Berkeley DB Btree file ->4 belong >0 (Version %d, ->8 belong x Page Size %d, ->12 belong x Free Page %d, ->16 belong x Number of Records %d, ->20 belong x Flags 0x%x) diff --git a/usr.bin/file/Magdir/diamond b/usr.bin/file/Magdir/diamond deleted file mode 100644 index 1abd01e..0000000 --- a/usr.bin/file/Magdir/diamond +++ /dev/null @@ -1,11 +0,0 @@ - -#------------------------------------------------------------------------------ -# diamond: file(1) magic for Diamond system -# -# ... diamond is a multi-media mail and electronic conferencing system.... -# -# XXX - I think it was either renamed Slate, or replaced by Slate.... -# -# The full deal is too long... -#0 string <list>\n<protocol\ bbn-multimedia-format> Diamond Multimedia Document -0 string =<list>\n<protocol\ bbn-m Diamond Multimedia Document diff --git a/usr.bin/file/Magdir/diff b/usr.bin/file/Magdir/diff deleted file mode 100644 index 9e65146..0000000 --- a/usr.bin/file/Magdir/diff +++ /dev/null @@ -1,8 +0,0 @@ - -#------------------------------------------------------------------------------ -# diff: file(1) magic for diff(1) output -# -0 string diff\ 'diff' output text -0 string ***\ 'diff' output text -0 string Only\ in\ 'diff' output text -0 string Common\ subdirectories:\ 'diff' output text diff --git a/usr.bin/file/Magdir/digital b/usr.bin/file/Magdir/digital deleted file mode 100644 index f4ebbff..0000000 --- a/usr.bin/file/Magdir/digital +++ /dev/null @@ -1,41 +0,0 @@ -# Digital UNIX - Info -# -0 string ^!<arch>\n_______64E Alpha archive ->22 string X -- out of date -# -# Alpha COFF Based Executables -# The stripped stuff really needs to be an 8 byte (64 bit) compare, -# but this works -0 leshort 0x183 COFF format alpha ->22 leshort&020000 &010000 sharable library, ->22 leshort&020000 ^010000 dynamically linked, ->24 leshort 0410 pure ->24 leshort 0413 demand paged ->8 lelong >0 executable or object module, not stripped ->8 lelong 0 ->>12 lelong 0 executable or object module, stripped ->>12 lelong >0 executable or object module, not stripped ->27 byte >0 - version %d. ->26 byte >0 %d- ->28 leshort >0 %d -# -# The next is incomplete, we could tell more about this format, -# but its not worth it. -0 leshort 0x188 Alpha compressed COFF -0 leshort 0x18f Alpha u-code object -# -# -# Some other interesting Digital formats, -0 string \377\377\177 ddis/ddif -0 string \377\377\174 ddis/dots archive -0 string \377\377\176 ddis/dtif table data -0 string \033c\033 LN03 output -0 long 04553207 X image -# -0 string !<PDF>!\n profiling data file -# -# Locale data tables (MIPS and Alpha). -# -0 short 0x0501 locale data table ->6 short 0x24 for MIPS ->6 short 0x40 for Alpha diff --git a/usr.bin/file/Magdir/ditroff b/usr.bin/file/Magdir/ditroff deleted file mode 100644 index 1fff178..0000000 --- a/usr.bin/file/Magdir/ditroff +++ /dev/null @@ -1,4 +0,0 @@ -# Magic numbers for ditroff intermediate language -0 string x\ T\ cat titroff output for the C/A/T text -0 string x\ T\ ps titroff output for PostScript -0 string x\ T titroff output text diff --git a/usr.bin/file/Magdir/dump b/usr.bin/file/Magdir/dump deleted file mode 100644 index 628ead8..0000000 --- a/usr.bin/file/Magdir/dump +++ /dev/null @@ -1,81 +0,0 @@ - -#------------------------------------------------------------------------------ -# dump: file(1) magic for dump file format--for new and old dump filesystems -# -# We specify both byte orders in order to recognize byte-swapped dumps. -# -24 belong 60012 new-fs dump file (big endian), ->4 bedate x Previous dump %s, ->8 bedate x This dump %s, ->12 belong >0 Volume %ld, ->692 belong 0 Level zero, type: ->692 belong >0 Level %d, type: ->0 belong 1 tape header, ->0 belong 2 beginning of file record, ->0 belong 3 map of inodes on tape, ->0 belong 4 continuation of file record, ->0 belong 5 end of volume, ->0 belong 6 map of inodes deleted, ->0 belong 7 end of medium (for floppy), ->676 string >\0 Label %s, ->696 string >\0 Filesystem %s, ->760 string >\0 Device %s, ->824 string >\0 Host %s, ->888 belong >0 Flags %x - -24 belong 60011 old-fs dump file (big endian), -#>4 bedate x Previous dump %s, -#>8 bedate x This dump %s, ->12 belong >0 Volume %ld, ->692 belong 0 Level zero, type: ->692 belong >0 Level %d, type: ->0 belong 1 tape header, ->0 belong 2 beginning of file record, ->0 belong 3 map of inodes on tape, ->0 belong 4 continuation of file record, ->0 belong 5 end of volume, ->0 belong 6 map of inodes deleted, ->0 belong 7 end of medium (for floppy), ->676 string >\0 Label %s, ->696 string >\0 Filesystem %s, ->760 string >\0 Device %s, ->824 string >\0 Host %s, ->888 belong >0 Flags %x - -24 lelong 60012 new-fs dump file (little endian), ->4 ledate x This dump %s, ->8 ledate x Previous dump %s, ->12 lelong >0 Volume %ld, ->692 lelong 0 Level zero, type: ->692 lelong >0 Level %d, type: ->0 lelong 1 tape header, ->0 lelong 2 beginning of file record, ->0 lelong 3 map of inodes on tape, ->0 lelong 4 continuation of file record, ->0 lelong 5 end of volume, ->0 lelong 6 map of inodes deleted, ->0 lelong 7 end of medium (for floppy), ->676 string >\0 Label %s, ->696 string >\0 Filesystem %s, ->760 string >\0 Device %s, ->824 string >\0 Host %s, ->888 lelong >0 Flags %x - -24 lelong 60011 old-fs dump file (little endian), -#>4 ledate x Previous dump %s, -#>8 ledate x This dump %s, ->12 lelong >0 Volume %ld, ->692 lelong 0 Level zero, type: ->692 lelong >0 Level %d, type: ->0 lelong 1 tape header, ->0 lelong 2 beginning of file record, ->0 lelong 3 map of inodes on tape, ->0 lelong 4 continuation of file record, ->0 lelong 5 end of volume, ->0 lelong 6 map of inodes deleted, ->0 lelong 7 end of medium (for floppy), ->676 string >\0 Label %s, ->696 string >\0 Filesystem %s, ->760 string >\0 Device %s, ->824 string >\0 Host %s, ->888 lelong >0 Flags %x diff --git a/usr.bin/file/Magdir/elf b/usr.bin/file/Magdir/elf deleted file mode 100644 index 82636f9..0000000 --- a/usr.bin/file/Magdir/elf +++ /dev/null @@ -1,75 +0,0 @@ - -#------------------------------------------------------------------------------ -# elf: file(1) magic for ELF executables -# -# We have to check the byte order flag to see what byte order all the -# other stuff in the header is in. -# -# MIPS RS3000 may also be for MIPS RS2000. -# What're the correct byte orders for the nCUBE and the Fujitsu VPP500? -# -# updated by Daniel Quinlan (quinlan@yggdrasil.com) -0 string \177ELF ELF ->4 byte 0 invalid class ->4 byte 1 32-bit ->4 byte 2 64-bit ->5 byte 0 invalid byte order ->5 byte 1 LSB ->>16 leshort 0 no file type, ->>16 leshort 1 relocatable, ->>16 leshort 2 executable, ->>16 leshort 3 shared object, -# Core handling from Peter Tobias <tobias@server.et-inf.fho-emden.de> ->>16 leshort 4 core file ->>>400 lelong >0 (signal %d), ->>16 leshort &0xff00 processor-specific, ->>18 leshort 0 no machine, ->>18 leshort 1 AT&T WE32100 - invalid byte order, ->>18 leshort 2 SPARC - invalid byte order, ->>18 leshort 3 Intel 80386, ->>18 leshort 4 Motorola 68000 - invalid byte order, ->>18 leshort 5 Motorola 88000 - invalid byte order, ->>18 leshort 6 Intel 80486, ->>18 leshort 7 Intel 80860, ->>18 leshort 8 MIPS RS3000_BE - invalid byte order, ->>18 leshort 9 Amdahl - invalid byte order, ->>18 leshort 10 MIPS RS3000_LE, ->>18 leshort 11 RS6000 - invalid byte order, ->>18 leshort 15 PA_RISC - invalid byte order, ->>18 leshort 16 nCUBE, ->>18 leshort 17 VPP500, ->>18 leshort 18 SPARC32PLUS, ->>18 leshort 20 PowerPC, ->>18 leshort 0x9026 Alpha, ->>20 lelong 0 invalid version ->>20 lelong 1 version 1 ->>36 lelong 1 MathCoPro/FPU/MAU Required ->5 byte 2 MSB ->>16 beshort 0 no file type, ->>16 beshort 1 relocatable, ->>16 beshort 2 executable, ->>16 beshort 3 shared object, ->>16 beshort 4 core file, ->>>400 lelong >0 (signal %d), ->>16 beshort &0xff00 processor-specific, ->>18 beshort 0 no machine, ->>18 beshort 1 AT&T WE32100, ->>18 beshort 2 SPARC, ->>18 beshort 3 Intel 80386 - invalid byte order, ->>18 beshort 4 Motorola 68000, ->>18 beshort 5 Motorola 88000, ->>18 beshort 6 Intel 80486 - invalid byte order, ->>18 beshort 7 Intel 80860, ->>18 beshort 8 MIPS RS3000_BE, ->>18 beshort 9 Amdahl, ->>18 beshort 10 MIPS RS3000_LE - invalid byte order, ->>18 beshort 11 RS6000, ->>18 beshort 15 PA_RISC, ->>18 beshort 16 nCUBE, ->>18 beshort 17 VPP500, ->>18 beshort 18 SPARC32PLUS, ->>18 beshort 20 PowerPC, ->>18 beshort 0x9026 Alpha, ->>20 belong 0 invalid version ->>20 belong 1 version 1 ->>36 belong 1 MathCoPro/FPU/MAU Required diff --git a/usr.bin/file/Magdir/encore b/usr.bin/file/Magdir/encore deleted file mode 100644 index 63cb5d4..0000000 --- a/usr.bin/file/Magdir/encore +++ /dev/null @@ -1,21 +0,0 @@ - -#------------------------------------------------------------------------------ -# encore: file(1) magic for Encore machines -# -# XXX - needs to have the byte order specified (NS32K was little-endian, -# dunno whether they run the 88K in little-endian mode or not). -# -0 short 0x154 Encore ->20 short 0x107 executable ->20 short 0x108 pure executable ->20 short 0x10b demand-paged executable ->20 short 0x10f unsupported executable ->12 long >0 not stripped ->22 short >0 - version %ld ->22 short 0 - -#>4 date x stamp %s -0 short 0x155 Encore unsupported executable ->12 long >0 not stripped ->22 short >0 - version %ld ->22 short 0 - -#>4 date x stamp %s diff --git a/usr.bin/file/Magdir/filesystems b/usr.bin/file/Magdir/filesystems deleted file mode 100644 index 125250d..0000000 --- a/usr.bin/file/Magdir/filesystems +++ /dev/null @@ -1,6 +0,0 @@ - -#------------------------------------------------------------------------------ -# filesystems: file(1) magic for different filesystems -# -0x438 leshort 0xEF53 Linux/i386 ext2 filesystem -0 string \366\366\366\366 PC formatted floppy with no filesystem diff --git a/usr.bin/file/Magdir/floppy.raw b/usr.bin/file/Magdir/floppy.raw deleted file mode 100644 index 75091b9..0000000 --- a/usr.bin/file/Magdir/floppy.raw +++ /dev/null @@ -1 +0,0 @@ -0 string \366\366\366\366 Formatted floppy w/ no filesystem data diff --git a/usr.bin/file/Magdir/fonts b/usr.bin/file/Magdir/fonts deleted file mode 100644 index dd7907f..0000000 --- a/usr.bin/file/Magdir/fonts +++ /dev/null @@ -1,26 +0,0 @@ - -#------------------------------------------------------------------------------ -# fonts: file(1) magic for font data -# -0 string FONT ASCII vfont text -0 short 0436 Berkeley vfont data -0 short 017001 byte-swapped Berkeley vfont data - -# PostScript fonts (must precede "printer" entries), quinlan@yggdrasil.com -0 string %!PS-AdobeFont-1.0 PostScript Type 1 font text ->20 string >\0 (%s) -6 string %!PS-AdobeFont-1.0 PostScript Type 1 font program data - -# X11 font files in SNF (Server Natural Format) format -0 belong 00000004 X11 SNF font data, MSB first -0 lelong 00000004 X11 SNF font data, LSB first - -# X11 Bitmap Distribution Format, from Daniel Quinlan (quinlan@yggdrasil.com) -0 string STARTFONT\040 X11 BDF font text - -# X11 fonts, from Daniel Quinlan (quinlan@yggdrasil.com) -# PCF must come before SGI additions ("MIPSEL MIPS-II COFF" collides) -0 string \001fcp X11 Portable Compiled Font data ->12 byte 0x02 \b, LSB first ->12 byte 0x0a \b, MSB first -0 string D1.0\015 X11 Speedo font data diff --git a/usr.bin/file/Magdir/frame b/usr.bin/file/Magdir/frame deleted file mode 100644 index 47e4897..0000000 --- a/usr.bin/file/Magdir/frame +++ /dev/null @@ -1,36 +0,0 @@ - -#------------------------------------------------------------------------------ -# frame: file(1) magic for FrameMaker files -# -# This stuff came on a FrameMaker demo tape, most of which is -# copyright, but this file is "published" as witness the following: -# -0 string \<MakerFile FrameMaker document ->11 string 4.0 (4.0 ->11 string 3.0 (3.0 ->11 string 2.0 (2.0 ->11 string 1.0 (1.0 ->14 byte x %c) -0 string \<MIFFile FrameMaker MIF (ASCII) file ->9 string 4.0 (4.0) ->9 string 3.0 (3.0) ->9 string 2.0 (2.0) ->9 string 1.0 (1.x) -0 string \<MakerDictionary FrameMaker Dictionary text ->17 string 3.0 (3.0) ->17 string 2.0 (2.0) ->17 string 1.0 (1.x) -0 string \<MakerScreenFont FrameMaker Font file ->17 string 1.01 (%s) -0 string \<MML FrameMaker MML file -0 string \<BookFile FrameMaker Book file ->10 string 3.0 (3.0 ->10 string 2.0 (2.0 ->10 string 1.0 (1.0 ->13 byte x %c) -# XXX - this book entry should be verified, if you find one, uncomment this -#0 string \<Book\ FrameMaker Book (ASCII) file -#>6 string 3.0 (3.0) -#>6 string 2.0 (2.0) -#>6 string 1.0 (1.0) -0 string \<Maker Intermediate Print File FrameMaker IPL file diff --git a/usr.bin/file/Magdir/freebsd b/usr.bin/file/Magdir/freebsd deleted file mode 100644 index 2370c25..0000000 --- a/usr.bin/file/Magdir/freebsd +++ /dev/null @@ -1,130 +0,0 @@ - -#------------------------------------------------------------------------------ -# freebsd: file(1) magic for FreeBSD objects -# -# All new-style FreeBSD magic numbers are in host byte order (i.e., -# little-endian on x86). -# -# XXX - this comes from the file "freebsd" in a recent FreeBSD version of -# "file"; it, and the NetBSD stuff in "netbsd", appear to use different -# schemes for distinguishing between executable images, shared libraries, -# and object files. -# -# FreeBSD says: -# -# Regardless of whether it's pure, demand-paged, or none of the -# above: -# -# if the entry point is < 4096, then it's a shared library if -# the "has run-time loader information" bit is set, and is -# position-independent if the "is position-independent" bit -# is set; -# -# if the entry point is >= 4096 (or >4095, same thing), then it's -# an executable, and is dynamically-linked if the "has run-time -# loader information" bit is set. -# -# On x86, NetBSD says: -# -# If it's neither pure nor demand-paged: -# -# if it has the "has run-time loader information" bit set, it's -# a dynamically-linked executable; -# -# if it doesn't have that bit set, then: -# -# if it has the "is position-independent" bit set, it's -# position-independent; -# -# if the entry point is non-zero, it's an executable, otherwise -# it's an object file. -# -# If it's pure: -# -# if it has the "has run-time loader information" bit set, it's -# a dynamically-linked executable, otherwise it's just an -# executable. -# -# If it's demand-paged: -# -# if it has the "has run-time loader information" bit set, -# then: -# -# if the entry point is < 4096, it's a shared library; -# -# if the entry point is = 4096 or > 4096 (i.e., >= 4096), -# it's a dynamically-linked executable); -# -# if it doesn't have the "has run-time loader information" bit -# set, then it's just an executable. -# -# (On non-x86, NetBSD does much the same thing, except that it uses -# 8192 on 68K - except for "68k4k", which is presumably "68K with 4K -# pages - SPARC, and MIPS, presumably because Sun-3's and Sun-4's -# had 8K pages; dunno about MIPS.) -# -# I suspect the two will differ only in perverse and uninteresting cases -# ("shared" libraries that aren't demand-paged and whose pages probably -# won't actually be shared, executables with entry points <4096). -# -# I leave it to those more familiar with FreeBSD and NetBSD to figure out -# what the right answer is (although using ">4095", FreeBSD-style, is -# probably better than separately checking for "=4096" and ">4096", -# NetBSD-style). (The old "netbsd" file analyzed FreeBSD demand paged -# executables using the NetBSD technique.) -# -0 lelong&0377777777 041400407 FreeBSD/i386 ->20 lelong <4096 ->>3 byte&0xC0 &0x80 shared library ->>3 byte&0xC0 0x40 PIC object ->>3 byte&0xC0 0x00 object ->20 lelong >4095 ->>3 byte&0x80 0x80 dynamically linked executable ->>3 byte&0x80 0x00 executable ->16 lelong >0 not stripped - -0 lelong&0377777777 041400410 FreeBSD/i386 pure ->20 lelong <4096 ->>3 byte&0xC0 &0x80 shared library ->>3 byte&0xC0 0x40 PIC object ->>3 byte&0xC0 0x00 object ->20 lelong >4095 ->>3 byte&0x80 0x80 dynamically linked executable ->>3 byte&0x80 0x00 executable ->16 lelong >0 not stripped - -0 lelong&0377777777 041400413 FreeBSD/i386 demand paged ->20 lelong <4096 ->>3 byte&0xC0 &0x80 shared library ->>3 byte&0xC0 0x40 PIC object ->>3 byte&0xC0 0x00 object ->20 lelong >4095 ->>3 byte&0x80 0x80 dynamically linked executable ->>3 byte&0x80 0x00 executable ->16 lelong >0 not stripped - -0 lelong&0377777777 041400314 FreeBSD/i386 compact demand paged ->20 lelong <4096 ->>3 byte&0xC0 &0x80 shared library ->>3 byte&0xC0 0x40 PIC object ->>3 byte&0xC0 0x00 object ->20 lelong >4095 ->>3 byte&0x80 0x80 dynamically linked executable ->>3 byte&0x80 0x00 executable ->16 lelong >0 not stripped - -# XXX gross hack to identify core files -# cores start with a struct tss; we take advantage of the following: -# byte 7: highest byte of the kernel stack pointer, always 0xfe -# 8/9: kernel (ring 0) ss value, always 0x0010 -# 10 - 27: ring 1 and 2 ss/esp, unused, thus always 0 -# 28: low order byte of the current PTD entry, always 0 since the -# PTD is page-aligned -# -7 string \357\020\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 FreeBSD/i386 a.out core file ->1039 string >\0 from '%s' - -# /var/run/ld.so.hints -# What are you laughing about? -0 lelong 011421044151 ld.so hints file ->4 lelong >0 (version %d) diff --git a/usr.bin/file/Magdir/gzip b/usr.bin/file/Magdir/gzip deleted file mode 100644 index a19a654..0000000 --- a/usr.bin/file/Magdir/gzip +++ /dev/null @@ -1,21 +0,0 @@ -0 string \037\213 gzip compressed data ->2 byte <8 - reserved method ->2 byte 8 - deflate method ->3 byte &0x01 , ascii ->3 byte &0x02 , continuation ->3 byte &0x04 , extra field ->3 byte &0x08 , original file name ->3 byte &0x10 , comment ->3 byte &0x20 , encrypted ->4 ledate x , last modified: %s ->8 byte 2 , max compression ->8 byte 4 , max speed ->9 byte =0x00 os: MS/DOS ->9 byte =0x01 os: Amiga ->9 byte =0x02 os: VMS ->9 byte =0x03 os: Unix ->9 byte =0x05 os: Atari ->9 byte =0x06 os: OS/2 ->9 byte =0x07 os: MacOS ->9 byte =0x0A os: Tops/20 ->9 byte =0x0B os: Win/32 diff --git a/usr.bin/file/Magdir/hp b/usr.bin/file/Magdir/hp deleted file mode 100644 index e1efdbd..0000000 --- a/usr.bin/file/Magdir/hp +++ /dev/null @@ -1,228 +0,0 @@ - -#------------------------------------------------------------------------------ -# hp: file(1) magic for Hewlett Packard machines (see also "printer") -# -# XXX - somebody should figure out whether any byte order needs to be -# applied to the "TML" stuff; I'm assuming the Apollo stuff is -# big-endian as it was mostly 68K-based. -# -# I think the 500 series was the old stack-based machines, running a -# UNIX environment atop the "SUN kernel"; dunno whether it was -# big-endian or little-endian. -# -# Daniel Quinlan (quinlan@yggdrasil.com): hp200 machines are 68010 based; -# hp300 are 68020+68881 based; hp400 are also 68k. The following basic -# HP magic is useful for reference, but using "long" magic is a better -# practice in order to avoid collisions. -# -# Guy Harris (guy@netapp.com): some additions to this list came from -# HP-UX 10.0's "/usr/include/sys/unistd.h" (68030, 68040, PA-RISC 1.1, -# 1.2, and 2.0). The 1.2 and 2.0 stuff isn't in the HP-UX 10.0 -# "/etc/magic", though, except for the "archive file relocatable library" -# stuff, and the 68030 and 68040 stuff isn't there at all - are they not -# used in executables, or have they just not yet updated "/etc/magic" -# completely? -# -# 0 beshort 200 hp200 (68010) BSD binary -# 0 beshort 300 hp300 (68020+68881) BSD binary -# 0 beshort 0x20c hp200/300 HP-UX binary -# 0 beshort 0x20d hp400 (68030) HP-UX binary -# 0 beshort 0x20e hp400 (68040?) HP-UX binary -# 0 beshort 0x20b PA-RISC1.0 HP-UX binary -# 0 beshort 0x210 PA-RISC1.1 HP-UX binary -# 0 beshort 0x211 PA-RISC1.2 HP-UX binary -# 0 beshort 0x214 PA-RISC2.0 HP-UX binary - -# -# The "misc" stuff needs a byte order; the archives look suspiciously -# like the old 177545 archives (0xff65 = 0177545). -# -#### Old Apollo stuff -0 beshort 0627 Apollo m68k COFF executable ->18 beshort ^040000 not stripped ->22 beshort >0 - version %ld -0 beshort 0624 apollo a88k COFF executable ->18 beshort ^040000 not stripped ->22 beshort >0 - version %ld -0 long 01203604016 TML 0123 byte-order format -0 long 01702407010 TML 1032 byte-order format -0 long 01003405017 TML 2301 byte-order format -0 long 01602007412 TML 3210 byte-order format -#### PA-RISC -0 belong 0x02100106 PA-RISC1.1 relocatable object -0 belong 0x02100107 PA-RISC1.1 executable ->168 belong &=0x00000004 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x02100108 PA-RISC1.1 shared executable ->168 belong&0x4 0x4 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x0210010b PA-RISC1.1 demand-load executable ->168 belong&0x4 0x4 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x0210010e PA-RISC1.1 shared library ->96 belong >0 - not stripped - -0 belong 0x0210010d PA-RISC1.1 dynamic load library ->96 belong >0 - not stripped - -#### 800 -0 belong 0x020b0106 PA-RISC1.0 relocatable object - -0 belong 0x020b0107 PA-RISC1.0 executable ->168 belong&0x4 0x4 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x020b0108 PA-RISC1.0 shared executable ->168 belong&0x4 0x4 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x020b010b PA-RISC1.0 demand-load executable ->168 belong&0x4 0x4 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x020b010e PA-RISC1.0 shared library ->96 belong >0 - not stripped - -0 belong 0x020b010d PA-RISC1.0 dynamic load library ->96 belong >0 - not stripped - -0 belong 0x213c6172 archive file ->68 belong 0x020b0619 - PA-RISC1.0 relocatable library ->68 belong 0x02100619 - PA-RISC1.1 relocatable library ->68 belong 0x02110619 - PA-RISC1.2 relocatable library ->68 belong 0x02140619 - PA-RISC2.0 relocatable library - -#### 500 -0 long 0x02080106 HP s500 relocatable executable ->16 long >0 - version %ld - -0 long 0x02080107 HP s500 executable ->16 long >0 - version %ld - -0 long 0x02080108 HP s500 pure executable ->16 long >0 - version %ld - -#### 200 -0 belong 0x020c0108 HP s200 pure executable ->4 beshort >0 - version %ld ->8 belong &0x80000000 save fp regs ->8 belong &0x40000000 dynamically linked ->8 belong &0x20000000 debuggable ->36 belong >0 not stripped - -0 belong 0x020c0107 HP s200 executable ->4 beshort >0 - version %ld ->8 belong &0x80000000 save fp regs ->8 belong &0x40000000 dynamically linked ->8 belong &0x20000000 debuggable ->36 belong >0 not stripped - -0 belong 0x020c010b HP s200 demand-load executable ->4 beshort >0 - version %ld ->8 belong &0x80000000 save fp regs ->8 belong &0x40000000 dynamically linked ->8 belong &0x20000000 debuggable ->36 belong >0 not stripped - -0 belong 0x020c0106 HP s200 relocatable executable ->4 beshort >0 - version %ld ->6 beshort >0 - highwater %d ->8 belong &0x80000000 save fp regs ->8 belong &0x20000000 debuggable ->8 belong &0x10000000 PIC - -0 belong 0x020a0108 HP s200 (2.x release) pure executable ->4 beshort >0 - version %ld ->36 belong >0 not stripped - -0 belong 0x020a0107 HP s200 (2.x release) executable ->4 beshort >0 - version %ld ->36 belong >0 not stripped - -0 belong 0x020c010e HP s200 shared library ->4 beshort >0 - version %ld ->6 beshort >0 - highwater %d ->36 belong >0 not stripped - -0 belong 0x020c010d HP s200 dynamic load library ->4 beshort >0 - version %ld ->6 beshort >0 - highwater %d ->36 belong >0 not stripped - -#### MISC -0 long 0x0000ff65 HP old archive -0 long 0x020aff65 HP s200 old archive -0 long 0x020cff65 HP s200 old archive -0 long 0x0208ff65 HP s500 old archive - -0 long 0x015821a6 HP core file - -0 long 0x4da7eee8 HP-WINDOWS font ->8 byte >0 - version %ld -0 string Bitmapfile HP Bitmapfile - -0 string IMGfile CIS compimg HP Bitmapfile -# XXX - see "lif" -#0 short 0x8000 lif file -0 long 0x020c010c compiled Lisp - -0 string msgcat01 HP NLS message catalog, ->8 long >0 %d messages - -# addendum to /etc/magic with HP-48sx file-types by phk@data.fls.dk 1jan92 -0 string HPHP48- HP48 binary ->7 byte >0 - Rev %c ->8 short 0x1129 (ADR) ->8 short 0x3329 (REAL) ->8 short 0x5529 (LREAL) ->8 short 0x7729 (COMPLX) ->8 short 0x9d29 (LCOMPLX) ->8 short 0xbf29 (CHAR) ->8 short 0xe829 (ARRAY) ->8 short 0x0a2a (LNKARRAY) ->8 short 0x2c2a (STRING) ->8 short 0x4e2a (HXS) ->8 short 0x742a (LIST) ->8 short 0x962a (DIR) ->8 short 0xb82a (ALG) ->8 short 0xda2a (UNIT) ->8 short 0xfc2a (TAGGED) ->8 short 0x1e2b (GROB) ->8 short 0x402b (LIB) ->8 short 0x622b (BACKUP) ->8 short 0x882b (LIBDATA) ->8 short 0x9d2d (PROG) ->8 short 0xcc2d (CODE) ->8 short 0x482e (GNAME) ->8 short 0x6d2e (LNAME) ->8 short 0x922e (XLIB) -0 string %%HP: HP48 text ->6 string T(0) - T(0) ->6 string T(1) - T(1) ->6 string T(2) - T(2) ->6 string T(3) - T(3) ->10 string A(D) A(D) ->10 string A(R) A(R) ->10 string A(G) A(G) ->14 string F(.) F(.); ->14 string F(,) F(,); - -# hpBSD magic numbers -0 beshort 200 hp200 (68010) BSD ->2 beshort 0407 impure binary ->2 beshort 0410 read-only binary ->2 beshort 0413 demand paged binary -0 beshort 300 hp300 (68020+68881) BSD ->2 beshort 0407 impure binary ->2 beshort 0410 read-only binary ->2 beshort 0413 demand paged binary - diff --git a/usr.bin/file/Magdir/ibm370 b/usr.bin/file/Magdir/ibm370 deleted file mode 100644 index 8cd9da2..0000000 --- a/usr.bin/file/Magdir/ibm370 +++ /dev/null @@ -1,47 +0,0 @@ - -#------------------------------------------------------------------------------ -# ibm370: file(1) magic for IBM 370 and compatibles. -# -# "ibm370" said that 0x15d == 0535 was "ibm 370 pure executable". -# What the heck *is* "USS/370"? -# AIX 4.1's "/etc/magic" has -# -# 0 short 0535 370 sysV executable -# >12 long >0 not stripped -# >22 short >0 - version %d -# >30 long >0 - 5.2 format -# 0 short 0530 370 sysV pure executable -# >12 long >0 not stripped -# >22 short >0 - version %d -# >30 long >0 - 5.2 format -# -# instead of the "USS/370" versions of the same magic numbers. -# -0 beshort 0537 370 XA sysV executable ->12 belong >0 not stripped ->22 beshort >0 - version %d ->30 belong >0 - 5.2 format -0 beshort 0532 370 XA sysV pure executable ->12 belong >0 not stripped ->22 beshort >0 - version %d ->30 belong >0 - 5.2 format -0 beshort 054001 370 sysV pure executable ->12 belong >0 not stripped -0 beshort 055001 370 XA sysV pure executable ->12 belong >0 not stripped -0 beshort 056401 370 sysV executable ->12 belong >0 not stripped -0 beshort 057401 370 XA sysV executable ->12 belong >0 not stripped -0 beshort 0531 SVR2 executable (Amdahl-UTS) ->12 belong >0 not stripped ->24 belong >0 - version %ld -0 beshort 0534 SVR2 pure executable (Amdahl-UTS) ->12 belong >0 not stripped ->24 belong >0 - version %ld -0 beshort 0530 SVR2 pure executable (USS/370) ->12 belong >0 not stripped ->24 belong >0 - version %ld -0 beshort 0535 SVR2 executable (USS/370) ->12 belong >0 not stripped ->24 belong >0 - version %ld diff --git a/usr.bin/file/Magdir/ibm6000 b/usr.bin/file/Magdir/ibm6000 deleted file mode 100644 index 8e1077b..0000000 --- a/usr.bin/file/Magdir/ibm6000 +++ /dev/null @@ -1,17 +0,0 @@ - -#------------------------------------------------------------------------------ -# ibm6000: file(1) magic for RS/6000 and the RT PC. -# -0 beshort 0x01df executable (RISC System/6000 V3.1) or obj module ->12 belong >0 not stripped -# Breaks sun4 statically linked execs. -#0 beshort 0x0103 executable (RT Version 2) or obj module -#>2 byte 0x50 pure -#>28 belong >0 not stripped -#>6 beshort >0 - version %ld -0 beshort 0x0104 shared library -0 beshort 0x0105 ctab data -0 beshort 0xfe04 structured file -0 string 0xabcdef AIX message catalog -0 belong 0x000001f9 AIX compiled message catalog -0 string \<aiaff> archive diff --git a/usr.bin/file/Magdir/iff b/usr.bin/file/Magdir/iff deleted file mode 100644 index 68d1b79..0000000 --- a/usr.bin/file/Magdir/iff +++ /dev/null @@ -1,28 +0,0 @@ - -#------------------------------------------------------------------------------ -# iff: file(1) magic for Interchange File Format (see also "audio" & "images") -# -# Daniel Quinlan (quinlan@yggdrasil.com) -- IFF was designed by Electronic -# Arts for file interchange. It has also been used by Apple, SGI, and -# especially Commodore-Amiga. -# -# IFF files begin with an 8 byte FORM header, followed by a 4 character -# FORM type, which is followed by the first chunk in the FORM. - -0 string FORM IFF data -#>4 belong x \b, FORM is %d bytes long -# audio formats ->8 string AIFF \b, AIFF audio ->8 string AIFC \b, AIFF-C compressed audio ->8 string 8SVX \b, 8SVX 8-bit sampled sound voice ->8 string SAMP \b, SAMP sampled audio -# image formats ->8 string ILBMBMHD \b, ILBM interleaved image ->>20 beshort x \b, %d x ->>22 beshort x %d ->8 string RGBN \b, RGBN 12-bit RGB image ->8 string RGB8 \b, RGB8 24-bit RGB image ->8 string DR2D \b, DR2D 2-D object ->8 string TDDD \b, TDDD 3-D rendering -# other formats ->8 string FTXT \b, FTXT formatted text diff --git a/usr.bin/file/Magdir/imagen b/usr.bin/file/Magdir/imagen deleted file mode 100644 index 5fa4f6c..0000000 --- a/usr.bin/file/Magdir/imagen +++ /dev/null @@ -1,14 +0,0 @@ -# Tell file about magic for IMAGEN printer-ready files: -0 string @document( Imagen printer -# this only works if "language xxx" is first item in Imagen header. ->10 string language\ impress (imPRESS data) ->10 string language\ daisy (daisywheel text) ->10 string language\ diablo (daisywheel text) ->10 string language\ printer (line printer emulation) ->10 string language\ tektronix (Tektronix 4014 emulation) -# Add any other languages that your Imagen uses - remember -# to keep the word `text' if the file is human-readable. -# -# Now magic for IMAGEN font files... -0 string Rast RST-format raster font data ->45 string >0 face % diff --git a/usr.bin/file/Magdir/images b/usr.bin/file/Magdir/images deleted file mode 100644 index 271b169..0000000 --- a/usr.bin/file/Magdir/images +++ /dev/null @@ -1,236 +0,0 @@ - -#------------------------------------------------------------------------------ -# images: file(1) magic for image formats (see also "iff") -# -# originally from jef@helios.ee.lbl.gov (Jef Poskanzer), -# additions by janl@ifi.uio.no as well as others. Jan also suggested -# merging several one- and two-line files into here. -# -# little magic: PCX (first byte is 0x0a) -# no magic: Targa - -# PBMPLUS images -# The next byte following the magic is always whitespace. -0 string P1 PBM image text -0 string P2 PGM image text -0 string P3 PPM image text -0 string P4 PBM "rawbits" image data -0 string P5 PGM "rawbits" image data -0 string P6 PPM "rawbits" image data - -# NIFF (Navy Interchange File Format, a modification of TIFF) images -0 string IIN1 NIFF image data - -# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com) -# The second word of TIFF files is the TIFF version number, 42, which has -# never changed. The TIFF specification recommends testing for it. -0 string MM\x00\x2a TIFF image data, big-endian -0 string II\x2a\x00 TIFF image data, little-endian - -# PNG [Portable Network Graphics, or "PNG's Not GIF"] images -# (Greg Roelofs, newt@uchicago.edu) -# -# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ... -# -0 string \x89PNG PNG image data, ->4 belong !0x0d0a1a0a CORRUPTED, ->16 belong x %ld x ->20 belong x %ld, ->24 byte x %d-bit ->25 byte 0 grayscale, ->25 byte 2 \b/color RGB, ->25 byte 3 colormap, ->25 byte 4 gray+alpha, ->25 byte 6 \b/color RGBA, -#>26 byte 0 deflate/32K, ->28 byte 0 non-interlaced ->28 byte 1 interlaced - -# GIF -0 string GIF8 GIF image data ->4 string 7a \b, version 8%s, ->4 string 9a \b, version 8%s, ->6 leshort >0 %hd x ->8 leshort >0 %hd, -#>10 byte &0x80 color mapped, -#>10 byte&0x07 =0x00 2 colors -#>10 byte&0x07 =0x01 4 colors -#>10 byte&0x07 =0x02 8 colors -#>10 byte&0x07 =0x03 16 colors -#>10 byte&0x07 =0x04 32 colors -#>10 byte&0x07 =0x05 64 colors -#>10 byte&0x07 =0x06 128 colors -#>10 byte&0x07 =0x07 256 colors - -# ITC (CMU WM) raster files. It is essentially a byte-reversed Sun raster, -# 1 plane, no encoding. -0 string \361\0\100\273 CMU window manager raster image data ->4 lelong >0 %d x ->8 lelong >0 %d, ->12 lelong >0 %d-bit - -# Magick Image File Format -0 string id=ImageMagick MIFF image data - -# Artisan -0 long 1123028772 Artisan image data ->4 long 1 \b, rectangular 24-bit ->4 long 2 \b, rectangular 8-bit with colormap ->4 long 3 \b, rectangular 32-bit (24-bit with matte) - -# FIG (Facility for Interactive Generation of figures), an object-based format -0 string #FIG FIG image text ->5 string x \b, version %.3s - -# PHIGS -0 string ARF_BEGARF PHIGS clear text archive -0 string @(#)SunPHIGS SunPHIGS -# version number follows, in the form m.n ->40 string SunBin binary ->32 string archive archive - -# GKS (Graphics Kernel System) -0 string GKSM GKS Metafile ->24 string SunGKS \b, SunGKS - -# CGM image files -0 string BEGMF clear text Computer Graphics Metafile -# XXX - questionable magic -0 beshort&0xffe0 0x0020 binary Computer Graphics Metafile -0 beshort 0x3020 character Computer Graphics Metafile - -# MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de) -0 string yz MGR bitmap, modern format, 8-bit aligned -0 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned -0 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned -0 string yx MGR bitmap, modern format, squeezed - -# Fuzzy Bitmap (FBM) images -0 string %bitmap\0 FBM image data ->30 long 0x31 \b, mono ->30 long 0x33 \b, color - -# facsimile data -1 string PC\ Research,\ Inc group 3 fax data ->29 byte 0 \b, normal resolution (204x98 DPI) ->29 byte 1 \b, fine resolution (204x196 DPI) - -# JPEG images -# SunOS 5.5.1 had -# -# 0 string \377\330\377\340 JPEG file -# 0 string \377\330\377\356 JPG file -# -# both of which turn into "JPEG image data" here. -# -0 beshort 0xffd8 JPEG image data ->6 string JFIF \b, JFIF standard -# HSI is Handmade Software's proprietary JPEG encoding scheme -0 string hsi1 JPEG image data, HSI proprietary - -# PC bitmaps (OS/2, Windoze BMP files) (Greg Roelofs, newt@uchicago.edu) -0 string BM PC bitmap data ->14 leshort 12 \b, OS/2 1.x format ->>18 leshort x \b, %d x ->>20 leshort x %d ->14 leshort 64 \b, OS/2 2.x format ->>18 leshort x \b, %d x ->>20 leshort x %d ->14 leshort 40 \b, Windows 3.x format ->>18 lelong x \b, %d x ->>22 lelong x %d x ->>28 leshort x %d -0 string IC PC icon data -0 string PI PC pointer image data -0 string CI PC color icon data -0 string CP PC color pointer image data -# Conflicts with other entries [BABYL] -#0 string BA PC bitmap array data - -# XPM icons (Greg Roelofs, newt@uchicago.edu) -# note possible collision with C/REXX entry in c-lang; currently commented out -0 string /*\ XPM\ */ X pixmap image text - -# Utah Raster Toolkit RLE images (janl@ifi.uio.no) -0 leshort 0xcc52 RLE image data, ->6 leshort x %d x ->8 leshort x %d ->2 leshort >0 \b, lower left corner: %d ->4 leshort >0 \b, lower right corner: %d ->10 byte&0x1 =0x1 \b, clear first ->10 byte&0x2 =0x2 \b, no background ->10 byte&0x4 =0x4 \b, alpha channel ->10 byte&0x8 =0x8 \b, comment ->11 byte >0 \b, %d color channels ->12 byte >0 \b, %d bits per pixel ->13 byte >0 \b, %d color map channels - -# image file format (Robert Potter, potter@cs.rochester.edu) -0 string Imagefile\ version- iff image data -# this adds the whole header (inc. version number), informative but longish ->10 string >\0 %s - -# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) -0 belong 0x59a66a95 Sun raster image data ->4 belong >0 \b, %d x ->8 belong >0 %d, ->12 belong >0 %d-bit, -#>16 belong >0 %d bytes long, ->20 belong 0 old format, -#>20 belong 1 standard, ->20 belong 2 compressed, ->20 belong 3 RGB, ->20 belong 4 TIFF, ->20 belong 5 IFF, ->20 belong 0xffff reserved for testing, ->24 belong 0 no colormap ->24 belong 1 RGB colormap ->24 belong 2 raw colormap -#>28 belong >0 colormap is %d bytes long - -# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) -# file://sgi.com/graphics/SGIIMAGESPEC -0 beshort 474 SGI image data -#>2 byte 0 \b, verbatim ->2 byte 1 \b, RLE -#>3 byte 1 \b, normal precision ->3 byte 2 \b, high precision ->4 beshort x \b, %d-D ->6 beshort x \b, %d x ->8 beshort x %d ->10 beshort x \b, %d channel ->10 beshort !1 \bs ->80 string >0 \b, "%s" - -0 string IT01 FIT image data ->4 belong x \b, %d x ->8 belong x %d x ->12 belong x %d -# -0 string IT02 FIT image data ->4 belong x \b, %d x ->8 belong x %d x ->12 belong x %d -# -2048 string PCD_IPI Kodak Photo CD image pack file -0 string PCD_OPA Kodak Photo CD overview pack file - -# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> -# FITS is the Flexible Image Transport System, the de facto standard for -# data and image transfer, storage, etc., for the astronomical community. -# (FITS floating point formats are big-endian.) -0 string SIMPLE\ \ = FITS image data ->109 string 8 \b, 8-bit, character or unsigned binary integer ->108 string 16 \b, 16-bit, two's complement binary integer ->107 string \ 32 \b, 32-bit, two's complement binary integer ->107 string -32 \b, 32-bit, floating point, single precision ->107 string -64 \b, 64-bit, floating point, double precision - -# other images -0 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file -0 string !! Bennet Yee's "face" format - -# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image -# stuff. -# -0 beshort 0x1010 PEX Binary Archive diff --git a/usr.bin/file/Magdir/intel b/usr.bin/file/Magdir/intel deleted file mode 100644 index d450e26..0000000 --- a/usr.bin/file/Magdir/intel +++ /dev/null @@ -1,35 +0,0 @@ - -#------------------------------------------------------------------------------ -# intel: file(1) magic for x86 Unix -# -# Various flavors of x86 UNIX executable/object (other than Xenix, which -# is in "microsoft"). DOS is in "msdos"; the ambitious soul can do -# Windows as well. -# -# Windows NT belongs elsewhere, as you need x86 and MIPS and Alpha and -# whatever comes next (HP-PA Hummingbird?). OS/2 may also go elsewhere -# as well, if, as, and when IBM makes it portable. -# -# The `versions' should be un-commented if they work for you. -# (Was the problem just one of endianness?) -# -0 leshort 0502 basic-16 executable ->12 lelong >0 not stripped -#>22 leshort >0 - version %ld -0 leshort 0503 basic-16 executable (TV) ->12 lelong >0 not stripped -#>22 leshort >0 - version %ld -0 leshort 0510 x86 executable ->12 lelong >0 not stripped -0 leshort 0511 x86 executable (TV) ->12 lelong >0 not stripped -0 leshort =0512 iAPX 286 executable small model (COFF) ->12 lelong >0 not stripped -#>22 leshort >0 - version %ld -0 leshort =0522 iAPX 286 executable large model (COFF) ->12 lelong >0 not stripped -#>22 leshort >0 - version %ld -# SGI labeled the next entry as "iAPX 386 executable" --Dan Quinlan -0 leshort =0514 80386 COFF executable ->12 lelong >0 not stripped ->22 leshort >0 - version %ld diff --git a/usr.bin/file/Magdir/interleaf b/usr.bin/file/Magdir/interleaf deleted file mode 100644 index 3eea3cf..0000000 --- a/usr.bin/file/Magdir/interleaf +++ /dev/null @@ -1,8 +0,0 @@ - -#------------------------------------------------------------------------------ -# interleaf: file(1) magic for InterLeaf TPS: -# -0 string =\210OPS Interleaf saved data -0 string =<!OPS Interleaf document text ->5 string ,\ Version\ = \b, version ->>17 string >\0 %.3s diff --git a/usr.bin/file/Magdir/iris b/usr.bin/file/Magdir/iris deleted file mode 100644 index 952a5f1..0000000 --- a/usr.bin/file/Magdir/iris +++ /dev/null @@ -1,57 +0,0 @@ -# -# magic.iris: Magic for mips from an iris4d -# -# Dunno what byte-order munging is needed; all of SGI's *current* -# machines and OSes run in big-endian mode on the MIPS machines, -# as far as I know, but they do have the MIPSEB and MIPSEL stuff -# here.... -# -0 short 0x0160 mipseb ->20 short 0407 executable ->20 short 0410 pure ->20 short 0413 demand paged ->8 long >0 not stripped ->8 long 0 stripped ->22 byte >0 - version %ld. ->23 byte >0 %ld -0 short 0x0162 mipsel ->20 short 0407 executable ->20 short 0410 pure ->20 short 0413 demand paged ->8 long >0 not stripped ->8 long 0 stripped ->23 byte >0 - version %ld. ->22 byte >0 %ld -0 short 0x6001 swapped mipseb ->20 short 03401 executable ->20 short 04001 pure ->20 short 05401 demand paged ->8 long >0 not stripped ->8 long 0 stripped ->22 byte >0 - version %ld. ->23 byte >0 %ld -0 short 0x6201 swapped mipsel ->20 short 03401 executable ->20 short 04001 pure ->20 short 05401 demand paged ->8 long >0 not stripped ->8 long 0 stripped ->22 byte >0 - version %ld. ->23 byte >0 %ld -0 short 0x180 mipseb ucode -0 short 0x182 mipsel ucode -# -# IRIX core format version 1 (from /usr/include/core.out.h) -0 long 0xdeadadb0 IRIX core dump ->4 long 1 of ->16 string >\0 '%s' -# -# Archives - This handles archive subtypes -# -0 string !<arch>\n__________E MIPS archive ->20 string U with mipsucode members ->21 string L with mipsel members ->21 string B with mipseb members ->19 string L and a EL hash table ->19 string B and a EB hash table ->22 string X -- out of date diff --git a/usr.bin/file/Magdir/island b/usr.bin/file/Magdir/island deleted file mode 100644 index 9903cdd..0000000 --- a/usr.bin/file/Magdir/island +++ /dev/null @@ -1,9 +0,0 @@ - -#------------------------------------------------------------------------------ -# island: file(1) magic for IslandWite/IslandDraw, from SunOS 5.5.1 -# "/etc/magic": -# From: guy@netapp.com (Guy Harris) -# -4 string pgscriptver IslandWrite document -13 string DrawFile IslandDraw document - diff --git a/usr.bin/file/Magdir/ispell b/usr.bin/file/Magdir/ispell deleted file mode 100644 index 3c6bcdc..0000000 --- a/usr.bin/file/Magdir/ispell +++ /dev/null @@ -1,54 +0,0 @@ - -#------------------------------------------------------------------------------ -# ispell: file(1) magic for ispell -# -# Ispell 3.0 has a magic of 0x9601 and ispell 3.1 has 0x9602. This magic -# will match 0x9600 through 0x9603 in *both* little endian and big endian. -# (No other current magic entries collide.) -# -# Updated by Daniel Quinlan (quinlan@yggdrasil.com) -# -0 leshort&0xFFFC 0x9600 little endian ispell ->0 byte 0 hash file (?), ->0 byte 1 3.0 hash file, ->0 byte 2 3.1 hash file, ->0 byte 3 hash file (?), ->2 leshort 0x00 8-bit, no capitalization, 26 flags ->2 leshort 0x01 7-bit, no capitalization, 26 flags ->2 leshort 0x02 8-bit, capitalization, 26 flags ->2 leshort 0x03 7-bit, capitalization, 26 flags ->2 leshort 0x04 8-bit, no capitalization, 52 flags ->2 leshort 0x05 7-bit, no capitalization, 52 flags ->2 leshort 0x06 8-bit, capitalization, 52 flags ->2 leshort 0x07 7-bit, capitalization, 52 flags ->2 leshort 0x08 8-bit, no capitalization, 128 flags ->2 leshort 0x09 7-bit, no capitalization, 128 flags ->2 leshort 0x0A 8-bit, capitalization, 128 flags ->2 leshort 0x0B 7-bit, capitalization, 128 flags ->2 leshort 0x0C 8-bit, no capitalization, 256 flags ->2 leshort 0x0D 7-bit, no capitalization, 256 flags ->2 leshort 0x0E 8-bit, capitalization, 256 flags ->2 leshort 0x0F 7-bit, capitalization, 256 flags ->4 leshort >0 and %d string characters -0 beshort&0xFFFC 0x9600 big endian ispell ->1 byte 0 hash file (?), ->1 byte 1 3.0 hash file, ->1 byte 2 3.1 hash file, ->1 byte 3 hash file (?), ->2 beshort 0x00 8-bit, no capitalization, 26 flags ->2 beshort 0x01 7-bit, no capitalization, 26 flags ->2 beshort 0x02 8-bit, capitalization, 26 flags ->2 beshort 0x03 7-bit, capitalization, 26 flags ->2 beshort 0x04 8-bit, no capitalization, 52 flags ->2 beshort 0x05 7-bit, no capitalization, 52 flags ->2 beshort 0x06 8-bit, capitalization, 52 flags ->2 beshort 0x07 7-bit, capitalization, 52 flags ->2 beshort 0x08 8-bit, no capitalization, 128 flags ->2 beshort 0x09 7-bit, no capitalization, 128 flags ->2 beshort 0x0A 8-bit, capitalization, 128 flags ->2 beshort 0x0B 7-bit, capitalization, 128 flags ->2 beshort 0x0C 8-bit, no capitalization, 256 flags ->2 beshort 0x0D 7-bit, no capitalization, 256 flags ->2 beshort 0x0E 8-bit, capitalization, 256 flags ->2 beshort 0x0F 7-bit, capitalization, 256 flags ->4 beshort >0 and %d string characters diff --git a/usr.bin/file/Magdir/java b/usr.bin/file/Magdir/java deleted file mode 100644 index 51bbccc..0000000 --- a/usr.bin/file/Magdir/java +++ /dev/null @@ -1,5 +0,0 @@ -#------------------------------------------------------------ -# Java ByteCode -# From Larry Schwimmer (schwim@cs.stanford.edu) -0 belong 0xcafebabe ->4 belong 0x0003002d Java bytecode diff --git a/usr.bin/file/Magdir/karma b/usr.bin/file/Magdir/karma deleted file mode 100644 index e256abf..0000000 --- a/usr.bin/file/Magdir/karma +++ /dev/null @@ -1,8 +0,0 @@ - -#------------------------------------------------------------------------------ -# karma: file(1) magic for Karma data files -# -# From <rgooch@atnf.csiro.au> - -0 string KarmaRHD Version Karma Data Structure Version ->16 long x %lu diff --git a/usr.bin/file/Magdir/lex b/usr.bin/file/Magdir/lex deleted file mode 100644 index 7b6d0f7..0000000 --- a/usr.bin/file/Magdir/lex +++ /dev/null @@ -1,11 +0,0 @@ - -#------------------------------------------------------------------------------ -# lex: file(1) magic for lex -# -# derived empirically, your offsets may vary! -53 string yyprevious C program text (from lex) ->3 string >\0 for %s -# C program text from GNU flex, from Daniel Quinlan <quinlan@yggdrasil.com> -21 string generated\ by\ flex C program text (from flex) -# lex description file, from Daniel Quinlan <quinlan@yggdrasil.com> -0 string %{ lex description text diff --git a/usr.bin/file/Magdir/lif b/usr.bin/file/Magdir/lif deleted file mode 100644 index f6d7901..0000000 --- a/usr.bin/file/Magdir/lif +++ /dev/null @@ -1,7 +0,0 @@ - -#------------------------------------------------------------------------------ -# lif: file(1) magic for lif -# -# XXX - byte order? (Probably beshort, Daniel Quinlan <quinlan@yggdrasil.com>) -# -0 short 0x8000 lif file diff --git a/usr.bin/file/Magdir/linux b/usr.bin/file/Magdir/linux deleted file mode 100644 index 75a2a2b..0000000 --- a/usr.bin/file/Magdir/linux +++ /dev/null @@ -1,73 +0,0 @@ - -#------------------------------------------------------------------------------ -# linux: file(1) magic for Linux files -# -# Values for Linux/i386 binaries, from Daniel Quinlan <quinlan@yggdrasil.com> -# The following basic Linux magic is useful for reference, but using -# "long" magic is a better practice in order to avoid collisions. -# -# 2 leshort 100 Linux/i386 -# >0 leshort 0407 impure executable (OMAGIC) -# >0 leshort 0410 pure executable (NMAGIC) -# >0 leshort 0413 demand-paged executable (ZMAGIC) -# >0 leshort 0314 demand-paged executable (QMAGIC) -# -0 lelong 0x00640107 Linux/i386 impure executable (OMAGIC) ->16 lelong 0 \b, stripped -0 lelong 0x00640108 Linux/i386 pure executable (NMAGIC) ->16 lelong 0 \b, stripped -0 lelong 0x0064010b Linux/i386 demand-paged executable (ZMAGIC) ->16 lelong 0 \b, stripped -0 lelong 0x006400cc Linux/i386 demand-paged executable (QMAGIC) ->16 lelong 0 \b, stripped -# -0 string \007\001\000 Linux/i386 object file ->20 lelong >0x1020 \b, DLL library -# message catalogs, from Mitchum DSouza <m.dsouza@mrc-apu.cam.ac.uk> -0 string *nazgul* Linux compiled message catalog ->8 lelong >0 \b, version %ld -# core dump file, from Bill Reynolds <bill@goshawk.lanl.gov> -216 lelong 0421 Linux/i386 core file ->220 string >\0 of '%s' ->200 lelong >0 (signal %d) -# -# LILO boot/chain loaders, from Daniel Quinlan <quinlan@yggdrasil.com> -# this can be overridden by the DOS executable (COM) entry -2 string LILO Linux/i386 LILO boot/chain loader -# -# Debian Packages, from Peter Tobias <tobias@server.et-inf.fho-emden.de> -0 string 0.9 ->8 byte 0x0a Debian Binary Package ->>3 byte >0 \b, created by dpkg 0.9%c ->>4 byte >0 pl%c -# PSF fonts, from H. Peter Anvin <hpa@yggdrasil.com> -0 leshort 0x0436 Linux/i386 PC Screen Font data, ->2 byte 0 256 characters, no directory, ->2 byte 1 512 characters, no directory, ->2 byte 2 256 characters, Unicode directory, ->2 byte 3 512 characters, Unicode directory, ->3 byte >0 8x%d -# Linux swap file, from Daniel Quinlan <quinlan@yggdrasil.com> -4086 string SWAP-SPACE Linux/i386 swap file -# ECOFF magic for OSF/1 and Linux (only tested under Linux though) -# -# from Erik Troan (ewt@redhat.com) examining od dumps, so this -# could be wrong -# updated by David Mosberger (davidm@azstarnet.com) based on -# GNU BFD and MIPS info found below. -# -0 leshort 0x0183 ECOFF alpha ->24 leshort 0407 executable ->24 leshort 0410 pure ->24 leshort 0413 demand paged ->8 long >0 not stripped ->8 long 0 stripped ->23 leshort >0 - version %ld. -# linux Kernel images version 1.3.80 - ? -# from Axel Kohlmeyer <akohlmey@rincewind.chemie.uni-ulm.de> -0 belong 0xb8c0078e Linux/x86 kernel image, ->0x048c byte 0x31 ->>0x048c string x version %s ->0x0493 byte 0x31 ->>0x0493 string x version %s -# diff --git a/usr.bin/file/Magdir/lisp b/usr.bin/file/Magdir/lisp deleted file mode 100644 index ac4ba77..0000000 --- a/usr.bin/file/Magdir/lisp +++ /dev/null @@ -1,10 +0,0 @@ - -#------------------------------------------------------------------------------ -# lisp: file(1) magic for lisp programs -# -# various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com) -0 string ;; Lisp/Scheme program text -# Emacs 18 - this is always correct, but not very magical. -0 string \012( byte-compiled Emacs-Lisp program data -# Emacs 19 -0 string ;ELC\023\000\000\000 byte-compiled Emacs-Lisp program data diff --git a/usr.bin/file/Magdir/mach b/usr.bin/file/Magdir/mach deleted file mode 100644 index 308325e..0000000 --- a/usr.bin/file/Magdir/mach +++ /dev/null @@ -1,38 +0,0 @@ -#------------------------------------------------------------------------------ -# mach file description -# -0 belong 0xcafebabe mach-o fat file ->4 belong 1 with 1 architecture ->4 belong >1 ->>4 belong x with %ld architectures -# -0 belong 0xfeedface mach-o ->12 belong 1 object ->12 belong 2 executable ->12 belong 3 shared library ->12 belong 4 core ->12 belong 5 preload executable ->12 belong >5 ->>12 belong x filetype=%ld ->4 belong <0 ->>4 belong x architecture=%ld ->4 belong 1 vax ->4 belong 2 romp ->4 belong 3 architecture=3 ->4 belong 4 ns32032 ->4 belong 5 ns32332 ->4 belong 6 for m68k architecture ->4 belong 7 i386 ->4 belong 8 mips ->4 belong 9 ns32532 ->4 belong 10 architecture=10 ->4 belong 11 hp pa-risc ->4 belong 12 acorn ->4 belong 13 m88k ->4 belong 14 sparc ->4 belong 15 i860-big ->4 belong 16 i860 ->4 belong 17 rs6000 ->4 belong 18 powerPC ->4 belong >18 ->>4 belong x architecture=%ld diff --git a/usr.bin/file/Magdir/magic b/usr.bin/file/Magdir/magic deleted file mode 100644 index 4a639c6..0000000 --- a/usr.bin/file/Magdir/magic +++ /dev/null @@ -1,5 +0,0 @@ - -#------------------------------------------------------------------------------ -# magic: file(1) magic for magic files -# -0 string #\ Magic magic text file for file(1) cmd diff --git a/usr.bin/file/Magdir/mail.news b/usr.bin/file/Magdir/mail.news deleted file mode 100644 index bd3fd2d..0000000 --- a/usr.bin/file/Magdir/mail.news +++ /dev/null @@ -1,21 +0,0 @@ - -#------------------------------------------------------------------------------ -# mail.news: file(1) magic for mail and news -# -# Unfortunately, saved netnews also has From line added in some news software. -#0 string From mail text -# There are tests to ascmagic.c to cope with mail and news. -0 string Relay-Version: old news text -0 string #!\ rnews batched news text -0 string N#!\ rnews mailed, batched news text -0 string Forward\ to mail forwarding text -0 string Pipe\ to mail piping text -0 string Return-Path: smtp mail text -0 string Path: news text -0 string Xref: news text -0 string From: news or mail text -0 string Article saved news text -0 string BABYL Emacs RMAIL text -0 string Received: RFC 822 mail text -0 string MIME-Version: MIME entity text -0 string Content- MIME entity text diff --git a/usr.bin/file/Magdir/microsoft b/usr.bin/file/Magdir/microsoft deleted file mode 100644 index 74d1daf..0000000 --- a/usr.bin/file/Magdir/microsoft +++ /dev/null @@ -1,72 +0,0 @@ - -#------------------------------------------------------------------------------ -# microsoft: file(1) magic for Microsoft Xenix -# -# "Middle model" stuff, and "Xenix 8086 relocatable or 80286 small -# model" lifted from "magic.xenix", with comment "derived empirically; -# treat as folklore until proven" -# -# "small model", "large model", "huge model" stuff lifted from XXX -# -# XXX - "x.out" collides with PDP-11 archives -# -0 string core core file (Xenix) -0 byte 0x80 8086 relocatable (Microsoft) -0 leshort 0xff65 x.out ->2 string __.SYMDEF randomized ->0 byte x archive -0 leshort 0x206 Microsoft a.out ->8 leshort 1 Middle model ->0x1e leshort &0x10 overlay ->0x1e leshort &0x2 separate ->0x1e leshort &0x4 pure ->0x1e leshort &0x800 segmented ->0x1e leshort &0x400 standalone ->0x1e leshort &0x8 fixed-stack ->0x1c byte &0x80 byte-swapped ->0x1c byte &0x40 word-swapped ->0x10 lelong >0 not-stripped ->0x1e leshort ^0xc000 pre-SysV ->0x1e leshort &0x4000 V2.3 ->0x1e leshort &0x8000 V3.0 ->0x1c byte &0x4 86 ->0x1c byte &0xb 186 ->0x1c byte &0x9 286 ->0x1c byte &0xa 386 ->0x1f byte <0x040 small model ->0x1f byte =0x048 large model ->0x1f byte =0x049 huge model ->0x1e leshort &0x1 executable ->0x1e leshort ^0x1 object file ->0x1e leshort &0x40 Large Text ->0x1e leshort &0x20 Large Data ->0x1e leshort &0x120 Huge Objects Enabled ->0x10 lelong >0 not stripped - -0 leshort 0x140 old Microsoft 8086 x.out ->0x3 byte &0x4 separate ->0x3 byte &0x2 pure ->0 byte &0x1 executable ->0 byte ^0x1 relocatable ->0x14 lelong >0 not stripped - -0 lelong 0x206 b.out ->0x1e leshort &0x10 overlay ->0x1e leshort &0x2 separate ->0x1e leshort &0x4 pure ->0x1e leshort &0x800 segmented ->0x1e leshort &0x400 standalone ->0x1e leshort &0x1 executable ->0x1e leshort ^0x1 object file ->0x1e leshort &0x4000 V2.3 ->0x1e leshort &0x8000 V3.0 ->0x1c byte &0x4 86 ->0x1c byte &0xb 186 ->0x1c byte &0x9 286 ->0x1c byte &0x29 286 ->0x1c byte &0xa 386 ->0x1e leshort &0x4 Large Text ->0x1e leshort &0x2 Large Data ->0x1e leshort &0x102 Huge Objects Enabled - -0 leshort 0x580 XENIX 8086 relocatable or 80286 small model diff --git a/usr.bin/file/Magdir/mips b/usr.bin/file/Magdir/mips deleted file mode 100644 index ae17cbd..0000000 --- a/usr.bin/file/Magdir/mips +++ /dev/null @@ -1,8 +0,0 @@ -# -# RISC MIPS decstation -# Should this be "leshort", given that DEC ran the DECstations in -# little-endian mode? -# -# Where is the non-SGI, non-DEC MIPS stuff? -# -0 short 0x6201 MIPS executable diff --git a/usr.bin/file/Magdir/mirage b/usr.bin/file/Magdir/mirage deleted file mode 100644 index 73c3747..0000000 --- a/usr.bin/file/Magdir/mirage +++ /dev/null @@ -1,7 +0,0 @@ - -#------------------------------------------------------------------------------ -# mirage: file(1) magic for Mirage executables -# -# XXX - byte order? -# -0 long 31415 Mirage Assembler m.out executable diff --git a/usr.bin/file/Magdir/mkid b/usr.bin/file/Magdir/mkid deleted file mode 100644 index dfb2d93..0000000 --- a/usr.bin/file/Magdir/mkid +++ /dev/null @@ -1,10 +0,0 @@ - -#------------------------------------------------------------------------------ -# mkid: file(1) magic for mkid(1) databases -# -# ID is the binary tags database produced by mkid(1). -# -# XXX - byte order? -# -0 string \311\304 ID tags data ->2 short >0 version %d diff --git a/usr.bin/file/Magdir/mmdf b/usr.bin/file/Magdir/mmdf deleted file mode 100644 index 72cd9f3..0000000 --- a/usr.bin/file/Magdir/mmdf +++ /dev/null @@ -1,5 +0,0 @@ - -#------------------------------------------------------------------------------ -# mmdf: file(1) magic for MMDF mail files -# -0 string \001\001\001\001 MMDF mailbox diff --git a/usr.bin/file/Magdir/motorola b/usr.bin/file/Magdir/motorola deleted file mode 100644 index efed159..0000000 --- a/usr.bin/file/Magdir/motorola +++ /dev/null @@ -1,32 +0,0 @@ - -#------------------------------------------------------------------------------ -# motorola: file(1) magic for Motorola 68K and 88K binaries -# -# 68K -# -0 beshort 0520 mc68k COFF ->18 beshort ^00000020 object ->18 beshort &00000020 executable ->12 belong >0 not stripped ->168 string .lowmem Apple toolbox ->20 beshort 0407 (impure) ->20 beshort 0410 (pure) ->20 beshort 0413 (demand paged) ->20 beshort 0421 (standalone) -0 beshort 0521 mc68k executable (shared) ->12 belong >0 not stripped -0 beshort 0522 mc68k executable (shared demand paged) ->12 belong >0 not stripped -# -# Motorola/UniSoft 68K Binary Compatibility Standard (BCS) -# -0 beshort 0554 68K BCS executable -# -# 88K -# -# Motorola/88Open BCS -# -0 beshort 0555 88K BCS executable -# -# Motorola S-Records, from Gerd Truschinski <gt@freebsd.first.gmd.de> -0 string S0 Motorola S-Record; binary data in text format diff --git a/usr.bin/file/Magdir/ms-dos b/usr.bin/file/Magdir/ms-dos deleted file mode 100644 index db2c03e..0000000 --- a/usr.bin/file/Magdir/ms-dos +++ /dev/null @@ -1,73 +0,0 @@ - -#------------------------------------------------------------------------------ -# msdos: file(1) magic for MS-DOS files -# - -# .BAT files (Daniel Quinlan, quinlan@yggdrasil.com) -0 string @echo\ off MS-DOS batch file text - -# .EXE formats (Greg Roelofs, newt@uchicago.edu) -# -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 deleted file mode 100644 index 987c94e..0000000 --- a/usr.bin/file/Magdir/ncr +++ /dev/null @@ -1,48 +0,0 @@ - -#------------------------------------------------------------------------------ -# ncr: file(1) magic for NCR Tower objects -# -# contributed by -# Michael R. Wayne *** TMC & Associates *** INTERNET: wayne@ford-vax.arpa -# uucp: {philabs | pyramid} !fmsrl7!wayne OR wayne@fmsrl7.UUCP -# -0 beshort 000610 Tower/XP rel 2 object ->12 belong >0 not stripped ->20 beshort 0407 executable ->20 beshort 0410 pure executable ->22 beshort >0 - version %ld -0 beshort 000615 Tower/XP rel 2 object ->12 belong >0 not stripped ->20 beshort 0407 executable ->20 beshort 0410 pure executable ->22 beshort >0 - version %ld -0 beshort 000620 Tower/XP rel 3 object ->12 belong >0 not stripped ->20 beshort 0407 executable ->20 beshort 0410 pure executable ->22 beshort >0 - version %ld -0 beshort 000625 Tower/XP rel 3 object ->12 belong >0 not stripped ->20 beshort 0407 executable ->20 beshort 0410 pure executable ->22 beshort >0 - version %ld -0 beshort 000630 Tower32/600/400 68020 object ->12 belong >0 not stripped ->20 beshort 0407 executable ->20 beshort 0410 pure executable ->22 beshort >0 - version %ld -0 beshort 000640 Tower32/800 68020 ->18 beshort &020000 w/68881 object ->18 beshort &040000 compatible object ->18 beshort &~060000 object ->20 beshort 0407 executable ->20 beshort 0413 pure executable ->12 belong >0 not stripped ->22 beshort >0 - version %ld -0 beshort 000645 Tower32/800 68010 ->18 beshort &040000 compatible object ->18 beshort &~060000 object ->20 beshort 0407 executable ->20 beshort 0413 pure executable ->12 belong >0 not stripped ->22 beshort >0 - version %ld diff --git a/usr.bin/file/Magdir/netbsd b/usr.bin/file/Magdir/netbsd deleted file mode 100644 index 7d92ef5..0000000 --- a/usr.bin/file/Magdir/netbsd +++ /dev/null @@ -1,209 +0,0 @@ - -#------------------------------------------------------------------------------ -# netbsd: file(1) magic for NetBSD objects -# -# All new-style magic numbers are in network byte order. -# - -0 lelong 000000407 NetBSD little-endian object file ->16 lelong >0 not stripped -0 belong 000000407 NetBSD big-endian object file ->16 belong >0 not stripped - -0 belong&0377777777 041400413 NetBSD/i386 demand paged ->0 byte &0x80 ->>20 lelong <4096 shared library ->>20 lelong =4096 dynamically linked executable ->>20 lelong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 041400410 NetBSD/i386 pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 041400407 NetBSD/i386 ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 lelong !0 executable ->>20 lelong =0 object file ->16 lelong >0 not stripped -0 belong&0377777777 041400507 NetBSD/i386 core ->12 string >\0 from '%s' - -0 belong&0377777777 041600413 NetBSD/m68k demand paged ->0 byte &0x80 ->>20 belong <8192 shared library ->>20 belong =8192 dynamically linked executable ->>20 belong >8192 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&0377777777 041600410 NetBSD/m68k pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&0377777777 041600407 NetBSD/m68k ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 belong !0 executable ->>20 belong =0 object file ->16 belong >0 not stripped -0 belong&0377777777 041600507 NetBSD/m68k core ->12 string >\0 from '%s' - -0 belong&0377777777 042000413 NetBSD/m68k4k demand paged ->0 byte &0x80 ->>20 belong <4096 shared library ->>20 belong =4096 dynamically linked executable ->>20 belong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&0377777777 042000410 NetBSD/m68k4k pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&0377777777 042000407 NetBSD/m68k4k ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 belong !0 executable ->>20 belong =0 object file ->16 belong >0 not stripped -0 belong&0377777777 042000507 NetBSD/m68k4k core ->12 string >\0 from '%s' - -0 belong&0377777777 042200413 NetBSD/ns32532 demand paged ->0 byte &0x80 ->>20 lelong <4096 shared library ->>20 lelong =4096 dynamically linked executable ->>20 lelong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 042200410 NetBSD/ns32532 pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 042200407 NetBSD/ns32532 ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 lelong !0 executable ->>20 lelong =0 object file ->16 lelong >0 not stripped -0 belong&0377777777 042200507 NetBSD/ns32532 core ->12 string >\0 from '%s' - -0 belong&0377777777 042400413 NetBSD/sparc demand paged ->0 byte &0x80 ->>20 belong <8192 shared library ->>20 belong =8192 dynamically linked executable ->>20 belong >8192 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&0377777777 042400410 NetBSD/sparc pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&0377777777 042400407 NetBSD/sparc ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 belong !0 executable ->>20 belong =0 object file ->16 belong >0 not stripped -0 belong&0377777777 042400507 NetBSD/sparc core ->12 string >\0 from '%s' - -0 belong&0377777777 042600413 NetBSD/pmax demand paged ->0 byte &0x80 ->>20 lelong <4096 shared library ->>20 lelong =4096 dynamically linked executable ->>20 lelong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 042600410 NetBSD/pmax pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 042600407 NetBSD/pmax ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 lelong !0 executable ->>20 lelong =0 object file ->16 lelong >0 not stripped -0 belong&0377777777 042600507 NetBSD/pmax core ->12 string >\0 from '%s' - -0 belong&0377777777 043000413 NetBSD/vax demand paged ->0 byte &0x80 ->>20 lelong <4096 shared library ->>20 lelong =4096 dynamically linked executable ->>20 lelong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 043000410 NetBSD/vax pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 043000407 NetBSD/vax ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 lelong !0 executable ->>20 lelong =0 object file ->16 lelong >0 not stripped -0 belong&0377777777 043000507 NetBSD/vax core ->12 string >\0 from '%s' - -# NetBSD/alpha does not support (and has never supported) a.out objects, -# so no rules are provided for them. NetBSD/alpha ELF objects are -# dealt with in "elf". -0 leshort 0x00070185 ECOFF NetBSD/alpha binary ->10 leshort 0x0001 not stripped ->10 leshort 0x0000 stripped -0 belong&0377777777 043200507 NetBSD/alpha core ->12 string >\0 from '%s' - -0 belong&0377777777 043400413 NetBSD/mips demand paged ->0 byte &0x80 ->>20 belong <8192 shared library ->>20 belong =8192 dynamically linked executable ->>20 belong >8192 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&0377777777 043400410 NetBSD/mips pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&0377777777 043400407 NetBSD/mips ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 belong !0 executable ->>20 belong =0 object file ->16 belong >0 not stripped -0 belong&0377777777 043400507 NetBSD/mips core ->12 string >\0 from '%s' - -0 belong&0377777777 043600413 NetBSD/arm32 demand paged ->0 byte &0x80 ->>20 lelong <8192 shared library ->>20 lelong =8192 dynamically linked executable ->>20 lelong >8192 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 043600410 NetBSD/arm32 pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 043600407 NetBSD/arm32 ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 lelong !0 executable ->>20 lelong =0 object file ->16 lelong >0 not stripped -0 belong&0377777777 043600507 NetBSD/arm32 core ->12 string >\0 from '%s' diff --git a/usr.bin/file/Magdir/news b/usr.bin/file/Magdir/news deleted file mode 100644 index 0ac4fa2..0000000 --- a/usr.bin/file/Magdir/news +++ /dev/null @@ -1,12 +0,0 @@ - -#------------------------------------------------------------------------------ -# news: file(1) magic for SunOS NeWS fonts (not "news" as in "netnews") -# -0 string StartFontMetrics ASCII font metrics -0 string StartFont ASCII font bits -0 belong 0x137A2944 NeWS bitmap font -0 belong 0x137A2947 NeWS font family -0 belong 0x137A2950 scalable OpenFont binary -0 belong 0x137A2951 encrypted scalable OpenFont binary -8 belong 0x137A2B45 X11/NeWS bitmap font -8 belong 0x137A2B48 X11/NeWS font family diff --git a/usr.bin/file/Magdir/osf1 b/usr.bin/file/Magdir/osf1 deleted file mode 100644 index d2868c3..0000000 --- a/usr.bin/file/Magdir/osf1 +++ /dev/null @@ -1,10 +0,0 @@ -# -# Mach magic number info -# -0 long 0xefbe OSF/Rose object -# I386 magic number info -# -0 short 0565 i386 COFF object -# -0 string Core Alpha Digital UNIX core file ->24 string >\0 \b, generated from '%s' diff --git a/usr.bin/file/Magdir/pbm b/usr.bin/file/Magdir/pbm deleted file mode 100644 index 98c15f7..0000000 --- a/usr.bin/file/Magdir/pbm +++ /dev/null @@ -1,7 +0,0 @@ - -#------------------------------------------------------------------------------ -# pbm: file(1) magic for Portable Bitmap files -# -# XXX - byte order? -# -0 short 0x2a17 "compact bitmap" format (Poskanzer) diff --git a/usr.bin/file/Magdir/pdf b/usr.bin/file/Magdir/pdf deleted file mode 100644 index a1aef13..0000000 --- a/usr.bin/file/Magdir/pdf +++ /dev/null @@ -1,7 +0,0 @@ -#------------------------------------------------------------------------------ -# pdf: file(1) magic for Portable Document Format -# - -0 string %PDF- PDF document ->5 byte x \b, version %c ->7 byte x \b.%c diff --git a/usr.bin/file/Magdir/pdp b/usr.bin/file/Magdir/pdp deleted file mode 100644 index 201dede..0000000 --- a/usr.bin/file/Magdir/pdp +++ /dev/null @@ -1,25 +0,0 @@ - -#------------------------------------------------------------------------------ -# pdp: file(1) magic for PDP-11 executable/object and APL workspace -# -0 lelong 0101555 PDP-11 single precision APL workspace -0 lelong 0101554 PDP-11 double precision APL workspace -# -# PDP-11 a.out -# -0 leshort 0407 PDP-11 executable ->8 leshort >0 not stripped ->15 byte >0 - version %ld - -0 leshort 0401 PDP-11 UNIX/RT ldp -0 leshort 0405 PDP-11 old overlay - -0 leshort 0410 PDP-11 pure executable ->8 leshort >0 not stripped ->15 byte >0 - version %ld - -0 leshort 0411 PDP-11 separate I&D executable ->8 leshort >0 not stripped ->15 byte >0 - version %ld - -0 leshort 0437 PDP-11 kernel overlay diff --git a/usr.bin/file/Magdir/pgp b/usr.bin/file/Magdir/pgp deleted file mode 100644 index 038d098..0000000 --- a/usr.bin/file/Magdir/pgp +++ /dev/null @@ -1,13 +0,0 @@ - -#------------------------------------------------------------------------------ -# pgp: file(1) magic for Pretty Good Privacy -# -0 beshort 0x9900 PGP key public ring -0 beshort 0x9501 PGP key security ring -0 beshort 0x9500 PGP key security ring -0 beshort 0xa600 PGP encrypted data -0 string -----BEGIN\040PGP PGP armored data ->15 string PUBLIC\040KEY\040BLOCK- public key block ->15 string MESSAGE- message ->15 string SIGNED\040MESSAGE- signed message ->15 string PGP\040SIGNATURE- signature diff --git a/usr.bin/file/Magdir/pkgadd b/usr.bin/file/Magdir/pkgadd deleted file mode 100644 index dc8ef5d..0000000 --- a/usr.bin/file/Magdir/pkgadd +++ /dev/null @@ -1,5 +0,0 @@ - -#------------------------------------------------------------------------------ -# pkgadd: file(1) magic for SysV R4 PKG Datastreams -# -0 string #\ PaCkAgE\ DaTaStReAm pkg Datastream (SVR4) diff --git a/usr.bin/file/Magdir/plus5 b/usr.bin/file/Magdir/plus5 deleted file mode 100644 index acf3bf4..0000000 --- a/usr.bin/file/Magdir/plus5 +++ /dev/null @@ -1,17 +0,0 @@ - -#------------------------------------------------------------------------------ -# plus5: file(1) magic for Plus Five's UNIX MUMPS -# -# XXX - byte order? Paging Hokey.... -# -0 short 0x259 mumps avl global ->2 byte >0 (V%d) ->6 byte >0 with %d byte name ->7 byte >0 and %d byte data cells -0 short 0x25a mumps blt global ->2 byte >0 (V%d) ->8 short >0 - %d byte blocks ->15 byte 0x00 - P/D format ->15 byte 0x01 - P/K/D format ->15 byte 0x02 - K/D format ->15 byte >0x02 - Bad Flags diff --git a/usr.bin/file/Magdir/postscript b/usr.bin/file/Magdir/postscript deleted file mode 100644 index dcd8f65..0000000 --- a/usr.bin/file/Magdir/postscript +++ /dev/null @@ -1,17 +0,0 @@ -# -# magic.postscript: Magic for postscript files -# -# XXX - should we match only versions 1.0 and 2.0, or should we wildcard -# it? -# -0 string %! PostScript document ->2 string PS-Adobe- conforming ->>11 string 1.0 at level %s ->>11 string 2.0 at level %s ->>11 string 3.0 at level %s -# Some pc's have the annoying habit of adding a ^D -0 string \004%! PostScript document ->3 string PS-Adobe- conforming ->>12 string 1.0 at level %s ->>12 string 2.0 at level %s ->>12 string 3.0 at level %s diff --git a/usr.bin/file/Magdir/printer b/usr.bin/file/Magdir/printer deleted file mode 100644 index d20330f..0000000 --- a/usr.bin/file/Magdir/printer +++ /dev/null @@ -1,55 +0,0 @@ - -#------------------------------------------------------------------------------ -# printer: file(1) magic for printer-formatted files -# - -# PostScript, updated by Daniel Quinlan (quinlan@yggdrasil.com) -0 string %! PostScript document text ->2 string PS-Adobe- conforming ->>11 string >\0 at level %.3s ->>>15 string EPS - type %s ->>>15 string Query - type %s ->>>15 string ExitServer - type %s -# Some PCs have the annoying habit of adding a ^D as a document separator -0 string \004%! PostScript document text ->3 string PS-Adobe- conforming ->>12 string >\0 at level %.3s ->>>16 string EPS - type %s ->>>16 string Query - type %s ->>>16 string ExitServer - type %s - -# HP Printer Job Language -0 string \033%-12345X@PJL HP Printer Job Language data ->15 string \ ENTER\ LANGUAGE\ = ->31 string PostScript PostScript - -# HP Printer Control Language, Daniel Quinlan (quinlan@yggdrasil.com) -0 string \033E\033 HP PCL printer data ->3 string \&l0A - default page size ->3 string \&l1A - US executive page size ->3 string \&l2A - US letter page size ->3 string \&l3A - US legal page size ->3 string \&l26A - A4 page size ->3 string \&l80A - Monarch envelope size ->3 string \&l81A - No. 10 envelope size ->3 string \&l90A - Intl. DL envelope size ->3 string \&l91A - Intl. C5 envelope size ->3 string \&l100A - Intl. B5 envelope size ->3 string \&l-81A - No. 10 envelope size (landscape) ->3 string \&l-90A - Intl. DL envelope size (landscape) - -# IMAGEN printer-ready files: -0 string @document( Imagen printer -# this only works if "language xxx" is first item in Imagen header. ->10 string language\ impress (imPRESS data) ->10 string language\ daisy (daisywheel text) ->10 string language\ diablo (daisywheel text) ->10 string language\ printer (line printer emulation) ->10 string language\ tektronix (Tektronix 4014 emulation) -# Add any other languages that your Imagen uses - remember -# to keep the word `text' if the file is human-readable. -# [GRR 950115: missing "postscript" or "ultrascript" (whatever it was called)] -# -# Now magic for IMAGEN font files... -0 string Rast RST-format raster font data ->45 string >0 face % diff --git a/usr.bin/file/Magdir/psdbms b/usr.bin/file/Magdir/psdbms deleted file mode 100644 index f36121f..0000000 --- a/usr.bin/file/Magdir/psdbms +++ /dev/null @@ -1,7 +0,0 @@ - -#------------------------------------------------------------------------------ -# psdbms: file(1) magic for psdatabase -# -0 belong&0xff00ffff 0x56000000 ps database ->1 string >\0 version %s ->4 string >\0 from kernel %s diff --git a/usr.bin/file/Magdir/pyramid b/usr.bin/file/Magdir/pyramid deleted file mode 100644 index fe16608..0000000 --- a/usr.bin/file/Magdir/pyramid +++ /dev/null @@ -1,11 +0,0 @@ - -#------------------------------------------------------------------------------ -# pyramid: file(1) magic for Pyramids -# -# XXX - byte order? -# -0 long 0x50900107 Pyramid 90x family executable -0 long 0x50900108 Pyramid 90x family pure executable ->16 long >0 not stripped -0 long 0x5090010b Pyramid 90x family demand paged pure executable ->16 long >0 not stripped diff --git a/usr.bin/file/Magdir/rle b/usr.bin/file/Magdir/rle deleted file mode 100644 index f45605b..0000000 --- a/usr.bin/file/Magdir/rle +++ /dev/null @@ -1,19 +0,0 @@ -# From <janl@ifi.uio.no> -# I made this with the help of the man page for rle(5). Ihey missing -# from the magic numbers I have: - -# -# rle -# -0 short 0xcc52 Utah Raster Toolkit RLE ->2 short >0 lower left corner: %d ->4 short >0 lower right corner: %d ->6 short >0 %d x ->8 short >0 %d ->10 byte&0x1 =0x1 CLEARFIRST ->10 byte&0x2 =0x2 NO_BACKGROUND ->10 byte&0x4 =0x4 ALPHA ->10 byte&0x8 =0x8 COMMENT ->11 byte >0 %d colour channels ->12 byte >0 %d bits pr. pixel ->13 byte >0 %d colour map channels diff --git a/usr.bin/file/Magdir/rpm b/usr.bin/file/Magdir/rpm deleted file mode 100644 index 14ad6db..0000000 --- a/usr.bin/file/Magdir/rpm +++ /dev/null @@ -1,17 +0,0 @@ -#------------------------------------------------------------------------------ -# -# RPM: file(1) magic for Red Hat Packages Erik Troan (ewt@redhat.com) -# -0 beshort 0xedab ->2 beshort 0xeedb RPM ->>4 byte x v%d ->>6 beshort 0 bin ->>6 beshort 1 src ->>8 beshort 1 i386 ->>8 beshort 2 Alpha ->>8 beshort 3 Sparc ->>8 beshort 4 MIPS ->>8 beshort 5 PowerPC ->>8 beshort 6 68000 ->>8 beshort 7 SGI ->>10 string x %s diff --git a/usr.bin/file/Magdir/rtf b/usr.bin/file/Magdir/rtf deleted file mode 100644 index 8e2d416..0000000 --- a/usr.bin/file/Magdir/rtf +++ /dev/null @@ -1,12 +0,0 @@ - -#------------------------------------------------------------------------------ -# rtf: file(1) magic for Rich Text Format (RTF) -# -# Duncan P. Simpson, D.P.Simpson@dcs.warwick.ac.uk -# -0 string {\\rtf Rich Text Format data, ->5 byte x version %c, ->6 string \\ansi ANSI ->6 string \\mac Apple Macintosh ->6 string \\pc IBM PC, code page 437 ->6 string \\pca IBM PS/2, code page 850 diff --git a/usr.bin/file/Magdir/sc b/usr.bin/file/Magdir/sc deleted file mode 100644 index 98599f2..0000000 --- a/usr.bin/file/Magdir/sc +++ /dev/null @@ -1,5 +0,0 @@ - -#------------------------------------------------------------------------------ -# sc: file(1) magic for "sc" spreadsheet -# -38 string Spreadsheet sc spreadsheet file diff --git a/usr.bin/file/Magdir/sccs b/usr.bin/file/Magdir/sccs deleted file mode 100644 index 11d50b2..0000000 --- a/usr.bin/file/Magdir/sccs +++ /dev/null @@ -1,21 +0,0 @@ - -#------------------------------------------------------------------------------ -# sccs: file(1) magic for SCCS archives -# -# SCCS archive structure: -# \001h01207 -# \001s 00276/00000/00000 -# \001d D 1.1 87/09/23 08:09:20 ian 1 0 -# \001c date and time created 87/09/23 08:09:20 by ian -# \001e -# \001u -# \001U -# ... etc. -# Now '\001h' happens to be the same as the 3B20's a.out magic number (0550). -# *Sigh*. And these both came from various parts of the USG. -# Maybe we should just switch everybody from SCCS to RCS! -# Further, you can't just say '\001h0', because the five-digit number -# is a checksum that could (presumably) have any leading digit, -# and we don't have regular expression matching yet. -# Hence the following official kludge: -8 string \001s\ SCCS archive data diff --git a/usr.bin/file/Magdir/sendmail b/usr.bin/file/Magdir/sendmail deleted file mode 100644 index 503ef89..0000000 --- a/usr.bin/file/Magdir/sendmail +++ /dev/null @@ -1,10 +0,0 @@ - -#------------------------------------------------------------------------------ -# sendmail: file(1) magic for sendmail config files -# -# XXX - byte order? -# -0 byte 046 Sendmail frozen configuration ->16 string >\0 - version %s -0 short 0x271c Sendmail frozen configuration ->16 string >\0 - version %s diff --git a/usr.bin/file/Magdir/sequent b/usr.bin/file/Magdir/sequent deleted file mode 100644 index e6f7b52..0000000 --- a/usr.bin/file/Magdir/sequent +++ /dev/null @@ -1,34 +0,0 @@ - -#------------------------------------------------------------------------------ -# sequent: file(1) magic for Sequent machines -# -# Sequent information updated by Don Dwiggins <atsun!dwiggins>. -# For Sequent's multiprocessor systems (incomplete). -0 lelong 0x00ea BALANCE NS32000 .o ->16 lelong >0 not stripped ->124 lelong >0 version %ld -0 lelong 0x10ea BALANCE NS32000 executable (0 @ 0) ->16 lelong >0 not stripped ->124 lelong >0 version %ld -0 lelong 0x20ea BALANCE NS32000 executable (invalid @ 0) ->16 lelong >0 not stripped ->124 lelong >0 version %ld -0 lelong 0x30ea BALANCE NS32000 standalone executable ->16 lelong >0 not stripped ->124 lelong >0 version %ld -# -# Symmetry information added by Jason Merrill <jason@jarthur.claremont.edu>. -# Symmetry magic nums will not be reached if DOS COM comes before them; -# byte 0xeb is matched before these get a chance. -0 leshort 0x12eb SYMMETRY i386 .o ->16 lelong >0 not stripped ->124 lelong >0 version %ld -0 leshort 0x22eb SYMMETRY i386 executable (0 @ 0) ->16 lelong >0 not stripped ->124 lelong >0 version %ld -0 leshort 0x32eb SYMMETRY i386 executable (invalid @ 0) ->16 lelong >0 not stripped ->124 lelong >0 version %ld -0 leshort 0x42eb SYMMETRY i386 standalone executable ->16 lelong >0 not stripped ->124 lelong >0 version %ld diff --git a/usr.bin/file/Magdir/sgi b/usr.bin/file/Magdir/sgi deleted file mode 100644 index ce9dbc8..0000000 --- a/usr.bin/file/Magdir/sgi +++ /dev/null @@ -1,170 +0,0 @@ - -#------------------------------------------------------------------------------ -# sgi: file(1) magic for Silicon Graphics (MIPS, IRIS, IRIX, etc.) -# Dec Ultrix (MIPS) -# all of SGI's *current* machines and OSes run in big-endian mode on the -# MIPS machines, as far as I know. -# -# XXX - what is the blank "-" line? -# -# kbd file definitions -0 string kbd!map kbd map file ->8 byte >0 Ver %d: ->10 short >0 with %d table(s) -0 belong 0407 old SGI 68020 executable -0 belong 0410 old SGI 68020 pure executable -0 beshort 0x8765 disk quotas file -0 beshort 0x0506 IRIS Showcase file ->2 byte 0x49 - ->3 byte x - version %ld -0 beshort 0x0226 IRIS Showcase template ->2 byte 0x63 - ->3 byte x - version %ld -0 belong 0x5343464d IRIS Showcase file ->4 byte x - version %ld -0 belong 0x5443464d IRIS Showcase template ->4 byte x - version %ld -0 belong 0xdeadbabe IRIX Parallel Arena ->8 belong >0 - version %ld -# -0 beshort 0x0160 MIPSEB COFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->22 byte x - version %ld ->23 byte x .%ld -# -0 beshort 0x0162 MIPSEL COFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %d ->22 byte x .%ld -# -0 beshort 0x6001 MIPSEB-LE COFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %d ->22 byte x .%ld -# -0 beshort 0x6201 MIPSEL-LE COFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %ld ->22 byte x .%ld -# -# MIPS 2 additions -# -0 beshort 0x0163 MIPSEB MIPS-II COFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->22 byte x - version %ld ->23 byte x .%ld -# -0 beshort 0x0166 MIPSEL MIPS-II COFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->22 byte x - version %ld ->23 byte x .%ld -# -0 beshort 0x6301 MIPSEB-LE MIPS-II COFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %ld ->22 byte x .%ld -# -0 beshort 0x6601 MIPSEL-LE MIPS-II COFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %ld ->22 byte x .%ld -# -# MIPS 3 additions -# -0 beshort 0x0140 MIPSEB MIPS-III COFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->22 byte x - version %ld ->23 byte x .%ld -# -0 beshort 0x0142 MIPSEL MIPS-III COFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->22 byte x - version %ld ->23 byte x .%ld -# -0 beshort 0x4001 MIPSEB-LE MIPS-III COFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %ld ->22 byte x .%ld -# -0 beshort 0x4201 MIPSEL-LE MIPS-III COFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %ld ->22 byte x .%ld -# -0 beshort 0x180 MIPSEB Ucode -0 beshort 0x182 MIPSEL Ucode -# 32bit core file -0 belong 0xdeadadb0 IRIX core dump ->4 belong 1 of ->16 string >\0 '%s' -# 64bit core file -0 belong 0xdeadad40 IRIX 64-bit core dump ->4 belong 1 of ->16 string >\0 '%s' -# New style crash dump file -0 string \x43\x72\x73\x68\x44\x75\x6d\x70 IRIX vmcore dump of ->36 string >\0 '%s' -# Trusted IRIX info -0 string SGIAUDIT SGI Audit file ->8 byte x - version %d ->9 byte x .%ld -# Are these three SGI-based file types or general ones? -0 string WNGZWZSC Wingz compiled script -0 string WNGZWZSS Wingz spreadsheet -0 string WNGZWZHP Wingz help file -# -0 string \#Inventor V IRIS Inventor 1.0 file -0 string \#Inventor V2 Open Inventor 2.0 file -# XXX - I don't know what next thing is! It is likely to be an image -# (or movie) format -0 string glfHeadMagic(); GLF_TEXT -4 belong 0x41010000 GLF_BINARY_LSB_FIRST -4 belong 0x00000141 GLF_BINARY_MSB_FIRST diff --git a/usr.bin/file/Magdir/sgml b/usr.bin/file/Magdir/sgml deleted file mode 100644 index 985bbec..0000000 --- a/usr.bin/file/Magdir/sgml +++ /dev/null @@ -1,21 +0,0 @@ - -#------------------------------------------------------------------------------ -# sgml: file(1) magic for Standard Generalized Markup Language - -# HyperText Markup Language (HTML) is an SGML document type, -# from Daniel Quinlan (quinlan@yggdrasil.com) -0 string \<!DOCTYPE\ HTML HTML document text -0 string \<!doctype\ html HTML document text -0 string \<HEAD HTML document text -0 string \<head HTML document text -0 string \<TITLE HTML document text -0 string \<title HTML document text -0 string \<html HTML document text -0 string \<HTML HTML document text - -# SGML, mostly from rph@sq -0 string \<!DOCTYPE exported SGML document text -0 string \<!doctype exported SGML document text -0 string \<!SUBDOC exported SGML subdocument text -0 string \<!subdoc exported SGML subdocument text -0 string \<!-- exported SGML document text diff --git a/usr.bin/file/Magdir/sniffer b/usr.bin/file/Magdir/sniffer deleted file mode 100644 index 861ec8c..0000000 --- a/usr.bin/file/Magdir/sniffer +++ /dev/null @@ -1,63 +0,0 @@ - -#------------------------------------------------------------------------------ -# sniffer: file(1) magic for packet captured files -# -# From: guy@netapp.com (Guy Harris) -# -# Microsoft NetMon (packet capture/display program) capture files. -# -0 string RTSS NetMon capture file ->4 byte x - version %d ->5 byte x \b.%d -# -# Network General Sniffer capture files (the Sniffer software does, -# after all, run under MS-DOS...). -# -0 string TRSNIFF\ data\ \ \ \ \032 Sniffer capture file ->23 leshort x - version %d ->25 leshort x \b.%d ->33 byte x (Format %d, ->32 byte 0 Token ring) ->32 byte 1 Ethernet) ->32 byte 2 ARCnet) ->32 byte 3 StarLAN) ->32 byte 4 PC Network broadband) ->32 byte 5 LocalTalk) ->32 byte 6 Znet) -# -# (We call them "tcpdump capture file(s)" for now, as "tcpdump" is -# the main program that uses that format, but there's also "tcpview", -# and there may be others in the future.) -# -0 ubelong 0xa1b2c3d4 tcpdump capture file (big-endian) ->4 beshort x - version %d ->6 beshort x \b.%d ->20 belong 0 (No link-layer encapsulation ->20 belong 1 (Ethernet ->20 belong 2 (3Mb Ethernet ->20 belong 3 (AX.25 ->20 belong 4 (ProNet ->20 belong 5 (Chaos ->20 belong 6 (IEEE 802.x network ->20 belong 7 (ARCnet ->20 belong 8 (SLIP ->20 belong 9 (PPP ->20 belong 10 (FDDI ->20 belong 11 (RFC 1483 ATM ->16 belong x \b, capture length %d) -0 ulelong 0xa1b2c3d4 tcpdump capture file (little-endian) ->4 leshort x - version %d ->6 leshort x \b.%d ->20 lelong 0 (No link-layer encapsulation ->20 lelong 1 (Ethernet ->20 lelong 2 (3Mb Ethernet ->20 lelong 3 (AX.25 ->20 lelong 4 (ProNet ->20 lelong 5 (Chaos ->20 lelong 6 (IEEE 802.x network ->20 lelong 7 (ARCnet ->20 lelong 8 (SLIP ->20 lelong 9 (PPP ->20 lelong 10 (FDDI ->20 lelong 11 (RFC 1483 ATM ->16 lelong x \b, capture length %d) diff --git a/usr.bin/file/Magdir/softquad b/usr.bin/file/Magdir/softquad deleted file mode 100644 index ffad996..0000000 --- a/usr.bin/file/Magdir/softquad +++ /dev/null @@ -1,30 +0,0 @@ - -#------------------------------------------------------------------------------ -# 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? -# -0 string \<!SQ\ DTD> Compiled SGML rules file ->9 string >\0 Type %s -0 string \<!SQ\ A/E> A/E SGML Document binary ->9 string >\0 Type %s -0 string \<!SQ\ STS> A/E SGML binary styles file ->9 string >\0 Type %s -0 short 0xc0de Compiled PSI (v1) data -0 short 0xc0da Compiled PSI (v2) data ->3 string >\0 (%s) -# Binary sqtroff font/desc files... -0 short 0125252 SoftQuad DESC or font file binary ->2 short >0 - version %d -# Bitmaps... -0 string SQ\ BITMAP1 SoftQuad Raster Format text -#0 string SQ\ BITMAP2 SoftQuad Raster Format data -# sqtroff intermediate language (replacement for ditroff int. lang.) -0 string X\ SoftQuad troff Context intermediate ->2 string 495 for AT&T 495 laser printer ->2 string hp for Hewlett-Packard LaserJet ->2 string impr for IMAGEN imPRESS ->2 string ps for PostScript diff --git a/usr.bin/file/Magdir/sun b/usr.bin/file/Magdir/sun deleted file mode 100644 index 2f0336a..0000000 --- a/usr.bin/file/Magdir/sun +++ /dev/null @@ -1,110 +0,0 @@ - -#------------------------------------------------------------------------------ -# sun: file(1) magic for Sun machines -# -# Values for big-endian Sun (MC680x0, SPARC) binaries on pre-5.x -# releases. (5.x uses ELF.) -# -0 belong&077777777 0600413 sparc demand paged ->0 byte &0x80 ->>20 belong <4096 shared library ->>20 belong =4096 dynamically linked executable ->>20 belong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&077777777 0600410 sparc pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&077777777 0600407 sparc ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped - -0 belong&077777777 0400413 mc68020 demand paged ->0 byte &0x80 ->>20 belong <4096 shared library ->>20 belong =4096 dynamically linked executable ->>20 belong >4096 dynamically linked executable ->16 belong >0 not stripped -0 belong&077777777 0400410 mc68020 pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&077777777 0400407 mc68020 ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped - -0 belong&077777777 0200413 mc68010 demand paged ->0 byte &0x80 ->>20 belong <4096 shared library ->>20 belong =4096 dynamically linked executable ->>20 belong >4096 dynamically linked executable ->16 belong >0 not stripped -0 belong&077777777 0200410 mc68010 pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&077777777 0200407 mc68010 ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped - -# reworked these to avoid anything beginning with zero becoming "old sun-2" -0 belong 0407 old sun-2 executable ->16 belong >0 not stripped -0 belong 0410 old sun-2 pure executable ->16 belong >0 not stripped -0 belong 0413 old sun-2 demand paged executable ->16 belong >0 not stripped - -# -# Core files. "SPARC 4.x BCP" means "core file from a SunOS 4.x SPARC -# binary executed in compatibility mode under SunOS 5.x". -# -0 belong 0x080456 SunOS core file ->4 belong 432 (SPARC) ->>132 string >\0 from '%s' ->>116 belong =3 (quit) ->>116 belong =4 (illegal instruction) ->>116 belong =5 (trace trap) ->>116 belong =6 (abort) ->>116 belong =7 (emulator trap) ->>116 belong =8 (arithmetic exception) ->>116 belong =9 (kill) ->>116 belong =10 (bus error) ->>116 belong =11 (segmentation violation) ->>116 belong =12 (bad argument to system call) ->>116 belong =29 (resource lost) ->>120 belong x (T=%dK, ->>124 belong x D=%dK, ->>128 belong x S=%dK) ->4 belong 826 (68K) ->>128 string >\0 from '%s' ->4 belong 456 (SPARC 4.x BCP) ->>152 string >\0 from '%s' -# Sun SunPC -0 long 0xfa33c08e SunPC 4.0 Hard Disk -0 string #SUNPC_CONFIG SunPC 4.0 Properties Values -# Sun snoop -# -# XXX - are numbers stored in big-endian format, or in host byte order? -# They're the same on SPARC, but not the same on x86. -# -0 string snoop Snoop capture file ->8 long >0 - version %ld ->12 long 0 (IEEE 802.3) ->12 long 1 (IEEE 802.4) ->12 long 2 (IEEE 802.5) ->12 long 3 (IEEE 802.6) ->12 long 4 (Ethernet) ->12 long 5 (HDLC) ->12 long 6 (Character synchronous) ->12 long 7 (IBM channel-to-channel adapter) ->12 long 8 (FDDI) ->12 long 9 (Unknown) -# Sun KCMS -36 string acsp Kodak Color Management System, ICC Profile - - diff --git a/usr.bin/file/Magdir/sunraster b/usr.bin/file/Magdir/sunraster deleted file mode 100644 index 39db3a3..0000000 --- a/usr.bin/file/Magdir/sunraster +++ /dev/null @@ -1,12 +0,0 @@ -# -# Sun rasterfiles -# -# XXX - byte order? What about the 386i? -# -0 string \x59\xa6\x6a\x95 rasterfile ->4 belong >0 %d ->8 belong >0 x %d ->12 belong >0 x %d ->20 belong 0 old format ->20 belong 2 compressed ->24 belong 1 with color map diff --git a/usr.bin/file/Magdir/terminfo b/usr.bin/file/Magdir/terminfo deleted file mode 100644 index 2226ce8..0000000 --- a/usr.bin/file/Magdir/terminfo +++ /dev/null @@ -1,9 +0,0 @@ - -#------------------------------------------------------------------------------ -# terminfo: file(1) magic for terminfo -# -# XXX - byte order for screen images? -# -0 string \032\001 Compiled terminfo entry -0 short 0433 Curses screen image -0 short 0434 Curses screen image diff --git a/usr.bin/file/Magdir/tex b/usr.bin/file/Magdir/tex deleted file mode 100644 index 5126be8..0000000 --- a/usr.bin/file/Magdir/tex +++ /dev/null @@ -1,36 +0,0 @@ - -#------------------------------------------------------------------------------ -# tex: file(1) magic for TeX files -# -# From <conklin@talisman.kaleida.com> - -# Although we may know the offset of certain text fields in TeX DVI -# and font files, we can't use them reliably because they are not -# zero terminated. [but we do anyway, christos] -0 string \367\002 TeX DVI file ->16 string >\0 (%s) -0 string \367\203 TeX generic font data -0 string \367\131 TeX packed font data ->3 string >\0 (%s) -0 string \367\312 TeX virtual font data -0 string This\ is\ TeX, TeX transcript text -0 string This\ is\ METAFONT, METAFONT transcript text - -# There is no way to detect TeX Font Metric (*.tfm) files without -# breaking them apart and reading the data. The following patterns -# match most *.tfm files generated by METAFONT or afm2tfm. -2 string \000\021 TeX font metric data ->33 string >\0 (%s) -2 string \000\022 TeX font metric data ->33 string >\0 (%s) - -# Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com) -0 string \\input\ texinfo Texinfo source text -0 string This\ is\ Info\ file GNU Info text - -# TeX documents, from Daniel Quinlan (quinlan@yggdrasil.com) -0 string \\input TeX document text -0 string \\section LaTeX document text -0 string \\setlength LaTeX document text -0 string \\documentstyle LaTeX document text -0 string \\chapter LaTeX document text diff --git a/usr.bin/file/Magdir/timezone b/usr.bin/file/Magdir/timezone deleted file mode 100644 index e47a371..0000000 --- a/usr.bin/file/Magdir/timezone +++ /dev/null @@ -1,12 +0,0 @@ - -#------------------------------------------------------------------------------ -# 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 deleted file mode 100644 index ea75e85..0000000 --- a/usr.bin/file/Magdir/troff +++ /dev/null @@ -1,27 +0,0 @@ - -#------------------------------------------------------------------------------ -# troff: file(1) magic for *roff -# -# updated by Daniel Quinlan (quinlan@yggdrasil.com) - -# troff input -0 string .\\" troff or preprocessor input text -0 string '\\" troff or preprocessor input text -0 string '.\\" troff or preprocessor input text -0 string \\" troff or preprocessor input text - -# ditroff intermediate output text -0 string x\ T ditroff text ->4 string cat for the C/A/T phototypesetter ->4 string ps for PostScript ->4 string dvi for DVI ->4 string ascii for ASCII ->4 string lj4 for LaserJet 4 ->4 string latin1 for ISO 8859-1 (Latin 1) ->4 string X75 for xditview at 75dpi ->>7 string -12 (12pt) ->4 string X100 for xditview at 100dpi ->>8 string -12 (12pt) - -# output data formats -0 string \100\357 very old (C/A/T) troff output data diff --git a/usr.bin/file/Magdir/typeset b/usr.bin/file/Magdir/typeset deleted file mode 100644 index 2eda7c3..0000000 --- a/usr.bin/file/Magdir/typeset +++ /dev/null @@ -1,7 +0,0 @@ - -#------------------------------------------------------------------------------ -# typeset: file(1) magic for other typesetting -# -0 string Interpress/Xerox Xerox InterPress data ->16 string / (version ->>17 string >\0 %s) diff --git a/usr.bin/file/Magdir/unknown b/usr.bin/file/Magdir/unknown deleted file mode 100644 index 843dc293..0000000 --- a/usr.bin/file/Magdir/unknown +++ /dev/null @@ -1,36 +0,0 @@ - -#------------------------------------------------------------------------------ -# unknown: file(1) magic for unknown machines -# -# XXX - this probably should be pruned, as it'll match PDP-11 and -# VAX image formats. -# -# 0x107 is 0407; 0x108 is 0410; both are PDP-11 (executable and pure, -# respectively). -# -# 0x109 is 0411; that's PDP-11 split I&D, but the PDP-11 version doesn't -# have the "version %ld", which may be a bogus COFFism (I don't think -# there ever was COFF for the PDP-11). -# -# 0x10B is 0413; that's VAX demand-paged, but this is a short, not a -# long, as it would be on a VAX. -# -# 0x10C is 0414, 0x10D is 0415, and 0x10E is 416; those *are* unknown. -# -0 short 0x107 unknown machine executable ->8 short >0 not stripped ->15 byte >0 - version %ld -0 short 0x108 unknown pure executable ->8 short >0 not stripped ->15 byte >0 - version %ld -0 short 0x109 PDP-11 separate I&D ->8 short >0 not stripped ->15 byte >0 - version %ld -0 short 0x10b unknown pure executable ->8 short >0 not stripped ->15 byte >0 - version %ld -0 long 0x10c unknown demand paged pure executable ->16 long >0 not stripped -0 long 0x10d unknown demand paged pure executable ->16 long >0 not stripped -0 long 0x10e unknown readable demand paged pure executable diff --git a/usr.bin/file/Magdir/uuencode b/usr.bin/file/Magdir/uuencode deleted file mode 100644 index 7e88619..0000000 --- a/usr.bin/file/Magdir/uuencode +++ /dev/null @@ -1,30 +0,0 @@ - -#------------------------------------------------------------------------------ -# uuencode: file(1) magic for ASCII-encoded files -# - -# GRR: the first line of xxencoded files is identical to that in uuencoded -# files, but the first character in most subsequent lines is 'h' instead of -# 'M'. (xxencoding uses lowercase letters in place of most of uuencode's -# punctuation and survives BITNET gateways better.) If regular expressions -# were supported, this entry could possibly be split into two with -# "begin\040\.\*\012M" or "begin\040\.\*\012h" (where \. and \* are REs). -0 string begin\040 uuencoded or xxencoded text - -# btoa(1) is an alternative to uuencode that requires less space. -0 string xbtoa\ Begin btoa'd text - -# ship(1) is another, much cooler alternative to uuencode. -# Greg Roelofs, newt@uchicago.edu -0 string $\012ship ship'd binary text - -# bencode(8) is used to encode compressed news batches (Bnews/Cnews only?) -# Greg Roelofs, newt@uchicago.edu -0 string Decode\ the\ following\ with\ bdeco bencoded News text - -# BinHex is the Macintosh ASCII-encoded file format (see also "apple") -# Daniel Quinlan, quinlan@yggdrasil.com -11 string must\ be\ converted\ with\ BinHex BinHex binary text ->41 string x \b, version %.3s - -# GRR: is MIME BASE64 encoding handled somewhere? diff --git a/usr.bin/file/Magdir/varied.out b/usr.bin/file/Magdir/varied.out deleted file mode 100644 index 9245cfc..0000000 --- a/usr.bin/file/Magdir/varied.out +++ /dev/null @@ -1,18 +0,0 @@ - -#------------------------------------------------------------------------------ -# varied.out: file(1) magic for various USG systems -# -# Herewith many of the object file formats used by USG systems. -# Most have been moved to files for a particular processor, -# and deleted if they duplicate other entries. -# -0 short 0610 Perkin-Elmer executable -# AMD 29K -0 beshort 0572 amd 29k coff noprebar executable -0 beshort 01572 amd 29k coff prebar executable -0 beshort 0160007 amd 29k coff archive -# Cray -6 beshort 0407 unicos (cray) executable -# Ultrix 4.3 -596 string \130\337\377\377 Ultrix core file ->600 string >\0 '%s' diff --git a/usr.bin/file/Magdir/vax b/usr.bin/file/Magdir/vax deleted file mode 100644 index 7dd86cc..0000000 --- a/usr.bin/file/Magdir/vax +++ /dev/null @@ -1,34 +0,0 @@ - -#------------------------------------------------------------------------------ -# vax: file(1) magic for VAX executable/object and APL workspace -# -0 lelong 0101557 VAX single precision APL workspace -0 lelong 0101556 VAX double precision APL workspace - -# -# VAX a.out (32V, BSD) -# -0 lelong 0407 VAX executable ->16 lelong >0 not stripped - -0 lelong 0410 VAX pure executable ->16 lelong >0 not stripped - -0 lelong 0413 VAX demand paged pure executable ->16 lelong >0 not stripped - -0 lelong 0420 VAX demand paged (first page unmapped) pure executable ->16 lelong >0 not stripped - -# -# VAX COFF -# -# The `versions' should be un-commented if they work for you. -# (Was the problem just one of endianness?) -# -0 leshort 0570 VAX COFF executable ->12 lelong >0 not stripped ->22 leshort >0 - version %ld -0 leshort 0575 VAX COFF pure executable ->12 lelong >0 not stripped ->22 leshort >0 - version %ld diff --git a/usr.bin/file/Magdir/visx b/usr.bin/file/Magdir/visx deleted file mode 100644 index 4919964..0000000 --- a/usr.bin/file/Magdir/visx +++ /dev/null @@ -1,31 +0,0 @@ - -#------------------------------------------------------------------------------ -# visx: file(1) magic for Visx format files -# -0 short 0x5555 VISX image file ->2 byte 0 (zero) ->2 byte 1 (unsigned char) ->2 byte 2 (short integer) ->2 byte 3 (float 32) ->2 byte 4 (float 64) ->2 byte 5 (signed char) ->2 byte 6 (bit-plane) ->2 byte 7 (classes) ->2 byte 8 (statistics) ->2 byte 10 (ascii text) ->2 byte 15 (image segments) ->2 byte 100 (image set) ->2 byte 101 (unsigned char vector) ->2 byte 102 (short integer vector) ->2 byte 103 (float 32 vector) ->2 byte 104 (float 64 vector) ->2 byte 105 (signed char vector) ->2 byte 106 (bit plane vector) ->2 byte 121 (feature vector) ->2 byte 122 (feature vector library) ->2 byte 124 (chain code) ->2 byte 126 (bit vector) ->2 byte 130 (graph) ->2 byte 131 (adjacency graph) ->2 byte 132 (adjacency graph library) ->2 string .VISIX (ascii text) diff --git a/usr.bin/file/Magdir/vms b/usr.bin/file/Magdir/vms deleted file mode 100644 index c91186f..0000000 --- a/usr.bin/file/Magdir/vms +++ /dev/null @@ -1,27 +0,0 @@ - -#------------------------------------------------------------------------------ -# vms: file(1) magic for VMS executables (experimental) -# -# VMS .exe formats, both VAX and AXP (Greg Roelofs, newt@uchicago.edu) - -# GRR 950122: I'm just guessing on these, based on inspection of the headers -# of three executables each for Alpha and VAX architectures. The VAX files -# all had headers similar to this: -# -# 00000 b0 00 30 00 44 00 60 00 00 00 00 00 30 32 30 35 ..0.D.`.....0205 -# 00010 01 01 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 ................ -# -0 string \xb0\0\x30\0 VMS VAX executable ->44032 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption -# -# The AXP files all looked like this, except that the byte at offset 0x22 -# was 06 in some of them and 07 in others: -# -# 00000 03 00 00 00 00 00 00 00 ec 02 00 00 10 01 00 00 ................ -# 00010 68 00 00 00 98 00 00 00 b8 00 00 00 00 00 00 00 h............... -# 00020 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ -# 00030 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................ -# 00040 00 00 00 00 ff ff ff ff ff ff ff ff 02 00 00 00 ................ -# -0 belong 0x03000000 VMS Alpha executable ->75264 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption diff --git a/usr.bin/file/Magdir/x11 b/usr.bin/file/Magdir/x11 deleted file mode 100644 index ed0ff44..0000000 --- a/usr.bin/file/Magdir/x11 +++ /dev/null @@ -1,9 +0,0 @@ -# -# magic.x11 -# -# I think this is byte-order-dependent; if so, it should become: -# -# 0 belong 00000004 X11 big-endian snf font -# 0 lelong 00000004 X11 little-endian snf font -# -0 long 00000004 X11 snf font diff --git a/usr.bin/file/Magdir/xenix b/usr.bin/file/Magdir/xenix deleted file mode 100644 index 1acadec..0000000 --- a/usr.bin/file/Magdir/xenix +++ /dev/null @@ -1,72 +0,0 @@ - -#------------------------------------------------------------------------------ -# xenix: file(1) magic for Microsoft Xenix -# -# "Middle model" stuff, and "Xenix 8086 relocatable or 80286 small -# model" lifted from "magic.xenix", with comment "derived empirically; -# treat as folklore until proven" -# -# "small model", "large model", "huge model" stuff lifted from XXX -# -# XXX - "x.out" collides with PDP-11 archives -# -0 string core core file (Xenix) -0 byte 0x80 8086 relocatable (Microsoft) -0 leshort 0xff65 x.out ->2 string __.SYMDEF randomized ->0 byte x archive -0 leshort 0x206 Microsoft a.out ->8 leshort 1 Middle model ->0x1e leshort &0x10 overlay ->0x1e leshort &0x2 separate ->0x1e leshort &0x4 pure ->0x1e leshort &0x800 segmented ->0x1e leshort &0x400 standalone ->0x1e leshort &0x8 fixed-stack ->0x1c byte &0x80 byte-swapped ->0x1c byte &0x40 word-swapped ->0x10 lelong >0 not-stripped ->0x1e leshort ^0xc000 pre-SysV ->0x1e leshort &0x4000 V2.3 ->0x1e leshort &0x8000 V3.0 ->0x1c byte &0x4 86 ->0x1c byte &0xb 186 ->0x1c byte &0x9 286 ->0x1c byte &0xa 386 ->0x1f byte <0x040 small model ->0x1f byte =0x048 large model ->0x1f byte =0x049 huge model ->0x1e leshort &0x1 executable ->0x1e leshort ^0x1 object file ->0x1e leshort &0x40 Large Text ->0x1e leshort &0x20 Large Data ->0x1e leshort &0x120 Huge Objects Enabled ->0x10 lelong >0 not stripped - -0 leshort 0x140 old Microsoft 8086 x.out ->0x3 byte &0x4 separate ->0x3 byte &0x2 pure ->0 byte &0x1 executable ->0 byte ^0x1 relocatable ->0x14 lelong >0 not stripped - -0 lelong 0x206 b.out ->0x1e leshort &0x10 overlay ->0x1e leshort &0x2 separate ->0x1e leshort &0x4 pure ->0x1e leshort &0x800 segmented ->0x1e leshort &0x400 standalone ->0x1e leshort &0x1 executable ->0x1e leshort ^0x1 object file ->0x1e leshort &0x4000 V2.3 ->0x1e leshort &0x8000 V3.0 ->0x1c byte &0x4 86 ->0x1c byte &0xb 186 ->0x1c byte &0x9 286 ->0x1c byte &0x29 286 ->0x1c byte &0xa 386 ->0x1e leshort &0x4 Large Text ->0x1e leshort &0x2 Large Data ->0x1e leshort &0x102 Huge Objects Enabled - -0 leshort 0x580 XENIX 8086 relocatable or 80286 small model diff --git a/usr.bin/file/Magdir/zilog b/usr.bin/file/Magdir/zilog deleted file mode 100644 index b746e20..0000000 --- a/usr.bin/file/Magdir/zilog +++ /dev/null @@ -1,11 +0,0 @@ - -#------------------------------------------------------------------------------ -# zilog: file(1) magic for Zilog Z8000. -# -# Was it big-endian or little-endian? My Product Specification doesn't -# say. -# -0 long 0xe807 object file (z8000 a.out) -0 long 0xe808 pure object file (z8000 a.out) -0 long 0xe809 separate object file (z8000 a.out) -0 long 0xe805 overlay object file (z8000 a.out) diff --git a/usr.bin/file/Magdir/zyxel b/usr.bin/file/Magdir/zyxel deleted file mode 100644 index 12a6abd..0000000 --- a/usr.bin/file/Magdir/zyxel +++ /dev/null @@ -1,16 +0,0 @@ - -#------------------------------------------------------------------------------ -# zyxel: file(1) magic for ZyXEL modems -# -# From <rob@pe1chl.ampr.org> -# These are the /etc/magic entries to decode datafiles as used for the -# ZyXEL U-1496E DATA/FAX/VOICE modems. (This header conforms to a -# ZyXEL-defined standard) - -0 string ZyXEL\002 ZyXEL voice data ->10 byte 0 - CELP encoding ->10 byte&0x0B 1 - ADPCM2 encoding ->10 byte&0x0B 2 - ADPCM3 encoding ->10 byte&0x0B 3 - ADPCM4 encoding ->10 byte&0x0B 8 - New ADPCM3 encoding ->10 byte&0x04 4 with resync diff --git a/usr.bin/file/Makefile b/usr.bin/file/Makefile deleted file mode 100644 index fde51c9..0000000 --- a/usr.bin/file/Makefile +++ /dev/null @@ -1,163 +0,0 @@ -# Makefile for file(1) cmd. -# Copyright (c) Ian F. Darwin 86/09/01 - see LEGAL.NOTICE. -# @(#)$Id: Makefile,v 1.55 1997/01/15 17:23:24 christos Exp $ -# -# This software is not subject to any license of the American Telephone -# and Telegraph Company or of the Regents of the University of California. -# -# Permission is granted to anyone to use this software for any purpose on -# any computer system, and to alter it and redistribute it freely, subject -# to the following restrictions: -# -# 1. The author is not responsible for the consequences of use of this -# software, no matter how awful, even if they arise from flaws in it. -# -# 2. The origin of this software must not be misrepresented, either by -# explicit claim or by omission. Since few users ever read sources, -# credits must appear in the documentation. -# -# 3. Altered versions must be plainly marked as such, and must not be -# misrepresented as being the original software. Since few users -# ever read sources, credits must appear in the documentation. -# -# 4. This notice may not be removed or altered. -VERSION = 3.22 -SHELL = /bin/sh -#MAGIC = /etc/magic -MAGIC = /usr/local/etc/magic -DEFS = -DMAGIC='"$(MAGIC)"' -DBUILTIN_ELF # -Dvoid=int -CC = cc -COPTS = -O -g # newer compilers allow both; else drop -O -# For truly antique environments, use this for (dummy) include files: -COPTS = -O # -Ilocalinc -CFLAGS = $(COPTS) $(DEFS) -LDFLAGS = $(COPTS) # -Bstatic # older gdb couldn't handle shared libs -SHAR = bundle -OFILE = /usr/bin/file # old or distributed version, for comparison -# Where new binary lives; typically /usr/local (BSD), /usr/lbin (USG). -BINDIR = /usr/local/bin -# For installing our man pages; -# MANCxxx is manual section for Commands, MANFxxx is section for file formats. -# MANxDIR is directory names; MANxEXT is the filename extention. Usual values: -# Variable V7 4BSD Sys V -# MANCDIR /usr/man/man1 /usr/man/man1 /usr/man/u_man/man1 -# MANFDIR /usr/man/man5 /usr/man/man5 /usr/man/u_man/man4 -# MANCEXT 1 1 1 -# MANFEXT 5 5 4 -# --- possible alternative for 4BSD --- -# MANCDIR /usr/local/man/man1 -# MANCEXT 1 -# or -# MANCDIR /usr/man/manl -# MANCEXT l -# --- possible alternative for USG --- -# MANCDIR /usr/man/local/man1 -# MANCEXT 1 - -MANCDIR = /usr/local/man/man1 -MANCEXT = 1 -MANFDIR = /usr/local/man/man4 -MANFEXT = 4 - -# There are no system-dependant configuration options (except maybe CFLAGS). -# Uncomment any of these that is missing from your "standard" library. -LOCALSRCS = # localsrc/getopt.c localsrc/strtol.c \ -# localsrc/strtok.c localsrc/strchr.c -LOCALOBJS = # localsrc/getopt.o localsrc/strtol.o \ -# localsrc/strtok.o localsrc/strchr.o -# These are not compiled in unless you use -Ilocalinc, but -# are not commented out as "make dist" &c use them. -LOCALINC = # localinc/*.h localinc/sys/*.h - -SRCS = file.c apprentice.c fsmagic.c softmagic.c ascmagic.c \ - compress.c is_tar.c readelf.c internat.c \ - print.c $(LOCALSRCS) $(LOCALINC) -OBJS = file.o apprentice.o fsmagic.o softmagic.o ascmagic.o \ - compress.o is_tar.o readelf.o internat.o \ - print.o $(LOCALOBJS) - -ALLSRC = LEGAL.NOTICE README MAINT PORTING $(SRCS) *.h \ - Makefile file.man magic.man -ALLMAGIC = Magdir/Makefile Magdir/Localstuff Magdir/Header Magdir/[a-z]* - -all: file magic file.${MANCEXT} magic.${MANFEXT} - -TESTFILES = * tst/* -try: all $(OFILE) - cd tst; $(MAKE) - time $(OFILE) $(TESTFILES) >/tmp/t1 # can't use ./magic - time ./file -m ./magic $(TESTFILES) >/tmp/t2 - -diff -b /tmp/t[12] - what ./file >lastnocore - -file: $(OBJS) - $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ -lint: $(SRCS) - lint -ha $(DEFS) $(SRCS) | tee $@ -magic: Magdir -# Magdir/Makefile's "install" mv's magic to here for testing. - cd Magdir; $(MAKE) install - -ascmagic.o: names.h - -compress.o apprentice.o ascmagic.o file.o fsmagic.o print.o softmagic.o: file.h - -install: file magic - cp file $(BINDIR)/file - cp magic $(MAGIC) - -install.man: file.${MANCEXT} magic.${MANFEXT} - cp file.${MANCEXT} $(MANCDIR)/file.$(MANCEXT) - cp magic.${MANFEXT} $(MANFDIR)/magic.$(MANFEXT) - -clean: - rm -f *.o core file magic lint dist.* MANIFEST \ - magic.${MANFEXT} file.${MANCEXT} -clobber: - cd tst; $(MAKE) clean - - -magic.${MANFEXT} : Makefile magic.man - @rm -f $@ - sed -e s@__CSECTION__@${MANCEXT}@g \ - -e s@__FSECTION__@${MANFEXT}@g \ - -e s@__VERSION__@${VERSION}@g \ - -e s@__MAGIC__@${MAGIC}@g magic.man > $@ - -file.${MANCEXT} : Makefile file.man - @rm -f $@ - sed -e s@__CSECTION__@${MANCEXT}@g \ - -e s@__FSECTION__@${MANFEXT}@g \ - -e s@__VERSION__@${VERSION}@g \ - -e s@__MAGIC__@${MAGIC}@g file.man > $@ - -send: dist - ftp ftp.cs - -dist: dist.src dist.magic - @echo Now check this patchlevel! - ident patchlevel.h - -dist.src: $(ALLSRC) MANIFEST -# Some versions of shar can't handle a single file from -# a subdirectory, so we manually insert mkdir as needed. -# The point is to exclude all the generable targets in tst. - (echo mkdir localinc localinc/sys localsrc tst; \ - $(SHAR) $(ALLSRC) MANIFEST) > $@ - -rcsdiff: $(ALLSRC) - rcsdiff -q RCS/* - -MANIFEST: $(ALLSRC) - ident $(ALLSRC) > MANIFEST -dist.magic: Magdir -# As above, but to exclude Magdir/RCS from being shipped. - (echo mkdir Magdir; $(SHAR) $(ALLMAGIC)) >$@ - -tar: $(ALLSRC) $(ALLMAGIC) - -rm -fr file-${VERSION} - -mkdir file-${VERSION} file-${VERSION}/Magdir - ln $(ALLSRC) file-${VERSION} - ln ${ALLMAGIC} file-${VERSION}/Magdir - tar cvf file-${VERSION}.tar file-${VERSION} - -rm -fr file-${VERSION} diff --git a/usr.bin/file/PORTING b/usr.bin/file/PORTING deleted file mode 100644 index 06790e6..0000000 --- a/usr.bin/file/PORTING +++ /dev/null @@ -1,76 +0,0 @@ -Portability of the new file(1) command. -@(#) $Id: PORTING,v 1.11 1993/09/23 21:47:23 christos Exp $ - -Read this file only if the program doesn't compile on your system. - -This release has been around UNIX; it has been compiled and tested -in the following environments: - -SunOS sqarc 4.1.1 8 sun4 - No problems. -ULTRIX squint 4.2 0 RISC - No problems. -A/UX sqmac 3.0a9 SVR22 mc68020 - No problems. -AIX sqibm 2 3 000XXXXXX100 - Had weird "make" problems making "magic" file automatically; just - built it by hand. Your mileage may vary. -SCO sqwang 3.2 2 i386 - Compiles fine; their weird make can't handle "[a-z]*" as a dependancy, - so build magic by hand. Runs fine. -sqzme sqzme 3.1.1 3 3B2 - The 3B2 SVR3 needed a few tweaks as well as COPTS = -Ilocalinc - in order to compile. - -This version, reluctanly, includes <stdlib.h>, which won't exist -on older systems or those that aren't even close to the ANSI C -standard. There is a null "stdlib.h", and some other bogus headers, -in subdirectory "localinc"; if you get complaints about missing -stdlib.h and others, uncomment the line with COPTS=-Ilocalinc -in the Makefile, and try again. - -You must have either <stdarg.h> or the older <varargs.h>, otherwise you'll -have to butcher some routines in print.c. - -Beyond that, I have tried to make a program that doesn't need any -command-line defines (-D) to specify what version of UNIX is in use, -by using the definitions available in the system #include -files. For example, the lstat(2) call is normally found in -4BSD systems, but might be grafted into some other variant -of UNIX. If it's done right (ie., using the same definitions), -my program will compile and work correctly. Look at the #ifdefs -to see how it's done. - -I've also tried to include source for all the non-portable library routines -I used (getopt, str*). Non-portable here means `not in every -reasonably standard UNIX out there: V7, System V, 4BSD'. -These are in subdirectory "localsrc", and not used unless you -need them; again, see the Makefile. - -There is one area that just might cause problems. On System -V, they moved the definition of major() and minor() out of -<sys/types.h> into <sys/sysmacros.h>. Hence, if major isn't -defined after including types.h, I automatically include sys/sysmacros.h. -This will work for 99% of the systems out there. ONLY if you -have a system in which neither types.h nor sysmacros.h defines -`major' will this automatic include fail (I hope). On such -systems, you will get a compilation error in trying to compile -a warning message. Please do the following: - - 1) change the appropriate #include at the start of fsmagic.c -and 2) let me know the name of the system, the release number, - and the name of the header file that *does* include - this "standard" definition. - -If you are running the old Ritchie PDP-11 C compiler or -some other compiler that doesn't know about `void', you will have -to include `-Dvoid=int' in the variable COPTS in the Makefile. - -Other than this, there should be no portability problems, -but one never knows these days. Please let me know of any -other problems you find porting to a UNIX system. I don't much -care about non-UNIX systems but will collect widely-used magic -numbers for them as well as for UNIX systems. - -Mark Moraes and Christos Zoulas -(address in README) diff --git a/usr.bin/file/README b/usr.bin/file/README deleted file mode 100644 index f88f185..0000000 --- a/usr.bin/file/README +++ /dev/null @@ -1,91 +0,0 @@ -** README for file(1) Command ** -@(#) $Id: README,v 1.21 1997/01/15 17:23:24 christos Exp $ - -This is Release 3.x of Ian Darwin's (copyright but distributable) -file(1) command. This version is the standard "file" command for Linux, -*BSD, and other systems. (See "patchlevel.h" for the exact release number). - -UNIX is a trademark of UNIX System Laboratories. - -The prime contributor to Release 3.8 was Guy Harris, who put in megachanges -including byte-order independance. - -The prime contributor to Release 3.0 was Christos Zoulas, who put -in hundreds of lines of source code changes, including his own -ANSIfication of the code (I liked my own ANSIfication better, but -his (__P()) is the "Berkeley standard" way of doing it, and I wanted UCB -to include the code...), his HP-like "indirection" (a feature of -the HP file command, I think), and his mods that finally got the -uncompress (-z) mode finished and working. - -This release has compiled in numerous environments; see PORTING -for a list and problems. - -This fine freeware file(1) follows the USG (System V) model of the file -command, rather than the Research (V7) version or the V7-derived 4.[23] -Berkeley one. That is, the file /etc/magic contains much of the ritual -information that is the source of this program's power. My version -knows a little more magic (including tar archives) than System V; the -/etc/magic parsing seems to be compatible with the (poorly documented) -System V /etc/magic format (with one exception; see the man page). - -In addition, the /etc/magic file is built from a subdirectory -for easier(?) maintenance. I will act as a clearinghouse for -magic numbers assigned to all sorts of data files that -are in reasonable circulation. Send your magic numbers, -in magic(4) format please, to the maintainer, Christos Zoulas. - -LEGAL.NOTICE - read this first. -README - read this second (you are currently reading this file). -PORTING - read this only if the program won't compile. -Makefile - read this next, adapt it as needed (particularly - the location of the old existing file command and - the man page layouts), type "make" to compile, - "make try" to try it out against your old version. - Expect some diffs, particularly since your original - file(1) may not grok the imbedded-space ("\ ") in - the current magic file, or may even not use the - magic file. -apprentice.c - parses /etc/magic to learn magic -ascmagic.c - third & last set of tests, based on hardwired assumptions. -core - not included in distribution due to mailer limitations. -debug.c - includes -c printout routine -file.1 - man page for the command -magic.4 - man page for the magic file, courtesy Guy Harris. - Install as magic.4 on USG and magic.5 on V7 or Berkeley; cf Makefile. -file.c - main program -file.h - header file -fsmagic.c - first set of tests the program runs, based on filesystem info -is_tar.c, tar.h - knows about tarchives (courtesy John Gilmore). -magdir - directory of /etc/magic pieces - magdir/Makefile - ADJUST THIS FOR YOUR CONFIGURATION -names.h - header file for ascmagic.c -softmagic.c - 2nd set of tests, based on /etc/magic -readelf.[ch] - Standalone elf parsing code. -compress.c - on-the-fly decompression. -internat.c - recognize international `text' files. -print.c - print results, errors, warnings. - -If your gzip sometimes fails to decompress things complaining about a short -file, apply this patch [which is going to be in the next version of gzip]: -*** - Tue Oct 29 02:06:35 1996 ---- util.c Sun Jul 21 21:51:38 1996 -*** 106,111 **** ---- 108,114 ---- - - if (insize == 0) { - if (eof_ok) return EOF; -+ flush_window(); - read_error(); - } - bytes_in += (ulg)insize; - -E-mail: christos@deshaw.com, moraes@deshaw.com - -Phone: Do not even think of telephoning me about this program. Send cash first! - -Parts of this software were developed at SoftQuad Inc., 56 Aberfoyle -Cres, # 810, Toronto, Ontario CANADA M8X 2W4. Phone: 416-239-4801 or -800-387-2777. Email: mail@sq.com. Call for information on SGML editing -and browsing, Unix text processing, and customised products on Unix, -DOS and Mac. diff --git a/usr.bin/file/apprentice.c b/usr.bin/file/apprentice.c deleted file mode 100644 index 7d8d9e2..0000000 --- a/usr.bin/file/apprentice.c +++ /dev/null @@ -1,621 +0,0 @@ -/* - * apprentice - make one pass through /etc/magic, learning its secrets. - * - * Copyright (c) Ian F. Darwin, 1987. - * Written by Ian F. Darwin. - * - * This software is not subject to any license of the American Telephone - * and Telegraph Company or of the Regents of the University of California. - * - * Permission is granted to anyone to use this software for any purpose on - * any computer system, and to alter it and redistribute it freely, subject - * to the following restrictions: - * - * 1. The author is not responsible for the consequences of use of this - * software, no matter how awful, even if they arise from flaws in it. - * - * 2. The origin of this software must not be misrepresented, either by - * explicit claim or by omission. Since few users ever read sources, - * credits must appear in the documentation. - * - * 3. Altered versions must be plainly marked as such, and must not be - * misrepresented as being the original software. Since few users - * ever read sources, credits must appear in the documentation. - * - * 4. This notice may not be removed or altered. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <ctype.h> -#include <errno.h> -#include "file.h" - -#ifndef lint -static char *moduleid = - "@(#)$Id: apprentice.c,v 1.25 1997/01/15 17:23:24 christos Exp $"; -#endif /* lint */ - -#define EATAB {while (isascii((unsigned char) *l) && \ - isspace((unsigned char) *l)) ++l;} -#define LOWCASE(l) (isupper((unsigned char) (l)) ? \ - tolower((unsigned char) (l)) : (l)) - - -static int getvalue __P((struct magic *, char **)); -static int hextoint __P((int)); -static char *getstr __P((char *, char *, int, int *)); -static int parse __P((char *, int *, int)); -static void eatsize __P((char **)); - -static int maxmagic = 0; - -static int apprentice_1 __P((char *, int)); - -int -apprentice(fn, check) -char *fn; /* list of magic files */ -int check; /* non-zero? checking-only run. */ -{ - char *p, *mfn; - int file_err, errs = -1; - - maxmagic = MAXMAGIS; - magic = (struct magic *) calloc(sizeof(struct magic), maxmagic); - mfn = malloc(strlen(fn)+1); - if (magic == NULL || mfn == NULL) { - (void) fprintf(stderr, "%s: Out of memory.\n", progname); - if (check) - return -1; - else - exit(1); - } - fn = strcpy(mfn, fn); - - while (fn) { - p = strchr(fn, ':'); - if (p) - *p++ = '\0'; - file_err = apprentice_1(fn, check); - if (file_err > errs) - errs = file_err; - fn = p; - } - if (errs == -1) - (void) fprintf(stderr, "%s: couldn't find any magic files!\n", - progname); - if (!check && errs) - exit(1); - - free(mfn); - return errs; -} - -static int -apprentice_1(fn, check) -char *fn; /* name of magic file */ -int check; /* non-zero? checking-only run. */ -{ - static const char hdr[] = - "cont\toffset\ttype\topcode\tmask\tvalue\tdesc"; - FILE *f; - char line[BUFSIZ+1]; - int errs = 0; - - f = fopen(fn, "r"); - if (f==NULL) { - if (errno != ENOENT) - (void) fprintf(stderr, - "%s: can't read magic file %s (%s)\n", - progname, fn, strerror(errno)); - return -1; - } - - /* parse it */ - if (check) /* print silly verbose header for USG compat. */ - (void) printf("%s\n", hdr); - - for (lineno = 1;fgets(line, BUFSIZ, f) != NULL; lineno++) { - if (line[0]=='#') /* comment, do not parse */ - continue; - if (strlen(line) <= (unsigned)1) /* null line, garbage, etc */ - continue; - line[strlen(line)-1] = '\0'; /* delete newline */ - if (parse(line, &nmagic, check) != 0) - errs = 1; - } - - (void) fclose(f); - return errs; -} - -/* - * extend the sign bit if the comparison is to be signed - */ -uint32 -signextend(m, v) -struct magic *m; -uint32 v; -{ - if (!(m->flag & UNSIGNED)) - switch(m->type) { - /* - * Do not remove the casts below. They are - * vital. When later compared with the data, - * the sign extension must have happened. - */ - case BYTE: - v = (char) v; - break; - case SHORT: - case BESHORT: - case LESHORT: - v = (short) v; - break; - case DATE: - case BEDATE: - case LEDATE: - case LONG: - case BELONG: - case LELONG: - v = (int32) v; - break; - case STRING: - break; - default: - magwarn("can't happen: m->type=%d\n", - m->type); - return -1; - } - return v; -} - -/* - * parse one line from magic file, put into magic[index++] if valid - */ -static int -parse(l, ndx, check) -char *l; -int *ndx, check; -{ - int i = 0, nd = *ndx; - struct magic *m; - char *t, *s; - -#define ALLOC_INCR 20 - if (nd+1 >= maxmagic){ - maxmagic += ALLOC_INCR; - if ((magic = (struct magic *) realloc(magic, - sizeof(struct magic) * - maxmagic)) == NULL) { - (void) fprintf(stderr, "%s: Out of memory.\n", progname); - if (check) - return -1; - else - exit(1); - } - memset(&magic[*ndx], 0, sizeof(struct magic) * ALLOC_INCR); - } - m = &magic[*ndx]; - m->flag = 0; - m->cont_level = 0; - - while (*l == '>') { - ++l; /* step over */ - m->cont_level++; - } - - if (m->cont_level != 0 && *l == '(') { - ++l; /* step over */ - m->flag |= INDIR; - } - if (m->cont_level != 0 && *l == '&') { - ++l; /* step over */ - m->flag |= ADD; - } - - /* get offset, then skip over it */ - m->offset = (int) strtoul(l,&t,0); - if (l == t) - magwarn("offset %s invalid", l); - l = t; - - if (m->flag & INDIR) { - m->in.type = LONG; - m->in.offset = 0; - /* - * read [.lbs][+-]nnnnn) - */ - if (*l == '.') { - l++; - switch (LOWCASE(*l)) { - case 'l': - m->in.type = LONG; - break; - case 'h': - case 's': - m->in.type = SHORT; - break; - case 'c': - case 'b': - m->in.type = BYTE; - break; - default: - magwarn("indirect offset type %c invalid", *l); - break; - } - l++; - } - s = l; - if (*l == '+' || *l == '-') l++; - if (isdigit((unsigned char)*l)) { - m->in.offset = strtoul(l, &t, 0); - if (*s == '-') m->in.offset = - m->in.offset; - } - else - t = l; - if (*t++ != ')') - magwarn("missing ')' in indirect offset"); - l = t; - } - - - while (isascii((unsigned char)*l) && isdigit((unsigned char)*l)) - ++l; - EATAB; - -#define NBYTE 4 -#define NSHORT 5 -#define NLONG 4 -#define NSTRING 6 -#define NDATE 4 -#define NBESHORT 7 -#define NBELONG 6 -#define NBEDATE 6 -#define NLESHORT 7 -#define NLELONG 6 -#define NLEDATE 6 - - if (*l == 'u') { - ++l; - m->flag |= UNSIGNED; - } - - /* get type, skip it */ - if (strncmp(l, "byte", NBYTE)==0) { - m->type = BYTE; - l += NBYTE; - } else if (strncmp(l, "short", NSHORT)==0) { - m->type = SHORT; - l += NSHORT; - } else if (strncmp(l, "long", NLONG)==0) { - m->type = LONG; - l += NLONG; - } else if (strncmp(l, "string", NSTRING)==0) { - m->type = STRING; - l += NSTRING; - } else if (strncmp(l, "date", NDATE)==0) { - m->type = DATE; - l += NDATE; - } else if (strncmp(l, "beshort", NBESHORT)==0) { - m->type = BESHORT; - l += NBESHORT; - } else if (strncmp(l, "belong", NBELONG)==0) { - m->type = BELONG; - l += NBELONG; - } else if (strncmp(l, "bedate", NBEDATE)==0) { - m->type = BEDATE; - l += NBEDATE; - } else if (strncmp(l, "leshort", NLESHORT)==0) { - m->type = LESHORT; - l += NLESHORT; - } else if (strncmp(l, "lelong", NLELONG)==0) { - m->type = LELONG; - l += NLELONG; - } else if (strncmp(l, "ledate", NLEDATE)==0) { - m->type = LEDATE; - l += NLEDATE; - } else { - magwarn("type %s invalid", l); - return -1; - } - /* New-style anding: "0 byte&0x80 =0x80 dynamically linked" */ - if (*l == '&') { - ++l; - m->mask = signextend(m, strtoul(l, &l, 0)); - eatsize(&l); - } else - m->mask = ~0L; - EATAB; - - switch (*l) { - case '>': - case '<': - /* Old-style anding: "0 byte &0x80 dynamically linked" */ - case '&': - case '^': - case '=': - m->reln = *l; - ++l; - break; - case '!': - if (m->type != STRING) { - m->reln = *l; - ++l; - break; - } - /* FALL THROUGH */ - default: - if (*l == 'x' && isascii((unsigned char)l[1]) && - isspace((unsigned char)l[1])) { - m->reln = *l; - ++l; - goto GetDesc; /* Bill The Cat */ - } - m->reln = '='; - break; - } - EATAB; - - if (getvalue(m, &l)) - return -1; - /* - * TODO finish this macro and start using it! - * #define offsetcheck {if (offset > HOWMANY-1) - * magwarn("offset too big"); } - */ - - /* - * now get last part - the description - */ -GetDesc: - EATAB; - if (l[0] == '\b') { - ++l; - m->nospflag = 1; - } else if ((l[0] == '\\') && (l[1] == 'b')) { - ++l; - ++l; - m->nospflag = 1; - } else - m->nospflag = 0; - while ((m->desc[i++] = *l++) != '\0' && i<MAXDESC) - /* NULLBODY */; - - if (check) { - mdump(m); - } - ++(*ndx); /* make room for next */ - return 0; -} - -/* - * Read a numeric value from a pointer, into the value union of a magic - * pointer, according to the magic type. Update the string pointer to point - * just after the number read. Return 0 for success, non-zero for failure. - */ -static int -getvalue(m, p) -struct magic *m; -char **p; -{ - int slen; - - if (m->type == STRING) { - *p = getstr(*p, m->value.s, sizeof(m->value.s), &slen); - m->vallen = slen; - } else - if (m->reln != 'x') { - m->value.l = signextend(m, strtoul(*p, p, 0)); - eatsize(p); - } - return 0; -} - -/* - * Convert a string containing C character escapes. Stop at an unescaped - * space or tab. - * Copy the converted version to "p", returning its length in *slen. - * Return updated scan pointer as function result. - */ -static char * -getstr(s, p, plen, slen) -register char *s; -register char *p; -int plen, *slen; -{ - char *origs = s, *origp = p; - char *pmax = p + plen - 1; - register int c; - register int val; - - while ((c = *s++) != '\0') { - if (isspace((unsigned char) c)) - break; - if (p >= pmax) { - fprintf(stderr, "String too long: %s\n", origs); - break; - } - if(c == '\\') { - switch(c = *s++) { - - case '\0': - goto out; - - default: - *p++ = (char) c; - break; - - case 'n': - *p++ = '\n'; - break; - - case 'r': - *p++ = '\r'; - break; - - case 'b': - *p++ = '\b'; - break; - - case 't': - *p++ = '\t'; - break; - - case 'f': - *p++ = '\f'; - break; - - case 'v': - *p++ = '\v'; - break; - - /* \ and up to 3 octal digits */ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - val = c - '0'; - c = *s++; /* try for 2 */ - if(c >= '0' && c <= '7') { - val = (val<<3) | (c - '0'); - c = *s++; /* try for 3 */ - if(c >= '0' && c <= '7') - val = (val<<3) | (c-'0'); - else - --s; - } - else - --s; - *p++ = (char)val; - break; - - /* \x and up to 2 hex digits */ - case 'x': - val = 'x'; /* Default if no digits */ - c = hextoint(*s++); /* Get next char */ - if (c >= 0) { - val = c; - c = hextoint(*s++); - if (c >= 0) - val = (val << 4) + c; - else - --s; - } else - --s; - *p++ = (char)val; - break; - } - } else - *p++ = (char)c; - } -out: - *p = '\0'; - *slen = p - origp; - return s; -} - - -/* Single hex char to int; -1 if not a hex char. */ -static int -hextoint(c) -int c; -{ - if (!isascii((unsigned char) c)) return -1; - if (isdigit((unsigned char) c)) return c - '0'; - if ((c>='a')&&(c<='f')) return c + 10 - 'a'; - if ((c>='A')&&(c<='F')) return c + 10 - 'A'; - return -1; -} - - -/* - * Print a string containing C character escapes. - */ -void -showstr(fp, s, len) -FILE *fp; -const char *s; -int len; -{ - register char c; - - for (;;) { - c = *s++; - if (len == -1) { - if (c == '\0') - break; - } - else { - if (len-- == 0) - break; - } - if(c >= 040 && c <= 0176) /* TODO isprint && !iscntrl */ - (void) fputc(c, fp); - else { - (void) fputc('\\', fp); - switch (c) { - - case '\n': - (void) fputc('n', fp); - break; - - case '\r': - (void) fputc('r', fp); - break; - - case '\b': - (void) fputc('b', fp); - break; - - case '\t': - (void) fputc('t', fp); - break; - - case '\f': - (void) fputc('f', fp); - break; - - case '\v': - (void) fputc('v', fp); - break; - - default: - (void) fprintf(fp, "%.3o", c & 0377); - break; - } - } - } -} - -/* - * eatsize(): Eat the size spec from a number [eg. 10UL] - */ -static void -eatsize(p) -char **p; -{ - char *l = *p; - - if (LOWCASE(*l) == 'u') - l++; - - switch (LOWCASE(*l)) { - case 'l': /* long */ - case 's': /* short */ - case 'h': /* short */ - case 'b': /* char/byte */ - case 'c': /* char/byte */ - l++; - /*FALLTHROUGH*/ - default: - break; - } - - *p = l; -} diff --git a/usr.bin/file/ascmagic.c b/usr.bin/file/ascmagic.c deleted file mode 100644 index 7ba9ae1..0000000 --- a/usr.bin/file/ascmagic.c +++ /dev/null @@ -1,124 +0,0 @@ -/* - * ASCII magic -- file types that we know based on keywords - * that can appear anywhere in the file. - * - * Copyright (c) Ian F. Darwin, 1987. - * Written by Ian F. Darwin. - * - * This software is not subject to any license of the American Telephone - * and Telegraph Company or of the Regents of the University of California. - * - * Permission is granted to anyone to use this software for any purpose on - * any computer system, and to alter it and redistribute it freely, subject - * to the following restrictions: - * - * 1. The author is not responsible for the consequences of use of this - * software, no matter how awful, even if they arise from flaws in it. - * - * 2. The origin of this software must not be misrepresented, either by - * explicit claim or by omission. Since few users ever read sources, - * credits must appear in the documentation. - * - * 3. Altered versions must be plainly marked as such, and must not be - * misrepresented as being the original software. Since few users - * ever read sources, credits must appear in the documentation. - * - * 4. This notice may not be removed or altered. - */ - -#include <stdio.h> -#include <string.h> -#include <ctype.h> -#include <stdlib.h> -#include <unistd.h> -#include "file.h" -#include "names.h" - -#ifndef lint -static char *moduleid = - "@(#)$Id: ascmagic.c,v 1.21 1997/01/15 17:23:24 christos Exp $"; -#endif /* lint */ - - /* an optimisation over plain strcmp() */ -#define STREQ(a, b) (*(a) == *(b) && strcmp((a), (b)) == 0) - -int -ascmagic(buf, nbytes) -unsigned char *buf; -int nbytes; /* size actually read */ -{ - int i, has_escapes = 0; - unsigned char *s; - char nbuf[HOWMANY+1]; /* one extra for terminating '\0' */ - char *token; - register struct names *p; - - /* - * Do the tar test first, because if the first file in the tar - * archive starts with a dot, we can confuse it with an nroff file. - */ - switch (is_tar(buf, nbytes)) { - case 1: - ckfputs("tar archive", stdout); - return 1; - case 2: - ckfputs("POSIX tar archive", stdout); - return 1; - } - - /* - * for troff, look for . + letter + letter or .\"; - * this must be done to disambiguate tar archives' ./file - * and other trash from real troff input. - */ - if (*buf == '.') { - unsigned char *tp = buf + 1; - - while (isascii(*tp) && isspace(*tp)) - ++tp; /* skip leading whitespace */ - if ((isascii(*tp) && (isalnum(*tp) || *tp=='\\') && - isascii(tp[1]) && (isalnum(tp[1]) || tp[1] == '"'))) { - ckfputs("troff or preprocessor input text", stdout); - return 1; - } - } - if ((*buf == 'c' || *buf == 'C') && - isascii(buf[1]) && isspace(buf[1])) { - ckfputs("fortran program text", stdout); - return 1; - } - - - /* Make sure we are dealing with ascii text before looking for tokens */ - for (i = 0; i < nbytes; i++) { - if (!isascii(buf[i])) - return 0; /* not all ASCII */ - } - - /* look for tokens from names.h - this is expensive! */ - /* make a copy of the buffer here because strtok() will destroy it */ - s = (unsigned char*) memcpy(nbuf, buf, nbytes); - s[nbytes] = '\0'; - has_escapes = (memchr(s, '\033', nbytes) != NULL); - while ((token = strtok((char *) s, " \t\n\r\f")) != NULL) { - s = NULL; /* make strtok() keep on tokin' */ - for (p = names; p < names + NNAMES; p++) { - if (STREQ(p->name, token)) { - ckfputs(types[p->type], stdout); - if (has_escapes) - ckfputs(" (with escape sequences)", - stdout); - return 1; - } - } - } - - /* all else fails, but it is ASCII... */ - ckfputs("ASCII text", stdout); - if (has_escapes) { - ckfputs(" (with escape sequences)", stdout); - } - return 1; -} - - diff --git a/usr.bin/file/compress.c b/usr.bin/file/compress.c deleted file mode 100644 index 096abb6..0000000 --- a/usr.bin/file/compress.c +++ /dev/null @@ -1,122 +0,0 @@ -/* - * compress routines: - * zmagic() - returns 0 if not recognized, uncompresses and prints - * information if recognized - * uncompress(method, old, n, newch) - uncompress old into new, - * using method, return sizeof new - * $Id: compress.c,v 1.9 1995/05/20 22:09:21 christos Exp $ - */ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <sys/wait.h> - -#include "file.h" - -static struct { - char *magic; - int maglen; - char *argv[3]; - int silent; -} compr[] = { - { "\037\235", 2, { "uncompress", "-c", NULL }, 0 }, /* compressed */ - { "\037\213", 2, { "gzip", "-cdq", NULL }, 1 }, /* gzipped */ - { "\037\236", 2, { "gzip", "-cdq", NULL }, 1 }, /* frozen */ - { "\037\240", 2, { "gzip", "-cdq", NULL }, 1 }, /* SCO LZH */ - /* the standard pack utilities do not accept standard input */ - { "\037\036", 2, { "gzip", "-cdq", NULL }, 0 }, /* packed */ -}; - -static int ncompr = sizeof(compr) / sizeof(compr[0]); - - -static int uncompress __P((int, const unsigned char *, unsigned char **, int)); - -int -zmagic(buf, nbytes) -unsigned char *buf; -int nbytes; -{ - unsigned char *newbuf; - int newsize; - int i; - - for (i = 0; i < ncompr; i++) { - if (nbytes < compr[i].maglen) - continue; - if (memcmp(buf, compr[i].magic, compr[i].maglen) == 0) - break; - } - - if (i == ncompr) - return 0; - - if ((newsize = uncompress(i, buf, &newbuf, nbytes)) != 0) { - tryit(newbuf, newsize, 1); - free(newbuf); - printf(" ("); - tryit(buf, nbytes, 0); - printf(")"); - } - return 1; -} - - -static int -uncompress(method, old, newch, n) -int method; -const unsigned char *old; -unsigned char **newch; -int n; -{ - int fdin[2], fdout[2]; - - if (pipe(fdin) == -1 || pipe(fdout) == -1) { - error("cannot create pipe (%s).\n", strerror(errno)); - /*NOTREACHED*/ - } - switch (fork()) { - case 0: /* child */ - (void) close(0); - (void) dup(fdin[0]); - (void) close(fdin[0]); - (void) close(fdin[1]); - - (void) close(1); - (void) dup(fdout[1]); - (void) close(fdout[0]); - (void) close(fdout[1]); - if (compr[method].silent) - (void) close(2); - - execvp(compr[method].argv[0], compr[method].argv); - error("could not execute `%s' (%s).\n", - compr[method].argv[0], strerror(errno)); - /*NOTREACHED*/ - case -1: - error("could not fork (%s).\n", strerror(errno)); - /*NOTREACHED*/ - - default: /* parent */ - (void) close(fdin[0]); - (void) close(fdout[1]); - if (write(fdin[1], old, n) != n) { - error("write failed (%s).\n", strerror(errno)); - /*NOTREACHED*/ - } - (void) close(fdin[1]); - if ((*newch = (unsigned char *) malloc(n)) == NULL) { - error("out of memory.\n"); - /*NOTREACHED*/ - } - if ((n = read(fdout[0], *newch, n)) <= 0) { - free(*newch); - error("read failed (%s).\n", strerror(errno)); - /*NOTREACHED*/ - } - (void) close(fdout[0]); - (void) wait(NULL); - return n; - } -} diff --git a/usr.bin/file/file.1 b/usr.bin/file/file.1 deleted file mode 100644 index 8e70f84..0000000 --- a/usr.bin/file/file.1 +++ /dev/null @@ -1,72 +0,0 @@ -.\" Copyright (c) 1990, 1993, 1994 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)file.1 8.2 (Berkeley) 3/31/94 -.\" -.Dd March 31, 1994 -.Dt FILE 1 -.Os -.Sh NAME -.Nm file -.Nd identify file content -.Sh SYNOPSIS -.Nm file -.Op Fl h -.Ar file ... -.Sh DESCRIPTION -.Nm File -tests the specified files and attempts to classify them. -If a file is a text file, -it attempts to determine the type of text (e.g. -.Xr csh 1 -commands or C source code). -.Pp -The options are as follows: -.Bl -tag -width Ds -.It Fl h -If a symbolic link is specified, identify the file as a symbolic -link. -By default, symbolic links are only identified if they reference -non-existent files. -.El -.Sh COMPATIBILITY -Previous implementations of the -.Nm file -utility did not follow symbolic links by default. -.Sh BUGS -As many tests are used and -.Nm file -stops testing on the first successful one, it can often make mistakes. -.Sh HISTORY -A -.Nm file -command appeared in -.At v6 . diff --git a/usr.bin/file/file.c b/usr.bin/file/file.c deleted file mode 100644 index aa8e663..0000000 --- a/usr.bin/file/file.c +++ /dev/null @@ -1,398 +0,0 @@ -/* - * file - find type of a file or files - main program. - * - * Copyright (c) Ian F. Darwin, 1987. - * Written by Ian F. Darwin. - * - * This software is not subject to any license of the American Telephone - * and Telegraph Company or of the Regents of the University of California. - * - * Permission is granted to anyone to use this software for any purpose on - * any computer system, and to alter it and redistribute it freely, subject - * to the following restrictions: - * - * 1. The author is not responsible for the consequences of use of this - * software, no matter how awful, even if they arise from flaws in it. - * - * 2. The origin of this software must not be misrepresented, either by - * explicit claim or by omission. Since few users ever read sources, - * credits must appear in the documentation. - * - * 3. Altered versions must be plainly marked as such, and must not be - * misrepresented as being the original software. Since few users - * ever read sources, credits must appear in the documentation. - * - * 4. This notice may not be removed or altered. - */ -#ifndef lint -static char *moduleid = - "@(#)$Id: file.c,v 1.38 1997/01/15 19:28:35 christos Exp $"; -#endif /* lint */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <sys/types.h> -#include <sys/param.h> /* for MAXPATHLEN */ -#include <sys/stat.h> -#include <fcntl.h> /* for open() */ -#if (__COHERENT__ >= 0x420) -# include <sys/utime.h> -#else -# ifdef USE_UTIMES -# include <sys/time.h> -# else -# include <utime.h> -# endif -#endif -#include <unistd.h> /* for read() */ - -#include <netinet/in.h> /* for byte swapping */ - -#include "patchlevel.h" -#include "file.h" - -#ifdef S_IFLNK -# define USAGE "Usage: %s [-vczL] [-f namefile] [-m magicfiles] file...\n" -#else -# define USAGE "Usage: %s [-vcz] [-f namefile] [-m magicfiles] file...\n" -#endif - -#ifndef MAGIC -# define MAGIC "/etc/magic" -#endif - -int /* Global command-line options */ - debug = 0, /* debugging */ - lflag = 0, /* follow Symlinks (BSD only) */ - zflag = 0; /* follow (uncompress) compressed files */ - -int /* Misc globals */ - nmagic = 0; /* number of valid magic[]s */ - -struct magic *magic; /* array of magic entries */ - -char *magicfile; /* where magic be found */ - -char *progname; /* used throughout */ -int lineno; /* line number in the magic file */ - - -static void unwrap __P((char *fn)); -#if 0 -static int byteconv4 __P((int, int, int)); -static short byteconv2 __P((int, int, int)); -#endif - -/* - * main - parse arguments and handle options - */ -int -main(argc, argv) -int argc; -char *argv[]; -{ - int c; - int check = 0, didsomefiles = 0, errflg = 0, ret = 0, app = 0; - - if ((progname = strrchr(argv[0], '/')) != NULL) - progname++; - else - progname = argv[0]; - - if (!(magicfile = getenv("MAGIC"))) - magicfile = MAGIC; - - while ((c = getopt(argc, argv, "vcdf:Lm:z")) != EOF) - switch (c) { - case 'v': - (void) fprintf(stdout, "%s-%d.%d\n", progname, - FILE_VERSION_MAJOR, patchlevel); - return 1; - case 'c': - ++check; - break; - case 'd': - ++debug; - break; - case 'f': - if (!app) { - ret = apprentice(magicfile, check); - if (check) - exit(ret); - app = 1; - } - unwrap(optarg); - ++didsomefiles; - break; -#ifdef S_IFLNK - case 'L': - ++lflag; - break; -#endif - case 'm': - magicfile = optarg; - break; - case 'z': - zflag++; - break; - case '?': - default: - errflg++; - break; - } - - if (errflg) { - (void) fprintf(stderr, USAGE, progname); - exit(2); - } - - if (!app) { - ret = apprentice(magicfile, check); - if (check) - exit(ret); - app = 1; - } - - if (optind == argc) { - if (!didsomefiles) { - (void)fprintf(stderr, USAGE, progname); - exit(2); - } - } - else { - int i, wid, nw; - for (wid = 0, i = optind; i < argc; i++) { - nw = strlen(argv[i]); - if (nw > wid) - wid = nw; - } - for (; optind < argc; optind++) - process(argv[optind], wid); - } - - return 0; -} - - -/* - * unwrap -- read a file of filenames, do each one. - */ -static void -unwrap(fn) -char *fn; -{ - char buf[MAXPATHLEN]; - FILE *f; - int wid = 0, cwid; - - if (strcmp("-", fn) == 0) { - f = stdin; - wid = 1; - } else { - if ((f = fopen(fn, "r")) == NULL) { - error("Cannot open `%s' (%s).\n", fn, strerror(errno)); - /*NOTREACHED*/ - } - - while (fgets(buf, MAXPATHLEN, f) != NULL) { - cwid = strlen(buf) - 1; - if (cwid > wid) - wid = cwid; - } - - rewind(f); - } - - while (fgets(buf, MAXPATHLEN, f) != NULL) { - buf[strlen(buf)-1] = '\0'; - process(buf, wid); - } - - (void) fclose(f); -} - - -#if 0 -/* - * byteconv4 - * Input: - * from 4 byte quantity to convert - * same whether to perform byte swapping - * big_endian whether we are a big endian host - */ -static int -byteconv4(from, same, big_endian) - int from; - int same; - int big_endian; -{ - if (same) - return from; - else if (big_endian) /* lsb -> msb conversion on msb */ - { - union { - int i; - char c[4]; - } retval, tmpval; - - tmpval.i = from; - retval.c[0] = tmpval.c[3]; - retval.c[1] = tmpval.c[2]; - retval.c[2] = tmpval.c[1]; - retval.c[3] = tmpval.c[0]; - - return retval.i; - } - else - return ntohl(from); /* msb -> lsb conversion on lsb */ -} - -/* - * byteconv2 - * Same as byteconv4, but for shorts - */ -static short -byteconv2(from, same, big_endian) - int from; - int same; - int big_endian; -{ - if (same) - return from; - else if (big_endian) /* lsb -> msb conversion on msb */ - { - union { - short s; - char c[2]; - } retval, tmpval; - - tmpval.s = (short) from; - retval.c[0] = tmpval.c[1]; - retval.c[1] = tmpval.c[0]; - - return retval.s; - } - else - return ntohs(from); /* msb -> lsb conversion on lsb */ -} -#endif - -/* - * process - process input file - */ -void -process(inname, wid) -const char *inname; -int wid; -{ - int fd = 0; - static const char stdname[] = "standard input"; - unsigned char buf[HOWMANY+1]; /* one extra for terminating '\0' */ - struct stat sb; - int nbytes = 0; /* number of bytes read from a datafile */ - char match = '\0'; - - if (strcmp("-", inname) == 0) { - if (fstat(0, &sb)<0) { - error("cannot fstat `%s' (%s).\n", stdname, - strerror(errno)); - /*NOTREACHED*/ - } - inname = stdname; - } - - if (wid > 0) - (void) printf("%s:%*s ", inname, - (int) (wid - strlen(inname)), ""); - - if (inname != stdname) { - /* - * first try judging the file based on its filesystem status - */ - if (fsmagic(inname, &sb) != 0) { - putchar('\n'); - return; - } - - if ((fd = open(inname, O_RDONLY)) < 0) { - /* We can't open it, but we were able to stat it. */ - if (sb.st_mode & 0002) ckfputs("writeable, ", stdout); - if (sb.st_mode & 0111) ckfputs("executable, ", stdout); - ckfprintf(stdout, "can't read `%s' (%s).\n", - inname, strerror(errno)); - return; - } - } - - - /* - * try looking at the first HOWMANY bytes - */ - if ((nbytes = read(fd, (char *)buf, HOWMANY)) == -1) { - error("read failed (%s).\n", strerror(errno)); - /*NOTREACHED*/ - } - - if (nbytes == 0) - ckfputs("empty", stdout); - else { - buf[nbytes++] = '\0'; /* null-terminate it */ - match = tryit(buf, nbytes, zflag); - } - -#ifdef BUILTIN_ELF - if (match == 's' && nbytes > 5) - tryelf(fd, buf, nbytes); -#endif - - if (inname != stdname) { -#ifdef RESTORE_TIME - /* - * Try to restore access, modification times if read it. - */ -# ifdef USE_UTIMES - struct timeval utsbuf[2]; - utsbuf[0].tv_sec = sb.st_atime; - utsbuf[1].tv_sec = sb.st_mtime; - - (void) utimes(inname, utsbuf); /* don't care if loses */ -# else - struct utimbuf utbuf; - - utbuf.actime = sb.st_atime; - utbuf.modtime = sb.st_mtime; - (void) utime(inname, &utbuf); /* don't care if loses */ -# endif -#endif - (void) close(fd); - } - (void) putchar('\n'); -} - - -int -tryit(buf, nb, zflag) -unsigned char *buf; -int nb, zflag; -{ - /* try compression stuff */ - if (zflag && zmagic(buf, nb)) - return 'z'; - - /* try tests in /etc/magic (or surrogate magic file) */ - if (softmagic(buf, nb)) - return 's'; - - /* try known keywords, check whether it is ASCII */ - if (ascmagic(buf, nb)) - return 'a'; - - /* see if it's international language text */ - if (internatmagic(buf, nb)) - return 'i'; - - /* abandon hope, all ye who remain here */ - ckfputs("data", stdout); - return '\0'; -} diff --git a/usr.bin/file/file.h b/usr.bin/file/file.h deleted file mode 100644 index c2b9654..0000000 --- a/usr.bin/file/file.h +++ /dev/null @@ -1,150 +0,0 @@ -/* - * file.h - definitions for file(1) program - * @(#)$Id: file.h,v 1.25 1997/01/15 19:28:35 christos Exp $ - * - * Copyright (c) Ian F. Darwin, 1987. - * Written by Ian F. Darwin. - * - * This software is not subject to any license of the American Telephone - * and Telegraph Company or of the Regents of the University of California. - * - * Permission is granted to anyone to use this software for any purpose on - * any computer system, and to alter it and redistribute it freely, subject - * to the following restrictions: - * - * 1. The author is not responsible for the consequences of use of this - * software, no matter how awful, even if they arise from flaws in it. - * - * 2. The origin of this software must not be misrepresented, either by - * explicit claim or by omission. Since few users ever read sources, - * credits must appear in the documentation. - * - * 3. Altered versions must be plainly marked as such, and must not be - * misrepresented as being the original software. Since few users - * ever read sources, credits must appear in the documentation. - * - * 4. This notice may not be removed or altered. - */ - -#ifndef __file_h__ -#define __file_h__ - -typedef int int32; -typedef unsigned int uint32; - -#ifndef HOWMANY -# define HOWMANY 8192 /* how much of the file to look at */ -#endif -#define MAXMAGIS 1000 /* max entries in /etc/magic */ -#define MAXDESC 50 /* max leng of text description */ -#define MAXstring 32 /* max leng of "string" types */ - -struct magic { - short flag; -#define INDIR 1 /* if '>(...)' appears, */ -#define UNSIGNED 2 /* comparison is unsigned */ -#define ADD 4 /* if '>&' appears, */ - short cont_level; /* level of ">" */ - struct { - char type; /* byte short long */ - int32 offset; /* offset from indirection */ - } in; - int32 offset; /* offset to magic number */ - unsigned char reln; /* relation (0=eq, '>'=gt, etc) */ - char type; /* int, short, long or string. */ - char vallen; /* length of string value, if any */ -#define BYTE 1 -#define SHORT 2 -#define LONG 4 -#define STRING 5 -#define DATE 6 -#define BESHORT 7 -#define BELONG 8 -#define BEDATE 9 -#define LESHORT 10 -#define LELONG 11 -#define LEDATE 12 - union VALUETYPE { - unsigned char b; - unsigned short h; - uint32 l; - char s[MAXstring]; - unsigned char hs[2]; /* 2 bytes of a fixed-endian "short" */ - unsigned char hl[4]; /* 2 bytes of a fixed-endian "long" */ - } value; /* either number or string */ - uint32 mask; /* mask before comparison with value */ - char nospflag; /* supress space character */ - char desc[MAXDESC]; /* description */ -}; - -#include <stdio.h> /* Include that here, to make sure __P gets defined */ - -#ifndef __P -# if __STDC__ || __cplusplus -# define __P(a) a -# else -# define __P(a) () -# define const -# endif -#endif - -extern int apprentice __P((char *, int)); -extern int ascmagic __P((unsigned char *, int)); -extern void error __P((const char *, ...)); -extern void ckfputs __P((const char *, FILE *)); -struct stat; -extern int fsmagic __P((const char *, struct stat *)); -extern int is_compress __P((const unsigned char *, int *)); -extern int is_tar __P((unsigned char *, int)); -extern void magwarn __P((const char *, ...)); -extern void mdump __P((struct magic *)); -extern void process __P((const char *, int)); -extern void showstr __P((FILE *, const char *, int)); -extern int softmagic __P((unsigned char *, int)); -extern int tryit __P((unsigned char *, int, int)); -extern int zmagic __P((unsigned char *, int)); -extern void ckfprintf __P((FILE *, const char *, ...)); -extern uint32 signextend __P((struct magic *, unsigned int32)); -extern int internatmagic __P((unsigned char *, int)); -extern void tryelf __P((int, char *, int)); - - -extern int errno; /* Some unixes don't define this.. */ - -extern char *progname; /* the program name */ -extern char *magicfile; /* name of the magic file */ -extern int lineno; /* current line number in magic file */ - -extern struct magic *magic; /* array of magic entries */ -extern int nmagic; /* number of valid magic[]s */ - - -extern int debug; /* enable debugging? */ -extern int zflag; /* process compressed files? */ -extern int lflag; /* follow symbolic links? */ - -extern int optind; /* From getopt(3) */ -extern char *optarg; - -#if defined(sun) || defined(__sun__) || defined (__sun) -# if defined(__svr4) || defined (__SVR4) || defined(__svr4__) -# define SOLARIS -# else -# define SUNOS -# endif -#endif - - -#if !defined(__STDC__) || defined(SUNOS) || defined(__convex__) -extern int sys_nerr; -extern char *sys_errlist[]; -#define strerror(e) \ - (((e) >= 0 && (e) < sys_nerr) ? sys_errlist[(e)] : "Unknown error") -#define strtoul(a, b, c) strtol(a, b, c) -#endif - -#ifndef MAXPATHLEN -#define MAXPATHLEN 512 -#endif - -#endif /* __file_h__ */ diff --git a/usr.bin/file/fsmagic.c b/usr.bin/file/fsmagic.c deleted file mode 100644 index dab854e..0000000 --- a/usr.bin/file/fsmagic.c +++ /dev/null @@ -1,181 +0,0 @@ -/* - * fsmagic - magic based on filesystem info - directory, special files, etc. - * - * Copyright (c) Ian F. Darwin, 1987. - * Written by Ian F. Darwin. - * - * This software is not subject to any license of the American Telephone - * and Telegraph Company or of the Regents of the University of California. - * - * Permission is granted to anyone to use this software for any purpose on - * any computer system, and to alter it and redistribute it freely, subject - * to the following restrictions: - * - * 1. The author is not responsible for the consequences of use of this - * software, no matter how awful, even if they arise from flaws in it. - * - * 2. The origin of this software must not be misrepresented, either by - * explicit claim or by omission. Since few users ever read sources, - * credits must appear in the documentation. - * - * 3. Altered versions must be plainly marked as such, and must not be - * misrepresented as being the original software. Since few users - * ever read sources, credits must appear in the documentation. - * - * 4. This notice may not be removed or altered. - */ - -#include <stdio.h> -#include <string.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h> -#include <stdlib.h> -#ifndef major -# if defined(__SVR4) || defined(_SVR4_SOURCE) -# include <sys/mkdev.h> -# endif -#endif -#ifndef major /* if `major' not defined in types.h, */ -#include <sys/sysmacros.h> /* try this one. */ -#endif -#ifndef major /* still not defined? give up, manual intervention needed */ - /* If cc tries to compile this, read and act on it. */ - /* On most systems cpp will discard it automatically */ - Congratulations, you have found a portability bug. - Please grep /usr/include/sys and edit the above #include - to point at the file that defines the "major" macro. -#endif /*major*/ - -#include "file.h" - -#ifndef lint -static char *moduleid = - "@(#)$Id: fsmagic.c,v 1.25 1997/01/15 19:28:35 christos Exp $"; -#endif /* lint */ - -int -fsmagic(fn, sb) -const char *fn; -struct stat *sb; -{ - int ret = 0; - - /* - * Fstat is cheaper but fails for files you don't have read perms on. - * On 4.2BSD and similar systems, use lstat() to identify symlinks. - */ -#ifdef S_IFLNK - if (!lflag) - ret = lstat(fn, sb); - else -#endif - ret = stat(fn, sb); /* don't merge into if; see "ret =" above */ - - if (ret) { - ckfprintf(stdout, - /* Yes, I do mean stdout. */ - /* No \n, caller will provide. */ - "can't stat `%s' (%s).", fn, strerror(errno)); - return 1; - } - - if (sb->st_mode & S_ISUID) ckfputs("setuid ", stdout); - if (sb->st_mode & S_ISGID) ckfputs("setgid ", stdout); - if (sb->st_mode & S_ISVTX) ckfputs("sticky ", stdout); - - switch (sb->st_mode & S_IFMT) { - case S_IFDIR: - ckfputs("directory", stdout); - return 1; - case S_IFCHR: - (void) printf("character special (%ld/%ld)", - (long) major(sb->st_rdev), (long) minor(sb->st_rdev)); - return 1; - case S_IFBLK: - (void) printf("block special (%ld/%ld)", - (long) major(sb->st_rdev), (long) minor(sb->st_rdev)); - return 1; - /* TODO add code to handle V7 MUX and Blit MUX files */ -#ifdef S_IFIFO - case S_IFIFO: - ckfputs("fifo (named pipe)", stdout); - return 1; -#endif -#ifdef S_IFLNK - case S_IFLNK: - { - char buf[BUFSIZ+4]; - register int nch; - struct stat tstatbuf; - - if ((nch = readlink(fn, buf, BUFSIZ-1)) <= 0) { - ckfprintf(stdout, "unreadable symlink (%s).", - strerror(errno)); - return 1; - } - buf[nch] = '\0'; /* readlink(2) forgets this */ - - /* If broken symlink, say so and quit early. */ - if (*buf == '/') { - if (stat(buf, &tstatbuf) < 0) { - ckfprintf(stdout, - "broken symbolic link to %s", buf); - return 1; - } - } - else { - char *tmp; - char buf2[BUFSIZ+BUFSIZ+4]; - - if ((tmp = strrchr(fn, '/')) == NULL) { - tmp = buf; /* in current directory anyway */ - } - else { - strcpy (buf2, fn); /* take directory part */ - buf2[tmp-fn+1] = '\0'; - strcat (buf2, buf); /* plus (relative) symlink */ - tmp = buf2; - } - if (stat(tmp, &tstatbuf) < 0) { - ckfprintf(stdout, - "broken symbolic link to %s", buf); - return 1; - } - } - - /* Otherwise, handle it. */ - if (lflag) { - process(buf, strlen(buf)); - return 1; - } else { /* just print what it points to */ - ckfputs("symbolic link to ", stdout); - ckfputs(buf, stdout); - } - } - return 1; -#endif -#ifdef S_IFSOCK -#ifndef __COHERENT__ - case S_IFSOCK: - ckfputs("socket", stdout); - return 1; -#endif -#endif - case S_IFREG: - break; - default: - error("invalid mode 0%o.\n", sb->st_mode); - /*NOTREACHED*/ - } - - /* - * regular file, check next possibility - */ - if (sb->st_size == 0) { - ckfputs("empty", stdout); - return 1; - } - return 0; -} - diff --git a/usr.bin/file/internat.c b/usr.bin/file/internat.c deleted file mode 100644 index 59a508a..0000000 --- a/usr.bin/file/internat.c +++ /dev/null @@ -1,72 +0,0 @@ -#include "file.h" - -#include <string.h> - -#define F 0 -#define T 1 - -/* - * List of characters that look "reasonable" in international - * language texts. That's almost all characters :), except a - * few in the control range of ASCII (all the known international - * charactersets share the bottom half with ASCII). - */ -static char maybe_internat[256] = { - F, F, F, F, F, F, F, F, T, T, T, T, T, T, F, F, /* 0x0X */ - F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, /* 0x1X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x2X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x3X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x4X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x5X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x6X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F, /* 0x7X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x8X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x9X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0xaX */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0xbX */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0xcX */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0xdX */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0xeX */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T /* 0xfX */ -}; - -/* Maximal length of a line we consider "reasonable". */ -#define MAXLINELEN 300 - -int -internatmagic(buf, nbytes) - unsigned char *buf; - int nbytes; -{ - int i; - unsigned char *cp; - - nbytes--; - - /* First, look whether there are "unreasonable" characters. */ - for (i = 0, cp = buf; i < nbytes; i++, cp++) - if (!maybe_internat[*cp]) - return 0; - - /* - * Now, look whether the file consists of lines of - * "reasonable" length. - */ - - for (i = 0; i < nbytes;) { - cp = memchr(buf, '\n', nbytes - i); - if (cp == NULL) { - /* Don't fail if we hit the end of buffer. */ - if (i + MAXLINELEN >= nbytes) - break; - else - return 0; - } - if (cp - buf > MAXLINELEN) - return 0; - i += (cp - buf + 1); - buf = cp + 1; - } - ckfputs("International language text", stdout); - return 1; -} diff --git a/usr.bin/file/is_tar.c b/usr.bin/file/is_tar.c deleted file mode 100644 index 8654104..0000000 --- a/usr.bin/file/is_tar.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * is_tar() -- figure out whether file is a tar archive. - * - * Stolen (by the author!) from the public domain tar program: - * Pubic Domain version written 26 Aug 1985 John Gilmore (ihnp4!hoptoad!gnu). - * - * @(#)list.c 1.18 9/23/86 Public Domain - gnu - * $Id: is_tar.c,v 1.9 1997/01/15 17:23:24 christos Exp $ - * - * Comments changed and some code/comments reformatted - * for file command by Ian Darwin. - */ - -#include <string.h> -#include <ctype.h> -#include <sys/types.h> -#include "tar.h" - -#define isodigit(c) ( ((c) >= '0') && ((c) <= '7') ) - -#if defined(__STDC__) || defined(__cplusplus) -static int from_oct(int, char*); /* Decode octal number */ -#else -static int from_oct(); -#endif - -/* - * Return - * 0 if the checksum is bad (i.e., probably not a tar archive), - * 1 for old UNIX tar file, - * 2 for Unix Std (POSIX) tar file. - */ -int -is_tar(buf, nbytes) -unsigned char *buf; -int nbytes; -{ - register union record *header = (union record *)buf; - register int i; - register int sum, recsum; - register char *p; - - if (nbytes < sizeof(union record)) - return 0; - - recsum = from_oct(8, header->header.chksum); - - sum = 0; - p = header->charptr; - for (i = sizeof(union record); --i >= 0;) { - /* - * We can't use unsigned char here because of old compilers, - * e.g. V7. - */ - sum += 0xFF & *p++; - } - - /* Adjust checksum to count the "chksum" field as blanks. */ - for (i = sizeof(header->header.chksum); --i >= 0;) - sum -= 0xFF & header->header.chksum[i]; - sum += ' '* sizeof header->header.chksum; - - if (sum != recsum) - return 0; /* Not a tar archive */ - - if (0==strcmp(header->header.magic, TMAGIC)) - return 2; /* Unix Standard tar archive */ - - return 1; /* Old fashioned tar archive */ -} - - -/* - * Quick and dirty octal conversion. - * - * Result is -1 if the field is invalid (all blank, or nonoctal). - */ -static int -from_oct(digs, where) - register int digs; - register char *where; -{ - register int value; - - while (isspace(*where)) { /* Skip spaces */ - where++; - if (--digs <= 0) - return -1; /* All blank field */ - } - value = 0; - while (digs > 0 && isodigit(*where)) { /* Scan til nonoctal */ - value = (value << 3) | (*where++ - '0'); - --digs; - } - - if (digs > 0 && *where && !isspace(*where)) - return -1; /* Ended on non-space/nul */ - - return value; -} diff --git a/usr.bin/file/magic.5 b/usr.bin/file/magic.5 deleted file mode 100644 index c8e85c4..0000000 --- a/usr.bin/file/magic.5 +++ /dev/null @@ -1,206 +0,0 @@ -.TH MAGIC __FSECTION__ "Public Domain" -.\" install as magic.4 on USG, magic.5 on V7 or Berkeley systems. -.SH NAME -magic \- file command's magic number file -.SH DESCRIPTION -This manual page documents the format of the magic file as -used by the -.BR file (__CSECTION__) -command, version __VERSION__. The -.B file -command identifies the type of a file using, -among other tests, -a test for whether the file begins with a certain -.IR "magic number" . -The file -.I __MAGIC__ -specifies what magic numbers are to be tested for, -what message to print if a particular magic number is found, -and additional information to extract from the file. -.PP -Each line of the file specifies a test to be performed. -A test compares the data starting at a particular offset -in the file with a 1-byte, 2-byte, or 4-byte numeric value or -a string. If the test succeeds, a message is printed. -The line consists of the following fields: -.IP offset \w'message'u+2n -A number specifying the offset, in bytes, into the file of the data -which is to be tested. -.IP type -The type of the data to be tested. The possible values are: -.RS -.IP byte \w'message'u+2n -A one-byte value. -.IP short -A two-byte value (on most systems) in this machine's native byte order. -.IP long -A four-byte value (on most systems) in this machine's native byte order. -.IP string -A string of bytes. -.IP date -A four-byte value interpreted as a unix date. -.IP beshort -A two-byte value (on most systems) in big-endian byte order. -.IP belong -A four-byte value (on most systems) in big-endian byte order. -.IP bedate -A four-byte value (on most systems) in big-endian byte order, -interpreted as a unix date. -.IP leshort -A two-byte value (on most systems) in little-endian byte order. -.IP lelong -A four-byte value (on most systems) in little-endian byte order. -.IP ledate -A four-byte value (on most systems) in little-endian byte order, -interpreted as a unix date. -.RE -.PP -The numeric types may optionally be followed by -.B & -and a numeric value, -to specify that the value is to be AND'ed with the -numeric value before any comparisons are done. Prepending a -.B u -to the type indicates that ordered comparisons should be unsigned. -.IP test -The value to be compared with the value from the file. If the type is -numeric, this value -is specified in C form; if it is a string, it is specified as a C string -with the usual escapes permitted (e.g. \en for new-line). -.IP -Numeric values -may be preceded by a character indicating the operation to be performed. -It may be -.BR = , -to specify that the value from the file must equal the specified value, -.BR < , -to specify that the value from the file must be less than the specified -value, -.BR > , -to specify that the value from the file must be greater than the specified -value, -.BR & , -to specify that the value from the file must have set all of the bits -that are set in the specified value, -.BR ^ , -to specify that the value from the file must have clear any of the bits -that are set in the specified value, or -.BR x , -to specify that any value will match. If the character is omitted, -it is assumed to be -.BR = . -.IP -Numeric values are specified in C form; e.g. -.B 13 -is decimal, -.B 013 -is octal, and -.B 0x13 -is hexadecimal. -.IP -For string values, the byte string from the -file must match the specified byte string. -The operators -.BR = , -.B < -and -.B > -(but not -.BR & ) -can be applied to strings. -The length used for matching is that of the string argument -in the magic file. This means that a line can match any string, and -then presumably print that string, by doing -.B >\e0 -(because all strings are greater than the null string). -.IP message -The message to be printed if the comparison succeeds. If the string -contains a -.BR printf (3S) -format specification, the value from the file (with any specified masking -performed) is printed using the message as the format string. -.PP -Some file formats contain additional information which is to be printed -along with the file type. A line which begins with the character -.B > -indicates additional tests and messages to be printed. The number of -.B > -on the line indicates the level of the test; a line with no -.B > -at the beginning is considered to be at level 0. -Each line at level -.IB n \(pl1 -is under the control of the line at level -.IB n -most closely preceding it in the magic file. -If the test on a line at level -.I n -succeeds, the tests specified in all the subsequent lines at level -.IB n \(pl1 -are performed, and the messages printed if the tests succeed. The next -line at level -.I n -terminates this. -If the first character following the last -.B > -is a -.B ( -then the string after the parenthesis is interpreted as an indirect offset. -That means that the number after the parenthesis is used as an offset in -the file. The value at that offset is read, and is used again as an offset -in the file. Indirect offsets are of the form: -.BI (( x [.[bsl]][+-][ y ]). -The value of -.I x -is used as an offset in the file. A byte, short or long is read at that offset -depending on the -.B [bsl] -type specifier. To that number the value of -.I y -is added and the result is used as an offset in the file. The default type -if one is not specified is long. -.PP -Sometimes you do not know the exact offset as this depends on the length of -preceding fields. You can specify an offset relative to the end of the -last uplevel field (of course this may only be done for sublevel tests, i.e. -test beginning with -.B > -). Such a relative offset is specified using -.B & -as a prefix to the offset. -.SH BUGS -The formats -.IR long , -.IR belong , -.IR lelong , -.IR short , -.IR beshort , -.IR leshort , -.IR date , -.IR bedate , -and -.I ledate -are system-dependent; perhaps they should be specified as a number -of bytes (2B, 4B, etc), -since the files being recognized typically come from -a system on which the lengths are invariant. -.PP -There is (currently) no support for specified-endian data to be used in -indirect offsets. -.SH SEE ALSO -.BR file (__CSECTION__) -\- the command that reads this file. -.\" -.\" From: guy@sun.uucp (Guy Harris) -.\" Newsgroups: net.bugs.usg -.\" Subject: /etc/magic's format isn't well documented -.\" Message-ID: <2752@sun.uucp> -.\" Date: 3 Sep 85 08:19:07 GMT -.\" Organization: Sun Microsystems, Inc. -.\" Lines: 136 -.\" -.\" Here's a manual page for the format accepted by the "file" made by adding -.\" the changes I posted to the S5R2 version. -.\" -.\" Modified for Ian Darwin's version of the file command. -.\" @(#)$Id: magic.man,v 1.14 1996/06/22 22:05:07 christos Exp $ diff --git a/usr.bin/file/names.h b/usr.bin/file/names.h deleted file mode 100644 index 54d1cbb..0000000 --- a/usr.bin/file/names.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Names.h - names and types used by ascmagic in file(1). - * These tokens are here because they can appear anywhere in - * the first HOWMANY bytes, while tokens in /etc/magic must - * appear at fixed offsets into the file. Don't make HOWMANY - * too high unless you have a very fast CPU. - * - * Copyright (c) Ian F. Darwin, 1987. - * Written by Ian F. Darwin. - * - * See LEGAL.NOTICE - * - * $Id: names.h,v 1.13 1997/01/15 17:23:24 christos Exp $ - */ - -/* these types are used to index the table 'types': keep em in sync! */ -#define L_C 0 /* first and foremost on UNIX */ -#define L_CC 1 /* Bjarne's postincrement */ -#define L_FORT 2 /* the oldest one */ -#define L_MAKE 3 /* Makefiles */ -#define L_PLI 4 /* PL/1 */ -#define L_MACH 5 /* some kinda assembler */ -#define L_ENG 6 /* English */ -#define L_PAS 7 /* Pascal */ -#define L_MAIL 8 /* Electronic mail */ -#define L_NEWS 9 /* Usenet Netnews */ - -static char *types[] = { - "C program text", - "C++ program text", - "FORTRAN program text", - "make commands text" , - "PL/1 program text", - "assembler program text", - "English text", - "Pascal program text", - "mail text", - "news text", - "can't happen error on names.h/types", - 0}; - -static struct names { - char *name; - short type; -} names[] = { - /* These must be sorted by eye for optimal hit rate */ - /* Add to this list only after substantial meditation */ - {"//", L_CC}, - {"template", L_CC}, - {"virtual", L_CC}, - {"class", L_CC}, - {"public:", L_CC}, - {"private:", L_CC}, - {"/*", L_C}, /* must precede "The", "the", etc. */ - {"#include", L_C}, - {"char", L_C}, - {"The", L_ENG}, - {"the", L_ENG}, - {"double", L_C}, - {"extern", L_C}, - {"float", L_C}, - {"real", L_C}, - {"struct", L_C}, - {"union", L_C}, - {"CFLAGS", L_MAKE}, - {"LDFLAGS", L_MAKE}, - {"all:", L_MAKE}, - {".PRECIOUS", L_MAKE}, -/* Too many files of text have these words in them. Find another way - * to recognize Fortrash. - */ -#ifdef NOTDEF - {"subroutine", L_FORT}, - {"function", L_FORT}, - {"block", L_FORT}, - {"common", L_FORT}, - {"dimension", L_FORT}, - {"integer", L_FORT}, - {"data", L_FORT}, -#endif /*NOTDEF*/ - {".ascii", L_MACH}, - {".asciiz", L_MACH}, - {".byte", L_MACH}, - {".even", L_MACH}, - {".globl", L_MACH}, - {".text", L_MACH}, - {"clr", L_MACH}, - {"(input,", L_PAS}, - {"dcl", L_PLI}, - {"Received:", L_MAIL}, - {">From", L_MAIL}, - {"Return-Path:",L_MAIL}, - {"Cc:", L_MAIL}, - {"Newsgroups:", L_NEWS}, - {"Path:", L_NEWS}, - {"Organization:",L_NEWS}, - {NULL, 0} -}; -#define NNAMES ((sizeof(names)/sizeof(struct names)) - 1) diff --git a/usr.bin/file/patchlevel.h b/usr.bin/file/patchlevel.h deleted file mode 100644 index 387ac2c..0000000 --- a/usr.bin/file/patchlevel.h +++ /dev/null @@ -1,107 +0,0 @@ -#define FILE_VERSION_MAJOR 3 -#define patchlevel 22 - -/* - * Patchlevel file for Ian Darwin's MAGIC command. - * $Id: patchlevel.h,v 1.22 1997/01/15 17:23:24 christos Exp $ - * - * $Log: patchlevel.h,v $ - * Revision 1.22 1997/01/15 17:23:24 christos - * - add support for elf core files: find the program name under SVR4 [Ken Pizzini] - * - print strings only up to the first carriage return [various] - * - freebsd international ascii support [J Wunsch] - * - magic fixes and additions [Guy Harris] - * - 64 bit fixes [Larry Schwimmer] - * - support for both utime and utimes, but don't restore file access times - * by default [various] - * - \xXX only takes 2 hex digits, not 3. - * - re-implement support for core files [Guy Harris] - * - * Revision 1.21 1996/10/05 18:15:29 christos - * Segregate elf stuff and conditionally enable it with -DBUILTIN_ELF - * More magic fixes - * - * Revision 1.20 1996/06/22 22:15:52 christos - * - support relative offsets of the form >& - * - fix bug with truncating magic strings that contain \n - * - file -f - did not read from stdin as documented - * - support elf file parsing using our own elf support. - * - as always magdir fixes and additions. - * - * Revision 1.19 1995/10/27 23:14:46 christos - * Ability to parse colon separated list of magic files - * New LEGAL.NOTICE - * Various magic file changes - * - * Revision 1.18 1995/05/20 22:09:21 christos - * Passed incorrect argument to eatsize(). - * Use %ld and %lx where appropriate. - * Remove unused variables - * ELF support for both big and little endian - * Fixes for small files again. - * - * Revision 1.17 1995/04/28 17:29:13 christos - * - Incorrect nroff detection fix from der Mouse - * - Lost and incorrect magic entries. - * - Added ELF stripped binary detection [in C; ugh] - * - Look for $MAGIC to find the magic file. - * - Eat trailing size specifications from numbers i.e. ignore 10L - * - More fixes for very short files - * - * Revision 1.16 1995/03/25 22:06:45 christos - * - use strtoul() where it exists. - * - fix sign-extend bug - * - try to detect tar archives before nroff files, otherwise - * tar files where the first file starts with a . will not work - * - * Revision 1.15 1995/01/21 21:03:35 christos - * Added CSECTION for the file man page - * Added version flag -v - * Fixed bug with -f input flag (from iorio@violet.berkeley.edu) - * Lots of magic fixes and reorganization... - * - * Revision 1.14 1994/05/03 17:58:23 christos - * changes from mycroft@gnu.ai.mit.edu (Charles Hannum) for unsigned - * - * Revision 1.13 1994/01/21 01:27:01 christos - * Fixed null termination bug from Don Seeley at BSDI in ascmagic.c - * - * Revision 1.12 1993/10/27 20:59:05 christos - * Changed -z flag to understand gzip format too. - * Moved builtin compression detection to a table, and move - * the compress magic entry out of the source. - * Made printing of numbers unsigned, and added the mask to it. - * Changed the buffer size to 8k, because gzip will refuse to - * unzip just a few bytes. - * - * Revision 1.11 1993/09/24 18:49:06 christos - * Fixed small bug in softmagic.c introduced by - * copying the data to be examined out of the input - * buffer. Changed the Makefile to use sed to create - * the correct man pages. - * - * Revision 1.10 1993/09/23 21:56:23 christos - * Passed purify. Fixed indirections. Fixed byte order printing. - * Fixed segmentation faults caused by referencing past the end - * of the magic buffer. Fixed bus errors caused by referencing - * unaligned shorts or longs. - * - * Revision 1.9 1993/03/24 14:23:40 ian - * Batch of minor changes from several contributors. - * - * Revision 1.8 93/02/19 15:01:26 ian - * Numerous changes from Guy Harris too numerous to mention but including - * byte-order independance, fixing "old-style masking", etc. etc. A bugfix - * for broken symlinks from martin@@d255s004.zfe.siemens.de. - * - * Revision 1.7 93/01/05 14:57:27 ian - * Couple of nits picked by Christos (again, thanks). - * - * Revision 1.6 93/01/05 13:51:09 ian - * Lotsa work on the Magic directory. - * - * Revision 1.5 92/09/14 14:54:51 ian - * Fix a tiny null-pointer bug in previous fix for tar archive + uncompress. - * - */ - diff --git a/usr.bin/file/print.c b/usr.bin/file/print.c deleted file mode 100644 index 15042ff..0000000 --- a/usr.bin/file/print.c +++ /dev/null @@ -1,204 +0,0 @@ -/* - * print.c - debugging printout routines - * - * Copyright (c) Ian F. Darwin, 1987. - * Written by Ian F. Darwin. - * - * This software is not subject to any license of the American Telephone - * and Telegraph Company or of the Regents of the University of California. - * - * Permission is granted to anyone to use this software for any purpose on - * any computer system, and to alter it and redistribute it freely, subject - * to the following restrictions: - * - * 1. The author is not responsible for the consequences of use of this - * software, no matter how awful, even if they arise from flaws in it. - * - * 2. The origin of this software must not be misrepresented, either by - * explicit claim or by omission. Since few users ever read sources, - * credits must appear in the documentation. - * - * 3. Altered versions must be plainly marked as such, and must not be - * misrepresented as being the original software. Since few users - * ever read sources, credits must appear in the documentation. - * - * 4. This notice may not be removed or altered. - */ - -#include <stdio.h> -#include <errno.h> -#include <string.h> -#if __STDC__ -# include <stdarg.h> -#else -# include <varargs.h> -#endif -#include <stdlib.h> -#include <unistd.h> -#include <time.h> -#include "file.h" - -#ifndef lint -static char *moduleid = - "@(#)$Id: print.c,v 1.23 1997/01/15 19:28:35 christos Exp $"; -#endif /* lint */ - -#define SZOF(a) (sizeof(a) / sizeof(a[0])) - -void -mdump(m) -struct magic *m; -{ - static char *typ[] = { "invalid", "byte", "short", "invalid", - "long", "string", "date", "beshort", - "belong", "bedate", "leshort", "lelong", - "ledate" }; - (void) fputc('[', stderr); - (void) fprintf(stderr, ">>>>>>>> %d" + 8 - (m->cont_level & 7), - m->offset); - - if (m->flag & INDIR) - (void) fprintf(stderr, "(%s,%d),", - (m->in.type >= 0 && m->in.type < SZOF(typ)) ? - typ[(unsigned char) m->in.type] : - "*bad*", - m->in.offset); - - (void) fprintf(stderr, " %s%s", (m->flag & UNSIGNED) ? "u" : "", - (m->type >= 0 && m->type < SZOF(typ)) ? - typ[(unsigned char) m->type] : - "*bad*"); - if (m->mask != ~0L) - (void) fprintf(stderr, " & %.8x", m->mask); - - (void) fprintf(stderr, ",%c", m->reln); - - if (m->reln != 'x') { - switch (m->type) { - case BYTE: - case SHORT: - case LONG: - case LESHORT: - case LELONG: - case BESHORT: - case BELONG: - (void) fprintf(stderr, "%d", m->value.l); - break; - case STRING: - showstr(stderr, m->value.s, -1); - break; - case DATE: - case LEDATE: - case BEDATE: - { - char *rt, *pp = ctime((time_t*) &m->value.l); - if ((rt = strchr(pp, '\n')) != NULL) - *rt = '\0'; - (void) fprintf(stderr, "%s,", pp); - if (rt) - *rt = '\n'; - } - break; - default: - (void) fputs("*bad*", stderr); - break; - } - } - (void) fprintf(stderr, ",\"%s\"]\n", m->desc); -} - -/* - * ckfputs - futs, but with error checking - * ckfprintf - fprintf, but with error checking - */ -void -ckfputs(str, fil) - const char *str; - FILE *fil; -{ - if (fputs(str,fil) == EOF) - error("write failed.\n"); -} - -/*VARARGS*/ -void -#if __STDC__ -ckfprintf(FILE *f, const char *fmt, ...) -#else -ckfprintf(va_alist) - va_dcl -#endif -{ - va_list va; -#if __STDC__ - va_start(va, fmt); -#else - FILE *f; - const char *fmt; - va_start(va); - f = va_arg(va, FILE *); - fmt = va_arg(va, const char *); -#endif - (void) vfprintf(f, fmt, va); - if (ferror(f)) - error("write failed.\n"); - va_end(va); -} - -/* - * error - print best error message possible and exit - */ -/*VARARGS*/ -void -#if __STDC__ -error(const char *f, ...) -#else -error(va_alist) - va_dcl -#endif -{ - va_list va; -#if __STDC__ - va_start(va, f); -#else - const char *f; - va_start(va); - f = va_arg(va, const char *); -#endif - /* cuz we use stdout for most, stderr here */ - (void) fflush(stdout); - - if (progname != NULL) - (void) fprintf(stderr, "%s: ", progname); - (void) vfprintf(stderr, f, va); - va_end(va); - exit(1); -} - -/*VARARGS*/ -void -#if __STDC__ -magwarn(const char *f, ...) -#else -magwarn(va_alist) - va_dcl -#endif -{ - va_list va; -#if __STDC__ - va_start(va, f); -#else - const char *f; - va_start(va); - f = va_arg(va, const char *); -#endif - /* cuz we use stdout for most, stderr here */ - (void) fflush(stdout); - - if (progname != NULL) - (void) fprintf(stderr, "%s: %s, %d: ", - progname, magicfile, lineno); - (void) vfprintf(stderr, f, va); - va_end(va); - fputc('\n', stderr); -} diff --git a/usr.bin/file/readelf.c b/usr.bin/file/readelf.c deleted file mode 100644 index a007cca..0000000 --- a/usr.bin/file/readelf.c +++ /dev/null @@ -1,314 +0,0 @@ - -#ifdef BUILTIN_ELF -#include <sys/types.h> -#include <string.h> -#include <stdio.h> -#include <ctype.h> -#include <stdlib.h> -#include <unistd.h> -#include <errno.h> - -#include "readelf.h" -#include "file.h" - -static void -doshn(fd, off, num, size, buf) - int fd; - off_t off; - int num; - size_t size; - char *buf; -{ - /* - * This works for both 32-bit and 64-bit ELF formats, - * because it looks only at the "sh_type" field, which is - * always 32 bits, and is preceded only by the "sh_name" - * field which is also always 32 bits, and because it uses - * the shdr size from the ELF header rather than using - * the size of an "Elf32_Shdr". - */ - Elf32_Shdr *sh = (Elf32_Shdr *) buf; - - if (lseek(fd, off, SEEK_SET) == -1) - error("lseek failed (%s).\n", strerror(errno)); - - for ( ; num; num--) { - if (read(fd, buf, size) == -1) - error("read failed (%s).\n", strerror(errno)); - if (sh->sh_type == SHT_SYMTAB) { - (void) printf (", not stripped"); - return; - } - } - (void) printf (", stripped"); -} - -/* - * Look through the program headers of an executable image, searching - * for a PT_INTERP section; if one is found, it's dynamically linked, - * otherwise it's statically linked. - */ -static void -dophn_exec(fd, off, num, size, buf) - int fd; - off_t off; - int num; - size_t size; - char *buf; -{ - /* I am not sure if this works for 64 bit elf formats */ - Elf32_Phdr *ph = (Elf32_Phdr *) buf; - - if (lseek(fd, off, SEEK_SET) == -1) - error("lseek failed (%s).\n", strerror(errno)); - - for ( ; num; num--) { - if (read(fd, buf, size) == -1) - error("read failed (%s).\n", strerror(errno)); - if (ph->p_type == PT_INTERP) { - /* - * Has an interpreter - must be a dynamically-linked - * executable. - */ - printf(", dynamically linked"); - return; - } - } - printf(", statically linked"); -} - -size_t prpsoffsets[] = { - 100, /* SunOS 5.x */ - 32, /* Linux */ -}; - -#define NOFFSETS (sizeof prpsoffsets / sizeof prpsoffsets[0]) - -/* - * Look through the program headers of an executable image, searching - * for a PT_NOTE section of type NT_PRPSINFO, with a name "CORE"; if one - * is found, try looking in various places in its contents for a 16-character - * string containing only printable characters - if found, that string - * should be the name of the program that dropped core. - * Note: right after that 16-character string is, at least in SunOS 5.x - * (and possibly other SVR4-flavored systems) and Linux, a longer string - * (80 characters, in 5.x, probably other SVR4-flavored systems, and Linux) - * containing the start of the command line for that program. - */ -static void -dophn_core(fd, off, num, size, buf) - int fd; - off_t off; - int num; - size_t size; - char *buf; -{ - /* - * This doesn't work for 64-bit ELF, as the "p_offset" field is - * 64 bits in 64-bit ELF. - */ - /* - * This doesn't work for 64-bit ELF, as the "p_offset" field is - * 64 bits in 64-bit ELF. - */ - Elf32_Phdr *ph = (Elf32_Phdr *) buf; - Elf32_Nhdr *nh; - size_t offset, noffset, reloffset; - unsigned char c; - int i, j; - char nbuf[BUFSIZ]; - int bufsize; - - for ( ; num; num--) { - if (lseek(fd, off, SEEK_SET) == -1) - error("lseek failed (%s).\n", strerror(errno)); - if (read(fd, buf, size) == -1) - error("read failed (%s).\n", strerror(errno)); - off += size; - if (ph->p_type != PT_NOTE) - continue; - if (lseek(fd, ph->p_offset, SEEK_SET) == -1) - error("lseek failed (%s).\n", strerror(errno)); - bufsize = read(fd, nbuf, BUFSIZ); - if (bufsize == -1) - error("read failed (%s).\n", strerror(errno)); - offset = 0; - for (;;) { - if (offset >= bufsize) - break; - nh = (Elf32_Nhdr *)&nbuf[offset]; - offset += sizeof *nh; - - /* - * If this note isn't an NT_PRPSINFO note, it's - * not what we're looking for. - */ - if (nh->n_type != NT_PRPSINFO) { - offset += nh->n_namesz; - offset = ((offset + 3)/4)*4; - offset += nh->n_descsz; - offset = ((offset + 3)/4)*4; - continue; - } - - /* - * Make sure this note has the name "CORE". - */ - if (offset + nh->n_namesz >= bufsize) { - /* - * We're past the end of the buffer. - */ - break; - } - if (nh->n_namesz != 5 - || strcmp(&nbuf[offset], "CORE") != 0) - continue; - offset += nh->n_namesz; - offset = ((offset + 3)/4)*4; - - /* - * Extract the program name. We assume it to be - * 16 characters (that's what it is in SunOS 5.x - * and Linux). - * - * Unfortunately, it's at a different offset in - * SunOS 5.x and Linux, so try multiple offsets. - * If the characters aren't all printable, reject - * it. - */ - for (i = 0; i < NOFFSETS; i++) { - reloffset = prpsoffsets[i]; - noffset = offset + reloffset; - for (j = 0; j < 16; - j++, noffset++, reloffset++) { - /* - * Make sure we're not past the end - * of the buffer; if we are, just - * give up. - */ - if (noffset >= bufsize) - return; - - /* - * Make sure we're not past the - * end of the contents; if we - * are, this obviously isn't - * the right offset. - */ - if (reloffset >= nh->n_descsz) - goto tryanother; - - c = nbuf[noffset]; - if (c != '\0' && !isprint(c)) - goto tryanother; - } - - /* - * Well, that worked. - */ - printf(", from '%.16s'", - &nbuf[offset + prpsoffsets[i]]); - return; - - tryanother: - ; - } - offset += nh->n_descsz; - offset = ((offset + 3)/4)*4; - } - } -} - -void -tryelf(fd, buf, nbytes) - int fd; - char *buf; - int nbytes; -{ - union { - int32 l; - char c[sizeof (int32)]; - } u; - - /* - * ELF executables have multiple section headers in arbitrary - * file locations and thus file(1) cannot determine it from easily. - * Instead we traverse thru all section headers until a symbol table - * one is found or else the binary is stripped. - */ - if (buf[EI_MAG0] != ELFMAG0 || buf[EI_MAG1] != ELFMAG1 - || buf[EI_MAG2] != ELFMAG2 || buf[EI_MAG3] != ELFMAG3) - return; - - - if (buf[4] == ELFCLASS32) { - Elf32_Ehdr elfhdr; - if (nbytes <= sizeof (Elf32_Ehdr)) - return; - - - u.l = 1; - (void) memcpy(&elfhdr, buf, sizeof elfhdr); - /* - * If the system byteorder does not equal the - * object byteorder then don't test. - * XXX - we could conceivably fix up the "dophn_XXX()" and - * "doshn()" routines to extract stuff in the right - * byte order.... - */ - if ((u.c[sizeof(long) - 1] + 1) == elfhdr.e_ident[5]) { - if (elfhdr.e_type == ET_CORE) - dophn_core(fd, elfhdr.e_phoff, elfhdr.e_phnum, - elfhdr.e_phentsize, buf); - else { - if (elfhdr.e_type == ET_EXEC) { - dophn_exec(fd, elfhdr.e_phoff, - elfhdr.e_phnum, - elfhdr.e_phentsize, buf); - } - doshn(fd, elfhdr.e_shoff, elfhdr.e_shnum, - elfhdr.e_shentsize, buf); - } - } - return; - } - - if (buf[4] == ELFCLASS64) { - Elf64_Ehdr elfhdr; - if (nbytes <= sizeof (Elf64_Ehdr)) - return; - - - u.l = 1; - (void) memcpy(&elfhdr, buf, sizeof elfhdr); - - /* - * If the system byteorder does not equal the - * object byteorder then don't test. - * XXX - we could conceivably fix up the "dophn_XXX()" and - * "doshn()" routines to extract stuff in the right - * byte order.... - */ - if ((u.c[sizeof(long) - 1] + 1) == elfhdr.e_ident[5]) { -#ifdef notyet - if (elfhdr.e_type == ET_CORE) - dophn_core(fd, elfhdr.e_phoff, elfhdr.e_phnum, - elfhdr.e_phentsize, buf); - else -#endif - { -#ifdef notyet - if (elfhdr.e_type == ET_EXEC) { - dophn_exec(fd, elfhdr.e_phoff, - elfhdr.e_phnum, - elfhdr.e_phentsize, buf); - } -#endif - doshn(fd, elfhdr.e_shoff, elfhdr.e_shnum, - elfhdr.e_shentsize, buf); - } - } - return; - } -} -#endif diff --git a/usr.bin/file/readelf.h b/usr.bin/file/readelf.h deleted file mode 100644 index c4b42d7..0000000 --- a/usr.bin/file/readelf.h +++ /dev/null @@ -1,167 +0,0 @@ -/* - * readelf.h - * @(#)$Id: readelf.h,v 1.4 1997/01/15 17:23:24 christos Exp $ - * - * Provide elf data structures for non-elf machines, allowing file - * non-elf hosts to determine if an elf binary is stripped. - * Note: cobbled from the linux header file, with modifications - */ -#ifndef __fake_elf_h__ -#define __fake_elf_h__ - -typedef unsigned int Elf32_Addr; -typedef unsigned short Elf32_Half; -typedef unsigned int Elf32_Off; -typedef unsigned int Elf32_Word; -typedef unsigned char Elf32_Char; - -/* XXX: We need 64 bit numbers here */ -typedef unsigned int Elf64_Addr[2]; -typedef unsigned short Elf64_Half; -typedef unsigned int Elf64_Off[2]; -typedef unsigned int Elf64_Word; -typedef unsigned char Elf64_Char; - -#define EI_NIDENT 16 - -typedef struct { - Elf32_Char e_ident[EI_NIDENT]; - Elf32_Half e_type; - Elf32_Half e_machine; - Elf32_Word e_version; - Elf32_Addr e_entry; /* Entry point */ - Elf32_Off e_phoff; - Elf32_Off e_shoff; - Elf32_Word e_flags; - Elf32_Half e_ehsize; - Elf32_Half e_phentsize; - Elf32_Half e_phnum; - Elf32_Half e_shentsize; - Elf32_Half e_shnum; - Elf32_Half e_shstrndx; -} Elf32_Ehdr; - -typedef struct { - Elf64_Char e_ident[EI_NIDENT]; - Elf64_Half e_type; - Elf64_Half e_machine; - Elf64_Word e_version; - Elf64_Addr e_entry; /* Entry point */ - Elf64_Off e_phoff; - Elf64_Off e_shoff; - Elf64_Word e_flags; - Elf64_Half e_ehsize; - Elf64_Half e_phentsize; - Elf64_Half e_phnum; - Elf64_Half e_shentsize; - Elf64_Half e_shnum; - Elf64_Half e_shstrndx; -} Elf64_Ehdr; - -/* e_type */ -#define ET_EXEC 2 -#define ET_CORE 4 - -/* sh_type */ -#define SHT_SYMTAB 2 -#define SHT_NOTE 7 - -/* elf type */ -#define ELFDATANONE 0 /* e_ident[EI_DATA] */ -#define ELFDATA2LSB 1 -#define ELFDATA2MSB 2 - -/* elf class */ -#define ELFCLASSNONE 0 -#define ELFCLASS32 1 -#define ELFCLASS64 2 - -/* magic number */ -#define EI_MAG0 0 /* e_ident[] indexes */ -#define EI_MAG1 1 -#define EI_MAG2 2 -#define EI_MAG3 3 -#define EI_CLASS 4 -#define EI_DATA 5 -#define EI_VERSION 6 -#define EI_PAD 7 - -#define ELFMAG0 0x7f /* EI_MAG */ -#define ELFMAG1 'E' -#define ELFMAG2 'L' -#define ELFMAG3 'F' -#define ELFMAG "\177ELF" - -typedef struct { - Elf32_Word p_type; - Elf32_Off p_offset; - Elf32_Addr p_vaddr; - Elf32_Addr p_paddr; - Elf32_Word p_filesz; - Elf32_Word p_memsz; - Elf32_Word p_flags; - Elf32_Word p_align; -} Elf32_Phdr; - -#define PT_NULL 0 /* p_type */ -#define PT_LOAD 1 -#define PT_DYNAMIC 2 -#define PT_INTERP 3 -#define PT_NOTE 4 -#define PT_SHLIB 5 -#define PT_PHDR 6 -#define PT_NUM 7 - -typedef struct { - Elf32_Word sh_name; - Elf32_Word sh_type; - Elf32_Word sh_flags; - Elf32_Addr sh_addr; - Elf32_Off sh_offset; - Elf32_Word sh_size; - Elf32_Word sh_link; - Elf32_Word sh_info; - Elf32_Word sh_addralign; - Elf32_Word sh_entsize; -} Elf32_Shdr; - -typedef struct { - Elf64_Word sh_name; - Elf64_Word sh_type; - Elf64_Off sh_flags; - Elf64_Addr sh_addr; - Elf64_Off sh_offset; - Elf64_Off sh_size; - Elf64_Word sh_link; - Elf64_Word sh_info; - Elf64_Off sh_addralign; - Elf64_Off sh_entsize; -} Elf64_Shdr; - -/* Notes used in ET_CORE */ -#define NT_PRSTATUS 1 -#define NT_PRFPREG 2 -#define NT_PRPSINFO 3 -#define NT_TASKSTRUCT 4 - -/* Note header in a PT_NOTE section */ -typedef struct elf_note { - Elf32_Word n_namesz; /* Name size */ - Elf32_Word n_descsz; /* Content size */ - Elf32_Word n_type; /* Content type */ -} Elf32_Nhdr; - -typedef struct { - Elf64_Word n_namesz; - Elf64_Word n_descsz; - Elf64_Word n_type; -} Elf64_Nhdr; - -#define NT_PRSTATUS 1 -#define NT_PRFPREG 2 -#define NT_PRPSINFO 3 -#define NT_PRXREG 4 -#define NT_PLATFORM 5 -#define NT_AUXV 6 - -#endif diff --git a/usr.bin/file/softmagic.c b/usr.bin/file/softmagic.c deleted file mode 100644 index ab621d2..0000000 --- a/usr.bin/file/softmagic.c +++ /dev/null @@ -1,513 +0,0 @@ -/* - * softmagic - interpret variable magic from /etc/magic - * - * Copyright (c) Ian F. Darwin, 1987. - * Written by Ian F. Darwin. - * - * This software is not subject to any license of the American Telephone - * and Telegraph Company or of the Regents of the University of California. - * - * Permission is granted to anyone to use this software for any purpose on - * any computer system, and to alter it and redistribute it freely, subject - * to the following restrictions: - * - * 1. The author is not responsible for the consequences of use of this - * software, no matter how awful, even if they arise from flaws in it. - * - * 2. The origin of this software must not be misrepresented, either by - * explicit claim or by omission. Since few users ever read sources, - * credits must appear in the documentation. - * - * 3. Altered versions must be plainly marked as such, and must not be - * misrepresented as being the original software. Since few users - * ever read sources, credits must appear in the documentation. - * - * 4. This notice may not be removed or altered. - */ - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#include <time.h> -#include <sys/types.h> - -#include "file.h" - -#ifndef lint -static char *moduleid = - "@(#)$Id: softmagic.c,v 1.34 1997/01/15 19:28:35 christos Exp $"; -#endif /* lint */ - -static int match __P((unsigned char *, int)); -static int mget __P((union VALUETYPE *, - unsigned char *, struct magic *, int)); -static int mcheck __P((union VALUETYPE *, struct magic *)); -static int32 mprint __P((union VALUETYPE *, struct magic *)); -static void mdebug __P((int32, char *, int)); -static int mconvert __P((union VALUETYPE *, struct magic *)); - -/* - * softmagic - lookup one file in database - * (already read from /etc/magic by apprentice.c). - * Passed the name and FILE * of one file to be typed. - */ -/*ARGSUSED1*/ /* nbytes passed for regularity, maybe need later */ -int -softmagic(buf, nbytes) -unsigned char *buf; -int nbytes; -{ - if (match(buf, nbytes)) - return 1; - - return 0; -} - -/* - * Go through the whole list, stopping if you find a match. Process all - * the continuations of that match before returning. - * - * We support multi-level continuations: - * - * At any time when processing a successful top-level match, there is a - * current continuation level; it represents the level of the last - * successfully matched continuation. - * - * Continuations above that level are skipped as, if we see one, it - * means that the continuation that controls them - i.e, the - * lower-level continuation preceding them - failed to match. - * - * Continuations below that level are processed as, if we see one, - * it means we've finished processing or skipping higher-level - * continuations under the control of a successful or unsuccessful - * lower-level continuation, and are now seeing the next lower-level - * continuation and should process it. The current continuation - * level reverts to the level of the one we're seeing. - * - * Continuations at the current level are processed as, if we see - * one, there's no lower-level continuation that may have failed. - * - * If a continuation matches, we bump the current continuation level - * so that higher-level continuations are processed. - */ -static int -match(s, nbytes) -unsigned char *s; -int nbytes; -{ - int magindex = 0; - int cont_level = 0; - int need_separator = 0; - union VALUETYPE p; - static int32 *tmpoff = NULL; - static size_t tmplen = 0; - int32 oldoff = 0; - - if (tmpoff == NULL) - if ((tmpoff = (int32 *) malloc(tmplen = 20)) == NULL) - error("out of memory\n"); - - for (magindex = 0; magindex < nmagic; magindex++) { - /* if main entry matches, print it... */ - if (!mget(&p, s, &magic[magindex], nbytes) || - !mcheck(&p, &magic[magindex])) { - /* - * main entry didn't match, - * flush its continuations - */ - while (magindex < nmagic && - magic[magindex + 1].cont_level != 0) - magindex++; - continue; - } - - tmpoff[cont_level] = mprint(&p, &magic[magindex]); - /* - * If we printed something, we'll need to print - * a blank before we print something else. - */ - if (magic[magindex].desc[0]) - need_separator = 1; - /* and any continuations that match */ - if (++cont_level >= tmplen) - if ((tmpoff = (int32 *) realloc(tmpoff, - tmplen += 20)) == NULL) - error("out of memory\n"); - while (magic[magindex+1].cont_level != 0 && - ++magindex < nmagic) { - if (cont_level >= magic[magindex].cont_level) { - if (cont_level > magic[magindex].cont_level) { - /* - * We're at the end of the level - * "cont_level" continuations. - */ - cont_level = magic[magindex].cont_level; - } - if (magic[magindex].flag & ADD) { - oldoff=magic[magindex].offset; - magic[magindex].offset += tmpoff[cont_level-1]; - } - if (mget(&p, s, &magic[magindex], nbytes) && - mcheck(&p, &magic[magindex])) { - /* - * This continuation matched. - * Print its message, with - * a blank before it if - * the previous item printed - * and this item isn't empty. - */ - /* space if previous printed */ - if (need_separator - && (magic[magindex].nospflag == 0) - && (magic[magindex].desc[0] != '\0') - ) { - (void) putchar(' '); - need_separator = 0; - } - tmpoff[cont_level] = mprint(&p, &magic[magindex]); - if (magic[magindex].desc[0]) - need_separator = 1; - - /* - * If we see any continuations - * at a higher level, - * process them. - */ - if (++cont_level >= tmplen) - if ((tmpoff = - (int32 *) realloc(tmpoff, - tmplen += 20)) == NULL) - error("out of memory\n"); - } - if (magic[magindex].flag & ADD) { - magic[magindex].offset = oldoff; - } - } - } - return 1; /* all through */ - } - return 0; /* no match at all */ -} - -static int32 -mprint(p, m) -union VALUETYPE *p; -struct magic *m; -{ - char *pp, *rt; - uint32 v; - int32 t=0 ; - - - switch (m->type) { - case BYTE: - v = p->b; - v = signextend(m, v) & m->mask; - (void) printf(m->desc, (unsigned char) v); - t = m->offset + sizeof(char); - break; - - case SHORT: - case BESHORT: - case LESHORT: - v = p->h; - v = signextend(m, v) & m->mask; - (void) printf(m->desc, (unsigned short) v); - t = m->offset + sizeof(short); - break; - - case LONG: - case BELONG: - case LELONG: - v = p->l; - v = signextend(m, v) & m->mask; - (void) printf(m->desc, (uint32) v); - t = m->offset + sizeof(int32); - break; - - case STRING: - if (m->reln == '=') { - (void) printf(m->desc, m->value.s); - t = m->offset + strlen(m->value.s); - } - else { - if (*m->value.s == '\0') { - char *cp = strchr(p->s,'\n'); - if (cp) - *cp = '\0'; - } - (void) printf(m->desc, p->s); - t = m->offset + strlen(p->s); - } - break; - - case DATE: - case BEDATE: - case LEDATE: - pp = ctime((time_t*) &p->l); - if ((rt = strchr(pp, '\n')) != NULL) - *rt = '\0'; - (void) printf(m->desc, pp); - t = m->offset + sizeof(time_t); - break; - - default: - error("invalid m->type (%d) in mprint().\n", m->type); - /*NOTREACHED*/ - } - return(t); -} - -/* - * Convert the byte order of the data we are looking at - */ -static int -mconvert(p, m) -union VALUETYPE *p; -struct magic *m; -{ - switch (m->type) { - case BYTE: - case SHORT: - case LONG: - case DATE: - return 1; - case STRING: - { - char *ptr; - - /* Null terminate and eat the return */ - p->s[sizeof(p->s) - 1] = '\0'; - if ((ptr = strchr(p->s, '\n')) != NULL) - *ptr = '\0'; - return 1; - } - case BESHORT: - p->h = (short)((p->hs[0]<<8)|(p->hs[1])); - return 1; - case BELONG: - case BEDATE: - p->l = (int32) - ((p->hl[0]<<24)|(p->hl[1]<<16)|(p->hl[2]<<8)|(p->hl[3])); - return 1; - case LESHORT: - p->h = (short)((p->hs[1]<<8)|(p->hs[0])); - return 1; - case LELONG: - case LEDATE: - p->l = (int32) - ((p->hl[3]<<24)|(p->hl[2]<<16)|(p->hl[1]<<8)|(p->hl[0])); - return 1; - default: - error("invalid type %d in mconvert().\n", m->type); - return 0; - } -} - - -static void -mdebug(offset, str, len) -int32 offset; -char *str; -int len; -{ - (void) fprintf(stderr, "mget @%d: ", offset); - showstr(stderr, (char *) str, len); - (void) fputc('\n', stderr); - (void) fputc('\n', stderr); -} - -static int -mget(p, s, m, nbytes) -union VALUETYPE* p; -unsigned char *s; -struct magic *m; -int nbytes; -{ - int32 offset = m->offset; - - if (offset + sizeof(union VALUETYPE) <= nbytes) - memcpy(p, s + offset, sizeof(union VALUETYPE)); - else { - /* - * the usefulness of padding with zeroes eludes me, it - * might even cause problems - */ - int32 have = nbytes - offset; - memset(p, 0, sizeof(union VALUETYPE)); - if (have > 0) - memcpy(p, s + offset, have); - } - - - if (debug) { - mdebug(offset, (char *) p, sizeof(union VALUETYPE)); - mdump(m); - } - - if (!mconvert(p, m)) - return 0; - - if (m->flag & INDIR) { - - switch (m->in.type) { - case BYTE: - offset = p->b + m->in.offset; - break; - case SHORT: - offset = p->h + m->in.offset; - break; - case LONG: - offset = p->l + m->in.offset; - break; - } - - if (offset + sizeof(union VALUETYPE) > nbytes) - return 0; - - memcpy(p, s + offset, sizeof(union VALUETYPE)); - - if (debug) { - mdebug(offset, (char *) p, sizeof(union VALUETYPE)); - mdump(m); - } - - if (!mconvert(p, m)) - return 0; - } - return 1; -} - -static int -mcheck(p, m) -union VALUETYPE* p; -struct magic *m; -{ - register uint32 l = m->value.l; - register uint32 v; - int matched; - - if ( (m->value.s[0] == 'x') && (m->value.s[1] == '\0') ) { - fprintf(stderr, "BOINK"); - return 1; - } - - - switch (m->type) { - case BYTE: - v = p->b; - break; - - case SHORT: - case BESHORT: - case LESHORT: - v = p->h; - break; - - case LONG: - case BELONG: - case LELONG: - case DATE: - case BEDATE: - case LEDATE: - v = p->l; - break; - - case STRING: - l = 0; - /* What we want here is: - * v = strncmp(m->value.s, p->s, m->vallen); - * but ignoring any nulls. bcmp doesn't give -/+/0 - * and isn't universally available anyway. - */ - v = 0; - { - register unsigned char *a = (unsigned char*)m->value.s; - register unsigned char *b = (unsigned char*)p->s; - register int len = m->vallen; - - while (--len >= 0) - if ((v = *b++ - *a++) != '\0') - break; - } - break; - default: - error("invalid type %d in mcheck().\n", m->type); - return 0;/*NOTREACHED*/ - } - - v = signextend(m, v) & m->mask; - - switch (m->reln) { - case 'x': - if (debug) - (void) fprintf(stderr, "%u == *any* = 1\n", v); - matched = 1; - break; - - case '!': - matched = v != l; - if (debug) - (void) fprintf(stderr, "%u != %u = %d\n", - v, l, matched); - break; - - case '=': - matched = v == l; - if (debug) - (void) fprintf(stderr, "%u == %u = %d\n", - v, l, matched); - break; - - case '>': - if (m->flag & UNSIGNED) { - matched = v > l; - if (debug) - (void) fprintf(stderr, "%u > %u = %d\n", - v, l, matched); - } - else { - matched = (int32) v > (int32) l; - if (debug) - (void) fprintf(stderr, "%d > %d = %d\n", - v, l, matched); - } - break; - - case '<': - if (m->flag & UNSIGNED) { - matched = v < l; - if (debug) - (void) fprintf(stderr, "%u < %u = %d\n", - v, l, matched); - } - else { - matched = (int32) v < (int32) l; - if (debug) - (void) fprintf(stderr, "%d < %d = %d\n", - v, l, matched); - } - break; - - case '&': - matched = (v & l) == l; - if (debug) - (void) fprintf(stderr, "((%x & %x) == %x) = %d\n", - v, l, l, matched); - break; - - case '^': - matched = (v & l) != l; - if (debug) - (void) fprintf(stderr, "((%x & %x) != %x) = %d\n", - v, l, l, matched); - break; - - default: - matched = 0; - error("mcheck: can't happen: invalid relation %d.\n", m->reln); - break;/*NOTREACHED*/ - } - - return matched; -} diff --git a/usr.bin/file/tar.h b/usr.bin/file/tar.h deleted file mode 100644 index fd6f0c9..0000000 --- a/usr.bin/file/tar.h +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Header file for public domain tar (tape archive) program. - * - * @(#)tar.h 1.20 86/10/29 Public Domain. - * - * Created 25 August 1985 by John Gilmore, ihnp4!hoptoad!gnu. - * - * $Id: tar.h,v 1.3 1992/09/08 15:32:41 ian Exp $ # checkin only - */ - -/* - * Kludge for handling systems that can't cope with multiple - * external definitions of a variable. In ONE routine (tar.c), - * we #define TAR_EXTERN to null; here, we set it to "extern" if - * it is not already set. - */ -#ifndef TAR_EXTERN -#define TAR_EXTERN extern -#endif - -/* - * Header block on tape. - * - * I'm going to use traditional DP naming conventions here. - * A "block" is a big chunk of stuff that we do I/O on. - * A "record" is a piece of info that we care about. - * Typically many "record"s fit into a "block". - */ -#define RECORDSIZE 512 -#define NAMSIZ 100 -#define TUNMLEN 32 -#define TGNMLEN 32 - -union record { - char charptr[RECORDSIZE]; - struct header { - char name[NAMSIZ]; - char mode[8]; - char uid[8]; - char gid[8]; - char size[12]; - char mtime[12]; - char chksum[8]; - char linkflag; - char linkname[NAMSIZ]; - char magic[8]; - char uname[TUNMLEN]; - char gname[TGNMLEN]; - char devmajor[8]; - char devminor[8]; - } header; -}; - -/* The checksum field is filled with this while the checksum is computed. */ -#define CHKBLANKS " " /* 8 blanks, no null */ - -/* The magic field is filled with this if uname and gname are valid. */ -#define TMAGIC "ustar " /* 7 chars and a null */ - -/* The linkflag defines the type of file */ -#define LF_OLDNORMAL '\0' /* Normal disk file, Unix compat */ -#define LF_NORMAL '0' /* Normal disk file */ -#define LF_LINK '1' /* Link to previously dumped file */ -#define LF_SYMLINK '2' /* Symbolic link */ -#define LF_CHR '3' /* Character special file */ -#define LF_BLK '4' /* Block special file */ -#define LF_DIR '5' /* Directory */ -#define LF_FIFO '6' /* FIFO special file */ -#define LF_CONTIG '7' /* Contiguous file */ -/* Further link types may be defined later. */ - -/* - * Exit codes from the "tar" program - */ -#define EX_SUCCESS 0 /* success! */ -#define EX_ARGSBAD 1 /* invalid args */ -#define EX_BADFILE 2 /* invalid filename */ -#define EX_BADARCH 3 /* bad archive */ -#define EX_SYSTEM 4 /* system gave unexpected error */ - - -/* - * Global variables - */ -TAR_EXTERN union record *ar_block; /* Start of block of archive */ -TAR_EXTERN union record *ar_record; /* Current record of archive */ -TAR_EXTERN union record *ar_last; /* Last+1 record of archive block */ -TAR_EXTERN char ar_reading; /* 0 writing, !0 reading archive */ -TAR_EXTERN int blocking; /* Size of each block, in records */ -TAR_EXTERN int blocksize; /* Size of each block, in bytes */ -TAR_EXTERN char *ar_file; /* File containing archive */ -TAR_EXTERN char *name_file; /* File containing names to work on */ -TAR_EXTERN char *tar; /* Name of this program */ - -/* - * Flags from the command line - */ -TAR_EXTERN char f_reblock; /* -B */ -TAR_EXTERN char f_create; /* -c */ -TAR_EXTERN char f_debug; /* -d */ -TAR_EXTERN char f_sayblock; /* -D */ -TAR_EXTERN char f_follow_links; /* -h */ -TAR_EXTERN char f_ignorez; /* -i */ -TAR_EXTERN char f_keep; /* -k */ -TAR_EXTERN char f_modified; /* -m */ -TAR_EXTERN char f_oldarch; /* -o */ -TAR_EXTERN char f_use_protection; /* -p */ -TAR_EXTERN char f_sorted_names; /* -s */ -TAR_EXTERN char f_list; /* -t */ -TAR_EXTERN char f_namefile; /* -T */ -TAR_EXTERN char f_verbose; /* -v */ -TAR_EXTERN char f_extract; /* -x */ -TAR_EXTERN char f_compress; /* -z */ - -/* - * We now default to Unix Standard format rather than 4.2BSD tar format. - * The code can actually produce all three: - * f_standard ANSI standard - * f_oldarch V7 - * neither 4.2BSD - * but we don't bother, since 4.2BSD can read ANSI standard format anyway. - * The only advantage to the "neither" option is that we can cmp(1) our - * output to the output of 4.2BSD tar, for debugging. - */ -#define f_standard (!f_oldarch) - -/* - * Structure for keeping track of filenames and lists thereof. - */ -struct name { - struct name *next; - short length; - char found; - char name[NAMSIZ+1]; -}; - -TAR_EXTERN struct name *namelist; /* Points to first name in list */ -TAR_EXTERN struct name *namelast; /* Points to last name in list */ - -TAR_EXTERN int archive; /* File descriptor for archive file */ -TAR_EXTERN int errors; /* # of files in error */ - -/* - * - * Due to the next struct declaration, each routine that includes - * "tar.h" must also include <sys/types.h>. I tried to make it automatic, - * but System V has no defines in <sys/types.h>, so there is no way of - * knowing when it has been included. In addition, it cannot be included - * twice, but must be included exactly once. Argghh! - * - * Thanks, typedef. Thanks, USG. - */ -struct link { - struct link *next; - dev_t dev; - ino_t ino; - short linkcount; - char name[NAMSIZ+1]; -}; - -TAR_EXTERN struct link *linklist; /* Points to first link in list */ - - -/* - * Error recovery stuff - */ -TAR_EXTERN char read_error_flag; - - -/* - * Declarations of functions available to the world. - */ -/*LINTLIBRARY*/ -union record *findrec(); -void userec(); -union record *endofrecs(); -void anno(); -#define annorec(stream, msg) anno(stream, msg, 0) /* Cur rec */ -#define annofile(stream, msg) anno(stream, msg, 1) /* Saved rec */ |