# at decimal offsets 2 and 22, respectively, but they are XOR'ed with
# 255 (hex FF)! DL format SUCKS BIG ROCKS.
#
-0 byte 1 DL file version 1 , medium format (160x100, 4 images/screen)
->42 byte x , %d screens
->43 byte x , %d commands
-0 byte 2 DL file 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
+# All this stuff is commented out because of many conflicts.
+#
+#0 byte 1 DL file version 1 , medium format (160x100, 4 images/screen)
+#>42 byte x , %d screens
+#>43 byte x , %d commands
+#0 byte 2 DL file 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
# This is total guesswork here.
# Based on empirical evidence, version 3's have several nulls following it.
# 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 file version 3
+#0 string \3\0\0\0\0\0\0\0\0\0\0\0 DL file version 3
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
+0 belong 01203604016 TML 0123 byte-order format
+0 belong 01702407010 TML 1032 byte-order format
+0 belong 01003405017 TML 2301 byte-order format
+0 belong 01602007412 TML 3210 byte-order format
#### HPPA
0 belong 0x02100106 HPPA-RISC1.1 relocatable object
0 belong 0x02100107 HPPA-RISC1.1 executable
>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 belong 0x0000ff65 HP old archive
+0 belong 0x020aff65 HP s200 old archive
+0 belong 0x020cff65 HP s200 old archive
+0 belong 0x0208ff65 HP s500 old archive
-0 long 0x015821a6 HP core file
+0 belong 0x015821a6 HP core file
-0 long 0x4da7eee8 HP-WINDOWS font
+0 belong 0x4da7eee8 HP-WINDOWS font
>8 byte >0 -version %ld
0 string Bitmapfile HP Bitmapfile
0 string IMGfile CIS compimg HP Bitmapfile
-0 short 0x8000 lif file
-0 long 0x020c010c compiled Lisp
+0 beshort 0x8000 lif file
+0 belong 0x020c010c compiled Lisp
0 string msgcat01 HP NLS message catalog,
->8 long >0 %d messages
+>8 belong >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)
+>8 beshort 0x1129 (ADR)
+>8 beshort 0x3329 (REAL)
+>8 beshort 0x5529 (LREAL)
+>8 beshort 0x7729 (COMPLX)
+>8 beshort 0x9d29 (LCOMPLX)
+>8 beshort 0xbf29 (CHAR)
+>8 beshort 0xe829 (ARRAY)
+>8 beshort 0x0a2a (LNKARRAY)
+>8 beshort 0x2c2a (STRING)
+>8 beshort 0x4e2a (HXS)
+>8 beshort 0x742a (LIST)
+>8 beshort 0x962a (DIR)
+>8 beshort 0xb82a (ALG)
+>8 beshort 0xda2a (UNIT)
+>8 beshort 0xfc2a (TAGGED)
+>8 beshort 0x1e2b (GROB)
+>8 beshort 0x402b (LIB)
+>8 beshort 0x622b (BACKUP)
+>8 beshort 0x882b (LIBDATA)
+>8 beshort 0x9d2d (PROG)
+>8 beshort 0xcc2d (CODE)
+>8 beshort 0x482e (GNAME)
+>8 beshort 0x6d2e (LNAME)
+>8 beshort 0x922e (XLIB)
0 string %%HP: HP48 text
>6 string T(0) - T(0)
>6 string T(1) - T(1)
#------------------------------------------------------------------------------
-# ms-dos: file(1) magic for MS-DOS files
+# dos: file(1) magic for MS-DOS files (formerly "ms-dos")
#
+# These must come before the Linux/i386 entries.
# .EXE formats (Greg Roelofs, newt@uchicago.edu)
# [GRR: some company sells a self-extractor/displayer for image data(!)]
0 string MZ MS-DOS executable (EXE)
>24 string @ (OS/2 or Windows format)
+>1638 string -lh5- (LHa SFX archive v2.13S)
>7195 string Rar! (RAR self-extracting archive)
-# [GRR 950115: file 3.14 apparently has a buffer-size limitation; offsets
-# bigger than 8161 bytes are ignored (sigh)]
+# [GRR 950118: file 3.14 has a buffer-size limitation; offsets bigger than
+# 8161 bytes are ignored. To make these work, increase HOWMANY in file.h
+# to 32K or more.]
>13297 string PK\003\004 (PKZIP SFX archive v1.93a)
>15770 string PK\003\004 (PKZIP SFX archive v2.04g)
>25115 string PK\003\004 (Info-ZIP SFX archive v5.12)
# and deleted if they duplicate other entries.
#
0 short 0610 Perkin-Elmer executable
+# Cray
+6 beshort 0407 unicos (cray) executable
+# AMD 29K
+0 beshort 0572 amd 29k coff executable
+0 beshort 0160007 amd 29k coff archive
--- /dev/null
+
+#------------------------------------------------------------------------------
+# 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\x00\x30\x00 VMS VAX executable
+>44032 string PK\003\004 (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 (Info-ZIP SFX archive v5.12 w/decryption)