Annotation of embedaddon/php/ext/fileinfo/tests/magic, revision 1.1.1.1

1.1       misho       1: # Magic data for file(1) command.
                      2: # Format is described in magic(5).
                      3: # Don't edit this file, edit /etc/magic or send your suggested inclusions to
                      4: # this file as a wishlist bug against file (using the reportbug utility).
                      5: 
                      6: 
                      7: #------------------------------------------------------------------------------
                      8: # Localstuff:  file(1) magic for locally observed files
                      9: #
                     10: # $File: Localstuff,v 1.4 2003/03/23 04:17:27 christos Exp $
                     11: # Add any locally observed files here.  Remember:
                     12: # text if readable, executable if runnable binary, data if unreadable.
                     13: #------------------------------------------------------------------------------
                     14: # acorn:  file(1) magic for files found on Acorn systems
                     15: #
                     16: 
                     17: # RISC OS Chunk File Format
                     18: # From RISC OS Programmer's Reference Manual, Appendix D
                     19: # We guess the file type from the type of the first chunk.
                     20: 0      lelong          0xc3cbc6c5      RISC OS Chunk data
                     21: >12    string          OBJ_            \b, AOF object
                     22: >12    string          LIB_            \b, ALF library
                     23: 
                     24: # RISC OS AIF, contains "SWI OS_Exit" at offset 16.
                     25: 16     lelong          0xef000011      RISC OS AIF executable
                     26: 
                     27: # RISC OS Draw files
                     28: # From RISC OS Programmer's Reference Manual, Appendix E
                     29: 0      string          Draw            RISC OS Draw file data
                     30: 
                     31: # RISC OS new format font files
                     32: # From RISC OS Programmer's Reference Manual, Appendix E
                     33: 0      string          FONT\0          RISC OS outline font data,
                     34: >5     byte            x               version %d
                     35: 0      string          FONT\1          RISC OS 1bpp font data,
                     36: >5     byte            x               version %d
                     37: 0      string          FONT\4          RISC OS 4bpp font data
                     38: >5     byte            x               version %d
                     39: 
                     40: # RISC OS Music files
                     41: # From RISC OS Programmer's Reference Manual, Appendix E
                     42: 0      string          Maestro\r       RISC OS music file
                     43: >8     byte            x               version %d
                     44: 
                     45: >8     byte            x               type %d
                     46: 
                     47: # Digital Symphony data files
                     48: # From: Bernard Jungen (bern8817@euphonynet.be)
                     49: 0              string  \x02\x01\x13\x13\x13\x01\x0d\x10        Digital Symphony sound sample (RISC OS),
                     50: >8             byte    x       version %d,
                     51: >9             pstring x       named "%s",
                     52: >(9.b+19)      byte    =0      8-bit logarithmic
                     53: >(9.b+19)      byte    =1      LZW-compressed linear
                     54: >(9.b+19)      byte    =2      8-bit linear signed
                     55: >(9.b+19)      byte    =3      16-bit linear signed
                     56: >(9.b+19)      byte    =4      SigmaDelta-compressed linear
                     57: >(9.b+19)      byte    =5      SigmaDelta-compressed logarithmic
                     58: >(9.b+19)      byte    >5      unknown format
                     59: 
                     60: 0      string  \x02\x01\x13\x13\x14\x12\x01\x0b        Digital Symphony song (RISC OS),
                     61: >8     byte    x       version %d,
                     62: >9     byte    =1      1 voice,
                     63: >9     byte    !1      %d voices,
                     64: >10    leshort =1      1 track,
                     65: >10    leshort !1      %d tracks,
                     66: >12    leshort =1      1 pattern
                     67: >12    leshort !1      %d patterns
                     68: 
                     69: 0      string  \x02\x01\x13\x13\x10\x14\x12\x0e
                     70: >9     byte    =0      Digital Symphony sequence (RISC OS),
                     71: >>8    byte    x       version %d,
                     72: >>10   byte    =1      1 line,
                     73: >>10   byte    !1      %d lines,
                     74: >>11   leshort =1      1 position
                     75: >>11   leshort !1      %d positions
                     76: >9     byte    =1      Digital Symphony pattern data (RISC OS),
                     77: >>8    byte    x       version %d,
                     78: >>10   leshort =1      1 pattern
                     79: >>10   leshort !1      %d patterns
                     80: 
                     81: #------------------------------------------------------------------------------
                     82: # adi: file(1) magic for ADi's objects
                     83: # From Gregory McGarry <g.mcgarry@ieee.org>
                     84: #
                     85: 0      leshort         0x521c          COFF DSP21k
                     86: >18    lelong          &02             executable,
                     87: >18    lelong          ^02
                     88: >>18   lelong          &01             static object,
                     89: >>18   lelong          ^01             relocatable object,
                     90: >18    lelong          &010            stripped
                     91: >18    lelong          ^010            not stripped
                     92: 
                     93: #------------------------------------------------------------------------------
                     94: # adventure: file(1) magic for Adventure game files
                     95: #
                     96: # from Allen Garvin <earendil@faeryland.tamu-commerce.edu>
                     97: # Edited by Dave Chapeskie <dchapes@ddm.on.ca> Jun 28, 1998
                     98: # Edited by Chris Chittleborough <cchittleborough@yahoo.com.au>, March 2002
                     99: #
                    100: # ALAN
                    101: # I assume there are other, lower versions, but these are the only ones I
                    102: # saw in the archive.
                    103: 0      beshort 0x0206  ALAN game data
                    104: >2     byte    <10     version 2.6%d
                    105: 
                    106: 
                    107: # Infocom (see z-machine)
                    108: #------------------------------------------------------------------------------
                    109: # Z-machine:  file(1) magic for Z-machine binaries.
                    110: #
                    111: # This will match ${TEX_BASE}/texmf/omega/ocp/char2uni/inbig5.ocp which
                    112: # appears to be a version-0 Z-machine binary.
                    113: #
                    114: # The (false match) message is to correct that behavior.  Perhaps it is
                    115: # not needed.
                    116: #
                    117: 16     belong&0xfe00f0f0       0x3030  Infocom game data
                    118: >0     ubyte                   0       (false match)
                    119: >0     ubyte                   >0      (Z-machine %d,
                    120: >>2    ubeshort                x       Release %d /
                    121: >>18   string                  >\0     Serial %.6s)
                    122: 
                    123: #------------------------------------------------------------------------------
                    124: # Glulx:  file(1) magic for Glulx binaries.
                    125: #
                    126: # I haven't checked for false matches yet.
                    127: #
                    128: 0      string                  Glul    Glulx game data
                    129: >4     beshort                 x       (Version %d
                    130: >>6    byte                    x       \b.%d
                    131: >>8    byte                    x       \b.%d)
                    132: >36    string                  Info    Compiled by Inform
                    133: 
                    134: 
                    135: 
                    136: # For Quetzal and blorb magic see iff
                    137: 
                    138: 
                    139: # TADS (Text Adventure Development System)
                    140: #  All files are machine-independent (games compile to byte-code) and are tagged
                    141: #  with a version string of the form "V2.<digit>.<digit>\0" (but TADS 3 is
                    142: #  on the way).
                    143: #  Game files start with "TADS2 bin\n\r\032\0" then the compiler version.
                    144: 0      string  TADS2\ bin      TADS
                    145: >9     belong  !0x0A0D1A00     game data, CORRUPTED
                    146: >9     belong   0x0A0D1A00
                    147: >>13   string  >\0             %s game data
                    148: #  Resource files start with "TADS2 rsc\n\r\032\0" then the compiler version.
                    149: 0      string  TADS2\ rsc      TADS
                    150: >9     belong  !0x0A0D1A00     resource data, CORRUPTED
                    151: >9     belong   0x0A0D1A00
                    152: >>13   string  >\0             %s resource data
                    153: #  Some saved game files start with "TADS2 save/g\n\r\032\0", a little-endian
                    154: #  2-byte length N, the N-char name of the game file *without* a NUL (darn!),
                    155: # "TADS2 save\n\r\032\0" and the interpreter version. 
                    156: 0      string  TADS2\ save/g   TADS
                    157: >12    belong  !0x0A0D1A00     saved game data, CORRUPTED
                    158: >12    belong   0x0A0D1A00
                    159: >>(16.s+32) string >\0         %s saved game data
                    160: #  Other saved game files start with "TADS2 save\n\r\032\0" and the interpreter
                    161: #  version.
                    162: 0      string  TADS2\ save     TADS
                    163: >10    belong  !0x0A0D1A00     saved game data, CORRUPTED
                    164: >10    belong   0x0A0D1A00
                    165: >>14   string  >\0             %s saved game data
                    166: 
                    167: # Danny Milosavljevic <danny.milo@gmx.net>
                    168: # this are adrift (adventure game standard) game files, extension .taf
                    169: # depending on version magic continues with 0x93453E6139FA (V 4.0)
                    170: # 0x9445376139FA (V 3.90)
                    171: # 0x9445366139FA (V 3.80)
                    172: # this is from source (http://www.adrift.org.uk/) and I have some taf
                    173: # files, and checked them.
                    174: #0     belong  0x3C423FC9
                    175: #>4    belong  0x6A87C2CF      Adrift game file
                    176: #!:mime        application/x-adrift
                    177: #------------------------------------------------------------------------------
                    178: # allegro:  file(1) magic for Allegro datafiles
                    179: # Toby Deshane <hac@shoelace.digivill.net>
                    180: #
                    181: 0 belong 0x736C6821   Allegro datafile (packed)
                    182: 0 belong 0x736C682E   Allegro datafile (not packed/autodetect)
                    183: 0 belong 0x736C682B   Allegro datafile (appended exe data)
                    184: 
                    185: #------------------------------------------------------------------------------
                    186: # alliant:  file(1) magic for Alliant FX series a.out files
                    187: #
                    188: # If the FX series is the one that had a processor with a 68K-derived
                    189: # instruction set, the "short" should probably become "beshort" and the
                    190: # "long" should probably become "belong".
                    191: # If it's the i860-based one, they should probably become either the
                    192: # big-endian or little-endian versions, depending on the mode they ran
                    193: # the 860 in....
                    194: #
                    195: 0      short           0420            0420 Alliant virtual executable
                    196: >2     short           &0x0020         common library
                    197: >16    long            >0              not stripped
                    198: 0      short           0421            0421 Alliant compact executable
                    199: >2     short           &0x0020         common library
                    200: >16    long            >0              not stripped
                    201: #------------------------------------------------------------------------------
                    202: # alpha architecture description
                    203: #
                    204: 
                    205: 0      leshort         0603            COFF format alpha
                    206: >22    leshort&030000  !020000         executable
                    207: >24    leshort         0410            pure
                    208: >24    leshort         0413            paged
                    209: >22    leshort&020000  !0              dynamically linked
                    210: >16    lelong          !0              not stripped
                    211: >16    lelong          0               stripped
                    212: >22    leshort&030000  020000          shared library
                    213: >24    leshort         0407            object
                    214: >27    byte            x               - version %d
                    215: >26    byte            x               .%d
                    216: >28    byte            x               -%d
                    217: 
                    218: # Basic recognition of Digital UNIX core dumps - Mike Bremford <mike@opac.bl.uk>
                    219: #
                    220: # The actual magic number is just "Core", followed by a 2-byte version
                    221: # number; however, treating any file that begins with "Core" as a Digital
                    222: # UNIX core dump file may produce too many false hits, so we include one
                    223: # byte of the version number as well; DU 5.0 appears only to be up to
                    224: # version 2.
                    225: #
                    226: 0      string          Core\001        Alpha COFF format core dump (Digital UNIX)
                    227: >24    string          >\0             \b, from '%s'
                    228: 0      string          Core\002        Alpha COFF format core dump (Digital UNIX)
                    229: >24    string          >\0             \b, from '%s'
                    230: 
                    231: #------------------------------------------------------------------------------
                    232: # amanda:  file(1) magic for amanda file format
                    233: #
                    234: 0      string  AMANDA:\                AMANDA 
                    235: >8     string  TAPESTART\ DATE         tape header file,
                    236: >>23   string  X
                    237: >>>25  string  >\                      Unused %s
                    238: >>23   string  >\                      DATE %s
                    239: >8     string  FILE\                   dump file,
                    240: >>13   string  >\                      DATE %s
                    241: #------------------------------------------------------------------------------
                    242: # amigaos:  file(1) magic for AmigaOS binary formats:
                    243: 
                    244: #
                    245: # From ignatios@cs.uni-bonn.de (Ignatios Souvatzis)
                    246: #
                    247: 0      belong          0x000003fa      AmigaOS shared library
                    248: 0      belong          0x000003f3      AmigaOS loadseg()ble executable/binary
                    249: 0      belong          0x000003e7      AmigaOS object/library data
                    250: #
                    251: 0      beshort         0xe310          Amiga Workbench
                    252: >2     beshort         1               
                    253: >>48   byte            1               disk icon
                    254: >>48   byte            2               drawer icon
                    255: >>48   byte            3               tool icon
                    256: >>48   byte            4               project icon
                    257: >>48   byte            5               garbage icon
                    258: >>48   byte            6               device icon
                    259: >>48   byte            7               kickstart icon
                    260: >>48   byte            8               workbench application icon
                    261: >2     beshort         >1              icon, vers. %d
                    262: #
                    263: # various sound formats from the Amiga
                    264: # G=F6tz Waschk <waschk@informatik.uni-rostock.de>
                    265: #
                    266: 0      string          FC14            Future Composer 1.4 Module sound file
                    267: 0      string          SMOD            Future Composer 1.3 Module sound file
                    268: 0      string          AON4artofnoise  Art Of Noise Module sound file
                    269: 1      string          MUGICIAN/SOFTEYES Mugician Module sound file
                    270: 58     string          SIDMON\ II\ -\ THE      Sidmon 2.0 Module sound file
                    271: 0      string          Synth4.0        Synthesis Module sound file
                    272: 0      string          ARP.            The Holy Noise Module sound file
                    273: 0      string          BeEp\0          JamCracker Module sound file
                    274: 0      string          COSO\0          Hippel-COSO Module sound file
                    275: # Too simple (short, pure ASCII, deep), MPi
                    276: #26    string          V.3             Brian Postma's Soundmon Module sound file v3
                    277: #26    string          BPSM            Brian Postma's Soundmon Module sound file v3
                    278: #26    string          V.2             Brian Postma's Soundmon Module sound file v2
                    279: 
                    280: # The following are from: "Stefan A. Haubenthal" <polluks@web.de>
                    281: 0      beshort         0x0f00          AmigaOS bitmap font
                    282: 0      beshort         0x0f03          AmigaOS outline font
                    283: 0      belong          0x80001001      AmigaOS outline tag
                    284: 0      string          ##\ version     catalog translation
                    285: 0      string          EMOD\0          Amiga E module
                    286: 8      string          ECXM\0          ECX module
                    287: 0      string/c        @database       AmigaGuide file
                    288: 
                    289: # Amiga disk types
                    290: # 
                    291: 0      string          RDSK            Rigid Disk Block
                    292: >160   string          x               on %.24s
                    293: 0      string          DOS\0           Amiga DOS disk
                    294: 0      string          DOS\1           Amiga FFS disk
                    295: 0      string          DOS\2           Amiga Inter DOS disk
                    296: 0      string          DOS\3           Amiga Inter FFS disk
                    297: 0      string          DOS\4           Amiga Fastdir DOS disk
                    298: 0      string          DOS\5           Amiga Fastdir FFS disk
                    299: 0      string          KICK            Kickstart disk
                    300: 
                    301: # From: Alex Beregszaszi <alex@fsn.hu>
                    302: 0      string          LZX             LZX compressed archive (Amiga)
                    303: 
                    304: 
                    305: #------------------------------------------------------------------------------
                    306: # animation:  file(1) magic for animation/movie formats
                    307: #
                    308: # animation formats
                    309: # MPEG, FLI, DL originally from vax@ccwf.cc.utexas.edu (VaX#n8)
                    310: # FLC, SGI, Apple originally from Daniel Quinlan (quinlan@yggdrasil.com)
                    311: 
                    312: # SGI and Apple formats
                    313: 0      string          MOVI            Silicon Graphics movie file
                    314: !:mime video/x-sgi-movie
                    315: 4       string          moov            Apple QuickTime
                    316: !:mime video/quicktime
                    317: >12     string          mvhd            \b movie (fast start)
                    318: >12     string          mdra            \b URL
                    319: >12     string          cmov            \b movie (fast start, compressed header)
                    320: >12     string          rmra            \b multiple URLs
                    321: 4       string          mdat            Apple QuickTime movie (unoptimized)
                    322: !:mime video/quicktime
                    323: #4       string          wide            Apple QuickTime movie (unoptimized)
                    324: #!:mime        video/quicktime
                    325: #4       string          skip            Apple QuickTime movie (modified)
                    326: #!:mime        video/quicktime
                    327: #4       string          free            Apple QuickTime movie (modified)
                    328: #!:mime        video/quicktime
                    329: 4       string          idsc            Apple QuickTime image (fast start)
                    330: !:mime image/x-quicktime
                    331: #4       string          idat            Apple QuickTime image (unoptimized)
                    332: #!:mime        image/x-quicktime
                    333: 4       string          pckg            Apple QuickTime compressed archive
                    334: !:mime application/x-quicktime-player
                    335: 4      string/B        jP              JPEG 2000 image
                    336: !:mime image/jp2
                    337: 4      string          ftyp            ISO Media
                    338: >8     string          isom            \b, MPEG v4 system, version 1
                    339: !:mime video/mp4
                    340: >8     string          iso2            \b, MPEG v4 system, part 12 revision
                    341: >8     string          mp41            \b, MPEG v4 system, version 1
                    342: !:mime video/mp4
                    343: >8     string          mp42            \b, MPEG v4 system, version 2
                    344: !:mime video/mp4
                    345: >8     string          mp7t            \b, MPEG v4 system, MPEG v7 XML
                    346: >8     string          mp7b            \b, MPEG v4 system, MPEG v7 binary XML
                    347: >8     string/B        jp2             \b, JPEG 2000
                    348: !:mime image/jp2
                    349: >8     string          3gp             \b, MPEG v4 system, 3GPP
                    350: !:mime video/3gpp
                    351: >>11   byte            4               \b v4 (H.263/AMR GSM 6.10)
                    352: >>11   byte            5               \b v5 (H.263/AMR GSM 6.10)
                    353: >>11   byte            6               \b v6 (ITU H.264/AMR GSM 6.10)
                    354: >8     string          mmp4            \b, MPEG v4 system, 3GPP Mobile
                    355: !:mime video/mp4
                    356: >8     string          avc1            \b, MPEG v4 system, 3GPP JVT AVC
                    357: !:mime video/3gpp
                    358: >8     string/B        M4A             \b, MPEG v4 system, iTunes AAC-LC
                    359: !:mime audio/mp4
                    360: >8     string/B        M4V             \b, MPEG v4 system, iTunes AVC-LC
                    361: !:mime video/mp4
                    362: >8     string/B        M4P             \b, MPEG v4 system, iTunes AES encrypted
                    363: >8     string/B        M4B             \b, MPEG v4 system, iTunes bookmarked
                    364: >8     string/B        qt              \b, Apple QuickTime movie
                    365: !:mime video/quicktime
                    366: 
                    367: # MPEG sequences
                    368: # Scans for all common MPEG header start codes
                    369: 0       belong             0x00000001     
                    370: >4      byte&0x1F          0x07           JVT NAL sequence, H.264 video
                    371: >>5      byte               66             \b, baseline
                    372: >>5      byte               77             \b, main
                    373: >>5      byte               88             \b, extended
                    374: >>7      byte               x              \b @ L %u
                    375: 0        belong&0xFFFFFF00  0x00000100     
                    376: >3       byte               0xBA           MPEG sequence
                    377: >>4      byte               &0x40          \b, v2, program multiplex
                    378: >>4      byte               ^0x40          \b, v1, system multiplex
                    379: >3       byte               0xBB           MPEG sequence, v1/2, multiplex (missing pack header)
                    380: >3       byte&0x1F          0x07           MPEG sequence, H.264 video
                    381: >>4      byte               66             \b, baseline
                    382: >>4      byte               77             \b, main
                    383: >>4      byte               88             \b, extended
                    384: >>6      byte               x              \b @ L %u
                    385: >3       byte               0xB0           MPEG sequence, v4
                    386: >>5      belong             0x000001B5
                    387: >>>9     byte               &0x80
                    388: >>>>10   byte&0xF0          16             \b, video
                    389: >>>>10   byte&0xF0          32             \b, still texture
                    390: >>>>10   byte&0xF0          48             \b, mesh
                    391: >>>>10   byte&0xF0          64             \b, face
                    392: >>>9     byte&0xF8          8              \b, video
                    393: >>>9     byte&0xF8          16             \b, still texture
                    394: >>>9     byte&0xF8          24             \b, mesh
                    395: >>>9     byte&0xF8          32             \b, face
                    396: >>4      byte               1              \b, simple @ L1
                    397: >>4      byte               2              \b, simple @ L2
                    398: >>4      byte               3              \b, simple @ L3
                    399: >>4      byte               4              \b, simple @ L0
                    400: >>4      byte               17             \b, simple scalable @ L1
                    401: >>4      byte               18             \b, simple scalable @ L2
                    402: >>4      byte               33             \b, core @ L1
                    403: >>4      byte               34             \b, core @ L2
                    404: >>4      byte               50             \b, main @ L2
                    405: >>4      byte               51             \b, main @ L3
                    406: >>4      byte               53             \b, main @ L4
                    407: >>4      byte               66             \b, n-bit @ L2
                    408: >>4      byte               81             \b, scalable texture @ L1
                    409: >>4      byte               97             \b, simple face animation @ L1
                    410: >>4      byte               98             \b, simple face animation @ L2
                    411: >>4      byte               99             \b, simple face basic animation @ L1
                    412: >>4      byte               100            \b, simple face basic animation @ L2
                    413: >>4      byte               113            \b, basic animation text @ L1
                    414: >>4      byte               114            \b, basic animation text @ L2
                    415: >>4      byte               129            \b, hybrid @ L1
                    416: >>4      byte               130            \b, hybrid @ L2
                    417: >>4      byte               145            \b, advanced RT simple @ L!
                    418: >>4      byte               146            \b, advanced RT simple @ L2
                    419: >>4      byte               147            \b, advanced RT simple @ L3
                    420: >>4      byte               148            \b, advanced RT simple @ L4
                    421: >>4      byte               161            \b, core scalable @ L1
                    422: >>4      byte               162            \b, core scalable @ L2
                    423: >>4      byte               163            \b, core scalable @ L3
                    424: >>4      byte               177            \b, advanced coding efficiency @ L1
                    425: >>4      byte               178            \b, advanced coding efficiency @ L2
                    426: >>4      byte               179            \b, advanced coding efficiency @ L3
                    427: >>4      byte               180            \b, advanced coding efficiency @ L4
                    428: >>4      byte               193            \b, advanced core @ L1
                    429: >>4      byte               194            \b, advanced core @ L2
                    430: >>4      byte               209            \b, advanced scalable texture @ L1
                    431: >>4      byte               210            \b, advanced scalable texture @ L2
                    432: >>4      byte               211            \b, advanced scalable texture @ L3
                    433: >>4      byte               225            \b, simple studio @ L1
                    434: >>4      byte               226            \b, simple studio @ L2
                    435: >>4      byte               227            \b, simple studio @ L3
                    436: >>4      byte               228            \b, simple studio @ L4
                    437: >>4      byte               229            \b, core studio @ L1
                    438: >>4      byte               230            \b, core studio @ L2
                    439: >>4      byte               231            \b, core studio @ L3
                    440: >>4      byte               232            \b, core studio @ L4
                    441: >>4      byte               240            \b, advanced simple @ L0
                    442: >>4      byte               241            \b, advanced simple @ L1
                    443: >>4      byte               242            \b, advanced simple @ L2
                    444: >>4      byte               243            \b, advanced simple @ L3
                    445: >>4      byte               244            \b, advanced simple @ L4
                    446: >>4      byte               245            \b, advanced simple @ L5
                    447: >>4      byte               247            \b, advanced simple @ L3b
                    448: >>4      byte               248            \b, FGS @ L0
                    449: >>4      byte               249            \b, FGS @ L1
                    450: >>4      byte               250            \b, FGS @ L2
                    451: >>4      byte               251            \b, FGS @ L3
                    452: >>4      byte               252            \b, FGS @ L4
                    453: >>4      byte               253            \b, FGS @ L5
                    454: >3       byte               0xB5           MPEG sequence, v4
                    455: >>4      byte               &0x80
                    456: >>>5     byte&0xF0          16             \b, video (missing profile header)
                    457: >>>5     byte&0xF0          32             \b, still texture (missing profile header)
                    458: >>>5     byte&0xF0          48             \b, mesh (missing profile header)
                    459: >>>5     byte&0xF0          64             \b, face (missing profile header)
                    460: >>4      byte&0xF8          8              \b, video (missing profile header)
                    461: >>4      byte&0xF8          16             \b, still texture (missing profile header)
                    462: >>4      byte&0xF8          24             \b, mesh (missing profile header)
                    463: >>4      byte&0xF8          32             \b, face (missing profile header)
                    464: >3       byte               0xB3           MPEG sequence
                    465: >>12     belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
                    466: >>12     belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
                    467: >>12     belong             0x000001B5     \b, v2,
                    468: >>>16    byte&0x0F          1              \b HP
                    469: >>>16    byte&0x0F          2              \b Spt
                    470: >>>16    byte&0x0F          3              \b SNR
                    471: >>>16    byte&0x0F          4              \b MP
                    472: >>>16    byte&0x0F          5              \b SP
                    473: >>>17    byte&0xF0          64             \b@HL
                    474: >>>17    byte&0xF0          96             \b@H-14
                    475: >>>17    byte&0xF0          128            \b@ML
                    476: >>>17    byte&0xF0          160            \b@LL
                    477: >>>17    byte               &0x08          \b progressive
                    478: >>>17    byte               ^0x08          \b interlaced
                    479: >>>17    byte&0x06          2              \b Y'CbCr 4:2:0 video
                    480: >>>17    byte&0x06          4              \b Y'CbCr 4:2:2 video
                    481: >>>17    byte&0x06          6              \b Y'CbCr 4:4:4 video
                    482: >>11     byte               &0x02
                    483: >>>75    byte               &0x01
                    484: >>>>140  belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
                    485: >>>>140  belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
                    486: >>>>140  belong             0x000001B5     \b, v2,
                    487: >>>>>144 byte&0x0F          1              \b HP
                    488: >>>>>144 byte&0x0F          2              \b Spt
                    489: >>>>>144 byte&0x0F          3              \b SNR
                    490: >>>>>144 byte&0x0F          4              \b MP
                    491: >>>>>144 byte&0x0F          5              \b SP
                    492: >>>>>145 byte&0xF0          64             \b@HL
                    493: >>>>>145 byte&0xF0          96             \b@H-14
                    494: >>>>>145 byte&0xF0          128            \b@ML
                    495: >>>>>145 byte&0xF0          160            \b@LL
                    496: >>>>>145 byte               &0x08          \b progressive
                    497: >>>>>145 byte               ^0x08          \b interlaced
                    498: >>>>>145 byte&0x06          2              \b Y'CbCr 4:2:0 video
                    499: >>>>>145 byte&0x06          4              \b Y'CbCr 4:2:2 video
                    500: >>>>>145 byte&0x06          6              \b Y'CbCr 4:4:4 video
                    501: >>76    belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
                    502: >>76    belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
                    503: >>76    belong             0x000001B5     \b, v2,
                    504: >>>80   byte&0x0F          1              \b HP
                    505: >>>80   byte&0x0F          2              \b Spt
                    506: >>>80   byte&0x0F          3              \b SNR
                    507: >>>80   byte&0x0F          4              \b MP
                    508: >>>80   byte&0x0F          5              \b SP
                    509: >>>81   byte&0xF0          64             \b@HL
                    510: >>>81   byte&0xF0          96             \b@H-14
                    511: >>>81   byte&0xF0          128            \b@ML
                    512: >>>81   byte&0xF0          160            \b@LL
                    513: >>>81   byte               &0x08          \b progressive
                    514: >>>81   byte               ^0x08          \b interlaced
                    515: >>>81   byte&0x06          2              \b Y'CbCr 4:2:0 video
                    516: >>>81   byte&0x06          4              \b Y'CbCr 4:2:2 video
                    517: >>>81   byte&0x06          6              \b Y'CbCr 4:4:4 video
                    518: >>4      belong&0xFFFFFF00  0x78043800     \b, HD-TV 1920P
                    519: >>>7     byte&0xF0          0x10           \b, 16:9
                    520: >>4      belong&0xFFFFFF00  0x50002D00     \b, SD-TV 1280I
                    521: >>>7     byte&0xF0          0x10           \b, 16:9
                    522: >>4      belong&0xFFFFFF00  0x30024000     \b, PAL Capture
                    523: >>>7     byte&0xF0          0x10           \b, 4:3
                    524: >>4      beshort&0xFFF0     0x2C00         \b, 4CIF
                    525: >>>5     beshort&0x0FFF     0x01E0         \b NTSC
                    526: >>>5     beshort&0x0FFF     0x0240         \b PAL
                    527: >>>7     byte&0xF0          0x20           \b, 4:3
                    528: >>>7     byte&0xF0          0x30           \b, 16:9
                    529: >>>7     byte&0xF0          0x40           \b, 11:5
                    530: >>>7     byte&0xF0          0x80           \b, PAL 4:3
                    531: >>>7     byte&0xF0          0xC0           \b, NTSC 4:3
                    532: >>4      belong&0xFFFFFF00  0x2801E000     \b, LD-TV 640P
                    533: >>>7     byte&0xF0          0x10           \b, 4:3
                    534: >>4      belong&0xFFFFFF00  0x1400F000     \b, 320x240
                    535: >>>7     byte&0xF0          0x10           \b, 4:3
                    536: >>4      belong&0xFFFFFF00  0x0F00A000     \b, 240x160
                    537: >>>7     byte&0xF0          0x10           \b, 4:3
                    538: >>4      belong&0xFFFFFF00  0x0A007800     \b, 160x120
                    539: >>>7     byte&0xF0          0x10           \b, 4:3
                    540: >>4      beshort&0xFFF0     0x1600         \b, CIF
                    541: >>>5     beshort&0x0FFF     0x00F0         \b NTSC
                    542: >>>5     beshort&0x0FFF     0x0120         \b PAL
                    543: >>>7     byte&0xF0          0x20           \b, 4:3
                    544: >>>7     byte&0xF0          0x30           \b, 16:9
                    545: >>>7     byte&0xF0          0x40           \b, 11:5
                    546: >>>7     byte&0xF0          0x80           \b, PAL 4:3
                    547: >>>7     byte&0xF0          0xC0           \b, NTSC 4:3
                    548: >>>5     beshort&0x0FFF     0x0240         \b PAL 625
                    549: >>>>7    byte&0xF0          0x20           \b, 4:3
                    550: >>>>7    byte&0xF0          0x30           \b, 16:9
                    551: >>>>7    byte&0xF0          0x40           \b, 11:5
                    552: >>4      beshort&0xFFF0     0x2D00         \b, CCIR/ITU
                    553: >>>5     beshort&0x0FFF     0x01E0         \b NTSC 525
                    554: >>>5     beshort&0x0FFF     0x0240         \b PAL 625
                    555: >>>7     byte&0xF0          0x20           \b, 4:3
                    556: >>>7     byte&0xF0          0x30           \b, 16:9
                    557: >>>7     byte&0xF0          0x40           \b, 11:5
                    558: >>4      beshort&0xFFF0     0x1E00         \b, SVCD
                    559: >>>5     beshort&0x0FFF     0x01E0         \b NTSC 525
                    560: >>>5     beshort&0x0FFF     0x0240         \b PAL 625
                    561: >>>7     byte&0xF0          0x20           \b, 4:3
                    562: >>>7     byte&0xF0          0x30           \b, 16:9
                    563: >>>7     byte&0xF0          0x40           \b, 11:5
                    564: >>7      byte&0x0F          1              \b, 23.976 fps
                    565: >>7      byte&0x0F          2              \b, 24 fps
                    566: >>7      byte&0x0F          3              \b, 25 fps
                    567: >>7      byte&0x0F          4              \b, 29.97 fps
                    568: >>7      byte&0x0F          5              \b, 30 fps
                    569: >>7      byte&0x0F          6              \b, 50 fps
                    570: >>7      byte&0x0F          7              \b, 59.94 fps
                    571: >>7      byte&0x0F          8              \b, 60 fps
                    572: >>11     byte               &0x04          \b, Constrained
                    573: 
                    574: # MPEG ADTS Audio (*.mpx/mxa/aac)
                    575: # from dreesen@math.fu-berlin.de
                    576: # modified to fully support MPEG ADTS
                    577: 
                    578: # MP3, M1A
                    579: # modified by Joerg Jenderek
                    580: # GRR the original test are too common for many DOS files
                    581: # so don't accept as MP3 until we've tested the rate
                    582: 0       beshort&0xFFFE  0xFFFA
                    583: # rates
                    584: >2      byte&0xF0       0x10           MPEG ADTS, layer III, v1,  32 kbps
                    585: !:mime audio/mpeg
                    586: >2      byte&0xF0       0x20           MPEG ADTS, layer III, v1,  40 kbps
                    587: !:mime audio/mpeg
                    588: >2      byte&0xF0       0x30           MPEG ADTS, layer III, v1,  48 kbps
                    589: !:mime audio/mpeg
                    590: >2      byte&0xF0       0x40           MPEG ADTS, layer III, v1,  56 kbps
                    591: !:mime audio/mpeg
                    592: >2      byte&0xF0       0x50           MPEG ADTS, layer III, v1,  64 kbps
                    593: !:mime audio/mpeg
                    594: >2      byte&0xF0       0x60           MPEG ADTS, layer III, v1,  80 kbps
                    595: !:mime audio/mpeg
                    596: >2      byte&0xF0       0x70           MPEG ADTS, layer III, v1,  96 kbps
                    597: !:mime audio/mpeg
                    598: >2      byte&0xF0       0x80           MPEG ADTS, layer III, v1, 112 kbps
                    599: !:mime audio/mpeg
                    600: >2      byte&0xF0       0x90           MPEG ADTS, layer III, v1, 128 kbps
                    601: !:mime audio/mpeg
                    602: >2      byte&0xF0       0xA0           MPEG ADTS, layer III, v1, 160 kbps
                    603: !:mime audio/mpeg
                    604: >2      byte&0xF0       0xB0           MPEG ADTS, layer III, v1, 192 kbps
                    605: !:mime audio/mpeg
                    606: >2      byte&0xF0       0xC0           MPEG ADTS, layer III, v1, 224 kbps
                    607: !:mime audio/mpeg
                    608: >2      byte&0xF0       0xD0           MPEG ADTS, layer III, v1, 256 kbps
                    609: !:mime audio/mpeg
                    610: >2      byte&0xF0       0xE0           MPEG ADTS, layer III, v1, 320 kbps
                    611: !:mime audio/mpeg
                    612: # timing
                    613: >2      byte&0x0C       0x00           \b, 44.1 kHz
                    614: >2      byte&0x0C       0x04           \b, 48 kHz
                    615: >2      byte&0x0C       0x08           \b, 32 kHz
                    616: # channels/options
                    617: >3      byte&0xC0       0x00           \b, Stereo
                    618: >3      byte&0xC0       0x40           \b, JntStereo
                    619: >3      byte&0xC0       0x80           \b, 2x Monaural
                    620: >3      byte&0xC0       0xC0           \b, Monaural
                    621: #>1     byte            ^0x01          \b, Data Verify
                    622: #>2     byte            &0x02          \b, Packet Pad
                    623: #>2     byte            &0x01          \b, Custom Flag
                    624: #>3     byte            &0x08          \b, Copyrighted
                    625: #>3     byte            &0x04          \b, Original Source
                    626: #>3     byte&0x03       1              \b, NR: 50/15 ms
                    627: #>3     byte&0x03       3              \b, NR: CCIT J.17
                    628: 
                    629: # MP2, M1A
                    630: 0       beshort&0xFFFE  0xFFFC         MPEG ADTS, layer II, v1
                    631: # rates
                    632: >2      byte&0xF0       0x10           \b,  32 kbps
                    633: >2      byte&0xF0       0x20           \b,  48 kbps
                    634: >2      byte&0xF0       0x30           \b,  56 kbps
                    635: >2      byte&0xF0       0x40           \b,  64 kbps
                    636: >2      byte&0xF0       0x50           \b,  80 kbps
                    637: >2      byte&0xF0       0x60           \b,  96 kbps
                    638: >2      byte&0xF0       0x70           \b, 112 kbps
                    639: >2      byte&0xF0       0x80           \b, 128 kbps
                    640: >2      byte&0xF0       0x90           \b, 160 kbps
                    641: >2      byte&0xF0       0xA0           \b, 192 kbps
                    642: >2      byte&0xF0       0xB0           \b, 224 kbps
                    643: >2      byte&0xF0       0xC0           \b, 256 kbps
                    644: >2      byte&0xF0       0xD0           \b, 320 kbps
                    645: >2      byte&0xF0       0xE0           \b, 384 kbps
                    646: # timing
                    647: >2      byte&0x0C       0x00           \b, 44.1 kHz
                    648: >2      byte&0x0C       0x04           \b, 48 kHz
                    649: >2      byte&0x0C       0x08           \b, 32 kHz
                    650: # channels/options
                    651: >3      byte&0xC0       0x00           \b, Stereo
                    652: >3      byte&0xC0       0x40           \b, JntStereo
                    653: >3      byte&0xC0       0x80           \b, 2x Monaural
                    654: >3      byte&0xC0       0xC0           \b, Monaural
                    655: #>1     byte            ^0x01          \b, Data Verify
                    656: #>2     byte            &0x02          \b, Packet Pad
                    657: #>2     byte            &0x01          \b, Custom Flag
                    658: #>3     byte            &0x08          \b, Copyrighted
                    659: #>3     byte            &0x04          \b, Original Source
                    660: #>3     byte&0x03       1              \b, NR: 50/15 ms
                    661: #>3     byte&0x03       3              \b, NR: CCIT J.17
                    662: 
                    663: # MPA, M1A
                    664: # updated by Joerg Jenderek
                    665: # GRR the original test are too common for many DOS files, so test 32 <= kbits <= 448
                    666: # GRR this test is still too general as it catches a BOM of UTF-16 files (0xFFFE)
                    667: # FIXME: Almost all little endian UTF-16 text with BOM are clobbered by these entries
                    668: #0     beshort&0xFFFE          0xFFFE  
                    669: #>2    ubyte&0xF0      >0x0F           
                    670: #>>2   ubyte&0xF0      <0xE1           MPEG ADTS, layer I, v1
                    671: ## rate
                    672: #>>>2      byte&0xF0       0x10           \b,  32 kbps
                    673: #>>>2      byte&0xF0       0x20           \b,  64 kbps
                    674: #>>>2      byte&0xF0       0x30           \b,  96 kbps
                    675: #>>>2      byte&0xF0       0x40           \b, 128 kbps
                    676: #>>>2      byte&0xF0       0x50           \b, 160 kbps
                    677: #>>>2      byte&0xF0       0x60           \b, 192 kbps
                    678: #>>>2      byte&0xF0       0x70           \b, 224 kbps
                    679: #>>>2      byte&0xF0       0x80           \b, 256 kbps
                    680: #>>>2      byte&0xF0       0x90           \b, 288 kbps
                    681: #>>>2      byte&0xF0       0xA0           \b, 320 kbps
                    682: #>>>2      byte&0xF0       0xB0           \b, 352 kbps
                    683: #>>>2      byte&0xF0       0xC0           \b, 384 kbps
                    684: #>>>2      byte&0xF0       0xD0           \b, 416 kbps
                    685: #>>>2      byte&0xF0       0xE0           \b, 448 kbps
                    686: ## timing
                    687: #>>>2      byte&0x0C       0x00           \b, 44.1 kHz
                    688: #>>>2      byte&0x0C       0x04           \b, 48 kHz
                    689: #>>>2      byte&0x0C       0x08           \b, 32 kHz
                    690: ## channels/options
                    691: #>>>3      byte&0xC0       0x00           \b, Stereo
                    692: #>>>3      byte&0xC0       0x40           \b, JntStereo
                    693: #>>>3      byte&0xC0       0x80           \b, 2x Monaural
                    694: #>>>3      byte&0xC0       0xC0           \b, Monaural
                    695: ##>1     byte            ^0x01          \b, Data Verify
                    696: ##>2     byte            &0x02          \b, Packet Pad
                    697: ##>2     byte            &0x01          \b, Custom Flag
                    698: ##>3     byte            &0x08          \b, Copyrighted
                    699: ##>3     byte            &0x04          \b, Original Source
                    700: ##>3     byte&0x03       1              \b, NR: 50/15 ms
                    701: ##>3     byte&0x03       3              \b, NR: CCIT J.17
                    702: 
                    703: # MP3, M2A
                    704: 0       beshort&0xFFFE  0xFFF2         MPEG ADTS, layer III, v2
                    705: # rate
                    706: >2      byte&0xF0       0x10           \b,   8 kbps
                    707: >2      byte&0xF0       0x20           \b,  16 kbps
                    708: >2      byte&0xF0       0x30           \b,  24 kbps
                    709: >2      byte&0xF0       0x40           \b,  32 kbps
                    710: >2      byte&0xF0       0x50           \b,  40 kbps
                    711: >2      byte&0xF0       0x60           \b,  48 kbps
                    712: >2      byte&0xF0       0x70           \b,  56 kbps
                    713: >2      byte&0xF0       0x80           \b,  64 kbps
                    714: >2      byte&0xF0       0x90           \b,  80 kbps
                    715: >2      byte&0xF0       0xA0           \b,  96 kbps
                    716: >2      byte&0xF0       0xB0           \b, 112 kbps
                    717: >2      byte&0xF0       0xC0           \b, 128 kbps
                    718: >2      byte&0xF0       0xD0           \b, 144 kbps
                    719: >2      byte&0xF0       0xE0           \b, 160 kbps
                    720: # timing
                    721: >2      byte&0x0C       0x00           \b, 22.05 kHz
                    722: >2      byte&0x0C       0x04           \b, 24 kHz
                    723: >2      byte&0x0C       0x08           \b, 16 kHz
                    724: # channels/options
                    725: >3      byte&0xC0       0x00           \b, Stereo
                    726: >3      byte&0xC0       0x40           \b, JntStereo
                    727: >3      byte&0xC0       0x80           \b, 2x Monaural
                    728: >3      byte&0xC0       0xC0           \b, Monaural
                    729: #>1     byte            ^0x01          \b, Data Verify
                    730: #>2     byte            &0x02          \b, Packet Pad
                    731: #>2     byte            &0x01          \b, Custom Flag
                    732: #>3     byte            &0x08          \b, Copyrighted
                    733: #>3     byte            &0x04          \b, Original Source
                    734: #>3     byte&0x03       1              \b, NR: 50/15 ms
                    735: #>3     byte&0x03       3              \b, NR: CCIT J.17
                    736: 
                    737: # MP2, M2A
                    738: 0       beshort&0xFFFE  0xFFF4         MPEG ADTS, layer II, v2
                    739: # rate 
                    740: >2      byte&0xF0       0x10           \b,   8 kbps
                    741: >2      byte&0xF0       0x20           \b,  16 kbps 
                    742: >2      byte&0xF0       0x30           \b,  24 kbps
                    743: >2      byte&0xF0       0x40           \b,  32 kbps
                    744: >2      byte&0xF0       0x50           \b,  40 kbps
                    745: >2      byte&0xF0       0x60           \b,  48 kbps
                    746: >2      byte&0xF0       0x70           \b,  56 kbps
                    747: >2      byte&0xF0       0x80           \b,  64 kbps
                    748: >2      byte&0xF0       0x90           \b,  80 kbps
                    749: >2      byte&0xF0       0xA0           \b,  96 kbps
                    750: >2      byte&0xF0       0xB0           \b, 112 kbps
                    751: >2      byte&0xF0       0xC0           \b, 128 kbps
                    752: >2      byte&0xF0       0xD0           \b, 144 kbps
                    753: >2      byte&0xF0       0xE0           \b, 160 kbps
                    754: # timing
                    755: >2      byte&0x0C       0x00           \b, 22.05 kHz
                    756: >2      byte&0x0C       0x04           \b, 24 kHz
                    757: >2      byte&0x0C       0x08           \b, 16 kHz
                    758: # channels/options
                    759: >3      byte&0xC0       0x00           \b, Stereo
                    760: >3      byte&0xC0       0x40           \b, JntStereo
                    761: >3      byte&0xC0       0x80           \b, 2x Monaural
                    762: >3      byte&0xC0       0xC0           \b, Monaural
                    763: #>1     byte            ^0x01          \b, Data Verify
                    764: #>2     byte            &0x02          \b, Packet Pad
                    765: #>2     byte            &0x01          \b, Custom Flag
                    766: #>3     byte            &0x08          \b, Copyrighted
                    767: #>3     byte            &0x04          \b, Original Source
                    768: #>3     byte&0x03       1              \b, NR: 50/15 ms
                    769: #>3     byte&0x03       3              \b, NR: CCIT J.17
                    770: 
                    771: # MPA, M2A
                    772: 0       beshort&0xFFFE  0xFFF6         MPEG ADTS, layer I, v2
                    773: # rate
                    774: >2      byte&0xF0       0x10           \b,  32 kbps
                    775: >2      byte&0xF0       0x20           \b,  48 kbps
                    776: >2      byte&0xF0       0x30           \b,  56 kbps
                    777: >2      byte&0xF0       0x40           \b,  64 kbps
                    778: >2      byte&0xF0       0x50           \b,  80 kbps
                    779: >2      byte&0xF0       0x60           \b,  96 kbps
                    780: >2      byte&0xF0       0x70           \b, 112 kbps
                    781: >2      byte&0xF0       0x80           \b, 128 kbps
                    782: >2      byte&0xF0       0x90           \b, 144 kbps
                    783: >2      byte&0xF0       0xA0           \b, 160 kbps
                    784: >2      byte&0xF0       0xB0           \b, 176 kbps
                    785: >2      byte&0xF0       0xC0           \b, 192 kbps
                    786: >2      byte&0xF0       0xD0           \b, 224 kbps
                    787: >2      byte&0xF0       0xE0           \b, 256 kbps
                    788: # timing
                    789: >2      byte&0x0C       0x00           \b, 22.05 kHz
                    790: >2      byte&0x0C       0x04           \b, 24 kHz
                    791: >2      byte&0x0C       0x08           \b, 16 kHz
                    792: # channels/options
                    793: >3      byte&0xC0       0x00           \b, Stereo
                    794: >3      byte&0xC0       0x40           \b, JntStereo
                    795: >3      byte&0xC0       0x80           \b, 2x Monaural
                    796: >3      byte&0xC0       0xC0           \b, Monaural
                    797: #>1     byte            ^0x01          \b, Data Verify
                    798: #>2     byte            &0x02          \b, Packet Pad
                    799: #>2     byte            &0x01          \b, Custom Flag
                    800: #>3     byte            &0x08          \b, Copyrighted
                    801: #>3     byte            &0x04          \b, Original Source
                    802: #>3     byte&0x03       1              \b, NR: 50/15 ms
                    803: #>3     byte&0x03       3              \b, NR: CCIT J.17
                    804: 
                    805: # MP3, M25A
                    806: 0       beshort&0xFFFE  0xFFE2         MPEG ADTS, layer III,  v2.5
                    807: # rate  
                    808: >2      byte&0xF0       0x10           \b,   8 kbps
                    809: >2      byte&0xF0       0x20           \b,  16 kbps
                    810: >2      byte&0xF0       0x30           \b,  24 kbps
                    811: >2      byte&0xF0       0x40           \b,  32 kbps
                    812: >2      byte&0xF0       0x50           \b,  40 kbps
                    813: >2      byte&0xF0       0x60           \b,  48 kbps
                    814: >2      byte&0xF0       0x70           \b,  56 kbps
                    815: >2      byte&0xF0       0x80           \b,  64 kbps
                    816: >2      byte&0xF0       0x90           \b,  80 kbps
                    817: >2      byte&0xF0       0xA0           \b,  96 kbps
                    818: >2      byte&0xF0       0xB0           \b, 112 kbps
                    819: >2      byte&0xF0       0xC0           \b, 128 kbps
                    820: >2      byte&0xF0       0xD0           \b, 144 kbps
                    821: >2      byte&0xF0       0xE0           \b, 160 kbps
                    822: # timing
                    823: >2      byte&0x0C       0x00           \b, 11.025 kHz
                    824: >2      byte&0x0C       0x04           \b, 12 kHz
                    825: >2      byte&0x0C       0x08           \b, 8 kHz
                    826: # channels/options
                    827: >3      byte&0xC0       0x00           \b, Stereo
                    828: >3      byte&0xC0       0x40           \b, JntStereo
                    829: >3      byte&0xC0       0x80           \b, 2x Monaural
                    830: >3      byte&0xC0       0xC0           \b, Monaural
                    831: #>1     byte            ^0x01          \b, Data Verify
                    832: #>2     byte            &0x02          \b, Packet Pad
                    833: #>2     byte            &0x01          \b, Custom Flag
                    834: #>3     byte            &0x08          \b, Copyrighted
                    835: #>3     byte            &0x04          \b, Original Source
                    836: #>3     byte&0x03       1              \b, NR: 50/15 ms
                    837: #>3     byte&0x03       3              \b, NR: CCIT J.17
                    838: 
                    839: # AAC (aka MPEG-2 NBC audio) and MPEG-4 audio
                    840: 
                    841: # Stored AAC streams (instead of the MP4 format)
                    842: 0       string          ADIF           MPEG ADIF, AAC
                    843: !:mime audio/x-hx-aac-adif
                    844: >4      byte            &0x80
                    845: >>13    byte            &0x10          \b, VBR
                    846: >>13    byte            ^0x10          \b, CBR
                    847: >>16    byte&0x1E       0x02           \b, single stream
                    848: >>16    byte&0x1E       0x04           \b, 2 streams
                    849: >>16    byte&0x1E       0x06           \b, 3 streams
                    850: >>16    byte            &0x08          \b, 4 or more streams
                    851: >>16    byte            &0x10          \b, 8 or more streams
                    852: >>4    byte            &0x80          \b, Copyrighted
                    853: >>13   byte            &0x40          \b, Original Source
                    854: >>13   byte            &0x20          \b, Home Flag
                    855: >4      byte            ^0x80
                    856: >>4     byte            &0x10          \b, VBR
                    857: >>4     byte            ^0x10          \b, CBR
                    858: >>7     byte&0x1E       0x02           \b, single stream
                    859: >>7     byte&0x1E       0x04           \b, 2 streams
                    860: >>7     byte&0x1E       0x06           \b, 3 streams
                    861: >>7     byte            &0x08          \b, 4 or more streams
                    862: >>7     byte            &0x10          \b, 8 or more streams
                    863: >>4    byte            &0x40          \b, Original Stream(s)
                    864: >>4    byte            &0x20          \b, Home Source
                    865: 
                    866: # Live or stored single AAC stream (used with MPEG-2 systems)
                    867: 0       beshort&0xFFF6  0xFFF0         MPEG ADTS, AAC
                    868: !:mime audio/x-hx-aac-adts
                    869: >1      byte            &0x08          \b, v2
                    870: >1      byte            ^0x08          \b, v4
                    871: # profile
                    872: >>2     byte            &0xC0          \b LTP
                    873: >2      byte&0xc0       0x00           \b Main
                    874: >2      byte&0xc0       0x40           \b LC
                    875: >2      byte&0xc0       0x80           \b SSR
                    876: # timing
                    877: >2      byte&0x3c       0x00           \b, 96 kHz
                    878: >2      byte&0x3c       0x04           \b, 88.2 kHz
                    879: >2      byte&0x3c       0x08           \b, 64 kHz
                    880: >2      byte&0x3c       0x0c           \b, 48 kHz
                    881: >2      byte&0x3c       0x10           \b, 44.1 kHz
                    882: >2      byte&0x3c       0x14           \b, 32 kHz
                    883: >2      byte&0x3c       0x18           \b, 24 kHz
                    884: >2      byte&0x3c       0x1c           \b, 22.05 kHz
                    885: >2      byte&0x3c       0x20           \b, 16 kHz
                    886: >2      byte&0x3c       0x24           \b, 12 kHz
                    887: >2      byte&0x3c       0x28           \b, 11.025 kHz
                    888: >2      byte&0x3c       0x2c           \b, 8 kHz
                    889: # channels
                    890: >2      beshort&0x01c0  0x0040         \b, monaural
                    891: >2      beshort&0x01c0  0x0080         \b, stereo
                    892: >2      beshort&0x01c0  0x00c0         \b, stereo + center
                    893: >2      beshort&0x01c0  0x0100         \b, stereo+center+LFE
                    894: >2      beshort&0x01c0  0x0140         \b, surround
                    895: >2      beshort&0x01c0  0x0180         \b, surround + LFE
                    896: >2      beshort         &0x01C0        \b, surround + side
                    897: #>1     byte            ^0x01           \b, Data Verify
                    898: #>2     byte            &0x02           \b, Custom Flag
                    899: #>3     byte            &0x20           \b, Original Stream
                    900: #>3     byte            &0x10           \b, Home Source
                    901: #>3     byte            &0x08           \b, Copyrighted
                    902: 
                    903: # Live MPEG-4 audio streams (instead of RTP FlexMux)
                    904: 0       beshort&0xFFE0  0x56E0         MPEG-4 LOAS
                    905: !:mime audio/x-mp4a-latm
                    906: #>1     beshort&0x1FFF  x              \b, %u byte packet
                    907: >3      byte&0xE0       0x40
                    908: >>4     byte&0x3C       0x04           \b, single stream
                    909: >>4     byte&0x3C       0x08           \b, 2 streams
                    910: >>4     byte&0x3C       0x0C           \b, 3 streams
                    911: >>4     byte            &0x08          \b, 4 or more streams
                    912: >>4     byte            &0x20          \b, 8 or more streams
                    913: >3      byte&0xC0       0
                    914: >>4     byte&0x78       0x08           \b, single stream
                    915: >>4     byte&0x78       0x10           \b, 2 streams
                    916: >>4     byte&0x78       0x18           \b, 3 streams
                    917: >>4     byte            &0x20          \b, 4 or more streams
                    918: >>4     byte            &0x40          \b, 8 or more streams
                    919: # This magic isn't strong enough (matches plausible ISO-8859-1 text)
                    920: #0       beshort         0x4DE1         MPEG-4 LO-EP audio stream
                    921: #!:mime        audio/x-mp4a-latm
                    922: 
                    923: # Summary: FLI animation format
                    924: # Created by: Daniel Quinlan <quinlan@yggdrasil.com>
                    925: # Modified by (1): Abel Cheung <abelcheung@gmail.com> (avoid over-generic detection)
                    926: 4      leshort         0xAF11
                    927: # standard FLI always has 320x200 resolution and 8 bit color
                    928: >8     leshort         320
                    929: >>10   leshort         200
                    930: >>>12  leshort         8                       FLI animation, 320x200x8
                    931: !:mime video/x-fli
                    932: >>>>6  leshort         x                       \b, %d frames
                    933: # frame speed is multiple of 1/70s
                    934: >>>>16 leshort         x                       \b, %d/70s per frame
                    935: 
                    936: # Summary: FLC animation format
                    937: # Created by: Daniel Quinlan <quinlan@yggdrasil.com>
                    938: # Modified by (1): Abel Cheung <abelcheung@gmail.com> (avoid over-generic detection)
                    939: 4      leshort         0xAF12
                    940: # standard FLC always use 8 bit color
                    941: >12    leshort         8                       FLC animation
                    942: !:mime video/x-flc
                    943: >>8    leshort         x                       \b, %d
                    944: >>10   leshort         x                       \bx%dx8
                    945: >>6    uleshort        x                       \b, %d frames
                    946: >>16   uleshort        x                       \b, %dms per frame
                    947: 
                    948: # DL animation format
                    949: # XXX - collision with most `mips' magic
                    950: #
                    951: # I couldn't find a real magic number for these, however, this
                    952: # -appears- to work.  Note that it might catch other files, too, so be
                    953: # careful!
                    954: #
                    955: # Note that title and author appear in the two 20-byte chunks
                    956: # at decimal offsets 2 and 22, respectively, but they are XOR'ed with
                    957: # 255 (hex FF)!  The DL format is really bad.
                    958: #
                    959: #0     byte    1       DL version 1, medium format (160x100, 4 images/screen)
                    960: #!:mime        video/x-unknown
                    961: #>42   byte    x       - %d screens,
                    962: #>43   byte    x       %d commands
                    963: #0     byte    2       DL version 2
                    964: #!:mime        video/x-unknown
                    965: #>1    byte    1       - large format (320x200,1 image/screen),
                    966: #>1    byte    2       - medium format (160x100,4 images/screen),
                    967: #>1    byte    >2      - unknown format,
                    968: #>42   byte    x       %d screens,
                    969: #>43   byte    x       %d commands
                    970: # Based on empirical evidence, DL version 3 have several nulls following the
                    971: # \003.  Most of them start with non-null values at hex offset 0x34 or so.
                    972: #0     string  \3\0\0\0\0\0\0\0\0\0\0\0        DL version 3
                    973: 
                    974: # iso 13818 transport stream
                    975: #
                    976: # from Oskar Schirmer <schirmer@scara.com> Feb 3, 2001 (ISO 13818.1)
                    977: # (the following is a little bit restrictive and works fine for a stream
                    978: #  that starts with PAT properly. it won't work for stream data, that is
                    979: #  cut from an input device data right in the middle, but this shouldn't
                    980: #  disturb)
                    981: # syncbyte      8 bit  0x47
                    982: # error_ind     1 bit  -
                    983: # payload_start 1 bit  1
                    984: # priority      1 bit  -
                    985: # PID          13 bit  0x0000
                    986: # scrambling    2 bit  -
                    987: # adaptfld_ctrl 2 bit  1 or 3
                    988: # conti_count   4 bit  0
                    989: 0      belong&0xFF5FFF1F       0x47400010      MPEG transport stream data
                    990: >188   byte                    !0x47           CORRUPTED
                    991: 
                    992: # DIF digital video file format <mpruett@sgi.com>
                    993: 0      belong&0xffffff00       0x1f070000      DIF
                    994: >4     byte                    &0x01           (DVCPRO) movie file
                    995: >4     byte                    ^0x01           (DV) movie file
                    996: >3     byte                    &0x80           (PAL)
                    997: >3     byte                    ^0x80           (NTSC)
                    998: 
                    999: # Microsoft Advanced Streaming Format (ASF) <mpruett@sgi.com>
                   1000: 0      belong                  0x3026b275      Microsoft ASF
                   1001: !:mime video/x-ms-asf
                   1002: 
                   1003: # MNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
                   1004: 0      string                  \x8aMNG         MNG video data,
                   1005: !:mime video/x-mng
                   1006: >4     belong                  !0x0d0a1a0a     CORRUPTED,
                   1007: >4     belong                  0x0d0a1a0a
                   1008: >>16    belong x                               %ld x
                   1009: >>20    belong x                               %ld
                   1010: 
                   1011: # JNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
                   1012: 0      string                  \x8bJNG         JNG video data,
                   1013: !:mime video/x-jng
                   1014: >4     belong                  !0x0d0a1a0a     CORRUPTED,
                   1015: >4     belong                  0x0d0a1a0a
                   1016: >>16    belong x                               %ld x
                   1017: >>20    belong x                               %ld
                   1018: 
                   1019: # Vivo video (Wolfram Kleff)
                   1020: 3      string          \x0D\x0AVersion:Vivo    Vivo video data
                   1021: 
                   1022: # VRML (Virtual Reality Modelling Language)
                   1023: 0       string/b        #VRML\ V1.0\ ascii     VRML 1 file
                   1024: !:mime model/vrml
                   1025: 0      string/b        #VRML\ V2.0\ utf8       ISO/IEC 14772 VRML 97 file
                   1026: !:mime model/vrml
                   1027: 
                   1028: # X3D (Extensible 3D) [http://www.web3d.org/specifications/x3d-3.0.dtd]
                   1029: # From Michel Briand <michelbriand@free.fr>
                   1030: 0      string          \<?xml\ version="
                   1031: !:strength +1
                   1032: >20    search/1000/cb  \<!DOCTYPE\ X3D         X3D (Extensible 3D) model xml text
                   1033: !:mime model/x3d
                   1034: 
                   1035: #---------------------------------------------------------------------------
                   1036: # HVQM4: compressed movie format designed by Hudson for Nintendo GameCube
                   1037: # From Mark Sheppard <msheppard@climax.co.uk>, 2002-10-03
                   1038: #
                   1039: 0      string          HVQM4           %s
                   1040: >6     string          >\0             v%s
                   1041: >0     byte            x               GameCube movie,
                   1042: >0x34  ubeshort        x               %d x
                   1043: >0x36  ubeshort        x               %d,
                   1044: >0x26  ubeshort        x               %dµs,
                   1045: >0x42  ubeshort        0               no audio
                   1046: >0x42  ubeshort        >0              %dHz audio
                   1047: 
                   1048: # From: "Stefan A. Haubenthal" <polluks@web.de>
                   1049: 0      string          DVDVIDEO-VTS    Video title set,
                   1050: >0x21  byte            x               v%x
                   1051: 0      string          DVDVIDEO-VMG    Video manager,
                   1052: >0x21  byte            x               v%x
                   1053: 
                   1054: # From: Behan Webster <behanw@websterwood.com>
                   1055: # NuppelVideo used by Mythtv (*.nuv)
                   1056: # Note: there are two identical stanzas here differing only in the
                   1057: # initial string matched. It used to be done with a regex, but we're
                   1058: # trying to get rid of those.
                   1059: 0      string          NuppelVideo     MythTV NuppelVideo
                   1060: >12    string          x               v%s
                   1061: >20    lelong          x               (%d
                   1062: >24    lelong          x               \bx%d),
                   1063: >36    string          P               \bprogressive,
                   1064: >36    string          I               \binterlaced,
                   1065: >40    ledouble        x               \baspect:%.2f,
                   1066: >48    ledouble        x               \bfps:%.2f
                   1067: 0      string          MythTV          MythTV NuppelVideo
                   1068: >12    string          x               v%s
                   1069: >20    lelong          x               (%d
                   1070: >24    lelong          x               \bx%d),
                   1071: >36    string          P               \bprogressive,
                   1072: >36    string          I               \binterlaced,
                   1073: >40    ledouble        x               \baspect:%.2f,
                   1074: >48    ledouble        x               \bfps:%.2f
                   1075: 
                   1076: #                                              MPEG file
                   1077: # MPEG sequences
                   1078: # FIXME: This section is from the old magic.mime file and needs integrating with the rest
                   1079: 0       belong             0x000001BA
                   1080: >4      byte               &0x40
                   1081: !:mime video/mp2p
                   1082: >4      byte               ^0x40
                   1083: !:mime video/mpeg
                   1084: 0       belong             0x000001BB
                   1085: !:mime video/mpeg
                   1086: 0       belong             0x000001B0
                   1087: !:mime video/mp4v-es
                   1088: 0       belong             0x000001B5
                   1089: !:mime video/mp4v-es
                   1090: 0       belong             0x000001B3
                   1091: !:mime video/mpv
                   1092: 0       belong&0xFF5FFF1F  0x47400010
                   1093: !:mime video/mp2t
                   1094: 0       belong             0x00000001
                   1095: >4      byte&0x1F         0x07
                   1096: !:mime video/h264
                   1097: 
                   1098: #------------------------------------------------------------------------------
                   1099: # apl:  file(1) magic for APL (see also "pdp" and "vax" for other APL
                   1100: #       workspaces)
                   1101: #
                   1102: 0      long            0100554         APL workspace (Ken's original?)
                   1103: #------------------------------------------------------------------------------
                   1104: # apple:  file(1) magic for Apple file formats
                   1105: #
                   1106: 0      search/1        FiLeStArTfIlEsTaRt      binscii (apple ][) text
                   1107: 0      string          \x0aGL                  Binary II (apple ][) data
                   1108: 0      string          \x76\xff                Squeezed (apple ][) data
                   1109: 0      string          NuFile                  NuFile archive (apple ][) data
                   1110: 0      string          N\xf5F\xe9l\xe5         NuFile archive (apple ][) data
                   1111: 0      belong          0x00051600              AppleSingle encoded Macintosh file
                   1112: 0      belong          0x00051607              AppleDouble encoded Macintosh file
                   1113: 
                   1114: # Type: Apple Emulator 2IMG format
                   1115: # From: Radek Vokal <rvokal@redhat.com>
                   1116: 0      string          2IMG    Apple ][ 2IMG Disk Image
                   1117: >4     string          XGS!    \b, XGS
                   1118: >4     string          CTKG    \b, Catakig
                   1119: >4     string          ShIm    \b, Sheppy's ImageMaker
                   1120: >4     string          WOOF    \b, Sweet 16
                   1121: >4     string          B2TR    \b, Bernie ][ the Rescue
                   1122: >4     string          !nfc    \b, ASIMOV2
                   1123: >4     string          x       \b, Unknown Format
                   1124: >0xc   byte            00      \b, DOS 3.3 sector order
                   1125: >>0x10 byte            00      \b, Volume 254
                   1126: >>0x10 byte&0x7f       x       \b, Volume %u
                   1127: >0xc   byte            01      \b, ProDOS sector order
                   1128: >>0x14 short           x       \b, %u Blocks
                   1129: >0xc   byte            02      \b, NIB data
                   1130: 
                   1131: # magic for Newton PDA package formats
                   1132: # from Ruda Moura <ruda@helllabs.org>
                   1133: 0      string  package0        Newton package, NOS 1.x,
                   1134: >12    belong  &0x80000000     AutoRemove,
                   1135: >12    belong  &0x40000000     CopyProtect,
                   1136: >12    belong  &0x10000000     NoCompression,
                   1137: >12    belong  &0x04000000     Relocation,
                   1138: >12    belong  &0x02000000     UseFasterCompression,
                   1139: >16    belong  x               version %d
                   1140: 
                   1141: 0      string  package1        Newton package, NOS 2.x,
                   1142: >12    belong  &0x80000000     AutoRemove,
                   1143: >12    belong  &0x40000000     CopyProtect,
                   1144: >12    belong  &0x10000000     NoCompression,
                   1145: >12    belong  &0x04000000     Relocation,
                   1146: >12    belong  &0x02000000     UseFasterCompression,
                   1147: >16    belong  x               version %d
                   1148: 
                   1149: 0      string  package4        Newton package,
                   1150: >8     byte    8               NOS 1.x,
                   1151: >8     byte    9               NOS 2.x,
                   1152: >12    belong  &0x80000000     AutoRemove,
                   1153: >12    belong  &0x40000000     CopyProtect,
                   1154: >12    belong  &0x10000000     NoCompression,
                   1155: 
                   1156: # The following entries for the Apple II are for files that have
                   1157: # been transferred as raw binary data from an Apple, without having
                   1158: # been encapsulated by any of the above archivers.
                   1159: #
                   1160: # In general, Apple II formats are hard to identify because Apple DOS
                   1161: # and especially Apple ProDOS have strong typing in the file system and
                   1162: # therefore programmers never felt much need to include type information
                   1163: # in the files themselves.
                   1164: #
                   1165: # Eric Fischer <enf@pobox.com>
                   1166: 
                   1167: # AppleWorks word processor:
                   1168: #
                   1169: # This matches the standard tab stops for an AppleWorks file, but if
                   1170: # a file has a tab stop set in the first four columns this will fail.
                   1171: #
                   1172: # The "O" is really the magic number, but that's so common that it's
                   1173: # necessary to check the tab stops that follow it to avoid false positives.
                   1174: 
                   1175: 4       string          O====   AppleWorks word processor data
                   1176: >85     byte&0x01       >0      \b, zoomed
                   1177: >90     byte&0x01       >0      \b, paginated
                   1178: >92     byte&0x01       >0      \b, with mail merge
                   1179: #>91    byte            x       \b, left margin %d
                   1180: 
                   1181: # AppleWorks database:
                   1182: #
                   1183: # This isn't really a magic number, but it's the closest thing to one
                   1184: # that I could find.  The 1 and 2 really mean "order in which you defined
                   1185: # categories" and "left to right, top to bottom," respectively; the D and R
                   1186: # mean that the cursor should move either down or right when you press Return.
                   1187: 
                   1188: #30    string          \x01D   AppleWorks database data
                   1189: #30    string          \x02D   AppleWorks database data
                   1190: #30    string          \x01R   AppleWorks database data
                   1191: #30    string          \x02R   AppleWorks database data
                   1192: 
                   1193: # AppleWorks spreadsheet:
                   1194: #
                   1195: # Likewise, this isn't really meant as a magic number.  The R or C means
                   1196: # row- or column-order recalculation; the A or M means automatic or manual
                   1197: # recalculation.
                   1198: 
                   1199: #131   string          RA      AppleWorks spreadsheet data
                   1200: #131   string          RM      AppleWorks spreadsheet data
                   1201: #131   string          CA      AppleWorks spreadsheet data
                   1202: #131   string          CM      AppleWorks spreadsheet data
                   1203: 
                   1204: # Applesoft BASIC:
                   1205: #
                   1206: # This is incredibly sloppy, but will be true if the program was
                   1207: # written at its usual memory location of 2048 and its first line
                   1208: # number is less than 256.  Yuck.
                   1209: 
                   1210: 0       belong&0xff00ff 0x80000 Applesoft BASIC program data
                   1211: #>2     leshort         x       \b, first line number %d
                   1212: 
                   1213: # ORCA/EZ assembler:
                   1214: # 
                   1215: # This will not identify ORCA/M source files, since those have
                   1216: # some sort of date code instead of the two zero bytes at 6 and 7
                   1217: # XXX Conflicts with ELF
                   1218: #4       belong&0xff00ffff       0x01000000      ORCA/EZ assembler source data
                   1219: #>5      byte                    x               \b, build number %d
                   1220: 
                   1221: # Broderbund Fantavision
                   1222: #
                   1223: # I don't know what these values really mean, but they seem to recur.
                   1224: # Will they cause too many conflicts?
                   1225: 
                   1226: # Probably :-)
                   1227: #2     belong&0xFF00FF         0x040008        Fantavision movie data
                   1228: 
                   1229: # Some attempts at images.
                   1230: #
                   1231: # These are actually just bit-for-bit dumps of the frame buffer, so
                   1232: # there's really no reasonably way to distinguish them except for their
                   1233: # address (if preserved) -- 8192 or 16384 -- and their length -- 8192
                   1234: # or, occasionally, 8184.
                   1235: #
                   1236: # Nevertheless this will manage to catch a lot of images that happen
                   1237: # to have a solid-colored line at the bottom of the screen.
                   1238: 
                   1239: # GRR: Magic too weak
                   1240: #8144  string  \x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F        Apple II image with white background
                   1241: #8144  string  \x55\x2A\x55\x2A\x55\x2A\x55\x2A        Apple II image with purple background
                   1242: #8144  string  \x2A\x55\x2A\x55\x2A\x55\x2A\x55        Apple II image with green background
                   1243: #8144  string  \xD5\xAA\xD5\xAA\xD5\xAA\xD5\xAA        Apple II image with blue background
                   1244: #8144  string  \xAA\xD5\xAA\xD5\xAA\xD5\xAA\xD5        Apple II image with orange background
                   1245: 
                   1246: # Beagle Bros. Apple Mechanic fonts
                   1247: 
                   1248: 0      belong&0xFF00FFFF       0x6400D000      Apple Mechanic font
                   1249: 
                   1250: # Apple Universal Disk Image Format (UDIF) - dmg files.
                   1251: # From Johan Gade.
                   1252: # These entries are disabled for now until we fix the following issues.
                   1253: #
                   1254: # Note there might be some problems with the "VAX COFF executable" 
                   1255: # entry. Note this entry should be placed before the mac filesystem section, 
                   1256: # particularly the "Apple Partition data" entry.
                   1257: #
                   1258: # The intended meaning of these tests is, that the file is only of the 
                   1259: # specified type if both of the lines are correct - i.e. if the first
                   1260: # line matches and the second doesn't then it is not of that type.
                   1261: #
                   1262: #0     long    0x7801730d
                   1263: #>4    long    0x62626060      UDIF read-only zlib-compressed image (UDZO)
                   1264: #
                   1265: # Note that this entry is recognized correctly by the "Apple Partition 
                   1266: # data" entry - however since this entry is more specific - this
                   1267: # information seems to be more useful.
                   1268: #0     long    0x45520200
                   1269: #>0x410        string  disk\ image     UDIF read/write image (UDRW)
                   1270: 
                   1271: # From: Toby Peterson <toby@apple.com>
                   1272: 0      string  bplist00        Apple binary property list
                   1273: 
                   1274: # Apple binary property list (bplist)
                   1275: #  Assumes version bytes are hex.
                   1276: #  Provides content hints for version 0 files. Assumes that the root
                   1277: #  object is the first object (true for CoreFoundation implementation).
                   1278: # From: David Remahl <dremahl@apple.com>
                   1279: 0              string  bplist
                   1280: >6             byte    x       \bCoreFoundation binary property list data, version 0x%c
                   1281: >>7            byte    x       \b%c
                   1282: >6             string          00              \b
                   1283: >>8            byte&0xF0       0x00    \b
                   1284: >>>8   byte&0x0F       0x00    \b, root type: null
                   1285: >>>8   byte&0x0F       0x08    \b, root type: false boolean
                   1286: >>>8   byte&0x0F       0x09    \b, root type: true boolean
                   1287: >>8            byte&0xF0       0x10    \b, root type: integer
                   1288: >>8            byte&0xF0       0x20    \b, root type: real
                   1289: >>8            byte&0xF0       0x30    \b, root type: date
                   1290: >>8            byte&0xF0       0x40    \b, root type: data
                   1291: >>8            byte&0xF0       0x50    \b, root type: ascii string
                   1292: >>8            byte&0xF0       0x60    \b, root type: unicode string
                   1293: >>8            byte&0xF0       0x80    \b, root type: uid (CORRUPT)
                   1294: >>8            byte&0xF0       0xa0    \b, root type: array
                   1295: >>8            byte&0xF0       0xd0    \b, root type: dictionary
                   1296: 
                   1297: # Apple/NeXT typedstream data
                   1298: #  Serialization format used by NeXT and Apple for various
                   1299: #  purposes in YellowStep/Cocoa, including some nib files.
                   1300: # From: David Remahl <dremahl@apple.com>
                   1301: 2              string          typedstream     NeXT/Apple typedstream data, big endian
                   1302: >0             byte            x               \b, version %hhd
                   1303: >0             byte            <5              \b
                   1304: >>13   byte            0x81    \b
                   1305: >>>14  ubeshort        x               \b, system %hd
                   1306: 2              string          streamtyped NeXT/Apple typedstream data, little endian
                   1307: >0             byte            x               \b, version %hhd
                   1308: >0             byte            <5              \b
                   1309: >>13   byte            0x81    \b
                   1310: >>>14  uleshort        x               \b, system %hd
                   1311: 
                   1312: #------------------------------------------------------------------------------
                   1313: # CAF: Apple CoreAudio File Format
                   1314: #
                   1315: # Container format for high-end audio purposes.
                   1316: # From: David Remahl <dremahl@apple.com>
                   1317: #
                   1318: 0      string          caff            CoreAudio Format audio file
                   1319: >4     beshort         <10             version %d
                   1320: >6     beshort         x
                   1321: 
                   1322: 
                   1323: #------------------------------------------------------------------------------
                   1324: # Keychain database files
                   1325: 0      string          kych            Mac OS X Keychain File
                   1326: 
                   1327: #------------------------------------------------------------------------------
                   1328: # Code Signing related file types
                   1329: 0      belong          0xfade0c00      Mac OS X Code Requirement
                   1330: >8     belong          1                       (opExpr)
                   1331: >4     belong          x                       - %d bytes
                   1332: 
                   1333: 0      belong          0xfade0c01      Mac OS X Code Requirement Set
                   1334: >8     belong          >1                      containing %d items
                   1335: >4     belong          x                       - %d bytes
                   1336: 
                   1337: 0      belong          0xfade0c02      Mac OS X Code Directory
                   1338: >8     belong          x                       version %x
                   1339: >12    belong          >0                      flags 0x%x
                   1340: >4     belong          x                       - %d bytes
                   1341: 
                   1342: 0      belong          0xfade0cc0      Mac OS X Detached Code Signature (non-executable)
                   1343: >4     belong          x                       - %d bytes
                   1344: 
                   1345: 0      belong          0xfade0cc1      Mac OS X Detached Code Signature
                   1346: >8     belong          >1                      (%d elements)
                   1347: >4     belong          x                       - %d bytes
                   1348: 
                   1349: # From: "Nelson A. de Oliveira" <naoliv@gmail.com>
                   1350: # .vdi
                   1351: 4      string innotek\ VirtualBox\ Disk\ Image %s
                   1352: 
                   1353: #------------------------------------------------------------------------------
                   1354: # applix:  file(1) magic for Applixware
                   1355: # From: Peter Soos <sp@osb.hu>
                   1356: #
                   1357: 0      string          *BEGIN          Applixware
                   1358: >7     string          WORDS                   Words Document
                   1359: >7     string          GRAPHICS                Graphic
                   1360: >7     string          RASTER                  Bitmap
                   1361: >7     string          SPREADSHEETS            Spreadsheet
                   1362: >7     string          MACRO                   Macro
                   1363: >7     string          BUILDER                 Builder Object
                   1364: #------------------------------------------------------------------------------
                   1365: # archive:  file(1) magic for archive formats (see also "msdos" for self-
                   1366: #           extracting compressed archives)
                   1367: #
                   1368: # cpio, ar, arc, arj, hpack, lha/lharc, rar, squish, uc2, zip, zoo, etc.
                   1369: # pre-POSIX "tar" archives are handled in the C code.
                   1370: 
                   1371: # POSIX tar archives
                   1372: 257    string          ustar\0         POSIX tar archive
                   1373: !:mime application/x-tar # encoding: posix
                   1374: 257    string          ustar\040\040\0 GNU tar archive
                   1375: !:mime application/x-tar # encoding: gnu
                   1376: 
                   1377: # cpio archives
                   1378: #
                   1379: # Yes, the top two "cpio archive" formats *are* supposed to just be "short".
                   1380: # The idea is to indicate archives produced on machines with the same
                   1381: # byte order as the machine running "file" with "cpio archive", and
                   1382: # to indicate archives produced on machines with the opposite byte order
                   1383: # from the machine running "file" with "byte-swapped cpio archive".
                   1384: #
                   1385: # The SVR4 "cpio(4)" hints that there are additional formats, but they
                   1386: # are defined as "short"s; I think all the new formats are
                   1387: # character-header formats and thus are strings, not numbers.
                   1388: 0      short           070707          cpio archive
                   1389: !:mime application/x-cpio
                   1390: 0      short           0143561         byte-swapped cpio archive
                   1391: !:mime application/x-cpio # encoding: swapped
                   1392: 0      string          070707          ASCII cpio archive (pre-SVR4 or odc)
                   1393: 0      string          070701          ASCII cpio archive (SVR4 with no CRC)
                   1394: 0      string          070702          ASCII cpio archive (SVR4 with CRC)
                   1395: 
                   1396: # Debian package (needs to go before regular portable archives)
                   1397: #
                   1398: 0      string          =!<arch>\ndebian
                   1399: !:mime application/x-debian-package
                   1400: >8     string          debian-split    part of multipart Debian package
                   1401: >8     string          debian-binary   Debian binary package
                   1402: >8     string          !debian
                   1403: >68    string          >\0             (format %s)
                   1404: # These next two lines do not work, because a bzip2 Debian archive
                   1405: # still uses gzip for the control.tar (first in the archive).  Only
                   1406: # data.tar varies, and the location of its filename varies too.
                   1407: # file/libmagic does not current have support for ascii-string based
                   1408: # (offsets) as of 2005-09-15.
                   1409: #>81   string          bz2             \b, uses bzip2 compression
                   1410: #>84   string          gz              \b, uses gzip compression
                   1411: #>136  ledate          x               created: %s
                   1412: 
                   1413: # other archives
                   1414: 0      long            0177555         very old archive
                   1415: 0      short           0177555         very old PDP-11 archive
                   1416: 0      long            0177545         old archive
                   1417: 0      short           0177545         old PDP-11 archive
                   1418: 0      long            0100554         apl workspace
                   1419: 0      string          =<ar>           archive
                   1420: !:mime application/x-archive
                   1421: 
                   1422: # MIPS archive (needs to go before regular portable archives)
                   1423: #
                   1424: 0      string  =!<arch>\n__________E   MIPS archive
                   1425: >20    string  U                       with MIPS Ucode members
                   1426: >21    string  L                       with MIPSEL members
                   1427: >21    string  B                       with MIPSEB members
                   1428: >19    string  L                       and an EL hash table
                   1429: >19    string  B                       and an EB hash table
                   1430: >22    string  X                       -- out of date
                   1431: 
                   1432: 0      search/1        -h-             Software Tools format archive text
                   1433: 
                   1434: #
                   1435: # XXX - why are there multiple <ar> thingies?  Note that 0x213c6172 is
                   1436: # "!<ar", so, for new-style (4.xBSD/SVR2andup) archives, we have:
                   1437: #
                   1438: # 0    string          =!<arch>                current ar archive
                   1439: # 0    long            0x213c6172      archive file
                   1440: #
                   1441: # and for SVR1 archives, we have:
                   1442: #
                   1443: # 0    string          \<ar>           System V Release 1 ar archive
                   1444: # 0    string          =<ar>           archive
                   1445: #
                   1446: # XXX - did Aegis really store shared libraries, breakpointed modules,
                   1447: # and absolute code program modules in the same format as new-style
                   1448: # "ar" archives?
                   1449: #
                   1450: 0      string          =!<arch>                current ar archive
                   1451: !:mime application/x-archive
                   1452: >8     string          __.SYMDEF       random library
                   1453: >0     belong          =65538          - pre SR9.5
                   1454: >0     belong          =65539          - post SR9.5
                   1455: >0     beshort         2               - object archive
                   1456: >0     beshort         3               - shared library module
                   1457: >0     beshort         4               - debug break-pointed module
                   1458: >0     beshort         5               - absolute code program module
                   1459: 0      string          \<ar>           System V Release 1 ar archive
                   1460: 0      string          =<ar>           archive
                   1461: #
                   1462: # XXX - from "vax", which appears to collect a bunch of byte-swapped
                   1463: # thingies, to help you recognize VAX files on big-endian machines;
                   1464: # with "leshort", "lelong", and "string", that's no longer necessary....
                   1465: #
                   1466: 0      belong          0x65ff0000      VAX 3.0 archive
                   1467: 0      belong          0x3c61723e      VAX 5.0 archive
                   1468: #
                   1469: 0      long            0x213c6172      archive file
                   1470: 0      lelong          0177555         very old VAX archive
                   1471: 0      leshort         0177555         very old PDP-11 archive
                   1472: #
                   1473: # XXX - "pdp" claims that 0177545 can have an __.SYMDEF member and thus
                   1474: # be a random library (it said 0xff65 rather than 0177545).
                   1475: #
                   1476: 0      lelong          0177545         old VAX archive
                   1477: >8     string          __.SYMDEF       random library
                   1478: 0      leshort         0177545         old PDP-11 archive
                   1479: >8     string          __.SYMDEF       random library
                   1480: #
                   1481: # From "pdp" (but why a 4-byte quantity?)
                   1482: #
                   1483: 0      lelong          0x39bed         PDP-11 old archive
                   1484: 0      lelong          0x39bee         PDP-11 4.0 archive
                   1485: 
                   1486: # ARC archiver, from Daniel Quinlan (quinlan@yggdrasil.com)
                   1487: #
                   1488: # The first byte is the magic (0x1a), byte 2 is the compression type for
                   1489: # the first file (0x01 through 0x09), and bytes 3 to 15 are the MS-DOS
                   1490: # filename of the first file (null terminated).  Since some types collide
                   1491: # we only test some types on basis of frequency: 0x08 (83%), 0x09 (5%),
                   1492: # 0x02 (5%), 0x03 (3%), 0x04 (2%), 0x06 (2%).  0x01 collides with terminfo.
                   1493: 0      lelong&0x8080ffff       0x0000081a      ARC archive data, dynamic LZW
                   1494: !:mime application/x-arc
                   1495: 0      lelong&0x8080ffff       0x0000091a      ARC archive data, squashed
                   1496: !:mime application/x-arc
                   1497: 0      lelong&0x8080ffff       0x0000021a      ARC archive data, uncompressed
                   1498: !:mime application/x-arc
                   1499: 0      lelong&0x8080ffff       0x0000031a      ARC archive data, packed
                   1500: !:mime application/x-arc
                   1501: 0      lelong&0x8080ffff       0x0000041a      ARC archive data, squeezed
                   1502: !:mime application/x-arc
                   1503: 0      lelong&0x8080ffff       0x0000061a      ARC archive data, crunched
                   1504: !:mime application/x-arc
                   1505: # [JW] stuff taken from idarc, obviously ARC successors:
                   1506: 0      lelong&0x8080ffff       0x00000a1a      PAK archive data
                   1507: !:mime application/x-arc
                   1508: 0      lelong&0x8080ffff       0x0000141a      ARC+ archive data
                   1509: !:mime application/x-arc
                   1510: 0      lelong&0x8080ffff       0x0000481a      HYP archive data
                   1511: !:mime application/x-arc
                   1512: 
                   1513: # Acorn archive formats (Disaster prone simpleton, m91dps@ecs.ox.ac.uk)
                   1514: # I can't create either SPARK or ArcFS archives so I have not tested this stuff
                   1515: # [GRR:  the original entries collide with ARC, above; replaced with combined
                   1516: #  version (not tested)]
                   1517: #0     byte            0x1a            RISC OS archive (spark format)
                   1518: 0      string          \032archive     RISC OS archive (ArcFS format)
                   1519: 0       string          Archive\000     RISC OS archive (ArcFS format)
                   1520: 
                   1521: # All these were taken from idarc, many could not be verified. Unfortunately,
                   1522: # there were many low-quality sigs, i.e. easy to trigger false positives.
                   1523: # Please notify me of any real-world fishy/ambiguous signatures and I'll try
                   1524: # to get my hands on the actual archiver and see if I find something better. [JW]
                   1525: # probably many can be enhanced by finding some 0-byte or control char near the start
                   1526: 
                   1527: # idarc calls this Crush/Uncompressed... *shrug*
                   1528: 0      string  CRUSH Crush archive data
                   1529: # Squeeze It (.sqz)
                   1530: 0      string  HLSQZ Squeeze It archive data
                   1531: # SQWEZ
                   1532: 0      string  SQWEZ SQWEZ archive data
                   1533: # HPack (.hpk)
                   1534: 0      string  HPAK HPack archive data
                   1535: # HAP
                   1536: 0      string  \x91\x33HF HAP archive data
                   1537: # MD/MDCD
                   1538: 0      string  MDmd MDCD archive data
                   1539: # LIM
                   1540: 0      string  LIM\x1a LIM archive data
                   1541: # SAR
                   1542: 3      string  LH5 SAR archive data
                   1543: # BSArc/BS2
                   1544: 0      string  \212\3SB \0 BSArc/BS2 archive data
                   1545: # MAR
                   1546: 2      string  =-ah MAR archive data
                   1547: # ACB
                   1548: 0      belong&0x00f800ff       0x00800000 ACB archive data
                   1549: # CPZ
                   1550: # TODO, this is what idarc says: 0     string  \0\0\0 CPZ archive data
                   1551: # JRC
                   1552: 0      string  JRchive JRC archive data
                   1553: # Quantum
                   1554: 0      string  DS\0 Quantum archive data
                   1555: # ReSOF
                   1556: 0      string  PK\3\6 ReSOF archive data
                   1557: # QuArk
                   1558: 0      string  7\4 QuArk archive data
                   1559: # YAC
                   1560: 14     string  YC YAC archive data
                   1561: # X1
                   1562: 0      string  X1 X1 archive data
                   1563: 0      string  XhDr X1 archive data
                   1564: # CDC Codec (.dqt)
                   1565: 0      belong&0xffffe000       0x76ff2000 CDC Codec archive data
                   1566: # AMGC
                   1567: 0      string  \xad6" AMGC archive data
                   1568: # NuLIB
                   1569: 0      string  NõFélÃ¥ NuLIB archive data
                   1570: # PakLeo
                   1571: 0      string  LEOLZW PAKLeo archive data
                   1572: # ChArc
                   1573: 0      string  SChF ChArc archive data
                   1574: # PSA
                   1575: 0      string  PSA PSA archive data
                   1576: # CrossePAC
                   1577: 0      string  DSIGDCC CrossePAC archive data
                   1578: # Freeze
                   1579: 0      string  \x1f\x9f\x4a\x10\x0a Freeze archive data
                   1580: # KBoom
                   1581: 0      string  Â¨MP¨ KBoom archive data
                   1582: # NSQ, must go after CDC Codec
                   1583: 0      string  \x76\xff NSQ archive data
                   1584: # DPA
                   1585: 0      string  Dirk\ Paehl DPA archive data
                   1586: # BA
                   1587: # TODO: idarc says "bytes 0-2 == bytes 3-5"
                   1588: # TTComp
                   1589: 0      string  \0\6 TTComp archive data
                   1590: # ESP, could this conflict with Easy Software Products' (e.g.ESP ghostscript) documentation?
                   1591: 0      string  ESP ESP archive data
                   1592: # ZPack
                   1593: 0      string  \1ZPK\1 ZPack archive data
                   1594: # Sky
                   1595: 0      string  \xbc\x40 Sky archive data
                   1596: # UFA
                   1597: 0      string  UFA UFA archive data
                   1598: # Dry
                   1599: 0      string  =-H2O DRY archive data
                   1600: # FoxSQZ
                   1601: 0      string  FOXSQZ FoxSQZ archive data
                   1602: # AR7
                   1603: 0      string  ,AR7 AR7 archive data
                   1604: # PPMZ
                   1605: 0      string  PPMZ PPMZ archive data
                   1606: # MS Compress
                   1607: 4      string  \x88\xf0\x27 MS Compress archive data
                   1608: # updated by Joerg Jenderek
                   1609: >9     string  \0              
                   1610: >>0    string  KWAJ            
                   1611: >>>7   string  \321\003        MS Compress archive data
                   1612: >>>>14 ulong   >0              \b, original size: %ld bytes
                   1613: >>>>18         ubyte   >0x65   
                   1614: >>>>>18                string  x       \b, was %.8s
                   1615: >>>>>(10.b-4)  string  x       \b.%.3s
                   1616: # MP3 (archiver, not lossy audio compression)
                   1617: 0      string  MP3\x1a MP3-Archiver archive data
                   1618: # ZET
                   1619: 0      string  OZÃ ZET archive data
                   1620: # TSComp
                   1621: 0      string  \x65\x5d\x13\x8c\x08\x01\x03\x00 TSComp archive data
                   1622: # ARQ
                   1623: 0      string  gW\4\1 ARQ archive data
                   1624: # Squash
                   1625: 3      string  OctSqu Squash archive data
                   1626: # Terse
                   1627: 0      string  \5\1\1\0 Terse archive data
                   1628: # PUCrunch
                   1629: 0      string  \x01\x08\x0b\x08\xef\x00\x9e\x32\x30\x36\x31 PUCrunch archive data
                   1630: # UHarc
                   1631: 0      string  UHA UHarc archive data
                   1632: # ABComp
                   1633: 0      string  \2AB ABComp archive data
                   1634: 0      string  \3AB2 ABComp archive data
                   1635: # CMP
                   1636: 0      string  CO\0 CMP archive data
                   1637: # Splint
                   1638: 0      string  \x93\xb9\x06 Splint archive data
                   1639: # InstallShield
                   1640: 0      string   \x13\x5d\x65\x8c InstallShield Z archive Data
                   1641: # Gather
                   1642: 1      string  GTH Gather archive data
                   1643: # BOA
                   1644: 0      string  BOA BOA archive data
                   1645: # RAX
                   1646: 0      string  ULEB\xa RAX archive data
                   1647: # Xtreme
                   1648: 0      string  ULEB\0 Xtreme archive data
                   1649: # Pack Magic
                   1650: 0      string  @â\1\0 Pack Magic archive data
                   1651: # BTS
                   1652: 0      belong&0xfeffffff       0x1a034465 BTS archive data
                   1653: # ELI 5750
                   1654: 0      string  Ora\  ELI 5750 archive data
                   1655: # QFC
                   1656: 0      string  \x1aFC\x1a QFC archive data
                   1657: 0      string  \x1aQF\x1a QFC archive data
                   1658: # PRO-PACK
                   1659: 0      string  RNC PRO-PACK archive data
                   1660: # 777
                   1661: 0      string  777 777 archive data
                   1662: # LZS221
                   1663: 0      string  sTaC LZS221 archive data
                   1664: # HPA
                   1665: 0      string  HPA HPA archive data
                   1666: # Arhangel
                   1667: 0      string  LG Arhangel archive data
                   1668: # EXP1, uses bzip2
                   1669: 0      string  0123456789012345BZh EXP1 archive data
                   1670: # IMP
                   1671: 0      string  IMP\xa IMP archive data
                   1672: # NRV
                   1673: 0      string  \x00\x9E\x6E\x72\x76\xFF NRV archive data
                   1674: # Squish
                   1675: 0      string  \x73\xb2\x90\xf4 Squish archive data
                   1676: # Par
                   1677: 0      string  PHILIPP Par archive data
                   1678: 0      string  PAR Par archive data
                   1679: # HIT
                   1680: 0      string  UB HIT archive data
                   1681: # SBX
                   1682: 0      belong&0xfffff000       0x53423000 SBX archive data
                   1683: # NaShrink
                   1684: 0      string  NSK NaShrink archive data
                   1685: # SAPCAR
                   1686: 0      string  #\ CAR\ archive\ header SAPCAR archive data
                   1687: 0      string  CAR\ 2.00RG SAPCAR archive data
                   1688: # Disintegrator
                   1689: 0      string  DST Disintegrator archive data
                   1690: # ASD
                   1691: 0      string  ASD ASD archive data
                   1692: # InstallShield CAB
                   1693: 0      string  ISc( InstallShield CAB
                   1694: # TOP4
                   1695: 0      string  T4\x1a TOP4 archive data
                   1696: # BatComp left out: sig looks like COM executable
                   1697: # so TODO: get real 4dos batcomp file and find sig
                   1698: # BlakHole
                   1699: 0      string  BH\5\7 BlakHole archive data
                   1700: # BIX
                   1701: 0      string  BIX0 BIX archive data
                   1702: # ChiefLZA
                   1703: 0      string  ChfLZ ChiefLZA archive data
                   1704: # Blink
                   1705: 0      string  Blink Blink archive data
                   1706: # Logitech Compress
                   1707: 0      string  \xda\xfa Logitech Compress archive data
                   1708: # ARS-Sfx (FIXME: really a SFX? then goto COM/EXE)
                   1709: 1      string  (C)\ STEPANYUK ARS-Sfx archive data
                   1710: # AKT/AKT32
                   1711: 0      string  AKT32 AKT32 archive data
                   1712: 0      string  AKT AKT archive data
                   1713: # NPack
                   1714: 0      string  MSTSM NPack archive data
                   1715: # PFT
                   1716: 0      string  \0\x50\0\x14 PFT archive data
                   1717: # SemOne
                   1718: 0      string  SEM SemOne archive data
                   1719: # PPMD
                   1720: 0      string  \x8f\xaf\xac\x84 PPMD archive data
                   1721: # FIZ
                   1722: 0      string  FIZ FIZ archive data
                   1723: # MSXiE
                   1724: 0      belong&0xfffff0f0       0x4d530000 MSXiE archive data
                   1725: # DeepFreezer
                   1726: 0      belong&0xfffffff0       0x797a3030 DeepFreezer archive data
                   1727: # DC
                   1728: 0      string  =<DC- DC archive data
                   1729: # TPac
                   1730: 0      string  \4TPAC\3 TPac archive data
                   1731: # Ai
                   1732: 0      string  Ai\1\1\0 Ai archive data
                   1733: 0      string  Ai\1\0\0 Ai archive data
                   1734: # Ai32
                   1735: 0      string  Ai\2\0 Ai32 archive data
                   1736: 0      string  Ai\2\1 Ai32 archive data
                   1737: # SBC
                   1738: 0      string  SBC SBC archive data
                   1739: # Ybs
                   1740: 0      string  YBS Ybs archive data
                   1741: # DitPack
                   1742: 0      string  \x9e\0\0 DitPack archive data
                   1743: # DMS
                   1744: 0      string  DMS! DMS archive data
                   1745: # EPC
                   1746: 0      string  \x8f\xaf\xac\x8c EPC archive data
                   1747: # VSARC
                   1748: 0      string  VS\x1a VSARC archive data
                   1749: # PDZ
                   1750: 0      string  PDZ PDZ archive data
                   1751: # ReDuq
                   1752: 0      string  rdqx ReDuq archive data
                   1753: # GCA
                   1754: 0      string  GCAX GCA archive data
                   1755: # PPMN
                   1756: 0      string  pN PPMN archive data
                   1757: # WinImage
                   1758: 3      string  WINIMAGE WinImage archive data
                   1759: # Compressia
                   1760: 0      string  CMP0CMP Compressia archive data
                   1761: # UHBC
                   1762: 0      string  UHB UHBC archive data
                   1763: # WinHKI
                   1764: 0      string  \x61\x5C\x04\x05 WinHKI archive data
                   1765: # WWPack data file
                   1766: 0      string  WWP WWPack archive data
                   1767: # BSN (BSA, PTS-DOS)
                   1768: 0      string  \xffBSG BSN archive data
                   1769: 1      string  \xffBSG BSN archive data
                   1770: 3      string  \xffBSG BSN archive data
                   1771: 1      string  \0\xae\2 BSN archive data
                   1772: 1      string  \0\xae\3 BSN archive data
                   1773: 1      string  \0\xae\7 BSN archive data
                   1774: # AIN
                   1775: 0      string  \x33\x18 AIN archive data
                   1776: 0      string  \x33\x17 AIN archive data
                   1777: # XPA32
                   1778: 0      string  xpa\0\1 XPA32 archive data
                   1779: # SZip (TODO: doesn't catch all versions)
                   1780: 0      string  SZ\x0a\4 SZip archive data
                   1781: # XPack DiskImage
                   1782: 0      string  jm XPack DiskImage archive data
                   1783: # XPack Data
                   1784: 0      string  xpa XPack archive data
                   1785: # XPack Single Data
                   1786: 0      string  Ã\ jm XPack single archive data
                   1787: 
                   1788: # TODO: missing due to unknown magic/magic at end of file:
                   1789: #DWC
                   1790: #ARG
                   1791: #ZAR
                   1792: #PC/3270
                   1793: #InstallIt
                   1794: #RKive
                   1795: #RK
                   1796: #XPack Diskimage
                   1797: 
                   1798: # These were inspired by idarc, but actually verified
                   1799: # Dzip archiver (.dz)
                   1800: 0      string  DZ Dzip archive data
                   1801: >2     byte    x \b, version %i
                   1802: >3     byte    x \b.%i
                   1803: # ZZip archiver (.zz)
                   1804: 0      string  ZZ\ \0\0 ZZip archive data
                   1805: 0      string  ZZ0 ZZip archive data
                   1806: # PAQ archiver (.paq)
                   1807: 0      string  \xaa\x40\x5f\x77\x1f\xe5\x82\x0d PAQ archive data
                   1808: 0      string  PAQ PAQ archive data
                   1809: >3     byte&0xf0       0x30
                   1810: >>3    byte    x (v%c)
                   1811: # JAR archiver (.j), this is the successor to ARJ, not Java's JAR (which is essentially ZIP)
                   1812: 0xe    string  \x1aJar\x1b JAR (ARJ Software, Inc.) archive data
                   1813: 0      string  JARCS JAR (ARJ Software, Inc.) archive data
                   1814: 
                   1815: # ARJ archiver (jason@jarthur.Claremont.EDU)
                   1816: 0      leshort         0xea60          ARJ archive data
                   1817: !:mime application/x-arj
                   1818: >5     byte            x               \b, v%d,
                   1819: >8     byte            &0x04           multi-volume,
                   1820: >8     byte            &0x10           slash-switched,
                   1821: >8     byte            &0x20           backup,
                   1822: >34    string          x               original name: %s,
                   1823: >7     byte            0               os: MS-DOS
                   1824: >7     byte            1               os: PRIMOS
                   1825: >7     byte            2               os: Unix
                   1826: >7     byte            3               os: Amiga
                   1827: >7     byte            4               os: Macintosh
                   1828: >7     byte            5               os: OS/2
                   1829: >7     byte            6               os: Apple ][ GS
                   1830: >7     byte            7               os: Atari ST
                   1831: >7     byte            8               os: NeXT
                   1832: >7     byte            9               os: VAX/VMS
                   1833: >3     byte            >0              %d]
                   1834: # [JW] idarc says this is also possible
                   1835: 2      leshort         0xea60          ARJ archive data
                   1836: 
                   1837: # HA archiver (Greg Roelofs, newt@uchicago.edu)
                   1838: # This is a really bad format. A file containing HAWAII will match this...
                   1839: #0     string          HA              HA archive data,
                   1840: #>2    leshort         =1              1 file,
                   1841: #>2    leshort         >1              %u files,
                   1842: #>4    byte&0x0f       =0              first is type CPY
                   1843: #>4    byte&0x0f       =1              first is type ASC
                   1844: #>4    byte&0x0f       =2              first is type HSC
                   1845: #>4    byte&0x0f       =0x0e           first is type DIR
                   1846: #>4    byte&0x0f       =0x0f           first is type SPECIAL
                   1847: # suggestion: at least identify small archives (<1024 files)
                   1848: 0  belong&0xffff00fc 0x48410000 HA archive data
                   1849: >2     leshort         =1              1 file,
                   1850: >2     leshort         >1              %u files,
                   1851: >4     byte&0x0f       =0              first is type CPY
                   1852: >4     byte&0x0f       =1              first is type ASC
                   1853: >4     byte&0x0f       =2              first is type HSC
                   1854: >4     byte&0x0f       =0x0e           first is type DIR
                   1855: >4     byte&0x0f       =0x0f           first is type SPECIAL
                   1856: 
                   1857: # HPACK archiver (Peter Gutmann, pgut1@cs.aukuni.ac.nz)
                   1858: 0      string          HPAK            HPACK archive data
                   1859: 
                   1860: # JAM Archive volume format, by Dmitry.Kohmanyuk@UA.net
                   1861: 0      string          \351,\001JAM\           JAM archive,
                   1862: >7     string          >\0                     version %.4s
                   1863: >0x26  byte            =0x27                   -
                   1864: >>0x2b string          >\0                     label %.11s,
                   1865: >>0x27 lelong          x                       serial %08x,
                   1866: >>0x36 string          >\0                     fstype %.8s
                   1867: 
                   1868: # LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu)
                   1869: 2      string          -lh0-           LHarc 1.x/ARX archive data [lh0]
                   1870: !:mime application/x-lharc
                   1871: 2      string          -lh1-           LHarc 1.x/ARX archive data [lh1]
                   1872: !:mime application/x-lharc
                   1873: 2      string          -lz4-           LHarc 1.x archive data [lz4]
                   1874: !:mime application/x-lharc
                   1875: 2      string          -lz5-           LHarc 1.x archive data [lz5]
                   1876: !:mime application/x-lharc
                   1877: #      [never seen any but the last; -lh4- reported in comp.compression:]
                   1878: 2      string          -lzs-           LHa/LZS archive data [lzs]
                   1879: !:mime application/x-lha
                   1880: 2      string          -lh\40-         LHa 2.x? archive data [lh ]
                   1881: !:mime application/x-lha
                   1882: 2      string          -lhd-           LHa 2.x? archive data [lhd]
                   1883: !:mime application/x-lha
                   1884: 2      string          -lh2-           LHa 2.x? archive data [lh2]
                   1885: !:mime application/x-lha
                   1886: 2      string          -lh3-           LHa 2.x? archive data [lh3]
                   1887: !:mime application/x-lha
                   1888: 2      string          -lh4-           LHa (2.x) archive data [lh4]
                   1889: !:mime application/x-lha
                   1890: 2      string          -lh5-           LHa (2.x) archive data [lh5]
                   1891: !:mime application/x-lha
                   1892: 2      string          -lh6-           LHa (2.x) archive data [lh6]
                   1893: !:mime application/x-lha
                   1894: 2      string          -lh7-           LHa (2.x)/LHark archive data [lh7]
                   1895: !:mime application/x-lha
                   1896: >20    byte            x               - header level %d
                   1897: # taken from idarc [JW]
                   1898: 2   string      -lZ         PUT archive data
                   1899: 2   string      -lz         LZS archive data 
                   1900: 2   string      -sw1-       Swag archive data
                   1901: 
                   1902: # RAR archiver (Greg Roelofs, newt@uchicago.edu)
                   1903: 0      string          Rar!            RAR archive data,
                   1904: !:mime application/x-rar
                   1905: >44    byte            x               v%0x,
                   1906: >10    byte            >0              flags:
                   1907: >>10   byte            &0x01           Archive volume,
                   1908: >>10   byte            &0x02           Commented,
                   1909: >>10   byte            &0x04           Locked,
                   1910: >>10   byte            &0x08           Solid,
                   1911: >>10   byte            &0x20           Authenticated,
                   1912: >35    byte            0               os: MS-DOS
                   1913: >35    byte            1               os: OS/2
                   1914: >35    byte            2               os: Win32
                   1915: >35    byte            3               os: Unix
                   1916: # some old version? idarc says:
                   1917: 0   string      RE\x7e\x5e  RAR archive data
                   1918: 
                   1919: # SQUISH archiver (Greg Roelofs, newt@uchicago.edu)
                   1920: 0      string          SQSH            squished archive data (Acorn RISCOS)
                   1921: 
                   1922: # UC2 archiver (Greg Roelofs, newt@uchicago.edu)
                   1923: # [JW] see exe section for self-extracting version
                   1924: 0      string          UC2\x1a         UC2 archive data
                   1925: 
                   1926: # ZIP archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu)
                   1927: 0      string          PK\003\004
                   1928: >4     byte            0x00            Zip archive data
                   1929: !:mime application/zip
                   1930: >4     byte            0x09            Zip archive data, at least v0.9 to extract
                   1931: !:mime application/zip
                   1932: >4     byte            0x0a            Zip archive data, at least v1.0 to extract
                   1933: !:mime application/zip
                   1934: >4     byte            0x0b            Zip archive data, at least v1.1 to extract
                   1935: !:mime application/zip
                   1936: >0x161 string          WINZIP          Zip archive data, WinZIP self-extracting
                   1937: !:mime application/zip
                   1938: >4     byte            0x14
                   1939: >>30   ubelong         !0x6d696d65     Zip archive data, at least v2.0 to extract
                   1940: !:mime application/zip
                   1941: 
                   1942: # OpenOffice.org / KOffice / StarOffice documents
                   1943: # Listed here because they ARE zip files
                   1944: #
                   1945: # From: Abel Cheung <abel@oaka.org>
                   1946: >4     byte            0x14
                   1947: >>30   string          mimetype
                   1948: 
                   1949: # KOffice (1.2 or above) formats
                   1950: >>>50  string  vnd.kde.                KOffice (>=1.2)
                   1951: >>>>58 string  karbon                  Karbon document
                   1952: >>>>58 string  kchart                  KChart document
                   1953: >>>>58 string  kformula                KFormula document
                   1954: >>>>58 string  kivio                   Kivio document
                   1955: >>>>58 string  kontour                 Kontour document
                   1956: >>>>58 string  kpresenter              KPresenter document
                   1957: >>>>58 string  kspread                 KSpread document
                   1958: >>>>58 string  kword                   KWord document
                   1959: 
                   1960: # OpenOffice formats (for OpenOffice 1.x / StarOffice 6/7)
                   1961: >>>50  string  vnd.sun.xml.            OpenOffice.org 1.x
                   1962: >>>>62 string  writer                  Writer
                   1963: >>>>>68        byte    !0x2e                   document
                   1964: >>>>>68        string  .template               template
                   1965: >>>>>68        string  .global                 global document
                   1966: >>>>62 string  calc                    Calc
                   1967: >>>>>66        byte    !0x2e                   spreadsheet
                   1968: >>>>>66        string  .template               template
                   1969: >>>>62 string  draw                    Draw
                   1970: >>>>>66        byte    !0x2e                   document
                   1971: >>>>>66        string  .template               template
                   1972: >>>>62 string  impress                 Impress
                   1973: >>>>>69        byte    !0x2e                   presentation
                   1974: >>>>>69        string  .template               template
                   1975: >>>>62 string  math                    Math document
                   1976: >>>>62 string  base                    Database file
                   1977: 
                   1978: # OpenDocument formats (for OpenOffice 2.x / StarOffice >= 8)
                   1979: # http://lists.oasis-open.org/archives/office/200505/msg00006.html
                   1980: >>>50  string  vnd.oasis.opendocument. OpenDocument
                   1981: >>>>73 string  text
                   1982: >>>>>77        byte    !0x2d                   Text
                   1983: !:mime application/vnd.oasis.opendocument.text
                   1984: >>>>>77        string  -template               Text Template
                   1985: >>>>>77        string  -web                    HTML Document Template
                   1986: >>>>>77        string  -master                 Master Document
                   1987: >>>>73 string  graphics                Drawing
                   1988: >>>>>81        string  -template               Template
                   1989: >>>>73 string  presentation            Presentation
                   1990: >>>>>85        string  -template               Template
                   1991: >>>>73 string  spreadsheet             Spreadsheet
                   1992: >>>>>84        string  -template               Template
                   1993: >>>>73 string  chart                   Chart
                   1994: >>>>>78        string  -template               Template
                   1995: >>>>73 string  formula                 Formula
                   1996: >>>>>80        string  -template               Template
                   1997: >>>>73 string  database                Database
                   1998: >>>>73 string  image                   Image
                   1999: 
                   2000: # Zoo archiver
                   2001: 20     lelong          0xfdc4a7dc      Zoo archive data
                   2002: !:mime application/x-zoo
                   2003: >4     byte            >48             \b, v%c.
                   2004: >>6    byte            >47             \b%c
                   2005: >>>7   byte            >47             \b%c
                   2006: >32    byte            >0              \b, modify: v%d
                   2007: >>33   byte            x               \b.%d+
                   2008: >42    lelong          0xfdc4a7dc      \b,
                   2009: >>70   byte            >0              extract: v%d
                   2010: >>>71  byte            x               \b.%d+
                   2011: 
                   2012: # Shell archives
                   2013: 10     string          #\ This\ is\ a\ shell\ archive  shell archive text
                   2014: !:mime application/octet-stream
                   2015: 
                   2016: #
                   2017: # LBR. NB: May conflict with the questionable 
                   2018: #          "binary Computer Graphics Metafile" format.
                   2019: #
                   2020: 0       string  \0\ \ \ \ \ \ \ \ \ \ \ \0\0    LBR archive data
                   2021: #
                   2022: # PMA (CP/M derivative of LHA)
                   2023: #
                   2024: 2       string          -pm0-           PMarc archive data [pm0]
                   2025: 2       string          -pm1-           PMarc archive data [pm1]
                   2026: 2       string          -pm2-           PMarc archive data [pm2]
                   2027: 2       string          -pms-           PMarc SFX archive (CP/M, DOS)
                   2028: 5       string          -pc1-           PopCom compressed executable (CP/M)
                   2029: 
                   2030: # From Rafael Laboissiere <rafael@laboissiere.net>
                   2031: # The Project Revision Control System (see
                   2032: # http://prcs.sourceforge.net) generates a packaged project
                   2033: # file which is recognized by the following entry: 
                   2034: 0      leshort         0xeb81  PRCS packaged project
                   2035: 
                   2036: # Microsoft cabinets 
                   2037: # by David Necas (Yeti) <yeti@physics.muni.cz>
                   2038: #0     string  MSCF\0\0\0\0    Microsoft cabinet file data,
                   2039: #>25   byte    x               v%d
                   2040: #>24   byte    x               \b.%d
                   2041: # MPi: All CABs have version 1.3, so this is pointless.
                   2042: # Better magic in debian-additions.
                   2043: 
                   2044: # GTKtalog catalogs 
                   2045: # by David Necas (Yeti) <yeti@physics.muni.cz>
                   2046: 4      string  gtktalog\       GTKtalog catalog data,
                   2047: >13    string  3               version 3
                   2048: >>14   beshort 0x677a          (gzipped)
                   2049: >>14   beshort !0x677a         (not gzipped)
                   2050: >13    string  >3              version %s
                   2051: 
                   2052: ############################################################################
                   2053: # Parity archive reconstruction file, the 'par' file format now used on Usenet.
                   2054: 0       string          PAR\0  PARity archive data
                   2055: >48    leshort         =0      - Index file
                   2056: >48    leshort         >0      - file number %d
                   2057: 
                   2058: # Felix von Leitner <felix-file@fefe.de>
                   2059: 0      string  d8:announce     BitTorrent file
                   2060: !:mime application/x-bittorrent
                   2061: 
                   2062: # Atari MSA archive - Teemu Hukkanen <tjhukkan@iki.fi>
                   2063: 0       beshort 0x0e0f          Atari MSA archive data
                   2064: >2      beshort x              \b, %d sectors per track
                   2065: >4      beshort 0              \b, 1 sided
                   2066: >4      beshort 1              \b, 2 sided
                   2067: >6      beshort x              \b, starting track: %d
                   2068: >8      beshort x              \b, ending track: %d
                   2069: 
                   2070: # Alternate ZIP string (amc@arwen.cs.berkeley.edu)
                   2071: 0      string  PK00PK\003\004  Zip archive data
                   2072: 
                   2073: # ACE archive (from http://www.wotsit.org/download.asp?f=ace)
                   2074: # by Stefan `Sec` Zehl <sec@42.org>
                   2075: 7      string          **ACE**         ACE archive data
                   2076: >15    byte    >0              version %d
                   2077: >16    byte    =0x00           \b, from MS-DOS
                   2078: >16    byte    =0x01           \b, from OS/2
                   2079: >16    byte    =0x02           \b, from Win/32
                   2080: >16    byte    =0x03           \b, from Unix
                   2081: >16    byte    =0x04           \b, from MacOS
                   2082: >16    byte    =0x05           \b, from WinNT
                   2083: >16    byte    =0x06           \b, from Primos
                   2084: >16    byte    =0x07           \b, from AppleGS
                   2085: >16    byte    =0x08           \b, from Atari
                   2086: >16    byte    =0x09           \b, from Vax/VMS
                   2087: >16    byte    =0x0A           \b, from Amiga
                   2088: >16    byte    =0x0B           \b, from Next
                   2089: >14    byte    x               \b, version %d to extract
                   2090: >5     leshort &0x0080         \b, multiple volumes,
                   2091: >>17   byte    x               \b (part %d),
                   2092: >5     leshort &0x0002         \b, contains comment
                   2093: >5     leshort &0x0200         \b, sfx
                   2094: >5     leshort &0x0400         \b, small dictionary
                   2095: >5     leshort &0x0800         \b, multi-volume
                   2096: >5     leshort &0x1000         \b, contains AV-String
                   2097: >>30   string  \x16*UNREGISTERED\x20VERSION*   (unregistered)
                   2098: >5     leshort &0x2000         \b, with recovery record
                   2099: >5     leshort &0x4000         \b, locked
                   2100: >5     leshort &0x8000         \b, solid
                   2101: # Date in MS-DOS format (whatever that is)
                   2102: #>18   lelong  x               Created on
                   2103: 
                   2104: # sfArk : compression program for Soundfonts (sf2) by Dirk Jagdmann
                   2105: # <doj@cubic.org>
                   2106: 0x1A   string  sfArk           sfArk compressed Soundfont
                   2107: >0x15  string  2
                   2108: >>0x1  string  >\0             Version %s
                   2109: >>0x2A string  >\0             : %s
                   2110: 
                   2111: # DR-DOS 7.03 Packed File *.??_
                   2112: 0      string  Packed\ File\   Personal NetWare Packed File
                   2113: >12    string  x               \b, was "%.12s"
                   2114: 
                   2115: # EET archive
                   2116: # From: Tilman Sauerbeck <tilman@code-monkey.de>
                   2117: 0      belong  0x1ee7ff00      EET archive
                   2118: !:mime application/x-eet
                   2119: 
                   2120: # rzip archives
                   2121: 0      string  RZIP            rzip compressed data
                   2122: >4     byte    x               - version %d
                   2123: >5     byte    x               \b.%d
                   2124: >6     belong  x               (%d bytes)
                   2125: 
                   2126: # From: "Robert Dale" <robdale@gmail.com>
                   2127: 0      belong  123             dar archive,
                   2128: >4     belong  x               label "%.8x
                   2129: >>8    belong  x               %.8x
                   2130: >>>12  beshort x               %.4x"
                   2131: >14    byte    0x54            end slice
                   2132: >14    beshort 0x4e4e          multi-part
                   2133: >14    beshort 0x4e53          multi-part, with -S
                   2134: 
                   2135: # Symbian installation files
                   2136: #  http://www.thouky.co.uk/software/psifs/sis.html
                   2137: #  http://developer.symbian.com/main/downloads/papers/SymbianOSv91/softwareinstallsis.pdf
                   2138: 8      lelong  0x10000419      Symbian installation file
                   2139: !:mime application/vnd.symbian.install
                   2140: >4     lelong  0x1000006D      (EPOC release 3/4/5)
                   2141: >4     lelong  0x10003A12      (EPOC release 6)
                   2142: 0      lelong  0x10201A7A      Symbian installation file (Symbian OS 9.x)
                   2143: !:mime x-epoc/x-sisx-app
                   2144: 
                   2145: # From "Nelson A. de Oliveira" <naoliv@gmail.com>
                   2146: 0      string  MPQ\032         MoPaQ (MPQ) archive
                   2147: 
                   2148: # From: Dirk Jagdmann <doj@cubic.org>
                   2149: # xar archive format: http://code.google.com/p/xar/
                   2150: 0      string  xar!            xar archive
                   2151: >6     beshort x               - version %ld
                   2152: 
                   2153: # From: "Nelson A. de Oliveira" <naoliv@gmail.com>
                   2154: # .kgb
                   2155: 0      string KGB_arch         KGB Archiver file
                   2156: >10    string x                with compression level %.1s
                   2157: 
                   2158: # xar (eXtensible ARchiver) archive
                   2159: # From: "David Remahl" <dremahl@apple.com>
                   2160: 0      string  xar!            xar archive
                   2161: #>4    beshort x               header size %d
                   2162: >6     beshort x               version %d,
                   2163: #>8    quad    x               compressed TOC: %d,
                   2164: #>16   quad    x               uncompressed TOC: %d,
                   2165: >24    belong  0               no checksum
                   2166: >24    belong  1               SHA-1 checksum
                   2167: >24    belong  2               MD5 checksum
                   2168: 
                   2169: # Type: Parity Archive
                   2170: # From: Daniel van Eeden <daniel_e@dds.nl>
                   2171: 0      string   PAR2           Parity Archive Volume Set
                   2172: 
                   2173: #------------------------------------------------------------------------------
                   2174: # asterix:  file(1) magic for Aster*x; SunOS 5.5.1 gave the 4-character
                   2175: # strings as "long" - we assume they're just strings:
                   2176: # From: guy@netapp.com (Guy Harris)
                   2177: #
                   2178: 0      string          *STA            Aster*x
                   2179: >7     string          WORD                    Words Document
                   2180: >7     string          GRAP                    Graphic
                   2181: >7     string          SPRE                    Spreadsheet
                   2182: >7     string          MACR                    Macro
                   2183: 0      string          2278            Aster*x Version 2
                   2184: >29    byte            0x36                    Words Document
                   2185: >29    byte            0x35                    Graphic
                   2186: >29    byte            0x32                    Spreadsheet
                   2187: >29    byte            0x38                    Macro
                   2188: 
                   2189: 
                   2190: #------------------------------------------------------------------------------
                   2191: # att3b:  file(1) magic for AT&T 3B machines
                   2192: #
                   2193: # The `versions' should be un-commented if they work for you.
                   2194: # (Was the problem just one of endianness?)
                   2195: #
                   2196: # 3B20
                   2197: #
                   2198: # The 3B20 conflicts with SCCS.
                   2199: #0     beshort         0550            3b20 COFF executable
                   2200: #>12   belong          >0              not stripped
                   2201: #>22   beshort         >0              - version %ld
                   2202: #0     beshort         0551            3b20 COFF executable (TV)
                   2203: #>12   belong          >0              not stripped
                   2204: #>22   beshort         >0              - version %ld
                   2205: #
                   2206: # WE32K
                   2207: #
                   2208: 0      beshort         0560            WE32000 COFF
                   2209: >18    beshort         ^00000020       object
                   2210: >18    beshort         &00000020       executable
                   2211: >12    belong          >0              not stripped
                   2212: >18    beshort         ^00010000       N/A on 3b2/300 w/paging
                   2213: >18    beshort         &00020000       32100 required
                   2214: >18    beshort         &00040000       and MAU hardware required
                   2215: >20    beshort         0407            (impure)
                   2216: >20    beshort         0410            (pure)
                   2217: >20    beshort         0413            (demand paged)
                   2218: >20    beshort         0443            (target shared library)
                   2219: >22    beshort         >0              - version %ld
                   2220: 0      beshort         0561            WE32000 COFF executable (TV)
                   2221: >12    belong          >0              not stripped
                   2222: #>18   beshort         &00020000       - 32100 required
                   2223: #>18   beshort         &00040000       and MAU hardware required
                   2224: #>22   beshort         >0              - version %ld
                   2225: #
                   2226: # core file for 3b2 
                   2227: 0      string          \000\004\036\212\200    3b2 core file
                   2228: >364   string          >\0             of '%s'
                   2229: #------------------------------------------------------------------------------
                   2230: # audio:  file(1) magic for sound formats (see also "iff")
                   2231: #
                   2232: # Jan Nicolai Langfeldt (janl@ifi.uio.no), Dan Quinlan (quinlan@yggdrasil.com),
                   2233: # and others
                   2234: #
                   2235: 
                   2236: # Sun/NeXT audio data
                   2237: 0      string          .snd            Sun/NeXT audio data:
                   2238: >12    belong          1               8-bit ISDN mu-law,
                   2239: !:mime audio/basic
                   2240: >12    belong          2               8-bit linear PCM [REF-PCM],
                   2241: !:mime audio/basic
                   2242: >12    belong          3               16-bit linear PCM,
                   2243: !:mime audio/basic
                   2244: >12    belong          4               24-bit linear PCM,
                   2245: !:mime audio/basic
                   2246: >12    belong          5               32-bit linear PCM,
                   2247: !:mime audio/basic
                   2248: >12    belong          6               32-bit IEEE floating point,
                   2249: !:mime audio/basic
                   2250: >12    belong          7               64-bit IEEE floating point,
                   2251: !:mime audio/basic
                   2252: >12    belong          8               Fragmented sample data,
                   2253: >12    belong          10              DSP program,
                   2254: >12    belong          11              8-bit fixed point,
                   2255: >12    belong          12              16-bit fixed point,
                   2256: >12    belong          13              24-bit fixed point,
                   2257: >12    belong          14              32-bit fixed point,
                   2258: >12    belong          18              16-bit linear with emphasis,
                   2259: >12    belong          19              16-bit linear compressed,
                   2260: >12    belong          20              16-bit linear with emphasis and compression,
                   2261: >12    belong          21              Music kit DSP commands,
                   2262: >12    belong          23              8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice enc.),
                   2263: !:mime  audio/x-adpcm
                   2264: >12    belong          24              compressed (8-bit CCITT G.722 ADPCM)
                   2265: >12    belong          25              compressed (3-bit CCITT G.723.3 ADPCM),
                   2266: >12    belong          26              compressed (5-bit CCITT G.723.5 ADPCM),
                   2267: >12    belong          27              8-bit A-law (CCITT G.711),
                   2268: >20    belong          1               mono,
                   2269: >20    belong          2               stereo,
                   2270: >20    belong          4               quad,
                   2271: >16    belong          >0              %d Hz
                   2272: 
                   2273: # DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format
                   2274: # that uses little-endian encoding and has a different magic number
                   2275: 0      lelong          0x0064732E      DEC audio data:
                   2276: >12    lelong          1               8-bit ISDN mu-law,
                   2277: !:mime audio/x-dec-basic
                   2278: >12    lelong          2               8-bit linear PCM [REF-PCM],
                   2279: !:mime audio/x-dec-basic
                   2280: >12    lelong          3               16-bit linear PCM,
                   2281: !:mime audio/x-dec-basic
                   2282: >12    lelong          4               24-bit linear PCM,
                   2283: !:mime audio/x-dec-basic
                   2284: >12    lelong          5               32-bit linear PCM,
                   2285: !:mime audio/x-dec-basic
                   2286: >12    lelong          6               32-bit IEEE floating point,
                   2287: !:mime audio/x-dec-basic
                   2288: >12    lelong          7               64-bit IEEE floating point,
                   2289: !:mime audio/x-dec-basic
                   2290: >12    belong          8               Fragmented sample data,
                   2291: >12    belong          10              DSP program,
                   2292: >12    belong          11              8-bit fixed point,
                   2293: >12    belong          12              16-bit fixed point,
                   2294: >12    belong          13              24-bit fixed point,
                   2295: >12    belong          14              32-bit fixed point,
                   2296: >12    belong          18              16-bit linear with emphasis,
                   2297: >12    belong          19              16-bit linear compressed,
                   2298: >12    belong          20              16-bit linear with emphasis and compression,
                   2299: >12    belong          21              Music kit DSP commands,
                   2300: >12    lelong          23              8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice enc.),
                   2301: !:mime audio/x-dec-basic
                   2302: >12    belong          24              compressed (8-bit CCITT G.722 ADPCM)
                   2303: >12    belong          25              compressed (3-bit CCITT G.723.3 ADPCM),
                   2304: >12    belong          26              compressed (5-bit CCITT G.723.5 ADPCM),
                   2305: >12    belong          27              8-bit A-law (CCITT G.711),
                   2306: >20    lelong          1               mono,
                   2307: >20    lelong          2               stereo,
                   2308: >20    lelong          4               quad,
                   2309: >16    lelong          >0              %d Hz
                   2310: 
                   2311: # Creative Labs AUDIO stuff
                   2312: 0      string  MThd                    Standard MIDI data
                   2313: !:mime audio/midi
                   2314: >8     beshort x                       (format %d)
                   2315: >10    beshort x                       using %d track
                   2316: >10    beshort         >1              \bs
                   2317: >12    beshort&0x7fff  x               at 1/%d
                   2318: >12    beshort&0x8000  >0              SMPTE
                   2319: 
                   2320: 0      string  CTMF                    Creative Music (CMF) data
                   2321: !:mime audio/x-unknown
                   2322: 0      string  SBI                     SoundBlaster instrument data
                   2323: !:mime audio/x-unknown
                   2324: 0      string  Creative\ Voice\ File   Creative Labs voice data
                   2325: !:mime audio/x-unknown
                   2326: # is this next line right?  it came this way...
                   2327: >19    byte    0x1A
                   2328: >23    byte    >0                      - version %d
                   2329: >22    byte    >0                      \b.%d
                   2330: 
                   2331: # first entry is also the string "NTRK"
                   2332: 0      belong          0x4e54524b      MultiTrack sound data
                   2333: >4     belong          x               - version %ld
                   2334: 
                   2335: # Extended MOD format (*.emd) (Greg Roelofs, newt@uchicago.edu); NOT TESTED
                   2336: # [based on posting 940824 by "Dirk/Elastik", husberg@lehtori.cc.tut.fi]
                   2337: 0      string          EMOD            Extended MOD sound data,
                   2338: >4     byte&0xf0       x               version %d
                   2339: >4     byte&0x0f       x               \b.%d,
                   2340: >45    byte            x               %d instruments
                   2341: >83    byte            0               (module)
                   2342: >83    byte            1               (song)
                   2343: 
                   2344: # Real Audio (Magic .ra\0375)
                   2345: 0      belong          0x2e7261fd      RealAudio sound file
                   2346: !:mime audio/x-pn-realaudio
                   2347: 0      string          .RMF\0\0\0      RealMedia file
                   2348: !:mime application/vnd.rn-realmedia
                   2349: #video/x-pn-realvideo
                   2350: #video/vnd.rn-realvideo
                   2351: #application/vnd.rn-realmedia
                   2352: #      sigh, there are many mimes for that but the above are the most common.
                   2353: 
                   2354: # MTM/669/FAR/S3M/ULT/XM format checking [Aaron Eppert, aeppert@dialin.ind.net]
                   2355: # Oct 31, 1995
                   2356: # fixed by <doj@cubic.org> 2003-06-24
                   2357: # Too short...
                   2358: #0     string          MTM             MultiTracker Module sound file
                   2359: #0     string          if              Composer 669 Module sound data
                   2360: #0     string          JN              Composer 669 Module sound data (extended format)
                   2361: 0      string          MAS_U           ULT(imate) Module sound data
                   2362: 
                   2363: #0     string          FAR             Module sound data
                   2364: #>4    string          >\15            Title: "%s"
                   2365: 
                   2366: 0x2c   string          SCRM            ScreamTracker III Module sound data
                   2367: >0     string          >\0             Title: "%s"
                   2368: 
                   2369: # Gravis UltraSound patches
                   2370: # From <ache@nagual.ru>
                   2371: 
                   2372: 0      string          GF1PATCH110\0ID#000002\0        GUS patch
                   2373: 0      string          GF1PATCH100\0ID#000002\0        Old GUS patch
                   2374: 
                   2375: # mime types according to http://www.geocities.com/nevilo/mod.htm:
                   2376: #      audio/it        .it
                   2377: #      audio/x-zipped-it       .itz
                   2378: #      audio/xm        fasttracker modules
                   2379: #      audio/x-s3m     screamtracker modules
                   2380: #      audio/s3m       screamtracker modules
                   2381: #      audio/x-zipped-mod      mdz
                   2382: #      audio/mod       mod
                   2383: #      audio/x-mod     All modules (mod, s3m, 669, mtm, med, xm, it, mdz, stm, itz, xmz, s3z)
                   2384: 
                   2385: #
                   2386: # Taken from loader code from mikmod version 2.14
                   2387: # by Steve McIntyre (stevem@chiark.greenend.org.uk)
                   2388: # <doj@cubic.org> added title printing on 2003-06-24
                   2389: 0      string  MAS_UTrack_V00
                   2390: >14    string  >/0             ultratracker V1.%.1s module sound data
                   2391: !:mime audio/x-mod
                   2392: #audio/x-tracker-module
                   2393: 
                   2394: 0      string  UN05            MikMod UNI format module sound data
                   2395: 
                   2396: 0      string  Extended\ Module: Fasttracker II module sound data
                   2397: !:mime audio/x-mod
                   2398: #audio/x-tracker-module
                   2399: >17    string  >\0             Title: "%s"
                   2400: 
                   2401: 21     string/c        =!SCREAM!       Screamtracker 2 module sound data
                   2402: !:mime audio/x-mod
                   2403: #audio/x-screamtracker-module
                   2404: 21     string  BMOD2STM        Screamtracker 2 module sound data
                   2405: !:mime audio/x-mod
                   2406: #audio/x-screamtracker-module
                   2407: 1080   string  M.K.            4-channel Protracker module sound data
                   2408: !:mime audio/x-mod
                   2409: #audio/x-protracker-module
                   2410: >0     string  >\0             Title: "%s"
                   2411: 1080   string  M!K!            4-channel Protracker module sound data
                   2412: !:mime audio/x-mod
                   2413: #audio/x-protracker-module
                   2414: >0     string  >\0             Title: "%s"
                   2415: 1080   string  FLT4            4-channel Startracker module sound data
                   2416: !:mime audio/x-mod
                   2417: #audio/x-startracker-module
                   2418: >0     string  >\0             Title: "%s"
                   2419: 1080   string  FLT8            8-channel Startracker module sound data
                   2420: !:mime audio/x-mod
                   2421: #audio/x-startracker-module
                   2422: >0     string  >\0             Title: "%s"
                   2423: 1080   string  4CHN            4-channel Fasttracker module sound data
                   2424: !:mime audio/x-mod
                   2425: #audio/x-fasttracker-module
                   2426: >0     string  >\0             Title: "%s"
                   2427: 1080   string  6CHN            6-channel Fasttracker module sound data
                   2428: !:mime audio/x-mod
                   2429: #audio/x-fasttracker-module
                   2430: >0     string  >\0             Title: "%s"
                   2431: 1080   string  8CHN            8-channel Fasttracker module sound data
                   2432: !:mime audio/x-mod
                   2433: #audio/x-fasttracker-module
                   2434: >0     string  >\0             Title: "%s"
                   2435: 1080   string  CD81            8-channel Octalyser module sound data
                   2436: !:mime audio/x-mod
                   2437: #audio/x-octalysertracker-module
                   2438: >0     string  >\0             Title: "%s"
                   2439: 1080   string  OKTA            8-channel Octalyzer module sound data
                   2440: !:mime audio/x-mod
                   2441: #audio/x-octalysertracker-module
                   2442: >0     string  >\0             Title: "%s"
                   2443: # Not good enough.
                   2444: #1082  string  CH
                   2445: #>1080 string  >/0             %.2s-channel Fasttracker "oktalyzer" module sound data
                   2446: 1080   string  16CN            16-channel Taketracker module sound data
                   2447: !:mime audio/x-mod
                   2448: #audio/x-taketracker-module
                   2449: >0     string  >\0             Title: "%s"
                   2450: 1080   string  32CN            32-channel Taketracker module sound data
                   2451: !:mime audio/x-mod
                   2452: #audio/x-taketracker-module
                   2453: >0     string  >\0             Title: "%s"
                   2454: 
                   2455: # TOC sound files -Trevor Johnson <trevor@jpj.net>
                   2456: #
                   2457: 0       string          TOC             TOC sound file
                   2458: 
                   2459: # sidfiles <pooka@iki.fi>
                   2460: # added name,author,(c) and new RSID type by <doj@cubic.org> 2003-06-24
                   2461: 0      string          SIDPLAY\ INFOFILE       Sidplay info file
                   2462: 
                   2463: 0      string          PSID                    PlaySID v2.2+ (AMIGA) sidtune
                   2464: >4     beshort         >0                      w/ header v%d,
                   2465: >14    beshort         =1                      single song,
                   2466: >14    beshort         >1                      %d songs,
                   2467: >16    beshort         >0                      default song: %d
                   2468: >0x16  string          >\0                     name: "%s"
                   2469: >0x36  string          >\0                     author: "%s"
                   2470: >0x56  string          >\0                     copyright: "%s"
                   2471: 
                   2472: 0      string          RSID                    RSID sidtune PlaySID compatible
                   2473: >4     beshort         >0                      w/ header v%d,
                   2474: >14    beshort         =1                      single song,
                   2475: >14    beshort         >1                      %d songs,
                   2476: >16    beshort         >0                      default song: %d
                   2477: >0x16  string          >\0                     name: "%s"
                   2478: >0x36  string          >\0                     author: "%s"
                   2479: >0x56  string          >\0                     copyright: "%s"
                   2480: 
                   2481: # IRCAM <mpruett@sgi.com>
                   2482: # VAX and MIPS files are little-endian; Sun and NeXT are big-endian
                   2483: 0      belong          0x64a30100              IRCAM file (VAX)
                   2484: 0      belong          0x64a30200              IRCAM file (Sun)
                   2485: 0      belong          0x64a30300              IRCAM file (MIPS little-endian)
                   2486: 0      belong          0x64a30400              IRCAM file (NeXT)
                   2487: 
                   2488: # NIST SPHERE <mpruett@sgi.com>
                   2489: 0      string          NIST_1A\n\ \ \ 1024\n   NIST SPHERE file
                   2490: 
                   2491: # Sample Vision <mpruett@sgi.com>
                   2492: 0      string          SOUND\ SAMPLE\ DATA\    Sample Vision file
                   2493: 
                   2494: # Audio Visual Research <tonigonenstein@users.sourceforge.net>
                   2495: 0      string          2BIT                    Audio Visual Research file,
                   2496: >12    beshort         =0                      mono,
                   2497: >12    beshort         =-1                     stereo,
                   2498: >14    beshort         x                       %d bits
                   2499: >16    beshort         =0                      unsigned,
                   2500: >16    beshort         =-1                     signed,
                   2501: >22    belong&0x00ffffff       x               %d Hz,
                   2502: >18    beshort         =0                      no loop,
                   2503: >18    beshort         =-1                     loop,
                   2504: >21    ubyte           <128                    note %d,
                   2505: >22    byte            =0                      replay 5.485 KHz
                   2506: >22    byte            =1                      replay 8.084 KHz
                   2507: >22    byte            =2                      replay 10.971 Khz
                   2508: >22    byte            =3                      replay 16.168 Khz
                   2509: >22    byte            =4                      replay 21.942 KHz
                   2510: >22    byte            =5                      replay 32.336 KHz
                   2511: >22    byte            =6                      replay 43.885 KHz
                   2512: >22    byte            =7                      replay 47.261 KHz
                   2513: 
                   2514: # SGI SoundTrack <mpruett@sgi.com>
                   2515: 0      string          _SGI_SoundTrack         SGI SoundTrack project file
                   2516: # ID3 version 2 tags <waschk@informatik.uni-rostock.de>
                   2517: 0      string          ID3     Audio file with ID3 version 2.
                   2518: # ??? Normally such a file is an MP3 file, but this will give false positives
                   2519: !:mime audio/mpeg
                   2520: >3     ubyte   <0xff   \b%d
                   2521: #>4    ubyte   <0xff   \b%d tag
                   2522: >2584  string  fLaC            \b, FLAC encoding
                   2523: >>2588 byte&0x7f               >0              \b, unknown version
                   2524: >>2588 byte&0x7f               0               \b
                   2525: # some common bits/sample values
                   2526: >>>2600        beshort&0x1f0           0x030           \b, 4 bit
                   2527: >>>2600        beshort&0x1f0           0x050           \b, 6 bit
                   2528: >>>2600        beshort&0x1f0           0x070           \b, 8 bit
                   2529: >>>2600        beshort&0x1f0           0x0b0           \b, 12 bit
                   2530: >>>2600        beshort&0x1f0           0x0f0           \b, 16 bit
                   2531: >>>2600        beshort&0x1f0           0x170           \b, 24 bit
                   2532: >>>2600        byte&0xe                0x0             \b, mono
                   2533: >>>2600        byte&0xe                0x2             \b, stereo
                   2534: >>>2600        byte&0xe                0x4             \b, 3 channels
                   2535: >>>2600        byte&0xe                0x6             \b, 4 channels
                   2536: >>>2600        byte&0xe                0x8             \b, 5 channels
                   2537: >>>2600        byte&0xe                0xa             \b, 6 channels
                   2538: >>>2600        byte&0xe                0xc             \b, 7 channels
                   2539: >>>2600        byte&0xe                0xe             \b, 8 channels
                   2540: # some common sample rates
                   2541: >>>2597        belong&0xfffff0         0x0ac440        \b, 44.1 kHz
                   2542: >>>2597        belong&0xfffff0         0x0bb800        \b, 48 kHz
                   2543: >>>2597        belong&0xfffff0         0x07d000        \b, 32 kHz
                   2544: >>>2597        belong&0xfffff0         0x056220        \b, 22.05 kHz
                   2545: >>>2597        belong&0xfffff0         0x05dc00        \b, 24 kHz
                   2546: >>>2597        belong&0xfffff0         0x03e800        \b, 16 kHz
                   2547: >>>2597        belong&0xfffff0         0x02b110        \b, 11.025 kHz
                   2548: >>>2597        belong&0xfffff0         0x02ee00        \b, 12 kHz
                   2549: >>>2597        belong&0xfffff0         0x01f400        \b, 8 kHz
                   2550: >>>2597        belong&0xfffff0         0x177000        \b, 96 kHz
                   2551: >>>2597        belong&0xfffff0         0x0fa000        \b, 64 kHz
                   2552: >>>2601        byte&0xf                >0              \b, >4G samples
                   2553: >2584  string  !fLaC           \b, MP3 encoding
                   2554: 
                   2555: # NSF (NES sound file) magic
                   2556: 0      string          NESM\x1a        NES Sound File
                   2557: >14    string          >\0             ("%s" by
                   2558: >46    string          >\0             %s, copyright
                   2559: >78    string          >\0             %s),
                   2560: >5     byte            x               version %d,
                   2561: >6     byte            x               %d tracks,
                   2562: >122   byte&0x2        =1              dual PAL/NTSC
                   2563: >122   byte&0x1        =1              PAL
                   2564: >122   byte&0x1        =0              NTSC
                   2565: 
                   2566: # Type: SNES SPC700 sound files
                   2567: # From: Josh Triplett <josh@freedesktop.org>
                   2568: 0      string  SNES-SPC700\ Sound\ File\ Data\ v       SNES SPC700 sound file
                   2569: >&0    string  0.30                                    \b, version %s
                   2570: >>0x23 byte    0x1B                                    \b, without ID666 tag
                   2571: >>0x23 byte    0x1A                                    \b, with ID666 tag
                   2572: >>>0x2E        string  >\0                                     \b, song "%.32s"
                   2573: >>>0x4E        string  >\0                                     \b, game "%.32s"
                   2574: 
                   2575: # Impulse tracker module (audio/x-it)
                   2576: 0      string          IMPM            Impulse Tracker module sound data -
                   2577: !:mime audio/x-mod
                   2578: >4     string          >\0             "%s"
                   2579: >40    leshort         !0              compatible w/ITv%x
                   2580: >42    leshort         !0              created w/ITv%x
                   2581: 
                   2582: # Imago Orpheus module (audio/x-imf)
                   2583: 60     string          IM10            Imago Orpheus module sound data -
                   2584: >0     string          >\0             "%s"
                   2585: 
                   2586: # From <collver1@attbi.com>
                   2587: # These are the /etc/magic entries to decode modules, instruments, and
                   2588: # samples in Impulse Tracker's native format.
                   2589: 
                   2590: 0      string          IMPS            Impulse Tracker Sample
                   2591: >18    byte            &2              16 bit
                   2592: >18    byte            ^2              8 bit
                   2593: >18    byte            &4              stereo
                   2594: >18    byte            ^4              mono
                   2595: 0      string          IMPI            Impulse Tracker Instrument
                   2596: >28    leshort         !0              ITv%x
                   2597: >30    byte            !0              %d samples
                   2598: 
                   2599: # Yamaha TX Wave:  file(1) magic for Yamaha TX Wave audio files
                   2600: # From <collver1@attbi.com>
                   2601: 0      string          LM8953          Yamaha TX Wave
                   2602: >22    byte            0x49            looped
                   2603: >22    byte            0xC9            non-looped
                   2604: >23    byte            1               33kHz
                   2605: >23    byte            2               50kHz
                   2606: >23    byte            3               16kHz
                   2607: 
                   2608: # scream tracker:  file(1) magic for Scream Tracker sample files
                   2609: #
                   2610: # From <collver1@attbi.com>
                   2611: 76     string          SCRS            Scream Tracker Sample
                   2612: >0     byte            1               sample
                   2613: >0     byte            2               adlib melody
                   2614: >0     byte            >2              adlib drum
                   2615: >31    byte            &2              stereo
                   2616: >31    byte            ^2              mono
                   2617: >31    byte            &4              16bit little endian
                   2618: >31    byte            ^4              8bit
                   2619: >30    byte            0               unpacked
                   2620: >30    byte            1               packed
                   2621: 
                   2622: # audio
                   2623: # From: Cory Dikkers <cdikkers@swbell.net>
                   2624: 0      string          MMD0            MED music file, version 0
                   2625: 0      string          MMD1            OctaMED Pro music file, version 1
                   2626: 0      string          MMD3            OctaMED Soundstudio music file, version 3
                   2627: 0      string          OctaMEDCmpr     OctaMED Soundstudio compressed file
                   2628: 0      string          MED             MED_Song
                   2629: 0      string          SymM            Symphonie SymMOD music file
                   2630: #
                   2631: 0      string          THX             AHX version
                   2632: >3     byte            =0              1 module data
                   2633: >3     byte            =1              2 module data
                   2634: #
                   2635: 0      string          OKTASONG        Oktalyzer module data
                   2636: #
                   2637: 0      string          DIGI\ Booster\ module\0 %s
                   2638: >20    byte            >0              %c
                   2639: >>21   byte            >0              \b%c
                   2640: >>>22  byte            >0              \b%c
                   2641: >>>>23 byte            >0              \b%c
                   2642: >610   string          >\0             \b, "%s"
                   2643: #
                   2644: 0      string          DBM0            DIGI Booster Pro Module
                   2645: >4     byte            >0              V%X.
                   2646: >>5    byte            x               \b%02X
                   2647: >16    string          >\0             \b, "%s"
                   2648: #
                   2649: 0      string          FTMN            FaceTheMusic module
                   2650: >16    string          >\0d            \b, "%s"
                   2651: 
                   2652: # From: <doj@cubic.org> 2003-06-24
                   2653: 0      string          AMShdr\32       Velvet Studio AMS Module v2.2
                   2654: 0      string          Extreme         Extreme Tracker AMS Module v1.3
                   2655: 0      string          DDMF            Xtracker DMF Module
                   2656: >4     byte            x               v%i
                   2657: >0xD   string          >\0             Title: "%s"
                   2658: >0x2B  string          >\0             Composer: "%s"
                   2659: 0      string          DSM\32          Dynamic Studio Module DSM
                   2660: 0      string          SONG            DigiTrekker DTM Module
                   2661: 0      string          DMDL            DigiTrakker MDL Module
                   2662: 0      string          PSM\32          Protracker Studio PSM Module
                   2663: 44     string          PTMF            Poly Tracker PTM Module
                   2664: >0     string          >\32            Title: "%s"
                   2665: 0      string          MT20            MadTracker 2.0 Module MT2
                   2666: 0      string          RAD\40by\40REALiTY!! RAD Adlib Tracker Module RAD
                   2667: 0      string          RTMM            RTM Module
                   2668: 0x426  string          MaDoKaN96       XMS Adlib Module
                   2669: >0     string          >\0             Composer: "%s"
                   2670: 0      string          AMF             AMF Module
                   2671: >4     string          >\0             Title: "%s"
                   2672: 0      string          MODINFO1        Open Cubic Player Module Inforation MDZ
                   2673: 0      string          Extended\40Instrument: Fast Tracker II Instrument
                   2674: 
                   2675: # From: Takeshi Hamasaki <hma@syd.odn.ne.jp>
                   2676: # NOA Nancy Codec file
                   2677: 0      string          \210NOA\015\012\032     NOA Nancy Codec Movie file
                   2678: # Yamaha SMAF format
                   2679: 0      string          MMMD            Yamaha SMAF file
                   2680: # Sharp Jisaku Melody format for PDC
                   2681: 0      string          \001Sharp\040JisakuMelody       SHARP Cell-Phone ringing Melody
                   2682: >20    string          Ver01.00        Ver. 1.00
                   2683: >>32   byte            x               , %d tracks
                   2684: 
                   2685: # Free lossless audio codec <http://flac.sourceforge.net>
                   2686: # From: Przemyslaw Augustyniak <silvathraec@rpg.pl>
                   2687: 0      string                  fLaC            FLAC audio bitstream data
                   2688: !:mime audio/x-flac
                   2689: >4     byte&0x7f               >0              \b, unknown version
                   2690: >4     byte&0x7f               0               \b
                   2691: # some common bits/sample values
                   2692: >>20   beshort&0x1f0           0x030           \b, 4 bit
                   2693: >>20   beshort&0x1f0           0x050           \b, 6 bit
                   2694: >>20   beshort&0x1f0           0x070           \b, 8 bit
                   2695: >>20   beshort&0x1f0           0x0b0           \b, 12 bit
                   2696: >>20   beshort&0x1f0           0x0f0           \b, 16 bit
                   2697: >>20   beshort&0x1f0           0x170           \b, 24 bit
                   2698: >>20   byte&0xe                0x0             \b, mono
                   2699: >>20   byte&0xe                0x2             \b, stereo
                   2700: >>20   byte&0xe                0x4             \b, 3 channels
                   2701: >>20   byte&0xe                0x6             \b, 4 channels
                   2702: >>20   byte&0xe                0x8             \b, 5 channels
                   2703: >>20   byte&0xe                0xa             \b, 6 channels
                   2704: >>20   byte&0xe                0xc             \b, 7 channels
                   2705: >>20   byte&0xe                0xe             \b, 8 channels
                   2706: # some common sample rates
                   2707: >>17   belong&0xfffff0         0x0ac440        \b, 44.1 kHz
                   2708: >>17   belong&0xfffff0         0x0bb800        \b, 48 kHz
                   2709: >>17   belong&0xfffff0         0x07d000        \b, 32 kHz
                   2710: >>17   belong&0xfffff0         0x056220        \b, 22.05 kHz
                   2711: >>17   belong&0xfffff0         0x05dc00        \b, 24 kHz
                   2712: >>17   belong&0xfffff0         0x03e800        \b, 16 kHz
                   2713: >>17   belong&0xfffff0         0x02b110        \b, 11.025 kHz
                   2714: >>17   belong&0xfffff0         0x02ee00        \b, 12 kHz
                   2715: >>17   belong&0xfffff0         0x01f400        \b, 8 kHz
                   2716: >>17   belong&0xfffff0         0x177000        \b, 96 kHz
                   2717: >>17   belong&0xfffff0         0x0fa000        \b, 64 kHz
                   2718: >>21   byte&0xf                >0              \b, >4G samples
                   2719: >>21   byte&0xf                0               \b
                   2720: >>>22  belong                  >0              \b, %u samples
                   2721: >>>22  belong                  0               \b, length unknown
                   2722: 
                   2723: # (ISDN) VBOX voice message file (Wolfram Kleff)
                   2724: 0       string          VBOX            VBOX voice message data
                   2725: 
                   2726: # ReBorn Song Files (.rbs)
                   2727: # David J. Singer <doc@deadvirgins.org.uk>
                   2728: 8       string          RB40             RBS Song file
                   2729: >29     string          ReBorn           created by ReBorn
                   2730: >37     string          Propellerhead    created by ReBirth
                   2731: 
                   2732: # Synthesizer Generator and Kimwitu share their file format
                   2733: 0      string          A#S#C#S#S#L#V#3     Synthesizer Generator or Kimwitu data
                   2734: # Kimwitu++ uses a slightly different magic
                   2735: 0      string          A#S#C#S#S#L#HUB     Kimwitu++ data
                   2736: 
                   2737: # From "Simon Hosie
                   2738: 0       string  TFMX-SONG       TFMX module sound data
                   2739: 
                   2740: # Monkey's Audio compressed audio format (.ape)
                   2741: # From danny.milo@gmx.net (Danny Milosavljevic)
                   2742: # New version from Abel Cheung <abel (@) oaka.org>
                   2743: 0              string          MAC\040         Monkey's Audio compressed format
                   2744: >4             uleshort        >0x0F8B         version %d
                   2745: >>(0x08.l)     uleshort        =1000           with fast compression
                   2746: >>(0x08.l)     uleshort        =2000           with normal compression
                   2747: >>(0x08.l)     uleshort        =3000           with high compression
                   2748: >>(0x08.l)     uleshort        =4000           with extra high compression
                   2749: >>(0x08.l)     uleshort        =5000           with insane compression
                   2750: >>(0x08.l+18)  uleshort        =1              \b, mono
                   2751: >>(0x08.l+18)  uleshort        =2              \b, stereo
                   2752: >>(0x08.l+20)  ulelong         x               \b, sample rate %d
                   2753: >4             uleshort        <0x0F8C         version %d
                   2754: >>6            uleshort        =1000           with fast compression
                   2755: >>6            uleshort        =2000           with normal compression
                   2756: >>6            uleshort        =3000           with high compression
                   2757: >>6            uleshort        =4000           with extra high compression
                   2758: >>6            uleshort        =5000           with insane compression
                   2759: >>10           uleshort        =1              \b, mono
                   2760: >>10           uleshort        =2              \b, stereo
                   2761: >>12           ulelong         x               \b, sample rate %d
                   2762: 
                   2763: # adlib sound files
                   2764: # From Gürkan Sengün <gurkan@linuks.mine.nu>, http://www.linuks.mine.nu
                   2765: 0      string          RAWADATA        RdosPlay RAW
                   2766: 
                   2767: 1068   string          RoR             AMUSIC Adlib Tracker
                   2768: 
                   2769: 0      string          JCH             EdLib
                   2770: 
                   2771: 0      string          mpu401tr        MPU-401 Trakker
                   2772: 
                   2773: 0      string          SAdT            Surprise! Adlib Tracker
                   2774: >4     byte            x               Version %d
                   2775: 
                   2776: 0      string          XAD!            eXotic ADlib
                   2777: 
                   2778: 0      string          ofTAZ!          eXtra Simple Music
                   2779: 
                   2780: # Spectrum 128 tunes (.ay files).
                   2781: # From: Emanuel Haupt <ehaupt@critical.ch>
                   2782: 0      string          ZXAYEMUL        Spectrum 128 tune
                   2783: 
                   2784: 0      string          \0BONK          BONK,
                   2785: #>5    byte            x               version %d
                   2786: >14    byte            x               %d channel(s),
                   2787: >15    byte            =1              lossless,
                   2788: >15    byte            =0              lossy,
                   2789: >16    byte            x               mid-side
                   2790: 
                   2791: 384    string          LockStream      LockStream Embedded file (mostly MP3 on old Nokia phones)
                   2792: 
                   2793: # format VQF (proprietary codec for sound)
                   2794: # some infos on the header file available at :
                   2795: # http://www.twinvq.org/english/technology_format.html
                   2796: 0      string          TWIN97012000    VQF data
                   2797: >27    short           0               \b, Mono
                   2798: >27    short           1               \b, Stereo
                   2799: >31    short           >0              \b, %d kbit/s
                   2800: >35    short           >0              \b, %d kHz
                   2801: 
                   2802: # Nelson A. de Oliveira (naoliv@gmail.com)
                   2803: # .eqf
                   2804: 0      string  Winamp\ EQ\ library\ file       %s
                   2805: # it will match only versions like v<digit>.<digit>
                   2806: # Since I saw only eqf files with version v1.1 I think that it's OK
                   2807: >23    string  x       \b%.4s
                   2808: # .preset
                   2809: 0      string  [Equalizer\ preset]     XMMS equalizer preset
                   2810: # .m3u
                   2811: 0      search/1        #EXTM3U         M3U playlist text
                   2812: # .pls
                   2813: 0      search/1        [playlist]      PLS playlist text
                   2814: # licq.conf
                   2815: 1      string  [licq]                  LICQ configuration file
                   2816: 
                   2817: # Atari ST audio files by Dirk Jagdmann <doj@cubic.org>
                   2818: 0      string          ICE!            SNDH Atari ST music
                   2819: 0      string          SC68\ Music-file\ /\ (c)\ (BeN)jami     sc68 Atari ST music
                   2820: 
                   2821: # musepak support From: "Jiri Pejchal" <jiri.pejchal@gmail.com>
                   2822: 0       string          MP+     Musepack audio
                   2823: >3      byte            255     \b, SV pre8
                   2824: >3      byte&0xF        0x6     \b, SV 6
                   2825: >3      byte&0xF        0x8     \b, SV 8
                   2826: >3      byte&0xF        0x7     \b, SV 7
                   2827: >>3     byte&0xF0       0x0     \b.0
                   2828: >>3     byte&0xF0       0x10    \b.1
                   2829: >>3     byte&0xF0       240     \b.15
                   2830: >>10    byte&0xF0       0x0     \b, no profile
                   2831: >>10    byte&0xF0       0x10    \b, profile 'Unstable/Experimental'
                   2832: >>10    byte&0xF0       0x50    \b, quality 0
                   2833: >>10    byte&0xF0       0x60    \b, quality 1
                   2834: >>10    byte&0xF0       0x70    \b, quality 2 (Telephone)
                   2835: >>10    byte&0xF0       0x80    \b, quality 3 (Thumb)
                   2836: >>10    byte&0xF0       0x90    \b, quality 4 (Radio)
                   2837: >>10    byte&0xF0       0xA0    \b, quality 5 (Standard)
                   2838: >>10    byte&0xF0       0xB0    \b, quality 6 (Xtreme)
                   2839: >>10    byte&0xF0       0xC0    \b, quality 7 (Insane)
                   2840: >>10    byte&0xF0       0xD0    \b, quality 8 (BrainDead)
                   2841: >>10    byte&0xF0       0xE0    \b, quality 9
                   2842: >>10    byte&0xF0       0xF0    \b, quality 10
                   2843: >>27    byte            0x0     \b, Buschmann 1.7.0-9, Klemm 0.90-1.05
                   2844: >>27    byte            102     \b, Beta 1.02
                   2845: >>27    byte            104     \b, Beta 1.04
                   2846: >>27    byte            105     \b, Alpha 1.05
                   2847: >>27    byte            106     \b, Beta 1.06
                   2848: >>27    byte            110     \b, Release 1.1
                   2849: >>27    byte            111     \b, Alpha 1.11
                   2850: >>27    byte            112     \b, Beta 1.12
                   2851: >>27    byte            113     \b, Alpha 1.13
                   2852: >>27    byte            114     \b, Beta 1.14
                   2853: >>27    byte            115     \b, Alpha 1.15
                   2854: 
                   2855: # IMY
                   2856: # from http://filext.com/detaillist.php?extdetail=IMY
                   2857: # http://cellphones.about.com/od/cellularfaqs/f/rf_imelody.htm
                   2858: # http://download.ncl.ie/doc/api/ie/ncl/media/music/IMelody.html
                   2859: # http://www.wx800.com/msg/download/irda/iMelody.pdf
                   2860: 0      string  BEGIN:IMELODY   iMelody Ringtone Format
                   2861: 
                   2862: # From: "Mateus Caruccio" <mateus@caruccio.com>
                   2863: # guitar pro v3,4,5 from http://filext.com/file-extension/gp3
                   2864: 0      string  \030FICHIER\ GUITAR\ PRO\ v3.   Guitar Pro Ver. 3 Tablature
                   2865: 
                   2866: # From: "Leslie P. Polzer" <leslie.polzer@gmx.net>
                   2867: 60     string  SONG            SoundFX Module sound file
                   2868: 
                   2869: # Type: Adaptive Multi-Rate Codec
                   2870: # URL:  http://filext.com/detaillist.php?extdetail=AMR
                   2871: # From: Russell Coker <russell@coker.com.au>
                   2872: 0      string  #!AMR           Adaptive Multi-Rate Codec (GSM telephony)
                   2873: 
                   2874: # Type: SuperCollider 3 Synth Definition File Format
                   2875: # From: Mario Lang <mlang@debian.org>
                   2876: 0      string  SCgf    SuperCollider3 Synth Definition file,
                   2877: >4     belong  x       version %d
                   2878: #----------------------------------------------------------------
                   2879: # basis: file(1) magic for BBx/Pro5-files
                   2880: #      Oliver Dammer <dammer@olida.de>  2005/11/07
                   2881: # http://www.basis.com business-basic-files.
                   2882: #
                   2883: 0      string          \074\074bbx\076\076     BBx
                   2884: >7     string          \000                    indexed file
                   2885: >7     string          \001                    serial file
                   2886: >7     string          \002                    keyed file
                   2887: >>13   short           0                       (sort)
                   2888: >7     string          \004                    program
                   2889: >>18   byte            x                       (LEVEL %d)
                   2890: >>>23  string          >\000                   psaved
                   2891: >7     string          \006                    mkeyed file
                   2892: >>13   short           0                       (sort)
                   2893: >>8    string          \000                    (mkey)
                   2894: #------------------------------------------------------------------------------
                   2895: # bFLT: file(1) magic for BFLT uclinux binary files
                   2896: #
                   2897: # From Philippe De Muyter <phdm@macqel.be>
                   2898: #
                   2899: 0      string          bFLT            BFLT executable
                   2900: >4     belong          x               - version %ld
                   2901: >4     belong          4
                   2902: >>36   belong&0x1      0x1             ram
                   2903: >>36   belong&0x2      0x2             gotpic
                   2904: >>36   belong&0x4      0x4             gzip
                   2905: >>36   belong&0x8      0x8             gzdata
                   2906: #------------------------------------------------------------------------------
                   2907: # blender: file(1) magic for Blender 3D related files
                   2908: #
                   2909: # Native format rule v1.2. For questions use the developers list 
                   2910: # http://lists.blender.org/mailman/listinfo/bf-committers
                   2911: # GLOB chunk was moved near start and provides subversion info since 2.42 
                   2912: 
                   2913: 0              string  =BLENDER        Blender3D,
                   2914: >7             string  =_              saved as 32-bits
                   2915: >>8            string  =v              little endian
                   2916: >>>9           byte    x               with version %c.
                   2917: >>>10          byte    x               \b%c
                   2918: >>>11          byte    x               \b%c
                   2919: >>>0x40                string  =GLOB           \b.
                   2920: >>>>0x58       leshort x               \b%.4d
                   2921: >>8            string  =V              big endian
                   2922: >>>9           byte    x               with version %c.
                   2923: >>>10          byte    x               \b%c
                   2924: >>>11          byte    x               \b%c
                   2925: >>>0x40                string  =GLOB           \b.
                   2926: >>>>0x58       beshort x               \b%.4d
                   2927: >7             string  =-              saved as 64-bits
                   2928: >>8            string  =v              little endian
                   2929: >>9            byte    x               with version %c.
                   2930: >>10           byte    x               \b%c
                   2931: >>11           byte    x               \b%c
                   2932: >>0x44         string  =GLOB           \b.
                   2933: >>>0x60                leshort x               \b%.4d
                   2934: >>8            string  =V              big endian
                   2935: >>>9           byte    x               with version %c.
                   2936: >>>10          byte    x               \b%c
                   2937: >>>11          byte    x               \b%c
                   2938: >>>0x44                string  =GLOB           \b.
                   2939: >>>>0x60       beshort x               \b%.4d
                   2940: 
                   2941: # Scripts that run in the embeded Python interpreter
                   2942: 0              string  #!BPY           Blender3D BPython script
                   2943: 
                   2944: #------------------------------------------------------------------------------
                   2945: # blit:  file(1) magic for 68K Blit stuff as seen from 680x0 machine
                   2946: #
                   2947: # Note that this 0407 conflicts with several other a.out formats...
                   2948: #
                   2949: # XXX - should this be redone with "be" and "le", so that it works on
                   2950: # little-endian machines as well?  If so, what's the deal with
                   2951: # "VAX-order" and "VAX-order2"?
                   2952: #
                   2953: #0     long            0407            68K Blit (standalone) executable
                   2954: #0     short           0407            VAX-order2 68K Blit (standalone) executable
                   2955: 0      short           03401           VAX-order 68K Blit (standalone) executable
                   2956: 0      long            0406            68k Blit mpx/mux executable
                   2957: 0      short           0406            VAX-order2 68k Blit mpx/mux executable
                   2958: 0      short           03001           VAX-order 68k Blit mpx/mux executable
                   2959: # Need more values for WE32 DMD executables.
                   2960: # Note that 0520 is the same as COFF
                   2961: #0     short           0520            tty630 layers executable
                   2962: #
                   2963: # i80960 b.out objects and archives
                   2964: #
                   2965: 0      long            0x10d           i960 b.out relocatable object
                   2966: >16    long            >0              not stripped
                   2967: #
                   2968: # b.out archive (hp-rt on i960)
                   2969: 0      string          =!<bout>        b.out archive
                   2970: >8     string          __.SYMDEF       random library
                   2971: #------------------------------------------------------------------------------
                   2972: # bsdi:  file(1) magic for BSD/OS (from BSDI) objects
                   2973: #
                   2974: 
                   2975: 0      lelong          0314            386 compact demand paged pure executable
                   2976: >16    lelong          >0              not stripped
                   2977: >32    byte            0x6a            (uses shared libs)
                   2978: 
                   2979: 0      lelong          0407            386 executable
                   2980: >16    lelong          >0              not stripped
                   2981: >32    byte            0x6a            (uses shared libs)
                   2982: 
                   2983: 0      lelong          0410            386 pure executable
                   2984: >16    lelong          >0              not stripped
                   2985: >32    byte            0x6a            (uses shared libs)
                   2986: 
                   2987: 0      lelong          0413            386 demand paged pure executable
                   2988: >16    lelong          >0              not stripped
                   2989: >32    byte            0x6a            (uses shared libs)
                   2990: 
                   2991: # same as in SunOS 4.x, except for static shared libraries
                   2992: 0      belong&077777777        0600413         sparc demand paged
                   2993: >0     byte            &0x80
                   2994: >>20   belong          <4096           shared library
                   2995: >>20   belong          =4096           dynamically linked executable
                   2996: >>20   belong          >4096           dynamically linked executable
                   2997: >0     byte            ^0x80           executable
                   2998: >16    belong          >0              not stripped
                   2999: >36    belong          0xb4100001      (uses shared libs)
                   3000: 
                   3001: 0      belong&077777777        0600410         sparc pure
                   3002: >0     byte            &0x80           dynamically linked executable
                   3003: >0     byte            ^0x80           executable
                   3004: >16    belong          >0              not stripped
                   3005: >36    belong          0xb4100001      (uses shared libs)
                   3006: 
                   3007: 0      belong&077777777        0600407         sparc
                   3008: >0     byte            &0x80           dynamically linked executable
                   3009: >0     byte            ^0x80           executable
                   3010: >16    belong          >0              not stripped
                   3011: >36    belong          0xb4100001      (uses shared libs)
                   3012: #------------------------------------------------------------------------------
                   3013: # BTSnoop:  file(1) magic for BTSnoop files
                   3014: #
                   3015: # From <marcel@holtmann.org>
                   3016: 0      string          btsnoop\0               BTSnoop
                   3017: >8     belong          x                       version %d,
                   3018: >12    belong          1001                    Unencapsulated HCI
                   3019: >12    belong          1002                    HCI UART (H4)
                   3020: >12    belong          1003                    HCI BCSP
                   3021: >12    belong          1004                    HCI Serial (H5)
                   3022: >>12   belong          x                       type %d
                   3023: #------------------------------------------------------------------------------
                   3024: # c-lang:  file(1) magic for C programs (or REXX)
                   3025: #
                   3026: 
                   3027: # XPM icons (Greg Roelofs, newt@uchicago.edu)
                   3028: # if you uncomment "/*" for C/REXX below, also uncomment this entry
                   3029: #0     string          /*\ XPM\ */     X pixmap image data
                   3030: #!:mime        image/x-xpmi
                   3031: 
                   3032: # 3DS (3d Studio files) Conflicts with diff output 0x3d '='
                   3033: #16    beshort         0x3d3d          image/x-3ds
                   3034: 
                   3035: # this first will upset you if you're a PL/1 shop...
                   3036: # in which case rm it; ascmagic will catch real C programs
                   3037: #0     search/1        /*              C or REXX program text
                   3038: #0     search/1        //              C++ program text
                   3039: 
                   3040: # From: Mikhail Teterin <mi@aldan.algebra.com> 
                   3041: 0      string          cscope          cscope reference data
                   3042: >7     string          x               version %.2s
                   3043: # We skip the path here, because it is often long (so file will
                   3044: # truncate it) and mostly redundant.
                   3045: # The inverted index functionality was added some time betwen
                   3046: # versions 11 and 15, so look for -q if version is above 14:
                   3047: >7     string          >14
                   3048: >>10   search/100      \ -q\           with inverted index
                   3049: >10    search/100      \ -c\           text (non-compressed)
                   3050: #------------------------------------------------------------------------------
                   3051: # c64:  file(1) magic for various commodore 64 related files
                   3052: #
                   3053: # From: Dirk Jagdmann <doj@cubic.org>
                   3054: 
                   3055: 0x16500        belong          0x12014100      D64 Image
                   3056: 0x16500        belong          0x12014180      D71 Image
                   3057: 0x61800 belong         0x28034400      D81 Image
                   3058: 0      string          C64\40CARTRIDGE CCS C64 Emultar Cartridge Image
                   3059: 0      belong          0x43154164      X64 Image
                   3060: 
                   3061: 0      string          GCR-1541        GCR Image
                   3062: >8     byte            x               version: %i
                   3063: >9     byte            x               tracks: %i
                   3064: 
                   3065: 9      string          PSUR            ARC archive (c64)
                   3066: 2      string          -LH1-           LHA archive (c64)
                   3067: 
                   3068: 0      string          C64File         PC64 Emulator file
                   3069: >8     string          >\0             "%s"
                   3070: 0      string          C64Image        PC64 Freezer Image
                   3071: 
                   3072: 0      beshort         0x38CD          C64 PCLink Image
                   3073: 0      string          CBM\144\0\0     Power 64 C64 Emulator Snapshot
                   3074: 
                   3075: 0      belong          0xFF424CFF      WRAptor packer (c64)
                   3076: 
                   3077: 0      string          C64S\x20tape\x20file    T64 tape Image
                   3078: >32    leshort         x               Version:0x%x
                   3079: >36    leshort         !0              Entries:%i
                   3080: >40    string          x               Name:%.24s
                   3081: 
                   3082: 0      string          C64\x20tape\x20image\x20file\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0        T64 tape Image
                   3083: >32    leshort         x               Version:0x%x
                   3084: >36    leshort         !0              Entries:%i
                   3085: >40    string          x               Name:%.24s
                   3086: 
                   3087: 0      string          C64S\x20tape\x20image\x20file\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0  T64 tape Image
                   3088: >32    leshort         x               Version:0x%x
                   3089: >36    leshort         !0              Entries:%i
                   3090: >40    string          x               Name:%.24s
                   3091: 
                   3092: #------------------------------------------------------------------------------
                   3093: # autocad:  file(1) magic for cad files
                   3094: #
                   3095: 
                   3096: # AutoCAD DWG versions R13/R14 (www.autodesk.com)
                   3097: # Written December 01, 2003 by Lester Hightower
                   3098: # Based on the DWG File Format Specifications at http://www.opendwg.org/
                   3099: 0      string         \101\103\061\060\061                AutoCAD
                   3100: >5     string         \062\000\000\000\000                DWG ver. R13
                   3101: >5     string         \064\000\000\000\000                DWG ver. R14
                   3102: 
                   3103: # Microstation DGN/CIT Files (www.bentley.com)
                   3104: # Last updated July 29, 2005 by Lester Hightower
                   3105: # DGN is the default file extension of Microstation/Intergraph CAD files.
                   3106: # CIT is the proprietary raster format (similar to TIFF) used to attach
                   3107: # raster underlays to Microstation DGN (vector) drawings.
                   3108: # 
                   3109: # http://www.wotsit.org/search.asp
                   3110: # http://filext.com/detaillist.php?extdetail=DGN
                   3111: # http://filext.com/detaillist.php?extdetail=CIT
                   3112: #
                   3113: # http://www.bentley.com/products/default.cfm?objectid=97F351F5-9C35-4E5E-89C2
                   3114: # 3F86C928&method=display&p_objectid=97F351F5-9C35-4E5E-89C280A93F86C928
                   3115: # http://www.bentley.com/products/default.cfm?objectid=A5C2FD43-3AC9-4C71-B682
                   3116: # 721C479F&method=display&p_objectid=A5C2FD43-3AC9-4C71-B682C7BE721C479F
                   3117: 0      string  \010\011\376                    Microstation
                   3118: >3     string  \002
                   3119: >>30   string  \026\105                        DGNFile
                   3120: >>30   string  \034\105                        DGNFile
                   3121: >>30   string  \073\107                        DGNFile
                   3122: >>30   string  \073\110                        DGNFile
                   3123: >>30   string  \106\107                        DGNFile
                   3124: >>30   string  \110\103                        DGNFile
                   3125: >>30   string  \120\104                        DGNFile
                   3126: >>30   string  \172\104                        DGNFile
                   3127: >>30   string  \172\105                        DGNFile
                   3128: >>30   string  \172\106                        DGNFile
                   3129: >>30   string  \234\106                        DGNFile
                   3130: >>30   string  \273\105                        DGNFile
                   3131: >>30   string  \306\106                        DGNFile
                   3132: >>30   string  \310\104                        DGNFile
                   3133: >>30   string  \341\104                        DGNFile
                   3134: >>30   string  \372\103                        DGNFile
                   3135: >>30   string  \372\104                        DGNFile
                   3136: >>30   string  \372\106                        DGNFile
                   3137: >>30   string  \376\103                        DGNFile
                   3138: >4     string  \030\000\000                    CITFile
                   3139: >4     string  \030\000\003                    CITFile
                   3140: 
                   3141: # AutoCad, from Nahuel Greco
                   3142: # AutoCAD DWG versions R12/R13/R14 (www.autodesk.com)
                   3143: 0      string AC1012   AutoCad (release 12)
                   3144: 0      string AC1013   AutoCad (release 13)
                   3145: 0      string AC1014   AutoCad (release 14)
                   3146: 
                   3147: # CAD: file(1) magic for computer aided design files
                   3148: # Phillip Griffith <phillip dot griffith at gmail dot com>
                   3149: # AutoCAD magic taken from the Open Design Alliance's OpenDWG specifications.
                   3150: #
                   3151: 0      belong  0x08051700      Bentley/Intergraph MicroStation DGN cell library
                   3152: 0      belong  0x0809fe02      Bentley/Intergraph MicroStation DGN vector CAD
                   3153: 0      belong  0xc809fe02      Bentley/Intergraph MicroStation DGN vector CAD
                   3154: 0      beshort 0x0809          Bentley/Intergraph MicroStation
                   3155: >0x02  byte    0xfe
                   3156: >>0x04 beshort 0x1800          CIT raster CAD
                   3157: 0      string  AC1012          AutoDesk AutoCAD R13
                   3158: 0      string  AC1014          AutoDesk AutoCAD R14 
                   3159: 0      string  AC1015          AutoDesk AutoCAD R2000
                   3160: #------------------------------------------------------------------------------
                   3161: # Cafe Babes unite!
                   3162: #
                   3163: # Since Java bytecode and Mach-O fat-files have the same magic number, the test
                   3164: # must be performed in the same "magic" sequence to get both right.  The long
                   3165: # at offset 4 in a mach-O fat file tells the number of architectures; the short at
                   3166: # offset 4 in a Java bytecode file is the JVM minor version and the
                   3167: # short at offset 6 is the JVM major version.  Since there are only 
                   3168: # only 18 labeled Mach-O architectures at current, and the first released 
                   3169: # Java class format was version 43.0, we can safely choose any number
                   3170: # between 18 and 39 to test the number of architectures against
                   3171: # (and use as a hack). Let's not use 18, because the Mach-O people
                   3172: # might add another one or two as time goes by...
                   3173: #
                   3174: 0      beshort         0xcafe
                   3175: >2     beshort         0xbabe
                   3176: !:mime application/x-java-applet
                   3177: >>2    belong          >30             compiled Java class data,
                   3178: >>>6   beshort         x               version %d.
                   3179: >>>4   beshort         x               \b%d
                   3180: >>4    belong          1               Mach-O fat file with 1 architecture
                   3181: >>4    belong          >1
                   3182: >>>4   belong          <20             Mach-O fat file with %ld architectures
                   3183: >2     beshort         0xd00d          JAR compressed with pack200,
                   3184: >>5    byte            x               version %d.
                   3185: >>4    byte            x               \b%d
                   3186: !:mime application/x-java-pack200
                   3187: #------------------------------------------------------------------------------
                   3188: # CDDB: file(1) magic for CDDB(tm) format CD text data files
                   3189: #
                   3190: # From <steve@gracenote.com>
                   3191: #
                   3192: # This is the /etc/magic entry to decode datafiles as used by
                   3193: # CDDB-enabled CD player applications.
                   3194: #
                   3195: 
                   3196: 0      search/1/b      #\040xmcd       CDDB(tm) format CD text data
                   3197: 
                   3198: #------------------------------------------------------------------------------
                   3199: # chord: file(1) magic for Chord music sheet typesetting utility input files
                   3200: #
                   3201: # From Philippe De Muyter <phdm@macqel.be>
                   3202: # File format is actually free, but many distributed files begin with `{title'
                   3203: #
                   3204: 0      string          {title          Chord text file
                   3205: 
                   3206: # Type:        PowerTab file format
                   3207: # URL: http://www.power-tab.net/
                   3208: # From:        Jelmer Vernooij <jelmer@samba.org>
                   3209: 0      string          ptab\003\000    Power-Tab v3 Tablature File
                   3210: 0      string          ptab\004\000    Power-Tab v4 Tablature File
                   3211: #------------------------------------------------------------------------------
                   3212: # cisco:  file(1) magic for cisco Systems routers
                   3213: #
                   3214: # Most cisco file-formats are covered by the generic elf code
                   3215: #
                   3216: # Microcode files are non-ELF, 0x8501 conflicts with NetBSD/alpha.
                   3217: 0      belong&0xffffff00       0x85011400  cisco IOS microcode
                   3218: >7     string          >\0                 for '%s'
                   3219: 0      belong&0xffffff00       0x8501cb00  cisco IOS experimental microcode
                   3220: >7     string          >\0                 for '%s'
                   3221: #------------------------------------------------------------------------------
                   3222: # citrus locale declaration
                   3223: #
                   3224: 
                   3225: 0      string          RuneCT          Citrus locale declaration for LC_CTYPE
                   3226: 
                   3227: 
                   3228: #------------------------------------------------------------------------------
                   3229: # clarion:  file(1) magic for # Clarion Personal/Professional Developer
                   3230: # (v2 and above)
                   3231: # From: Julien Blache <jb@jblache.org>
                   3232: 
                   3233: # Database files
                   3234: # signature
                   3235: 0      leshort 0x3343  Clarion Developer (v2 and above) data file
                   3236: # attributes
                   3237: >2     leshort &0x0001 \b, locked
                   3238: >2     leshort &0x0004 \b, encrypted
                   3239: >2     leshort &0x0008 \b, memo file exists
                   3240: >2     leshort &0x0010 \b, compressed
                   3241: >2     leshort &0x0040 \b, read only
                   3242: # number of records
                   3243: >5     lelong  x       \b, %ld records
                   3244: 
                   3245: # Memo files
                   3246: 0      leshort 0x334d  Clarion Developer (v2 and above) memo data
                   3247: 
                   3248: # Key/Index files
                   3249: # No magic? :(
                   3250: 
                   3251: # Help files
                   3252: 0      leshort 0x49e0  Clarion Developer (v2 and above) help data
                   3253: 
                   3254: #------------------------------------------------------------------------------
                   3255: # claris:  file(1) magic for claris
                   3256: # "H. Nanosecond" <aldomel@ix.netcom.com>
                   3257: # Claris Works a word processor, etc.
                   3258: # Version 3.0
                   3259: 
                   3260: # .pct claris works clip art files
                   3261: #0000000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
                   3262: #*
                   3263: #0001000 #010 250 377 377 377 377 000 213 000 230 000 021 002 377 014 000
                   3264: #null to byte 1000 octal
                   3265: 514    string  \377\377\377\377\000    Claris clip art?
                   3266: >0     string  \0\0\0\0\0\0\0\0\0\0\0\0\0      yes.
                   3267: 514    string  \377\377\377\377\001    Claris clip art?
                   3268: >0     string  \0\0\0\0\0\0\0\0\0\0\0\0\0      yes.
                   3269: 
                   3270: # Claris works files
                   3271: # .cwk
                   3272: 0      string  \002\000\210\003\102\117\102\117\000\001\206 Claris works document
                   3273: # .plt
                   3274: 0      string  \020\341\000\000\010\010        Claris Works pallete files .plt
                   3275: 
                   3276: # .msp a dictionary file I am not sure about this I have only one .msp file
                   3277: 0      string  \002\271\262\000\040\002\000\164        Claris works dictionary
                   3278: 
                   3279: # .usp are user dictionary bits
                   3280: # I am not sure about a magic header:
                   3281: #0000000 001 123 160 146 070 125 104 040 136 123 015 012 160 157 144 151
                   3282: #        soh   S   p   f   8   U   D  sp   ^   S  cr  nl   p   o   d   i
                   3283: #0000020 141 164 162 151 163 164 040 136 123 015 012 144 151 166 040 043
                   3284: #          a   t   r   i   s   t  sp   ^   S  cr  nl   d   i   v  sp   #
                   3285: 
                   3286: # .mth Thesaurus
                   3287: # starts with \0 but no magic header
                   3288: 
                   3289: # .chy Hyphenation file
                   3290: # I am not sure: 000 210 034 000 000
                   3291: 
                   3292: # other claris files
                   3293: #./windows/claris/useng.ndx: data
                   3294: #./windows/claris/xtndtran.l32: data
                   3295: #./windows/claris/xtndtran.lst: data
                   3296: #./windows/claris/clworks.lbl: data
                   3297: #./windows/claris/clworks.prf: data
                   3298: #./windows/claris/userd.spl: data
                   3299: 
                   3300: #------------------------------------------------------------------------------
                   3301: # clipper:  file(1) magic for Intergraph (formerly Fairchild) Clipper.
                   3302: #
                   3303: # XXX - what byte order does the Clipper use?
                   3304: #
                   3305: # XXX - what's the "!" stuff:
                   3306: #
                   3307: # >18  short           !074000,000000  C1 R1 
                   3308: # >18  short           !074000,004000  C2 R1
                   3309: # >18  short           !074000,010000  C3 R1
                   3310: # >18  short           !074000,074000  TEST
                   3311: #
                   3312: # I shall assume it's ANDing the field with the first value and
                   3313: # comparing it with the second, and rewrite it as:
                   3314: #
                   3315: # >18  short&074000    000000          C1 R1 
                   3316: # >18  short&074000    004000          C2 R1
                   3317: # >18  short&074000    010000          C3 R1
                   3318: # >18  short&074000    074000          TEST
                   3319: #
                   3320: # as SVR3.1's "file" doesn't support anything of the "!074000,000000"
                   3321: # sort, nor does SunOS 4.x, so either it's something Intergraph added
                   3322: # in CLIX, or something AT&T added in SVR3.2 or later, or something
                   3323: # somebody else thought was a good idea; it's not documented in the
                   3324: # man page for this version of "magic", nor does it appear to be
                   3325: # implemented (at least not after I blew off the bogus code to turn
                   3326: # old-style "&"s into new-style "&"s, which just didn't work at all).
                   3327: #
                   3328: 0      short           0575            CLIPPER COFF executable (VAX #)
                   3329: >20    short           0407            (impure)
                   3330: >20    short           0410            (5.2 compatible)
                   3331: >20    short           0411            (pure)
                   3332: >20    short           0413            (demand paged)
                   3333: >20    short           0443            (target shared library)
                   3334: >12    long            >0              not stripped
                   3335: >22    short           >0              - version %ld
                   3336: 0      short           0577            CLIPPER COFF executable
                   3337: >18    short&074000    000000          C1 R1 
                   3338: >18    short&074000    004000          C2 R1
                   3339: >18    short&074000    010000          C3 R1
                   3340: >18    short&074000    074000          TEST
                   3341: >20    short           0407            (impure)
                   3342: >20    short           0410            (pure)
                   3343: >20    short           0411            (separate I&D)
                   3344: >20    short           0413            (paged)
                   3345: >20    short           0443            (target shared library)
                   3346: >12    long            >0              not stripped
                   3347: >22    short           >0              - version %ld
                   3348: >48    long&01         01              alignment trap enabled
                   3349: >52    byte            1               -Ctnc
                   3350: >52    byte            2               -Ctsw
                   3351: >52    byte            3               -Ctpw
                   3352: >52    byte            4               -Ctcb
                   3353: >53    byte            1               -Cdnc
                   3354: >53    byte            2               -Cdsw
                   3355: >53    byte            3               -Cdpw
                   3356: >53    byte            4               -Cdcb
                   3357: >54    byte            1               -Csnc
                   3358: >54    byte            2               -Cssw
                   3359: >54    byte            3               -Cspw
                   3360: >54    byte            4               -Cscb
                   3361: 4      string          pipe            CLIPPER instruction trace
                   3362: 4      string          prof            CLIPPER instruction profile
                   3363: 
                   3364: #------------------------------------------------------------------------------
                   3365: # commands:  file(1) magic for various shells and interpreters
                   3366: #
                   3367: #0     string          :                       shell archive or script for antique kernel text
                   3368: 0      string/b        #!\ /bin/sh             POSIX shell script text executable
                   3369: !:mime text/x-shellscript
                   3370: 0      string/b        #!\ /bin/csh            C shell script text executable
                   3371: !:mime text/x-shellscript
                   3372: # korn shell magic, sent by George Wu, gwu@clyde.att.com
                   3373: 0      string/b        #!\ /bin/ksh            Korn shell script text executable
                   3374: !:mime text/x-shellscript
                   3375: 0      string/b        #!\ /bin/tcsh           Tenex C shell script text executable
                   3376: !:mime text/x-shellscript
                   3377: 0      string/b        #!\ /usr/bin/tcsh       Tenex C shell script text executable
                   3378: !:mime text/x-shellscript
                   3379: 0      string/b        #!\ /usr/local/tcsh     Tenex C shell script text executable
                   3380: !:mime text/x-shellscript
                   3381: 0      string/b        #!\ /usr/local/bin/tcsh Tenex C shell script text executable
                   3382: !:mime text/x-shellscript
                   3383: 
                   3384: #
                   3385: # zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson)
                   3386: 0      string/b        #!\ /bin/zsh            Paul Falstad's zsh script text executable
                   3387: !:mime text/x-shellscript
                   3388: 0      string/b        #!\ /usr/bin/zsh        Paul Falstad's zsh script text executable
                   3389: !:mime text/x-shellscript
                   3390: 0      string/b        #!\ /usr/local/bin/zsh  Paul Falstad's zsh script text executable
                   3391: !:mime text/x-shellscript
                   3392: 0      string/b        #!\ /usr/local/bin/ash  Neil Brown's ash script text executable
                   3393: !:mime text/x-shellscript
                   3394: 0      string/b        #!\ /usr/local/bin/ae   Neil Brown's ae script text executable
                   3395: !:mime text/x-shellscript
                   3396: 0      string/b        #!\ /bin/nawk           new awk script text executable
                   3397: !:mime text/x-nawk
                   3398: 0      string/b        #!\ /usr/bin/nawk       new awk script text executable
                   3399: !:mime text/x-nawk
                   3400: 0      string/b        #!\ /usr/local/bin/nawk new awk script text executable
                   3401: !:mime text/x-nawk
                   3402: 0      string/b        #!\ /bin/gawk           GNU awk script text executable
                   3403: !:mime text/x-gawk
                   3404: 0      string/b        #!\ /usr/bin/gawk       GNU awk script text executable
                   3405: !:mime text/x-gawk
                   3406: 0      string/b        #!\ /usr/local/bin/gawk GNU awk script text executable
                   3407: !:mime text/x-gawk
                   3408: #
                   3409: 0      string/b        #!\ /bin/awk            awk script text executable
                   3410: !:mime text/x-awk
                   3411: 0      string/b        #!\ /usr/bin/awk        awk script text executable
                   3412: !:mime text/x-awk
                   3413: # update to distinguish from *.vcf files
                   3414: # this is broken because postscript has /EBEGIN{ for example.
                   3415: #0     search/Bb       BEGIN {                 awk script text
                   3416: 0      regex           =^\\s*BEGIN\\s*[{]      awk script text
                   3417: 
                   3418: # AT&T Bell Labs' Plan 9 shell
                   3419: 0      string/b        #!\ /bin/rc     Plan 9 rc shell script text executable
                   3420: 
                   3421: # bash shell magic, from Peter Tobias (tobias@server.et-inf.fho-emden.de)
                   3422: 0      string/b        #!\ /bin/bash   Bourne-Again shell script text executable
                   3423: !:mime text/x-shellscript
                   3424: 0      string/b        #!\ /usr/bin/bash       Bourne-Again shell script text executable
                   3425: !:mime text/x-shellscript
                   3426: 0      string/b        #!\ /usr/local/bash     Bourne-Again shell script text executable
                   3427: !:mime text/x-shellscript
                   3428: 0      string/b        #!\ /usr/local/bin/bash Bourne-Again shell script text executable
                   3429: !:mime text/x-shellscript
                   3430: 
                   3431: # using env
                   3432: 0      string          #!/usr/bin/env          a
                   3433: >15    string          >\0                     %s script text executable
                   3434: 0      string          #!\ /usr/bin/env        a
                   3435: >16    string          >\0                     %s script text executable
                   3436: 
                   3437: # PHP scripts
                   3438: # Ulf Harnhammar <ulfh@update.uu.se>
                   3439: 0      search/1/c      =<?php                  PHP script text
                   3440: !:mime text/x-php
                   3441: 0      search/1        =<?\n                   PHP script text
                   3442: !:mime text/x-php
                   3443: 0      search/1        =<?\r                   PHP script text
                   3444: !:mime text/x-php
                   3445: 0      search/1/b      #!\ /usr/local/bin/php  PHP script text executable
                   3446: !:mime text/x-php
                   3447: 0      search/1/b      #!\ /usr/bin/php        PHP script text executable
                   3448: !:mime text/x-php
                   3449: 
                   3450: 0      string          Zend\x00                PHP script Zend Optimizer data
                   3451: 
                   3452: 0      string          $!                      DCL command file
                   3453: 
                   3454: # Type: Pdmenu
                   3455: # URL:  http://packages.debian.org/pdmenu
                   3456: # From: Edward Betts <edward@debian.org>
                   3457: 0      string  #!/usr/bin/pdmenu       Pdmenu configuration file text
                   3458: 
                   3459: #----------------------------------------------------------------------------
                   3460: # communication
                   3461: 
                   3462: # TTCN is the Tree and Tabular Combined Notation described in ISO 9646-3.
                   3463: # It is used for conformance testing of communication protocols.
                   3464: # Added by W. Borgert <debacle@debian.org>.
                   3465: 0      string          $Suite                  TTCN Abstract Test Suite
                   3466: >&1    string          $SuiteId
                   3467: >>&1   string          >\n                     %s
                   3468: >&2    string          $SuiteId
                   3469: >>&1   string          >\n                     %s
                   3470: >&3    string          $SuiteId
                   3471: >>&1   string          >\n                     %s
                   3472: 
                   3473: # MSC (message sequence charts) are a formal description technique,
                   3474: # described in ITU-T Z.120, mainly used for communication protocols.
                   3475: # Added by W. Borgert <debacle@debian.org>.
                   3476: 0      string          mscdocument     Message Sequence Chart (document)
                   3477: 0      string          msc             Message Sequence Chart (chart)
                   3478: 0      string          submsc          Message Sequence Chart (subchart)
                   3479: 
                   3480: #------------------------------------------------------------------------------
                   3481: # compress:  file(1) magic for pure-compression formats (no archives)
                   3482: #
                   3483: # compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, etc.
                   3484: #
                   3485: # Formats for various forms of compressed data
                   3486: # Formats for "compress" proper have been moved into "compress.c",
                   3487: # because it tries to uncompress it to figure out what's inside.
                   3488: 
                   3489: # standard unix compress
                   3490: 0      string          \037\235        compress'd data
                   3491: !:mime application/x-compress
                   3492: >2     byte&0x80       >0              block compressed
                   3493: >2     byte&0x1f       x               %d bits
                   3494: 
                   3495: # gzip (GNU zip, not to be confused with Info-ZIP or PKWARE zip archiver)
                   3496: #   Edited by Chris Chittleborough <cchittleborough@yahoo.com.au>, March 2002
                   3497: #      * Original filename is only at offset 10 if "extra field" absent
                   3498: #      * Produce shorter output - notably, only report compression methods
                   3499: #        other than 8 ("deflate", the only method defined in RFC 1952).
                   3500: 0       string          \037\213        gzip compressed data
                   3501: !:mime application/x-gzip
                   3502: >2     byte            <8              \b, reserved method
                   3503: >2     byte            >8              \b, unknown method
                   3504: >3     byte            &0x01           \b, ASCII
                   3505: >3     byte            &0x02           \b, has CRC
                   3506: >3     byte            &0x04           \b, extra field
                   3507: >3     byte&0xC        =0x08
                   3508: >>10   string          x               \b, was "%s"
                   3509: >3     byte            &0x10           \b, has comment
                   3510: >9     byte            =0x00           \b, from FAT filesystem (MS-DOS, OS/2, NT)
                   3511: >9     byte            =0x01           \b, from Amiga
                   3512: >9     byte            =0x02           \b, from VMS
                   3513: >9     byte            =0x03           \b, from Unix
                   3514: >9     byte            =0x04           \b, from VM/CMS
                   3515: >9     byte            =0x05           \b, from Atari
                   3516: >9     byte            =0x06           \b, from HPFS filesystem (OS/2, NT)
                   3517: >9     byte            =0x07           \b, from MacOS
                   3518: >9     byte            =0x08           \b, from Z-System
                   3519: >9     byte            =0x09           \b, from CP/M
                   3520: >9     byte            =0x0A           \b, from TOPS/20
                   3521: >9     byte            =0x0B           \b, from NTFS filesystem (NT)
                   3522: >9     byte            =0x0C           \b, from QDOS
                   3523: >9     byte            =0x0D           \b, from Acorn RISCOS
                   3524: >3     byte            &0x10           \b, comment
                   3525: >3     byte            &0x20           \b, encrypted
                   3526: >4     ledate          >0              \b, last modified: %s
                   3527: >8     byte            2               \b, max compression
                   3528: >8     byte            4               \b, max speed
                   3529: 
                   3530: # packed data, Huffman (minimum redundancy) codes on a byte-by-byte basis
                   3531: 0      string          \037\036        packed data
                   3532: !:mime application/octet-stream
                   3533: >2     belong          >1              \b, %d characters originally
                   3534: >2     belong          =1              \b, %d character originally
                   3535: #
                   3536: # This magic number is byte-order-independent.
                   3537: 0      short           0x1f1f          old packed data
                   3538: !:mime application/octet-stream
                   3539: 
                   3540: # XXX - why *two* entries for "compacted data", one of which is
                   3541: # byte-order independent, and one of which is byte-order dependent?
                   3542: #
                   3543: 0      short           0x1fff          compacted data
                   3544: !:mime application/octet-stream
                   3545: # This string is valid for SunOS (BE) and a matching "short" is listed
                   3546: # in the Ultrix (LE) magic file.
                   3547: 0      string          \377\037        compacted data
                   3548: !:mime application/octet-stream
                   3549: 0      short           0145405         huf output
                   3550: !:mime application/octet-stream
                   3551: 
                   3552: # bzip2
                   3553: 0      string          BZh             bzip2 compressed data
                   3554: !:mime application/x-bzip2
                   3555: >3     byte            >47             \b, block size = %c00k
                   3556: 
                   3557: # squeeze and crunch
                   3558: # Michael Haardt <michael@cantor.informatik.rwth-aachen.de>
                   3559: 0      beshort         0x76FF          squeezed data,
                   3560: >4     string          x               original name %s
                   3561: 0      beshort         0x76FE          crunched data,
                   3562: >2     string          x               original name %s
                   3563: 0      beshort         0x76FD          LZH compressed data,
                   3564: >2     string          x               original name %s
                   3565: 
                   3566: # Freeze
                   3567: 0      string          \037\237        frozen file 2.1
                   3568: 0      string          \037\236        frozen file 1.0 (or gzip 0.5)
                   3569: 
                   3570: # SCO compress -H (LZH)
                   3571: 0      string          \037\240        SCO compress -H (LZH) data
                   3572: 
                   3573: # European GSM 06.10 is a provisional standard for full-rate speech
                   3574: # transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse
                   3575: # excitation/long term prediction) coding at 13 kbit/s.
                   3576: #
                   3577: # There's only a magic nibble (4 bits); that nibble repeats every 33
                   3578: # bytes.  This isn't suited for use, but maybe we can use it someday.
                   3579: #
                   3580: # This will cause very short GSM files to be declared as data and
                   3581: # mismatches to be declared as data too!
                   3582: #0     byte&0xF0       0xd0            data
                   3583: #>33   byte&0xF0       0xd0
                   3584: #>66   byte&0xF0       0xd0
                   3585: #>99   byte&0xF0       0xd0
                   3586: #>132  byte&0xF0       0xd0            GSM 06.10 compressed audio
                   3587: 
                   3588: # bzip a block-sorting file compressor
                   3589: #      by Julian Seward <sewardj@cs.man.ac.uk> and others
                   3590: #
                   3591: #0     string          BZ              bzip compressed data
                   3592: #>2    byte            x               \b, version: %c
                   3593: #>3    string          =1              \b, compression block size 100k
                   3594: #>3    string          =2              \b, compression block size 200k
                   3595: #>3    string          =3              \b, compression block size 300k
                   3596: #>3    string          =4              \b, compression block size 400k
                   3597: #>3    string          =5              \b, compression block size 500k
                   3598: #>3    string          =6              \b, compression block size 600k
                   3599: #>3    string          =7              \b, compression block size 700k
                   3600: #>3    string          =8              \b, compression block size 800k
                   3601: #>3    string          =9              \b, compression block size 900k
                   3602: 
                   3603: # lzop from <markus.oberhumer@jk.uni-linz.ac.at>
                   3604: 0      string          \x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a    lzop compressed data
                   3605: >9     beshort         <0x0940
                   3606: >>9    byte&0xf0       =0x00           - version 0.
                   3607: >>9    beshort&0x0fff  x               \b%03x,
                   3608: >>13   byte            1               LZO1X-1,
                   3609: >>13   byte            2               LZO1X-1(15),
                   3610: >>13   byte            3               LZO1X-999,
                   3611: ## >>22        bedate          >0              last modified: %s,
                   3612: >>14   byte            =0x00           os: MS-DOS
                   3613: >>14   byte            =0x01           os: Amiga
                   3614: >>14   byte            =0x02           os: VMS
                   3615: >>14   byte            =0x03           os: Unix
                   3616: >>14   byte            =0x05           os: Atari
                   3617: >>14   byte            =0x06           os: OS/2
                   3618: >>14   byte            =0x07           os: MacOS
                   3619: >>14   byte            =0x0A           os: Tops/20
                   3620: >>14   byte            =0x0B           os: WinNT
                   3621: >>14   byte            =0x0E           os: Win32
                   3622: >9     beshort         >0x0939
                   3623: >>9    byte&0xf0       =0x00           - version 0.
                   3624: >>9    byte&0xf0       =0x10           - version 1.
                   3625: >>9    byte&0xf0       =0x20           - version 2.
                   3626: >>9    beshort&0x0fff  x               \b%03x,
                   3627: >>15   byte            1               LZO1X-1,
                   3628: >>15   byte            2               LZO1X-1(15),
                   3629: >>15   byte            3               LZO1X-999,
                   3630: ## >>25        bedate          >0              last modified: %s,
                   3631: >>17   byte            =0x00           os: MS-DOS
                   3632: >>17   byte            =0x01           os: Amiga
                   3633: >>17   byte            =0x02           os: VMS
                   3634: >>17   byte            =0x03           os: Unix
                   3635: >>17   byte            =0x05           os: Atari
                   3636: >>17   byte            =0x06           os: OS/2
                   3637: >>17   byte            =0x07           os: MacOS
                   3638: >>17   byte            =0x0A           os: Tops/20
                   3639: >>17   byte            =0x0B           os: WinNT
                   3640: >>17   byte            =0x0E           os: Win32
                   3641: 
                   3642: # 4.3BSD-Quasijarus Strong Compression
                   3643: # http://minnie.tuhs.org/Quasijarus/compress.html
                   3644: 0      string          \037\241        Quasijarus strong compressed data
                   3645: 
                   3646: # From: Cory Dikkers <cdikkers@swbell.net>
                   3647: 0      string          XPKF            Amiga xpkf.library compressed data
                   3648: 0      string          PP11            Power Packer 1.1 compressed data
                   3649: 0      string          PP20            Power Packer 2.0 compressed data,
                   3650: >4     belong          0x09090909      fast compression
                   3651: >4     belong          0x090A0A0A      mediocre compression
                   3652: >4     belong          0x090A0B0B      good compression
                   3653: >4     belong          0x090A0C0C      very good compression
                   3654: >4     belong          0x090A0C0D      best compression
                   3655: 
                   3656: # 7-zip archiver, from Thomas Klausner (wiz@danbala.tuwien.ac.at)
                   3657: # http://www.7-zip.org or DOC/7zFormat.txt 
                   3658: #
                   3659: 0      string          7z\274\257\047\034      7-zip archive data,
                   3660: >6     byte            x                       version %d
                   3661: >7     byte            x                       \b.%d
                   3662: 
                   3663: # Type: LZMA
                   3664: # URL:  http://www.7-zip.org/sdk.html
                   3665: # From: Robert Millan <rmh@aybabtu.com> and Reuben Thomas <rrt@sc3d.org>
                   3666: # Commented out because apparently not reliable (according to Debian
                   3667: # bug #364260)
                   3668: #0     string          ]\000\000\200\000       LZMA compressed data
                   3669: 
                   3670: # AFX compressed files (Wolfram Kleff)
                   3671: 2      string          -afx-           AFX compressed file data
                   3672: 
                   3673: # Supplementary magic data for the file(1) command to support
                   3674: # rzip(1).  The format is described in magic(5).
                   3675: #
                   3676: # Copyright (C) 2003 by Andrew Tridgell.  You may do whatever you want with
                   3677: # this file.
                   3678: #
                   3679: 0      string          RZIP            rzip compressed data
                   3680: >4     byte            x               - version %d
                   3681: >5     byte            x               \b.%d
                   3682: >6     belong          x               (%d bytes)
                   3683: #------------------------------------------------------------------------------
                   3684: # Console game magic
                   3685: # Toby Deshane <hac@shoelace.digivill.net>
                   3686: #    ines:  file(1) magic for Marat's iNES Nintendo Entertainment System
                   3687: #           ROM dump format
                   3688: 
                   3689: 0 string NES\032 iNES ROM dump,
                   3690: >4 byte  x     %dx16k PRG
                   3691: >5 byte  x     \b, %dx8k CHR
                   3692: >6 byte&0x01  =0x1  \b, [Vert.]
                   3693: >6 byte&0x01  =0x0  \b, [Horiz.]
                   3694: >6 byte&0x02  =0x2  \b, [SRAM]
                   3695: >6 byte&0x04  =0x4  \b, [Trainer]
                   3696: >6 byte&0x04  =0x8  \b, [4-Scr]
                   3697: 
                   3698: #------------------------------------------------------------------------------
                   3699: # gameboy:  file(1) magic for the Nintendo (Color) Gameboy raw ROM format
                   3700: #
                   3701: 0x104 belong 0xCEED6666 Gameboy ROM:
                   3702: >0x134 string >\0 "%.16s"
                   3703: >0x146 byte 0x03  \b,[SGB]
                   3704: >0x147 byte 0x00  \b, [ROM ONLY]
                   3705: >0x147 byte 0x01  \b, [ROM+MBC1]
                   3706: >0x147 byte 0x02  \b, [ROM+MBC1+RAM]
                   3707: >0x147 byte 0x03  \b, [ROM+MBC1+RAM+BATT]
                   3708: >0x147 byte 0x05  \b, [ROM+MBC2]
                   3709: >0x147 byte 0x06  \b, [ROM+MBC2+BATTERY]
                   3710: >0x147 byte 0x08  \b, [ROM+RAM]
                   3711: >0x147 byte 0x09  \b, [ROM+RAM+BATTERY]
                   3712: >0x147 byte 0x0B  \b, [ROM+MMM01]
                   3713: >0x147 byte 0x0C  \b, [ROM+MMM01+SRAM]
                   3714: >0x147 byte 0x0D  \b, [ROM+MMM01+SRAM+BATT]
                   3715: >0x147 byte 0x0F  \b, [ROM+MBC3+TIMER+BATT]
                   3716: >0x147 byte 0x10  \b, [ROM+MBC3+TIMER+RAM+BATT]
                   3717: >0x147 byte 0x11  \b, [ROM+MBC3]
                   3718: >0x147 byte 0x12  \b, [ROM+MBC3+RAM]
                   3719: >0x147 byte 0x13  \b, [ROM+MBC3+RAM+BATT]
                   3720: >0x147 byte 0x19  \b, [ROM+MBC5]
                   3721: >0x147 byte 0x1A  \b, [ROM+MBC5+RAM]
                   3722: >0x147 byte 0x1B  \b, [ROM+MBC5+RAM+BATT]
                   3723: >0x147 byte 0x1C  \b, [ROM+MBC5+RUMBLE]
                   3724: >0x147 byte 0x1D  \b, [ROM+MBC5+RUMBLE+SRAM]
                   3725: >0x147 byte 0x1E  \b, [ROM+MBC5+RUMBLE+SRAM+BATT]
                   3726: >0x147 byte 0x1F  \b, [Pocket Camera]
                   3727: >0x147 byte 0xFD  \b, [Bandai TAMA5]
                   3728: >0x147 byte 0xFE  \b, [Hudson HuC-3]
                   3729: >0x147 byte 0xFF  \b, [Hudson HuC-1]
                   3730: 
                   3731: >0x148 byte 0     \b, ROM: 256Kbit
                   3732: >0x148 byte 1     \b, ROM: 512Kbit
                   3733: >0x148 byte 2     \b, ROM: 1Mbit
                   3734: >0x148 byte 3     \b, ROM: 2Mbit
                   3735: >0x148 byte 4     \b, ROM: 4Mbit
                   3736: >0x148 byte 5     \b, ROM: 8Mbit
                   3737: >0x148 byte 6     \b, ROM: 16Mbit
                   3738: >0x148 byte 0x52  \b, ROM: 9Mbit
                   3739: >0x148 byte 0x53  \b, ROM: 10Mbit
                   3740: >0x148 byte 0x54  \b, ROM: 12Mbit
                   3741: 
                   3742: >0x149 byte 1     \b, RAM: 16Kbit
                   3743: >0x149 byte 2     \b, RAM: 64Kbit
                   3744: >0x149 byte 3     \b, RAM: 128Kbit
                   3745: >0x149 byte 4     \b, RAM: 1Mbit
                   3746: 
                   3747: #>0x14e long  x     \b, CRC: %x
                   3748: 
                   3749: #------------------------------------------------------------------------------
                   3750: # genesis:  file(1) magic for the Sega MegaDrive/Genesis raw ROM format
                   3751: #
                   3752: 0x100 string SEGA  Sega MegaDrive/Genesis raw ROM dump
                   3753: >0x120 string >\0 Name: "%.16s"
                   3754: >0x110 string >\0 %.16s
                   3755: >0x1B0 string RA with SRAM
                   3756: 
                   3757: #------------------------------------------------------------------------------
                   3758: # genesis:  file(1) magic for the Super MegaDrive ROM dump format
                   3759: #
                   3760: 0x280 string EAGN  Super MagicDrive ROM dump
                   3761: >0 byte x %dx16k blocks
                   3762: >2 byte 0 \b, last in series or standalone
                   3763: >2 byte >0 \b, split ROM
                   3764: >8 byte 0xAA
                   3765: >9 byte 0xBB
                   3766: 
                   3767: #------------------------------------------------------------------------------
                   3768: # genesis:  file(1) alternate magic for the Super MegaDrive ROM dump format
                   3769: #
                   3770: 0x280 string EAMG  Super MagicDrive ROM dump
                   3771: >0 byte x %dx16k blocks
                   3772: >2 byte x \b, last in series or standalone
                   3773: >8 byte 0xAA
                   3774: >9 byte 0xBB
                   3775: 
                   3776: #------------------------------------------------------------------------------
                   3777: # smsgg:  file(1) magic for Sega Master System and Game Gear ROM dumps
                   3778: #
                   3779: # Does not detect all images.  Very preliminary guesswork.  Need more data
                   3780: # on format.
                   3781: #
                   3782: # FIXME: need a little more info...;P
                   3783: #
                   3784: #0 byte 0xF3
                   3785: #>1 byte 0xED  Sega Master System/Game Gear ROM dump
                   3786: #>1 byte 0x31  Sega Master System/Game Gear ROM dump
                   3787: #>1 byte 0xDB  Sega Master System/Game Gear ROM dump
                   3788: #>1 byte 0xAF  Sega Master System/Game Gear ROM dump
                   3789: #>1 byte 0xC3  Sega Master System/Game Gear ROM dump
                   3790: 
                   3791: #------------------------------------------------------------------------------
                   3792: # dreamcast:  file(1) uncertain magic for the Sega Dreamcast VMU image format
                   3793: #
                   3794: 0 belong 0x21068028   Sega Dreamcast VMU game image
                   3795: 0 string LCDi         Dream Animator file
                   3796: 
                   3797: #------------------------------------------------------------------------------
                   3798: # v64: file(1) uncertain magic for the V64 format N64 ROM dumps
                   3799: #
                   3800: 0 belong 0x37804012    V64 Nintendo 64 ROM dump
                   3801: 
                   3802: # From: "Nelson A. de Oliveira" <naoliv@gmail.com>
                   3803: # Nintendo .nds
                   3804: 192    string  \044\377\256Qi\232      Nintendo DS Game ROM Image
                   3805: # Nintendo .gba
                   3806: 0      string  \056\000\000\352$\377\256Qi     Nintendo Game Boy Advance ROM Image
                   3807: 
                   3808: #------------------------------------------------------------------------------
                   3809: # msx: file(1) magic for MSX game cartridge dumps
                   3810: # Too simple - MPi
                   3811: #0 beshort 0x4142 MSX game cartridge dump 
                   3812: 
                   3813: #------------------------------------------------------------------------------
                   3814: # Sony Playstation executables (Adam Sjoegren <asjo@diku.dk>) :
                   3815: 0      string  PS-X\ EXE       Sony Playstation executable
                   3816: #  Area:
                   3817: >113   string  x               (%s)
                   3818: 
                   3819: #------------------------------------------------------------------------------
                   3820: # Microsoft Xbox executables .xbe (Esa Hyytiä <ehyytia@cc.hut.fi>)
                   3821: 0       string          XBEH            XBE, Microsoft Xbox executable
                   3822: # probabilistic checks whether signed or not
                   3823: >0x0004 ulelong =0x0
                   3824: >>&2    ulelong =0x0
                   3825: >>>&2   ulelong =0x0  \b, not signed
                   3826: >0x0004 ulelong >0
                   3827: >>&2    ulelong >0
                   3828: >>>&2   ulelong >0    \b, signed
                   3829: # expect base address of 0x10000
                   3830: >0x0104               ulelong =0x10000
                   3831: >>(0x0118-0x0FF60)    ulelong&0x80000007  0x80000007 \b, all regions
                   3832: >>(0x0118-0x0FF60)    ulelong&0x80000007  !0x80000007
                   3833: >>>(0x0118-0x0FF60)   ulelong >0           (regions:
                   3834: >>>>(0x0118-0x0FF60)  ulelong &0x00000001  NA
                   3835: >>>>(0x0118-0x0FF60)  ulelong &0x00000002  Japan
                   3836: >>>>(0x0118-0x0FF60)  ulelong &0x00000004  Rest_of_World
                   3837: >>>>(0x0118-0x0FF60)  ulelong &0x80000000  Manufacturer
                   3838: >>>(0x0118-0x0FF60)   ulelong >0           \b)
                   3839: 
                   3840: # --------------------------------
                   3841: # Microsoft Xbox data file formats
                   3842: 0       string          XIP0            XIP, Microsoft Xbox data
                   3843: 0       string          XTF0            XTF, Microsoft Xbox data
                   3844: 
                   3845: # Atari Lynx cartridge dump (EXE/BLL header)
                   3846: # From: "Stefan A. Haubenthal" <polluks@web.de>
                   3847: 
                   3848: 0      beshort         0x8008          Lynx cartridge,
                   3849: >2     beshort         x               RAM start $%04x
                   3850: >6     string          BS93
                   3851: 
                   3852: # Opera file system that is used on the 3DO console
                   3853: # From: Serge van den Boom <svdb@stack.nl>
                   3854: 0      string          \x01ZZZZZ\x01   3DO "Opera" file system
                   3855: 
                   3856: # From Gürkan Sengün <gurkan@linuks.mine.nu>, www.linuks.mine.nu
                   3857: 0      string          GBS             Nintendo Gameboy Music/Audio Data
                   3858: 12     string          GameBoy\ Music\ Module  Nintendo Gameboy Music Module
                   3859: 
                   3860: # Playstations Patch Files from: From: Thomas Klausner <tk@giga.or.at>
                   3861: 0      string  PPF30                   Playstation Patch File version 3.0
                   3862: >5     byte    0                       \b, PPF 1.0 patch
                   3863: >5     byte    1                       \b, PPF 2.0 patch
                   3864: >5     byte    2                       \b, PPF 3.0 patch
                   3865: >>56   byte    0                       \b, Imagetype BIN (any)
                   3866: >>56   byte    1                       \b, Imagetype GI (PrimoDVD)
                   3867: >>57   byte    0                       \b, Blockcheck disabled
                   3868: >>57   byte    1                       \b, Blockcheck enabled
                   3869: >>58   byte    0                       \b, Undo data not available
                   3870: >>58   byte    1                       \b, Undo data available
                   3871: >6     string  x                       \b, description: %s
                   3872: 
                   3873: 0      string  PPF20                   Playstation Patch File version 2.0
                   3874: >5     byte    0                       \b, PPF 1.0 patch
                   3875: >5     byte    1                       \b, PPF 2.0 patch
                   3876: >>56   lelong  >0                      \b, size of file to patch %d
                   3877: >6     string  x                       \b, description: %s
                   3878: 
                   3879: 0      string  PPF10                   Playstation Patch File version 1.0
                   3880: >5     byte    0                       \b, Simple Encoding
                   3881: >6     string  x                       \b, description: %s
                   3882: 
                   3883: # From: Daniel Dawson <ddawson@icehouse.net>
                   3884: # SNES9x .smv "movie" file format.
                   3885: 0              string          SMV\x1A SNES9x input recording
                   3886: >0x4           lelong          x       \b, version %d
                   3887: # version 4 is latest so far 
                   3888: >0x4           lelong          <5
                   3889: >>0x8          ledate          x       \b, recorded at %s
                   3890: >>0xc          lelong          >0      \b, rerecorded %d times
                   3891: >>0x10         lelong          x       \b, %d frames long
                   3892: >>0x14         byte            >0      \b, data for controller(s):
                   3893: >>>0x14                byte            &0x1    #1
                   3894: >>>0x14                byte            &0x2    #2
                   3895: >>>0x14                byte            &0x4    #3
                   3896: >>>0x14                byte            &0x8    #4
                   3897: >>>0x14                byte            &0x10   #5
                   3898: >>0x15         byte            ^0x1    \b, begins from snapshot
                   3899: >>0x15         byte            &0x1    \b, begins from reset
                   3900: >>0x15         byte            ^0x2    \b, NTSC standard
                   3901: >>0x15         byte            &0x2    \b, PAL standard
                   3902: >>0x17         byte            &0x1    \b, settings:
                   3903: # WIP1Timing not used as of version 4
                   3904: >>>0x4         lelong          <4
                   3905: >>>>0x17       byte            &0x2    WIP1Timing
                   3906: >>>0x17                byte            &0x4    Left+Right
                   3907: >>>0x17                byte            &0x8    VolumeEnvX
                   3908: >>>0x17                byte            &0x10   FakeMute
                   3909: >>>0x17                byte            &0x20   SyncSound
                   3910: # New flag as of version 4
                   3911: >>>0x4         lelong          >3
                   3912: >>>>0x17       byte            &0x80   NoCPUShutdown
                   3913: >>0x4          lelong          <4
                   3914: >>>0x18                lelong          >0x23
                   3915: >>>>0x20       leshort         !0
                   3916: >>>>>0x20      lestring16      x       \b, metadata: "%s"
                   3917: >>0x4          lelong          >3
                   3918: >>>0x24                byte            >0      \b, port 1:
                   3919: >>>>0x24       byte            1       joypad
                   3920: >>>>0x24       byte            2       mouse
                   3921: >>>>0x24       byte            3       SuperScope
                   3922: >>>>0x24       byte            4       Justifier
                   3923: >>>>0x24       byte            5       multitap
                   3924: >>>0x24                byte            >0      \b, port 2:
                   3925: >>>>0x25       byte            1       joypad
                   3926: >>>>0x25       byte            2       mouse
                   3927: >>>>0x25       byte            3       SuperScope
                   3928: >>>>0x25       byte            4       Justifier
                   3929: >>>>0x25       byte            5       multitap
                   3930: >>>0x18                lelong          >0x43
                   3931: >>>>0x40       leshort         !0
                   3932: >>>>>0x40      lestring16      x       \b, metadata: "%s"
                   3933: >>0x17         byte            &0x40   \b, ROM:
                   3934: >>>(0x18.l-26) lelong          x       CRC32 0x%08x
                   3935: >>>(0x18.l-23) string          x       "%s"
                   3936: 
                   3937: # Type: scummVM savegame files
                   3938: # From: Sven Hartge <debian@ds9.argh.org>
                   3939: 0      string  SCVM    scummVM savegame
                   3940: >12    string  >\0     "%s"
                   3941: #------------------------------------------------------------------------------
                   3942: # convex:  file(1) magic for Convex boxes
                   3943: #
                   3944: # Convexes are big-endian.
                   3945: #
                   3946: # /*\
                   3947: #  * Below are the magic numbers and tests added for Convex.
                   3948: #  * Added at beginning, because they are expected to be used most.
                   3949: # \*/
                   3950: 0      belong  0507    Convex old-style object
                   3951: >16    belong  >0      not stripped
                   3952: 0      belong  0513    Convex old-style demand paged executable
                   3953: >16    belong  >0      not stripped
                   3954: 0      belong  0515    Convex old-style pre-paged executable
                   3955: >16    belong  >0      not stripped
                   3956: 0      belong  0517    Convex old-style pre-paged, non-swapped executable
                   3957: >16    belong  >0      not stripped
                   3958: 0      belong  0x011257        Core file
                   3959: #
                   3960: # The following are a series of dump format magic numbers.  Each one
                   3961: # corresponds to a drastically different dump format.  The first on is
                   3962: # the original dump format on a 4.1 BSD or earlier file system.  The
                   3963: # second marks the change between the 4.1 file system and the 4.2 file
                   3964: # system.  The Third marks the changing of the block size from 1K
                   3965: # to 2K to be compatible with an IDC file system.  The fourth indicates
                   3966: # a dump that is dependent on Convex Storage Manager, because data in
                   3967: # secondary storage is not physically contained within the dump.
                   3968: # The restore program uses these number to determine how the data is
                   3969: # to be extracted.
                   3970: #
                   3971: 24     belong  =60011  dump format, 4.1 BSD or earlier
                   3972: 24     belong  =60012  dump format, 4.2 or 4.3 BSD without IDC
                   3973: 24     belong  =60013  dump format, 4.2 or 4.3 BSD (IDC compatible)
                   3974: 24     belong  =60014  dump format, Convex Storage Manager by-reference dump
                   3975: #
                   3976: # what follows is a bunch of bit-mask checks on the flags field of the opthdr.
                   3977: # If there is no `=' sign, assume just checking for whether the bit is set?
                   3978: #
                   3979: 0      belong  0601            Convex SOFF
                   3980: >88    belong&0x000f0000       =0x00000000     c1
                   3981: >88    belong                  &0x00010000     c2
                   3982: >88    belong                  &0x00020000     c2mp
                   3983: >88    belong                  &0x00040000     parallel
                   3984: >88    belong                  &0x00080000     intrinsic
                   3985: >88    belong                  &0x00000001     demand paged
                   3986: >88    belong                  &0x00000002     pre-paged
                   3987: >88    belong                  &0x00000004     non-swapped
                   3988: >88    belong                  &0x00000008     POSIX
                   3989: #
                   3990: >84    belong                  &0x80000000     executable
                   3991: >84    belong                  &0x40000000     object
                   3992: >84    belong&0x20000000       =0              not stripped
                   3993: >84    belong&0x18000000       =0x00000000     native fpmode
                   3994: >84    belong&0x18000000       =0x10000000     ieee fpmode
                   3995: >84    belong&0x18000000       =0x18000000     undefined fpmode
                   3996: #
                   3997: 0      belong                  0605            Convex SOFF core
                   3998: #
                   3999: 0      belong                  0607            Convex SOFF checkpoint
                   4000: >88    belong&0x000f0000       =0x00000000     c1
                   4001: >88    belong                  &0x00010000     c2
                   4002: >88    belong                  &0x00020000     c2mp
                   4003: >88    belong                  &0x00040000     parallel
                   4004: >88    belong                  &0x00080000     intrinsic
                   4005: >88    belong                  &0x00000008     POSIX
                   4006: #
                   4007: >84    belong&0x18000000       =0x00000000     native fpmode
                   4008: >84    belong&0x18000000       =0x10000000     ieee fpmode
                   4009: >84    belong&0x18000000       =0x18000000     undefined fpmode
                   4010: 
                   4011: #------------------------------------------------------------------------------
                   4012: # cracklib:  file (1) magic for cracklib v2.7
                   4013: 
                   4014: 0      lelong  0x70775631      Cracklib password index, little endian
                   4015: >4     long    >0              (%i words)
                   4016: >4     long    0               ("64-bit")
                   4017: >>8    long    >-1             (%i words)
                   4018: 0      belong  0x70775631      Cracklib password index, big endian
                   4019: >4     belong  >-1             (%i words)
                   4020: # really bellong 0x0000000070775631
                   4021: 0      search/1        \0\0\0\0pwV1    Cracklib password index, big endian ("64-bit")
                   4022: >12    belong  >0              (%i words)
                   4023: # ----------------------------------------------------------------------------
                   4024: # ctags:  file (1) magic for Exuberant Ctags files
                   4025: # From: Alexander Mai <mai@migdal.ikp.physik.tu-darmstadt.de>
                   4026: 0      search/1        =!_TAG  Exuberant Ctags tag file text
                   4027: 
                   4028: #------------------------------------------------------------------------------
                   4029: # dact:  file(1) magic for DACT compressed files
                   4030: #
                   4031: 0      long            0x444354C3      DACT compressed data
                   4032: >4     byte            >-1             (version %i.
                   4033: >5     byte            >-1             $BS%i.
                   4034: >6     byte            >-1             $BS%i)
                   4035: >7     long            >0              $BS, original size: %i bytes
                   4036: >15    long            >30             $BS, block size: %i bytes
                   4037: 
                   4038: #------------------------------------------------------------------------------
                   4039: # database:  file(1) magic for various databases
                   4040: #
                   4041: # extracted from header/code files by Graeme Wilford (eep2gw@ee.surrey.ac.uk)
                   4042: #
                   4043: #
                   4044: # GDBM magic numbers
                   4045: #  Will be maintained as part of the GDBM distribution in the future.
                   4046: #  <downsj@teeny.org>
                   4047: 0      belong  0x13579ace      GNU dbm 1.x or ndbm database, big endian
                   4048: !:mime application/x-gdbm
                   4049: 0      lelong  0x13579ace      GNU dbm 1.x or ndbm database, little endian
                   4050: !:mime application/x-gdbm
                   4051: 0      string  GDBM            GNU dbm 2.x database
                   4052: !:mime application/x-gdbm
                   4053: #
                   4054: # Berkeley DB
                   4055: #
                   4056: # Ian Darwin's file /etc/magic files: big/little-endian version.
                   4057: #
                   4058: # Hash 1.85/1.86 databases store metadata in network byte order.
                   4059: # Btree 1.85/1.86 databases store the metadata in host byte order.
                   4060: # Hash and Btree 2.X and later databases store the metadata in host byte order.
                   4061: 
                   4062: 0      long    0x00061561      Berkeley DB
                   4063: !:mime application/x-dbm
                   4064: >8     belong  4321
                   4065: >>4    belong  >2              1.86
                   4066: >>4    belong  <3              1.85
                   4067: >>4    belong  >0              (Hash, version %d, native byte-order)
                   4068: >8     belong  1234
                   4069: >>4    belong  >2              1.86
                   4070: >>4    belong  <3              1.85
                   4071: >>4    belong  >0              (Hash, version %d, little-endian)
                   4072: 
                   4073: 0      belong  0x00061561      Berkeley DB
                   4074: >8     belong  4321
                   4075: >>4    belong  >2              1.86
                   4076: >>4    belong  <3              1.85
                   4077: >>4    belong  >0              (Hash, version %d, big-endian)
                   4078: >8     belong  1234
                   4079: >>4    belong  >2              1.86
                   4080: >>4    belong  <3              1.85
                   4081: >>4    belong  >0              (Hash, version %d, native byte-order)
                   4082: 
                   4083: 0      long    0x00053162      Berkeley DB 1.85/1.86
                   4084: >4     long    >0              (Btree, version %d, native byte-order)
                   4085: 0      belong  0x00053162      Berkeley DB 1.85/1.86
                   4086: >4     belong  >0              (Btree, version %d, big-endian)
                   4087: 0      lelong  0x00053162      Berkeley DB 1.85/1.86
                   4088: >4     lelong  >0              (Btree, version %d, little-endian)
                   4089: 
                   4090: 12     long    0x00061561      Berkeley DB
                   4091: >16    long    >0              (Hash, version %d, native byte-order)
                   4092: 12     belong  0x00061561      Berkeley DB
                   4093: >16    belong  >0              (Hash, version %d, big-endian)
                   4094: 12     lelong  0x00061561      Berkeley DB
                   4095: >16    lelong  >0              (Hash, version %d, little-endian)
                   4096: 
                   4097: 12     long    0x00053162      Berkeley DB
                   4098: >16    long    >0              (Btree, version %d, native byte-order)
                   4099: 12     belong  0x00053162      Berkeley DB
                   4100: >16    belong  >0              (Btree, version %d, big-endian)
                   4101: 12     lelong  0x00053162      Berkeley DB
                   4102: >16    lelong  >0              (Btree, version %d, little-endian)
                   4103: 
                   4104: 12     long    0x00042253      Berkeley DB
                   4105: >16    long    >0              (Queue, version %d, native byte-order)
                   4106: 12     belong  0x00042253      Berkeley DB
                   4107: >16    belong  >0              (Queue, version %d, big-endian)
                   4108: 12     lelong  0x00042253      Berkeley DB
                   4109: >16    lelong  >0              (Queue, version %d, little-endian)
                   4110: 
                   4111: # From Max Bowsher.
                   4112: 12     long    0x00040988      Berkeley DB
                   4113: >16    long    >0              (Log, version %d, native byte-order)
                   4114: 12     belong  0x00040988      Berkeley DB 
                   4115: >16    belong  >0              (Log, version %d, big-endian)
                   4116: 12     lelong  0x00040988      Berkeley DB
                   4117: >16    lelong  >0              (Log, version %d, little-endian)
                   4118: 
                   4119: #
                   4120: #
                   4121: # Round Robin Database Tool by Tobias Oetiker <oetiker@ee.ethz.ch>
                   4122: 0      string  RRD             RRDTool DB
                   4123: >4     string  x               version %s
                   4124: #----------------------------------------------------------------------
                   4125: # ROOT: file(1) magic for ROOT databases
                   4126: #
                   4127: 0       string  root\0  ROOT file
                   4128: >4      belong  x       Version %d
                   4129: >33     belong  x       (Compression: %d)
                   4130: 
                   4131: # XXX: Weak magic.
                   4132: # Alex Ott <ott@jet.msk.su>
                   4133: ## Paradox file formats
                   4134: #2       leshort       0x0800  Paradox 
                   4135: #>0x39   byte          3       v. 3.0 
                   4136: #>0x39   byte          4       v. 3.5 
                   4137: #>0x39   byte          9       v. 4.x 
                   4138: #>0x39   byte          10      v. 5.x 
                   4139: #>0x39   byte          11      v. 5.x 
                   4140: #>0x39   byte          12      v. 7.x 
                   4141: #>>0x04          byte          0       indexed .DB data file 
                   4142: #>>0x04          byte          1       primary index .PX file 
                   4143: #>>0x04          byte          2       non-indexed .DB data file 
                   4144: #>>0x04          byte          3       non-incrementing secondary index .Xnn file 
                   4145: #>>0x04          byte          4       secondary index .Ynn file 
                   4146: #>>0x04          byte          5       incrementing secondary index .Xnn file 
                   4147: #>>0x04          byte          6       non-incrementing secondary index .XGn file 
                   4148: #>>0x04          byte          7       secondary index .YGn file 
                   4149: #>>>0x04         byte          8       incrementing secondary index .XGn file 
                   4150: 
                   4151: ## XBase database files
                   4152: #0      byte       0x02        
                   4153: #>8     leshort          >0
                   4154: #>>12   leshort    0   FoxBase 
                   4155: #!:mime        application/x-dbf
                   4156: #>>>0x04       lelong          0               (no records)
                   4157: #>>>0x04       lelong          >0              (%ld records)
                   4158: #
                   4159: #0      byte       0x03        
                   4160: #!:mime        application/x-dbf
                   4161: #>8     leshort          >0
                   4162: #>>12   leshort    0   FoxBase+, FoxPro, dBaseIII+, dBaseIV, no memo 
                   4163: #>>>0x04       lelong          0               (no records)
                   4164: #>>>0x04       lelong          >0              (%ld records)
                   4165: #
                   4166: #0      byte       0x04        
                   4167: #!:mime        application/x-dbf
                   4168: #>8     leshort          >0
                   4169: #>>12   leshort    0   dBASE IV no memo file 
                   4170: #>>>0x04       lelong          0               (no records)
                   4171: #>>>0x04       lelong          >0              (%ld records)
                   4172: #
                   4173: #0      byte       0x05        
                   4174: #!:mime        application/x-dbf
                   4175: #>8     leshort          >0
                   4176: #>>12   leshort    0   dBASE V no memo file 
                   4177: #>>>0x04       lelong          0               (no records)
                   4178: #>>>0x04       lelong          >0              (%ld records)
                   4179: #
                   4180: #0      byte       0x30
                   4181: #!:mime        application/x-dbf
                   4182: #>8     leshort          >0
                   4183: #>>12   leshort    0   Visual FoxPro 
                   4184: #>>>0x04       lelong          0               (no records)
                   4185: #>>>0x04       lelong          >0              (%ld records)
                   4186: #
                   4187: #0      byte       0x43
                   4188: #!:mime        application/x-dbf
                   4189: #>8     leshort          >0
                   4190: #>>12   leshort    0   FlagShip with memo var size 
                   4191: #>>>0x04       lelong          0               (no records)
                   4192: #>>>0x04       lelong          >0              (%ld records)
                   4193: #
                   4194: #0      byte       0x7b
                   4195: #!:mime        application/x-dbf
                   4196: #>8     leshort          >0
                   4197: #>>12   leshort    0   dBASEIV with memo 
                   4198: #>>>0x04       lelong          0               (no records)
                   4199: #>>>0x04       lelong          >0              (%ld records)
                   4200: #
                   4201: #0      byte       0x83        
                   4202: #!:mime        application/x-dbf
                   4203: #>8     leshort          >0
                   4204: #>>12   leshort    0   FoxBase+, dBaseIII+ with memo 
                   4205: #>>>0x04       lelong          0               (no records)
                   4206: #>>>0x04       lelong          >0              (%ld records)
                   4207: #
                   4208: #0      byte       0x8b
                   4209: #!:mime        application/x-dbf
                   4210: #>8     leshort          >0
                   4211: #>>12   leshort    0   dBaseIV with memo 
                   4212: #>>>0x04       lelong          0               (no records)
                   4213: #>>>0x04       lelong          >0              (%ld records)
                   4214: #
                   4215: #0      byte       0x8e        
                   4216: #!:mime        application/x-dbf
                   4217: #>8     leshort          >0
                   4218: #>>12   leshort    0   dBaseIV with SQL Table 
                   4219: #>>>0x04       lelong          0               (no records)
                   4220: #>>>0x04       lelong          >0              (%ld records)
                   4221: #
                   4222: #0      byte       0xb3
                   4223: #!:mime        application/x-dbf
                   4224: #>8     leshort          >0
                   4225: #>>12   leshort    0   FlagShip with .dbt memo 
                   4226: #>>>0x04       lelong          0               (no records)
                   4227: #>>>0x04       lelong          >0              (%ld records)
                   4228: #
                   4229: #0      byte       0xf5
                   4230: #!:mime        application/x-dbf
                   4231: #>8     leshort          >0
                   4232: #>>12   leshort    0   FoxPro with memo 
                   4233: #>>>0x04       lelong          0               (no records)
                   4234: #>>>0x04       lelong          >0              (%ld records)
                   4235: #
                   4236: #0     leshort         0x0006          DBase 3 index file
                   4237: 
                   4238: # MS Access database
                   4239: 4      string  Standard\ Jet\ DB       Microsoft Access Database
                   4240: !:mime application/x-msaccess
                   4241: 
                   4242: # TDB database from Samba et al - Martin Pool <mbp@samba.org>
                   4243: 0      string  TDB\ file               TDB database
                   4244: >32    lelong  0x2601196D              version 6, little-endian
                   4245: >>36   lelong  x                       hash size %d bytes
                   4246: 
                   4247: # SE Linux policy database
                   4248: 0       lelong  0xf97cff8c      SE Linux policy
                   4249: >16     lelong  x               v%d
                   4250: >20     lelong  1      MLS
                   4251: >24     lelong  x       %d symbols
                   4252: >28     lelong  x       %d ocons
                   4253: 
                   4254: # ICE authority file data (Wolfram Kleff)
                   4255: 2      string          ICE             ICE authority data
                   4256: 
                   4257: # X11 Xauthority file (Wolfram Kleff)
                   4258: 10     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
                   4259: 11     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
                   4260: 12     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
                   4261: 13     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
                   4262: 14     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
                   4263: 15     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
                   4264: 16     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
                   4265: 17     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
                   4266: 18     string          MIT-MAGIC-COOKIE-1      X11 Xauthority data
                   4267: 
                   4268: # From: Maxime Henrion <mux@FreeBSD.org>
                   4269: # PostgreSQL's custom dump format, Maxime Henrion <mux@FreeBSD.org>
                   4270: 0      string          PGDMP           PostgreSQL custom database dump
                   4271: >5     byte            x               - v%d
                   4272: >6     byte            x               \b.%d
                   4273: >5     beshort         <0x101          \b-0
                   4274: >5     beshort         >0x100
                   4275: >>7    byte            x               \b-%d
                   4276: 
                   4277: # Type: Advanced Data Format (ADF) database
                   4278: # URL:  http://www.grc.nasa.gov/WWW/cgns/adf/
                   4279: # From: Nicolas Chauvat <nicolas.chauvat@logilab.fr>
                   4280: 0      string  @(#)ADF\ Database       CGNS Advanced Data Format
                   4281: 
                   4282: # Type:        QDBM Quick Database Manager
                   4283: # From:        Benoit Sibaud <bsibaud@april.org>
                   4284: 0      string  \\[depot\\]\n\f         Quick Database Manager, little endian
                   4285: 0      string  \\[DEPOT\\]\n\f         Quick Database Manager, big endian
                   4286: 
                   4287: # Type:        TokyoCabinet database
                   4288: # URL: http://tokyocabinet.sourceforge.net/
                   4289: # From:        Benoit Sibaud <bsibaud@april.org>
                   4290: 0      string  ToKyO\ CaBiNeT\n        TokyoCabinet database
                   4291: >14    string  x                       (version %s)
                   4292: 
                   4293: #------------------------------------------------------------------------------
                   4294: # diamond:  file(1) magic for Diamond system
                   4295: #
                   4296: # ... diamond is a multi-media mail and electronic conferencing system....
                   4297: #
                   4298: # XXX - I think it was either renamed Slate, or replaced by Slate....
                   4299: #
                   4300: #      The full deal is too long...
                   4301: #0     string  <list>\n<protocol\ bbn-multimedia-format>       Diamond Multimedia Document
                   4302: 0      string  =<list>\n<protocol\ bbn-m       Diamond Multimedia Document
                   4303: #------------------------------------------------------------------------------
                   4304: # diff:  file(1) magic for diff(1) output
                   4305: #
                   4306: 0      search/1        diff\           diff output text
                   4307: !:mime text/x-diff
                   4308: 0      search/1        ***\            diff output text
                   4309: !:mime text/x-diff
                   4310: 0      search/1        Only\ in\       diff output text
                   4311: !:mime text/x-diff
                   4312: 0      search/1        Common\ subdirectories:\        diff output text
                   4313: !:mime text/x-diff
                   4314: 
                   4315: 0      search/1        Index:          RCS/CVS diff output text
                   4316: !:mime text/x-diff
                   4317: #  Digital UNIX - Info
                   4318: #
                   4319: 0      string  =!<arch>\n________64E   Alpha archive
                   4320: >22    string  X                       -- out of date
                   4321: #
                   4322: # Alpha COFF Based Executables
                   4323: # The stripped stuff really needs to be an 8 byte (64 bit) compare,
                   4324: # but this works
                   4325: 0      leshort         0x183           COFF format alpha
                   4326: >22    leshort&020000  &010000         sharable library,
                   4327: >22    leshort&020000  ^010000         dynamically linked,
                   4328: >24    leshort         0410            pure
                   4329: >24    leshort         0413            demand paged
                   4330: >8     lelong          >0              executable or object module, not stripped
                   4331: >8     lelong          0
                   4332: >>12   lelong          0               executable or object module, stripped
                   4333: >>12   lelong          >0              executable or object module, not stripped
                   4334: >27     byte            >0              - version %d.
                   4335: >26     byte            >0              %d-
                   4336: >28     leshort         >0              %d
                   4337: #
                   4338: # The next is incomplete, we could tell more about this format,
                   4339: # but its not worth it.
                   4340: 0      leshort         0x188   Alpha compressed COFF
                   4341: 0      leshort         0x18f   Alpha u-code object
                   4342: #
                   4343: #
                   4344: # Some other interesting Digital formats,
                   4345: 0      string  \377\377\177            ddis/ddif
                   4346: 0      string  \377\377\174            ddis/dots archive
                   4347: 0      string  \377\377\176            ddis/dtif table data
                   4348: 0      string  \033c\033               LN03 output
                   4349: 0      long    04553207                X image
                   4350: #
                   4351: 0      string  =!<PDF>!\n              profiling data file
                   4352: #
                   4353: # Locale data tables (MIPS and Alpha).
                   4354: #
                   4355: 0      short           0x0501          locale data table
                   4356: >6     short           0x24            for MIPS
                   4357: >6     short           0x40            for Alpha
                   4358: # ATSC A/53 aka AC-3 aka Dolby Digital <ashitaka@gmx.at>
                   4359: # from http://www.atsc.org/standards/a_52a.pdf
                   4360: # corrections, additions, etc. are always welcome!
                   4361: #
                   4362: # syncword
                   4363: 0       beshort         0x0b77  ATSC A/52 aka AC-3 aka Dolby Digital stream,
                   4364: # fscod
                   4365: >4      byte&0xc0       0x00    48 kHz,
                   4366: >4      byte&0xc0       0x40    44.1 kHz,
                   4367: >4      byte&0xc0       0x80    32 kHz,
                   4368: # is this one used for 96 kHz?
                   4369: >4      byte&0xc0       0xc0    reserved frequency,
                   4370: #
                   4371: >5     byte&7 = 0              \b, complete main (CM)
                   4372: >5     byte&7 = 1              \b, music and effects (ME)
                   4373: >5     byte&7 = 2              \b, visually impaired (VI)
                   4374: >5     byte&7 = 3              \b, hearing impaired (HI)
                   4375: >5     byte&7 = 4              \b, dialogue (D)
                   4376: >5     byte&7 = 5              \b, commentary (C)
                   4377: >5     byte&7 = 6              \b, emergency (E)
                   4378: # acmod
                   4379: >6      byte&0xe0       0x00    1+1 front,
                   4380: >6      byte&0xe0       0x20    1 front/0 rear,
                   4381: >6      byte&0xe0       0x40    2 front/0 rear,
                   4382: >6      byte&0xe0       0x60    3 front/0 rear,
                   4383: >6      byte&0xe0       0x80    2 front/1 rear,
                   4384: >6      byte&0xe0       0xa0    3 front/1 rear,
                   4385: >6      byte&0xe0       0xc0    2 front/2 rear,
                   4386: >6      byte&0xe0       0xe0    3 front/2 rear,
                   4387: # lfeon (these may be incorrect)
                   4388: >7      byte&0x40       0x00    LFE off,
                   4389: >7      byte&0x40       0x40    LFE on,
                   4390: #
                   4391: >4     byte&0x3e = 0x00        \b, 32 kbit/s
                   4392: >4     byte&0x3e = 0x02        \b, 40 kbit/s
                   4393: >4     byte&0x3e = 0x04        \b, 48 kbit/s
                   4394: >4     byte&0x3e = 0x06        \b, 56 kbit/s
                   4395: >4     byte&0x3e = 0x08        \b, 64 kbit/s
                   4396: >4     byte&0x3e = 0x0a        \b, 80 kbit/s
                   4397: >4     byte&0x3e = 0x0c        \b, 96 kbit/s
                   4398: >4     byte&0x3e = 0x0e        \b, 112 kbit/s
                   4399: >4     byte&0x3e = 0x10        \b, 128 kbit/s
                   4400: >4     byte&0x3e = 0x12        \b, 160 kbit/s
                   4401: >4     byte&0x3e = 0x14        \b, 192 kbit/s
                   4402: >4     byte&0x3e = 0x16        \b, 224 kbit/s
                   4403: >4     byte&0x3e = 0x18        \b, 256 kbit/s
                   4404: >4     byte&0x3e = 0x1a        \b, 320 kbit/s
                   4405: >4     byte&0x3e = 0x1c        \b, 384 kbit/s
                   4406: >4     byte&0x3e = 0x1e        \b, 448 kbit/s
                   4407: >4     byte&0x3e = 0x20        \b, 512 kbit/s
                   4408: >4     byte&0x3e = 0x22        \b, 576 kbit/s
                   4409: >4     byte&0x3e = 0x24        \b, 640 kbit/s
                   4410: # dsurmod (these may be incorrect)
                   4411: >6      beshort&0x0180  0x0000  Dolby Surround not indicated
                   4412: >6      beshort&0x0180  0x0080  not Dolby Surround encoded
                   4413: >6      beshort&0x0180  0x0100  Dolby Surround encoded
                   4414: >6      beshort&0x0180  0x0180  reserved Dolby Surround mode
                   4415: 
                   4416: #------------------------------------------------------------------------------
                   4417: # dump:  file(1) magic for dump file format--for new and old dump filesystems
                   4418: #
                   4419: # We specify both byte orders in order to recognize byte-swapped dumps.
                   4420: #
                   4421: 24     belong  60012           new-fs dump file (big endian),
                   4422: >4     bedate  x               Previous dump %s,
                   4423: >8     bedate  x               This dump %s,
                   4424: >12    belong  >0              Volume %ld,
                   4425: >692   belong  0               Level zero, type:
                   4426: >692   belong  >0              Level %d, type:
                   4427: >0     belong  1               tape header,
                   4428: >0     belong  2               beginning of file record,
                   4429: >0     belong  3               map of inodes on tape,
                   4430: >0     belong  4               continuation of file record,
                   4431: >0     belong  5               end of volume,
                   4432: >0     belong  6               map of inodes deleted,
                   4433: >0     belong  7               end of medium (for floppy),
                   4434: >676   string  >\0             Label %s,
                   4435: >696   string  >\0             Filesystem %s,
                   4436: >760   string  >\0             Device %s,
                   4437: >824   string  >\0             Host %s,
                   4438: >888   belong  >0              Flags %x
                   4439: 
                   4440: 24     belong  60011           old-fs dump file (big endian),
                   4441: #>4    bedate  x               Previous dump %s,
                   4442: #>8    bedate  x               This dump %s,
                   4443: >12    belong  >0              Volume %ld,
                   4444: >692   belong  0               Level zero, type:
                   4445: >692   belong  >0              Level %d, type:
                   4446: >0     belong  1               tape header,
                   4447: >0     belong  2               beginning of file record,
                   4448: >0     belong  3               map of inodes on tape,
                   4449: >0     belong  4               continuation of file record,
                   4450: >0     belong  5               end of volume,
                   4451: >0     belong  6               map of inodes deleted,
                   4452: >0     belong  7               end of medium (for floppy),
                   4453: >676   string  >\0             Label %s,
                   4454: >696   string  >\0             Filesystem %s,
                   4455: >760   string  >\0             Device %s,
                   4456: >824   string  >\0             Host %s,
                   4457: >888   belong  >0              Flags %x
                   4458: 
                   4459: 24     lelong  60012           new-fs dump file (little endian),
                   4460: >4     ledate  x               This dump %s,
                   4461: >8     ledate  x               Previous dump %s,
                   4462: >12    lelong  >0              Volume %ld,
                   4463: >692   lelong  0               Level zero, type:
                   4464: >692   lelong  >0              Level %d, type:
                   4465: >0     lelong  1               tape header,
                   4466: >0     lelong  2               beginning of file record,
                   4467: >0     lelong  3               map of inodes on tape,
                   4468: >0     lelong  4               continuation of file record,
                   4469: >0     lelong  5               end of volume,
                   4470: >0     lelong  6               map of inodes deleted,
                   4471: >0     lelong  7               end of medium (for floppy),
                   4472: >676   string  >\0             Label %s,
                   4473: >696   string  >\0             Filesystem %s,
                   4474: >760   string  >\0             Device %s,
                   4475: >824   string  >\0             Host %s,
                   4476: >888   lelong  >0              Flags %x
                   4477: 
                   4478: 24     lelong  60011           old-fs dump file (little endian),
                   4479: #>4    ledate  x               Previous dump %s,
                   4480: #>8    ledate  x               This dump %s,
                   4481: >12    lelong  >0              Volume %ld,
                   4482: >692   lelong  0               Level zero, type:
                   4483: >692   lelong  >0              Level %d, type:
                   4484: >0     lelong  1               tape header,
                   4485: >0     lelong  2               beginning of file record,
                   4486: >0     lelong  3               map of inodes on tape,
                   4487: >0     lelong  4               continuation of file record,
                   4488: >0     lelong  5               end of volume,
                   4489: >0     lelong  6               map of inodes deleted,
                   4490: >0     lelong  7               end of medium (for floppy),
                   4491: >676   string  >\0             Label %s,
                   4492: >696   string  >\0             Filesystem %s,
                   4493: >760   string  >\0             Device %s,
                   4494: >824   string  >\0             Host %s,
                   4495: >888   lelong  >0              Flags %x
                   4496: 
                   4497: 18     leshort 60011           old-fs dump file (16-bit, assuming PDP-11 endianness),
                   4498: >2     medate  x               Previous dump %s,
                   4499: >6     medate  x               This dump %s,
                   4500: >10    leshort >0              Volume %ld,
                   4501: >0     leshort 1               tape header.
                   4502: >0     leshort 2               beginning of file record.
                   4503: >0     leshort 3               map of inodes on tape.
                   4504: >0     leshort 4               continuation of file record.
                   4505: >0     leshort 5               end of volume.
                   4506: >0     leshort 6               map of inodes deleted.
                   4507: >0     leshort 7               end of medium (for floppy).
                   4508: 
                   4509: 24     belong  0x19540119      new-fs dump file (ufs2, big endian),
                   4510: >896   beqdate x               Previous dump %s,
                   4511: >904   beqdate x               This dump %s,
                   4512: >12    belong  >0              Volume %ld,
                   4513: >692   belong  0               Level zero, type:
                   4514: >692   belong  >0              Level %d, type:
                   4515: >0     belong  1               tape header,
                   4516: >0     belong  2               beginning of file record,
                   4517: >0     belong  3               map of inodes on tape,
                   4518: >0     belong  4               continuation of file record,
                   4519: >0     belong  5               end of volume,
                   4520: >0     belong  6               map of inodes deleted,
                   4521: >0     belong  7               end of medium (for floppy),
                   4522: >676   string  >\0             Label %s,
                   4523: >696   string  >\0             Filesystem %s,
                   4524: >760   string  >\0             Device %s,
                   4525: >824   string  >\0             Host %s,
                   4526: >888   belong  >0              Flags %x
                   4527: 
                   4528: 24     lelong  0x19540119      new-fs dump file (ufs2, little endian),
                   4529: >896   leqdate x               This dump %s,
                   4530: >904   leqdate x               Previous dump %s,
                   4531: >12    lelong  >0              Volume %ld,
                   4532: >692   lelong  0               Level zero, type:
                   4533: >692   lelong  >0              Level %d, type:
                   4534: >0     lelong  1               tape header,
                   4535: >0     lelong  2               beginning of file record,
                   4536: >0     lelong  3               map of inodes on tape,
                   4537: >0     lelong  4               continuation of file record,
                   4538: >0     lelong  5               end of volume,
                   4539: >0     lelong  6               map of inodes deleted,
                   4540: >0     lelong  7               end of medium (for floppy),
                   4541: >676   string  >\0             Label %s,
                   4542: >696   string  >\0             Filesystem %s,
                   4543: >760   string  >\0             Device %s,
                   4544: >824   string  >\0             Host %s,
                   4545: >888   lelong  >0              Flags %x
                   4546: 
                   4547: #------------------------------------------------------------------------------
                   4548: # Dyadic: file(1) magic for Dyalog APL.
                   4549: #
                   4550: 0      byte    0xaa
                   4551: >1     byte    <4              Dyalog APL
                   4552: >>1    byte    0x00            incomplete workspace
                   4553: >>1    byte    0x01            component file
                   4554: >>1    byte    0x02            external variable
                   4555: >>1    byte    0x03            workspace
                   4556: >>2    byte    x               version %d
                   4557: >>3    byte    x               .%d
                   4558: 
                   4559: #------------------------------------------------------------------------------
                   4560: # T602 editor documents 
                   4561: # by David Necas <yeti@physics.muni.cz>
                   4562: 0      string  @CT\    T602 document data,
                   4563: >4     string  0       Kamenicky
                   4564: >4     string  1       CP 852
                   4565: >4     string  2       KOI8-CS
                   4566: >4     string  >2      unknown encoding
                   4567: 
                   4568: # Vi IMproved Encrypted file 
                   4569: # by David Necas <yeti@physics.muni.cz>
                   4570: 0      string  VimCrypt~       Vim encrypted file data
                   4571: # Vi IMproved Swap file
                   4572: # by Sven Wegener <swegener@gentoo.org>
                   4573: 0      string  b0VIM\          Vim swap file
                   4574: >&0    string  >\0             \b, version %s
                   4575: 
                   4576: #------------------------------------------------------------------------------
                   4577: # efi:  file(1) magic for Universal EFI binaries
                   4578: 
                   4579: 0      lelong  0x0ef1fab9
                   4580: >4     lelong  1               Universal EFI binary with 1 architecture
                   4581: >>&0   lelong  7               \b, i386
                   4582: >>&0   lelong  0x01000007      \b, x86_64
                   4583: >4     lelong  2               Universal EFI binary with 2 architectures
                   4584: >>&0   lelong  7               \b, i386
                   4585: >>&0   lelong  0x01000007      \b, x86_64
                   4586: >>&20  lelong  7               \b, i386
                   4587: >>&20  lelong  0x01000007      \b, x86_64
                   4588: >4     lelong  >2              Universal EFI binary with %ld architectures
                   4589: 
                   4590: #------------------------------------------------------------------------------
                   4591: # elf:  file(1) magic for ELF executables
                   4592: #
                   4593: # We have to check the byte order flag to see what byte order all the
                   4594: # other stuff in the header is in.
                   4595: #
                   4596: # What're the correct byte orders for the nCUBE and the Fujitsu VPP500?
                   4597: #
                   4598: # Created by: unknown
                   4599: # Modified by (1): Daniel Quinlan <quinlan@yggdrasil.com>
                   4600: # Modified by (2): Peter Tobias <tobias@server.et-inf.fho-emden.de> (core support)
                   4601: # Modified by (3): Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de> (fix of core support)
                   4602: # Modified by (4): <gerardo.cacciari@gmail.com> (VMS Itanium)
                   4603: # Modified by (5): Matthias Urlichs <smurf@debian.org> (Listing of many architectures)
                   4604: 0      string          \177ELF         ELF
                   4605: >4     byte            0               invalid class
                   4606: >4     byte            1               32-bit
                   4607: >4     byte            2               64-bit
                   4608: >5     byte            0               invalid byte order
                   4609: >5     byte            1               LSB
                   4610: >>16   leshort         0               no file type,
                   4611: !:strength *2
                   4612: !:mime application/octet-stream
                   4613: >>16   leshort         1               relocatable,
                   4614: !:mime application/x-object
                   4615: >>16   leshort         2               executable,
                   4616: !:mime application/x-executable
                   4617: >>16   leshort         3               shared object,
                   4618: !:mime application/x-sharedlib
                   4619: >>16   leshort         4               core file
                   4620: !:mime application/x-coredump
                   4621: # Core file detection is not reliable.
                   4622: #>>>(0x38+0xcc) string >\0             of '%s'
                   4623: #>>>(0x38+0x10) lelong >0              (signal %d),
                   4624: >>16   leshort         &0xff00         processor-specific,
                   4625: >>18   leshort         0               no machine,
                   4626: >>18   leshort         1               AT&T WE32100 - invalid byte order,
                   4627: >>18   leshort         2               SPARC - invalid byte order,
                   4628: >>18   leshort         3               Intel 80386,
                   4629: >>18   leshort         4               Motorola
                   4630: >>>36  lelong          &0x01000000     68000 - invalid byte order,
                   4631: >>>36  lelong          &0x00810000     CPU32 - invalid byte order,
                   4632: >>>36  lelong          0               68020 - invalid byte order,
                   4633: >>18   leshort         5               Motorola 88000 - invalid byte order,
                   4634: >>18   leshort         6               Intel 80486,
                   4635: >>18   leshort         7               Intel 80860,
                   4636: # The official e_machine number for MIPS is now #8, regardless of endianness.
                   4637: # The second number (#10) will be deprecated later. For now, we still
                   4638: # say something if #10 is encountered, but only gory details for #8.
                   4639: >>18   leshort         8               MIPS,
                   4640: >>>36  lelong          &0x20           N32
                   4641: >>18   leshort         10              MIPS,
                   4642: >>>36  lelong          &0x20           N32
                   4643: >>18   leshort         8
                   4644: # only for 32-bit
                   4645: >>>4   byte            1
                   4646: >>>>36  lelong&0xf0000000      0x00000000      MIPS-I
                   4647: >>>>36  lelong&0xf0000000      0x10000000      MIPS-II
                   4648: >>>>36  lelong&0xf0000000      0x20000000      MIPS-III
                   4649: >>>>36  lelong&0xf0000000      0x30000000      MIPS-IV
                   4650: >>>>36  lelong&0xf0000000      0x40000000      MIPS-V
                   4651: >>>>36  lelong&0xf0000000      0x50000000      MIPS32
                   4652: >>>>36  lelong&0xf0000000      0x60000000      MIPS64
                   4653: >>>>36  lelong&0xf0000000      0x70000000      MIPS32 rel2
                   4654: >>>>36  lelong&0xf0000000      0x80000000      MIPS64 rel2
                   4655: # only for 64-bit
                   4656: >>>4   byte            2
                   4657: >>>>48  lelong&0xf0000000      0x00000000      MIPS-I
                   4658: >>>>48  lelong&0xf0000000      0x10000000      MIPS-II
                   4659: >>>>48  lelong&0xf0000000      0x20000000      MIPS-III
                   4660: >>>>48  lelong&0xf0000000      0x30000000      MIPS-IV
                   4661: >>>>48  lelong&0xf0000000      0x40000000      MIPS-V
                   4662: >>>>48  lelong&0xf0000000      0x50000000      MIPS32
                   4663: >>>>48  lelong&0xf0000000      0x60000000      MIPS64
                   4664: >>>>48  lelong&0xf0000000      0x70000000      MIPS32 rel2
                   4665: >>>>48  lelong&0xf0000000      0x80000000      MIPS64 rel2
                   4666: >>18   leshort         9               Amdahl - invalid byte order,
                   4667: >>18   leshort         10              MIPS (deprecated),
                   4668: >>18   leshort         11              RS6000 - invalid byte order,
                   4669: >>18   leshort         15              PA-RISC - invalid byte order,
                   4670: >>>50  leshort         0x0214          2.0
                   4671: >>>48  leshort         &0x0008         (LP64),
                   4672: >>18   leshort         16              nCUBE,
                   4673: >>18   leshort         17              Fujitsu VPP500,
                   4674: >>18   leshort         18              SPARC32PLUS - invalid byte order,
                   4675: >>18   leshort         20              PowerPC,
                   4676: >>18   leshort         22              IBM S/390,
                   4677: >>18   leshort         36              NEC V800,
                   4678: >>18   leshort         37              Fujitsu FR20,
                   4679: >>18   leshort         38              TRW RH-32,
                   4680: >>18   leshort         39              Motorola RCE,
                   4681: >>18   leshort         40              ARM,
                   4682: >>18   leshort         41              Alpha,
                   4683: >>18   leshort         0xa390          IBM S/390 (obsolete),
                   4684: >>18   leshort         42              Renesas SH,
                   4685: >>18   leshort         43              SPARC V9 - invalid byte order,
                   4686: >>18   leshort         44              Siemens Tricore Embedded Processor,
                   4687: >>18   leshort         45              Argonaut RISC Core, Argonaut Technologies Inc.,
                   4688: >>18   leshort         46              Renesas H8/300,
                   4689: >>18   leshort         47              Renesas H8/300H,
                   4690: >>18   leshort         48              Renesas H8S,
                   4691: >>18   leshort         49              Renesas H8/500,
                   4692: >>18   leshort         50              IA-64,
                   4693: >>18   leshort         51              Stanford MIPS-X,
                   4694: >>18   leshort         52              Motorola Coldfire,
                   4695: >>18   leshort         53              Motorola M68HC12,
                   4696: >>18   leshort         54              Fujitsu MMA,
                   4697: >>18   leshort         55              Siemens PCP,
                   4698: >>18   leshort         56              Sony nCPU,
                   4699: >>18   leshort         57              Denso NDR1,
                   4700: >>18   leshort         58              Start*Core,
                   4701: >>18   leshort         59              Toyota ME16,
                   4702: >>18   leshort         60              ST100,
                   4703: >>18   leshort         61              Tinyj emb.,
                   4704: >>18   leshort         62              x86-64,
                   4705: >>18   leshort         63              Sony DSP,
                   4706: >>18   leshort         66              FX66,
                   4707: >>18   leshort         67              ST9+ 8/16 bit,
                   4708: >>18   leshort         68              ST7 8 bit,
                   4709: >>18   leshort         69              MC68HC16,
                   4710: >>18   leshort         70              MC68HC11,
                   4711: >>18   leshort         71              MC68HC08,
                   4712: >>18   leshort         72              MC68HC05,
                   4713: >>18   leshort         73              SGI SVx,
                   4714: >>18   leshort         74              ST19 8 bit,
                   4715: >>18   leshort         75              Digital VAX,
                   4716: >>18   leshort         76              Axis cris,
                   4717: >>18   leshort         77              Infineon 32-bit embedded,
                   4718: >>18   leshort         78              Element 14 64-bit DSP,
                   4719: >>18   leshort         79              LSI Logic 16-bit DSP,
                   4720: >>18   leshort         80              MMIX,
                   4721: >>18   leshort         81              Harvard machine-independent,
                   4722: >>18   leshort         82              SiTera Prism,
                   4723: >>18   leshort         83              Atmel AVR 8-bit,
                   4724: >>18   leshort         84              Fujitsu FR30,
                   4725: >>18   leshort         85              Mitsubishi D10V,
                   4726: >>18   leshort         86              Mitsubishi D30V,
                   4727: >>18   leshort         87              NEC v850,
                   4728: >>18   leshort         88              Renesas M32R,
                   4729: >>18   leshort         89              Matsushita MN10300,
                   4730: >>18   leshort         90              Matsushita MN10200,
                   4731: >>18   leshort         91              picoJava,
                   4732: >>18   leshort         92              OpenRISC,
                   4733: >>18   leshort         93              ARC Cores Tangent-A5,
                   4734: >>18   leshort         0x3426          OpenRISC (obsolete),
                   4735: >>18   leshort         0x8472          OpenRISC (obsolete),
                   4736: >>18   leshort         94              Tensilica Xtensa,
                   4737: >>18   leshort         97              NatSemi 32k,
                   4738: >>18   leshort         106             Analog Devices Blackfin,
                   4739: >>18   leshort         0x9026          Alpha (unofficial),
                   4740: >>20   lelong          0               invalid version
                   4741: >>20   lelong          1               version 1
                   4742: >>36   lelong          1               MathCoPro/FPU/MAU Required
                   4743: >5     byte            2               MSB
                   4744: >>16   beshort         0               no file type,
                   4745: !:mime application/octet-stream
                   4746: >>16   beshort         1               relocatable,
                   4747: !:mime application/x-object
                   4748: >>16   beshort         2               executable,
                   4749: !:mime application/x-executable
                   4750: >>16   beshort         3               shared object,
                   4751: !:mime application/x-sharedlib
                   4752: >>16   beshort         4               core file,
                   4753: !:mime application/x-coredump
                   4754: #>>>(0x38+0xcc) string >\0             of '%s'
                   4755: #>>>(0x38+0x10) belong >0              (signal %d),
                   4756: >>16   beshort         &0xff00         processor-specific,
                   4757: >>18   beshort         0               no machine,
                   4758: >>18   beshort         1               AT&T WE32100,
                   4759: >>18   beshort         2               SPARC,
                   4760: >>18   beshort         3               Intel 80386 - invalid byte order,
                   4761: >>18   beshort         4               Motorola
                   4762: >>>36  belong          &0x01000000     68000,
                   4763: >>>36  belong          &0x00810000     CPU32,
                   4764: >>>36  belong          0               68020,
                   4765: >>18   beshort         5               Motorola 88000,
                   4766: >>18   beshort         6               Intel 80486 - invalid byte order,
                   4767: >>18   beshort         7               Intel 80860,
                   4768: # only for MIPS - see comment in little-endian section above.
                   4769: >>18   beshort         8               MIPS,
                   4770: >>>36  belong          &0x20           N32
                   4771: >>18   beshort         10              MIPS,
                   4772: >>>36  belong          &0x20           N32
                   4773: >>18   beshort         8
                   4774: # only for 32-bit
                   4775: >>>4   byte            1
                   4776: >>>>36  belong&0xf0000000      0x00000000      MIPS-I
                   4777: >>>>36  belong&0xf0000000      0x10000000      MIPS-II
                   4778: >>>>36  belong&0xf0000000      0x20000000      MIPS-III
                   4779: >>>>36  belong&0xf0000000      0x30000000      MIPS-IV
                   4780: >>>>36  belong&0xf0000000      0x40000000      MIPS-V
                   4781: >>>>36  belong&0xf0000000      0x50000000      MIPS32
                   4782: >>>>36  belong&0xf0000000      0x60000000      MIPS64
                   4783: >>>>36  belong&0xf0000000      0x70000000      MIPS32 rel2
                   4784: >>>>36  belong&0xf0000000      0x80000000      MIPS64 rel2
                   4785: # only for 64-bit
                   4786: >>>4   byte            2
                   4787: >>>>48 belong&0xf0000000       0x00000000      MIPS-I
                   4788: >>>>48 belong&0xf0000000       0x10000000      MIPS-II
                   4789: >>>>48 belong&0xf0000000       0x20000000      MIPS-III
                   4790: >>>>48 belong&0xf0000000       0x30000000      MIPS-IV
                   4791: >>>>48 belong&0xf0000000       0x40000000      MIPS-V
                   4792: >>>>48 belong&0xf0000000       0x50000000      MIPS32
                   4793: >>>>48 belong&0xf0000000       0x60000000      MIPS64
                   4794: >>>>48 belong&0xf0000000       0x70000000      MIPS32 rel2
                   4795: >>>>48 belong&0xf0000000       0x80000000      MIPS64 rel2
                   4796: >>18   beshort         9               Amdahl,
                   4797: >>18   beshort         10              MIPS (deprecated),
                   4798: >>18   beshort         11              RS6000,
                   4799: >>18   beshort         15              PA-RISC
                   4800: >>>50  beshort         0x0214          2.0
                   4801: >>>48  beshort         &0x0008         (LP64)
                   4802: >>18   beshort         16              nCUBE,
                   4803: >>18   beshort         17              Fujitsu VPP500,
                   4804: >>18   beshort         18              SPARC32PLUS,
                   4805: >>>36  belong&0xffff00 0x000100        V8+ Required,
                   4806: >>>36  belong&0xffff00 0x000200        Sun UltraSPARC1 Extensions Required,
                   4807: >>>36  belong&0xffff00 0x000400        HaL R1 Extensions Required,
                   4808: >>>36  belong&0xffff00 0x000800        Sun UltraSPARC3 Extensions Required,
                   4809: >>18   beshort         20              PowerPC or cisco 4500,
                   4810: >>18   beshort         21              64-bit PowerPC or cisco 7500,
                   4811: >>18   beshort         22              IBM S/390,
                   4812: >>18   beshort         23              Cell SPU,
                   4813: >>18   beshort         24              cisco SVIP,
                   4814: >>18   beshort         25              cisco 7200,
                   4815: >>18   beshort         36              NEC V800 or cisco 12000,
                   4816: >>18   beshort         37              Fujitsu FR20,
                   4817: >>18   beshort         38              TRW RH-32,
                   4818: >>18   beshort         39              Motorola RCE,
                   4819: >>18   beshort         40              ARM,
                   4820: >>18   beshort         41              Alpha,
                   4821: >>18   beshort         42              Renesas SH,
                   4822: >>18   beshort         43              SPARC V9,
                   4823: >>>48  belong&0xffff00 0x000200        Sun UltraSPARC1 Extensions Required,
                   4824: >>>48  belong&0xffff00 0x000400        HaL R1 Extensions Required,
                   4825: >>>48  belong&0xffff00 0x000800        Sun UltraSPARC3 Extensions Required,
                   4826: >>>48  belong&0x3      0               total store ordering,
                   4827: >>>48  belong&0x3      1               partial store ordering,
                   4828: >>>48  belong&0x3      2               relaxed memory ordering,
                   4829: >>18   beshort         44              Siemens Tricore Embedded Processor,
                   4830: >>18   beshort         45              Argonaut RISC Core, Argonaut Technologies Inc.,
                   4831: >>18   beshort         46              Renesas H8/300,
                   4832: >>18   beshort         47              Renesas H8/300H,
                   4833: >>18   beshort         48              Renesas H8S,
                   4834: >>18   beshort         49              Renesas H8/500,
                   4835: >>18   beshort         50              IA-64,
                   4836: >>18   beshort         51              Stanford MIPS-X,
                   4837: >>18   beshort         52              Motorola Coldfire,
                   4838: >>18   beshort         53              Motorola M68HC12,
                   4839: >>18   beshort         73              Cray NV1,
                   4840: >>18   beshort         75              Digital VAX,
                   4841: >>18   beshort         88              Renesas M32R,
                   4842: >>18   leshort         92              OpenRISC,
                   4843: >>18   leshort         0x3426          OpenRISC (obsolete),
                   4844: >>18   leshort         0x8472          OpenRISC (obsolete),
                   4845: >>18   beshort         94              Tensilica Xtensa,
                   4846: >>18   beshort         97              NatSemi 32k,
                   4847: >>18   beshort         0x18ad          AVR32 (unofficial),
                   4848: >>18   beshort         0x9026          Alpha (unofficial),
                   4849: >>18   beshort         0xa390          IBM S/390 (obsolete),
                   4850: >>20   belong          0               invalid version
                   4851: >>20   belong          1               version 1
                   4852: >>36   belong          1               MathCoPro/FPU/MAU Required
                   4853: # Up to now only 0, 1 and 2 are defined; I've seen a file with 0x83, it seemed
                   4854: # like proper ELF, but extracting the string had bad results.
                   4855: >4      byte            <0x80
                   4856: >>8    string          >\0             (%s)
                   4857: >8     string          \0
                   4858: >>7    byte            0               (SYSV)
                   4859: >>7    byte            1               (HP-UX)
                   4860: >>7    byte            2               (NetBSD)
                   4861: >>7    byte            3               (GNU/Linux)
                   4862: >>7    byte            4               (GNU/Hurd)
                   4863: >>7    byte            5               (86Open)
                   4864: >>7    byte            6               (Solaris)
                   4865: >>7    byte            7               (Monterey)
                   4866: >>7    byte            8               (IRIX)
                   4867: >>7    byte            9               (FreeBSD)
                   4868: >>7    byte            10              (Tru64)
                   4869: >>7    byte            11              (Novell Modesto)
                   4870: >>7    byte            12              (OpenBSD)
                   4871: >8      string          \2
                   4872: >>7     byte            13              (OpenVMS)
                   4873: >>7    byte            97              (ARM)
                   4874: >>7    byte            255             (embedded)
                   4875: 
                   4876: #------------------------------------------------------------------------------
                   4877: # encore:  file(1) magic for Encore machines
                   4878: #
                   4879: # XXX - needs to have the byte order specified (NS32K was little-endian,
                   4880: # dunno whether they run the 88K in little-endian mode or not).
                   4881: #
                   4882: 0      short           0x154           Encore
                   4883: >20    short           0x107           executable
                   4884: >20    short           0x108           pure executable
                   4885: >20    short           0x10b           demand-paged executable
                   4886: >20    short           0x10f           unsupported executable
                   4887: >12    long            >0              not stripped
                   4888: >22    short           >0              - version %ld
                   4889: >22    short           0               -
                   4890: #>4    date            x               stamp %s
                   4891: 0      short           0x155           Encore unsupported executable
                   4892: >12    long            >0              not stripped
                   4893: >22    short           >0              - version %ld
                   4894: >22    short           0               -
                   4895: #>4    date            x               stamp %s
                   4896: 
                   4897: #------------------------------------------------------------------------------
                   4898: # Epoc 32 : file(1) magic for Epoc Documents [psion/osaris
                   4899: # Stefan Praszalowicz (hpicollo@worldnet.fr)
                   4900: #0     lelong          0x10000037      Epoc32
                   4901: >4     lelong          0x1000006D
                   4902: >>8    lelong          0x1000007F      Word
                   4903: >>8    lelong          0x10000088      Sheet
                   4904: >>8    lelong          0x1000007D      Sketch
                   4905: >>8    lelong          0x10000085      TextEd
                   4906: 
                   4907: #------------------------------------------------------------------------------
                   4908: # erlang:  file(1) magic for Erlang JAM and BEAM files
                   4909: # URL:  http://www.erlang.org/faq/x779.html#AEN812
                   4910: 
                   4911: # OTP R3-R4
                   4912: 0      string  \0177BEAM!      Old Erlang BEAM file
                   4913: >6     short   >0              - version %d
                   4914: 
                   4915: # OTP R5 and onwards
                   4916: 0      string  FOR1
                   4917: >8     string  BEAM            Erlang BEAM file
                   4918: 
                   4919: # 4.2 version may have a copyright notice!
                   4920: 4      string  Tue Jan 22 14:32:44 MET 1991    Erlang JAM file - version 4.2
                   4921: 79     string  Tue Jan 22 14:32:44 MET 1991    Erlang JAM file - version 4.2
                   4922: 
                   4923: 4      string  1.0 Fri Feb 3 09:55:56 MET 1995 Erlang JAM file - version 4.3
                   4924: 
                   4925: #------------------------------------------------------------------------------
                   4926: # ESRI Shapefile format (.shp .shx .dbf=DBaseIII)
                   4927: # Based on info from
                   4928: # <URL:http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf>
                   4929: 0      belong  9994    ESRI Shapefile
                   4930: >4     belong  =0
                   4931: >8     belong  =0
                   4932: >12    belong  =0
                   4933: >16    belong  =0
                   4934: >20    belong  =0
                   4935: >28    lelong  x       version %d
                   4936: >24    belong  x       length %d
                   4937: >32    lelong  =0      type Null Shape
                   4938: >32    lelong  =1      type Point
                   4939: >32    lelong  =3      type PolyLine
                   4940: >32    lelong  =5      type Polygon
                   4941: >32    lelong  =8      type MultiPoint
                   4942: >32    lelong  =11     type PointZ
                   4943: >32    lelong  =13     type PolyLineZ
                   4944: >32    lelong  =15     type PolygonZ
                   4945: >32    lelong  =18     type MultiPointZ
                   4946: >32    lelong  =21     type PointM
                   4947: >32    lelong  =23     type PolyLineM
                   4948: >32    lelong  =25     type PolygonM
                   4949: >32    lelong  =28     type MultiPointM
                   4950: >32    lelong  =31     type MultiPatch
                   4951: 
                   4952: #------------------------------------------------------------------------------
                   4953: # fcs: file(1) magic for FCS (Flow Cytometry Standard) data files
                   4954: # From Roger Leigh <roger@whinlatter.uklinux.net>
                   4955: 0       string          FCS1.0          Flow Cytometry Standard (FCS) data, version 1.0
                   4956: 0       string          FCS2.0          Flow Cytometry Standard (FCS) data, version 2.0
                   4957: 0       string          FCS3.0          Flow Cytometry Standard (FCS) data, version 3.0
                   4958: 
                   4959: 
                   4960: #------------------------------------------------------------------------------
                   4961: # filesystems:  file(1) magic for different filesystems
                   4962: #
                   4963: 0      string  \366\366\366\366        PC formatted floppy with no filesystem
                   4964: # Sun disk labels
                   4965: # From /usr/include/sun/dklabel.h:
                   4966: 0774   beshort         0xdabe          
                   4967: # modified by Joerg Jenderek, because original test
                   4968: # succeeds for Cabinet archive dao360.dl_ with negative blocks
                   4969: >0770  long            >0              Sun disk label
                   4970: >>0    string          x               '%s
                   4971: >>>31  string          >\0             \b%s
                   4972: >>>>63 string          >\0             \b%s
                   4973: >>>>>95        string          >\0             \b%s
                   4974: >>0    string          x               \b'
                   4975: >>0734 short           >0              %d rpm,
                   4976: >>0736 short           >0              %d phys cys,
                   4977: >>0740 short           >0              %d alts/cyl,
                   4978: >>0746 short           >0              %d interleave,
                   4979: >>0750 short           >0              %d data cyls,
                   4980: >>0752 short           >0              %d alt cyls,
                   4981: >>0754 short           >0              %d heads/partition,
                   4982: >>0756 short           >0              %d sectors/track,
                   4983: >>0764 long            >0              start cyl %ld,
                   4984: >>0770 long            x               %ld blocks
                   4985: # Is there a boot block written 1 sector in?
                   4986: >512    belong&077777777       0600407 \b, boot block present
                   4987: # Joerg Jenderek: Smart Boot Manager backup file is 41 byte header + first sectors of disc
                   4988: # (http://btmgr.sourceforge.net/docs/user-guide-3.html)
                   4989: 0              string  SBMBAKUP_       Smart Boot Manager backup file
                   4990: >9             string  x               \b, version %-5.5s
                   4991: >>14           string  =_              
                   4992: >>>15          string  x               %-.1s
                   4993: >>>>16         string  =_              \b.
                   4994: >>>>>17                string  x               \b%-.1s
                   4995: >>>>>>18       string  =_              \b.
                   4996: >>>>>>>19      string  x               \b%-.1s
                   4997: >>>22          ubyte   0               
                   4998: >>>>21         ubyte   x               \b, from drive 0x%x
                   4999: >>>22          ubyte   >0              
                   5000: >>>>21         string  x               \b, from drive %s
                   5001: 
                   5002: # Joerg Jenderek
                   5003: # DOS Emulator image is 128 byte, null right padded header + harddisc image
                   5004: 0      string  DOSEMU\0                        
                   5005: >0x27E leshort 0xAA55                  
                   5006: #offset is 128
                   5007: >>19   ubyte   128                     
                   5008: >>>(19.b-1)    ubyte   0x0     DOS Emulator image
                   5009: >>>>7  ulelong >0              \b, %u heads
                   5010: >>>>11 ulelong >0              \b, %d sectors/track
                   5011: >>>>15 ulelong >0              \b, %d cylinders
                   5012: 
                   5013: # updated by Joerg Jenderek at Sep 2007
                   5014: # only for sector sizes with 512 or more Bytes
                   5015: 0x1FE  leshort 0xAA55                  x86 boot sector
                   5016: # to do also for sectors < than 512 Bytes and some other files, GRR
                   5017: #30    search/481      \x55\xAA        x86 boot sector
                   5018: # not for BeOS floppy 1440k, MBRs
                   5019: #(11.s-2) uleshort     0xAA55          x86 boot sector
                   5020: >2     string  OSBS                    \b, OS/BS MBR
                   5021: # J\xf6rg Jenderek <joerg dot jenderek at web dot de>
                   5022: >0x8C  string  Invalid\ partition\ table       \b, MS-DOS MBR
                   5023: # dr-dos with some upper-, lowercase variants
                   5024: >0x9D  string  Invalid\ partition\ table$      
                   5025: >>181  string  No\ Operating\ System$          
                   5026: >>>201 string  Operating\ System\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03
                   5027: >0x9D  string  Invalid\ partition\ table$      
                   5028: >>181  string  No\ operating\ system$          
                   5029: >>>201 string  Operating\ system\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03
                   5030: >342   string  Invalid\ partition\ table$      
                   5031: >>366  string  No\ operating\ system$          
                   5032: >>>386 string  Operating\ system\ load\ error$ \b, DR-DOS MBR, version 7.01 to 7.03
                   5033: >295   string  NEWLDR\0                                
                   5034: >>302  string  Bad\ PT\ $                              
                   5035: >>>310 string  No\ OS\ $                               
                   5036: >>>>317        string  OS\ load\ err$                          
                   5037: >>>>>329       string  Moved\ or\ missing\ IBMBIO.LDR\n\r      
                   5038: >>>>>>358      string  Press\ any\ key\ to\ continue.\n\r$     
                   5039: >>>>>>>387     string  Copyright\ (c)\ 1984,1998       
                   5040: >>>>>>>>411    string  Caldera\ Inc.\0         \b, DR-DOS MBR (IBMBIO.LDR)
                   5041: >0x10F string  Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 4.10.1998, 4.10.2222
                   5042: >>0x1B8        ubelong >0                              \b, Serial 0x%-.4x
                   5043: >0x8B  string  Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 5.00 to 4.00.950
                   5044: >271   string  Invalid\ partition\ table\0             
                   5045: >>295  string  Error\ loading\ operating\ system\0     
                   5046: >>>326 string  Missing\ operating\ system\0            \b, mbr
                   5047: #
                   5048: >139   string  Invalid\ partition\ table\0             
                   5049: >>163  string  Error\ loading\ operating\ system\0     
                   5050: >>>194 string  Missing\ operating\ system\0            \b, Microsoft Windows XP mbr
                   5051: # http://www.heise.de/ct/05/09/006/ page 184
                   5052: #HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\DosDevices\?:=Serial4Bytes+8Bytes
                   5053: >>>>0x1B8      ulelong >0                              \b,Serial 0x%-.4x
                   5054: >300   string  Invalid\ partition\ table\0     
                   5055: >>324  string  Error\ loading\ operating\ system\0
                   5056: >>>355 string  Missing\ operating\ system\0            \b, Microsoft Windows XP MBR
                   5057: #??>>>389      string  Invalid\ system\ disk           
                   5058: >>>>0x1B8      ulelong >0                              \b, Serial 0x%-.4x
                   5059: >300   string  Ung\201ltige\ Partitionstabelle
                   5060: #split string to avoid error: String too long
                   5061: >>328  string  Fehler\ beim\ Laden\    
                   5062: >>>346 string  des\ Betriebssystems    
                   5063: >>>>366        string  Betriebssystem\ nicht\ vorhanden        \b, Microsoft Windows XP MBR (german)
                   5064: >>>>>0x1B8     ulelong >0                              \b, Serial 0x%-.4x
                   5065: >0x145 string  Default:\ F                             \b, FREE-DOS MBR
                   5066: >64    string  no\ active\ partition\ found    
                   5067: >>96   string  read\ error\ while\ reading\ drive      \b, FREE-DOS Beta 0.9 MBR
                   5068: >271   string  Operating\ system\ loading              
                   5069: >>296  string  error\r                                 \b, SYSLINUX MBR (2.10)
                   5070: # http://www.acronis.de/
                   5071: >362   string  MBR\ Error\ \0\r                        
                   5072: >>376  string  ress\ any\ key\ to\                     
                   5073: >>>392 string  boot\ from\ floppy...\0                 \b, Acronis MBR
                   5074: # added by Joerg Jenderek
                   5075: # http://www.visopsys.org/
                   5076: # http://partitionlogic.org.uk/
                   5077: >309   string  No\ bootable\ partition\ found\r        
                   5078: >>339  string  I/O\ Error\ reading\ boot\ sector\r     \b, Visopsys MBR
                   5079: >349   string  No\ bootable\ partition\ found\r        
                   5080: >>379  string  I/O\ Error\ reading\ boot\ sector\r     \b, simple Visopsys MBR
                   5081: # bootloader, bootmanager
                   5082: >0x40  string  SBML                            
                   5083: # label with 11 characters of FAT 12 bit filesystem
                   5084: >>43   string  SMART\ BTMGR                    
                   5085: >>>430 string  SBMK\ Bad!\r                    
                   5086: >>>>3  string  SBM                             \b, Smart Boot Manager
                   5087: >>>>>6 string  >\0                             \b, version %s
                   5088: >382   string  XOSLLOADXCF                     \b, eXtended Operating System Loader
                   5089: >6     string  LILO                            \b, LInux i386 boot LOader
                   5090: >>120  string  LILO                            \b, version 22.3.4 SuSe
                   5091: >>172  string  LILO                            \b, version 22.5.8 Debian
                   5092: # updated by Joerg Jenderek
                   5093: # variables according to grub-0.97/stage1/stage1.S or
                   5094: # http://www.gnu.org/software/grub/manual/grub.html#Embedded-data
                   5095: # usual values are marked with comments to get only informations of strange GRUB loaders
                   5096: >0             ulelong         0x009048EB      
                   5097: >>0x41         ubyte           <2              
                   5098: >>>0x3E                ubyte           >2              \b; GRand Unified Bootloader
                   5099: # 0x3 for 0.5.95,0.93,0.94,0.96 0x4 for 1.90 
                   5100: >>>>0x3E       ubyte           x               \b, stage1 version 0x%x
                   5101: #If it is 0xFF, use a drive passed by BIOS
                   5102: >>>>0x40       ubyte           <0xFF           \b, boot drive 0x%x
                   5103: # in most case 0,1,0x2e for GRUB 0.5.95
                   5104: >>>>0x41       ubyte           >0              \b, LBA flag 0x%x
                   5105: >>>>0x42       uleshort        <0x8000         \b, stage2 address 0x%x
                   5106: #>>>>0x42      uleshort        =0x8000         \b, stage2 address 0x%x (usual)
                   5107: >>>>0x42       uleshort        >0x8000         \b, stage2 address 0x%x
                   5108: #>>>>0x44      ulelong         =1              \b, 1st sector stage2 0x%x (default)
                   5109: >>>>0x44       ulelong         >1              \b, 1st sector stage2 0x%x
                   5110: >>>>0x48       uleshort        <0x800          \b, stage2 segment 0x%x
                   5111: #>>>>0x48      uleshort        =0x800          \b, stage2 segment 0x%x (usual)
                   5112: >>>>0x48       uleshort        >0x800          \b, stage2 segment 0x%x
                   5113: >>>>402                string  Geom\0Hard\ Disk\0Read\0\ Error\0
                   5114: >>>>>394       string  stage1                  \b, GRUB version 0.5.95
                   5115: >>>>382                string  Geom\0Hard\ Disk\0Read\0\ Error\0
                   5116: >>>>>376       string  GRUB\ \0                \b, GRUB version 0.93 or 1.94
                   5117: >>>>383                string  Geom\0Hard\ Disk\0Read\0\ Error\0
                   5118: >>>>>377       string  GRUB\ \0                \b, GRUB version 0.94
                   5119: >>>>385                string  Geom\0Hard\ Disk\0Read\0\ Error\0
                   5120: >>>>>379       string  GRUB\ \0                \b, GRUB version 0.95 or 0.96
                   5121: >>>>391                string  Geom\0Hard\ Disk\0Read\0\ Error\0
                   5122: >>>>>385       string  GRUB\ \0                \b, GRUB version 0.97
                   5123: #unkown version
                   5124: >>>343         string  Geom\0Read\0\ Error\0   
                   5125: >>>>321                string  Loading\ stage1.5       \b, GRUB version x.y
                   5126: >>>380         string  Geom\0Hard\ Disk\0Read\0\ Error\0
                   5127: >>>>374                string  GRUB\ \0                \b, GRUB version n.m
                   5128: # http://syslinux.zytor.com/
                   5129: >478   string  Boot\ failed\r                  
                   5130: >>495  string  LDLINUX\ SYS                    \b, SYSLINUX bootloader (1.62)
                   5131: >480   string  Boot\ failed\r                  
                   5132: >>495  string  LDLINUX\ SYS                    \b, SYSLINUX bootloader (2.06 or 2.11)
                   5133: >484   string  Boot\ error\r                   \b, SYSLINUX bootloader (3.11)
                   5134: >395   string  chksum\0\ ERROR!\0              \b, Gujin bootloader
                   5135: # http://www.bcdwb.de/bcdw/index_e.htm
                   5136: >3     string  BCDL                            
                   5137: >>498  string  BCDL\ \ \ \ BIN                 \b, Bootable CD Loader (1.50Z)
                   5138: # mbr partion table entries
                   5139: # OEM-ID not Microsoft,SYSLINUX,or MTOOLs
                   5140: >3                     string          !MS
                   5141: >>3                    string          !SYSLINUX
                   5142: >>>3                   string          !MTOOL
                   5143: # not FAT (32 bit)
                   5144: >>>>82                 string          !FAT32  
                   5145: #not IO.SYS
                   5146: >>>>>472               string          !IO\ \ \ \ \ \ SYS
                   5147: >>>>>>480              string          !IO\ \ \ \ \ \ SYS
                   5148: #not Linux kernel
                   5149: >>>>>>>514             string          !HdrS
                   5150: #not BeOS
                   5151: >>>>>>>>422            string          !Be\ Boot\ Loader
                   5152: # active flag 0 or 0x80 and type > 0
                   5153: >>>>>>>>>446           ubyte           <0x81   
                   5154: >>>>>>>>>>446          ubyte&0x7F      0       
                   5155: >>>>>>>>>>>450         ubyte           >0      \b; partition 1: ID=0x%x
                   5156: >>>>>>>>>>>>446                ubyte           0x80    \b, active
                   5157: >>>>>>>>>>>>447                ubyte           x       \b, starthead %u
                   5158: #>>>>>>>>>>>>448               ubyte           x       \b, start C_S: 0x%x
                   5159: #>>>>>>>>>>>>448               ubeshort&1023   x       \b, startcylinder? %d
                   5160: >>>>>>>>>>>>454                ulelong         x       \b, startsector %u
                   5161: >>>>>>>>>>>>458                ulelong         x       \b, %u sectors
                   5162: #
                   5163: >>>>>>>>>462           ubyte           <0x81   
                   5164: >>>>>>>>>>462          ubyte&0x7F      0               
                   5165: >>>>>>>>>>>466         ubyte           >0      \b; partition 2: ID=0x%x
                   5166: >>>>>>>>>>>>462                ubyte           0x80    \b, active
                   5167: >>>>>>>>>>>>463                ubyte           x       \b, starthead %u
                   5168: #>>>>>>>>>>>>464               ubyte           x       \b, start C_S: 0x%x
                   5169: #>>>>>>>>>>>>464               ubeshort&1023   x       \b, startcylinder? %d
                   5170: >>>>>>>>>>>>470                ulelong         x       \b, startsector %u
                   5171: >>>>>>>>>>>>474                ulelong         x       \b, %u sectors
                   5172: #
                   5173: >>>>>>>>>478           ubyte           <0x81           
                   5174: >>>>>>>>>>478          ubyte&0x7F      0               
                   5175: >>>>>>>>>>>482         ubyte           >0      \b; partition 3: ID=0x%x
                   5176: >>>>>>>>>>>>478                ubyte           0x80    \b, active
                   5177: >>>>>>>>>>>>479                ubyte           x       \b, starthead %u
                   5178: #>>>>>>>>>>>>480               ubyte           x       \b, start C_S: 0x%x
                   5179: #>>>>>>>>>>>>481               ubyte           x       \b, start C2S: 0x%x
                   5180: #>>>>>>>>>>>>480               ubeshort&1023   x       \b, startcylinder? %d
                   5181: >>>>>>>>>>>>486                ulelong         x       \b, startsector %u
                   5182: >>>>>>>>>>>>490                ulelong         x       \b, %u sectors
                   5183: #
                   5184: >>>>>>>>>494           ubyte           <0x81   
                   5185: >>>>>>>>>>494          ubyte&0x7F      0               
                   5186: >>>>>>>>>>>498         ubyte           >0      \b; partition 4: ID=0x%x
                   5187: >>>>>>>>>>>>494                ubyte           0x80    \b, active
                   5188: >>>>>>>>>>>>495                ubyte           x       \b, starthead %u
                   5189: #>>>>>>>>>>>>496               ubyte           x       \b, start C_S: 0x%x
                   5190: #>>>>>>>>>>>>496               ubeshort&1023   x       \b, startcylinder? %d
                   5191: >>>>>>>>>>>>502                ulelong         x       \b, startsector %u
                   5192: >>>>>>>>>>>>506                ulelong         x       \b, %u sectors
                   5193: # mbr partion table entries end
                   5194: # http://www.acronis.de/
                   5195: #FAT label=ACRONIS\ SZ
                   5196: #OEM-ID=BOOTWIZ0
                   5197: >442   string  Non-system\ disk,\      
                   5198: >>459  string  press\ any\ key...\x7\0         \b, Acronis Startup Recovery Loader
                   5199: # DOS names like F11.SYS are 8 right space padded bytes+3 bytes
                   5200: >>>477         ubyte&0xDF      >0              
                   5201: >>>>477                string          x               \b %-.3s
                   5202: >>>>>480       ubyte&0xDF      >0              
                   5203: >>>>>>480      string          x               \b%-.5s
                   5204: >>>>485                ubyte&0xDF      >0              
                   5205: >>>>>485       string          x               \b.%-.3s
                   5206: #
                   5207: >185   string  FDBOOT\ Version\                        
                   5208: >>204  string  \rNo\ Systemdisk.\                      
                   5209: >>>220 string  Booting\ from\ harddisk.\n\r            
                   5210: >>>245 string  Cannot\ load\ from\ harddisk.\n\r       
                   5211: >>>>273 string Insert\ Systemdisk\                     
                   5212: >>>>>291 string and\ press\ any\ key.\n\r              \b, FDBOOT harddisk Bootloader
                   5213: >>>>>>200 string       >\0                             \b, version %-3s
                   5214: >242   string  Bootsector\ from\ C.H.\ Hochst\204      
                   5215: >>278  string  No\ Systemdisk.\                        
                   5216: >>>293 string  Booting\ from\ harddisk.\n\r            
                   5217: >>>441 string  Cannot\ load\ from\ harddisk.\n\r       
                   5218: >>>>469 string Insert\ Systemdisk\                     
                   5219: >>>>>487 string and\ press\ any\ key.\n\r              \b, WinImage harddisk Bootloader
                   5220: >>>>>>209 string       >\0                             \b, version %-4.4s
                   5221: >(1.b+2)       ubyte           0xe                     
                   5222: >>(1.b+3)      ubyte           0x1f                    
                   5223: >>>(1.b+4)     ubyte           0xbe                    
                   5224: >>>>(1.b+5)    ubyte           0x77                    
                   5225: >>>>(1.b+6)    ubyte           0x7c                    
                   5226: >>>>>(1.b+7)   ubyte           0xac                    
                   5227: >>>>>>(1.b+8)  ubyte           0x22                    
                   5228: >>>>>>>(1.b+9) ubyte           0xc0                    
                   5229: >>>>>>>>(1.b+10)       ubyte   0x74                    
                   5230: >>>>>>>>>(1.b+11)      ubyte   0xb                     
                   5231: >>>>>>>>>>(1.b+12)     ubyte   0x56                    
                   5232: >>>>>>>>>>(1.b+13)     ubyte   0xb4                    \b, mkdosfs boot message display
                   5233: >103   string  This\ is\ not\ a\ bootable\ disk.\      
                   5234: >>132  string  Please\ insert\ a\ bootable\            
                   5235: >>>157 string  floppy\ and\r\n                         
                   5236: >>>>169        string  press\ any\ key\ to\ try\ again...\r    \b, FREE-DOS message display
                   5237: #
                   5238: >66    string  Solaris\ Boot\ Sector                   
                   5239: >>99   string  Incomplete\ MDBoot\ load.               
                   5240: >>>89  string  Version                                 \b, Sun Solaris Bootloader
                   5241: >>>>97 byte    x                                       version %c
                   5242: #
                   5243: >408   string  OS/2\ !!\ SYS01475\r\0                  
                   5244: >>429  string  OS/2\ !!\ SYS02025\r\0                  
                   5245: >>>450 string  OS/2\ !!\ SYS02027\r\0                  
                   5246: >>>469 string  OS2BOOT\ \ \ \                          \b, IBM OS/2 Warp bootloader
                   5247: #
                   5248: >409   string  OS/2\ !!\ SYS01475\r\0                  
                   5249: >>430  string  OS/2\ !!\ SYS02025\r\0                  
                   5250: >>>451 string  OS/2\ !!\ SYS02027\r\0                  
                   5251: >>>470 string  OS2BOOT\ \ \ \                          \b, IBM OS/2 Warp Bootloader
                   5252: >112           string  This\ disk\ is\ not\ bootable\r                 
                   5253: >>142          string  If\ you\ wish\ to\ make\ it\ bootable           
                   5254: >>>176         string  run\ the\ DOS\ program\ SYS\                    
                   5255: >>>200         string  after\ the\r                                    
                   5256: >>>>216                string  system\ has\ been\ loaded\r\n                   
                   5257: >>>>>242       string  Please\ insert\ a\ DOS\ diskette\               
                   5258: >>>>>271       string  into\r\n\ the\ drive\ and\                      
                   5259: >>>>>>292      string  strike\ any\ key...\0           \b, IBM OS/2 Warp message display
                   5260: # XP
                   5261: >430   string  NTLDR\ is\ missing\xFF\r\n              
                   5262: >>449  string  Disk\ error\xFF\r\n                     
                   5263: >>>462 string  Press\ any\ key\ to\ restart\r          \b, Microsoft Windows XP Bootloader
                   5264: # DOS names like NTLDR,CMLDR,$LDR$ are 8 right space padded bytes+3 bytes
                   5265: >>>>417                ubyte&0xDF      >0                      
                   5266: >>>>>417       string          x                       %-.5s
                   5267: >>>>>>422      ubyte&0xDF      >0                      
                   5268: >>>>>>>422     string          x                       \b%-.3s
                   5269: >>>>>425       ubyte&0xDF      >0                      
                   5270: >>>>>>425      string          >\                      \b.%-.3s
                   5271: #
                   5272: >>>>371                ubyte           >0x20                   
                   5273: >>>>>368       ubyte&0xDF      >0                      
                   5274: >>>>>>368      string          x                       %-.5s
                   5275: >>>>>>>373     ubyte&0xDF      >0                      
                   5276: >>>>>>>>373    string          x                       \b%-.3s
                   5277: >>>>>>376      ubyte&0xDF      >0                      
                   5278: >>>>>>>376     string          x                       \b.%-.3s
                   5279: #
                   5280: >430   string  NTLDR\ nicht\ gefunden\xFF\r\n          
                   5281: >>453  string  Datentr\204gerfehler\xFF\r\n            
                   5282: >>>473 string  Neustart\ mit\ beliebiger\ Taste\r      \b, Microsoft Windows XP Bootloader (german)
                   5283: >>>>417                ubyte&0xDF      >0                      
                   5284: >>>>>417       string          x                       %-.5s
                   5285: >>>>>>422      ubyte&0xDF      >0                      
                   5286: >>>>>>>422     string          x                       \b%-.3s
                   5287: >>>>>425       ubyte&0xDF      >0                      
                   5288: >>>>>>425      string          >\                      \b.%-.3s
                   5289: # offset variant
                   5290: >>>>379        string  \0                                      
                   5291: >>>>>368       ubyte&0xDF      >0                      
                   5292: >>>>>>368      string          x                       %-.5s
                   5293: >>>>>>>373     ubyte&0xDF      >0                      
                   5294: >>>>>>>>373    string          x                       \b%-.3s
                   5295: #
                   5296: >430   string  NTLDR\ fehlt\xFF\r\n                    
                   5297: >>444  string  Datentr\204gerfehler\xFF\r\n            
                   5298: >>>464 string  Neustart\ mit\ beliebiger\ Taste\r      \b, Microsoft Windows XP Bootloader (2.german)
                   5299: >>>>417                ubyte&0xDF      >0                      
                   5300: >>>>>417       string          x                       %-.5s
                   5301: >>>>>>422      ubyte&0xDF      >0                      
                   5302: >>>>>>>422     string          x                       \b%-.3s
                   5303: >>>>>425       ubyte&0xDF      >0                      
                   5304: >>>>>>425      string          >\                      \b.%-.3s
                   5305: # variant
                   5306: >>>>371                ubyte           >0x20                   
                   5307: >>>>>368       ubyte&0xDF      >0                      
                   5308: >>>>>>368      string          x                       %-.5s
                   5309: >>>>>>>373     ubyte&0xDF      >0                      
                   5310: >>>>>>>>373    string          x                       \b%-.3s
                   5311: >>>>>>376      ubyte&0xDF      >0                      
                   5312: >>>>>>>376     string          x                       \b.%-.3s
                   5313: #
                   5314: >430   string  NTLDR\ fehlt\xFF\r\n                    
                   5315: >>444  string  Medienfehler\xFF\r\n                    
                   5316: >>>459 string  Neustart:\ Taste\ dr\201cken\r          \b, Microsoft Windows XP Bootloader (3.german)
                   5317: >>>>371                ubyte           >0x20                   
                   5318: >>>>>368       ubyte&0xDF      >0                      
                   5319: >>>>>>368      string          x                       %-.5s
                   5320: >>>>>>>373     ubyte&0xDF      >0                      
                   5321: >>>>>>>>373    string          x                       \b%-.3s
                   5322: >>>>>>376      ubyte&0xDF      >0                      
                   5323: >>>>>>>376     string          x                       \b.%-.3s
                   5324: # variant
                   5325: >>>>417                ubyte&0xDF      >0                      
                   5326: >>>>>417       string          x                       %-.5s
                   5327: >>>>>>422      ubyte&0xDF      >0                      
                   5328: >>>>>>>422     string          x                       \b%-.3s
                   5329: >>>>>425       ubyte&0xDF      >0                      
                   5330: >>>>>>425      string          >\                      \b.%-.3s
                   5331: #
                   5332: >430   string  Datentr\204ger\ entfernen\xFF\r\n       
                   5333: >>454  string  Medienfehler\xFF\r\n                    
                   5334: >>>469 string  Neustart:\ Taste\ dr\201cken\r          \b, Microsoft Windows XP Bootloader (4.german)
                   5335: >>>>368                ubyte&0xDF      >0                      
                   5336: >>>>>368       string          x                       %-.5s
                   5337: >>>>>>373      ubyte&0xDF      >0                      
                   5338: >>>>>>>373     string          x                       \b%-.3s
                   5339: >>>>>376       ubyte&0xDF      >0                      
                   5340: >>>>>>376      string          x                       \b.%-.3s
                   5341: #>3    string  NTFS\ \ \ \                             
                   5342: >389   string  Fehler\ beim\ Lesen\ 
                   5343: >>407  string  des\ Datentr\204gers
                   5344: >>>426 string  NTLDR\ fehlt                            
                   5345: >>>>440        string  NTLDR\ ist\ komprimiert
                   5346: >>>>>464 string        Neustart\ mit\ Strg+Alt+Entf\r          \b, Microsoft Windows XP Bootloader NTFS (german)
                   5347: #>3    string  NTFS\ \ \ \                             
                   5348: >313   string  A\ disk\ read\ error\ occurred.\r
                   5349: >>345  string  A\ kernel\ file\ is\ missing\   
                   5350: >>>370 string  from\ the\ disk.\r              
                   5351: >>>>484        string  NTLDR\ is\ compressed           
                   5352: >>>>>429 string        Insert\ a\ system\ diskette\    
                   5353: >>>>>>454 string and\ restart\r\nthe\ system.\r                \b, Microsoft Windows XP Bootloader NTFS
                   5354: # DOS loader variants different languages,offsets
                   5355: >472   ubyte&0xDF      >0
                   5356: >>389  string  Invalid\ system\ disk\xFF\r\n           
                   5357: >>>411 string  Disk\ I/O\ error                        
                   5358: >>>>428        string  Replace\ the\ disk,\ and\               
                   5359: >>>>>455 string        press\ any\ key                         \b, Microsoft Windows 98 Bootloader
                   5360: #IO.SYS
                   5361: >>>>>>472      ubyte&0xDF      >0                      
                   5362: >>>>>>>472     string          x                       \b %-.2s
                   5363: >>>>>>>>474    ubyte&0xDF      >0                      
                   5364: >>>>>>>>>474   string          x                       \b%-.5s
                   5365: >>>>>>>>>>479  ubyte&0xDF      >0                      
                   5366: >>>>>>>>>>>479 string          x                       \b%-.1s
                   5367: >>>>>>>480     ubyte&0xDF      >0                      
                   5368: >>>>>>>>480    string          x                       \b.%-.3s
                   5369: #MSDOS.SYS
                   5370: >>>>>>>483     ubyte&0xDF      >0                      \b+
                   5371: >>>>>>>>483    string          x                       \b%-.5s
                   5372: >>>>>>>>>488   ubyte&0xDF      >0                      
                   5373: >>>>>>>>>>488  string          x                       \b%-.3s
                   5374: >>>>>>>>491    ubyte&0xDF      >0                      
                   5375: >>>>>>>>>491   string          x                       \b.%-.3s
                   5376: #
                   5377: >>390  string  Invalid\ system\ disk\xFF\r\n           
                   5378: >>>412 string  Disk\ I/O\ error\xFF\r\n                
                   5379: >>>>429        string  Replace\ the\ disk,\ and\               
                   5380: >>>>>451 string        then\ press\ any\ key\r                 \b, Microsoft Windows 98 Bootloader
                   5381: >>388  string  Ungueltiges\ System\ \xFF\r\n           
                   5382: >>>410 string  E/A-Fehler\ \ \ \ \xFF\r\n              
                   5383: >>>>427        string  Datentraeger\ wechseln\ und\            
                   5384: >>>>>453 string        Taste\ druecken\r                       \b, Microsoft Windows 95/98/ME Bootloader (german)
                   5385: #WINBOOT.SYS only not spaces (0xDF)
                   5386: >>>>>>497      ubyte&0xDF      >0                      
                   5387: >>>>>>>497     string          x                       %-.5s
                   5388: >>>>>>>>502    ubyte&0xDF      >0                      
                   5389: >>>>>>>>>502   string          x                       \b%-.1s
                   5390: >>>>>>>>>>503  ubyte&0xDF      >0                      
                   5391: >>>>>>>>>>>503 string          x                       \b%-.1s
                   5392: >>>>>>>>>>>>504        ubyte&0xDF      >0                      
                   5393: >>>>>>>>>>>>>504 string                x                       \b%-.1s
                   5394: >>>>>>505      ubyte&0xDF      >0                      
                   5395: >>>>>>>505     string          x                       \b.%-.3s
                   5396: #IO.SYS
                   5397: >>>>>>472      ubyte&0xDF      >0                      or
                   5398: >>>>>>>472     string          x                       \b %-.2s
                   5399: >>>>>>>>474    ubyte&0xDF      >0                      
                   5400: >>>>>>>>>474   string          x                       \b%-.5s
                   5401: >>>>>>>>>>479  ubyte&0xDF      >0                      
                   5402: >>>>>>>>>>>479 string          x                       \b%-.1s
                   5403: >>>>>>>480     ubyte&0xDF      >0                      
                   5404: >>>>>>>>480    string          x                       \b.%-.3s
                   5405: #MSDOS.SYS
                   5406: >>>>>>>483     ubyte&0xDF      >0                      \b+
                   5407: >>>>>>>>483    string          x                       \b%-.5s
                   5408: >>>>>>>>>488   ubyte&0xDF      >0                      
                   5409: >>>>>>>>>>488  string          x                       \b%-.3s
                   5410: >>>>>>>>491    ubyte&0xDF      >0                      
                   5411: >>>>>>>>>491   string          x                       \b.%-.3s
                   5412: #
                   5413: >>390  string  Ungueltiges\ System\ \xFF\r\n           
                   5414: >>>412 string  E/A-Fehler\ \ \ \ \xFF\r\n              
                   5415: >>>>429        string  Datentraeger\ wechseln\ und\            
                   5416: >>>>>455 string        Taste\ druecken\r                       \b, Microsoft Windows 95/98/ME Bootloader (German)
                   5417: #WINBOOT.SYS only not spaces (0xDF)
                   5418: >>>>>>497      ubyte&0xDF      >0                      
                   5419: >>>>>>>497     string          x                       %-.7s
                   5420: >>>>>>>>504    ubyte&0xDF      >0                      
                   5421: >>>>>>>>>504   string          x                       \b%-.1s
                   5422: >>>>>>505      ubyte&0xDF      >0                      
                   5423: >>>>>>>505     string          x                       \b.%-.3s
                   5424: #IO.SYS
                   5425: >>>>>>472      ubyte&0xDF      >0                      or
                   5426: >>>>>>>472     string          x                       \b %-.2s
                   5427: >>>>>>>>474    ubyte&0xDF      >0                      
                   5428: >>>>>>>>>474   string          x                       \b%-.6s
                   5429: >>>>>>>480     ubyte&0xDF      >0                      
                   5430: >>>>>>>>480    string          x                       \b.%-.3s
                   5431: #MSDOS.SYS
                   5432: >>>>>>>483     ubyte&0xDF      >0                      \b+
                   5433: >>>>>>>>483    string          x                       \b%-.5s
                   5434: >>>>>>>>>488   ubyte&0xDF      >0                      
                   5435: >>>>>>>>>>488  string          x                       \b%-.3s
                   5436: >>>>>>>>491    ubyte&0xDF      >0                      
                   5437: >>>>>>>>>491   string          x                       \b.%-.3s
                   5438: #
                   5439: >>389  string  Ungueltiges\ System\ \xFF\r\n           
                   5440: >>>411 string  E/A-Fehler\ \ \ \ \xFF\r\n              
                   5441: >>>>428        string  Datentraeger\ wechseln\ und\            
                   5442: >>>>>454 string        Taste\ druecken\r                       \b, Microsoft Windows 95/98/ME Bootloader (GERMAN)
                   5443: # DOS names like IO.SYS,WINBOOT.SYS,MSDOS.SYS,WINBOOT.INI are 8 right space padded bytes+3 bytes
                   5444: >>>>>>472      string          x                       %-.2s
                   5445: >>>>>>>474     ubyte&0xDF      >0                      
                   5446: >>>>>>>>474    string          x                       \b%-.5s
                   5447: >>>>>>>>479    ubyte&0xDF      >0                      
                   5448: >>>>>>>>>479   string          x                       \b%-.1s
                   5449: >>>>>>480      ubyte&0xDF      >0                      
                   5450: >>>>>>>480     string          x                       \b.%-.3s
                   5451: >>>>>>483      ubyte&0xDF      >0                      \b+
                   5452: >>>>>>>483     string          x                       \b%-.5s
                   5453: >>>>>>>488     ubyte&0xDF      >0                      
                   5454: >>>>>>>>488    string          x                       \b%-.2s
                   5455: >>>>>>>>490    ubyte&0xDF      >0                      
                   5456: >>>>>>>>>490   string          x                       \b%-.1s
                   5457: >>>>>>>491     ubyte&0xDF      >0                      
                   5458: >>>>>>>>491    string          x                       \b.%-.3s
                   5459: >479   ubyte&0xDF      >0
                   5460: >>416  string  Kein\ System\ oder\                     
                   5461: >>>433 string  Laufwerksfehler                         
                   5462: >>>>450        string  Wechseln\ und\ Taste\ dr\201cken        \b, Microsoft DOS Bootloader (german)
                   5463: #IO.SYS
                   5464: >>>>>479       string          x                       \b %-.2s
                   5465: >>>>>>481      ubyte&0xDF      >0                      
                   5466: >>>>>>>481     string          x                       \b%-.6s
                   5467: >>>>>487       ubyte&0xDF      >0                      
                   5468: >>>>>>487      string          x                       \b.%-.3s
                   5469: #MSDOS.SYS
                   5470: >>>>>>490      ubyte&0xDF      >0                      \b+
                   5471: >>>>>>>490     string          x                       \b%-.5s
                   5472: >>>>>>>>495    ubyte&0xDF      >0                      
                   5473: >>>>>>>>>495   string          x                       \b%-.3s
                   5474: >>>>>>>498     ubyte&0xDF      >0                      
                   5475: >>>>>>>>498    string          x                       \b.%-.3s
                   5476: #
                   5477: >376   search/41       Non-System\ disk\ or\           
                   5478: >>395  search/41       disk\ error\r                   
                   5479: >>>407 search/41       Replace\ and\                   
                   5480: >>>>419        search/41       press\                          \b,
                   5481: >>>>419        search/41       strike\                         \b, old
                   5482: >>>>426        search/41       any\ key\ when\ ready\r         MS or PC-DOS bootloader
                   5483: #449                   Disk\ Boot\ failure\r           MS 3.21
                   5484: #466                   Boot\ Failure\r                 MS 3.30
                   5485: >>>>>468 search/18     \0                              
                   5486: #IO.SYS,IBMBIO.COM
                   5487: >>>>>>&0       string          x                       \b %-.2s
                   5488: >>>>>>>&-20    ubyte&0xDF      >0                      
                   5489: >>>>>>>>&-1    string          x                       \b%-.4s
                   5490: >>>>>>>>>&-16  ubyte&0xDF      >0                      
                   5491: >>>>>>>>>>&-1  string          x                       \b%-.2s
                   5492: >>>>>>&8       ubyte&0xDF      >0                      \b.
                   5493: >>>>>>>&-1     string          x                       \b%-.3s
                   5494: #MSDOS.SYS,IBMDOS.COM
                   5495: >>>>>>&11      ubyte&0xDF      >0                      \b+
                   5496: >>>>>>>&-1     string          x                       \b%-.5s
                   5497: >>>>>>>>&-6    ubyte&0xDF      >0                      
                   5498: >>>>>>>>>&-1   string          x                       \b%-.1s
                   5499: >>>>>>>>>>&-5  ubyte&0xDF      >0                      
                   5500: >>>>>>>>>>>&-1 string          x                       \b%-.2s
                   5501: >>>>>>>&7      ubyte&0xDF      >0                      \b.
                   5502: >>>>>>>>&-1    string          x                       \b%-.3s
                   5503: >441   string  Cannot\ load\ from\ harddisk.\n\r
                   5504: >>469  string  Insert\ Systemdisk\                     
                   5505: >>>487 string  and\ press\ any\ key.\n\r               \b, MS (2.11) DOS bootloader
                   5506: #>43   string  \224R-LOADER\ \ SYS                     =label                                  
                   5507: >54    string  SYS
                   5508: >>324  string  VASKK
                   5509: >>>495 string  NEWLDR\0                                \b, DR-DOS Bootloader (LOADER.SYS)
                   5510: #
                   5511: >98    string  Press\ a\ key\ to\ retry\0\r            
                   5512: >>120  string  Cannot\ find\ file\ \0\r                
                   5513: >>>139 string  Disk\ read\ error\0\r                   
                   5514: >>>>156        string  Loading\ ...\0                          \b, DR-DOS (3.41) Bootloader
                   5515: #DRBIOS.SYS
                   5516: >>>>>44                ubyte&0xDF      >0                      
                   5517: >>>>>>44       string          x                       \b %-.6s
                   5518: >>>>>>>50      ubyte&0xDF      >0                      
                   5519: >>>>>>>>50     string          x                       \b%-.2s
                   5520: >>>>>>52       ubyte&0xDF      >0                      
                   5521: >>>>>>>52      string          x                       \b.%-.3s
                   5522: #
                   5523: >70    string  IBMBIO\ \ COM                           
                   5524: >>472  string  Cannot\ load\ DOS!\                     
                   5525: >>>489 string  Any\ key\ to\ retry                     \b, DR-DOS Bootloader
                   5526: >>471  string  Cannot\ load\ DOS\                      
                   5527: >>487  string  press\ key\ to\ retry                   \b, Open-DOS Bootloader
                   5528: >444   string  KERNEL\ \ SYS                                   
                   5529: >>314  string  BOOT\ error!                            \b, FREE-DOS Bootloader
                   5530: >499   string  KERNEL\ \ SYS                           
                   5531: >>305  string  BOOT\ err!\0                            \b, Free-DOS Bootloader
                   5532: >449   string  KERNEL\ \ SYS                           
                   5533: >>319  string  BOOT\ error!                            \b, FREE-DOS 0.5 Bootloader
                   5534: >125   string  Loading\ FreeDOS...\r                   
                   5535: >>311  string  BOOT\ error!\r                          \b, FREE-DOS bootloader
                   5536: >>>441         ubyte&0xDF      >0                      
                   5537: >>>>441                string          x                       \b %-.6s
                   5538: >>>>>447       ubyte&0xDF      >0                      
                   5539: >>>>>>447      string          x                       \b%-.1s
                   5540: >>>>>>>448     ubyte&0xDF      >0                      
                   5541: >>>>>>>>448    string          x                       \b%-.1s
                   5542: >>>>449                ubyte&0xDF      >0                      
                   5543: >>>>>449       string          x                       \b.%-.3s
                   5544: >124   string  FreeDOS\0                               
                   5545: >>331  string  \ err\0                                 \b, FREE-DOS BETa 0.9 Bootloader
                   5546: # DOS names like KERNEL.SYS,KERNEL16.SYS,KERNEL32.SYS,METAKERN.SYS are 8 right space padded bytes+3 bytes
                   5547: >>>497         ubyte&0xDF      >0                      
                   5548: >>>>497                string          x                       \b %-.6s
                   5549: >>>>>503       ubyte&0xDF      >0                      
                   5550: >>>>>>503      string          x                       \b%-.1s
                   5551: >>>>>>>504     ubyte&0xDF      >0                      
                   5552: >>>>>>>>504    string          x                       \b%-.1s
                   5553: >>>>505                ubyte&0xDF      >0                      
                   5554: >>>>>505       string          x                       \b.%-.3s
                   5555: >>333  string  \ err\0                                 \b, FREE-DOS BEta 0.9 Bootloader
                   5556: >>>497         ubyte&0xDF      >0                      
                   5557: >>>>497                string          x                       \b %-.6s
                   5558: >>>>>503       ubyte&0xDF      >0                      
                   5559: >>>>>>503      string          x                       \b%-.1s
                   5560: >>>>>>>504     ubyte&0xDF      >0                      
                   5561: >>>>>>>>504    string          x                       \b%-.1s
                   5562: >>>>505                ubyte&0xDF      >0                      
                   5563: >>>>>505       string          x                       \b.%-.3s
                   5564: >>334  string  \ err\0                                 \b, FREE-DOS Beta 0.9 Bootloader
                   5565: >>>497         ubyte&0xDF      >0                      
                   5566: >>>>497                string          x                       \b %-.6s
                   5567: >>>>>503       ubyte&0xDF      >0                      
                   5568: >>>>>>503      string          x                       \b%-.1s
                   5569: >>>>>>>504     ubyte&0xDF      >0                      
                   5570: >>>>>>>>504    string          x                       \b%-.1s
                   5571: >>>>505                ubyte&0xDF      >0                      
                   5572: >>>>>505       string          x                       \b.%-.3s
                   5573: >336   string  Error!\                                 
                   5574: >>343  string  Hit\ a\ key\ to\ reboot.                \b, FREE-DOS Beta 0.9sr1 Bootloader
                   5575: >>>497         ubyte&0xDF      >0                      
                   5576: >>>>497                string          x                       \b %-.6s
                   5577: >>>>>503       ubyte&0xDF      >0                      
                   5578: >>>>>>503      string          x                       \b%-.1s
                   5579: >>>>>>>504     ubyte&0xDF      >0                      
                   5580: >>>>>>>>504    string          x                       \b%-.1s
                   5581: >>>>505                ubyte&0xDF      >0                      
                   5582: >>>>>505       string          x                       \b.%-.3s
                   5583: # added by Joerg Jenderek
                   5584: # http://www.visopsys.org/
                   5585: # http://partitionlogic.org.uk/
                   5586: # OEM-ID=Visopsys
                   5587: >478           ulelong 0                                       
                   5588: >>(1.b+326)    string  I/O\ Error\ reading\                    
                   5589: >>>(1.b+344)   string  Visopsys\ loader\r                      
                   5590: >>>>(1.b+361)  string  Press\ any\ key\ to\ continue.\r        \b, Visopsys loader
                   5591: # http://alexfru.chat.ru/epm.html#bootprog
                   5592: >494   ubyte   >0x4D                                   
                   5593: >>495  string  >E                                      
                   5594: >>>495 string  <S                                      
                   5595: #OEM-ID is not reliable
                   5596: >>>>3  string  BootProg                                
                   5597: # It just looks for a program file name at the root directory
                   5598: # and loads corresponding file with following execution.
                   5599: # DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes
                   5600: >>>>499                        ubyte&0xDF      >0              \b, COM/EXE Bootloader
                   5601: >>>>>499               string          x               \b %-.1s
                   5602: >>>>>>500              ubyte&0xDF      >0              
                   5603: >>>>>>>500             string          x               \b%-.1s
                   5604: >>>>>>>>501            ubyte&0xDF      >0              
                   5605: >>>>>>>>>501           string          x               \b%-.1s
                   5606: >>>>>>>>>>502          ubyte&0xDF      >0              
                   5607: >>>>>>>>>>>502         string          x               \b%-.1s
                   5608: >>>>>>>>>>>>503                ubyte&0xDF      >0              
                   5609: >>>>>>>>>>>>>503       string          x               \b%-.1s
                   5610: >>>>>>>>>>>>>>504      ubyte&0xDF      >0              
                   5611: >>>>>>>>>>>>>>>504     string          x               \b%-.1s
                   5612: >>>>>>>>>>>>>>>>505    ubyte&0xDF      >0              
                   5613: >>>>>>>>>>>>>>>>>505   string          x               \b%-.1s
                   5614: >>>>>>>>>>>>>>>>>>506  ubyte&0xDF      >0              
                   5615: >>>>>>>>>>>>>>>>>>>506 string          x               \b%-.1s
                   5616: #name extension
                   5617: >>>>>507               ubyte&0xDF      >0              \b.
                   5618: >>>>>>507              string          x               \b%-.1s
                   5619: >>>>>>>508             ubyte&0xDF      >0              
                   5620: >>>>>>>>508            string          x               \b%-.1s
                   5621: >>>>>>>>>509           ubyte&0xDF      >0              
                   5622: >>>>>>>>>>509          string          x               \b%-.1s
                   5623: #If the boot sector fails to read any other sector,
                   5624: #it prints a very short message ("RE") to the screen and hangs the computer.
                   5625: #If the boot sector fails to find needed program in the root directory,
                   5626: #it also hangs with another message ("NF").
                   5627: >>>>>492               string          RENF            \b, FAT (12 bit)
                   5628: >>>>>495               string          RENF            \b, FAT (16 bit)
                   5629: # http://alexfru.chat.ru/epm.html#bootprog
                   5630: >494   ubyte   >0x4D                                   
                   5631: >>495  string  >E                                      
                   5632: >>>495 string  <S                                      
                   5633: #OEM-ID is not reliable
                   5634: >>>>3  string  BootProg                                
                   5635: # It just looks for a program file name at the root directory
                   5636: # and loads corresponding file with following execution.
                   5637: # DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes
                   5638: >>>>499                        ubyte&0xDF      >0              \b, COM/EXE Bootloader
                   5639: >>>>>499               string          x               \b %-.1s
                   5640: >>>>>>500              ubyte&0xDF      >0              
                   5641: >>>>>>>500             string          x               \b%-.1s
                   5642: >>>>>>>>501            ubyte&0xDF      >0              
                   5643: >>>>>>>>>501           string          x               \b%-.1s
                   5644: >>>>>>>>>>502          ubyte&0xDF      >0              
                   5645: >>>>>>>>>>>502         string          x               \b%-.1s
                   5646: >>>>>>>>>>>>503                ubyte&0xDF      >0              
                   5647: >>>>>>>>>>>>>503       string          x               \b%-.1s
                   5648: >>>>>>>>>>>>>>504      ubyte&0xDF      >0              
                   5649: >>>>>>>>>>>>>>>504     string          x               \b%-.1s
                   5650: >>>>>>>>>>>>>>>>505    ubyte&0xDF      >0              
                   5651: >>>>>>>>>>>>>>>>>505   string          x               \b%-.1s
                   5652: >>>>>>>>>>>>>>>>>>506  ubyte&0xDF      >0              
                   5653: >>>>>>>>>>>>>>>>>>>506 string          x               \b%-.1s
                   5654: #name extension
                   5655: >>>>>507               ubyte&0xDF      >0              \b.
                   5656: >>>>>>507              string          x               \b%-.1s
                   5657: >>>>>>>508             ubyte&0xDF      >0              
                   5658: >>>>>>>>508            string          x               \b%-.1s
                   5659: >>>>>>>>>509           ubyte&0xDF      >0              
                   5660: >>>>>>>>>>509          string          x               \b%-.1s
                   5661: #If the boot sector fails to read any other sector,
                   5662: #it prints a very short message ("RE") to the screen and hangs the computer.
                   5663: #If the boot sector fails to find needed program in the root directory,
                   5664: #it also hangs with another message ("NF").
                   5665: >>>>>492               string          RENF            \b, FAT (12 bit)
                   5666: >>>>>495               string          RENF            \b, FAT (16 bit)
                   5667: # added by Joerg Jenderek
                   5668: # http://syslinux.zytor.com/iso.php
                   5669: 0      ulelong 0x7c40eafa              isolinux Loader
                   5670: # http://syslinux.zytor.com/pxe.php
                   5671: 0      ulelong 0x007c05ea              pxelinux Loader
                   5672: 0      ulelong 0x60669c66              pxelinux Loader
                   5673: # loader end
                   5674: # updated by Joerg Jenderek at Sep 2007
                   5675: >3     ubyte   0                       
                   5676: #no active flag
                   5677: >>446  ubyte   0                       
                   5678: # partition 1 not empty
                   5679: >>>450 ubyte   >0                      
                   5680: # partitions 3,4 empty
                   5681: >>>>482                ubyte   0                       
                   5682: >>>>>498       ubyte   0                       
                   5683: # partition 2 ID=0,5,15
                   5684: >>>>>>466      ubyte   <0x10                   
                   5685: >>>>>>>466     ubyte   0x05                    \b, extended partition table
                   5686: >>>>>>>466     ubyte   0x0F                    \b, extended partition table (LBA)
                   5687: >>>>>>>466     ubyte   0x0                     \b, extended partition table (last)     
                   5688: # JuMP short     bootcodeoffset NOP assembler instructions will usually be EB xx 90
                   5689: # http://mirror.href.com/thestarman/asm/2bytejumps.htmm#FWD
                   5690: # older drives may use Near JuMP instruction E9 xx xx
                   5691: >0             lelong&0x009000EB       0x009000EB 
                   5692: >0             lelong&0x000000E9       0x000000E9 
                   5693: # maximal short forward jump is 07fx
                   5694: >1             ubyte                   <0xff   \b, code offset 0x%x
                   5695: # mtools-3.9.8/msdos.h
                   5696: # usual values are marked with comments to get only informations of strange FAT systems
                   5697: # valid sectorsize must be a power of 2 from 32 to 32768
                   5698: >>11           uleshort&0x000f x               
                   5699: >>>11          uleshort        <32769          
                   5700: >>>>11         uleshort        >31             
                   5701: >>>>>3         string          >\0             \b, OEM-ID "%8.8s"
                   5702: #http://mirror.href.com/thestarman/asm/debug/debug2.htm#IHC
                   5703: >>>>>>8                string          IHC             \b cached by Windows 9M
                   5704: >>>>>11                uleshort        >512            \b, Bytes/sector %u
                   5705: #>>>>>11       uleshort        =512            \b, Bytes/sector %u=512 (usual)
                   5706: >>>>>11                uleshort        <512            \b, Bytes/sector %u
                   5707: >>>>>13                ubyte           >1              \b, sectors/cluster %u
                   5708: #>>>>>13       ubyte           =1              \b, sectors/cluster %u (usual on Floppies)
                   5709: >>>>>14                uleshort        >32             \b, reserved sectors %u
                   5710: #>>>>>14       uleshort        =32             \b, reserved sectors %u (usual Fat32)
                   5711: #>>>>>14       uleshort        >1              \b, reserved sectors %u
                   5712: #>>>>>14       uleshort        =1              \b, reserved sectors %u (usual FAT12,FAT16)
                   5713: >>>>>14                uleshort        <1              \b, reserved sectors %u
                   5714: >>>>>16                ubyte           >2              \b, FATs %u
                   5715: #>>>>>16       ubyte           =2              \b, FATs %u (usual)
                   5716: >>>>>16                ubyte           =1              \b, FAT  %u
                   5717: >>>>>16                ubyte           >0
                   5718: >>>>>17                uleshort        >0              \b, root entries %u
                   5719: #>>>>>17       uleshort        =0              \b, root entries %u=0 (usual Fat32)
                   5720: >>>>>19                uleshort        >0              \b, sectors %u (volumes <=32 MB) 
                   5721: #>>>>>19       uleshort        =0              \b, sectors %u=0 (usual Fat32)
                   5722: >>>>>21                ubyte           >0xF0           \b, Media descriptor 0x%x
                   5723: #>>>>>21       ubyte           =0xF0           \b, Media descriptor 0x%x (usual floppy)
                   5724: >>>>>21                ubyte           <0xF0           \b, Media descriptor 0x%x
                   5725: >>>>>22                uleshort        >0              \b, sectors/FAT %u
                   5726: #>>>>>22       uleshort        =0              \b, sectors/FAT %u=0 (usual Fat32)
                   5727: >>>>>26                ubyte           >2              \b, heads %u
                   5728: #>>>>>26       ubyte           =2              \b, heads %u (usual floppy)
                   5729: >>>>>26                ubyte           =1              \b, heads %u
                   5730: #skip for Digital Research DOS (version 3.41) 1440 kB Bootdisk
                   5731: >>>>>38                ubyte           !0x70           
                   5732: >>>>>>28       ulelong         >0              \b, hidden sectors %u
                   5733: #>>>>>>28      ulelong         =0              \b, hidden sectors %u (usual floppy)
                   5734: >>>>>>32       ulelong         >0              \b, sectors %u (volumes > 32 MB) 
                   5735: #>>>>>>32      ulelong         =0              \b, sectors %u (volumes > 32 MB)
                   5736: # FAT<32 specific 
                   5737: >>>>>82                string          !FAT32
                   5738: #>>>>>>36      ubyte           0x80            \b, physical drive 0x%x=0x80 (usual harddisk)
                   5739: #>>>>>>36      ubyte           0               \b, physical drive 0x%x=0 (usual floppy)
                   5740: >>>>>>36       ubyte           !0x80           
                   5741: >>>>>>>36      ubyte           !0              \b, physical drive 0x%x
                   5742: >>>>>>37       ubyte           >0              \b, reserved 0x%x
                   5743: #>>>>>>37      ubyte           =0              \b, reserved 0x%x
                   5744: >>>>>>38       ubyte           >0x29           \b, dos < 4.0 BootSector (0x%x)
                   5745: >>>>>>38       ubyte           <0x29           \b, dos < 4.0 BootSector (0x%x)
                   5746: >>>>>>38       ubyte           =0x29
                   5747: >>>>>>>39      ulelong         x               \b, serial number 0x%x
                   5748: >>>>>>>43      string          <NO\ NAME       \b, label: "%11.11s"
                   5749: >>>>>>>43      string          >NO\ NAME       \b, label: "%11.11s"
                   5750: >>>>>>>43      string          =NO\ NAME       \b, unlabeled
                   5751: >>>>>>54       string          FAT             \b, FAT
                   5752: >>>>>>>54      string          FAT12           \b (12 bit)
                   5753: >>>>>>>54      string          FAT16           \b (16 bit)
                   5754: # FAT32 specific
                   5755: >>>>>82                string          FAT32           \b, FAT (32 bit)
                   5756: >>>>>>36       ulelong         x               \b, sectors/FAT %u
                   5757: >>>>>>40       uleshort        >0              \b, extension flags %u
                   5758: #>>>>>>40      uleshort        =0              \b, extension flags %u
                   5759: >>>>>>42       uleshort        >0              \b, fsVersion %u
                   5760: #>>>>>>42      uleshort        =0              \b, fsVersion %u (usual)
                   5761: >>>>>>44       ulelong         >2              \b, rootdir cluster %u
                   5762: #>>>>>>44      ulelong         =2              \b, rootdir cluster %u
                   5763: #>>>>>>44      ulelong         =1              \b, rootdir cluster %u
                   5764: >>>>>>48       uleshort        >1              \b, infoSector %u
                   5765: #>>>>>>48      uleshort        =1              \b, infoSector %u (usual)
                   5766: >>>>>>48       uleshort        <1              \b, infoSector %u
                   5767: >>>>>>50       uleshort        >6              \b, Backup boot sector %u
                   5768: #>>>>>>50      uleshort        =6              \b, Backup boot sector %u (usual) 
                   5769: >>>>>>50       uleshort        <6              \b, Backup boot sector %u
                   5770: >>>>>>54       ulelong         >0              \b, reserved1 0x%x
                   5771: >>>>>>58       ulelong         >0              \b, reserved2 0x%x
                   5772: >>>>>>62       ulelong         >0              \b, reserved3 0x%x
                   5773: # same structure as FAT1X 
                   5774: >>>>>>64       ubyte           >0x80           \b, physical drive 0x%x
                   5775: #>>>>>>64      ubyte           =0x80           \b, physical drive 0x%x=80 (usual harddisk)
                   5776: >>>>>>64       ubyte&0x7F      >0              \b, physical drive 0x%x
                   5777: #>>>>>>64      ubyte           =0              \b, physical drive 0x%x=0 (usual floppy)
                   5778: >>>>>>65       ubyte           >0              \b, reserved 0x%x
                   5779: >>>>>>66       ubyte           >0x29           \b, dos < 4.0 BootSector (0x%x)
                   5780: >>>>>>66       ubyte           <0x29           \b, dos < 4.0 BootSector (0x%x)
                   5781: >>>>>>66       ubyte           =0x29
                   5782: >>>>>>>67      ulelong         x               \b, serial number 0x%x
                   5783: >>>>>>>71      string          <NO\ NAME       \b, label: "%11.11s"
                   5784: >>>>>>71       string          >NO\ NAME       \b, label: "%11.11s"
                   5785: >>>>>>71       string          =NO\ NAME       \b, unlabeled
                   5786: ### FATs end
                   5787: >0x200 lelong  0x82564557              \b, BSD disklabel
                   5788: # FATX 
                   5789: 0              string          FATX            FATX filesystem data
                   5790: 
                   5791: 
                   5792: # Minix filesystems - Juan Cespedes <cespedes@debian.org>
                   5793: 0x410  leshort         0x137f          Minix filesystem
                   5794: 0x410  beshort         0x137f          Minix filesystem (big endian)
                   5795: >0x402 beshort         !0              \b, %d zones
                   5796: >0x1e  string          minix           \b, bootable
                   5797: 0x410  leshort         0x138f          Minix filesystem, 30 char names
                   5798: 0x410  leshort         0x2468          Minix filesystem, version 2
                   5799: 0x410  leshort         0x2478          Minix filesystem, version 2, 30 char names
                   5800: 
                   5801: # romfs filesystems - Juan Cespedes <cespedes@debian.org>
                   5802: 0      string          -rom1fs-\0      romfs filesystem, version 1
                   5803: >8     belong  x                       %d bytes,
                   5804: >16    string  x                       named %s.
                   5805: 
                   5806: # netboot image - Juan Cespedes <cespedes@debian.org>
                   5807: 0      lelong          0x1b031336L     Netboot image,
                   5808: >4     lelong&0xFFFFFF00       0
                   5809: >>4    lelong&0x100    0x000           mode 2
                   5810: >>4    lelong&0x100    0x100           mode 3
                   5811: >4     lelong&0xFFFFFF00       !0      unknown mode
                   5812: 
                   5813: 0x18b  string  OS/2    OS/2 Boot Manager
                   5814: 
                   5815: # added by Joerg Jenderek
                   5816: # In the second sector (+0x200) are variables according to grub-0.97/stage2/asm.S or
                   5817: # grub-1.94/kern/i386/pc/startup.S
                   5818: # http://www.gnu.org/software/grub/manual/grub.html#Embedded-data
                   5819: # usual values are marked with comments to get only informations of strange GRUB loaders
                   5820: 0x200  uleshort                0x70EA          
                   5821: # found only version 3.{1,2}
                   5822: >0x206         ubeshort        >0x0300         
                   5823: # GRUB version (0.5.)95,0.93,0.94,0.96,0.97 > "00"
                   5824: >>0x212        ubyte           >0x29           
                   5825: >>>0x213       ubyte           >0x29           
                   5826: # not iso9660_stage1_5
                   5827: #>>>0  ulelong&0x00BE5652      0x00BE5652      
                   5828: >>>>0x213      ubyte           >0x29           GRand Unified Bootloader
                   5829: # config_file for stage1_5 is 0xffffffff + default "/boot/grub/stage2"
                   5830: >>>>0x217      ubyte           0xFF            stage1_5
                   5831: >>>>0x217      ubyte           <0xFF           stage2
                   5832: >>>>0x206      ubyte           x               \b version %u
                   5833: >>>>0x207      ubyte           x               \b.%u
                   5834: # module_size for 1.94
                   5835: >>>>0x208      ulelong         <0xffffff       \b, installed partition %u
                   5836: #>>>>0x208     ulelong         =0xffffff       \b, %u (default)
                   5837: >>>>0x208      ulelong         >0xffffff       \b, installed partition %u
                   5838: # GRUB 0.5.95 unofficial
                   5839: >>>>0x20C      ulelong&0x2E300000 0x2E300000   
                   5840: # 0=stage2     1=ffs   2=e2fs  3=fat   4=minix 5=reiserfs
                   5841: >>>>>0x20C     ubyte           x               \b, identifier 0x%x
                   5842: #>>>>>0x20D    ubyte           =0              \b, LBA flag 0x%x (default)
                   5843: >>>>>0x20D     ubyte           >0              \b, LBA flag 0x%x
                   5844: # GRUB version as string
                   5845: >>>>>0x20E     string          >\0             \b, GRUB version %-s
                   5846: # for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
                   5847: >>>>>>0x215    ulong           0xffffffff      
                   5848: >>>>>>>0x219   string          >\0             \b, configuration file %-s
                   5849: >>>>>>0x215    ulong           !0xffffffff     
                   5850: >>>>>>>0x215   string          >\0             \b, configuration file %-s
                   5851: # newer GRUB versions
                   5852: >>>>0x20C      ulelong&0x2E300000 !0x2E300000  
                   5853: ##>>>>>0x20C   ulelong         =0              \b, saved entry %d (usual)
                   5854: >>>>>0x20C     ulelong         >0              \b, saved entry %d
                   5855: # for 1.94 contains kernel image size
                   5856: # for 0.93,0.94,0.96,0.97
                   5857: # 0=stage2     1=ffs   2=e2fs  3=fat   4=minix 5=reiserfs      6=vstafs        7=jfs   8=xfs   9=iso9660       a=ufs2  
                   5858: >>>>>0x210     ubyte           x               \b, identifier 0x%x
                   5859: # The flag for LBA forcing is in most cases 0
                   5860: #>>>>>0x211    ubyte           =0              \b, LBA flag 0x%x (default)
                   5861: >>>>>0x211     ubyte           >0              \b, LBA flag 0x%x
                   5862: # GRUB version as string
                   5863: >>>>>0x212     string          >\0             \b, GRUB version %-s
                   5864: # for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
                   5865: >>>>>0x217     ulong           0xffffffff      
                   5866: >>>>>>0x21b    string          >\0             \b, configuration file %-s
                   5867: >>>>>0x217     ulong           !0xffffffff     
                   5868: >>>>>>0x217    string          >\0             \b, configuration file %-s
                   5869: 
                   5870: 9564   lelong          0x00011954      Unix Fast File system [v1] (little-endian),
                   5871: >8404  string          x               last mounted on %s,
                   5872: #>9504 ledate          x               last checked at %s,
                   5873: >8224  ledate          x               last written at %s,
                   5874: >8401  byte            x               clean flag %d,
                   5875: >8228  lelong          x               number of blocks %d,
                   5876: >8232  lelong          x               number of data blocks %d,
                   5877: >8236  lelong          x               number of cylinder groups %d,
                   5878: >8240  lelong          x               block size %d,
                   5879: >8244  lelong          x               fragment size %d,
                   5880: >8252  lelong          x               minimum percentage of free blocks %d,
                   5881: >8256  lelong          x               rotational delay %dms,
                   5882: >8260  lelong          x               disk rotational speed %drps,
                   5883: >8320  lelong          0               TIME optimization
                   5884: >8320  lelong          1               SPACE optimization
                   5885: 
                   5886: 42332  lelong          0x19540119      Unix Fast File system [v2] (little-endian)
                   5887: >&-1164        string          x               last mounted on %s,
                   5888: >&-696 string          >\0             volume name %s,
                   5889: >&-304 leqldate        x               last written at %s,
                   5890: >&-1167        byte            x               clean flag %d,
                   5891: >&-1168        byte            x               readonly flag %d,
                   5892: >&-296 lequad          x               number of blocks %lld,
                   5893: >&-288 lequad          x               number of data blocks %lld,
                   5894: >&-1332        lelong          x               number of cylinder groups %d,
                   5895: >&-1328        lelong          x               block size %d,
                   5896: >&-1324        lelong          x               fragment size %d,
                   5897: >&-180 lelong          x               average file size %d,
                   5898: >&-176 lelong          x               average number of files in dir %d,
                   5899: >&-272 lequad          x               pending blocks to free %lld,
                   5900: >&-264 lelong          x               pending inodes to free %ld,
                   5901: >&-664 lequad          x               system-wide uuid %0llx,
                   5902: >&-1316        lelong          x               minimum percentage of free blocks %d,
                   5903: >&-1248        lelong          0               TIME optimization
                   5904: >&-1248        lelong          1               SPACE optimization
                   5905: 
                   5906: 66908  lelong          0x19540119      Unix Fast File system [v2] (little-endian)
                   5907: >&-1164        string          x               last mounted on %s,
                   5908: >&-696 string          >\0             volume name %s,
                   5909: >&-304 leqldate        x               last written at %s,
                   5910: >&-1167        byte            x               clean flag %d,
                   5911: >&-1168        byte            x               readonly flag %d,
                   5912: >&-296 lequad          x               number of blocks %lld,
                   5913: >&-288 lequad          x               number of data blocks %lld,
                   5914: >&-1332        lelong          x               number of cylinder groups %d,
                   5915: >&-1328        lelong          x               block size %d,
                   5916: >&-1324        lelong          x               fragment size %d,
                   5917: >&-180 lelong          x               average file size %d,
                   5918: >&-176 lelong          x               average number of files in dir %d,
                   5919: >&-272 lequad          x               pending blocks to free %lld,
                   5920: >&-264 lelong          x               pending inodes to free %ld,
                   5921: >&-664 lequad          x               system-wide uuid %0llx,
                   5922: >&-1316        lelong          x               minimum percentage of free blocks %d,
                   5923: >&-1248        lelong          0               TIME optimization
                   5924: >&-1248        lelong          1               SPACE optimization
                   5925: 
                   5926: 9564   belong          0x00011954      Unix Fast File system [v1] (big-endian),
                   5927: >7168   belong         0x4c41424c      Apple UFS Volume
                   5928: >>7186  string         x               named %s,
                   5929: >>7176  belong         x               volume label version %d,
                   5930: >>7180  bedate         x               created on %s,
                   5931: >8404  string          x               last mounted on %s,
                   5932: #>9504 bedate          x               last checked at %s,
                   5933: >8224  bedate          x               last written at %s,
                   5934: >8401  byte            x               clean flag %d,
                   5935: >8228  belong          x               number of blocks %d,
                   5936: >8232  belong          x               number of data blocks %d,
                   5937: >8236  belong          x               number of cylinder groups %d,
                   5938: >8240  belong          x               block size %d,
                   5939: >8244  belong          x               fragment size %d,
                   5940: >8252  belong          x               minimum percentage of free blocks %d,
                   5941: >8256  belong          x               rotational delay %dms,
                   5942: >8260  belong          x               disk rotational speed %drps,
                   5943: >8320  belong          0               TIME optimization
                   5944: >8320  belong          1               SPACE optimization
                   5945: 
                   5946: 42332  belong          0x19540119      Unix Fast File system [v2] (big-endian)
                   5947: >&-1164        string          x               last mounted on %s,
                   5948: >&-696 string          >\0             volume name %s,
                   5949: >&-304 beqldate        x               last written at %s,
                   5950: >&-1167        byte            x               clean flag %d,
                   5951: >&-1168        byte            x               readonly flag %d,
                   5952: >&-296 bequad          x               number of blocks %lld,
                   5953: >&-288 bequad          x               number of data blocks %lld,
                   5954: >&-1332        belong          x               number of cylinder groups %d,
                   5955: >&-1328        belong          x               block size %d,
                   5956: >&-1324        belong          x               fragment size %d,
                   5957: >&-180 belong          x               average file size %d,
                   5958: >&-176 belong          x               average number of files in dir %d,
                   5959: >&-272 bequad          x               pending blocks to free %lld,
                   5960: >&-264 belong          x               pending inodes to free %ld,
                   5961: >&-664 bequad          x               system-wide uuid %0llx,
                   5962: >&-1316        belong          x               minimum percentage of free blocks %d,
                   5963: >&-1248        belong          0               TIME optimization
                   5964: >&-1248        belong          1               SPACE optimization
                   5965: 
                   5966: 66908  belong          0x19540119      Unix Fast File system [v2] (big-endian)
                   5967: >&-1164        string          x               last mounted on %s,
                   5968: >&-696 string          >\0             volume name %s,
                   5969: >&-304 beqldate        x               last written at %s,
                   5970: >&-1167        byte            x               clean flag %d,
                   5971: >&-1168        byte            x               readonly flag %d,
                   5972: >&-296 bequad          x               number of blocks %lld,
                   5973: >&-288 bequad          x               number of data blocks %lld,
                   5974: >&-1332        belong          x               number of cylinder groups %d,
                   5975: >&-1328        belong          x               block size %d,
                   5976: >&-1324        belong          x               fragment size %d,
                   5977: >&-180 belong          x               average file size %d,
                   5978: >&-176 belong          x               average number of files in dir %d,
                   5979: >&-272 bequad          x               pending blocks to free %lld,
                   5980: >&-264 belong          x               pending inodes to free %ld,
                   5981: >&-664 bequad          x               system-wide uuid %0llx,
                   5982: >&-1316        belong          x               minimum percentage of free blocks %d,
                   5983: >&-1248        belong          0               TIME optimization
                   5984: >&-1248        belong          1               SPACE optimization
                   5985: 
                   5986: # ext2/ext3 filesystems - Andreas Dilger <adilger@dilger.ca>
                   5987: # ext4 filesystem - Eric Sandeen <sandeen@sandeen.net>
                   5988: # volume label and UUID Russell Coker
                   5989: # http://etbe.coker.com.au/2008/07/08/label-vs-uuid-vs-device/
                   5990: 0x438   leshort         0xEF53          Linux
                   5991: >0x44c  lelong          x               rev %d
                   5992: >0x43e  leshort         x               \b.%d
                   5993: # No journal?  ext2
                   5994: >0x45c  lelong          ^0x0000004      ext2 filesystem data
                   5995: >>0x43a leshort         ^0x0000001      (mounted or unclean)
                   5996: # Has a journal?  ext3 or ext4
                   5997: >0x45c  lelong          &0x0000004
                   5998: #  and small INCOMPAT?
                   5999: >>0x460 lelong          <0x0000040
                   6000: #   and small RO_COMPAT?
                   6001: >>>0x464 lelong         <0x0000008      ext3 filesystem data
                   6002: #   else large RO_COMPAT?
                   6003: >>>0x464 lelong         >0x0000007      ext4 filesystem data
                   6004: #  else large INCOMPAT?
                   6005: >>0x460        lelong          >0x000003f      ext4 filesystem data
                   6006: >0x468 belong          x               \b, UUID=%x
                   6007: >0x46c beshort         x               \b-%x
                   6008: >0x46e beshort         x               \b-%x
                   6009: >0x470 beshort         x               \b-%x
                   6010: >0x472 belong          x               \b-%x
                   6011: >0x476 beshort         x               \b%x
                   6012: >0x478 string          >0              \b, volume name "%s"
                   6013: # General flags for any ext* fs
                   6014: >0x460 lelong          &0x0000004      (needs journal recovery)
                   6015: >0x43a leshort         &0x0000002      (errors)
                   6016: # INCOMPAT flags
                   6017: >0x460 lelong          &0x0000001      (compressed)
                   6018: #>0x460        lelong          &0x0000002      (filetype)
                   6019: #>0x460        lelong          &0x0000010      (meta bg)
                   6020: >0x460 lelong          &0x0000040      (extents)
                   6021: >0x460 lelong          &0x0000080      (64bit)
                   6022: #>0x460        lelong          &0x0000100      (mmp)
                   6023: #>0x460        lelong          &0x0000200      (flex bg)
                   6024: # RO_INCOMPAT flags
                   6025: #>0x464        lelong          &0x0000001      (sparse super)
                   6026: >0x464 lelong          &0x0000002      (large files)
                   6027: >0x464 lelong          &0x0000008      (huge files)
                   6028: #>0x464        lelong          &0x0000010      (gdt checksum)
                   6029: #>0x464        lelong          &0x0000020      (many subdirs)
                   6030: #>0x463        lelong          &0x0000040      (extra isize)
                   6031: 
                   6032: # SGI disk labels - Nathan Scott <nathans@debian.org>
                   6033: 0      belong          0x0BE5A941      SGI disk label (volume header)
                   6034: 
                   6035: # SGI XFS filesystem - Nathan Scott <nathans@debian.org>
                   6036: 0      belong          0x58465342      SGI XFS filesystem data
                   6037: >0x4   belong          x               (blksz %d,
                   6038: >0x68  beshort         x               inosz %d,
                   6039: >0x64  beshort         ^0x2004         v1 dirs)
                   6040: >0x64  beshort         &0x2004         v2 dirs)
                   6041: 
                   6042: ############################################################################
                   6043: # Minix-ST kernel floppy
                   6044: 0x800  belong          0x46fc2700      Atari-ST Minix kernel image
                   6045: >19    string          \240\5\371\5\0\011\0\2\0        \b, 720k floppy
                   6046: >19    string          \320\2\370\5\0\011\0\1\0        \b, 360k floppy
                   6047: 
                   6048: ############################################################################
                   6049: # Hmmm, is this a better way of detecting _standard_ floppy images ?
                   6050: 19     string          \320\2\360\3\0\011\0\1\0        DOS floppy 360k
                   6051: >0x1FE leshort         0xAA55          \b, x86 hard disk boot sector
                   6052: 19     string          \240\5\371\3\0\011\0\2\0        DOS floppy 720k
                   6053: >0x1FE leshort         0xAA55          \b, x86 hard disk boot sector
                   6054: 19     string          \100\013\360\011\0\022\0\2\0    DOS floppy 1440k
                   6055: >0x1FE leshort         0xAA55          \b, x86 hard disk boot sector
                   6056: 
                   6057: 19     string          \240\5\371\5\0\011\0\2\0        DOS floppy 720k, IBM
                   6058: >0x1FE leshort         0xAA55          \b, x86 hard disk boot sector
                   6059: 19     string          \100\013\371\5\0\011\0\2\0      DOS floppy 1440k, mkdosfs
                   6060: >0x1FE leshort         0xAA55          \b, x86 hard disk boot sector
                   6061: 
                   6062: 19     string          \320\2\370\5\0\011\0\1\0        Atari-ST floppy 360k
                   6063: 19     string          \240\5\371\5\0\011\0\2\0        Atari-ST floppy 720k
                   6064: 
                   6065: #  Valid media descriptor bytes for MS-DOS:
                   6066: #
                   6067: #     Byte   Capacity   Media Size and Type
                   6068: #     -------------------------------------------------
                   6069: #
                   6070: #     F0     2.88 MB    3.5-inch, 2-sided, 36-sector
                   6071: #     F0     1.44 MB    3.5-inch, 2-sided, 18-sector
                   6072: #     F9     720K       3.5-inch, 2-sided, 9-sector
                   6073: #     F9     1.2 MB     5.25-inch, 2-sided, 15-sector
                   6074: #     FD     360K       5.25-inch, 2-sided, 9-sector
                   6075: #     FF     320K       5.25-inch, 2-sided, 8-sector
                   6076: #     FC     180K       5.25-inch, 1-sided, 9-sector
                   6077: #     FE     160K       5.25-inch, 1-sided, 8-sector
                   6078: #     FE     250K       8-inch, 1-sided, single-density
                   6079: #     FD     500K       8-inch, 2-sided, single-density
                   6080: #     FE     1.2 MB     8-inch, 2-sided, double-density
                   6081: #     F8     -----      Fixed disk 
                   6082: #
                   6083: #     FC     xxxK       Apricot 70x1x9 boot disk.
                   6084: #
                   6085: # Originally a bitmap:
                   6086: #  xxxxxxx0    Not two sided
                   6087: #  xxxxxxx1    Double sided
                   6088: #  xxxxxx0x    Not 8 SPT
                   6089: #  xxxxxx1x    8 SPT
                   6090: #  xxxxx0xx    Not Removable drive
                   6091: #  xxxxx1xx    Removable drive
                   6092: #  11111xxx    Must be one.
                   6093: #
                   6094: # But now it's rather random:
                   6095: #  111111xx    Low density disk
                   6096: #        00    SS, Not 8 SPT
                   6097: #        01    DS, Not 8 SPT
                   6098: #        10    SS, 8 SPT
                   6099: #        11    DS, 8 SPT
                   6100: #
                   6101: #  11111001    Double density 3½ floppy disk, high density 5¼
                   6102: #  11110000    High density 3½ floppy disk
                   6103: #  11111000    Hard disk any format
                   6104: #
                   6105: 
                   6106: # CDROM Filesystems
                   6107: # Modified for UDF by gerardo.cacciari@gmail.com
                   6108: 32769  string    CD001
                   6109: !:mime application/x-iso9660-image
                   6110: >38913 string   !NSR0      ISO 9660 CD-ROM filesystem data
                   6111: >38913 string    NSR0      UDF filesystem data
                   6112: >>38917        string    1         (version 1.0)
                   6113: >>38917        string    2         (version 1.5)
                   6114: >>38917        string    3         (version 2.0)
                   6115: >>38917        byte     >0x33      (unknown version, ID 0x%X)
                   6116: >>38917        byte     <0x31      (unknown version, ID 0x%X)
                   6117: # "application id" which appears to be used as a volume label
                   6118: >32808 string    >\0       '%s'
                   6119: >34816 string    \000CD001\001EL\ TORITO\ SPECIFICATION    (bootable)
                   6120: 37633  string    CD001     ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors)
                   6121: !:mime application/x-iso9660-image
                   6122: 32776  string    CDROM     High Sierra CD-ROM filesystem data
                   6123: 
                   6124: # cramfs filesystem - russell@coker.com.au
                   6125: 0       lelong    0x28cd3d45      Linux Compressed ROM File System data, little endian
                   6126: >4      lelong  x size %lu
                   6127: >8      lelong  &1 version #2
                   6128: >8      lelong  &2 sorted_dirs
                   6129: >8      lelong  &4 hole_support
                   6130: >32     lelong  x CRC 0x%x,
                   6131: >36     lelong  x edition %lu,
                   6132: >40     lelong  x %lu blocks,
                   6133: >44     lelong  x %lu files
                   6134: 
                   6135: 0       belong    0x28cd3d45      Linux Compressed ROM File System data, big endian
                   6136: >4      belong  x size %lu
                   6137: >8      belong  &1 version #2
                   6138: >8      belong  &2 sorted_dirs
                   6139: >8      belong  &4 hole_support
                   6140: >32     belong  x CRC 0x%x,
                   6141: >36     belong  x edition %lu,
                   6142: >40     belong  x %lu blocks,
                   6143: >44     belong  x %lu files
                   6144: 
                   6145: # reiserfs - russell@coker.com.au
                   6146: 0x10034                string  ReIsErFs        ReiserFS V3.5
                   6147: 0x10034                string  ReIsEr2Fs       ReiserFS V3.6
                   6148: 0x10034                string  ReIsEr3Fs       ReiserFS V3.6.19
                   6149: >0x1002c       leshort x               block size %d
                   6150: >0x10032       leshort &2              (mounted or unclean)
                   6151: >0x10000       lelong  x               num blocks %d
                   6152: >0x10040       lelong  1               tea hash
                   6153: >0x10040       lelong  2               yura hash
                   6154: >0x10040       lelong  3               r5 hash
                   6155: 
                   6156: # JFFS - russell@coker.com.au
                   6157: 0      lelong  0x34383931      Linux Journalled Flash File system, little endian
                   6158: 0      belong  0x34383931      Linux Journalled Flash File system, big endian
                   6159: 
                   6160: # EST flat binary format (which isn't, but anyway)
                   6161: # From: Mark Brown <broonie@sirena.org.uk>
                   6162: 0      string  ESTFBINR        EST flat binary
                   6163: 
                   6164: # Aculab VoIP firmware
                   6165: # From: Mark Brown <broonie@sirena.org.uk>
                   6166: 0      string  VoIP\ Startup\ and      Aculab VoIP firmware
                   6167: >35    string  x       format %s
                   6168: 
                   6169: # u-boot/PPCBoot image file
                   6170: # From: Mark Brown <broonie@sirena.org.uk>
                   6171: 0      belong  0x27051956      u-boot/PPCBoot image
                   6172: >4     string  PPCBoot
                   6173: >>12   string  x               version %s
                   6174: 
                   6175: # JFFS2 file system
                   6176: 0      leshort 0x1984          Linux old jffs2 filesystem data little endian
                   6177: 0      leshort 0x1985          Linux jffs2 filesystem data little endian
                   6178: 
                   6179: # Squashfs
                   6180: 0      string  sqsh    Squashfs filesystem, big endian,
                   6181: >28    beshort x       version %d.
                   6182: >30    beshort x       \b%d,
                   6183: >28    beshort <3
                   6184: >>8    belong  x       %d bytes,
                   6185: >28    beshort >2
                   6186: >>63   bequad x        %lld bytes,
                   6187: #>>67  belong  x       %d bytes,
                   6188: >4     belong  x       %d inodes,
                   6189: >28    beshort <2
                   6190: >>32   beshort x       blocksize: %d bytes,
                   6191: >28    beshort >1
                   6192: >>51   belong  x       blocksize: %d bytes,
                   6193: >39    bedate  x       created: %s
                   6194: 0      string  hsqs    Squashfs filesystem, little endian,
                   6195: >28    leshort x       version %d.
                   6196: >30    leshort x       \b%d,
                   6197: >28    leshort <3
                   6198: >>8    lelong  x       %d bytes,
                   6199: >28    leshort >2
                   6200: >>63   lequad x        %lld bytes,
                   6201: #>>63  lelong  x       %d bytes,
                   6202: >4     lelong  x       %d inodes,
                   6203: >28    leshort <2
                   6204: >>32   leshort x       blocksize: %d bytes,
                   6205: >28    leshort >1
                   6206: >>51   lelong  x       blocksize: %d bytes,
                   6207: >39    ledate  x       created: %s
                   6208: 
                   6209: 0      string          td\000          floppy image data (TeleDisk)
                   6210: 
                   6211: # AFS Dump Magic
                   6212: # From: Ty Sarna <tsarna@sarna.org> 
                   6213: 0       string                  \x01\xb3\xa1\x13\x22    AFS Dump
                   6214: >&0     belong                  x                       (v%d)
                   6215: >>&0    byte                    0x76
                   6216: >>>&0   belong                  x                       Vol %d,
                   6217: >>>>&0  byte                    0x6e
                   6218: >>>>>&0 string                  x                       %s
                   6219: >>>>>>&1        byte            0x74
                   6220: >>>>>>>&0       beshort         2
                   6221: >>>>>>>>&4      bedate          x                       on: %s
                   6222: >>>>>>>>&0      bedate          =0                      full dump
                   6223: >>>>>>>>&0      bedate          !0                      incremental since: %s
                   6224: 
                   6225: #----------------------------------------------------------
                   6226: # VMS backup savesets - gerardo.cacciari@gmail.com
                   6227: #
                   6228: 4            string  \x01\x00\x01\x00\x01\x00
                   6229: >(0.s+16)    string  \x01\x01
                   6230: >>&(&0.b+8)  byte    0x42       OpenVMS backup saveset data
                   6231: >>>40        lelong  x          (block size %d,
                   6232: >>>49        string  >\0        original name '%s',
                   6233: >>>2         short   1024       VAX generated)
                   6234: >>>2         short   2048       AXP generated)
                   6235: >>>2         short   4096       I64 generated)
                   6236: 
                   6237: # Summary: Oracle Clustered Filesystem
                   6238: # Created by: Aaron Botsis <redhat@digitalmafia.org>
                   6239: 8      string          OracleCFS       Oracle Clustered Filesystem,
                   6240: >4     long            x               rev %d
                   6241: >0     long            x               \b.%d,
                   6242: >560   string          x               label: %.64s,
                   6243: >136   string          x               mountpoint: %.128s
                   6244: 
                   6245: # Summary: Oracle ASM tagged volume
                   6246: # Created by: Aaron Botsis <redhat@digitalmafia.org>
                   6247: 32     string          ORCLDISK        Oracle ASM Volume,
                   6248: >40    string          x               Disk Name: %0.12s
                   6249: 32     string          ORCLCLRD        Oracle ASM Volume (cleared),
                   6250: >40    string          x               Disk Name: %0.12s
                   6251: 
                   6252: # Oracle Clustered Filesystem - Aaron Botsis <redhat@digitalmafia.org>
                   6253: 8      string          OracleCFS       Oracle Clustered Filesystem,
                   6254: >4     long            x               rev %d
                   6255: >0     long            x               \b.%d,
                   6256: >560   string          x               label: %.64s,
                   6257: >136   string          x               mountpoint: %.128s
                   6258: 
                   6259: # Oracle ASM tagged volume - Aaron Botsis <redhat@digitalmafia.org>
                   6260: 32     string          ORCLDISK        Oracle ASM Volume,
                   6261: >40    string          x               Disk Name: %0.12s
                   6262: 32     string          ORCLCLRD        Oracle ASM Volume (cleared),
                   6263: >40    string          x               Disk Name: %0.12s
                   6264: 
                   6265: # Compaq/HP RILOE floppy image
                   6266: # From: Dirk Jagdmann <doj@cubic.org>
                   6267: 0      string  CPQRFBLO        Compaq/HP RILOE floppy image
                   6268: 
                   6269: #------------------------------------------------------------------------------
                   6270: # Files-11 On-Disk Structure (OpenVMS file system) - gerardo.cacciari@gmail.com
                   6271: # These bits come from LBN 1 (home block) of ODS-2 and ODS-5 volumes, which is
                   6272: # mapped to VBN 2 of [000000]INDEXF.SYS;1
                   6273: #
                   6274: 1008    string          DECFILE11B      Files-11 On-Disk Structure
                   6275: >525    byte            x               Level %d
                   6276: >525    byte            x               (ODS-%d OpenVMS file system),
                   6277: >984    string          x               volume label is '%-12.12s'
                   6278: 
                   6279: # From: Thomas Klausner <wiz@NetBSD.org>
                   6280: # http://filext.com/file-extension/DAA
                   6281: # describes the daa file format. The magic would be:
                   6282: 0      string          DAA\x0\x0\x0\x0\x0      PowerISO Direct-Access-Archive
                   6283: 
                   6284: # From Albert Cahalan <acahalan@gmail.com>
                   6285: # really le32 operation,destination,payloadsize (but quite predictable)
                   6286: # 01 00 00 00 00 00 00 c0 00 02 00 00
                   6287: 0      string          \1\0\0\0\0\0\0\300\0\2\0\0      Marvell Libertas firmware
                   6288: 
                   6289: # From Eric Sandeen
                   6290: # GFS2
                   6291: 0x10000         belong          0x01161970      GFS2 Filesystem
                   6292: >0x10024        belong          x               (blocksize %d,
                   6293: >0x10060        string          >\0             lockproto %s)
                   6294: 
                   6295: # dvdisaster's .ecc
                   6296: # From: "Nelson A. de Oliveira" <naoliv@gmail.com>
                   6297: 0      string  *dvdisaster*    dvdisaster error correction file
                   6298: 
                   6299: # Type:        CROM filesystem
                   6300: # From:        Werner Fink <werner@suse.de>
                   6301: 0      string  CROMFS  CROMFS
                   6302: >6     string  >\0     \b version %2.2s,
                   6303: >8     ulequad >0      \b block data at %lld,
                   6304: >16    ulequad >0      \b fblock table at %lld,
                   6305: >24    ulequad >0      \b inode table at %lld,
                   6306: >32    ulequad >0      \b root at %lld,
                   6307: >40    ulelong >0      \b fblock size = %ld,
                   6308: >44    ulelong >0      \b block size = %ld,
                   6309: >48    ulequad >0      \b bytes = %lld
                   6310: 
                   6311: #------------------------------------------------------------------------------
                   6312: # flash:       file(1) magic for Macromedia Flash file format
                   6313: #
                   6314: # See
                   6315: #
                   6316: #      http://www.macromedia.com/software/flash/open/
                   6317: #
                   6318: 0      string          FWS             Macromedia Flash data,
                   6319: >3     byte            x               version %d
                   6320: !:mime application/x-shockwave-flash
                   6321: 0      string          CWS             Macromedia Flash data (compressed),
                   6322: !:mime application/x-shockwave-flash
                   6323: >3     byte            x               version %d
                   6324: # From: Cal Peake <cp@absolutedigital.net>
                   6325: 0      string          FLV             Macromedia Flash Video
                   6326: !:mime video/x-flv
                   6327: 
                   6328: #
                   6329: # From Dave Wilson
                   6330: 0      string AGD4\xbe\xb8\xbb\xcb\x00 Macromedia Freehand 9 Document
                   6331: #------------------------------------------------------------------------------
                   6332: # fonts:  file(1) magic for font data
                   6333: #
                   6334: 0      search/1        FONT            ASCII vfont text
                   6335: 0      short           0436            Berkeley vfont data
                   6336: 0      short           017001          byte-swapped Berkeley vfont data
                   6337: 
                   6338: # PostScript fonts (must precede "printer" entries), quinlan@yggdrasil.com
                   6339: 0      search/1        %!PS-AdobeFont-1.       PostScript Type 1 font text
                   6340: >20    search/1        >\0                     (%s)
                   6341: 6      string          %!PS-AdobeFont-1.       PostScript Type 1 font program data
                   6342: 
                   6343: # X11 font files in SNF (Server Natural Format) format
                   6344: 0      belong          00000004                X11 SNF font data, MSB first
                   6345: 0      lelong          00000004                X11 SNF font data, LSB first
                   6346: 
                   6347: # X11 Bitmap Distribution Format, from Daniel Quinlan (quinlan@yggdrasil.com)
                   6348: 0      search/1        STARTFONT\              X11 BDF font text
                   6349: 
                   6350: # X11 fonts, from Daniel Quinlan (quinlan@yggdrasil.com)
                   6351: # PCF must come before SGI additions ("MIPSEL MIPS-II COFF" collides)
                   6352: 0      string          \001fcp                 X11 Portable Compiled Font data
                   6353: >12    byte            0x02                    \b, LSB first
                   6354: >12    byte            0x0a                    \b, MSB first
                   6355: 0      string          D1.0\015                X11 Speedo font data
                   6356: 
                   6357: #------------------------------------------------------------------------------
                   6358: # FIGlet fonts and controlfiles
                   6359: # From figmagic supplied with Figlet version 2.2
                   6360: # "David E. O'Brien" <obrien@FreeBSD.ORG>
                   6361: 0      string          flf             FIGlet font
                   6362: >3     string          >2a             version %-2.2s
                   6363: 0      string          flc             FIGlet controlfile
                   6364: >3     string          >2a             version %-2.2s
                   6365: 
                   6366: # libGrx graphics lib fonts, from Albert Cahalan (acahalan@cs.uml.edu)
                   6367: # Used with djgpp (DOS Gnu C++), sometimes Linux or Turbo C++
                   6368: 0      belong          0x14025919      libGrx font data,
                   6369: >8     leshort         x               %dx
                   6370: >10    leshort         x               \b%d
                   6371: >40    string          x               %s
                   6372: # Misc. DOS VGA fonts, from Albert Cahalan (acahalan@cs.uml.edu)
                   6373: 0      belong          0xff464f4e      DOS code page font data collection
                   6374: 7      belong          0x00454741      DOS code page font data
                   6375: 7      belong          0x00564944      DOS code page font data (from Linux?)
                   6376: 4098   string          DOSFONT         DOSFONT2 encrypted font data
                   6377: 
                   6378: # downloadable fonts for browser (prints type) anthon@mnt.org
                   6379: 0      string          PFR1            PFR1 font
                   6380: >102   string          >0              \b: %s
                   6381: 
                   6382: # True Type fonts
                   6383: 0      string  \000\001\000\000\000    TrueType font data
                   6384: 
                   6385: 0      string          \007\001\001\000Copyright\ (c)\ 199     Adobe Multiple Master font
                   6386: 0      string          \012\001\001\000Copyright\ (c)\ 199     Adobe Multiple Master font
                   6387: 
                   6388: # Opentype font data from Avi Bercovich
                   6389: 0      string          OTTO            OpenType font data 
                   6390: 
                   6391: # Gürkan Sengün <gurkan@linuks.mine.nu>, www.linuks.mine.nu 
                   6392: 0      string          SplineFontDB:   Spline Font Database 
                   6393: >14    string          x               version %s
                   6394: # FORTRAN source
                   6395: 0      string/c        c\              FORTRAN program
                   6396: !:mime text/x-fortran
                   6397: #------------------------------------------------------------------------------
                   6398: # frame:  file(1) magic for FrameMaker files
                   6399: #
                   6400: # This stuff came on a FrameMaker demo tape, most of which is
                   6401: # copyright, but this file is "published" as witness the following:
                   6402: #
                   6403: # Note that this is the Framemaker Maker Interchange Format, not the
                   6404: # Normal format which would be application/vnd.framemaker.
                   6405: #
                   6406: 0      string          \<MakerFile     FrameMaker document
                   6407: !:mime application/x-mif
                   6408: >11    string          5.5              (5.5
                   6409: >11    string          5.0              (5.0
                   6410: >11    string          4.0              (4.0
                   6411: >11    string          3.0              (3.0
                   6412: >11    string          2.0              (2.0
                   6413: >11    string          1.0              (1.0
                   6414: >14    byte            x                 %c)
                   6415: 0      string          \<MIFFile       FrameMaker MIF (ASCII) file
                   6416: !:mime application/x-mif
                   6417: >9     string          4.0              (4.0)
                   6418: >9     string          3.0              (3.0)
                   6419: >9     string          2.0              (2.0)
                   6420: >9     string          1.0              (1.x)
                   6421: 0      search/1        \<MakerDictionary       FrameMaker Dictionary text
                   6422: !:mime application/x-mif
                   6423: >17    string          3.0              (3.0)
                   6424: >17    string          2.0              (2.0)
                   6425: >17    string          1.0              (1.x)
                   6426: 0      string          \<MakerScreenFont       FrameMaker Font file
                   6427: !:mime application/x-mif
                   6428: >17    string          1.01             (%s)
                   6429: 0      string          \<MML           FrameMaker MML file
                   6430: !:mime application/x-mif
                   6431: 0      string          \<BookFile      FrameMaker Book file
                   6432: !:mime application/x-mif
                   6433: >10    string          3.0              (3.0
                   6434: >10    string          2.0              (2.0
                   6435: >10    string          1.0              (1.0
                   6436: >13    byte            x                 %c)
                   6437: # XXX - this book entry should be verified, if you find one, uncomment this
                   6438: #0     string          \<Book\         FrameMaker Book (ASCII) file
                   6439: #!:mime        application/x-mif
                   6440: #>6    string          3.0              (3.0)
                   6441: #>6    string          2.0              (2.0)
                   6442: #>6    string          1.0              (1.0)
                   6443: 0      string          \<Maker Intermediate Print File FrameMaker IPL file
                   6444: !:mime application/x-mif
                   6445: 
                   6446: #------------------------------------------------------------------------------
                   6447: # freebsd:  file(1) magic for FreeBSD objects
                   6448: #
                   6449: # All new-style FreeBSD magic numbers are in host byte order (i.e.,
                   6450: # little-endian on x86).
                   6451: #
                   6452: # XXX - this comes from the file "freebsd" in a recent FreeBSD version of
                   6453: # "file"; it, and the NetBSD stuff in "netbsd", appear to use different
                   6454: # schemes for distinguishing between executable images, shared libraries,
                   6455: # and object files.
                   6456: #
                   6457: # FreeBSD says:
                   6458: #
                   6459: #    Regardless of whether it's pure, demand-paged, or none of the
                   6460: #    above:
                   6461: #
                   6462: #      if the entry point is < 4096, then it's a shared library if
                   6463: #      the "has run-time loader information" bit is set, and is
                   6464: #      position-independent if the "is position-independent" bit
                   6465: #      is set;
                   6466: #
                   6467: #      if the entry point is >= 4096 (or >4095, same thing), then it's
                   6468: #      an executable, and is dynamically-linked if the "has run-time
                   6469: #      loader information" bit is set.
                   6470: #
                   6471: # On x86, NetBSD says:
                   6472: #
                   6473: #    If it's neither pure nor demand-paged:
                   6474: #
                   6475: #      if it has the "has run-time loader information" bit set, it's
                   6476: #      a dynamically-linked executable;
                   6477: #
                   6478: #      if it doesn't have that bit set, then:
                   6479: #
                   6480: #          if it has the "is position-independent" bit set, it's
                   6481: #          position-independent;
                   6482: #
                   6483: #          if the entry point is non-zero, it's an executable, otherwise
                   6484: #          it's an object file.
                   6485: #
                   6486: #    If it's pure:
                   6487: #
                   6488: #      if it has the "has run-time loader information" bit set, it's
                   6489: #      a dynamically-linked executable, otherwise it's just an
                   6490: #      executable.
                   6491: #
                   6492: #    If it's demand-paged:
                   6493: #
                   6494: #      if it has the "has run-time loader information" bit set,
                   6495: #      then:
                   6496: #
                   6497: #          if the entry point is < 4096, it's a shared library;
                   6498: #
                   6499: #          if the entry point is = 4096 or > 4096 (i.e., >= 4096),
                   6500: #          it's a dynamically-linked executable);
                   6501: #
                   6502: #      if it doesn't have the "has run-time loader information" bit
                   6503: #      set, then it's just an executable.
                   6504: #
                   6505: # (On non-x86, NetBSD does much the same thing, except that it uses
                   6506: # 8192 on 68K - except for "68k4k", which is presumably "68K with 4K
                   6507: # pages - SPARC, and MIPS, presumably because Sun-3's and Sun-4's
                   6508: # had 8K pages; dunno about MIPS.)
                   6509: #
                   6510: # I suspect the two will differ only in perverse and uninteresting cases
                   6511: # ("shared" libraries that aren't demand-paged and whose pages probably
                   6512: # won't actually be shared, executables with entry points <4096).
                   6513: #
                   6514: # I leave it to those more familiar with FreeBSD and NetBSD to figure out
                   6515: # what the right answer is (although using ">4095", FreeBSD-style, is
                   6516: # probably better than separately checking for "=4096" and ">4096",
                   6517: # NetBSD-style).  (The old "netbsd" file analyzed FreeBSD demand paged
                   6518: # executables using the NetBSD technique.)
                   6519: #
                   6520: 0      lelong&0377777777       041400407       FreeBSD/i386
                   6521: >20    lelong                  <4096
                   6522: >>3    byte&0xC0               &0x80           shared library
                   6523: >>3    byte&0xC0               0x40            PIC object
                   6524: >>3    byte&0xC0               0x00            object
                   6525: >20    lelong                  >4095
                   6526: >>3    byte&0x80               0x80            dynamically linked executable
                   6527: >>3    byte&0x80               0x00            executable
                   6528: >16    lelong                  >0              not stripped
                   6529: 
                   6530: 0      lelong&0377777777       041400410       FreeBSD/i386 pure
                   6531: >20    lelong                  <4096
                   6532: >>3    byte&0xC0               &0x80           shared library
                   6533: >>3    byte&0xC0               0x40            PIC object
                   6534: >>3    byte&0xC0               0x00            object
                   6535: >20    lelong                  >4095
                   6536: >>3    byte&0x80               0x80            dynamically linked executable
                   6537: >>3    byte&0x80               0x00            executable
                   6538: >16    lelong                  >0              not stripped
                   6539: 
                   6540: 0      lelong&0377777777       041400413       FreeBSD/i386 demand paged
                   6541: >20    lelong                  <4096
                   6542: >>3    byte&0xC0               &0x80           shared library
                   6543: >>3    byte&0xC0               0x40            PIC object
                   6544: >>3    byte&0xC0               0x00            object
                   6545: >20    lelong                  >4095
                   6546: >>3    byte&0x80               0x80            dynamically linked executable
                   6547: >>3    byte&0x80               0x00            executable
                   6548: >16    lelong                  >0              not stripped
                   6549: 
                   6550: 0      lelong&0377777777       041400314       FreeBSD/i386 compact demand paged
                   6551: >20    lelong                  <4096
                   6552: >>3    byte&0xC0               &0x80           shared library
                   6553: >>3    byte&0xC0               0x40            PIC object
                   6554: >>3    byte&0xC0               0x00            object
                   6555: >20    lelong                  >4095
                   6556: >>3    byte&0x80               0x80            dynamically linked executable
                   6557: >>3    byte&0x80               0x00            executable
                   6558: >16    lelong                  >0              not stripped
                   6559: 
                   6560: # XXX gross hack to identify core files
                   6561: # cores start with a struct tss; we take advantage of the following:
                   6562: # byte 7:     highest byte of the kernel stack pointer, always 0xfe
                   6563: #      8/9:   kernel (ring 0) ss value, always 0x0010
                   6564: #      10 - 27: ring 1 and 2 ss/esp, unused, thus always 0
                   6565: #      28:    low order byte of the current PTD entry, always 0 since the
                   6566: #             PTD is page-aligned
                   6567: #
                   6568: 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
                   6569: >1039  string  >\0     from '%s'
                   6570: 
                   6571: # /var/run/ld.so.hints
                   6572: # What are you laughing about?
                   6573: 0      lelong                  011421044151    ld.so hints file (Little Endian
                   6574: >4     lelong                  >0              \b, version %d)
                   6575: >4     belong                  <1              \b)
                   6576: 0      belong                  011421044151    ld.so hints file (Big Endian
                   6577: >4     belong                  >0              \b, version %d)
                   6578: >4     belong                  <1              \b)
                   6579: 
                   6580: #
                   6581: # Files generated by FreeBSD scrshot(1)/vidcontrol(1) utilities
                   6582: #
                   6583: 0      string  SCRSHOT_        scrshot(1) screenshot,
                   6584: >8     byte    x               version %d,
                   6585: >9     byte    2               %d bytes in header,
                   6586: >>10   byte    x               %d chars wide by
                   6587: >>11   byte    x               %d chars high
                   6588: 
                   6589: #------------------------------------------------------------------------------
                   6590: # fsav:  file(1) magic for datafellows fsav virus definition files
                   6591: # Anthon van der Neut (anthon@mnt.org)
                   6592: 
                   6593: # ftp://ftp.f-prot.com/pub/{macrdef2.zip,nomacro.def}
                   6594: 0      beshort         0x1575          fsav macro virus signatures
                   6595: >8     leshort         >0              (%d-
                   6596: >11    byte            >0              \b%02d-
                   6597: >10    byte            >0              \b%02d)
                   6598: # ftp://ftp.f-prot.com/pub/sign.zip
                   6599: #10    ubyte           <12
                   6600: #>9    ubyte           <32
                   6601: #>>8   ubyte           0x0a
                   6602: #>>>12 ubyte           0x07
                   6603: #>>>>11        uleshort        >0              fsav DOS/Windows virus signatures (%d-
                   6604: #>>>>10        byte            0               \b01-
                   6605: #>>>>10        byte            1               \b02-
                   6606: #>>>>10        byte            2               \b03-
                   6607: #>>>>10        byte            3               \b04-
                   6608: #>>>>10        byte            4               \b05-
                   6609: #>>>>10        byte            5               \b06-
                   6610: #>>>>10        byte            6               \b07-
                   6611: #>>>>10        byte            7               \b08-
                   6612: #>>>>10        byte            8               \b09-
                   6613: #>>>>10        byte            9               \b10-
                   6614: #>>>>10        byte            10              \b11-
                   6615: #>>>>10        byte            11              \b12-
                   6616: #>>>>9 ubyte           >0              \b%02d)
                   6617: # ftp://ftp.f-prot.com/pub/sign2.zip
                   6618: #0     ubyte           0x62            
                   6619: #>1    ubyte           0xF5            
                   6620: #>>2   ubyte           0x1             
                   6621: #>>>3  ubyte           0x1             
                   6622: #>>>>4 ubyte           0x0e            
                   6623: #>>>>>13               ubyte   >0              fsav virus signatures
                   6624: #>>>>>>11      ubyte   x               size 0x%02x
                   6625: #>>>>>>12      ubyte   x               \b%02x
                   6626: #>>>>>>13      ubyte   x               \b%02x bytes
                   6627: 
                   6628: # Joerg Jenderek: joerg dot jenderek at web dot de
                   6629: # http://www.clamav.net/doc/latest/html/node45.html
                   6630: # .cvd files start with a 512 bytes colon separated header
                   6631: # ClamAV-VDB:buildDate:version:signaturesNumbers:functionalityLevelRequired:MD5:Signature:builder:buildTime
                   6632: # + gzipped tarball files
                   6633: 0      string          ClamAV-VDB:     
                   6634: >11    string          >\0             Clam AntiVirus database %-.23s
                   6635: >>34   string          :               
                   6636: >>>35          string          !:      \b, version 
                   6637: >>>>35         string          x       \b%-.1s
                   6638: >>>>>36                string          !:      
                   6639: >>>>>>36       string          x       \b%-.1s
                   6640: >>>>>>>37      string          !:      
                   6641: >>>>>>>>37     string          x       \b%-.1s
                   6642: >>>>>>>>>38    string          !:      
                   6643: >>>>>>>>>>38   string          x       \b%-.1s
                   6644: >512   string          \037\213        \b, gzipped
                   6645: >769   string          ustar\0         \b, tarred
                   6646: 
                   6647: # Type: Grisoft AVG AntiVirus
                   6648: # From: David Newgas <david@newgas.net>
                   6649: 0      string  AVG7_ANTIVIRUS_VAULT_FILE       AVG 7 Antivirus vault file data
                   6650: #------------------------------------------------------------------------------
                   6651: # games:  file(1) for games
                   6652: 
                   6653: # Fabio Bonelli <fabiobonelli@libero.it>
                   6654: # Quake II - III data files
                   6655: 0       string  IDP2           Quake II 3D Model file,
                   6656: >20     long    x               %lu skin(s),
                   6657: >8      long    x               (%lu x
                   6658: >12     long    x              %lu),
                   6659: >40     long    x               %lu frame(s),
                   6660: >16     long    x               Frame size %lu bytes,
                   6661: >24     long   x               %lu vertices/frame,
                   6662: >28     long    x              %lu texture coordinates,
                   6663: >32     long    x               %lu triangles/frame
                   6664: 
                   6665: 0       string  IBSP            Quake
                   6666: >4      long    0x26            II Map file (BSP)
                   6667: >4      long    0x2E           III Map file (BSP)
                   6668: 
                   6669: 0       string  IDS2            Quake II SP2 sprite file
                   6670: 
                   6671: #---------------------------------------------------------------------------
                   6672: # Doom and Quake
                   6673: # submitted by Nicolas Patrois
                   6674: 
                   6675: 0       string  \xcb\x1dBoom\xe6\xff\x03\x01    Boom or linuxdoom demo
                   6676: # some doom lmp files don't match, I've got one beginning with \x6d\x02\x01\x01
                   6677: 
                   6678: 24      string  LxD\ 203        Linuxdoom save
                   6679: >0      string  x       , name=%s
                   6680: >44     string  x       , world=%s
                   6681: 
                   6682: # Quake
                   6683: 
                   6684: 0       string  PACK    Quake I or II world or extension
                   6685: 
                   6686: #0       string  -1\x0a  Quake I demo
                   6687: #>30     string  x        version %.4s
                   6688: #>61     string  x        level %s       
                   6689: 
                   6690: #0       string  5\x0a   Quake I save
                   6691: 
                   6692: # The levels
                   6693: 
                   6694: # Quake 1
                   6695: 
                   6696: 0      string  5\x0aIntroduction             Quake I save: start Introduction
                   6697: 0      string  5\x0athe_Slipgate_Complex     Quake I save: e1m1 The slipgate complex
                   6698: 0      string  5\x0aCastle_of_the_Damned     Quake I save: e1m2 Castle of the damned
                   6699: 0      string  5\x0athe_Necropolis           Quake I save: e1m3 The necropolis
                   6700: 0      string  5\x0athe_Grisly_Grotto        Quake I save: e1m4 The grisly grotto
                   6701: 0      string  5\x0aZiggurat_Vertigo         Quake I save: e1m8 Ziggurat vertigo (secret)
                   6702: 0      string  5\x0aGloom_Keep               Quake I save: e1m5 Gloom keep
                   6703: 0      string  5\x0aThe_Door_To_Chthon       Quake I save: e1m6 The door to Chthon
                   6704: 0      string  5\x0aThe_House_of_Chthon      Quake I save: e1m7 The house of Chthon
                   6705: 0      string  5\x0athe_Installation         Quake I save: e2m1 The installation
                   6706: 0      string  5\x0athe_Ogre_Citadel         Quake I save: e2m2 The ogre citadel
                   6707: 0      string  5\x0athe_Crypt_of_Decay       Quake I save: e2m3 The crypt of decay (dopefish lives!)
                   6708: 0      string  5\x0aUnderearth               Quake I save: e2m7 Underearth (secret)
                   6709: 0      string  5\x0athe_Ebon_Fortress        Quake I save: e2m4 The ebon fortress
                   6710: 0      string  5\x0athe_Wizard's_Manse       Quake I save: e2m5 The wizard's manse
                   6711: 0      string  5\x0athe_Dismal_Oubliette     Quake I save: e2m6 The dismal oubliette
                   6712: 0      string  5\x0aTermination_Central      Quake I save: e3m1 Termination central
                   6713: 0      string  5\x0aVaults_of_Zin            Quake I save: e3m2 Vaults of Zin
                   6714: 0      string  5\x0athe_Tomb_of_Terror       Quake I save: e3m3 The tomb of terror
                   6715: 0      string  5\x0aSatan's_Dark_Delight     Quake I save: e3m4 Satan's dark delight
                   6716: 0      string  5\x0athe_Haunted_Halls        Quake I save: e3m7 The haunted halls (secret)
                   6717: 0      string  5\x0aWind_Tunnels             Quake I save: e3m5 Wind tunnels
                   6718: 0      string  5\x0aChambers_of_Torment      Quake I save: e3m6 Chambers of torment
                   6719: 0      string  5\x0athe_Sewage_System        Quake I save: e4m1 The sewage system
                   6720: 0      string  5\x0aThe_Tower_of_Despair     Quake I save: e4m2 The tower of despair
                   6721: 0      string  5\x0aThe_Elder_God_Shrine     Quake I save: e4m3 The elder god shrine
                   6722: 0      string  5\x0athe_Palace_of_Hate       Quake I save: e4m4 The palace of hate
                   6723: 0      string  5\x0aHell's_Atrium            Quake I save: e4m5 Hell's atrium
                   6724: 0      string  5\x0athe_Nameless_City        Quake I save: e4m8 The nameless city (secret)
                   6725: 0      string  5\x0aThe_Pain_Maze            Quake I save: e4m6 The pain maze
                   6726: 0      string  5\x0aAzure_Agony              Quake I save: e4m7 Azure agony
                   6727: 0      string  5\x0aShub-Niggurath's_Pit     Quake I save: end Shub-Niggurath's pit
                   6728: 
                   6729: # Quake DeathMatch levels
                   6730: 
                   6731: 0      string  5\x0aPlace_of_Two_Deaths         Quake I save: dm1 Place of two deaths
                   6732: 0      string  5\x0aClaustrophobopolis          Quake I save: dm2 Claustrophobopolis
                   6733: 0      string  5\x0aThe_Abandoned_Base          Quake I save: dm3 The abandoned base
                   6734: 0      string  5\x0aThe_Bad_Place               Quake I save: dm4 The bad place
                   6735: 0      string  5\x0aThe_Cistern                 Quake I save: dm5 The cistern
                   6736: 0      string  5\x0aThe_Dark_Zone               Quake I save: dm6 The dark zone
                   6737: 
                   6738: # Scourge of Armagon
                   6739: 
                   6740: 0      string  5\x0aCommand_HQ               Quake I save: start Command HQ
                   6741: 0      string  5\x0aThe_Pumping_Station      Quake I save: hip1m1 The pumping station
                   6742: 0      string  5\x0aStorage_Facility         Quake I save: hip1m2 Storage facility
                   6743: 0      string  5\x0aMilitary_Complex         Quake I save: hip1m5 Military complex (secret)
                   6744: 0      string  5\x0athe_Lost_Mine            Quake I save: hip1m3 The lost mine
                   6745: 0      string  5\x0aResearch_Facility        Quake I save: hip1m4 Research facility
                   6746: 0      string  5\x0aAncient_Realms           Quake I save: hip2m1 Ancient realms
                   6747: 0      string  5\x0aThe_Gremlin's_Domain     Quake I save: hip2m6 The gremlin's domain (secret)
                   6748: 0      string  5\x0aThe_Black_Cathedral      Quake I save: hip2m2 The black cathedral
                   6749: 0      string  5\x0aThe_Catacombs            Quake I save: hip2m3 The catacombs
                   6750: 0      string  5\x0athe_Crypt__              Quake I save: hip2m4 The crypt
                   6751: 0      string  5\x0aMortum's_Keep            Quake I save: hip2m5 Mortum's keep
                   6752: 0      string  5\x0aTur_Torment              Quake I save: hip3m1 Tur torment
                   6753: 0      string  5\x0aPandemonium              Quake I save: hip3m2 Pandemonium
                   6754: 0      string  5\x0aLimbo                    Quake I save: hip3m3 Limbo
                   6755: 0      string  5\x0athe_Edge_of_Oblivion     Quake I save: hipdm1 The edge of oblivion (secret)
                   6756: 0      string  5\x0aThe_Gauntlet             Quake I save: hip3m4 The gauntlet
                   6757: 0      string  5\x0aArmagon's_Lair           Quake I save: hipend Armagon's lair
                   6758: 
                   6759: # Malice
                   6760: 
                   6761: 0      string  5\x0aThe_Academy      Quake I save: start The academy
                   6762: 0      string  5\x0aThe_Lab          Quake I save: d1 The lab
                   6763: 0      string  5\x0aArea_33          Quake I save: d1b Area 33
                   6764: 0      string  5\x0aSECRET_MISSIONS  Quake I save: d3b Secret missions
                   6765: 0      string  5\x0aThe_Hospital     Quake I save: d10 The hospital (secret)
                   6766: 0      string  5\x0aThe_Genetics_Lab Quake I save: d11 The genetics lab (secret)
                   6767: 0      string  5\x0aBACK_2_MALICE    Quake I save: d4b Back to Malice
                   6768: 0      string  5\x0aArea44           Quake I save: d1c Area 44
                   6769: 0      string  5\x0aTakahiro_Towers  Quake I save: d2 Takahiro towers
                   6770: 0      string  5\x0aA_Rat's_Life     Quake I save: d3 A rat's life
                   6771: 0      string  5\x0aInto_The_Flood   Quake I save: d4 Into the flood
                   6772: 0      string  5\x0aThe_Flood        Quake I save: d5 The flood
                   6773: 0      string  5\x0aNuclear_Plant    Quake I save: d6 Nuclear plant
                   6774: 0      string  5\x0aThe_Incinerator_Plant    Quake I save: d7 The incinerator plant
                   6775: 0      string  5\x0aThe_Foundry              Quake I save: d7b The foundry
                   6776: 0      string  5\x0aThe_Underwater_Base      Quake I save: d8 The underwater base
                   6777: 0      string  5\x0aTakahiro_Base            Quake I save: d9 Takahiro base
                   6778: 0      string  5\x0aTakahiro_Laboratories    Quake I save: d12 Takahiro laboratories
                   6779: 0      string  5\x0aStayin'_Alive    Quake I save: d13 Stayin' alive
                   6780: 0      string  5\x0aB.O.S.S._HQ      Quake I save: d14 B.O.S.S. HQ
                   6781: 0      string  5\x0aSHOWDOWN!        Quake I save: d15 Showdown!
                   6782: 
                   6783: # Malice DeathMatch levels
                   6784: 
                   6785: 0      string  5\x0aThe_Seventh_Precinct        Quake I save: ddm1 The seventh precinct
                   6786: 0      string  5\x0aSub_Station                 Quake I save: ddm2 Sub station
                   6787: 0      string  5\x0aCrazy_Eights!               Quake I save: ddm3 Crazy eights!
                   6788: 0      string  5\x0aEast_Side_Invertationa      Quake I save: ddm4 East side invertationa
                   6789: 0      string  5\x0aSlaughterhouse              Quake I save: ddm5 Slaughterhouse
                   6790: 0      string  5\x0aDOMINO                      Quake I save: ddm6 Domino
                   6791: 0      string  5\x0aSANDRA'S_LADDER             Quake I save: ddm7 Sandra's ladder
                   6792: 
                   6793: 
                   6794: 0      string  MComprHD        MAME CHD compressed hard disk image,
                   6795: >12    belong  x               version %lu
                   6796: 
                   6797: # doom - submitted by Jon Dowland
                   6798: 
                   6799: 0      string  =IWAD           doom main IWAD data
                   6800: >4     lelong  x               containing %d lumps
                   6801: 0      string  =PWAD           doom patch PWAD data
                   6802: >4     lelong  x               containing %d lumps
                   6803: 
                   6804: 
                   6805: # Summary: Warcraft 3 save
                   6806: # Extension: .w3g
                   6807: # Created by: "Nelson A. de Oliveira" <naoliv@gmail.com>
                   6808: 0      string          Warcraft\ III\ recorded\ game   %s
                   6809: 
                   6810: 
                   6811: # Summary: Warcraft 3 map
                   6812: # Extension: .w3m
                   6813: # Created by: "Nelson A. de Oliveira" <naoliv@gmail.com>
                   6814: 0      string          HM3W            Warcraft III map file
                   6815: 
                   6816: 
                   6817: # Summary: SGF Smart Game Format
                   6818: # Extension: .sgf
                   6819: # Reference: http://www.red-bean.com/sgf/
                   6820: # Created by: Eduardo Sabbatella <eduardo_sabbatella@yahoo.com.ar>
                   6821: # Modified by (1): Abel Cheung (regex, more game format)
                   6822: # FIXME: Some games don't have GM (game type)
                   6823: 0      regex           \\(;.*GM\\[[0-9]{1,2}\\]        Smart Game Format
                   6824: >2     search/0x200    GM[
                   6825: >>&0   string          1]      (Go)
                   6826: >>&0   string          2]      (Othello)
                   6827: >>&0   string          3]      (chess)
                   6828: >>&0   string          4]      (Gomoku+Renju)
                   6829: >>&0   string          5]      (Nine Men's Morris)
                   6830: >>&0   string          6]      (Backgammon)
                   6831: >>&0   string          7]      (Chinese chess)
                   6832: >>&0   string          8]      (Shogi)
                   6833: >>&0   string          9]      (Lines of Action)
                   6834: >>&0   string          10]     (Ataxx)
                   6835: >>&0   string          11]     (Hex)
                   6836: >>&0   string          12]     (Jungle)
                   6837: >>&0   string          13]     (Neutron)
                   6838: >>&0   string          14]     (Philosopher's Football)
                   6839: >>&0   string          15]     (Quadrature)
                   6840: >>&0   string          16]     (Trax)
                   6841: >>&0   string          17]     (Tantrix)
                   6842: >>&0   string          18]     (Amazons)
                   6843: >>&0   string          19]     (Octi)
                   6844: >>&0   string          20]     (Gess)
                   6845: >>&0   string          21]     (Twixt)
                   6846: >>&0   string          22]     (Zertz)
                   6847: >>&0   string          23]     (Plateau)
                   6848: >>&0   string          24]     (Yinsh)
                   6849: >>&0   string          25]     (Punct)
                   6850: >>&0   string          26]     (Gobblet)
                   6851: >>&0   string          27]     (hive)
                   6852: >>&0   string          28]     (Exxit)
                   6853: >>&0   string          29]     (Hnefatal)
                   6854: >>&0   string          30]     (Kuba)
                   6855: >>&0   string          31]     (Tripples)
                   6856: >>&0   string          32]     (Chase)
                   6857: >>&0   string          33]     (Tumbling Down)
                   6858: >>&0   string          34]     (Sahara)
                   6859: >>&0   string          35]     (Byte)
                   6860: >>&0   string          36]     (Focus)
                   6861: >>&0   string          37]     (Dvonn)
                   6862: >>&0   string          38]     (Tamsk)
                   6863: >>&0   string          39]     (Gipf)
                   6864: >>&0   string          40]     (Kropki)
                   6865: 
                   6866: 
                   6867: # Summary: Civilization 4 video
                   6868: # Extension: .bik
                   6869: # Created by: Abel Cheung <abelcheung@gmail.com>
                   6870: 0      string  BIKi    Civilization 4 Video
                   6871: 
                   6872: 
                   6873: ##############################################
                   6874: # NetImmerse/Gamebryo game engine entries
                   6875: 
                   6876: # Summary: Gamebryo game engine file
                   6877: # Extension: .nif, .kf
                   6878: # Created by: Abel Cheung <abelcheung@gmail.com>
                   6879: 0              string          Gamebryo\ File\ Format,\ Version\       Gamebryo game engine file
                   6880: >&0            regex           [0-9a-z.]+                              \b, version %s
                   6881: 
                   6882: # Summary: Gamebryo game engine file
                   6883: # Extension: .kfm
                   6884: # Created by: Abel Cheung <abelcheung@gmail.com>
                   6885: 0              string          ;Gamebryo\ KFM\ File\ Version\          Gamebryo game engine animation File
                   6886: >&0            regex           [0-9a-z.]+                              \b, version %s
                   6887: 
                   6888: # Summary: NetImmerse game engine file
                   6889: # Extension .nif
                   6890: # Created by: Abel Cheung <abelcheung@gmail.com>
                   6891: 0              string          NetImmerse\ File\ Format,\ Versio               
                   6892: >&0            string          n\                                      NetImmerse game engine file
                   6893: >>&0           regex           [0-9a-z.]+                              \b, version %s
                   6894: 
                   6895: # Type:        SGF Smart Game Format
                   6896: # URL: http://www.red-bean.com/sgf/
                   6897: # From:        Eduardo Sabbatella <eduardo_sabbatella@yahoo.com.ar>
                   6898: 2      regex/c \\(;.*GM\\[[0-9]{1,2}\\]        Smart Game Format
                   6899: >2     regex/c GM\\[1\\]                       - Go Game
                   6900: >2     regex/c GM\\[6\\]                       - BackGammon Game
                   6901: >2     regex/c GM\\[11\\]                      - Hex Game
                   6902: >2     regex/c GM\\[18\\]                      - Amazons Game
                   6903: >2     regex/c GM\\[19\\]                      - Octi Game
                   6904: >2     regex/c GM\\[20\\]                      - Gess Game
                   6905: >2     regex/c GM\\[21\\]                      - twix Game
                   6906: 
                   6907: #------------------------------------------------------------------------------
                   6908: # gcc:  file(1) magic for GCC special files
                   6909: #
                   6910: 0      string          gpch            GCC precompiled header
                   6911: 
                   6912: # The version field is annoying.  It's 3 characters, not zero-terminated.
                   6913: >5     byte            x                       (version %c
                   6914: >6     byte            x                       \b%c
                   6915: >7     byte            x                       \b%c)
                   6916: 
                   6917: # 67 = 'C', 111 = 'o', 43 = '+', 79 = 'O'
                   6918: >4     byte            67                      for C
                   6919: >4     byte            111                     for Objective C
                   6920: >4     byte            43                      for C++
                   6921: >4     byte            79                      for Objective C++
                   6922: 
                   6923: #------------------------------------------------------------------------------
                   6924: # GEOS files (Vidar Madsen, vidar@gimp.org)
                   6925: # semi-commonly used in embedded and handheld systems.
                   6926: 0      belong  0xc745c153      GEOS
                   6927: >40    byte    1       executable
                   6928: >40    byte    2       VMFile
                   6929: >40    byte    3       binary
                   6930: >40    byte    4       directory label
                   6931: >40    byte    <1      unknown
                   6932: >40    byte    >4      unknown
                   6933: >4     string  >\0     \b, name "%s"
                   6934: #>44   short   x       \b, version %d
                   6935: #>46   short   x       \b.%d
                   6936: #>48   short   x       \b, rev %d
                   6937: #>50   short   x       \b.%d
                   6938: #>52   short   x       \b, proto %d
                   6939: #>54   short   x       \br%d
                   6940: #>168  string  >\0     \b, copyright "%s"
                   6941: #------------------------------------------------------------------------------
                   6942: # GIMP Gradient: file(1) magic for the GIMP's gradient data files
                   6943: # by Federico Mena <federico@nuclecu.unam.mx>
                   6944: 
                   6945: 0       string          GIMP\ Gradient  GIMP gradient data
                   6946: 
                   6947: #------------------------------------------------------------------------------
                   6948: # XCF:  file(1) magic for the XCF image format used in the GIMP developed
                   6949: #       by Spencer Kimball and Peter Mattis
                   6950: #       ('Bucky' LaDieu, nega@vt.edu)
                   6951: 
                   6952: 0      string          gimp\ xcf       GIMP XCF image data,
                   6953: >9     string          file            version 0,
                   6954: >9     string          v               version
                   6955: >>10   string          >\0             %s,
                   6956: >14    belong          x               %lu x
                   6957: >18    belong          x               %lu,
                   6958: >22     belong          0               RGB Color
                   6959: >22     belong          1               Greyscale
                   6960: >22     belong          2               Indexed Color
                   6961: >22    belong          >2              Unknown Image Type.
                   6962: 
                   6963: #------------------------------------------------------------------------------
                   6964: # XCF:  file(1) magic for the patterns used in the GIMP, developed
                   6965: #       by Spencer Kimball and Peter Mattis
                   6966: #       ('Bucky' LaDieu, nega@vt.edu)
                   6967: 
                   6968: 20      string          GPAT            GIMP pattern data,
                   6969: >24     string          x               %s
                   6970: 
                   6971: #------------------------------------------------------------------------------
                   6972: # XCF:  file(1) magic for the brushes used in the GIMP, developed
                   6973: #       by Spencer Kimball and Peter Mattis
                   6974: #       ('Bucky' LaDieu, nega@vt.edu)
                   6975: 
                   6976: 20      string          GIMP            GIMP brush data
                   6977: 
                   6978: # GIMP Curves File
                   6979: # From: "Nelson A. de Oliveira" <naoliv@gmail.com>
                   6980: 0      string  #\040GIMP\040Curves\040File     GIMP curve file
                   6981: # GNOME keyring
                   6982: # Contributed by Josh Triplett
                   6983: # FIXME: Could be simplified if pstring supported two-byte counts
                   6984: 0         string   GnomeKeyring\n\r\0\n GNOME keyring
                   6985: >&0       ubyte    0                    \b, major version 0
                   6986: >>&0      ubyte    0                    \b, minor version 0
                   6987: >>>&0     ubyte    0                    \b, crypto type 0 (AEL)
                   6988: >>>&0     ubyte    >0                   \b, crypto type %hhu (unknown)
                   6989: >>>&1     ubyte    0                    \b, hash type 0 (MD5)
                   6990: >>>&1     ubyte    >0                   \b, hash type %hhu (unknown)
                   6991: >>>&2     ubelong  0xFFFFFFFF           \b, name NULL
                   6992: >>>&2     ubelong  !0xFFFFFFFF
                   6993: >>>>&-4   ubelong  >255                 \b, name too long for file's pstring type
                   6994: >>>>&-4   ubelong  <256
                   6995: >>>>>&-1  pstring  x                    \b, name "%s"
                   6996: >>>>>>&0  ubeqdate x                    \b, last modified %s
                   6997: >>>>>>&8  ubeqdate x                    \b, created %s
                   6998: >>>>>>&16 ubelong  &1
                   6999: >>>>>>>&0 ubelong  x                    \b, locked if idle for %u seconds
                   7000: >>>>>>&16 ubelong  ^1                   \b, not locked if idle
                   7001: >>>>>>&24 ubelong  x                    \b, hash iterations %u
                   7002: >>>>>>&28 ubequad  x                    \b, salt %llu
                   7003: >>>>>>&52 ubelong  x                    \b, %u item(s)
                   7004: #------------------------------------------------------------------------------
                   7005: # gnu:  file(1) magic for various GNU tools
                   7006: #
                   7007: # GNU nlsutils message catalog file format
                   7008: #
                   7009: 0      string          \336\22\4\225   GNU message catalog (little endian),
                   7010: >4     lelong          x               revision %d,
                   7011: >8     lelong          x               %d messages
                   7012: 0      string          \225\4\22\336   GNU message catalog (big endian),
                   7013: >4     belong          x               revision %d,
                   7014: >8     belong          x               %d messages
                   7015: # message catalogs, from Mitchum DSouza <m.dsouza@mrc-apu.cam.ac.uk>
                   7016: 0      string          *nazgul*        Nazgul style compiled message catalog
                   7017: >8     lelong          >0              \b, version %ld
                   7018: 
                   7019: # GnuPG
                   7020: # The format is very similar to pgp
                   7021: 0      string          \001gpg                 GPG key trust database
                   7022: >4     byte            x                       version %d
                   7023: # Note: magic.mime had 0x8501 for the next line instead of 0x8502
                   7024: 0      beshort         0x8502                  GPG encrypted data
                   7025: !:mime text/PGP # encoding: data
                   7026: 
                   7027: # This magic is not particularly good, as the keyrings don't have true
                   7028: # magic. Nevertheless, it covers many keyrings.
                   7029: 0       beshort         0x9901                  GPG key public ring
                   7030: !:mime application/x-gnupg-keyring
                   7031: 
                   7032: # Gnumeric spreadsheet
                   7033: # This entry is only semi-helpful, as Gnumeric compresses its files, so
                   7034: # they will ordinarily reported as "compressed", but at least -z helps
                   7035: 39      string          =<gmr:Workbook           Gnumeric spreadsheet
                   7036: 
                   7037: # From: James Youngman <jay@gnu.org> 
                   7038: # gnu find magic
                   7039: 0      string  \0LOCATE        GNU findutils locate database data
                   7040: >7     string  >\0             \b, format %s
                   7041: >7     string  02              \b (frcode)
                   7042: 
                   7043: # Files produced by GNU gettext
                   7044: 0      long    0xDE120495              GNU-format message catalog data
                   7045: 0      long    0x950412DE              GNU-format message catalog data
                   7046: 
                   7047: #------------------------------------------------------------------------------
                   7048: # gnumeric:  file(1) magic for Gnumeric spreadsheet
                   7049: # This entry is only semi-helpful, as Gnumeric compresses its files, so
                   7050: # they will ordinarily reported as "compressed", but at least -z helps
                   7051: 39     string  =<gmr:Workbook  Gnumeric spreadsheet
                   7052: !:mime application/x-gnumeric
                   7053: 
                   7054: #------------------------------------------------------------------------------
                   7055: # ACE/gr and Grace type files - PLEASE DO NOT REMOVE THIS LINE
                   7056: #
                   7057: # ACE/gr binary
                   7058: 0      string  \000\000\0001\000\000\0000\000\000\0000\000\000\0002\000\000\0000\000\000\0000\000\000\0003             old ACE/gr binary file
                   7059: >39    byte    >0                      - version %c
                   7060: # ACE/gr ascii
                   7061: 0      string  #\ xvgr\ parameter\ file        ACE/gr ascii file
                   7062: 0      string  #\ xmgr\ parameter\ file        ACE/gr ascii file
                   7063: 0      string  #\ ACE/gr\ parameter\ file      ACE/gr ascii file
                   7064: # Grace projects
                   7065: 0      string  #\ Grace\ project\ file         Grace project file
                   7066: >23    string  @version\                       (version
                   7067: >>32   byte    >0                              %c
                   7068: >>33   string  >\0                             \b.%.2s
                   7069: >>35   string  >\0                             \b.%.2s)
                   7070: # ACE/gr fit description files
                   7071: 0      string  #\ ACE/gr\ fit\ description\    ACE/gr fit description file
                   7072: # end of ACE/gr and Grace type files - PLEASE DO NOT REMOVE THIS LINE
                   7073: 
                   7074: #------------------------------------------------------------------------------
                   7075: # graphviz:  file(1) magic for http://www.graphviz.org/
                   7076: 0      regex/100       [\r\n\t\ ]*graph[\r\n\t\ ]*.*\\{        graphviz graph text
                   7077: !:mime text/vnd.graphviz
                   7078: 0      regex/100       [\r\n\t\ ]*digraph[\r\n\t\ ]*.*\\{      graphviz digraph text
                   7079: !:mime text/vnd.graphviz
                   7080: 
                   7081: #------------------------------------------------------------------------------
                   7082: # gringotts:  file(1) magic for Gringotts
                   7083: # http://devel.pluto.linux.it/projects/Gringotts/
                   7084: # author: Germano Rizzo <mano@pluto.linux.it>
                   7085: #GRG3????Y
                   7086: 0      string  GRG             Gringotts data file
                   7087: #file format 1
                   7088: >3     string          1               v.1, MCRYPT S2K, SERPENT crypt, SHA-256 hash, ZLib lvl.9
                   7089: #file format 2
                   7090: >3     string          2               v.2, MCRYPT S2K, 
                   7091: >>8    byte&0x70       0x00            RIJNDAEL-128 crypt,
                   7092: >>8    byte&0x70       0x10            SERPENT crypt,
                   7093: >>8    byte&0x70       0x20            TWOFISH crypt, 
                   7094: >>8    byte&0x70       0x30            CAST-256 crypt,
                   7095: >>8    byte&0x70       0x40            SAFER+ crypt,
                   7096: >>8    byte&0x70       0x50            LOKI97 crypt,
                   7097: >>8    byte&0x70       0x60            3DES crypt,
                   7098: >>8    byte&0x70       0x70            RIJNDAEL-256 crypt,
                   7099: >>8    byte&0x08       0x00            SHA1 hash,
                   7100: >>8    byte&0x08       0x08            RIPEMD-160 hash,
                   7101: >>8    byte&0x04       0x00            ZLib
                   7102: >>8    byte&0x04       0x04            BZip2
                   7103: >>8    byte&0x03       0x00            lvl.0
                   7104: >>8    byte&0x03       0x01            lvl.3
                   7105: >>8    byte&0x03       0x02            lvl.6
                   7106: >>8    byte&0x03       0x03            lvl.9
                   7107: #file format 3
                   7108: >3     string          3               v.3, OpenPGP S2K, 
                   7109: >>8    byte&0x70       0x00            RIJNDAEL-128 crypt,
                   7110: >>8    byte&0x70       0x10            SERPENT crypt,
                   7111: >>8    byte&0x70       0x20            TWOFISH crypt, 
                   7112: >>8    byte&0x70       0x30            CAST-256 crypt,
                   7113: >>8    byte&0x70       0x40            SAFER+ crypt,
                   7114: >>8    byte&0x70       0x50            LOKI97 crypt,
                   7115: >>8    byte&0x70       0x60            3DES crypt,
                   7116: >>8    byte&0x70       0x70            RIJNDAEL-256 crypt,
                   7117: >>8    byte&0x08       0x00            SHA1 hash,
                   7118: >>8    byte&0x08       0x08            RIPEMD-160 hash,
                   7119: >>8    byte&0x04       0x00            ZLib
                   7120: >>8    byte&0x04       0x04            BZip2
                   7121: >>8    byte&0x03       0x00            lvl.0
                   7122: >>8    byte&0x03       0x01            lvl.3
                   7123: >>8    byte&0x03       0x02            lvl.6
                   7124: >>8    byte&0x03       0x03            lvl.9
                   7125: #file format >3
                   7126: >3     string          >3              v.%.1s (unknown details)
                   7127: 
                   7128: #------------------------------------------------------------------------------
                   7129: # hitach-sh: file(1) magic for Hitachi Super-H
                   7130: #
                   7131: # Super-H COFF
                   7132: #
                   7133: 0      beshort         0x0500          Hitachi SH big-endian COFF
                   7134: >18    beshort&0x0002  =0x0000         object
                   7135: >18    beshort&0x0002  =0x0002         executable
                   7136: >18    beshort&0x0008  =0x0008         \b, stripped
                   7137: >18    beshort&0x0008  =0x0000         \b, not stripped
                   7138: #
                   7139: 0      leshort         0x0550          Hitachi SH little-endian COFF
                   7140: >18    leshort&0x0002  =0x0000         object
                   7141: >18    leshort&0x0002  =0x0002         executable
                   7142: >18    leshort&0x0008  =0x0008         \b, stripped
                   7143: >18    leshort&0x0008  =0x0000         \b, not stripped
                   7144: 
                   7145: #------------------------------------------------------------------------------
                   7146: # hp:  file(1) magic for Hewlett Packard machines (see also "printer")
                   7147: #
                   7148: # XXX - somebody should figure out whether any byte order needs to be
                   7149: # applied to the "TML" stuff; I'm assuming the Apollo stuff is
                   7150: # big-endian as it was mostly 68K-based.
                   7151: #
                   7152: # I think the 500 series was the old stack-based machines, running a
                   7153: # UNIX environment atop the "SUN kernel"; dunno whether it was
                   7154: # big-endian or little-endian.
                   7155: #
                   7156: # Daniel Quinlan (quinlan@yggdrasil.com): hp200 machines are 68010 based;
                   7157: # hp300 are 68020+68881 based; hp400 are also 68k.  The following basic
                   7158: # HP magic is useful for reference, but using "long" magic is a better
                   7159: # practice in order to avoid collisions.
                   7160: #
                   7161: # Guy Harris (guy@netapp.com): some additions to this list came from
                   7162: # HP-UX 10.0's "/usr/include/sys/unistd.h" (68030, 68040, PA-RISC 1.1,
                   7163: # 1.2, and 2.0).  The 1.2 and 2.0 stuff isn't in the HP-UX 10.0
                   7164: # "/etc/magic", though, except for the "archive file relocatable library"
                   7165: # stuff, and the 68030 and 68040 stuff isn't there at all - are they not
                   7166: # used in executables, or have they just not yet updated "/etc/magic"
                   7167: # completely?
                   7168: #
                   7169: # 0    beshort         200             hp200 (68010) BSD binary
                   7170: # 0    beshort         300             hp300 (68020+68881) BSD binary
                   7171: # 0    beshort         0x20c           hp200/300 HP-UX binary
                   7172: # 0    beshort         0x20d           hp400 (68030) HP-UX binary
                   7173: # 0    beshort         0x20e           hp400 (68040?) HP-UX binary
                   7174: # 0    beshort         0x20b           PA-RISC1.0 HP-UX binary
                   7175: # 0    beshort         0x210           PA-RISC1.1 HP-UX binary
                   7176: # 0    beshort         0x211           PA-RISC1.2 HP-UX binary
                   7177: # 0    beshort         0x214           PA-RISC2.0 HP-UX binary
                   7178: 
                   7179: #
                   7180: # The "misc" stuff needs a byte order; the archives look suspiciously
                   7181: # like the old 177545 archives (0xff65 = 0177545).
                   7182: #
                   7183: #### Old Apollo stuff
                   7184: 0      beshort         0627            Apollo m68k COFF executable
                   7185: >18    beshort         ^040000         not stripped
                   7186: >22    beshort         >0              - version %ld
                   7187: 0      beshort         0624            apollo a88k COFF executable
                   7188: >18    beshort         ^040000         not stripped
                   7189: >22    beshort         >0              - version %ld
                   7190: 0       long            01203604016     TML 0123 byte-order format
                   7191: 0       long            01702407010     TML 1032 byte-order format
                   7192: 0       long            01003405017     TML 2301 byte-order format
                   7193: 0       long            01602007412     TML 3210 byte-order format
                   7194: #### PA-RISC 1.1
                   7195: 0      belong          0x02100106      PA-RISC1.1 relocatable object
                   7196: 0      belong          0x02100107      PA-RISC1.1 executable
                   7197: >168   belong          &0x00000004     dynamically linked
                   7198: >(144) belong          0x054ef630      dynamically linked
                   7199: >96    belong          >0              - not stripped
                   7200: 
                   7201: 0      belong          0x02100108      PA-RISC1.1 shared executable
                   7202: >168   belong&0x4      0x4             dynamically linked
                   7203: >(144) belong          0x054ef630      dynamically linked
                   7204: >96    belong          >0              - not stripped
                   7205: 
                   7206: 0      belong          0x0210010b      PA-RISC1.1 demand-load executable
                   7207: >168   belong&0x4      0x4             dynamically linked
                   7208: >(144) belong          0x054ef630      dynamically linked
                   7209: >96    belong          >0              - not stripped
                   7210: 
                   7211: 0      belong          0x0210010e      PA-RISC1.1 shared library
                   7212: >96    belong          >0              - not stripped
                   7213: 
                   7214: 0      belong          0x0210010d      PA-RISC1.1 dynamic load library
                   7215: >96    belong          >0              - not stripped
                   7216: 
                   7217: #### PA-RISC 2.0
                   7218: 0      belong          0x02140106      PA-RISC2.0 relocatable object
                   7219: 
                   7220: 0       belong         0x02140107      PA-RISC2.0 executable
                   7221: >168   belong          &0x00000004     dynamically linked
                   7222: >(144) belong          0x054ef630      dynamically linked
                   7223: >96    belong          >0              - not stripped
                   7224: 
                   7225: 0       belong         0x02140108      PA-RISC2.0 shared executable
                   7226: >168   belong          &0x00000004     dynamically linked
                   7227: >(144) belong          0x054ef630      dynamically linked
                   7228: >96    belong          >0              - not stripped
                   7229: 
                   7230: 0       belong         0x0214010b      PA-RISC2.0 demand-load executable
                   7231: >168   belong          &0x00000004     dynamically linked
                   7232: >(144) belong          0x054ef630      dynamically linked
                   7233: >96    belong          >0              - not stripped
                   7234: 
                   7235: 0       belong         0x0214010e      PA-RISC2.0 shared library
                   7236: >96    belong          >0              - not stripped
                   7237: 
                   7238: 0       belong         0x0214010d      PA-RISC2.0 dynamic load library
                   7239: >96    belong          >0              - not stripped
                   7240: 
                   7241: #### 800
                   7242: 0      belong          0x020b0106      PA-RISC1.0 relocatable object
                   7243: 
                   7244: 0      belong          0x020b0107      PA-RISC1.0 executable
                   7245: >168   belong&0x4      0x4             dynamically linked
                   7246: >(144) belong          0x054ef630      dynamically linked
                   7247: >96    belong          >0              - not stripped
                   7248: 
                   7249: 0      belong          0x020b0108      PA-RISC1.0 shared executable
                   7250: >168   belong&0x4      0x4             dynamically linked
                   7251: >(144) belong          0x054ef630      dynamically linked
                   7252: >96    belong          >0              - not stripped
                   7253: 
                   7254: 0      belong          0x020b010b      PA-RISC1.0 demand-load executable
                   7255: >168   belong&0x4      0x4             dynamically linked
                   7256: >(144) belong          0x054ef630      dynamically linked
                   7257: >96    belong          >0              - not stripped
                   7258: 
                   7259: 0      belong          0x020b010e      PA-RISC1.0 shared library
                   7260: >96    belong          >0              - not stripped
                   7261: 
                   7262: 0      belong          0x020b010d      PA-RISC1.0 dynamic load library
                   7263: >96    belong          >0              - not stripped
                   7264: 
                   7265: 0      belong          0x213c6172      archive file
                   7266: >68    belong          0x020b0619      - PA-RISC1.0 relocatable library
                   7267: >68    belong          0x02100619      - PA-RISC1.1 relocatable library
                   7268: >68    belong          0x02110619      - PA-RISC1.2 relocatable library
                   7269: >68    belong          0x02140619      - PA-RISC2.0 relocatable library
                   7270: 
                   7271: #### 500
                   7272: 0      long            0x02080106      HP s500 relocatable executable
                   7273: >16    long            >0              - version %ld
                   7274: 
                   7275: 0      long            0x02080107      HP s500 executable
                   7276: >16    long            >0              - version %ld
                   7277: 
                   7278: 0      long            0x02080108      HP s500 pure executable
                   7279: >16    long            >0              - version %ld
                   7280: 
                   7281: #### 200
                   7282: 0      belong          0x020c0108      HP s200 pure executable
                   7283: >4     beshort         >0              - version %ld
                   7284: >8     belong          &0x80000000     save fp regs
                   7285: >8     belong          &0x40000000     dynamically linked
                   7286: >8     belong          &0x20000000     debuggable
                   7287: >36    belong          >0              not stripped
                   7288: 
                   7289: 0      belong          0x020c0107      HP s200 executable
                   7290: >4     beshort         >0              - version %ld
                   7291: >8     belong          &0x80000000     save fp regs
                   7292: >8     belong          &0x40000000     dynamically linked
                   7293: >8     belong          &0x20000000     debuggable
                   7294: >36    belong          >0              not stripped
                   7295: 
                   7296: 0      belong          0x020c010b      HP s200 demand-load executable
                   7297: >4     beshort         >0              - version %ld
                   7298: >8     belong          &0x80000000     save fp regs
                   7299: >8     belong          &0x40000000     dynamically linked
                   7300: >8     belong          &0x20000000     debuggable
                   7301: >36    belong          >0              not stripped
                   7302: 
                   7303: 0      belong          0x020c0106      HP s200 relocatable executable
                   7304: >4     beshort         >0              - version %ld
                   7305: >6     beshort         >0              - highwater %d
                   7306: >8     belong          &0x80000000     save fp regs
                   7307: >8     belong          &0x20000000     debuggable
                   7308: >8     belong          &0x10000000     PIC
                   7309: 
                   7310: 0      belong          0x020a0108      HP s200 (2.x release) pure executable
                   7311: >4     beshort         >0              - version %ld
                   7312: >36    belong          >0              not stripped
                   7313: 
                   7314: 0      belong          0x020a0107      HP s200 (2.x release) executable
                   7315: >4     beshort         >0              - version %ld
                   7316: >36    belong          >0              not stripped
                   7317: 
                   7318: 0      belong          0x020c010e      HP s200 shared library
                   7319: >4     beshort         >0              - version %ld
                   7320: >6     beshort         >0              - highwater %d
                   7321: >36    belong          >0              not stripped
                   7322: 
                   7323: 0      belong          0x020c010d      HP s200 dynamic load library
                   7324: >4     beshort         >0              - version %ld
                   7325: >6     beshort         >0              - highwater %d
                   7326: >36    belong          >0              not stripped
                   7327: 
                   7328: #### MISC
                   7329: 0      long            0x0000ff65      HP old archive
                   7330: 0      long            0x020aff65      HP s200 old archive
                   7331: 0      long            0x020cff65      HP s200 old archive
                   7332: 0      long            0x0208ff65      HP s500 old archive
                   7333: 
                   7334: 0      long            0x015821a6      HP core file
                   7335: 
                   7336: 0      long            0x4da7eee8      HP-WINDOWS font
                   7337: >8     byte            >0              - version %ld
                   7338: 0      string          Bitmapfile      HP Bitmapfile
                   7339: 
                   7340: 0      string          IMGfile CIS     compimg HP Bitmapfile
                   7341: # XXX - see "lif"
                   7342: #0     short           0x8000          lif file
                   7343: 0      long            0x020c010c      compiled Lisp
                   7344: 
                   7345: 0      string          msgcat01        HP NLS message catalog,
                   7346: >8     long            >0              %d messages
                   7347: 
                   7348: # Summary: HP-48/49 calculator
                   7349: # Created by: phk@data.fls.dk
                   7350: # Modified by (1): AMAKAWA Shuhei <sa264@cam.ac.uk>
                   7351: # Modified by (2): Samuel Thibault <samuel.thibault@ens-lyon.org> (HP49 support)
                   7352: 0      string          HPHP            HP
                   7353: >4     string          48              48 binary
                   7354: >4     string          49              49 binary
                   7355: >7     byte            >64             - Rev %c
                   7356: >8     leshort         0x2911          (ADR)
                   7357: >8     leshort         0x2933          (REAL)
                   7358: >8     leshort         0x2955          (LREAL)
                   7359: >8     leshort         0x2977          (COMPLX)
                   7360: >8     leshort         0x299d          (LCOMPLX)
                   7361: >8     leshort         0x29bf          (CHAR)
                   7362: >8     leshort         0x29e8          (ARRAY)
                   7363: >8     leshort         0x2a0a          (LNKARRAY)
                   7364: >8     leshort         0x2a2c          (STRING)
                   7365: >8     leshort         0x2a4e          (HXS)
                   7366: >8     leshort         0x2a74          (LIST)
                   7367: >8     leshort         0x2a96          (DIR)
                   7368: >8     leshort         0x2ab8          (ALG)
                   7369: >8     leshort         0x2ada          (UNIT)
                   7370: >8     leshort         0x2afc          (TAGGED)
                   7371: >8     leshort         0x2b1e          (GROB)
                   7372: >8     leshort         0x2b40          (LIB)
                   7373: >8     leshort         0x2b62          (BACKUP)
                   7374: >8     leshort         0x2b88          (LIBDATA)
                   7375: >8     leshort         0x2d9d          (PROG)
                   7376: >8     leshort         0x2dcc          (CODE)
                   7377: >8     leshort         0x2e48          (GNAME)
                   7378: >8     leshort         0x2e6d          (LNAME)
                   7379: >8     leshort         0x2e92          (XLIB)
                   7380: 
                   7381: 0      string          %%HP:           HP text
                   7382: >6     string          T(0)            - T(0)
                   7383: >6     string          T(1)            - T(1)
                   7384: >6     string          T(2)            - T(2)
                   7385: >6     string          T(3)            - T(3)
                   7386: >10    string          A(D)            A(D)
                   7387: >10    string          A(R)            A(R)
                   7388: >10    string          A(G)            A(G)
                   7389: >14    string          F(.)            F(.);
                   7390: >14    string          F(,)            F(,);
                   7391: 
                   7392: 
                   7393: # Summary: HP-38/39 calculator
                   7394: # Created by: Samuel Thibault <samuel.thibault@ens-lyon.org>
                   7395: 0      string          HP3
                   7396: >3     string          8               HP 38
                   7397: >3     string          9               HP 39
                   7398: >4     string          Bin             binary
                   7399: >4     string          Asc             ASCII
                   7400: >7     string          A               (Directory List)
                   7401: >7     string          B               (Zaplet)
                   7402: >7     string          C               (Note)
                   7403: >7     string          D               (Program)
                   7404: >7     string          E               (Variable)
                   7405: >7     string          F               (List)
                   7406: >7     string          G               (Matrix)
                   7407: >7     string          H               (Library)
                   7408: >7     string          I               (Target List)
                   7409: >7     string          J               (ASCII Vector specification)
                   7410: >7     string          K               (wildcard)
                   7411: 
                   7412: # Summary: HP-38/39 calculator
                   7413: # Created by: Samuel Thibault <samuel.thibault@ens-lyon.org>
                   7414: 0      string          HP3
                   7415: >3     string          8               HP 38
                   7416: >3     string          9               HP 39
                   7417: >4     string          Bin             binary
                   7418: >4     string          Asc             ASCII
                   7419: >7     string          A               (Directory List)
                   7420: >7     string          B               (Zaplet)
                   7421: >7     string          C               (Note)
                   7422: >7     string          D               (Program)
                   7423: >7     string          E               (Variable)
                   7424: >7     string          F               (List)
                   7425: >7     string          G               (Matrix)
                   7426: >7     string          H               (Library)
                   7427: >7     string          I               (Target List)
                   7428: >7     string          J               (ASCII Vector specification)
                   7429: >7     string          K               (wildcard)
                   7430: 
                   7431: # hpBSD magic numbers
                   7432: 0      beshort         200             hp200 (68010) BSD
                   7433: >2     beshort         0407            impure binary
                   7434: >2     beshort         0410            read-only binary
                   7435: >2     beshort         0413            demand paged binary
                   7436: 0      beshort         300             hp300 (68020+68881) BSD
                   7437: >2     beshort         0407            impure binary
                   7438: >2     beshort         0410            read-only binary
                   7439: >2     beshort         0413            demand paged binary
                   7440: #
                   7441: # From David Gero <dgero@nortelnetworks.com>
                   7442: # HP-UX 10.20 core file format from /usr/include/sys/core.h
                   7443: # Unfortunately, HP-UX uses corehead blocks without specifying the order
                   7444: # There are four we care about:
                   7445: #     CORE_KERNEL, which starts with the string "HP-UX"
                   7446: #     CORE_EXEC, which contains the name of the command
                   7447: #     CORE_PROC, which contains the signal number that caused the core dump
                   7448: #     CORE_FORMAT, which contains the version of the core file format (== 1)
                   7449: # The only observed order in real core files is KERNEL, EXEC, FORMAT, PROC
                   7450: # but we include all 6 variations of the order of the first 3, and
                   7451: # assume that PROC will always be last
                   7452: # Order 1: KERNEL, EXEC, FORMAT, PROC
                   7453: 0x10           string  HP-UX
                   7454: >0             belong  2
                   7455: >>0xC          belong  0x3C
                   7456: >>>0x4C                belong  0x100
                   7457: >>>>0x58       belong  0x44
                   7458: >>>>>0xA0      belong  1
                   7459: >>>>>>0xAC     belong  4
                   7460: >>>>>>>0xB0    belong  1
                   7461: >>>>>>>>0xB4   belong  4               core file
                   7462: >>>>>>>>>0x90  string  >\0             from '%s'
                   7463: >>>>>>>>>0xC4  belong  3               - received SIGQUIT
                   7464: >>>>>>>>>0xC4  belong  4               - received SIGILL
                   7465: >>>>>>>>>0xC4  belong  5               - received SIGTRAP
                   7466: >>>>>>>>>0xC4  belong  6               - received SIGABRT
                   7467: >>>>>>>>>0xC4  belong  7               - received SIGEMT
                   7468: >>>>>>>>>0xC4  belong  8               - received SIGFPE
                   7469: >>>>>>>>>0xC4  belong  10              - received SIGBUS
                   7470: >>>>>>>>>0xC4  belong  11              - received SIGSEGV
                   7471: >>>>>>>>>0xC4  belong  12              - received SIGSYS
                   7472: >>>>>>>>>0xC4  belong  33              - received SIGXCPU
                   7473: >>>>>>>>>0xC4  belong  34              - received SIGXFSZ
                   7474: # Order 2: KERNEL, FORMAT, EXEC, PROC
                   7475: >>>0x4C                belong  1
                   7476: >>>>0x58       belong  4
                   7477: >>>>>0x5C      belong  1
                   7478: >>>>>>0x60     belong  0x100
                   7479: >>>>>>>0x6C    belong  0x44
                   7480: >>>>>>>>0xB4   belong  4               core file
                   7481: >>>>>>>>>0xA4  string  >\0             from '%s'
                   7482: >>>>>>>>>0xC4  belong  3               - received SIGQUIT
                   7483: >>>>>>>>>0xC4  belong  4               - received SIGILL
                   7484: >>>>>>>>>0xC4  belong  5               - received SIGTRAP
                   7485: >>>>>>>>>0xC4  belong  6               - received SIGABRT
                   7486: >>>>>>>>>0xC4  belong  7               - received SIGEMT
                   7487: >>>>>>>>>0xC4  belong  8               - received SIGFPE
                   7488: >>>>>>>>>0xC4  belong  10              - received SIGBUS
                   7489: >>>>>>>>>0xC4  belong  11              - received SIGSEGV
                   7490: >>>>>>>>>0xC4  belong  12              - received SIGSYS
                   7491: >>>>>>>>>0xC4  belong  33              - received SIGXCPU
                   7492: >>>>>>>>>0xC4  belong  34              - received SIGXFSZ
                   7493: # Order 3: FORMAT, KERNEL, EXEC, PROC
                   7494: 0x24           string  HP-UX
                   7495: >0             belong  1
                   7496: >>0xC          belong  4
                   7497: >>>0x10                belong  1
                   7498: >>>>0x14       belong  2
                   7499: >>>>>0x20      belong  0x3C
                   7500: >>>>>>0x60     belong  0x100
                   7501: >>>>>>>0x6C    belong  0x44
                   7502: >>>>>>>>0xB4   belong  4               core file
                   7503: >>>>>>>>>0xA4  string  >\0             from '%s'
                   7504: >>>>>>>>>0xC4  belong  3               - received SIGQUIT
                   7505: >>>>>>>>>0xC4  belong  4               - received SIGILL
                   7506: >>>>>>>>>0xC4  belong  5               - received SIGTRAP
                   7507: >>>>>>>>>0xC4  belong  6               - received SIGABRT
                   7508: >>>>>>>>>0xC4  belong  7               - received SIGEMT
                   7509: >>>>>>>>>0xC4  belong  8               - received SIGFPE
                   7510: >>>>>>>>>0xC4  belong  10              - received SIGBUS
                   7511: >>>>>>>>>0xC4  belong  11              - received SIGSEGV
                   7512: >>>>>>>>>0xC4  belong  12              - received SIGSYS
                   7513: >>>>>>>>>0xC4  belong  33              - received SIGXCPU
                   7514: >>>>>>>>>0xC4  belong  34              - received SIGXFSZ
                   7515: # Order 4: EXEC, KERNEL, FORMAT, PROC
                   7516: 0x64           string  HP-UX
                   7517: >0             belong  0x100
                   7518: >>0xC          belong  0x44
                   7519: >>>0x54                belong  2
                   7520: >>>>0x60       belong  0x3C
                   7521: >>>>>0xA0      belong  1
                   7522: >>>>>>0xAC     belong  4
                   7523: >>>>>>>0xB0    belong  1
                   7524: >>>>>>>>0xB4   belong  4               core file
                   7525: >>>>>>>>>0x44  string  >\0             from '%s'
                   7526: >>>>>>>>>0xC4  belong  3               - received SIGQUIT
                   7527: >>>>>>>>>0xC4  belong  4               - received SIGILL
                   7528: >>>>>>>>>0xC4  belong  5               - received SIGTRAP
                   7529: >>>>>>>>>0xC4  belong  6               - received SIGABRT
                   7530: >>>>>>>>>0xC4  belong  7               - received SIGEMT
                   7531: >>>>>>>>>0xC4  belong  8               - received SIGFPE
                   7532: >>>>>>>>>0xC4  belong  10              - received SIGBUS
                   7533: >>>>>>>>>0xC4  belong  11              - received SIGSEGV
                   7534: >>>>>>>>>0xC4  belong  12              - received SIGSYS
                   7535: >>>>>>>>>0xC4  belong  33              - received SIGXCPU
                   7536: >>>>>>>>>0xC4  belong  34              - received SIGXFSZ
                   7537: # Order 5: FORMAT, EXEC, KERNEL, PROC
                   7538: 0x78           string  HP-UX
                   7539: >0             belong  1
                   7540: >>0xC          belong  4
                   7541: >>>0x10                belong  1
                   7542: >>>>0x14       belong  0x100
                   7543: >>>>>0x20      belong  0x44
                   7544: >>>>>>0x68     belong  2
                   7545: >>>>>>>0x74    belong  0x3C
                   7546: >>>>>>>>0xB4   belong  4               core file
                   7547: >>>>>>>>>0x58  string  >\0             from '%s'
                   7548: >>>>>>>>>0xC4  belong  3               - received SIGQUIT
                   7549: >>>>>>>>>0xC4  belong  4               - received SIGILL
                   7550: >>>>>>>>>0xC4  belong  5               - received SIGTRAP
                   7551: >>>>>>>>>0xC4  belong  6               - received SIGABRT
                   7552: >>>>>>>>>0xC4  belong  7               - received SIGEMT
                   7553: >>>>>>>>>0xC4  belong  8               - received SIGFPE
                   7554: >>>>>>>>>0xC4  belong  10              - received SIGBUS
                   7555: >>>>>>>>>0xC4  belong  11              - received SIGSEGV
                   7556: >>>>>>>>>0xC4  belong  12              - received SIGSYS
                   7557: >>>>>>>>>0xC4  belong  33              - received SIGXCPU
                   7558: >>>>>>>>>0xC4  belong  34              - received SIGXFSZ
                   7559: # Order 6: EXEC, FORMAT, KERNEL, PROC
                   7560: >0             belong  0x100
                   7561: >>0xC          belong  0x44
                   7562: >>>0x54                belong  1
                   7563: >>>>0x60       belong  4
                   7564: >>>>>0x64      belong  1
                   7565: >>>>>>0x68     belong  2
                   7566: >>>>>>>0x74    belong  0x2C
                   7567: >>>>>>>>0xB4   belong  4               core file
                   7568: >>>>>>>>>0x44  string  >\0             from '%s'
                   7569: >>>>>>>>>0xC4  belong  3               - received SIGQUIT
                   7570: >>>>>>>>>0xC4  belong  4               - received SIGILL
                   7571: >>>>>>>>>0xC4  belong  5               - received SIGTRAP
                   7572: >>>>>>>>>0xC4  belong  6               - received SIGABRT
                   7573: >>>>>>>>>0xC4  belong  7               - received SIGEMT
                   7574: >>>>>>>>>0xC4  belong  8               - received SIGFPE
                   7575: >>>>>>>>>0xC4  belong  10              - received SIGBUS
                   7576: >>>>>>>>>0xC4  belong  11              - received SIGSEGV
                   7577: >>>>>>>>>0xC4  belong  12              - received SIGSYS
                   7578: >>>>>>>>>0xC4  belong  33              - received SIGXCPU
                   7579: >>>>>>>>>0xC4  belong  34              - received SIGXFSZ
                   7580: 
                   7581: 
                   7582: 
                   7583: #------------------------------------------------------------------------------
                   7584: # human68k:  file(1) magic for Human68k (X680x0 DOS) binary formats
                   7585: # Magic too short!
                   7586: #0             string  HU              Human68k
                   7587: #>68           string  LZX             LZX compressed
                   7588: #>>72          string  >\0             (version %s)
                   7589: #>(8.L+74)     string  LZX             LZX compressed
                   7590: #>>(8.L+78)    string  >\0             (version %s)
                   7591: #>60           belong  >0              binded
                   7592: #>(8.L+66)     string  #HUPAIR         hupair
                   7593: #>0            string  HU              X executable
                   7594: #>(8.L+74)     string  #LIBCV1         - linked PD LIBC ver 1
                   7595: #>4            belong  >0              - base address 0x%x
                   7596: #>28           belong  >0              not stripped
                   7597: #>32           belong  >0              with debug information
                   7598: #0             beshort 0x601a          Human68k Z executable
                   7599: #0             beshort 0x6000          Human68k object file
                   7600: #0             belong  0xd1000000      Human68k ar binary archive
                   7601: #0             belong  0xd1010000      Human68k ar ascii archive
                   7602: #0             beshort 0x0068          Human68k lib archive
                   7603: #4             string  LZX             Human68k LZX compressed
                   7604: #>8            string  >\0             (version %s)
                   7605: #>4            string  LZX             R executable
                   7606: #2             string  #HUPAIR         Human68k hupair R executable
                   7607: 
                   7608: #------------------------------------------------------------------------------
                   7609: # ibm370:  file(1) magic for IBM 370 and compatibles.
                   7610: #
                   7611: # "ibm370" said that 0x15d == 0535 was "ibm 370 pure executable".
                   7612: # What the heck *is* "USS/370"?
                   7613: # AIX 4.1's "/etc/magic" has
                   7614: #
                   7615: #      0       short           0535            370 sysV executable 
                   7616: #      >12     long            >0              not stripped
                   7617: #      >22     short           >0              - version %d
                   7618: #      >30     long            >0              - 5.2 format
                   7619: #      0       short           0530            370 sysV pure executable 
                   7620: #      >12     long            >0              not stripped
                   7621: #      >22     short           >0              - version %d
                   7622: #      >30     long            >0              - 5.2 format
                   7623: #
                   7624: # instead of the "USS/370" versions of the same magic numbers.
                   7625: #
                   7626: 0      beshort         0537            370 XA sysV executable 
                   7627: >12    belong          >0              not stripped
                   7628: >22    beshort         >0              - version %d
                   7629: >30    belong          >0              - 5.2 format
                   7630: 0      beshort         0532            370 XA sysV pure executable 
                   7631: >12    belong          >0              not stripped
                   7632: >22    beshort         >0              - version %d
                   7633: >30    belong          >0              - 5.2 format
                   7634: 0      beshort         054001          370 sysV pure executable
                   7635: >12    belong          >0              not stripped
                   7636: 0      beshort         055001          370 XA sysV pure executable
                   7637: >12    belong          >0              not stripped
                   7638: 0      beshort         056401          370 sysV executable
                   7639: >12    belong          >0              not stripped
                   7640: 0      beshort         057401          370 XA sysV executable
                   7641: >12    belong          >0              not stripped
                   7642: 0       beshort                0531            SVR2 executable (Amdahl-UTS)
                   7643: >12    belong          >0              not stripped
                   7644: >24     belong         >0              - version %ld
                   7645: 0      beshort         0534            SVR2 pure executable (Amdahl-UTS)
                   7646: >12    belong          >0              not stripped
                   7647: >24    belong          >0              - version %ld
                   7648: 0      beshort         0530            SVR2 pure executable (USS/370)
                   7649: >12    belong          >0              not stripped
                   7650: >24    belong          >0              - version %ld
                   7651: 0      beshort         0535            SVR2 executable (USS/370)
                   7652: >12    belong          >0              not stripped
                   7653: >24    belong          >0              - version %ld
                   7654: 
                   7655: #------------------------------------------------------------------------------
                   7656: # ibm6000:  file(1) magic for RS/6000 and the RT PC.
                   7657: #
                   7658: 0      beshort         0x01df          executable (RISC System/6000 V3.1) or obj module
                   7659: >12    belong          >0              not stripped
                   7660: # Breaks sun4 statically linked execs.
                   7661: #0      beshort                0x0103          executable (RT Version 2) or obj module
                   7662: #>2    byte            0x50            pure
                   7663: #>28   belong          >0              not stripped
                   7664: #>6    beshort         >0              - version %ld
                   7665: 0      beshort         0x0104          shared library
                   7666: 0      beshort         0x0105          ctab data
                   7667: 0      beshort         0xfe04          structured file
                   7668: 0      string          0xabcdef        AIX message catalog
                   7669: 0      belong          0x000001f9      AIX compiled message catalog
                   7670: 0      string          \<aiaff>        archive
                   7671: 0      string          \<bigaf>        archive (big format)
                   7672: 
                   7673: 
                   7674: #------------------------------------------------------------------------------
                   7675: # iff: file(1) magic for Interchange File Format (see also "audio" & "images")
                   7676: #
                   7677: # Daniel Quinlan (quinlan@yggdrasil.com) -- IFF was designed by Electronic
                   7678: # Arts for file interchange.  It has also been used by Apple, SGI, and
                   7679: # especially Commodore-Amiga.
                   7680: #
                   7681: # IFF files begin with an 8 byte FORM header, followed by a 4 character
                   7682: # FORM type, which is followed by the first chunk in the FORM.
                   7683: 
                   7684: 0      string          FORM            IFF data
                   7685: #>4    belong          x               \b, FORM is %d bytes long
                   7686: # audio formats
                   7687: >8     string          AIFF            \b, AIFF audio
                   7688: !:mime audio/x-aiff
                   7689: >8     string          AIFC            \b, AIFF-C compressed audio
                   7690: !:mime audio/x-aiff
                   7691: >8     string          8SVX            \b, 8SVX 8-bit sampled sound voice
                   7692: !:mime audio/x-aiff
                   7693: >8     string          16SV            \b, 16SV 16-bit sampled sound voice
                   7694: >8     string          SAMP            \b, SAMP sampled audio
                   7695: >8     string          MAUD            \b, MAUD MacroSystem audio
                   7696: >8     string          SMUS            \b, SMUS simple music
                   7697: >8     string          CMUS            \b, CMUS complex music
                   7698: # image formats
                   7699: >8     string          ILBMBMHD        \b, ILBM interleaved image
                   7700: >>20   beshort         x               \b, %d x
                   7701: >>22   beshort         x               %d
                   7702: >8     string          RGBN            \b, RGBN 12-bit RGB image
                   7703: >8     string          RGB8            \b, RGB8 24-bit RGB image
                   7704: >8     string          DEEP            \b, DEEP TVPaint/XiPaint image
                   7705: >8     string          DR2D            \b, DR2D 2-D object
                   7706: >8     string          TDDD            \b, TDDD 3-D rendering
                   7707: >8     string          LWOB            \b, LWOB 3-D object
                   7708: >8     string          LWO2            \b, LWO2 3-D object, v2
                   7709: >8     string          LWLO            \b, LWLO 3-D layered object
                   7710: >8     string          REAL            \b, REAL Real3D rendering
                   7711: >8     string          MC4D            \b, MC4D MaxonCinema4D rendering
                   7712: >8     string          ANIM            \b, ANIM animation
                   7713: >8     string          YAFA            \b, YAFA animation
                   7714: >8     string          SSA\            \b, SSA super smooth animation
                   7715: >8     string          ACBM            \b, ACBM continuous image
                   7716: >8     string          FAXX            \b, FAXX fax image
                   7717: # other formats
                   7718: >8     string          FTXT            \b, FTXT formatted text
                   7719: >8     string          CTLG            \b, CTLG message catalog
                   7720: >8     string          PREF            \b, PREF preferences
                   7721: >8     string          DTYP            \b, DTYP datatype description
                   7722: >8     string          PTCH            \b, PTCH binary patch
                   7723: >8     string          AMFF            \b, AMFF AmigaMetaFile format
                   7724: >8     string          WZRD            \b, WZRD StormWIZARD resource
                   7725: >8     string          DOC\            \b, DOC desktop publishing document
                   7726: 
                   7727: # These go at the end of the iff rules
                   7728: #
                   7729: # I don't see why these might collide with anything else.
                   7730: #
                   7731: # Interactive Fiction related formats
                   7732: #
                   7733: >8     string          IFRS            \b, Blorb Interactive Fiction
                   7734: >>24   string          Exec            with executable chunk
                   7735: >8     string          IFZS            \b, Z-machine or Glulx saved game file (Quetzal)
                   7736: #------------------------------------------------------------------------------
                   7737: # images:  file(1) magic for image formats (see also "iff", and "c-lang" for
                   7738: # XPM bitmaps)
                   7739: #
                   7740: # originally from jef@helios.ee.lbl.gov (Jef Poskanzer),
                   7741: # additions by janl@ifi.uio.no as well as others. Jan also suggested
                   7742: # merging several one- and two-line files into here.
                   7743: #
                   7744: # little magic: PCX (first byte is 0x0a)
                   7745: 
                   7746: # Targa - matches `povray', `ppmtotga' and `xv' outputs
                   7747: # by Philippe De Muyter <phdm@macqel.be>
                   7748: # at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11
                   7749: # at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise
                   7750: # at 3, leshort Index is 0 for povray, ppmtotga and xv outputs
                   7751: # `xv' recognizes only a subset of the following (RGB with pixelsize = 24)
                   7752: # `tgatoppm' recognizes a superset (Index may be anything)
                   7753: 1      belong&0xfff7ffff       0x01010000      Targa image data - Map
                   7754: >2     byte&8                  8               - RLE
                   7755: >12    leshort                 >0              %hd x
                   7756: >14    leshort                 >0              %hd
                   7757: 1      belong&0xfff7ffff       0x00020000      Targa image data - RGB
                   7758: >2     byte&8                  8               - RLE
                   7759: >12    leshort                 >0              %hd x
                   7760: >14    leshort                 >0              %hd
                   7761: 1      belong&0xfff7ffff       0x00030000      Targa image data - Mono
                   7762: >2     byte&8                  8               - RLE
                   7763: >12    leshort                 >0              %hd x
                   7764: >14    leshort                 >0              %hd
                   7765: 
                   7766: # PBMPLUS images
                   7767: # The next byte following the magic is always whitespace.
                   7768: 0      search/1        P1              Netpbm PBM image text
                   7769: !:mime image/x-portable-bitmap
                   7770: 0      search/1        P2              Netpbm PGM image text
                   7771: !:mime image/x-portable-greymap
                   7772: 0      search/1        P3              Netpbm PPM image text
                   7773: !:mime image/x-portable-pixmap
                   7774: 0      string          P4              Netpbm PBM "rawbits" image data
                   7775: !:mime image/x-portable-bitmap
                   7776: 0      string          P5              Netpbm PGM "rawbits" image data
                   7777: !:mime image/x-portable-greymap
                   7778: 0      string          P6              Netpbm PPM "rawbits" image data
                   7779: !:mime image/x-portable-pixmap
                   7780: 0      string          P7              Netpbm PAM image file
                   7781: !:mime image/x-portable-pixmap
                   7782: 
                   7783: # From: bryanh@giraffe-data.com (Bryan Henderson)
                   7784: 0      string          \117\072        Solitaire Image Recorder format
                   7785: >4     string          \013            MGI Type 11
                   7786: >4     string          \021            MGI Type 17
                   7787: 0      string          .MDA            MicroDesign data
                   7788: >21    byte            48              version 2
                   7789: >21    byte            51              version 3
                   7790: 0      string          .MDP            MicroDesign page data
                   7791: >21    byte            48              version 2
                   7792: >21    byte            51              version 3
                   7793: 
                   7794: # NIFF (Navy Interchange File Format, a modification of TIFF) images
                   7795: # [GRR:  this *must* go before TIFF]
                   7796: 0      string          IIN1            NIFF image data
                   7797: !:mime image/x-niff
                   7798: 
                   7799: # Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com)
                   7800: # The second word of TIFF files is the TIFF version number, 42, which has
                   7801: # never changed.  The TIFF specification recommends testing for it.
                   7802: 0      string          MM\x00\x2a      TIFF image data, big-endian
                   7803: !:mime image/tiff
                   7804: 0      string          II\x2a\x00      TIFF image data, little-endian
                   7805: !:mime image/tiff
                   7806: 
                   7807: # PNG [Portable Network Graphics, or "PNG's Not GIF"] images
                   7808: # (Greg Roelofs, newt@uchicago.edu)
                   7809: # (Albert Cahalan, acahalan@cs.uml.edu)
                   7810: #
                   7811: # 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ...
                   7812: #
                   7813: 0      string          \x89PNG\x0d\x0a\x1a\x0a         PNG image
                   7814: !:mime image/png
                   7815: >16    belong          x               \b, %ld x
                   7816: >20    belong          x               %ld,
                   7817: >24    byte            x               %d-bit
                   7818: >25    byte            0               grayscale,
                   7819: >25    byte            2               \b/color RGB,
                   7820: >25    byte            3               colormap,
                   7821: >25    byte            4               gray+alpha,
                   7822: >25    byte            6               \b/color RGBA,
                   7823: #>26   byte            0               deflate/32K,
                   7824: >28    byte            0               non-interlaced
                   7825: >28    byte            1               interlaced
                   7826: 
                   7827: # possible GIF replacements; none yet released!
                   7828: # (Greg Roelofs, newt@uchicago.edu)
                   7829: #
                   7830: # GRR 950115:  this was mine ("Zip GIF"):
                   7831: 0      string          GIF94z          ZIF image (GIF+deflate alpha)
                   7832: !:mime image/x-unknown
                   7833: #
                   7834: # GRR 950115:  this is Jeremy Wohl's Free Graphics Format (better):
                   7835: #                                      
                   7836: 0      string          FGF95a          FGF image (GIF+deflate beta)
                   7837: !:mime image/x-unknown
                   7838: #
                   7839: # GRR 950115:  this is Thomas Boutell's Portable Bitmap Format proposal
                   7840: # (best; not yet implemented):
                   7841: #                                      
                   7842: 0      string          PBF             PBF image (deflate compression)
                   7843: !:mime image/x-unknown
                   7844: 
                   7845: # GIF
                   7846: 0      string          GIF8            GIF image data
                   7847: !:mime image/gif
                   7848: >4     string          7a              \b, version 8%s,
                   7849: >4     string          9a              \b, version 8%s,
                   7850: >6     leshort         >0              %hd x
                   7851: >8     leshort         >0              %hd
                   7852: #>10   byte            &0x80           color mapped,
                   7853: #>10   byte&0x07       =0x00           2 colors
                   7854: #>10   byte&0x07       =0x01           4 colors
                   7855: #>10   byte&0x07       =0x02           8 colors
                   7856: #>10   byte&0x07       =0x03           16 colors
                   7857: #>10   byte&0x07       =0x04           32 colors
                   7858: #>10   byte&0x07       =0x05           64 colors
                   7859: #>10   byte&0x07       =0x06           128 colors
                   7860: #>10   byte&0x07       =0x07           256 colors
                   7861: 
                   7862: # ITC (CMU WM) raster files.  It is essentially a byte-reversed Sun raster,
                   7863: # 1 plane, no encoding.
                   7864: 0      string          \361\0\100\273  CMU window manager raster image data
                   7865: >4     lelong          >0              %d x
                   7866: >8     lelong          >0              %d,
                   7867: >12    lelong          >0              %d-bit
                   7868: 
                   7869: # Magick Image File Format
                   7870: 0      string          id=ImageMagick  MIFF image data
                   7871: 
                   7872: # Artisan
                   7873: 0      long            1123028772      Artisan image data
                   7874: >4     long            1               \b, rectangular 24-bit
                   7875: >4     long            2               \b, rectangular 8-bit with colormap
                   7876: >4     long            3               \b, rectangular 32-bit (24-bit with matte)
                   7877: 
                   7878: # FIG (Facility for Interactive Generation of figures), an object-based format
                   7879: 0      search/1        #FIG            FIG image text
                   7880: >5     string          x               \b, version %.3s
                   7881: 
                   7882: # PHIGS
                   7883: 0      string          ARF_BEGARF              PHIGS clear text archive
                   7884: 0      string          @(#)SunPHIGS            SunPHIGS
                   7885: # version number follows, in the form m.n
                   7886: >40    string          SunBin                  binary
                   7887: >32    string          archive                 archive
                   7888: 
                   7889: # GKS (Graphics Kernel System)
                   7890: 0      string          GKSM            GKS Metafile
                   7891: >24    string          SunGKS          \b, SunGKS
                   7892: 
                   7893: # CGM image files
                   7894: 0      string          BEGMF           clear text Computer Graphics Metafile
                   7895: 
                   7896: # MGR bitmaps  (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de)
                   7897: 0      string  yz      MGR bitmap, modern format, 8-bit aligned
                   7898: 0      string  zz      MGR bitmap, old format, 1-bit deep, 16-bit aligned
                   7899: 0      string  xz      MGR bitmap, old format, 1-bit deep, 32-bit aligned
                   7900: 0      string  yx      MGR bitmap, modern format, squeezed
                   7901: 
                   7902: # Fuzzy Bitmap (FBM) images
                   7903: 0      string          %bitmap\0       FBM image data
                   7904: >30    long            0x31            \b, mono
                   7905: >30    long            0x33            \b, color
                   7906: 
                   7907: # facsimile data
                   7908: 1      string          PC\ Research,\ Inc      group 3 fax data
                   7909: >29    byte            0               \b, normal resolution (204x98 DPI)
                   7910: >29    byte            1               \b, fine resolution (204x196 DPI)
                   7911: # From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at>
                   7912: 0      string          Sfff            structured fax file
                   7913: 
                   7914: 
                   7915: # PC bitmaps (OS/2, Windows BMP files)  (Greg Roelofs, newt@uchicago.edu)
                   7916: 0      string          BM
                   7917: >14    leshort         12              PC bitmap, OS/2 1.x format
                   7918: !:mime image/x-ms-bmp
                   7919: >>18   leshort         x               \b, %d x
                   7920: >>20   leshort         x               %d
                   7921: >14    leshort         64              PC bitmap, OS/2 2.x format
                   7922: !:mime image/x-ms-bmp
                   7923: >>18   leshort         x               \b, %d x
                   7924: >>20   leshort         x               %d
                   7925: >14    leshort         40              PC bitmap, Windows 3.x format
                   7926: !:mime image/x-ms-bmp
                   7927: >>18   lelong          x               \b, %d x
                   7928: >>22   lelong          x               %d x
                   7929: >>28   leshort         x               %d
                   7930: >14    leshort         128             PC bitmap, Windows NT/2000 format
                   7931: !:mime image/x-ms-bmp
                   7932: >>18   lelong          x               \b, %d x
                   7933: >>22   lelong          x               %d x
                   7934: >>28   leshort         x               %d
                   7935: # Too simple - MPi
                   7936: #0     string          IC              PC icon data
                   7937: #0     string          PI              PC pointer image data
                   7938: #0     string          CI              PC color icon data
                   7939: #0     string          CP              PC color pointer image data
                   7940: # Conflicts with other entries [BABYL]
                   7941: #0     string          BA              PC bitmap array data
                   7942: 
                   7943: # XPM icons (Greg Roelofs, newt@uchicago.edu)
                   7944: # note possible collision with C/REXX entry in c-lang; currently commented out
                   7945: 0      search/1        /*\ XPM\ */     X pixmap image text
                   7946: 
                   7947: # Utah Raster Toolkit RLE images (janl@ifi.uio.no)
                   7948: 0      leshort         0xcc52          RLE image data,
                   7949: >6     leshort         x               %d x
                   7950: >8     leshort         x               %d
                   7951: >2     leshort         >0              \b, lower left corner: %d
                   7952: >4     leshort         >0              \b, lower right corner: %d
                   7953: >10    byte&0x1        =0x1            \b, clear first
                   7954: >10    byte&0x2        =0x2            \b, no background
                   7955: >10    byte&0x4        =0x4            \b, alpha channel
                   7956: >10    byte&0x8        =0x8            \b, comment
                   7957: >11    byte            >0              \b, %d color channels
                   7958: >12    byte            >0              \b, %d bits per pixel
                   7959: >13    byte            >0              \b, %d color map channels
                   7960: 
                   7961: # image file format (Robert Potter, potter@cs.rochester.edu)
                   7962: 0      string          Imagefile\ version-     iff image data
                   7963: # this adds the whole header (inc. version number), informative but longish
                   7964: >10    string          >\0             %s
                   7965: 
                   7966: # Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com)
                   7967: 0      belong          0x59a66a95      Sun raster image data
                   7968: >4     belong          >0              \b, %d x
                   7969: >8     belong          >0              %d,
                   7970: >12    belong          >0              %d-bit,
                   7971: #>16   belong          >0              %d bytes long,
                   7972: >20    belong          0               old format,
                   7973: #>20   belong          1               standard,
                   7974: >20    belong          2               compressed,
                   7975: >20    belong          3               RGB,
                   7976: >20    belong          4               TIFF,
                   7977: >20    belong          5               IFF,
                   7978: >20    belong          0xffff          reserved for testing,
                   7979: >24    belong          0               no colormap
                   7980: >24    belong          1               RGB colormap
                   7981: >24    belong          2               raw colormap
                   7982: #>28   belong          >0              colormap is %d bytes long
                   7983: 
                   7984: # SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com)
                   7985: #
                   7986: # See
                   7987: #      http://reality.sgi.com/grafica/sgiimage.html
                   7988: #
                   7989: 0      beshort         474             SGI image data
                   7990: #>2    byte            0               \b, verbatim
                   7991: >2     byte            1               \b, RLE
                   7992: #>3    byte            1               \b, normal precision
                   7993: >3     byte            2               \b, high precision
                   7994: >4     beshort         x               \b, %d-D
                   7995: >6     beshort         x               \b, %d x
                   7996: >8     beshort         x               %d
                   7997: >10    beshort         x               \b, %d channel
                   7998: >10    beshort         !1              \bs
                   7999: >80    string          >0              \b, "%s"
                   8000: 
                   8001: 0      string          IT01            FIT image data
                   8002: >4     belong          x               \b, %d x
                   8003: >8     belong          x               %d x
                   8004: >12    belong          x               %d
                   8005: #
                   8006: 0      string          IT02            FIT image data
                   8007: >4     belong          x               \b, %d x
                   8008: >8     belong          x               %d x
                   8009: >12    belong          x               %d
                   8010: #
                   8011: 2048   string          PCD_IPI         Kodak Photo CD image pack file
                   8012: >0xe02 byte&0x03       0x00            , landscape mode
                   8013: >0xe02 byte&0x03       0x01            , portrait mode
                   8014: >0xe02 byte&0x03       0x02            , landscape mode
                   8015: >0xe02 byte&0x03       0x03            , portrait mode
                   8016: 0      string          PCD_OPA         Kodak Photo CD overview pack file
                   8017: 
                   8018: # FITS format.  Jeff Uphoff <juphoff@tarsier.cv.nrao.edu>
                   8019: # FITS is the Flexible Image Transport System, the de facto standard for
                   8020: # data and image transfer, storage, etc., for the astronomical community.
                   8021: # (FITS floating point formats are big-endian.)
                   8022: 0      string  SIMPLE\ \ =     FITS image data
                   8023: >109   string  8               \b, 8-bit, character or unsigned binary integer
                   8024: >108   string  16              \b, 16-bit, two's complement binary integer
                   8025: >107   string  \ 32            \b, 32-bit, two's complement binary integer
                   8026: >107   string  -32             \b, 32-bit, floating point, single precision
                   8027: >107   string  -64             \b, 64-bit, floating point, double precision
                   8028: 
                   8029: # other images
                   8030: 0      string  This\ is\ a\ BitMap\ file       Lisp Machine bit-array-file
                   8031: 
                   8032: # From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image
                   8033: # stuff.
                   8034: #
                   8035: 0      beshort         0x1010          PEX Binary Archive
                   8036: 
                   8037: # DICOM medical imaging data
                   8038: 128    string  DICM                    DICOM medical imaging data
                   8039: !:mime application/dicom
                   8040: 
                   8041: # XWD - X Window Dump file.
                   8042: #   As described in /usr/X11R6/include/X11/XWDFile.h
                   8043: #   used by the xwd program.
                   8044: #   Bradford Castalia, idaeim, 1/01
                   8045: 4      belong  7                       XWD X Window Dump image data
                   8046: >100   string  >\0                     \b, "%s"
                   8047: >16    belong  x                       \b, %dx
                   8048: >20    belong  x                       \b%dx
                   8049: >12    belong  x                       \b%d
                   8050: 
                   8051: # PDS - Planetary Data System
                   8052: #   These files use Parameter Value Language in the header section.
                   8053: #   Unfortunately, there is no certain magic, but the following
                   8054: #   strings have been found to be most likely.
                   8055: 0      string  NJPL1I00                PDS (JPL) image data
                   8056: 2      string  NJPL1I                  PDS (JPL) image data
                   8057: 0      string  CCSD3ZF                 PDS (CCSD) image data
                   8058: 2      string  CCSD3Z                  PDS (CCSD) image data
                   8059: 0      string  PDS_                    PDS image data
                   8060: 0      string  LBLSIZE=                PDS (VICAR) image data
                   8061: 
                   8062: # pM8x: ATARI STAD compressed bitmap format
                   8063: #
                   8064: # from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001
                   8065: # p M 8 5/6 xx yy zz data...
                   8066: # Atari ST STAD bitmap is always 640x400, bytewise runlength compressed.
                   8067: # bytes either run horizontally (pM85) or vertically (pM86). yy is the
                   8068: # most frequent byte, xx and zz are runlength escape codes, where xx is
                   8069: # used for runs of yy.
                   8070: #
                   8071: 0      string  pM85            Atari ST STAD bitmap image data (hor)
                   8072: >5     byte    0x00            (white background)
                   8073: >5     byte    0xFF            (black background)
                   8074: 0      string  pM86            Atari ST STAD bitmap image data (vert)
                   8075: >5     byte    0x00            (white background)
                   8076: >5     byte    0xFF            (black background)
                   8077: 
                   8078: # Gürkan Sengün <gurkan@linuks.mine.nu>, www.linuks.mine.nu
                   8079: # http://www.atarimax.com/jindroush.atari.org/afmtatr.html
                   8080: 0      leshort 0x0296          Atari ATR image
                   8081: 
                   8082: # XXX:
                   8083: # This is bad magic 0x5249 == 'RI' conflicts with RIFF and other
                   8084: # magic.
                   8085: # SGI RICE image file <mpruett@sgi.com>
                   8086: #0     beshort 0x5249          RICE image
                   8087: #>2    beshort x               v%d
                   8088: #>4    beshort x               (%d x
                   8089: #>6    beshort x               %d)
                   8090: #>8    beshort 0               8 bit
                   8091: #>8    beshort 1               10 bit
                   8092: #>8    beshort 2               12 bit
                   8093: #>8    beshort 3               13 bit
                   8094: #>10   beshort 0               4:2:2
                   8095: #>10   beshort 1               4:2:2:4
                   8096: #>10   beshort 2               4:4:4
                   8097: #>10   beshort 3               4:4:4:4
                   8098: #>12   beshort 1               RGB
                   8099: #>12   beshort 2               CCIR601
                   8100: #>12   beshort 3               RP175
                   8101: #>12   beshort 4               YUV
                   8102: 
                   8103: #------------------------------------------------------------------------------
                   8104: #
                   8105: # Marco Schmidt (marcoschmidt@users.sourceforge.net) -- an image  file format
                   8106: # for the EPOC operating system, which is used with PDAs like those from Psion
                   8107: #
                   8108: # see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description
                   8109: # of various EPOC file formats
                   8110: 
                   8111: 0      string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file
                   8112: 
                   8113: # PCX image files
                   8114: # From: Dan Fandrich <dan@coneharvesters.com>
                   8115: 0      beshort         0x0a00  PCX ver. 2.5 image data
                   8116: 0      beshort         0x0a02  PCX ver. 2.8 image data, with palette
                   8117: 0      beshort         0x0a03  PCX ver. 2.8 image data, without palette
                   8118: 0      beshort         0x0a04  PCX for Windows image data
                   8119: 0      beshort         0x0a05  PCX ver. 3.0 image data
                   8120: >4     leshort         x      bounding box [%hd,
                   8121: >6     leshort         x      %hd] -
                   8122: >8     leshort         x      [%hd,
                   8123: >10    leshort         x      %hd],
                   8124: >65    byte            >1      %d planes each of
                   8125: >3     byte            x       %hhd-bit
                   8126: >68    byte            0       image,
                   8127: >68    byte            1       colour,
                   8128: >68    byte            2       grayscale,
                   8129: >68    byte            >2      image,
                   8130: >68    byte            <0      image,
                   8131: >12    leshort         >0      %hd x
                   8132: >>14   leshort         x      %hd dpi,
                   8133: >2     byte            0       uncompressed
                   8134: >2     byte            1       RLE compressed
                   8135: 
                   8136: # Adobe Photoshop
                   8137: 0      string          8BPS Adobe Photoshop Image
                   8138: !:mime image/vnd.adobe.photoshop
                   8139: 
                   8140: # XV thumbnail indicator (ThMO)
                   8141: 0      string          P7\ 332         XV thumbnail image data
                   8142: 
                   8143: # NITF is defined by United States MIL-STD-2500A
                   8144: 0      string  NITF    National Imagery Transmission Format
                   8145: >25    string  >\0     dated %.14s
                   8146: 
                   8147: # GEM Image: Version 1, Headerlen 8 (Wolfram Kleff)
                   8148: 0      belong          0x00010008      GEM Image data
                   8149: >12    beshort         x               %d x
                   8150: >14    beshort         x               %d,
                   8151: >4     beshort         x               %d planes,
                   8152: >8     beshort         x               %d x
                   8153: >10    beshort         x               %d pixelsize
                   8154: 
                   8155: # GEM Metafile (Wolfram Kleff)
                   8156: 0      lelong          0x0018FFFF      GEM Metafile data
                   8157: >4     leshort         x               version %d
                   8158: 
                   8159: #
                   8160: # SMJPEG. A custom Motion JPEG format used by Loki Entertainment
                   8161: # Software Torbjorn Andersson <d91tan@Update.UU.SE>.
                   8162: #
                   8163: 0      string  \0\nSMJPEG      SMJPEG
                   8164: >8     belong  x               %d.x data
                   8165: # According to the specification you could find any number of _TXT
                   8166: # headers here, but I can't think of any way of handling that. None of
                   8167: # the SMJPEG files I tried it on used this feature. Even if such a
                   8168: # file is encountered the output should still be reasonable.
                   8169: >16    string  _SND            \b,
                   8170: >>24   beshort >0              %d Hz
                   8171: >>26   byte    8               8-bit
                   8172: >>26   byte    16              16-bit
                   8173: >>28   string  NONE            uncompressed
                   8174: # >>28 string  APCM            ADPCM compressed
                   8175: >>27   byte    1               mono
                   8176: >>28   byte    2               stereo
                   8177: # Help! Isn't there any way to avoid writing this part twice?
                   8178: >>32   string  _VID            \b,
                   8179: # >>>48        string  JFIF            JPEG
                   8180: >>>40  belong  >0              %d frames
                   8181: >>>44  beshort >0              (%d x
                   8182: >>>46  beshort >0              %d)
                   8183: >16    string  _VID            \b,
                   8184: # >>32 string  JFIF            JPEG
                   8185: >>24   belong  >0              %d frames
                   8186: >>28   beshort >0              (%d x
                   8187: >>30   beshort >0              %d)
                   8188: 
                   8189: 0      string  Paint\ Shop\ Pro\ Image\ File   Paint Shop Pro Image File
                   8190: 
                   8191: # "thumbnail file" (icon)
                   8192: # descended from "xv", but in use by other applications as well (Wolfram Kleff)
                   8193: 0       string          P7\ 332         XV "thumbnail file" (icon) data
                   8194: 
                   8195: # taken from fkiss: (<yav@mte.biglobe.ne.jp> ?)
                   8196: 0       string          KiSS            KISS/GS
                   8197: >4      byte            16              color
                   8198: >>5     byte            x               %d bit
                   8199: >>8     leshort         x               %d colors
                   8200: >>10    leshort         x               %d groups
                   8201: >4      byte            32              cell
                   8202: >>5     byte            x               %d bit
                   8203: >>8     leshort         x               %d x
                   8204: >>10    leshort         x               %d
                   8205: >>12    leshort         x               +%d
                   8206: >>14    leshort         x               +%d
                   8207: 
                   8208: # Webshots (www.webshots.com), by John Harrison
                   8209: 0       string          C\253\221g\230\0\0\0 Webshots Desktop .wbz file
                   8210: 
                   8211: # Hercules DASD image files
                   8212: # From Jan Jaeger <jj@septa.nl>
                   8213: 0       string  CKD_P370        Hercules CKD DASD image file
                   8214: >8      long    x               \b, %d heads per cylinder
                   8215: >12     long    x               \b, track size %d bytes
                   8216: >16     byte    x               \b, device type 33%2.2X
                   8217: 
                   8218: 0       string  CKD_C370        Hercules compressed CKD DASD image file
                   8219: >8      long    x               \b, %d heads per cylinder
                   8220: >12     long    x               \b, track size %d bytes
                   8221: >16     byte    x               \b, device type 33%2.2X
                   8222: 
                   8223: 0       string  CKD_S370        Hercules CKD DASD shadow file
                   8224: >8      long    x               \b, %d heads per cylinder
                   8225: >12     long    x               \b, track size %d bytes
                   8226: >16     byte    x               \b, device type 33%2.2X
                   8227: 
                   8228: # Squeak images and programs - etoffi@softhome.net
                   8229: 0      string          \146\031\0\0    Squeak image data
                   8230: 0      search/1        'From\040Squeak Squeak program text
                   8231: 
                   8232: # partimage: file(1) magic for PartImage files (experimental, incomplete)
                   8233: # Author: Hans-Joachim Baader <hjb@pro-linux.de>
                   8234: 0              string  PaRtImAgE-VoLuMe        PartImage
                   8235: >0x0020                string  0.6.1           file version %s
                   8236: >>0x0060       lelong  >-1             volume %ld
                   8237: #>>0x0064 8 byte identifier
                   8238: #>>0x007c reserved
                   8239: >>0x0200       string  >\0             type %s
                   8240: >>0x1400       string  >\0             device %s,
                   8241: >>0x1600       string  >\0             original filename %s,
                   8242: # Some fields omitted
                   8243: >>0x2744       lelong  0               not compressed
                   8244: >>0x2744       lelong  1               gzip compressed
                   8245: >>0x2744       lelong  2               bzip2 compressed
                   8246: >>0x2744       lelong  >2              compressed with unknown algorithm
                   8247: >0x0020                string  >0.6.1          file version %s
                   8248: >0x0020                string  <0.6.1          file version %s
                   8249: 
                   8250: # DCX is multi-page PCX, using a simple header of up to 1024
                   8251: # offsets for the respective PCX components.
                   8252: # From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>
                   8253: 0      lelong  987654321       DCX multi-page PCX image data
                   8254: 
                   8255: # Simon Walton <simonw@matteworld.com>
                   8256: # Kodak Cineon format for scanned negatives
                   8257: # http://www.kodak.com/US/en/motion/support/dlad/
                   8258: 0      lelong  0xd75f2a80      Cineon image data
                   8259: >200   belong  >0              \b, %ld x
                   8260: >204   belong  >0              %ld
                   8261: 
                   8262: 
                   8263: # Bio-Rad .PIC is an image format used by microscope control systems
                   8264: # and related image processing software used by biologists.
                   8265: # From: Vebjorn Ljosa <vebjorn@ljosa.com>
                   8266: 54     leshort 12345           Bio-Rad .PIC Image File
                   8267: >0     leshort >0              %hd x
                   8268: >2     leshort >0              %hd,
                   8269: >4     leshort =1              1 image in file
                   8270: >4     leshort >1              %hd images in file
                   8271: 
                   8272: # From Jan "Yenya" Kasprzak <kas@fi.muni.cz>
                   8273: # The description of *.mrw format can be found at
                   8274: # http://www.dalibor.cz/minolta/raw_file_format.htm
                   8275: 0      string  \000MRM                 Minolta Dimage camera raw image data
                   8276: 
                   8277: # Summary: DjVu image / document
                   8278: # Extension: .djvu
                   8279: # Reference: http://djvu.org/docs/DjVu3Spec.djvu
                   8280: # Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
                   8281: # Modified by (1): Abel Cheung <abelcheung@gmail.com>
                   8282: 0      string  AT&TFORM
                   8283: !:mime image/vnd.djvu
                   8284: >12    string  DJVM            DjVu multiple page document
                   8285: >12    string  DJVU            DjVu image or single page document
                   8286: >12    string  DJVI            DjVu shared document
                   8287: >12    string  THUM            DjVu page thumbnails
                   8288: 
                   8289: 
                   8290: # From Marc Espie
                   8291: 0      lelong  20000630                OpenEXR image data
                   8292: 
                   8293: # From: Tom Hilinski <tom.hilinski@comcast.net>
                   8294: # http://www.unidata.ucar.edu/packages/netcdf/
                   8295: 0      string  CDF\001                 NetCDF Data Format data
                   8296: 
                   8297: #-----------------------------------------------------------------------
                   8298: # Hierarchical Data Format, used to facilitate scientific data exchange
                   8299: # specifications at http://hdf.ncsa.uiuc.edu/
                   8300: 0      belong  0x0e031301      Hierarchical Data Format (version 4) data
                   8301: !:mime application/x-hdf
                   8302: 0      string  \211HDF\r\n\032 Hierarchical Data Format (version 5) data
                   8303: !:mime application/x-hdf
                   8304: 
                   8305: # From: Tobias Burnus <burnus@net-b.de>
                   8306: # Xara (for a while: Corel Xara) is a graphic package, see
                   8307: # http://www.xara.com/ for Windows and as GPL application for Linux
                   8308: 0      string  XARA\243\243    Xara graphics file
                   8309: 
                   8310: # http://www.cartesianinc.com/Tech/
                   8311: 0      string  CPC\262         Cartesian Perceptual Compression image
                   8312: !:mime image/x-cpi
                   8313: 
                   8314: # From Albert Cahalan <acahalan@gmail.com>
                   8315: # puredigital used it for the CVS disposable camcorder
                   8316: #8       lelong  4       ZBM bitmap image data
                   8317: #>4      leshort x       %u x
                   8318: #>6      leshort x       %u
                   8319: 
                   8320: # From Albert Cahalan <acahalan@gmail.com>
                   8321: # uncompressed 5:6:5 HighColor image for OLPC XO firmware icons
                   8322: 0       string C565     OLPC firmware icon image data
                   8323: >4      leshort x       %u x
                   8324: >6      leshort x       %u
                   8325: 
                   8326: # Applied Images - Image files from Cytovision
                   8327: # Gustavo Junior Alves <gjalves@gjalves.com.br>
                   8328: 0      string  \xce\xda\xde\xfa        Cytovision Metaphases file
                   8329: 0      string  \xed\xad\xef\xac        Cytovision Karyotype file
                   8330: 0      string  \x0b\x00\x03\x00        Cytovision FISH Probe file
                   8331: 0      string  \xed\xfe\xda\xbe        Cytovision FLEX file
                   8332: 0      string  \xed\xab\xed\xfe        Cytovision FLEX file
                   8333: 0      string  \xad\xfd\xea\xad        Cytovision RATS file
                   8334: 
                   8335: # Wavelet Scalar Quantization format used in gray-scale fingerprint images
                   8336: # From Tano M Fotang <mfotang@quanteq.com>
                   8337: 0      string  \xff\xa0\xff\xa8\x00    Wavelet Scalar Quantization image data
                   8338: 
                   8339: # Type:        Ulead Photo Explorer5 (.pe5)
                   8340: # URL: http://www.jisyo.com/cgibin/view.cgi?EXT=pe5 (Japanese)
                   8341: # From:        Simon Horman <horms@debian.org>
                   8342: 0      string  IIO2H   Ulead Photo Explorer5
                   8343: 
                   8344: # Type:        X11 cursor
                   8345: # URL: http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup
                   8346: # From:        Mathias Brodala <info@noctus.net>
                   8347: 0      string  Xcur    X11 cursor
                   8348: 
                   8349: #------------------------------------------------------------------------------
                   8350: # inform:  file(1) magic for Inform interactive fiction language
                   8351: 
                   8352: # URL:  http://www.inform-fiction.org/
                   8353: # From: Reuben Thomas <rrt@sc3d.org>
                   8354: 
                   8355: 0      search/cB/100   constant\ story         Inform source text
                   8356: 
                   8357: #------------------------------------------------------------------------------
                   8358: # intel:  file(1) magic for x86 Unix
                   8359: #
                   8360: # Various flavors of x86 UNIX executable/object (other than Xenix, which
                   8361: # is in "microsoft").  DOS is in "msdos"; the ambitious soul can do
                   8362: # Windows as well.
                   8363: #
                   8364: # Windows NT belongs elsewhere, as you need x86 and MIPS and Alpha and
                   8365: # whatever comes next (HP-PA Hummingbird?).  OS/2 may also go elsewhere
                   8366: # as well, if, as, and when IBM makes it portable.
                   8367: #
                   8368: # The `versions' should be un-commented if they work for you.
                   8369: # (Was the problem just one of endianness?)
                   8370: #
                   8371: 0      leshort         0502            basic-16 executable
                   8372: >12    lelong          >0              not stripped
                   8373: #>22   leshort         >0              - version %ld
                   8374: 0      leshort         0503            basic-16 executable (TV)
                   8375: >12    lelong          >0              not stripped
                   8376: #>22   leshort         >0              - version %ld
                   8377: 0      leshort         0510            x86 executable
                   8378: >12    lelong          >0              not stripped
                   8379: 0      leshort         0511            x86 executable (TV)
                   8380: >12    lelong          >0              not stripped
                   8381: 0      leshort         =0512           iAPX 286 executable small model (COFF)
                   8382: >12    lelong          >0              not stripped
                   8383: #>22   leshort         >0              - version %ld
                   8384: 0      leshort         =0522           iAPX 286 executable large model (COFF)
                   8385: >12    lelong          >0              not stripped
                   8386: #>22   leshort         >0              - version %ld
                   8387: # SGI labeled the next entry as "iAPX 386 executable" --Dan Quinlan
                   8388: 0      leshort         =0514           80386 COFF executable
                   8389: >12    lelong          >0              not stripped
                   8390: >22    leshort         >0              - version %ld
                   8391: 
                   8392: # rom: file(1) magic for BIOS ROM Extensions found in intel machines
                   8393: #      mapped into memory between 0xC0000 and 0xFFFFF
                   8394: # From Gürkan Sengün <gurkan@linuks.mine.nu>, www.linuks.mine.nu
                   8395: 0        beshort         0x55AA       BIOS (ia32) ROM Ext.
                   8396: >5       string          USB          USB
                   8397: >7       string          LDR          UNDI image
                   8398: >30      string          IBM          IBM comp. Video
                   8399: >26      string          Adaptec      Adaptec
                   8400: >28      string          Adaptec      Adaptec
                   8401: >42      string          PROMISE      Promise
                   8402: >2       byte            x            (%d*512)
                   8403: 
                   8404: #------------------------------------------------------------------------------
                   8405: # interleaf:  file(1) magic for InterLeaf TPS:
                   8406: #
                   8407: 0      string          =\210OPS        Interleaf saved data
                   8408: 0      string          =<!OPS          Interleaf document text
                   8409: >5     string          ,\ Version\ =   \b, version
                   8410: >>17   string          >\0             %.3s
                   8411: 
                   8412: #------------------------------------------------------------------------------
                   8413: # island:  file(1) magic for IslandWite/IslandDraw, from SunOS 5.5.1
                   8414: # "/etc/magic":
                   8415: # From: guy@netapp.com (Guy Harris)
                   8416: #
                   8417: 4      string          pgscriptver     IslandWrite document
                   8418: 13     string          DrawFile        IslandDraw document
                   8419: 
                   8420: 
                   8421: #------------------------------------------------------------------------------
                   8422: # ispell:  file(1) magic for ispell
                   8423: #
                   8424: # Ispell 3.0 has a magic of 0x9601 and ispell 3.1 has 0x9602.  This magic
                   8425: # will match 0x9600 through 0x9603 in *both* little endian and big endian.
                   8426: # (No other current magic entries collide.)
                   8427: #
                   8428: # Updated by Daniel Quinlan (quinlan@yggdrasil.com)
                   8429: #
                   8430: 0      leshort&0xFFFC  0x9600          little endian ispell
                   8431: >0     byte            0               hash file (?),
                   8432: >0     byte            1               3.0 hash file,
                   8433: >0     byte            2               3.1 hash file,
                   8434: >0     byte            3               hash file (?),
                   8435: >2     leshort         0x00            8-bit, no capitalization, 26 flags
                   8436: >2     leshort         0x01            7-bit, no capitalization, 26 flags
                   8437: >2     leshort         0x02            8-bit, capitalization, 26 flags
                   8438: >2     leshort         0x03            7-bit, capitalization, 26 flags
                   8439: >2     leshort         0x04            8-bit, no capitalization, 52 flags
                   8440: >2     leshort         0x05            7-bit, no capitalization, 52 flags
                   8441: >2     leshort         0x06            8-bit, capitalization, 52 flags
                   8442: >2     leshort         0x07            7-bit, capitalization, 52 flags
                   8443: >2     leshort         0x08            8-bit, no capitalization, 128 flags
                   8444: >2     leshort         0x09            7-bit, no capitalization, 128 flags
                   8445: >2     leshort         0x0A            8-bit, capitalization, 128 flags
                   8446: >2     leshort         0x0B            7-bit, capitalization, 128 flags
                   8447: >2     leshort         0x0C            8-bit, no capitalization, 256 flags
                   8448: >2     leshort         0x0D            7-bit, no capitalization, 256 flags
                   8449: >2     leshort         0x0E            8-bit, capitalization, 256 flags
                   8450: >2     leshort         0x0F            7-bit, capitalization, 256 flags
                   8451: >4     leshort         >0              and %d string characters
                   8452: 0      beshort&0xFFFC  0x9600          big endian ispell
                   8453: >1     byte            0               hash file (?),
                   8454: >1     byte            1               3.0 hash file,
                   8455: >1     byte            2               3.1 hash file,
                   8456: >1     byte            3               hash file (?),
                   8457: >2     beshort         0x00            8-bit, no capitalization, 26 flags
                   8458: >2     beshort         0x01            7-bit, no capitalization, 26 flags
                   8459: >2     beshort         0x02            8-bit, capitalization, 26 flags
                   8460: >2     beshort         0x03            7-bit, capitalization, 26 flags
                   8461: >2     beshort         0x04            8-bit, no capitalization, 52 flags
                   8462: >2     beshort         0x05            7-bit, no capitalization, 52 flags
                   8463: >2     beshort         0x06            8-bit, capitalization, 52 flags
                   8464: >2     beshort         0x07            7-bit, capitalization, 52 flags
                   8465: >2     beshort         0x08            8-bit, no capitalization, 128 flags
                   8466: >2     beshort         0x09            7-bit, no capitalization, 128 flags
                   8467: >2     beshort         0x0A            8-bit, capitalization, 128 flags
                   8468: >2     beshort         0x0B            7-bit, capitalization, 128 flags
                   8469: >2     beshort         0x0C            8-bit, no capitalization, 256 flags
                   8470: >2     beshort         0x0D            7-bit, no capitalization, 256 flags
                   8471: >2     beshort         0x0E            8-bit, capitalization, 256 flags
                   8472: >2     beshort         0x0F            7-bit, capitalization, 256 flags
                   8473: >4     beshort         >0              and %d string characters
                   8474: # ispell 4.0 hash files  kromJx <kromJx@crosswinds.net>
                   8475: # Ispell 4.0
                   8476: 0       string          ISPL            ispell
                   8477: >4      long            x               hash file version %d,
                   8478: >8      long            x               lexletters %d,
                   8479: >12     long            x               lexsize %d,
                   8480: >16     long            x               hashsize %d,
                   8481: >20     long            x               stblsize %d
                   8482: #------------------------------------------------------------
                   8483: # Java ByteCode and Mach-O binaries (e.g., Mac OS X) use the
                   8484: # same magic number, 0xcafebabe, so they are both handled
                   8485: # in the entry called "cafebabe".
                   8486: #------------------------------------------------------------
                   8487: # Java serialization
                   8488: # From Martin Pool (m.pool@pharos.com.au)
                   8489: 0      beshort         0xaced          Java serialization data
                   8490: >2     beshort         >0x0004         \b, version %d
                   8491: 
                   8492: 0      belong          0xfeedfeed      Java KeyStore
                   8493: !:mime application/x-java-keystore
                   8494: 0      belong          0xcececece      Java JCE KeyStore
                   8495: !:mime application/x-java-jce-keystore
                   8496: 
                   8497: # Dalvik .dex format. http://retrodev.com/android/dexformat.html
                   8498: # From <mkf@google.com> "Mike Fleming"
                   8499: 0      string  dex\n
                   8500: >0     regex   dex\n[0-9][0-9][0-9]\0  Dalvik dex file
                   8501: >4     string  >000                    version %s
                   8502: 0      string  dey\n
                   8503: >0     regex   dey\n[0-9][0-9][0-9]\0  Dalvik dex file (optimized for host)
                   8504: >4     string  >000                    version %s
                   8505: 
                   8506: 
                   8507: #------------------------------------------------------------------------------
                   8508: # JPEG images
                   8509: # SunOS 5.5.1 had
                   8510: #
                   8511: #      0       string          \377\330\377\340        JPEG file
                   8512: #      0       string          \377\330\377\356        JPG file
                   8513: #
                   8514: # both of which turn into "JPEG image data" here.
                   8515: #
                   8516: 0      beshort         0xffd8          JPEG image data
                   8517: !:mime image/jpeg
                   8518: !:strength +1
                   8519: >6     string          JFIF            \b, JFIF standard
                   8520: # The following added by Erik Rossen <rossen@freesurf.ch> 1999-09-06
                   8521: # in a vain attempt to add image size reporting for JFIF.  Note that these
                   8522: # tests are not fool-proof since some perfectly valid JPEGs are currently
                   8523: # impossible to specify in magic(4) format.
                   8524: # First, a little JFIF version info:
                   8525: >>11   byte            x               \b %d.
                   8526: >>12   byte            x               \b%02d
                   8527: # Next, the resolution or aspect ratio of the image:
                   8528: #>>13  byte            0               \b, aspect ratio
                   8529: #>>13  byte            1               \b, resolution (DPI)
                   8530: #>>13  byte            2               \b, resolution (DPCM)
                   8531: #>>4   beshort         x               \b, segment length %d
                   8532: # Next, show thumbnail info, if it exists:
                   8533: >>18   byte            !0              \b, thumbnail %dx
                   8534: >>>19  byte            x               \b%d
                   8535: 
                   8536: # EXIF moved down here to avoid reporting a bogus version number,
                   8537: # and EXIF version number printing added.
                   8538: #   - Patrik R=E5dman <patrik+file-magic@iki.fi>
                   8539: >6     string          Exif            \b, EXIF standard
                   8540: # Look for EXIF IFD offset in IFD 0, and then look for EXIF version tag in EXIF IFD.
                   8541: # All possible combinations of entries have to be enumerated, since no looping
                   8542: # is possible. And both endians are possible...
                   8543: # The combinations included below are from real-world JPEGs.
                   8544: # Little-endian
                   8545: >>12   string          II              
                   8546: # IFD 0 Entry #5:
                   8547: >>>70  leshort         0x8769          
                   8548: # EXIF IFD Entry #1:
                   8549: >>>>(78.l+14)  leshort 0x9000          
                   8550: >>>>>(78.l+23) byte    x               %c
                   8551: >>>>>(78.l+24) byte    x               \b.%c
                   8552: >>>>>(78.l+25) byte    !0x30           \b%c
                   8553: # IFD 0 Entry #9:
                   8554: >>>118 leshort         0x8769          
                   8555: # EXIF IFD Entry #3:
                   8556: >>>>(126.l+38) leshort 0x9000          
                   8557: >>>>>(126.l+47)        byte    x               %c
                   8558: >>>>>(126.l+48)        byte    x               \b.%c
                   8559: >>>>>(126.l+49)        byte    !0x30           \b%c
                   8560: # IFD 0 Entry #10
                   8561: >>>130 leshort         0x8769          
                   8562: # EXIF IFD Entry #3:
                   8563: >>>>(138.l+38) leshort 0x9000          
                   8564: >>>>>(138.l+47)        byte    x               %c
                   8565: >>>>>(138.l+48)        byte    x               \b.%c
                   8566: >>>>>(138.l+49)        byte    !0x30           \b%c
                   8567: # EXIF IFD Entry #4:
                   8568: >>>>(138.l+50) leshort 0x9000          
                   8569: >>>>>(138.l+59)        byte    x               %c
                   8570: >>>>>(138.l+60)        byte    x               \b.%c
                   8571: >>>>>(138.l+61)        byte    !0x30           \b%c
                   8572: # EXIF IFD Entry #5:
                   8573: >>>>(138.l+62) leshort 0x9000          
                   8574: >>>>>(138.l+71)        byte    x               %c
                   8575: >>>>>(138.l+72)        byte    x               \b.%c
                   8576: >>>>>(138.l+73)        byte    !0x30           \b%c
                   8577: # IFD 0 Entry #11
                   8578: >>>142 leshort         0x8769          
                   8579: # EXIF IFD Entry #3:
                   8580: >>>>(150.l+38) leshort 0x9000          
                   8581: >>>>>(150.l+47)        byte    x               %c
                   8582: >>>>>(150.l+48)        byte    x               \b.%c
                   8583: >>>>>(150.l+49)        byte    !0x30           \b%c
                   8584: # EXIF IFD Entry #4:
                   8585: >>>>(150.l+50) leshort 0x9000          
                   8586: >>>>>(150.l+59)        byte    x               %c
                   8587: >>>>>(150.l+60)        byte    x               \b.%c
                   8588: >>>>>(150.l+61)        byte    !0x30           \b%c
                   8589: # EXIF IFD Entry #5:
                   8590: >>>>(150.l+62) leshort 0x9000          
                   8591: >>>>>(150.l+71)        byte    x               %c
                   8592: >>>>>(150.l+72)        byte    x               \b.%c
                   8593: >>>>>(150.l+73)        byte    !0x30           \b%c
                   8594: # Big-endian
                   8595: >>12   string          MM              
                   8596: # IFD 0 Entry #9:
                   8597: >>>118 beshort         0x8769          
                   8598: # EXIF IFD Entry #1:
                   8599: >>>>(126.L+14) beshort 0x9000          
                   8600: >>>>>(126.L+23)        byte    x               %c
                   8601: >>>>>(126.L+24)        byte    x               \b.%c
                   8602: >>>>>(126.L+25)        byte    !0x30           \b%c
                   8603: # EXIF IFD Entry #3:
                   8604: >>>>(126.L+38) beshort 0x9000          
                   8605: >>>>>(126.L+47)        byte    x               %c
                   8606: >>>>>(126.L+48)        byte    x               \b.%c
                   8607: >>>>>(126.L+49)        byte    !0x30           \b%c
                   8608: # IFD 0 Entry #10
                   8609: >>>130 beshort         0x8769          
                   8610: # EXIF IFD Entry #3:
                   8611: >>>>(138.L+38) beshort 0x9000          
                   8612: >>>>>(138.L+47)        byte    x               %c
                   8613: >>>>>(138.L+48)        byte    x               \b.%c
                   8614: >>>>>(138.L+49)        byte    !0x30           \b%c
                   8615: # EXIF IFD Entry #5:
                   8616: >>>>(138.L+62) beshort 0x9000          
                   8617: >>>>>(138.L+71)        byte    x               %c
                   8618: >>>>>(138.L+72)        byte    x               \b.%c
                   8619: >>>>>(138.L+73)        byte    !0x30           \b%c
                   8620: # IFD 0 Entry #11
                   8621: >>>142 beshort         0x8769          
                   8622: # EXIF IFD Entry #4:
                   8623: >>>>(150.L+50) beshort 0x9000          
                   8624: >>>>>(150.L+59)        byte    x               %c
                   8625: >>>>>(150.L+60)        byte    x               \b.%c
                   8626: >>>>>(150.L+61)        byte    !0x30           \b%c
                   8627: # Here things get sticky.  We can do ONE MORE marker segment with
                   8628: # indirect addressing, and that's all.  It would be great if we could
                   8629: # do pointer arithemetic like in an assembler language.  Christos?
                   8630: # And if there was some sort of looping construct to do searches, plus a few
                   8631: # named accumulators, it would be even more effective...
                   8632: # At least we can show a comment if no other segments got inserted before:
                   8633: >(4.S+5)       byte            0xFE
                   8634: >>(4.S+8)      string          >\0             \b, comment: "%s"
                   8635: # FIXME: When we can do non-byte counted strings, we can use that to get
                   8636: # the string's count, and fix Debian bug #283760
                   8637: #>(4.S+5)      byte            0xFE            \b, comment
                   8638: #>>(4.S+6)     beshort         x               \b length=%d
                   8639: #>>(4.S+8)     string          >\0             \b, "%s"
                   8640: # Or, we can show the encoding type (I've included only the three most common)
                   8641: # and image dimensions if we are lucky and the SOFn (image segment) is here:
                   8642: >(4.S+5)       byte            0xC0            \b, baseline
                   8643: >>(4.S+6)      byte            x               \b, precision %d
                   8644: >>(4.S+7)      beshort         x               \b, %dx
                   8645: >>(4.S+9)      beshort         x               \b%d
                   8646: >(4.S+5)       byte            0xC1            \b, extended sequential
                   8647: >>(4.S+6)      byte            x               \b, precision %d
                   8648: >>(4.S+7)      beshort         x               \b, %dx
                   8649: >>(4.S+9)      beshort         x               \b%d
                   8650: >(4.S+5)       byte            0xC2            \b, progressive
                   8651: >>(4.S+6)      byte            x               \b, precision %d
                   8652: >>(4.S+7)      beshort         x               \b, %dx
                   8653: >>(4.S+9)      beshort         x               \b%d
                   8654: # I've commented-out quantisation table reporting.  I doubt anyone cares yet.
                   8655: #>(4.S+5)      byte            0xDB            \b, quantisation table
                   8656: #>>(4.S+6)     beshort         x               \b length=%d
                   8657: #>14   beshort         x               \b, %d x
                   8658: #>16   beshort         x               \b %d
                   8659: 
                   8660: # HSI is Handmade Software's proprietary JPEG encoding scheme
                   8661: 0      string          hsi1            JPEG image data, HSI proprietary
                   8662: 
                   8663: # From: David Santinoli <david@santinoli.com>
                   8664: 0      string          \x00\x00\x00\x0C\x6A\x50\x20\x20\x0D\x0A\x87\x0A        JPEG 2000 image data
                   8665: 
                   8666: # Type: JPEG 2000 codesream
                   8667: # From: Mathieu Malaterre <mathieu.malaterre@gmail.com>
                   8668: 0      belong          0xff4fff51                                              JPEG 2000 codestream
                   8669: 45     beshort         0xff52
                   8670: 
                   8671: #------------------------------------------------------------------------------
                   8672: # karma:  file(1) magic for Karma data files
                   8673: #
                   8674: # From <rgooch@atnf.csiro.au>
                   8675: 
                   8676: 0      string          KarmaRHD Version        Karma Data Structure Version
                   8677: >16    belong          x               %lu
                   8678: 
                   8679: #------------------------------------------------------------------------------
                   8680: # kde:  file(1) magic for KDE
                   8681: 
                   8682: 0              string  [KDE\ Desktop\ Entry]   KDE desktop entry
                   8683: !:mime application/x-kdelnk
                   8684: 0              string  #\ KDE\ Config\ File    KDE config file
                   8685: !:mime application/x-kdelnk
                   8686: 0              string  #\ xmcd xmcd database file for kscd
                   8687: !:mime text/x-xmcd
                   8688: #------------------------------------------------------------------------------
                   8689: # DEC SRC Virtual Paper: Lectern files
                   8690: # Karl M. Hegbloom <karlheg@inetarena.com>
                   8691: 0      string  lect    DEC SRC Virtual Paper Lectern file
                   8692: #------------------------------------------------------------------------------
                   8693: # lex:  file(1) magic for lex
                   8694: #
                   8695: #      derived empirically, your offsets may vary!
                   8696: 0      search/100      yyprevious      C program text (from lex)
                   8697: >3     search/1        >\0              for %s
                   8698: # C program text from GNU flex, from Daniel Quinlan <quinlan@yggdrasil.com>
                   8699: 0      search/100      generated\ by\ flex     C program text (from flex)
                   8700: # lex description file, from Daniel Quinlan <quinlan@yggdrasil.com>
                   8701: 0      search/1        %{              lex description text
                   8702: 
                   8703: #------------------------------------------------------------------------------
                   8704: # lif:  file(1) magic for lif
                   8705: #
                   8706: # (Daniel Quinlan <quinlan@yggdrasil.com>)
                   8707: #
                   8708: 0      beshort         0x8000          lif file
                   8709: #------------------------------------------------------------------------------
                   8710: # linux:  file(1) magic for Linux files
                   8711: #
                   8712: # Values for Linux/i386 binaries, from Daniel Quinlan <quinlan@yggdrasil.com>
                   8713: # The following basic Linux magic is useful for reference, but using
                   8714: # "long" magic is a better practice in order to avoid collisions.
                   8715: #
                   8716: # 2    leshort         100             Linux/i386
                   8717: # >0   leshort         0407            impure executable (OMAGIC)
                   8718: # >0   leshort         0410            pure executable (NMAGIC)
                   8719: # >0   leshort         0413            demand-paged executable (ZMAGIC)
                   8720: # >0   leshort         0314            demand-paged executable (QMAGIC)
                   8721: #
                   8722: 0      lelong          0x00640107      Linux/i386 impure executable (OMAGIC)
                   8723: >16    lelong          0               \b, stripped
                   8724: 0      lelong          0x00640108      Linux/i386 pure executable (NMAGIC)
                   8725: >16    lelong          0               \b, stripped
                   8726: 0      lelong          0x0064010b      Linux/i386 demand-paged executable (ZMAGIC)
                   8727: >16    lelong          0               \b, stripped
                   8728: 0      lelong          0x006400cc      Linux/i386 demand-paged executable (QMAGIC)
                   8729: >16    lelong          0               \b, stripped
                   8730: #
                   8731: 0      string          \007\001\000    Linux/i386 object file
                   8732: >20    lelong          >0x1020         \b, DLL library
                   8733: # Linux-8086 stuff:
                   8734: 0      string          \01\03\020\04   Linux-8086 impure executable
                   8735: >28    long            !0              not stripped
                   8736: 0      string          \01\03\040\04   Linux-8086 executable
                   8737: >28    long            !0              not stripped
                   8738: #
                   8739: 0      string          \243\206\001\0  Linux-8086 object file
                   8740: #
                   8741: 0      string          \01\03\020\20   Minix-386 impure executable
                   8742: >28    long            !0              not stripped
                   8743: 0      string          \01\03\040\20   Minix-386 executable
                   8744: >28    long            !0              not stripped
                   8745: # core dump file, from Bill Reynolds <bill@goshawk.lanl.gov>
                   8746: 216    lelong          0421            Linux/i386 core file
                   8747: >220   string          >\0             of '%s'
                   8748: >200   lelong          >0              (signal %d)
                   8749: #
                   8750: # LILO boot/chain loaders, from Daniel Quinlan <quinlan@yggdrasil.com>
                   8751: # this can be overridden by the DOS executable (COM) entry
                   8752: 2      string          LILO            Linux/i386 LILO boot/chain loader
                   8753: #
                   8754: # PSF fonts, from H. Peter Anvin <hpa@yggdrasil.com>
                   8755: 0      leshort         0x0436          Linux/i386 PC Screen Font data,
                   8756: >2     byte            0               256 characters, no directory,
                   8757: >2     byte            1               512 characters, no directory,
                   8758: >2     byte            2               256 characters, Unicode directory,
                   8759: >2     byte            3               512 characters, Unicode directory,
                   8760: >3     byte            >0              8x%d
                   8761: # Linux swap file, from Daniel Quinlan <quinlan@yggdrasil.com>
                   8762: 4086   string          SWAP-SPACE      Linux/i386 swap file
                   8763: # From: Jeff Bailey <jbailey@ubuntu.com>
                   8764: # Linux swap file with swsusp1 image, from Jeff Bailey <jbailey@ubuntu.com>
                   8765: 4076   string          SWAPSPACE2S1SUSPEND     Linux/i386 swap file (new style) with SWSUSP1 image
                   8766: # according to man page of mkswap (8) March 1999
                   8767: # volume label and UUID Russell Coker
                   8768: # http://etbe.coker.com.au/2008/07/08/label-vs-uuid-vs-device/
                   8769: 4086   string          SWAPSPACE2      Linux/i386 swap file (new style),
                   8770: >0x400 long            x               version %d (4K pages),
                   8771: >0x404 long            x               size %d pages,
                   8772: >1052  string          \0              no label,
                   8773: >1052  string          >\0             LABEL=%s,
                   8774: >0x40c belong          x               UUID=%x
                   8775: >0x410 beshort         x               \b-%x
                   8776: >0x412 beshort         x               \b-%x
                   8777: >0x414 beshort         x               \b-%x
                   8778: >0x416 belong          x               \b-%x
                   8779: >0x41a beshort         x               \b%x
                   8780: # ECOFF magic for OSF/1 and Linux (only tested under Linux though)
                   8781: #
                   8782: #      from Erik Troan (ewt@redhat.com) examining od dumps, so this
                   8783: #              could be wrong
                   8784: #      updated by David Mosberger (davidm@azstarnet.com) based on
                   8785: #      GNU BFD and MIPS info found below.
                   8786: #
                   8787: 0      leshort         0x0183          ECOFF alpha
                   8788: >24    leshort         0407            executable
                   8789: >24    leshort         0410            pure
                   8790: >24    leshort         0413            demand paged
                   8791: >8     long            >0              not stripped
                   8792: >8     long            0               stripped
                   8793: >23    leshort         >0              - version %ld.
                   8794: #
                   8795: # Linux kernel boot images, from Albert Cahalan <acahalan@cs.uml.edu>
                   8796: # and others such as Axel Kohlmeyer <akohlmey@rincewind.chemie.uni-ulm.de>
                   8797: # and Nicolás Lichtmaier <nick@debian.org>
                   8798: # All known start with: b8 c0 07 8e d8 b8 00 90 8e c0 b9 00 01 29 f6 29
                   8799: # Linux kernel boot images (i386 arch) (Wolfram Kleff)
                   8800: 514    string          HdrS            Linux kernel
                   8801: >510   leshort         0xAA55          x86 boot executable
                   8802: >>518  leshort         >0x1ff
                   8803: >>529  byte            0               zImage,
                   8804: >>>529 byte            1               bzImage,
                   8805: >>>(526.s+0x200) string        >\0             version %s,
                   8806: >>498  leshort         1               RO-rootFS,
                   8807: >>498  leshort         0               RW-rootFS,
                   8808: >>508  leshort         >0              root_dev 0x%X,
                   8809: >>502  leshort         >0              swap_dev 0x%X,
                   8810: >>504  leshort         >0              RAMdisksize %u KB,
                   8811: >>506  leshort         0xFFFF          Normal VGA
                   8812: >>506  leshort         0xFFFE          Extended VGA
                   8813: >>506  leshort         0xFFFD          Prompt for Videomode
                   8814: >>506  leshort         >0              Video mode %d
                   8815: # This also matches new kernels, which were caught above by "HdrS".
                   8816: 0              belong  0xb8c0078e      Linux kernel
                   8817: >0x1e3         string  Loading         version 1.3.79 or older
                   8818: >0x1e9         string  Loading         from prehistoric times
                   8819: 
                   8820: # System.map files - Nicolás Lichtmaier <nick@debian.org>
                   8821: 8      search/1        \ A\ _text      Linux kernel symbol map text
                   8822: 
                   8823: # LSM entries - Nicolás Lichtmaier <nick@debian.org>
                   8824: 0      search/1        Begin3  Linux Software Map entry text
                   8825: 0      search/1        Begin4  Linux Software Map entry text (new format)
                   8826: 
                   8827: # From Matt Zimmerman, enhanced for v3 by Matthew Palmer
                   8828: 0      belong  0x4f4f4f4d      User-mode Linux COW file
                   8829: >4     belong  <3              \b, version %d
                   8830: >>8    string  >\0             \b, backing file %s
                   8831: >4     belong  >2              \b, version %d
                   8832: >>32   string  >\0             \b, backing file %s
                   8833: 
                   8834: ############################################################################
                   8835: # Linux kernel versions
                   8836: 
                   8837: 0              string          \xb8\xc0\x07\x8e\xd8\xb8\x00\x90        Linux
                   8838: >497           leshort         0               x86 boot sector
                   8839: >>514          belong          0x8e    of a kernel from the dawn of time!
                   8840: >>514          belong          0x908ed8b4      version 0.99-1.1.42
                   8841: >>514          belong          0x908ed8b8      for memtest86
                   8842: 
                   8843: >497           leshort         !0              x86 kernel
                   8844: >>504          leshort         >0              RAMdisksize=%u KB
                   8845: >>502          leshort         >0              swap=0x%X
                   8846: >>508          leshort         >0              root=0x%X
                   8847: >>>498         leshort         1               \b-ro
                   8848: >>>498         leshort         0               \b-rw
                   8849: >>506          leshort         0xFFFF          vga=normal
                   8850: >>506          leshort         0xFFFE          vga=extended
                   8851: >>506          leshort         0xFFFD          vga=ask
                   8852: >>506          leshort         >0              vga=%d
                   8853: >>514          belong          0x908ed881      version 1.1.43-1.1.45
                   8854: >>514          belong          0x15b281cd
                   8855: >>>0xa8e       belong          0x55AA5a5a      version 1.1.46-1.2.13,1.3.0
                   8856: >>>0xa99       belong          0x55AA5a5a      version 1.3.1,2
                   8857: >>>0xaa3       belong          0x55AA5a5a      version 1.3.3-1.3.30
                   8858: >>>0xaa6       belong          0x55AA5a5a      version 1.3.31-1.3.41
                   8859: >>>0xb2b       belong          0x55AA5a5a      version 1.3.42-1.3.45
                   8860: >>>0xaf7       belong          0x55AA5a5a      version 1.3.46-1.3.72
                   8861: >>514          string          HdrS
                   8862: >>>518         leshort         >0x1FF
                   8863: >>>>529                byte            0               \b, zImage
                   8864: >>>>529                byte            1               \b, bzImage
                   8865: >>>>(526.s+0x200) string       >\0             \b, version %s
                   8866: 
                   8867: # Linux boot sector thefts.
                   8868: 0              belong          0xb8c0078e      Linux
                   8869: >0x1e6         belong          0x454c4b53      ELKS Kernel
                   8870: >0x1e6         belong          !0x454c4b53     style boot sector
                   8871: 
                   8872: ############################################################################
                   8873: # Linux 8086 executable
                   8874: 0      lelong&0xFF0000FF 0xC30000E9    Linux-Dev86 executable, headerless
                   8875: >5     string          .               
                   8876: >>4    string          >\0             \b, libc version %s
                   8877: 
                   8878: 0      lelong&0xFF00FFFF 0x4000301     Linux-8086 executable
                   8879: >2     byte&0x01       !0              \b, unmapped zero page
                   8880: >2     byte&0x20       0               \b, impure
                   8881: >2     byte&0x20       !0
                   8882: >>2    byte&0x10       !0              \b, A_EXEC
                   8883: >2     byte&0x02       !0              \b, A_PAL
                   8884: >2     byte&0x04       !0              \b, A_NSYM
                   8885: >2     byte&0x08       !0              \b, A_STAND
                   8886: >2     byte&0x40       !0              \b, A_PURE
                   8887: >2     byte&0x80       !0              \b, A_TOVLY
                   8888: >28     long            !0              \b, not stripped
                   8889: >37    string          .               
                   8890: >>36   string          >\0             \b, libc version %s
                   8891: 
                   8892: # 0    lelong&0xFF00FFFF 0x10000301    ld86 I80386 executable
                   8893: # 0    lelong&0xFF00FFFF 0xB000301     ld86 M68K executable
                   8894: # 0    lelong&0xFF00FFFF 0xC000301     ld86 NS16K executable
                   8895: # 0    lelong&0xFF00FFFF 0x17000301    ld86 SPARC executable
                   8896: 
                   8897: # SYSLINUX boot logo files (from 'ppmtolss16' sources)
                   8898: # http://syslinux.zytor.com/
                   8899: #
                   8900: 0      lelong  =0x1413f33d             SYSLINUX' LSS16 image data
                   8901: >4     leshort x                       \b, width %d
                   8902: >6     leshort x                       \b, height %d
                   8903: 
                   8904: 0      string  OOOM                    User-Mode-Linux's Copy-On-Write disk image
                   8905: >4     belong  x                       version %d
                   8906: 
                   8907: # SE Linux policy database
                   8908: # From: Mike Frysinger <vapier@gentoo.org>
                   8909: 0      lelong  0xf97cff8c              SE Linux policy
                   8910: >16    lelong  x                       v%d
                   8911: >20    lelong  1                       MLS
                   8912: >24    lelong  x                       %d symbols
                   8913: >28    lelong  x                       %d ocons
                   8914: 
                   8915: # Linux Logical Volume Manager (LVM) 
                   8916: # Emmanuel VARAGNAT <emmanuel.varagnat@guzu.net>
                   8917: #
                   8918: # System ID, UUID and volume group name are 128 bytes long
                   8919: # but they should never be full and initialized with zeros...
                   8920: #
                   8921: # LVM1
                   8922: #
                   8923: 0x0    string  HM\001          LVM1 (Linux Logical Volume Manager), version 1
                   8924: >0x12c string  >\0             , System ID: %s
                   8925: 
                   8926: 0x0    string  HM\002          LVM1 (Linux Logical Volume Manager), version 2
                   8927: >0x12c string  >\0             , System ID: %s
                   8928: 
                   8929: #  LVM2
                   8930: #
                   8931: # It seems that the label header can be in one the four first sector
                   8932: # of the disk... (from _find_labeller in lib/label/label.c of LVM2)
                   8933: #
                   8934: # 0x200 seems to be the common case
                   8935: 
                   8936: 0x218           string LVM2\ 001       LVM2 (Linux Logical Volume Manager)
                   8937: # read the offset to add to the start of the header, and the header
                   8938: # start in 0x200
                   8939: >(0x214.l+0x200) string        >\0             , UUID: %s
                   8940: 
                   8941: 0x018           string LVM2\ 001       LVM2 (Linux Logical Volume Manager)
                   8942: >(0x014.l)      string >\0             , UUID: %s
                   8943: 
                   8944: 0x418           string LVM2\ 001       LVM2 (Linux Logical Volume Manager)
                   8945: >(0x414.l+0x400) string        >\0             , UUID: %s
                   8946: 
                   8947: 0x618           string LVM2\ 001       LVM2 (Linux Logical Volume Manager)
                   8948: >(0x614.l+0x600) string        >\0             , UUID: %s
                   8949: 
                   8950: # LVM snapshot
                   8951: # from Jason Farrel
                   8952: 0      string  SnAp    LVM Snapshot (CopyOnWrite store)
                   8953: >4     lelong  !0      - valid,
                   8954: >4     lelong  0       - invalid,
                   8955: >8     lelong  x       version %d,
                   8956: >12    lelong  x       chunk_size %d
                   8957: 
                   8958: # SE Linux policy database
                   8959: 0      lelong  0xf97cff8c              SE Linux policy
                   8960: >16    lelong  x                       v%d
                   8961: >20    lelong  1                       MLS
                   8962: >24    lelong  x                       %d symbols
                   8963: >28    lelong  x                       %d ocons
                   8964: 
                   8965: # LUKS: Linux Unified Key Setup, On-Disk Format, http://luks.endorphin.org/spec
                   8966: # Anthon van der Neut (anthon@mnt.org)
                   8967: 0      string  LUKS\xba\xbe    LUKS encrypted file,
                   8968: >6     beshort x               ver %d
                   8969: >8     string  x               [%s,
                   8970: >40    string  x               %s,
                   8971: >72    string  x               %s]
                   8972: >168   string  x               UUID: %s
                   8973: 
                   8974: 
                   8975: # Summary: Xen saved domain file
                   8976: # Created by: Radek Vokal <rvokal@redhat.com>
                   8977: 0      string          LinuxGuestRecord        Xen saved domain
                   8978: >20    search/256      (name                   
                   8979: >>&1   string          x                       (name %s)
                   8980: 
                   8981: # Type: Xen, the virtual machine monitor
                   8982: # From: Radek Vokal <rvokal@redhat.com>
                   8983: 0      string          LinuxGuestRecord        Xen saved domain
                   8984: #>2    regex           \(name\ [^)]*\)         %s
                   8985: >20    search/256      (name                   (name
                   8986: >>&1   string          x                       %s...)
                   8987: #------------------------------------------------------------------------------
                   8988: # lisp:  file(1) magic for lisp programs
                   8989: #
                   8990: # various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com)
                   8991: 
                   8992: # updated by Joerg Jenderek
                   8993: # GRR: This lot is too weak
                   8994: #0     string  ;;                      
                   8995: # windows INF files often begin with semicolon and use CRLF as line end
                   8996: # lisp files are mainly created on unix system with LF as line end
                   8997: #>2    search/2048     !\r             Lisp/Scheme program text
                   8998: #>2    search/2048     \r              Windows INF file
                   8999: 
                   9000: 0      search/256      (if\                    Lisp/Scheme program text
                   9001: !:mime text/x-lisp
                   9002: 0      search/256      (setq\                  Lisp/Scheme program text
                   9003: !:mime text/x-lisp
                   9004: 0      search/256      (defvar\                Lisp/Scheme program text
                   9005: !:mime text/x-lisp
                   9006: 0      search/256      (defparam\              Lisp/Scheme program text
                   9007: !:mime text/x-lisp
                   9008: 0      search/256      (defun\                 Lisp/Scheme program text
                   9009: !:mime text/x-lisp
                   9010: 0      search/256      (autoload\              Lisp/Scheme program text
                   9011: !:mime text/x-lisp
                   9012: 0      search/256      (custom-set-variables\  Lisp/Scheme program text
                   9013: !:mime text/x-lisp
                   9014: 
                   9015: # Emacs 18 - this is always correct, but not very magical.
                   9016: 0      string  \012(                   Emacs v18 byte-compiled Lisp data
                   9017: !:mime application/x-elc
                   9018: # Emacs 19+ - ver. recognition added by Ian Springer
                   9019: # Also applies to XEmacs 19+ .elc files; could tell them apart with regexs
                   9020: # - Chris Chittleborough <cchittleborough@yahoo.com.au>
                   9021: 0      string  ;ELC    
                   9022: >4     byte    >18                     
                   9023: >4     byte    <32                     Emacs/XEmacs v%d byte-compiled Lisp data
                   9024: !:mime application/x-elc               
                   9025: 
                   9026: # Files produced by CLISP Common Lisp From: Bruno Haible <haible@ilog.fr>
                   9027: 0      string  (SYSTEM::VERSION\040'   CLISP byte-compiled Lisp program (pre 2004-03-27)
                   9028: 0      string  (|SYSTEM|::|VERSION|\040'       CLISP byte-compiled Lisp program text
                   9029: 
                   9030: 0      long    0x70768BD2              CLISP memory image data
                   9031: 0      long    0xD28B7670              CLISP memory image data, other endian
                   9032: 
                   9033: #.com and .bin for MIT scheme 
                   9034: 0      string  \372\372\372\372        MIT scheme (library?)
                   9035: 
                   9036: # From: David Allouche <david@allouche.net>
                   9037: 0      search/1        \<TeXmacs|      TeXmacs document text
                   9038: !:mime text/texmacs
                   9039: 
                   9040: #------------------------------------------------------------------------------
                   9041: # llvm:  file(1) magic for LLVM byte-codes
                   9042: # URL:  http://llvm.cs.uiuc.edu/docs/BytecodeFormat.html#signature
                   9043: # From: Al Stone <ahs3@fc.hp.com>
                   9044: 
                   9045: 0      string  llvm    LLVM byte-codes, uncompressed
                   9046: 0      string  llvc0   LLVM byte-codes, null compression
                   9047: 0      string  llvc1   LLVM byte-codes, gzip compression
                   9048: 0      string  llvc2   LLVM byte-codes, bzip2 compression
                   9049: #------------------------------------------------------------------------------
                   9050: # lua:  file(1) magic for Lua scripting language
                   9051: # URL:  http://www.lua.org/
                   9052: # From: Reuben Thomas <rrt@sc3d.org>, Seo Sanghyeon <tinuviel@sparcs.kaist.ac.kr>
                   9053: 
                   9054: # Lua scripts
                   9055: 0      search/1/b      #!\ /usr/bin/lua        Lua script text executable
                   9056: !:mime text/x-lua
                   9057: 0      search/1/b      #!\ /usr/local/bin/lua  Lua script text executable
                   9058: !:mime text/x-lua
                   9059: 0      search/1        #!/usr/bin/env\ lua     Lua script text executable
                   9060: !:mime text/x-lua
                   9061: 0      search/1        #!\ /usr/bin/env\ lua   Lua script text executable
                   9062: !:mime text/x-lua
                   9063: 
                   9064: # Lua bytecode
                   9065: 0      string          \033Lua                 Lua bytecode,
                   9066: >4     byte            0x50                    version 5.0
                   9067: >4     byte            0x51                    version 5.1
                   9068: 
                   9069: #------------------------------------------------------------------------------
                   9070: # luks:  file(1) magic for Linux Unified Key Setup
                   9071: # URL: http://luks.endorphin.org/spec
                   9072: # From:        Anthon van der Neut <anthon@mnt.org>
                   9073: 
                   9074: 0      string          LUKS\xba\xbe    LUKS encrypted file,
                   9075: >6     beshort         x               ver %d
                   9076: >8     string          x               [%s,
                   9077: >40    string          x               %s,
                   9078: >72    string          x               %s]
                   9079: >168   string          x               UUID: %s
                   9080: #------------------------------------------------------------
                   9081: # Mach has two magic numbers, 0xcafebabe and 0xfeedface.
                   9082: # Unfortunately the first, cafebabe, is shared with
                   9083: # Java ByteCode, so they are both handled in the file "cafebabe".
                   9084: # The "feedface" ones are handled herein.
                   9085: #------------------------------------------------------------
                   9086: 0      lelong&0xfeffffff       0xfeedface      Mach-O
                   9087: >0     byte            0xcf            64-bit
                   9088: >12    lelong          1               object
                   9089: >12    lelong          2               executable
                   9090: >12    lelong          3               fixed virtual memory shared library
                   9091: >12    lelong          4               core
                   9092: >12    lelong          5               preload executable
                   9093: >12    lelong          6               dynamically linked shared library
                   9094: >12    lelong          7               dynamic linker
                   9095: >12    lelong          8               bundle
                   9096: >12    lelong          9               dynamically linked shared library stub
                   9097: >12    lelong          >9
                   9098: >>12   lelong          x               filetype=%ld
                   9099: >4     lelong          <0
                   9100: >>4    lelong          x               architecture=%ld
                   9101: >4     lelong          1               vax
                   9102: >4     lelong          2               romp
                   9103: >4     lelong          3               architecture=3
                   9104: >4     lelong          4               ns32032
                   9105: >4     lelong          5               ns32332
                   9106: >4     lelong          6               m68k
                   9107: >4     lelong          7               i386
                   9108: >4     lelong          8               mips
                   9109: >4     lelong          9               ns32532
                   9110: >4     lelong          10              architecture=10
                   9111: >4     lelong          11              hppa
                   9112: >4     lelong          12              acorn
                   9113: >4     lelong          13              m88k
                   9114: >4     lelong          14              sparc
                   9115: >4     lelong          15              i860-big
                   9116: >4     lelong          16              i860
                   9117: >4     lelong          17              rs6000
                   9118: >4     lelong          18              ppc
                   9119: >4     lelong          16777234        ppc64
                   9120: >4     lelong          >16777234
                   9121: >>4    lelong          x               architecture=%ld
                   9122: #
                   9123: 0      belong&0xfffffffe       0xfeedface      Mach-O
                   9124: >3     byte            0xcf            64-bit
                   9125: >12    belong          1               object
                   9126: >12    belong          2               executable
                   9127: >12    belong          3               fixed virtual memory shared library
                   9128: >12    belong          4               core
                   9129: >12    belong          5               preload executable
                   9130: >12    belong          6               dynamically linked shared library
                   9131: >12    belong          7               dynamic linker
                   9132: >12    belong          8               bundle
                   9133: >12    belong          9               dynamically linked shared library stub
                   9134: >12    belong          >9
                   9135: >>12   belong          x               filetype=%ld
                   9136: >4     belong          <0
                   9137: >>4    belong          x               architecture=%ld
                   9138: >4     belong          1               vax
                   9139: >4     belong          2               romp
                   9140: >4     belong          3               architecture=3
                   9141: >4     belong          4               ns32032
                   9142: >4     belong          5               ns32332
                   9143: >4     belong          6               for m68k architecture
                   9144: # from NeXTstep 3.0 <mach/machine.h>
                   9145: # i.e. mc680x0_all, ignore
                   9146: # >>8  belong          1               (mc68030)
                   9147: >>8    belong          2               (mc68040)
                   9148: >>8    belong          3               (mc68030 only)
                   9149: >4     belong          7               i386
                   9150: >4     belong          8               mips
                   9151: >4     belong          9               ns32532
                   9152: >4     belong          10              architecture=10
                   9153: >4     belong          11              hppa
                   9154: >4     belong          12              acorn
                   9155: >4     belong          13              m88k
                   9156: >4     belong          14              sparc
                   9157: >4     belong          15              i860-big
                   9158: >4     belong          16              i860
                   9159: >4     belong          17              rs6000
                   9160: >4     belong          18              ppc
                   9161: >4     belong          16777234        ppc64
                   9162: >4     belong          >16777234
                   9163: >>4    belong          x               architecture=%ld
                   9164: 
                   9165: #------------------------------------------------------------------------------
                   9166: # macintosh description
                   9167: #
                   9168: # BinHex is the Macintosh ASCII-encoded file format (see also "apple")
                   9169: # Daniel Quinlan, quinlan@yggdrasil.com
                   9170: 11     string  must\ be\ converted\ with\ BinHex       BinHex binary text
                   9171: !:mime application/mac-binhex40
                   9172: >41    string  x                                       \b, version %.3s
                   9173: 
                   9174: # Stuffit archives are the de facto standard of compression for Macintosh
                   9175: # files obtained from most archives. (franklsm@tuns.ca)
                   9176: 0      string          SIT!                    StuffIt Archive (data)
                   9177: >2     string          x                       : %s
                   9178: 0      string          SITD                    StuffIt Deluxe (data)
                   9179: >2     string          x                       : %s
                   9180: 0      string          Seg                     StuffIt Deluxe Segment (data)
                   9181: >2     string          x                       : %s
                   9182: 
                   9183: # Newer StuffIt archives (grant@netbsd.org)
                   9184: 0      string          StuffIt                 StuffIt Archive
                   9185: !:mime application/x-stuffit
                   9186: #>162  string          >0                      : %s
                   9187: 
                   9188: # Macintosh Applications and Installation binaries (franklsm@tuns.ca)
                   9189: # GRR: Too weak
                   9190: #0     string          APPL                    Macintosh Application (data)
                   9191: #>2    string          x                       \b: %s
                   9192: 
                   9193: # Macintosh System files (franklsm@tuns.ca)
                   9194: # GRR: Too weak
                   9195: #0     string          zsys                    Macintosh System File (data)
                   9196: #0     string          FNDR                    Macintosh Finder (data)
                   9197: #0     string          libr                    Macintosh Library (data)
                   9198: #>2    string          x                       : %s
                   9199: #0     string          shlb                    Macintosh Shared Library (data)
                   9200: #>2    string          x                       : %s
                   9201: #0     string          cdev                    Macintosh Control Panel (data)
                   9202: #>2    string          x                       : %s
                   9203: #0     string          INIT                    Macintosh Extension (data)
                   9204: #>2    string          x                       : %s
                   9205: #0     string          FFIL                    Macintosh Truetype Font (data)
                   9206: #>2    string          x                       : %s
                   9207: #0     string          LWFN                    Macintosh Postscript Font (data)
                   9208: #>2    string          x                       : %s
                   9209: 
                   9210: # Additional Macintosh Files (franklsm@tuns.ca)
                   9211: # GRR: Too weak
                   9212: #0     string          PACT                    Macintosh Compact Pro Archive (data)
                   9213: #>2    string          x                       : %s
                   9214: #0     string          ttro                    Macintosh TeachText File (data)
                   9215: #>2    string          x                       : %s
                   9216: #0     string          TEXT                    Macintosh TeachText File (data)
                   9217: #>2    string          x                       : %s
                   9218: #0     string          PDF                     Macintosh PDF File (data)
                   9219: #>2    string          x                       : %s
                   9220: 
                   9221: # MacBinary format (Eric Fischer, enf@pobox.com)
                   9222: #
                   9223: # Unfortunately MacBinary doesn't really have a magic number prior
                   9224: # to the MacBinary III format.  The checksum is really the way to
                   9225: # do it, but the magic file format isn't up to the challenge.
                   9226: #
                   9227: # 0    byte            0
                   9228: # 1    byte                            # filename length
                   9229: # 2    string                          # filename
                   9230: # 65    string                         # file type
                   9231: # 69   string                          # file creator
                   9232: # 73   byte                            # Finder flags
                   9233: # 74   byte            0
                   9234: # 75   beshort                         # vertical posn in window
                   9235: # 77   beshort                         # horiz posn in window
                   9236: # 79   beshort                         # window or folder ID
                   9237: # 81    byte                           # protected?
                   9238: # 82   byte            0
                   9239: # 83   belong                          # length of data segment
                   9240: # 87   belong                          # length of resource segment
                   9241: # 91   belong                          # file creation date
                   9242: # 95   belong                          # file modification date
                   9243: # 99   beshort                         # length of comment after resource
                   9244: # 101  byte                            # new Finder flags
                   9245: # 102  string          mBIN            # (only in MacBinary III)
                   9246: # 106  byte                            # char. code of file name
                   9247: # 107  byte                            # still more Finder flags
                   9248: # 116  belong                          # total file length
                   9249: # 120  beshort                         # length of add'l header
                   9250: # 122  byte            129             # for MacBinary II
                   9251: # 122  byte            130             # for MacBinary III
                   9252: # 123  byte            129             # minimum version that can read fmt
                   9253: # 124  beshort                         # checksum
                   9254: #
                   9255: # This attempts to use the version numbers as a magic number, requiring
                   9256: # that the first one be 0x80, 0x81, 0x82, or 0x83, and that the second
                   9257: # be 0x81.  This works for the files I have, but maybe not for everyone's.
                   9258: 
                   9259: # Unfortunately, this magic is quite weak - MPi
                   9260: #122   beshort&0xFCFF  0x8081          Macintosh MacBinary data
                   9261: 
                   9262: # MacBinary I doesn't have the version number field at all, but MacBinary II
                   9263: # has been in use since 1987 so I hope there aren't many really old files
                   9264: # floating around that this will miss.  The original spec calls for using
                   9265: # the nulls in 0, 74, and 82 as the magic number.
                   9266: #
                   9267: # Another possibility, that would also work for MacBinary I, is to use
                   9268: # the assumption that 65-72 will all be ASCII (0x20-0x7F), that 73 will
                   9269: # have bits 1 (changed), 2 (busy), 3 (bozo), and 6 (invisible) unset,
                   9270: # and that 74 will be 0.  So something like
                   9271: # 
                   9272: # 71   belong&0x80804EFF 0x00000000    Macintosh MacBinary data
                   9273: # 
                   9274: # >73  byte&0x01       0x01            \b, inited
                   9275: # >73  byte&0x02       0x02            \b, changed
                   9276: # >73  byte&0x04       0x04            \b, busy
                   9277: # >73  byte&0x08       0x08            \b, bozo
                   9278: # >73  byte&0x10       0x10            \b, system
                   9279: # >73  byte&0x10       0x20            \b, bundle
                   9280: # >73  byte&0x10       0x40            \b, invisible
                   9281: # >73  byte&0x10       0x80            \b, locked
                   9282: 
                   9283: #>65   string          x               \b, type "%4.4s"
                   9284: 
                   9285: #>65   string          8BIM            (PhotoShop)
                   9286: #>65   string          ALB3            (PageMaker 3)
                   9287: #>65   string          ALB4            (PageMaker 4)
                   9288: #>65   string          ALT3            (PageMaker 3)
                   9289: #>65   string          APPL            (application)
                   9290: #>65   string          AWWP            (AppleWorks word processor)
                   9291: #>65   string          CIRC            (simulated circuit)
                   9292: #>65   string          DRWG            (MacDraw)
                   9293: #>65   string          EPSF            (Encapsulated PostScript)
                   9294: #>65   string          FFIL            (font suitcase)
                   9295: #>65   string          FKEY            (function key)
                   9296: #>65   string          FNDR            (Macintosh Finder)
                   9297: #>65   string          GIFf            (GIF image)
                   9298: #>65   string          Gzip            (GNU gzip)
                   9299: #>65   string          INIT            (system extension)
                   9300: #>65   string          LIB\            (library)
                   9301: #>65   string          LWFN            (PostScript font)
                   9302: #>65   string          MSBC            (Microsoft BASIC)
                   9303: #>65   string          PACT            (Compact Pro archive)
                   9304: #>65   string          PDF\            (Portable Document Format)
                   9305: #>65   string          PICT            (picture)
                   9306: #>65   string          PNTG            (MacPaint picture)
                   9307: #>65   string          PREF            (preferences)
                   9308: #>65   string          PROJ            (Think C project)
                   9309: #>65   string          QPRJ            (Think Pascal project)
                   9310: #>65   string          SCFL            (Defender scores)
                   9311: #>65   string          SCRN            (startup screen)
                   9312: #>65   string          SITD            (StuffIt Deluxe)
                   9313: #>65   string          SPn3            (SuperPaint)
                   9314: #>65   string          STAK            (HyperCard stack)
                   9315: #>65   string          Seg\            (StuffIt segment)
                   9316: #>65   string          TARF            (Unix tar archive)
                   9317: #>65   string          TEXT            (ASCII)
                   9318: #>65   string          TIFF            (TIFF image)
                   9319: #>65   string          TOVF            (Eudora table of contents)
                   9320: #>65   string          WDBN            (Microsoft Word word processor)
                   9321: #>65   string          WORD            (MacWrite word processor)
                   9322: #>65   string          XLS\            (Microsoft Excel)
                   9323: #>65   string          ZIVM            (compress (.Z))
                   9324: #>65   string          ZSYS            (Pre-System 7 system file)
                   9325: #>65   string          acf3            (Aldus FreeHand)
                   9326: #>65   string          cdev            (control panel)
                   9327: #>65   string          dfil            (Desk Acessory suitcase)
                   9328: #>65   string          libr            (library)
                   9329: #>65   string          nX^d            (WriteNow word processor)
                   9330: #>65   string          nX^w            (WriteNow dictionary)
                   9331: #>65   string          rsrc            (resource)
                   9332: #>65   string          scbk            (Scrapbook)
                   9333: #>65   string          shlb            (shared library)
                   9334: #>65   string          ttro            (SimpleText read-only)
                   9335: #>65   string          zsys            (system file)
                   9336: 
                   9337: #>69   string          x               \b, creator "%4.4s"
                   9338: 
                   9339: # Somewhere, Apple has a repository of registered Creator IDs.  These are
                   9340: # just the ones that I happened to have files from and was able to identify.
                   9341: 
                   9342: #>69   string          8BIM            (Adobe Photoshop)
                   9343: #>69   string          ALD3            (PageMaker 3)
                   9344: #>69   string          ALD4            (PageMaker 4)
                   9345: #>69   string          ALFA            (Alpha editor)
                   9346: #>69   string          APLS            (Apple Scanner)
                   9347: #>69   string          APSC            (Apple Scanner)
                   9348: #>69   string          BRKL            (Brickles)
                   9349: #>69   string          BTFT            (BitFont)
                   9350: #>69   string          CCL2            (Common Lisp 2)
                   9351: #>69   string          CCL\            (Common Lisp)
                   9352: #>69   string          CDmo            (The Talking Moose)
                   9353: #>69   string          CPCT            (Compact Pro)
                   9354: #>69   string          CSOm            (Eudora)
                   9355: #>69   string          DMOV            (Font/DA Mover)
                   9356: #>69   string          DSIM            (DigSim)
                   9357: #>69   string          EDIT            (Macintosh Edit)
                   9358: #>69   string          ERIK            (Macintosh Finder)
                   9359: #>69   string          EXTR            (self-extracting archive)
                   9360: #>69   string          Gzip            (GNU gzip)
                   9361: #>69   string          KAHL            (Think C)
                   9362: #>69   string          LWFU            (LaserWriter Utility)
                   9363: #>69   string          LZIV            (compress)
                   9364: #>69   string          MACA            (MacWrite)
                   9365: #>69   string          MACS            (Macintosh operating system)
                   9366: #>69   string          MAcK            (MacKnowledge terminal emulator)
                   9367: #>69   string          MLND            (Defender)
                   9368: #>69   string          MPNT            (MacPaint)
                   9369: #>69   string          MSBB            (Microsoft BASIC (binary))
                   9370: #>69   string          MSWD            (Microsoft Word)
                   9371: #>69   string          NCSA            (NCSA Telnet)
                   9372: #>69   string          PJMM            (Think Pascal)
                   9373: #>69   string          PSAL            (Hunt the Wumpus)
                   9374: #>69   string          PSI2            (Apple File Exchange)
                   9375: #>69   string          R*ch            (BBEdit)
                   9376: #>69   string          RMKR            (Resource Maker)
                   9377: #>69   string          RSED            (Resource Editor)
                   9378: #>69   string          Rich            (BBEdit)
                   9379: #>69   string          SIT!            (StuffIt)
                   9380: #>69   string          SPNT            (SuperPaint)
                   9381: #>69   string          Unix            (NeXT Mac filesystem)
                   9382: #>69   string          VIM!            (Vim editor)
                   9383: #>69   string          WILD            (HyperCard)
                   9384: #>69   string          XCEL            (Microsoft Excel)
                   9385: #>69   string          aCa2            (Fontographer)
                   9386: #>69   string          aca3            (Aldus FreeHand)
                   9387: #>69   string          dosa            (Macintosh MS-DOS file system)
                   9388: #>69   string          movr            (Font/DA Mover)
                   9389: #>69   string          nX^n            (WriteNow)
                   9390: #>69   string          pdos            (Apple ProDOS file system)
                   9391: #>69   string          scbk            (Scrapbook)
                   9392: #>69   string          ttxt            (SimpleText)
                   9393: #>69   string          ufox            (Foreign File Access)
                   9394: 
                   9395: # Just in case...
                   9396: 
                   9397: 102    string          mBIN            MacBinary III data with surprising version number
                   9398: 
                   9399: # sas magic from Bruce Foster (bef@nwu.edu)
                   9400: #
                   9401: #0     string          SAS             SAS
                   9402: #>8    string          x               %s
                   9403: 0      string          SAS             SAS
                   9404: >24    string          DATA            data file
                   9405: >24    string          CATALOG         catalog
                   9406: >24    string          INDEX           data file index
                   9407: >24    string          VIEW            data view
                   9408: # sas 7+ magic from Reinhold Koch (reinhold.koch@roche.com)
                   9409: #
                   9410: 0x54    string          SAS             SAS 7+
                   9411: >0x9C   string          DATA            data file
                   9412: >0x9C   string          CATALOG         catalog
                   9413: >0x9C   string          INDEX           data file index
                   9414: >0x9C   string          VIEW            data view
                   9415: 
                   9416: # spss magic for SPSS system and portable files, 
                   9417: #       from Bruce Foster (bef@nwu.edu).
                   9418: 
                   9419: 0      long            0xc1e2c3c9      SPSS Portable File
                   9420: >40    string          x               %s
                   9421: 
                   9422: 0      string          $FL2            SPSS System File
                   9423: >24    string          x               %s
                   9424: 
                   9425: # Macintosh filesystem data
                   9426: # From "Tom N Harris" <telliamed@mac.com>
                   9427: # Fixed HFS+ and Partition map magic: Ethan Benson <erbenson@alaska.net>
                   9428: # The MacOS epoch begins on 1 Jan 1904 instead of 1 Jan 1970, so these
                   9429: # entries depend on the data arithmetic added after v.35
                   9430: # There's also some Pascal strings in here, ditto...
                   9431: 
                   9432: # The boot block signature, according to IM:Files, is 
                   9433: # "for HFS volumes, this field always contains the value 0x4C4B."
                   9434: # But if this is true for MFS or HFS+ volumes, I don't know.
                   9435: # Alternatively, the boot block is supposed to be zeroed if it's
                   9436: # unused, so a simply >0 should suffice.
                   9437: 
                   9438: 0x400  beshort                 0xD2D7          Macintosh MFS data
                   9439: >0     beshort                 0x4C4B          (bootable)
                   9440: >0x40a beshort                 &0x8000         (locked)
                   9441: >0x402 beldate-0x7C25B080      x               created: %s,
                   9442: >0x406 beldate-0x7C25B080      >0              last backup: %s,
                   9443: >0x414 belong                  x               block size: %d,
                   9444: >0x412 beshort                 x               number of blocks: %d,
                   9445: >0x424 pstring                 x               volume name: %s
                   9446: 
                   9447: # "BD" is has many false positives
                   9448: #0x400 beshort                 0x4244          Macintosh HFS data
                   9449: #>0    beshort                 0x4C4B          (bootable)
                   9450: #>0x40a        beshort                 &0x8000         (locked)
                   9451: #>0x40a        beshort                 ^0x0100         (mounted)
                   9452: #>0x40a        beshort                 &0x0200         (spared blocks)
                   9453: #>0x40a        beshort                 &0x0800         (unclean)
                   9454: #>0x47C        beshort                 0x482B          (Embedded HFS+ Volume)
                   9455: #>0x402        beldate-0x7C25B080      x               created: %s,
                   9456: #>0x406        beldate-0x7C25B080      x               last modified: %s,
                   9457: #>0x440        beldate-0x7C25B080      >0              last backup: %s,
                   9458: #>0x414        belong                  x               block size: %d,
                   9459: #>0x412        beshort                 x               number of blocks: %d,
                   9460: #>0x424        pstring                 x               volume name: %s
                   9461: 
                   9462: 0x400  beshort                 0x482B          Macintosh HFS Extended
                   9463: >&0    beshort                 x               version %d data
                   9464: >0     beshort                 0x4C4B          (bootable)
                   9465: >0x404 belong                  ^0x00000100     (mounted)
                   9466: >&2    belong                  &0x00000200     (spared blocks)
                   9467: >&2    belong                  &0x00000800     (unclean)
                   9468: >&2    belong                  &0x00008000     (locked)
                   9469: >&6    string                  x               last mounted by: '%.4s',
                   9470: # really, that should be treated as a belong and we print a string
                   9471: # based on the value. TN1150 only mentions '8.10' for "MacOS 8.1"
                   9472: >&14   beldate-0x7C25B080      x               created: %s,
                   9473: # only the creation date is local time, all other timestamps in HFS+ are UTC.
                   9474: >&18   bedate-0x7C25B080       x               last modified: %s,
                   9475: >&22   bedate-0x7C25B080       >0              last backup: %s,
                   9476: >&26   bedate-0x7C25B080       >0              last checked: %s,
                   9477: >&38   belong                  x               block size: %d,
                   9478: >&42   belong                  x               number of blocks: %d,
                   9479: >&46   belong                  x               free blocks: %d
                   9480: 
                   9481: # I don't think this is really necessary since it doesn't do much and 
                   9482: # anything with a valid driver descriptor will also have a valid
                   9483: # partition map
                   9484: #0             beshort         0x4552          Apple Device Driver data
                   9485: #>&24          beshort         =1              \b, MacOS
                   9486: 
                   9487: # Is that the partition type a cstring or a pstring? Well, IM says "strings 
                   9488: # shorter than 32 bytes must be terminated with NULL" so I'll treat it as a 
                   9489: # cstring. Of course, partitions can contain more than four entries, but 
                   9490: # what're you gonna do?
                   9491: # GRR: This magic is too weak, it is just "PM"
                   9492: #0x200         beshort         0x504D          Apple Partition data
                   9493: #>0x2          beshort         x               (block size: %d):
                   9494: #>0x230                string          x               first type: %s,
                   9495: #>0x210                string          x               name: %s,
                   9496: #>0x254                belong          x               number of blocks: %d,
                   9497: #>0x400                beshort         0x504D          
                   9498: #>>0x430               string          x               second type: %s,
                   9499: #>>0x410               string          x               name: %s,
                   9500: #>>0x454               belong          x               number of blocks: %d,
                   9501: #>>0x600               beshort         0x504D
                   9502: #>>>0x630      string          x               third type: %s,
                   9503: #>>>0x610      string          x               name: %s,
                   9504: #>>>0x654      belong          x               number of blocks: %d,
                   9505: #>>0x800               beshort         0x504D          
                   9506: #>>>0x830      string          x               fourth type: %s,
                   9507: #>>>0x810      string          x               name: %s,
                   9508: #>>>0x854      belong          x               number of blocks: %d,
                   9509: #>>>0xa00      beshort         0x504D          
                   9510: #>>>>0xa30     string          x               fifth type: %s,
                   9511: #>>>>0xa10     string          x               name: %s,
                   9512: #>>>>0xa54     belong          x               number of blocks: %d
                   9513: #>>>0xc00      beshort         0x504D
                   9514: #>>>>0xc30     string          x               sixth type: %s,
                   9515: #>>>>0xc10     string          x               name: %s,
                   9516: #>>>>0xc54     belong          x               number of blocks: %d
                   9517: ## AFAIK, only the signature is different
                   9518: #0x200         beshort         0x5453          Apple Old Partition data
                   9519: #>0x2          beshort         x               block size: %d,
                   9520: #>0x230                string          x               first type: %s,
                   9521: #>0x210                string          x               name: %s,
                   9522: #>0x254                belong          x               number of blocks: %d,
                   9523: #>0x400                beshort         0x504D          
                   9524: #>>0x430               string          x               second type: %s,
                   9525: #>>0x410               string          x               name: %s,
                   9526: #>>0x454               belong          x               number of blocks: %d,
                   9527: #>>0x800               beshort         0x504D          
                   9528: #>>>0x830      string          x               third type: %s,
                   9529: #>>>0x810      string          x               name: %s,
                   9530: #>>>0x854      belong          x               number of blocks: %d,
                   9531: #>>>0xa00      beshort         0x504D          
                   9532: #>>>>0xa30     string          x               fourth type: %s,
                   9533: #>>>>0xa10     string          x               name: %s,
                   9534: #>>>>0xa54     belong          x               number of blocks: %d
                   9535: 
                   9536: # From: Remi Mommsen <mommsen@slac.stanford.edu>
                   9537: 0              string          BOMStore        Mac OS X bill of materials (BOM) file
                   9538: 
                   9539: #------------------------------------------------------------------------------
                   9540: # magic:  file(1) magic for magic files
                   9541: #
                   9542: 0      string          #\ Magic        magic text file for file(1) cmd
                   9543: 0      lelong          0xF11E041C      magic binary file for file(1) cmd
                   9544: >4     lelong          x               (version %d) (little endian)
                   9545: 0      belong          0xF11E041C      magic binary file for file(1) cmd
                   9546: >4     belong          x               (version %d) (big endian)
                   9547: #------------------------------------------------------------------------------
                   9548: # mail.news:  file(1) magic for mail and news
                   9549: #
                   9550: # Unfortunately, saved netnews also has From line added in some news software.
                   9551: #0     string          From            mail text
                   9552: # There are tests to ascmagic.c to cope with mail and news.
                   9553: 0      string          Relay-Version:  old news text
                   9554: !:mime message/rfc822
                   9555: 0      string          #!\ rnews       batched news text
                   9556: !:mime message/rfc822
                   9557: 0      string          N#!\ rnews      mailed, batched news text
                   9558: !:mime message/rfc822
                   9559: 0      string          Forward\ to     mail forwarding text
                   9560: !:mime message/rfc822
                   9561: 0      string          Pipe\ to        mail piping text
                   9562: !:mime message/rfc822
                   9563: 0      string          Return-Path:    smtp mail text
                   9564: !:mime message/rfc822
                   9565: 0      string          Path:           news text
                   9566: !:mime message/news
                   9567: 0      string          Xref:           news text
                   9568: !:mime message/news
                   9569: 0      string          From:           news or mail text
                   9570: !:mime message/rfc822
                   9571: 0      string          Article         saved news text
                   9572: !:mime message/news
                   9573: 0      string          BABYL           Emacs RMAIL text
                   9574: 0      string          Received:       RFC 822 mail text
                   9575: !:mime message/rfc822
                   9576: 0      string          MIME-Version:   MIME entity text
                   9577: #0     string          Content-        MIME entity text
                   9578: 
                   9579: # TNEF files...
                   9580: 0      lelong          0x223E9F78      Transport Neutral Encapsulation Format
                   9581: 
                   9582: # From: Kevin Sullivan <ksulliva@psc.edu>
                   9583: 0      string          *mbx*           MBX mail folder
                   9584: 
                   9585: # From: Simon Matter <simon.matter@invoca.ch>
                   9586: 0      string          \241\002\213\015skiplist\ file\0\0\0    Cyrus skiplist DB
                   9587: 
                   9588: # JAM(mbp) Fidonet message area databases
                   9589: # JHR file
                   9590: 0      string  JAM\0                   JAM message area header file
                   9591: >12    leshort >0                      (%d messages)
                   9592: 
                   9593: # Squish Fidonet message area databases
                   9594: # SQD file (requires at least one message in the area)
                   9595: # XXX: Weak magic
                   9596: #256   leshort 0xAFAE4453              Squish message area data file
                   9597: #>4    leshort >0                      (%d messages)
                   9598: 
                   9599: #0     string          \<!--\ MHonArc          text/html; x-type=mhonarc
                   9600: 
                   9601: #------------------------------------------------------------------------------
                   9602: # maple:  file(1) magic for maple files
                   9603: # "H. Nanosecond" <aldomel@ix.netcom.com>
                   9604: # Maple V release 4, a multi-purpose math program
                   9605: #
                   9606: 
                   9607: # maple library .lib
                   9608: 0      string  \000MVR4\nI     MapleVr4 library
                   9609: 
                   9610: # .ind
                   9611: # no magic for these :-(
                   9612: # they are compiled indexes for maple files
                   9613: 
                   9614: # .hdb 
                   9615: 0      string  \000\004\000\000        Maple help database
                   9616: 
                   9617: # .mhp
                   9618: # this has the form <PACKAGE=name>
                   9619: 0      string  \<PACKAGE=      Maple help file
                   9620: 0      string  \<HELP\ NAME=   Maple help file
                   9621: 0      string  \n\<HELP\ NAME= Maple help file with extra carriage return at start (yuck)
                   9622: #0     string  #\ Newton       Maple help file, old style
                   9623: 0      string  #\ daub Maple help file, old style
                   9624: #0     string  #===========    Maple help file, old style
                   9625: 
                   9626: # .mws
                   9627: 0      string  \000\000\001\044\000\221        Maple worksheet
                   9628: #this is anomalous
                   9629: 0      string  WriteNow\000\002\000\001\000\000\000\000\100\000\000\000\000\000        Maple worksheet, but weird
                   9630: # this has the form {VERSION 2 3 "IBM INTEL NT" "2.3" }\n
                   9631: # that is {VERSION major_version miunor_version computer_type version_string}
                   9632: 0      string  {VERSION\       Maple worksheet
                   9633: >9     string  >\0     version %.1s.
                   9634: >>>11  string  >\0     %.1s
                   9635: 
                   9636: # .mps
                   9637: 0      string  \0\0\001$       Maple something
                   9638: # from byte 4 it is either 'nul E' or 'soh R'
                   9639: # I think 'nul E' means a file that was saved as  a different name
                   9640: # a sort of revision marking
                   9641: # 'soh R' means new 
                   9642: >4     string  \000\105        An old revision
                   9643: >4     string  \001\122        The latest save
                   9644: 
                   9645: # .mpl
                   9646: # some of these are the same as .mps above
                   9647: #0000000 000 000 001 044 000 105 same as .mps
                   9648: #0000000 000 000 001 044 001 122 same as .mps
                   9649: 
                   9650: 0      string  #\n##\ <SHAREFILE=      Maple something
                   9651: 0      string  \n#\n##\ <SHAREFILE=    Maple something
                   9652: 0      string  ##\ <SHAREFILE= Maple something
                   9653: 0      string  #\r##\ <SHAREFILE=      Maple something
                   9654: 0      string  \r#\r##\ <SHAREFILE=    Maple something
                   9655: 0      string  #\ \r##\ <DESCRIBE>     Maple something anomalous.
                   9656: 
                   9657: #------------------------------------------------------------------------------
                   9658: # mathcad:  file(1) magic for Mathcad documents
                   9659: # URL: http://www.mathsoft.com/
                   9660: # From:        Josh Triplett <josh@freedesktop.org>
                   9661: 
                   9662: 0      string  .MCAD\t         Mathcad document
                   9663: #------------------------------------------------------------------------------
                   9664: # mathematica:  file(1) magic for mathematica files
                   9665: # "H. Nanosecond" <aldomel@ix.netcom.com>
                   9666: # Mathematica a multi-purpose math program
                   9667: # versions 2.2 and 3.0
                   9668: 
                   9669: #mathematica .mb
                   9670: 0      string  \064\024\012\000\035\000\000\000        Mathematica version 2 notebook
                   9671: 0      string  \064\024\011\000\035\000\000\000        Mathematica version 2 notebook
                   9672: 
                   9673: # .ma
                   9674: # multiple possibilites:
                   9675: 
                   9676: 0      string  (*^\n\n::[\011frontEndVersion\ =\       Mathematica notebook
                   9677: #>41   string  >\0     %s
                   9678: 
                   9679: #0     string  (*^\n\n::[\011palette   Mathematica notebook version 2.x
                   9680: 
                   9681: #0     string  (*^\n\n::[\011Information       Mathematica notebook version 2.x
                   9682: #>675  string  >\0     %s #doesn't work well
                   9683: 
                   9684: # there may be 'cr' instread of 'nl' in some does this matter?
                   9685: 
                   9686: # generic:
                   9687: 0      string  (*^\r\r::[\011  Mathematica notebook version 2.x
                   9688: 0      string  (*^\r\n\r\n::[\011      Mathematica notebook version 2.x
                   9689: 0      string  (*^\015                 Mathematica notebook version 2.x
                   9690: 0      string  (*^\n\r\n\r::[\011      Mathematica notebook version 2.x
                   9691: 0      string  (*^\r::[\011    Mathematica notebook version 2.x
                   9692: 0      string  (*^\r\n::[\011  Mathematica notebook version 2.x
                   9693: 0      string  (*^\n\n::[\011  Mathematica notebook version 2.x
                   9694: 0      string  (*^\n::[\011    Mathematica notebook version 2.x
                   9695: 
                   9696: 
                   9697: # Mathematica .mx files
                   9698: 
                   9699: #0     string  (*This\ is\ a\ Mathematica\ binary\ dump\ file.\ It\ can\ be\ loaded\ with\ Get.*)      Mathematica binary file
                   9700: 0      string  (*This\ is\ a\ Mathematica\ binary\     Mathematica binary file
                   9701: #>71   string \000\010\010\010\010\000\000\000\000\000\000\010\100\010\000\000\000     
                   9702: # >71... is optional
                   9703: >88    string  >\0     from %s
                   9704: 
                   9705: 
                   9706: # Mathematica files PBF:
                   9707: # 115 115 101 120 102 106 000 001 000 000 000 203 000 001 000
                   9708: 0      string  MMAPBF\000\001\000\000\000\203\000\001\000      Mathematica PBF (fonts I think)
                   9709: 
                   9710: # .ml files  These are menu resources I think
                   9711: # these start with "[0-9][0-9][0-9]\ A~[0-9][0-9][0-9]\ 
                   9712: # how to put that into a magic rule?
                   9713: 4      string  \ A~    MAthematica .ml file
                   9714: 
                   9715: # .nb files
                   9716: #too long 0    string  (***********************************************************************\n\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Mathematica-Compatible Notebook     Mathematica 3.0 notebook
                   9717: 0      string  (***********************        Mathematica 3.0 notebook
                   9718: 
                   9719: # other (* matches it is a comment start in these langs
                   9720: # GRR: Too weak; also matches other languages e.g. ML
                   9721: #0     string  (*      Mathematica, or Pascal, Modula-2 or 3 code text
                   9722: 
                   9723: #########################
                   9724: # MatLab v5
                   9725: 0       string  MATLAB  Matlab v5 mat-file
                   9726: >126    short   0x494d  (big endian)
                   9727: >>124   beshort x       version 0x%04x
                   9728: >126    short   0x4d49  (little endian)
                   9729: >>124   leshort x       version 0x%04x
                   9730: 
                   9731: 
                   9732: #------------------------------------------------------------------------------
                   9733: # matroska:  file(1) magic for Matroska files
                   9734: #
                   9735: # See http://www.matroska.org/
                   9736: #
                   9737: 
                   9738: # EBML id:
                   9739: 0              belong          0x1a45dfa3
                   9740: # DocType id:
                   9741: >5             beshort         0x4282
                   9742: # DocType contents:
                   9743: >>8            string          matroska        Matroska data
                   9744: 
                   9745: #------------------------------------------------------------------------------
                   9746: # Mavroyanopoulos Nikos <nmav@hellug.gr>
                   9747: # mcrypt:   file(1) magic for mcrypt 2.2.x;
                   9748: 0      string          \0m\3           mcrypt 2.5 encrypted data,
                   9749: >4     string          >\0             algorithm: %s,
                   9750: >>&1   leshort         >0              keysize: %d bytes,
                   9751: >>>&0  string          >\0             mode: %s,
                   9752: 
                   9753: 0      string          \0m\2           mcrypt 2.2 encrypted data,
                   9754: >3     byte            0               algorithm: blowfish-448,
                   9755: >3     byte            1               algorithm: DES,
                   9756: >3     byte            2               algorithm: 3DES,
                   9757: >3     byte            3               algorithm: 3-WAY,
                   9758: >3     byte            4               algorithm: GOST,
                   9759: >3     byte            6               algorithm: SAFER-SK64,
                   9760: >3     byte            7               algorithm: SAFER-SK128,
                   9761: >3     byte            8               algorithm: CAST-128,
                   9762: >3     byte            9               algorithm: xTEA,
                   9763: >3     byte            10              algorithm: TWOFISH-128,
                   9764: >3     byte            11              algorithm: RC2,
                   9765: >3     byte            12              algorithm: TWOFISH-192,
                   9766: >3     byte            13              algorithm: TWOFISH-256,
                   9767: >3     byte            14              algorithm: blowfish-128,
                   9768: >3     byte            15              algorithm: blowfish-192,
                   9769: >3     byte            16              algorithm: blowfish-256,
                   9770: >3     byte            100             algorithm: RC6,
                   9771: >3     byte            101             algorithm: IDEA,
                   9772: >4     byte            0               mode: CBC,
                   9773: >4     byte            1               mode: ECB,
                   9774: >4     byte            2               mode: CFB,
                   9775: >4     byte            3               mode: OFB,
                   9776: >4     byte            4               mode: nOFB,
                   9777: >5     byte            0               keymode: 8bit
                   9778: >5     byte            1               keymode: 4bit
                   9779: >5     byte            2               keymode: SHA-1 hash
                   9780: >5     byte            3               keymode: MD5 hash
                   9781: 
                   9782: #------------------------------------------------------------------------------
                   9783: # mercurial:  file(1) magic for Mercurial changeset bundles
                   9784: # http://www.selenic.com/mercurial/wiki/
                   9785: #
                   9786: # Jesse Glick (jesse.glick@sun.com)
                   9787: #
                   9788: 
                   9789: 0      string          HG10            Mercurial changeset bundle
                   9790: >4     string          UN              (uncompressed)
                   9791: >4     string          GZ              (gzip compressed)
                   9792: >4     string          BZ              (bzip2 compressed)
                   9793: #------------------------------------------------------------------------------
                   9794: # mime:  file(1) magic for MIME encoded files
                   9795: #
                   9796: 0      string          Content-Type:\ 
                   9797: >14    string          >\0             %s
                   9798: 0      string          Content-Type:
                   9799: >13    string          >\0             %s
                   9800: 
                   9801: #------------------------------------------------------------------------------
                   9802: # mips:  file(1) magic for Silicon Graphics (MIPS, IRIS, IRIX, etc.)
                   9803: #                         Dec Ultrix (MIPS)
                   9804: # all of SGI's *current* machines and OSes run in big-endian mode on the
                   9805: # MIPS machines, as far as I know.
                   9806: #
                   9807: # XXX - what is the blank "-" line?
                   9808: #
                   9809: # kbd file definitions
                   9810: 0      string  kbd!map         kbd map file
                   9811: >8     byte    >0              Ver %d:
                   9812: >10    short   >0              with %d table(s)
                   9813: 0      belong  0407            old SGI 68020 executable
                   9814: 0      belong  0410            old SGI 68020 pure executable
                   9815: 0      beshort 0x8765          disk quotas file
                   9816: 0      beshort 0x0506          IRIS Showcase file
                   9817: >2     byte    0x49            -
                   9818: >3     byte    x               - version %ld
                   9819: 0      beshort 0x0226          IRIS Showcase template
                   9820: >2     byte    0x63            -
                   9821: >3     byte    x               - version %ld
                   9822: 0      belong  0x5343464d      IRIS Showcase file
                   9823: >4     byte    x               - version %ld
                   9824: 0      belong  0x5443464d      IRIS Showcase template
                   9825: >4     byte    x               - version %ld
                   9826: 0      belong  0xdeadbabe      IRIX Parallel Arena
                   9827: >8     belong  >0              - version %ld
                   9828: #
                   9829: 0      beshort 0x0160          MIPSEB ECOFF executable
                   9830: >20    beshort 0407            (impure)
                   9831: >20    beshort 0410            (swapped)
                   9832: >20    beshort 0413            (paged)
                   9833: >8     belong  >0              not stripped
                   9834: >8     belong  0               stripped
                   9835: >22    byte    x               - version %ld
                   9836: >23    byte    x               .%ld
                   9837: #
                   9838: 0      beshort 0x0162          MIPSEL-BE ECOFF executable
                   9839: >20    beshort 0407            (impure)
                   9840: >20    beshort 0410            (swapped)
                   9841: >20    beshort 0413            (paged)
                   9842: >8     belong  >0              not stripped
                   9843: >8     belong  0               stripped
                   9844: >23    byte    x               - version %d
                   9845: >22    byte    x               .%ld
                   9846: #
                   9847: 0      beshort 0x6001          MIPSEB-LE ECOFF executable
                   9848: >20    beshort 03401           (impure)
                   9849: >20    beshort 04001           (swapped)
                   9850: >20    beshort 05401           (paged)
                   9851: >8     belong  >0              not stripped
                   9852: >8     belong  0               stripped
                   9853: >23    byte    x               - version %d
                   9854: >22    byte    x               .%ld
                   9855: #
                   9856: 0      beshort 0x6201          MIPSEL ECOFF executable
                   9857: >20    beshort 03401           (impure)
                   9858: >20    beshort 04001           (swapped)
                   9859: >20    beshort 05401           (paged)
                   9860: >8     belong  >0              not stripped
                   9861: >8     belong  0               stripped
                   9862: >23    byte    x               - version %ld
                   9863: >22    byte    x               .%ld
                   9864: #
                   9865: # MIPS 2 additions
                   9866: #
                   9867: 0      beshort 0x0163          MIPSEB MIPS-II ECOFF executable
                   9868: >20    beshort 0407            (impure)
                   9869: >20    beshort 0410            (swapped)
                   9870: >20    beshort 0413            (paged)
                   9871: >8     belong  >0              not stripped
                   9872: >8     belong  0               stripped
                   9873: >22    byte    x               - version %ld
                   9874: >23    byte    x               .%ld
                   9875: #
                   9876: 0      beshort 0x0166          MIPSEL-BE MIPS-II ECOFF executable
                   9877: >20    beshort 0407            (impure)
                   9878: >20    beshort 0410            (swapped)
                   9879: >20    beshort 0413            (paged)
                   9880: >8     belong  >0              not stripped
                   9881: >8     belong  0               stripped
                   9882: >22    byte    x               - version %ld
                   9883: >23    byte    x               .%ld
                   9884: #
                   9885: 0      beshort 0x6301          MIPSEB-LE MIPS-II ECOFF executable
                   9886: >20    beshort 03401           (impure)
                   9887: >20    beshort 04001           (swapped)
                   9888: >20    beshort 05401           (paged)
                   9889: >8     belong  >0              not stripped
                   9890: >8     belong  0               stripped
                   9891: >23    byte    x               - version %ld
                   9892: >22    byte    x               .%ld
                   9893: #
                   9894: 0      beshort 0x6601          MIPSEL MIPS-II ECOFF executable
                   9895: >20    beshort 03401           (impure)
                   9896: >20    beshort 04001           (swapped)
                   9897: >20    beshort 05401           (paged)
                   9898: >8     belong  >0              not stripped
                   9899: >8     belong  0               stripped
                   9900: >23    byte    x               - version %ld
                   9901: >22    byte    x               .%ld
                   9902: #
                   9903: # MIPS 3 additions
                   9904: #
                   9905: 0      beshort 0x0140          MIPSEB MIPS-III ECOFF executable
                   9906: >20    beshort 0407            (impure)
                   9907: >20    beshort 0410            (swapped)
                   9908: >20    beshort 0413            (paged)
                   9909: >8     belong  >0              not stripped
                   9910: >8     belong  0               stripped
                   9911: >22    byte    x               - version %ld
                   9912: >23    byte    x               .%ld
                   9913: #
                   9914: 0      beshort 0x0142          MIPSEL-BE MIPS-III ECOFF executable
                   9915: >20    beshort 0407            (impure)
                   9916: >20    beshort 0410            (swapped)
                   9917: >20    beshort 0413            (paged)
                   9918: >8     belong  >0              not stripped
                   9919: >8     belong  0               stripped
                   9920: >22    byte    x               - version %ld
                   9921: >23    byte    x               .%ld
                   9922: #
                   9923: 0      beshort 0x4001          MIPSEB-LE MIPS-III ECOFF executable
                   9924: >20    beshort 03401           (impure)
                   9925: >20    beshort 04001           (swapped)
                   9926: >20    beshort 05401           (paged)
                   9927: >8     belong  >0              not stripped
                   9928: >8     belong  0               stripped
                   9929: >23    byte    x               - version %ld
                   9930: >22    byte    x               .%ld
                   9931: #
                   9932: 0      beshort 0x4201          MIPSEL MIPS-III ECOFF executable
                   9933: >20    beshort 03401           (impure)
                   9934: >20    beshort 04001           (swapped)
                   9935: >20    beshort 05401           (paged)
                   9936: >8     belong  >0              not stripped
                   9937: >8     belong  0               stripped
                   9938: >23    byte    x               - version %ld
                   9939: >22    byte    x               .%ld
                   9940: #
                   9941: 0      beshort 0x180           MIPSEB Ucode
                   9942: 0      beshort 0x182           MIPSEL-BE Ucode
                   9943: # 32bit core file
                   9944: 0      belong  0xdeadadb0      IRIX core dump
                   9945: >4     belong  1               of
                   9946: >16    string  >\0             '%s'
                   9947: # 64bit core file
                   9948: 0      belong  0xdeadad40      IRIX 64-bit core dump
                   9949: >4     belong  1               of
                   9950: >16    string  >\0             '%s'
                   9951: # N32bit core file
                   9952: 0       belong 0xbabec0bb      IRIX N32 core dump
                   9953: >4      belong 1               of
                   9954: >16     string >\0             '%s'
                   9955: # New style crash dump file
                   9956: 0      string  \x43\x72\x73\x68\x44\x75\x6d\x70        IRIX vmcore dump of
                   9957: >36    string  >\0                                     '%s'
                   9958: # Trusted IRIX info
                   9959: 0      string  SGIAUDIT        SGI Audit file
                   9960: >8     byte    x               - version %d
                   9961: >9     byte    x               .%ld
                   9962: #
                   9963: 0      string  WNGZWZSC        Wingz compiled script
                   9964: 0      string  WNGZWZSS        Wingz spreadsheet
                   9965: 0      string  WNGZWZHP        Wingz help file
                   9966: #
                   9967: 0      string  #Inventor V     IRIS Inventor 1.0 file
                   9968: 0      string  #Inventor V2    Open Inventor 2.0 file
                   9969: # GLF is OpenGL stream encoding
                   9970: 0      string  glfHeadMagic();         GLF_TEXT
                   9971: 4      belong  0x7d000000              GLF_BINARY_LSB_FIRST
                   9972: 4      belong  0x0000007d              GLF_BINARY_MSB_FIRST
                   9973: # GLS is OpenGL stream encoding; GLS is the successor of GLF
                   9974: 0      string  glsBeginGLS(            GLS_TEXT
                   9975: 4      belong  0x10000000              GLS_BINARY_LSB_FIRST
                   9976: 4      belong  0x00000010              GLS_BINARY_MSB_FIRST
                   9977: 
                   9978: #------------------------------------------------------------------------------
                   9979: # mirage:  file(1) magic for Mirage executables
                   9980: #
                   9981: # XXX - byte order?
                   9982: #
                   9983: 0      long    31415           Mirage Assembler m.out executable
                   9984: #-----------------------------------------------------------------------------
                   9985: # misctools:  file(1) magic for miscellaneous UNIX tools.
                   9986: #
                   9987: 0      search/1        %%!!                    X-Post-It-Note text
                   9988: 0      string/c        BEGIN:VCALENDAR         vCalendar calendar file
                   9989: 0      string/c        BEGIN:VCARD             vCard visiting card
                   9990: !:mime text/x-vcard
                   9991: 
                   9992: # From: Alex Beregszaszi <alex@fsn.hu>
                   9993: 4      string  gtktalog                GNOME Catalogue (gtktalog)
                   9994: >13    string  >\0                     version %s
                   9995: 
                   9996: # Summary: Libtool library file
                   9997: # Extension: .la
                   9998: # Submitted by: Tomasz Trojanowski <tomek@uninet.com.pl>
                   9999: 0      search/80       .la\ -\ a\ libtool\ library\ file       libtool library file
                   10000: 
                   10001: # Summary: Libtool object file
                   10002: # Extension: .lo
                   10003: # Submitted by: Abel Cheung <abelcheung@gmail.com>
                   10004: 0      search/80       .lo\ -\ a\ libtool\ object\ file        libtool object file
                   10005: 
                   10006: #------------------------------------------------------------------------------
                   10007: # mkid:  file(1) magic for mkid(1) databases
                   10008: #
                   10009: # ID is the binary tags database produced by mkid(1).
                   10010: #
                   10011: # XXX - byte order?
                   10012: #
                   10013: 0      string          \311\304        ID tags data
                   10014: >2     short           >0              version %d
                   10015: 
                   10016: #------------------------------------------------------------------------------
                   10017: # mlssa: file(1) magic for MLSSA datafiles
                   10018: #
                   10019: 0              lelong          0xffffabcd      MLSSA datafile,
                   10020: >4             leshort         x               algorithm %d,
                   10021: >10            lelong          x               %d samples
                   10022: 
                   10023: #------------------------------------------------------------------------------
                   10024: # mmdf:  file(1) magic for MMDF mail files
                   10025: #
                   10026: 0      string  \001\001\001\001        MMDF mailbox
                   10027: #------------------------------------------------------------------------------
                   10028: # modem:  file(1) magic for modem programs
                   10029: #
                   10030: # From: Florian La Roche <florian@knorke.saar.de>
                   10031: 1      string          PC\ Research,\ Inc      Digifax-G3-File
                   10032: >29    byte            1                       \b, fine resolution
                   10033: >29    byte            0                       \b, normal resolution
                   10034: 
                   10035: 0      short           0x0100          raw G3 data, byte-padded
                   10036: 0      short           0x1400          raw G3 data
                   10037: #
                   10038: # Magic data for vgetty voice formats
                   10039: # (Martin Seine & Marc Eberhard)
                   10040: 
                   10041: #
                   10042: # raw modem data version 1
                   10043: #
                   10044: 0    string    RMD1      raw modem data
                   10045: >4   string    >\0       (%s /
                   10046: >20  short     >0        compression type 0x%04x)
                   10047: 
                   10048: #
                   10049: # portable voice format 1
                   10050: #
                   10051: 0    string    PVF1\n         portable voice format
                   10052: >5   string    >\0       (binary %s)
                   10053: 
                   10054: #
                   10055: # portable voice format 2
                   10056: #
                   10057: 0    string    PVF2\n         portable voice format
                   10058: >5   string >\0          (ascii %s)
                   10059: 
                   10060: 
                   10061: #------------------------------------------------------------------------------
                   10062: # motorola:  file(1) magic for Motorola 68K and 88K binaries
                   10063: #
                   10064: # 68K
                   10065: #
                   10066: 0      beshort         0520            mc68k COFF
                   10067: >18    beshort         ^00000020       object
                   10068: >18    beshort         &00000020       executable
                   10069: >12    belong          >0              not stripped
                   10070: >168   string          .lowmem         Apple toolbox
                   10071: >20    beshort         0407            (impure)
                   10072: >20    beshort         0410            (pure)
                   10073: >20    beshort         0413            (demand paged)
                   10074: >20    beshort         0421            (standalone)
                   10075: 0      beshort         0521            mc68k executable (shared)
                   10076: >12    belong          >0              not stripped
                   10077: 0      beshort         0522            mc68k executable (shared demand paged)
                   10078: >12    belong          >0              not stripped
                   10079: #
                   10080: # Motorola/UniSoft 68K Binary Compatibility Standard (BCS)
                   10081: #
                   10082: 0      beshort         0554            68K BCS executable
                   10083: #
                   10084: # 88K
                   10085: #
                   10086: # Motorola/88Open BCS
                   10087: #
                   10088: 0      beshort         0555            88K BCS executable
                   10089: #
                   10090: # Motorola S-Records, from Gerd Truschinski <gt@freebsd.first.gmd.de>
                   10091: 0   string      S0          Motorola S-Record; binary data in text format
                   10092: 
                   10093: # ATARI ST relocatable PRG
                   10094: #
                   10095: # from Oskar Schirmer <schirmer@scara.com> Feb 3, 2001
                   10096: # (according to Roland Waldi, Oct 21, 1987)
                   10097: # besides the magic 0x601a, the text segment size is checked to be
                   10098: # not larger than 1 MB (which is a lot on ST).
                   10099: # The additional 0x601b distinction I took from Doug Lee's magic.
                   10100: 0      belong&0xFFFFFFF0       0x601A0000      Atari ST M68K contiguous executable
                   10101: >2     belong                  x               (txt=%ld,
                   10102: >6     belong                  x               dat=%ld,
                   10103: >10    belong                  x               bss=%ld,
                   10104: >14    belong                  x               sym=%ld)
                   10105: 0      belong&0xFFFFFFF0       0x601B0000      Atari ST M68K non-contig executable
                   10106: >2     belong                  x               (txt=%ld,
                   10107: >6     belong                  x               dat=%ld,
                   10108: >10    belong                  x               bss=%ld,
                   10109: >14    belong                  x               sym=%ld)
                   10110: 
                   10111: # Atari ST/TT... program format (sent by Wolfram Kleff <kleff@cs.uni-bonn.de>)
                   10112: 0       beshort         0x601A          Atari 68xxx executable,
                   10113: >2      belong          x               text len %lu,
                   10114: >6      belong          x               data len %lu,
                   10115: >10     belong          x               BSS len %lu,
                   10116: >14     belong          x               symboltab len %lu,
                   10117: >18     belong          0
                   10118: >22     belong          &0x01           fastload flag,
                   10119: >22     belong          &0x02           may be loaded to alternate RAM,
                   10120: >22     belong          &0x04           malloc may be from alternate RAM,
                   10121: >22     belong          x               flags: 0x%lX,
                   10122: >26     beshort         0               no relocation tab
                   10123: >26     beshort         !0              + relocation tab
                   10124: >30     string          SFX             [Self-Extracting LZH SFX archive]
                   10125: >38     string          SFX             [Self-Extracting LZH SFX archive]
                   10126: >44     string          ZIP!            [Self-Extracting ZIP SFX archive]
                   10127: 
                   10128: 0       beshort         0x0064          Atari 68xxx CPX file
                   10129: >8      beshort         x               (version %04lx)
                   10130: 
                   10131: #------------------------------------------------------------------------------
                   10132: # mozilla:  file(1) magic for Mozilla XUL fastload files 
                   10133: # (XUL.mfasl and XPC.mfasl)
                   10134: # URL: http://www.mozilla.org/
                   10135: # From:        Josh Triplett <josh@freedesktop.org>
                   10136: 
                   10137: 0      string  XPCOM\nMozFASL\r\n\x1A          Mozilla XUL fastload data
                   10138: 
                   10139: #------------------------------------------------------------------------------
                   10140: # msdos:  file(1) magic for MS-DOS files
                   10141: #
                   10142: 
                   10143: # .BAT files (Daniel Quinlan, quinlan@yggdrasil.com)
                   10144: # updated by Joerg Jenderek
                   10145: 0      string  @                       
                   10146: >1     string/cB       \ echo\ off     MS-DOS batch file text
                   10147: !:mime text/x-msdos-batch
                   10148: >1     string/cB       echo\ off       MS-DOS batch file text
                   10149: !:mime text/x-msdos-batch
                   10150: >1     string/cB       rem\            MS-DOS batch file text
                   10151: !:mime text/x-msdos-batch
                   10152: >1     string/cB       set\            MS-DOS batch file text
                   10153: !:mime text/x-msdos-batch
                   10154: 
                   10155: 
                   10156: # OS/2 batch files are REXX. the second regex is a bit generic, oh well
                   10157: # the matched commands seem to be common in REXX and uncommon elsewhere
                   10158: 100    search/0xffff   rxfuncadd
                   10159: >100   regex/c =^[\ \t]{0,10}call[\ \t]{1,10}rxfunc    OS/2 REXX batch file text
                   10160: 100    search/0xffff   say
                   10161: >100   regex/c =^[\ \t]{0,10}say\ ['"]                 OS/2 REXX batch file text
                   10162: 
                   10163: 0      leshort         0x14c   MS Windows COFF Intel 80386 object file
                   10164: #>4    ledate          x       stamp %s
                   10165: 0      leshort         0x166   MS Windows COFF MIPS R4000 object file
                   10166: #>4    ledate          x       stamp %s
                   10167: 0      leshort         0x184   MS Windows COFF Alpha object file
                   10168: #>4    ledate          x       stamp %s
                   10169: 0      leshort         0x268   MS Windows COFF Motorola 68000 object file
                   10170: #>4    ledate          x       stamp %s
                   10171: 0      leshort         0x1f0   MS Windows COFF PowerPC object file
                   10172: #>4    ledate          x       stamp %s
                   10173: 0      leshort         0x290   MS Windows COFF PA-RISC object file
                   10174: #>4    ledate          x       stamp %s
                   10175: 
                   10176: # XXX - according to Microsoft's spec, at an offset of 0x3c in a
                   10177: # PE-format executable is the offset in the file of the PE header;
                   10178: # unfortunately, that's a little-endian offset, and there's no way
                   10179: # to specify an indirect offset with a specified byte order.
                   10180: # So, for now, we assume the standard MS-DOS stub, which puts the
                   10181: # PE header at 0x80 = 128.
                   10182: #
                   10183: # Required OS version and subsystem version were 4.0 on some NT 3.51
                   10184: # executables built with Visual C++ 4.0, so it's not clear that
                   10185: # they're interesting. The user version was 0.0, but there's
                   10186: # probably some linker directive to set it.  The linker version was
                   10187: # 3.0, except for one ".exe" which had it as 4.20 (same damn linker!).
                   10188: #
                   10189: # many of the compressed formats were extraced from IDARC 1.23 source code
                   10190: #
                   10191: 0      string  MZ
                   10192: !:mime application/x-dosexec
                   10193: >0x18  leshort <0x40 MS-DOS executable
                   10194: >0 string MZ\0\0\0\0\0\0\0\0\0\0PE\0\0 \b, PE for MS Windows
                   10195: >>&18  leshort&0x2000  >0      (DLL)
                   10196: >>&88  leshort         0       (unknown subsystem)
                   10197: >>&88  leshort         1       (native)
                   10198: >>&88  leshort         2       (GUI)
                   10199: >>&88  leshort         3       (console)
                   10200: >>&88  leshort         7       (POSIX)
                   10201: >>&0   leshort         0x0     unknown processor
                   10202: >>&0   leshort         0x14c   Intel 80386
                   10203: >>&0   leshort         0x166   MIPS R4000
                   10204: >>&0   leshort         0x184   Alpha
                   10205: >>&0   leshort         0x268   Motorola 68000
                   10206: >>&0   leshort         0x1f0   PowerPC
                   10207: >>&0   leshort         0x290   PA-RISC
                   10208: >>&18  leshort&0x0100  >0      32-bit
                   10209: >>&18  leshort&0x1000  >0      system file
                   10210: >>&228 lelong          >0      \b, Mono/.Net assembly
                   10211: >>&0xf4 search/0x140 \x0\x40\x1\x0
                   10212: >>>(&0.l+(4)) string MSCF \b, WinHKI CAB self-extracting archive
                   10213: >30            string  Copyright\ 1989-1990\ PKWARE\ Inc.      Self-extracting PKZIP archive
                   10214: !:mime application/zip
                   10215: # Is next line correct? One might expect "Corp." not "Copr." If it is right, add a note to that effect.
                   10216: >30            string  PKLITE\ Copr.   Self-extracting PKZIP archive
                   10217: !:mime application/zip
                   10218: 
                   10219: >0x18  leshort >0x3f
                   10220: >>(0x3c.l) string PE\0\0 PE
                   10221: >>>(0x3c.l+25) byte            1 \b32 executable
                   10222: >>>(0x3c.l+25) byte            2 \b32+ executable
                   10223: # hooray, there's a DOS extender using the PE format, with a valid PE
                   10224: # executable inside (which just prints a message and exits if run in win)
                   10225: >>>(0x3c.l+92) leshort         <10
                   10226: >>>>(8.s*16) string 32STUB for MS-DOS, 32rtm DOS extender
                   10227: >>>>(8.s*16) string !32STUB for MS Windows
                   10228: >>>>>(0x3c.l+22)       leshort&0x2000  >0      (DLL)
                   10229: >>>>>(0x3c.l+92)       leshort         0       (unknown subsystem)
                   10230: >>>>>(0x3c.l+92)       leshort         1       (native)
                   10231: >>>>>(0x3c.l+92)       leshort         2       (GUI)
                   10232: >>>>>(0x3c.l+92)       leshort         3       (console)
                   10233: >>>>>(0x3c.l+92)       leshort         7       (POSIX)
                   10234: >>>(0x3c.l+92) leshort         10      (EFI application)
                   10235: >>>(0x3c.l+92) leshort         11      (EFI boot service driver)
                   10236: >>>(0x3c.l+92) leshort         12      (EFI runtime driver)
                   10237: >>>(0x3c.l+92) leshort         13      (XBOX)
                   10238: >>>(0x3c.l+4)  leshort         0x0     unknown processor
                   10239: >>>(0x3c.l+4)  leshort         0x14c   Intel 80386
                   10240: >>>(0x3c.l+4)  leshort         0x166   MIPS R4000
                   10241: >>>(0x3c.l+4)  leshort         0x184   Alpha
                   10242: >>>(0x3c.l+4)  leshort         0x268   Motorola 68000
                   10243: >>>(0x3c.l+4)  leshort         0x1f0   PowerPC
                   10244: >>>(0x3c.l+4)  leshort         0x290   PA-RISC
                   10245: >>>(0x3c.l+4)  leshort         0x200   Intel Itanium
                   10246: >>>(0x3c.l+22) leshort&0x0100  >0      32-bit
                   10247: >>>(0x3c.l+22) leshort&0x1000  >0      system file
                   10248: >>>(0x3c.l+232) lelong >0      Mono/.Net assembly
                   10249: 
                   10250: >>>>(0x3c.l+0xf8)      string          UPX0 \b, UPX compressed
                   10251: >>>>(0x3c.l+0xf8)      search/0x140    PEC2 \b, PECompact2 compressed
                   10252: >>>>(0x3c.l+0xf8)      search/0x140    UPX2
                   10253: >>>>>(&0x10.l+(-4))    string          PK\3\4 \b, ZIP self-extracting archive (Info-Zip)
                   10254: >>>>(0x3c.l+0xf8)      search/0x140    .idata
                   10255: >>>>>(&0xe.l+(-4))     string          PK\3\4 \b, ZIP self-extracting archive (Info-Zip)
                   10256: >>>>>(&0xe.l+(-4))     string          ZZ0 \b, ZZip self-extracting archive
                   10257: >>>>>(&0xe.l+(-4))     string          ZZ1 \b, ZZip self-extracting archive
                   10258: >>>>(0x3c.l+0xf8)      search/0x140    .rsrc
                   10259: >>>>>(&0x0f.l+(-4))    string          a\\\4\5 \b, WinHKI self-extracting archive
                   10260: >>>>>(&0x0f.l+(-4))    string          Rar! \b, RAR self-extracting archive
                   10261: >>>>>(&0x0f.l+(-4))    search/0x3000   MSCF \b, InstallShield self-extracting archive
                   10262: >>>>>(&0x0f.l+(-4))    search/32       Nullsoft \b, Nullsoft Installer self-extracting archive
                   10263: >>>>(0x3c.l+0xf8)      search/0x140    .data
                   10264: >>>>>(&0x0f.l)         string          WEXTRACT \b, MS CAB-Installer self-extracting archive
                   10265: >>>>(0x3c.l+0xf8)      search/0x140    .petite\0 \b, Petite compressed
                   10266: >>>>>(0x3c.l+0xf7)     byte            x
                   10267: >>>>>>(&0x104.l+(-4))  string          =!sfx! \b, ACE self-extracting archive
                   10268: >>>>(0x3c.l+0xf8)      search/0x140    .WISE \b, WISE installer self-extracting archive
                   10269: >>>>(0x3c.l+0xf8)      search/0x140    .dz\0\0\0 \b, Dzip self-extracting archive
                   10270: >>>>(0x3c.l+0xf8)      search/0x140    .reloc
                   10271: >>>>>(&0xe.l+(-4))     search/0x180    PK\3\4 \b, ZIP self-extracting archive (WinZip)
                   10272: 
                   10273: >>>>&(0x3c.l+0xf8)     search/0x100    _winzip_ \b, ZIP self-extracting archive (WinZip)
                   10274: >>>>&(0x3c.l+0xf8)     search/0x100    SharedD \b, Microsoft Installer self-extracting archive
                   10275: >>>>0x30               string          Inno \b, InnoSetup self-extracting archive
                   10276: 
                   10277: >>(0x3c.l) string !PE\0\0 MS-DOS executable
                   10278: 
                   10279: >>(0x3c.l)             string          NE \b, NE
                   10280: >>>(0x3c.l+0x36)       byte            0 (unknown OS)
                   10281: >>>(0x3c.l+0x36)       byte            1 for OS/2 1.x
                   10282: >>>(0x3c.l+0x36)       byte            2 for MS Windows 3.x
                   10283: >>>(0x3c.l+0x36)       byte            3 for MS-DOS
                   10284: >>>(0x3c.l+0x36)       byte            >3 (unknown OS)
                   10285: >>>(0x3c.l+0x36)       byte            0x81 for MS-DOS, Phar Lap DOS extender
                   10286: >>>(0x3c.l+0x0c)       leshort&0x8003  0x8002 (DLL)
                   10287: >>>(0x3c.l+0x0c)       leshort&0x8003  0x8001 (driver)
                   10288: >>>&(&0x24.s-1)                string          ARJSFX \b, ARJ self-extracting archive
                   10289: >>>(0x3c.l+0x70)       search/0x80     WinZip(R)\ Self-Extractor \b, ZIP self-extracting archive (WinZip)
                   10290: 
                   10291: >>(0x3c.l)             string          LX\0\0 \b, LX
                   10292: >>>(0x3c.l+0x0a)       leshort         <1 (unknown OS)
                   10293: >>>(0x3c.l+0x0a)       leshort         1 for OS/2
                   10294: >>>(0x3c.l+0x0a)       leshort         2 for MS Windows
                   10295: >>>(0x3c.l+0x0a)       leshort         3 for DOS
                   10296: >>>(0x3c.l+0x0a)       leshort         >3 (unknown OS)
                   10297: >>>(0x3c.l+0x10)       lelong&0x28000  =0x8000 (DLL)
                   10298: >>>(0x3c.l+0x10)       lelong&0x20000  >0 (device driver)
                   10299: >>>(0x3c.l+0x10)       lelong&0x300    0x300 (GUI)
                   10300: >>>(0x3c.l+0x10)       lelong&0x28300  <0x300 (console)
                   10301: >>>(0x3c.l+0x08)       leshort         1 i80286
                   10302: >>>(0x3c.l+0x08)       leshort         2 i80386
                   10303: >>>(0x3c.l+0x08)       leshort         3 i80486
                   10304: >>>(8.s*16)            string          emx \b, emx
                   10305: >>>>&1                 string          x %s
                   10306: >>>&(&0x54.l-3)                string          arjsfx \b, ARJ self-extracting archive
                   10307: 
                   10308: # MS Windows system file, supposedly a collection of LE executables
                   10309: >>(0x3c.l)             string          W3 \b, W3 for MS Windows
                   10310: 
                   10311: >>(0x3c.l)             string          LE\0\0 \b, LE executable
                   10312: >>>(0x3c.l+0x0a)       leshort         1
                   10313: # some DOS extenders use LE files with OS/2 header
                   10314: >>>>0x240              search/0x100    DOS/4G for MS-DOS, DOS4GW DOS extender
                   10315: >>>>0x240              search/0x200    WATCOM\ C/C++ for MS-DOS, DOS4GW DOS extender
                   10316: >>>>0x440              search/0x100    CauseWay\ DOS\ Extender for MS-DOS, CauseWay DOS extender
                   10317: >>>>0x40               search/0x40     PMODE/W for MS-DOS, PMODE/W DOS extender
                   10318: >>>>0x40               search/0x40     STUB/32A for MS-DOS, DOS/32A DOS extender (stub)
                   10319: >>>>0x40               search/0x80     STUB/32C for MS-DOS, DOS/32A DOS extender (configurable stub)
                   10320: >>>>0x40               search/0x80     DOS/32A for MS-DOS, DOS/32A DOS extender (embedded)
                   10321: # this is a wild guess; hopefully it is a specific signature
                   10322: >>>>&0x24              lelong          <0x50
                   10323: >>>>>(&0x4c.l)         string          \xfc\xb8WATCOM
                   10324: >>>>>>&0               search/8        3\xdbf\xb9 \b, 32Lite compressed
                   10325: # another wild guess: if real OS/2 LE executables exist, they probably have higher start EIP
                   10326: #>>>>(0x3c.l+0x1c)     lelong          >0x10000 for OS/2
                   10327: # fails with DOS-Extenders.
                   10328: >>>(0x3c.l+0x0a)       leshort         2 for MS Windows
                   10329: >>>(0x3c.l+0x0a)       leshort         3 for DOS
                   10330: >>>(0x3c.l+0x0a)       leshort         4 for MS Windows (VxD)
                   10331: >>>(&0x7c.l+0x26)      string          UPX \b, UPX compressed
                   10332: >>>&(&0x54.l-3)                string          UNACE \b, ACE self-extracting archive
                   10333: 
                   10334: # looks like ASCII, probably some embedded copyright message.
                   10335: # and definitely not NE/LE/LX/PE
                   10336: >>0x3c         lelong  >0x20000000
                   10337: >>>(4.s*512)   leshort !0x014c \b, MZ for MS-DOS
                   10338: # header data too small for extended executable
                   10339: >2             long    !0
                   10340: >>0x18         leshort <0x40
                   10341: >>>(4.s*512)   leshort !0x014c
                   10342: 
                   10343: >>>>&(2.s-514) string  !LE
                   10344: >>>>>&-2       string  !BW \b, MZ for MS-DOS
                   10345: >>>>&(2.s-514) string  LE \b, LE
                   10346: >>>>>0x240     search/0x100    DOS/4G for MS-DOS, DOS4GW DOS extender
                   10347: # educated guess since indirection is still not capable enough for complex offset
                   10348: # calculations (next embedded executable would be at &(&2*512+&0-2)
                   10349: # I suspect there are only LE executables in these multi-exe files
                   10350: >>>>&(2.s-514) string  BW
                   10351: >>>>>0x240     search/0x100    DOS/4G ,\b LE for MS-DOS, DOS4GW DOS extender (embedded)
                   10352: >>>>>0x240     search/0x100    !DOS/4G ,\b BW collection for MS-DOS
                   10353: 
                   10354: # This sequence skips to the first COFF segment, usually .text
                   10355: >(4.s*512)     leshort         0x014c \b, COFF
                   10356: >>(8.s*16)     string          go32stub for MS-DOS, DJGPP go32 DOS extender
                   10357: >>(8.s*16)     string          emx
                   10358: >>>&1          string          x for DOS, Win or OS/2, emx %s
                   10359: >>&(&0x42.l-3) byte            x 
                   10360: >>>&0x26       string          UPX \b, UPX compressed
                   10361: # and yet another guess: small .text, and after large .data is unusal, could be 32lite
                   10362: >>&0x2c                search/0xa0     .text
                   10363: >>>&0x0b       lelong          <0x2000
                   10364: >>>>&0         lelong          >0x6000 \b, 32lite compressed
                   10365: 
                   10366: >(8.s*16) string $WdX \b, WDos/X DOS extender
                   10367: 
                   10368: # .EXE formats (Greg Roelofs, newt@uchicago.edu)
                   10369: #
                   10370: >0x35  string  \x8e\xc0\xb9\x08\x00\xf3\xa5\x4a\x75\xeb\x8e\xc3\x8e\xd8\x33\xff\xbe\x30\x00\x05 \b, aPack compressed
                   10371: >0xe7  string  LH/2\ Self-Extract \b, %s
                   10372: >0x1c  string  diet \b, diet compressed
                   10373: >0x1c  string  LZ09 \b, LZEXE v0.90 compressed
                   10374: >0x1c  string  LZ91 \b, LZEXE v0.91 compressed
                   10375: >0x1c  string  tz \b, TinyProg compressed
                   10376: >0x1e  string  PKLITE \b, %s compressed
                   10377: >0x64  string  W\ Collis\0\0 \b, Compack compressed
                   10378: >0x24  string  LHa's\ SFX \b, LHa self-extracting archive
                   10379: !:mime application/x-lha
                   10380: >0x24  string  LHA's\ SFX \b, LHa self-extracting archive
                   10381: !:mime application/x-lha
                   10382: >0x24  string  \ $ARX \b, ARX self-extracting archive
                   10383: >0x24  string  \ $LHarc \b, LHarc self-extracting archive
                   10384: >0x20  string  SFX\ by\ LARC \b, LARC self-extracting archive
                   10385: >1638  string  -lh5- \b, LHa self-extracting archive v2.13S
                   10386: >0x17888 string Rar! \b, RAR self-extracting archive
                   10387: >0x40  string aPKG \b, aPackage self-extracting archive
                   10388: 
                   10389: >32     string AIN
                   10390: >>35    string 2               \b, AIN 2.x compressed
                   10391: >>35    string <2              \b, AIN 1.x compressed
                   10392: >>35    string >2              \b, AIN 1.x compressed
                   10393: >28     string UC2X            \b, UCEXE compressed
                   10394: >28     string WWP\            \b, WWPACK compressed
                   10395: 
                   10396: # skip to the end of the exe
                   10397: >(4.s*512)     long    x 
                   10398: >>&(2.s-517)   byte    x 
                   10399: >>>&0  string          PK\3\4 \b, ZIP self-extracting archive
                   10400: >>>&0  string          Rar! \b, RAR self-extracting archive
                   10401: >>>&0  string          =!\x11 \b, AIN 2.x self-extracting archive
                   10402: >>>&0  string          =!\x12 \b, AIN 2.x self-extracting archive
                   10403: >>>&0  string          =!\x17 \b, AIN 1.x self-extracting archive
                   10404: >>>&0  string          =!\x18 \b, AIN 1.x self-extracting archive
                   10405: >>>&7  search/400      **ACE** \b, ACE self-extracting archive
                   10406: >>>&0  search/0x480    UC2SFX\ Header \b, UC2 self-extracting archive
                   10407: 
                   10408: >0x1c  string          RJSX \b, ARJ self-extracting archive
                   10409: # winarj stores a message in the stub instead of the sig in the MZ header
                   10410: >0x20  search/0xe0     aRJsfX \b, ARJ self-extracting archive
                   10411: 
                   10412: # a few unknown ZIP sfxes, no idea if they are needed or if they are
                   10413: # already captured by the generic patterns above
                   10414: >0x7a          string          Windows\ self-extracting\ ZIP   \b, ZIP self-extracting archive
                   10415: >(8.s*16)      search/0x20     PKSFX \b, ZIP self-extracting archive (PKZIP)
                   10416: # TODO: how to add this? >FileSize-34 string Windows\ Self-Installing\ Executable \b, ZIP self-extracting archive
                   10417: #
                   10418: 
                   10419: # TELVOX Teleinformatica CODEC self-extractor for OS/2:
                   10420: >49801 string  \x79\xff\x80\xff\x76\xff        \b, CODEC archive v3.21
                   10421: >>49824 leshort                =1                      \b, 1 file
                   10422: >>49824 leshort                >1                      \b, %u files
                   10423: 
                   10424: # .COM formats (Daniel Quinlan, quinlan@yggdrasil.com)
                   10425: # Uncommenting only the first two lines will cover about 2/3 of COM files,
                   10426: # but it isn't feasible to match all COM files since there must be at least
                   10427: # two dozen different one-byte "magics".
                   10428: #0     byte            0xe9            DOS executable (COM)
                   10429: #>0x1FE leshort                0xAA55          \b, boot code
                   10430: >6     string          SFX\ of\ LHarc  (%s)
                   10431: 0      belong  0xffffffff              DOS executable (device driver)
                   10432: #CMD640X2.SYS
                   10433: >10    string  >\x23                   
                   10434: >>10   string  !\x2e                   
                   10435: >>>17  string  <\x5B                   
                   10436: >>>>10 string  x                       \b, name: %.8s
                   10437: #UDMA.SYS KEYB.SYS CMD640X2.SYS
                   10438: >10    string  <\x41                   
                   10439: >>12   string  >\x40                   
                   10440: >>>10  string  !$                      
                   10441: >>>>12 string  x                       \b, name: %.8s
                   10442: #BTCDROM.SYS ASPICD.SYS
                   10443: >22    string  >\x40                   
                   10444: >>22   string  <\x5B                   
                   10445: >>>23  string  <\x5B                   
                   10446: >>>>22 string  x                       \b, name: %.8s
                   10447: #ATAPICD.SYS
                   10448: >76    string  \0                      
                   10449: >>77   string  >\x40                   
                   10450: >>>77  string  <\x5B                   
                   10451: >>>>77 string  x                       \b, name: %.8s
                   10452: #0     byte            0x8c            DOS executable (COM)
                   10453: # 0xeb conflicts with "sequent" magic
                   10454: #0     byte            0xeb            DOS executable (COM)
                   10455: #>0x1FE leshort                0xAA55          \b, boot code
                   10456: #>85   string          UPX             \b, UPX compressed
                   10457: #>4    string          \ $ARX          \b, ARX self-extracting archive
                   10458: #>4    string          \ $LHarc        \b, LHarc self-extracting archive
                   10459: #>0x20e string         SFX\ by\ LARC   \b, LARC self-extracting archive
                   10460: #0     byte            0xb8            COM executable
                   10461: # modified by Joerg Jenderek
                   10462: >1     lelong          !0x21cd4cff     for DOS
                   10463: # http://syslinux.zytor.com/comboot.php
                   10464: # (32-bit COMBOOT) programs *.C32 contain 32-bit code and run in flat-memory 32-bit protected mode
                   10465: # start with assembler instructions mov eax,21cd4cffh
                   10466: >1     lelong          0x21cd4cff      (32-bit COMBOOT)
                   10467: 0      string  \x81\xfc                
                   10468: >4     string  \x77\x02\xcd\x20\xb9    
                   10469: >>36   string  UPX!                    FREE-DOS executable (COM), UPX compressed
                   10470: 252    string Must\ have\ DOS\ version DR-DOS executable (COM)
                   10471: # GRR search is not working
                   10472: #2     search/28       \xcd\x21        COM executable for MS-DOS
                   10473: #WHICHFAT.cOM
                   10474: 2      string  \xcd\x21                COM executable for DOS
                   10475: #DELTREE.cOM DELTREE2.cOM
                   10476: 4      string  \xcd\x21                COM executable for DOS
                   10477: #IFMEMDSK.cOM ASSIGN.cOM COMP.cOM
                   10478: 5      string  \xcd\x21                COM executable for DOS
                   10479: #DELTMP.COm HASFAT32.cOM
                   10480: 7      string  \xcd\x21                
                   10481: >0     byte    !0xb8                   COM executable for DOS
                   10482: #COMP.cOM MORE.COm
                   10483: 10     string  \xcd\x21                
                   10484: >5     string  !\xcd\x21               COM executable for DOS
                   10485: #comecho.com
                   10486: 13     string  \xcd\x21                COM executable for DOS
                   10487: #HELP.COm EDIT.coM
                   10488: 18     string  \xcd\x21                COM executable for MS-DOS
                   10489: #NWRPLTRM.COm
                   10490: 23     string  \xcd\x21                COM executable for MS-DOS
                   10491: #LOADFIX.cOm LOADFIX.cOm
                   10492: 30     string  \xcd\x21                COM executable for MS-DOS
                   10493: #syslinux.com 3.11
                   10494: 70     string  \xcd\x21                COM executable for DOS
                   10495: # many compressed/converted COMs start with a copy loop instead of a jump
                   10496: 0x6    search/0xa      \xfc\x57\xf3\xa5\xc3    COM executable for MS-DOS
                   10497: 0x6    search/0xa      \xfc\x57\xf3\xa4\xc3    COM executable for DOS
                   10498: >0x18  search/0x10     \x50\xa4\xff\xd5\x73    \b, aPack compressed
                   10499: 0x3c   string          W\ Collis\0\0           COM executable for MS-DOS, Compack compressed
                   10500: # FIXME: missing diet .com compression
                   10501: 
                   10502: # miscellaneous formats
                   10503: 0      string          LZ              MS-DOS executable (built-in)
                   10504: #0     byte            0xf0            MS-DOS program library data
                   10505: #
                   10506: 
                   10507: # AAF files:
                   10508: # <stuartc@rd.bbc.co.uk> Stuart Cunningham
                   10509: 0      string  \320\317\021\340\241\261\032\341AAFB\015\000OM\006\016\053\064\001\001\001\377                  AAF legacy file using MS Structured Storage
                   10510: >30    byte    9               (512B sectors)
                   10511: >30    byte    12              (4kB sectors)
                   10512: 0      string  \320\317\021\340\241\261\032\341\001\002\001\015\000\002\000\000\006\016\053\064\003\002\001\001                        AAF file using MS Structured Storage
                   10513: >30    byte    9               (512B sectors)
                   10514: >30    byte    12              (4kB sectors)
                   10515: 
                   10516: # Popular applications
                   10517: 2080   string  Microsoft\ Word\ 6.0\ Document  %s
                   10518: !:mime application/msword
                   10519: 2080   string  Documento\ Microsoft\ Word\ 6 Spanish Microsoft Word 6 document data
                   10520: !:mime application/msword
                   10521: # Pawel Wiecek <coven@i17linuxb.ists.pwr.wroc.pl> (for polish Word)
                   10522: 2112   string  MSWordDoc                       Microsoft Word document data
                   10523: !:mime application/msword
                   10524: #
                   10525: 0      belong  0x31be0000                      Microsoft Word Document
                   10526: !:mime application/msword
                   10527: #
                   10528: 0      string  PO^Q`                           Microsoft Word 6.0 Document
                   10529: !:mime application/msword
                   10530: #
                   10531: 0      string  \376\067\0\043                  Microsoft Office Document
                   10532: !:mime application/msword
                   10533: 0      string  \333\245-\0\0\0                 Microsoft Office Document
                   10534: !:mime application/msword
                   10535: 512    string          \354\245\301            Microsoft Word Document
                   10536: !:mime application/msword
                   10537: #
                   10538: 2080   string  Microsoft\ Excel\ 5.0\ Worksheet        %s
                   10539: !:mime application/vnd.ms-excel
                   10540: 
                   10541: 2080   string  Foglio\ di\ lavoro\ Microsoft\ Exce     %s
                   10542: !:mime application/vnd.ms-excel
                   10543: #
                   10544: # Pawel Wiecek <coven@i17linuxb.ists.pwr.wroc.pl> (for polish Excel)
                   10545: 2114   string  Biff5           Microsoft Excel 5.0 Worksheet
                   10546: !:mime application/vnd.ms-excel
                   10547: # Italian MS-Excel
                   10548: 2121   string  Biff5           Microsoft Excel 5.0 Worksheet
                   10549: !:mime application/vnd.ms-excel
                   10550: 0      string  \x09\x04\x06\x00\x00\x00\x10\x00        Microsoft Excel Worksheet
                   10551: !:mime application/vnd.ms-excel
                   10552: #
                   10553: 0      belong  0x00001a00      Lotus 1-2-3
                   10554: !:mime application/x-123
                   10555: >4     belong  0x00100400      wk3 document data
                   10556: >4     belong  0x02100400      wk4 document data
                   10557: >4     belong  0x07800100      fm3 or fmb document data
                   10558: >4     belong  0x07800000      fm3 or fmb document data
                   10559: #
                   10560: 0      belong  0x00000200      Lotus 1-2-3
                   10561: !:mime application/x-123
                   10562: >4     belong  0x06040600      wk1 document data
                   10563: >4     belong  0x06800200      fmt document data
                   10564: 0      string          WordPro\0       Lotus WordPro
                   10565: !:mime application/vnd.lotus-wordpro
                   10566: 0      string          WordPro\r\373   Lotus WordPro
                   10567: !:mime application/vnd.lotus-wordpro
                   10568: 
                   10569: 
                   10570: # Summary: Script used by InstallScield to uninstall applications
                   10571: # Extension: .isu
                   10572: # Submitted by: unknown
                   10573: # Modified by (1): Abel Cheung <abelcheung@gmail.com> (replace useless entry)
                   10574: 0              string          \x71\xa8\x00\x00\x01\x02
                   10575: >12            string          Stirling\ Technologies,         InstallShield Uninstall Script
                   10576: 
                   10577: # Winamp .avs
                   10578: #0     string  Nullsoft\ AVS\ Preset\ \060\056\061\032 A plug in for Winamp ms-windows Freeware media player
                   10579: 0      string  Nullsoft\ AVS\ Preset\  Winamp plug in
                   10580: 
                   10581: # Windows Metafont .WMF
                   10582: 0      string  \327\315\306\232        ms-windows metafont .wmf
                   10583: 0      string  \002\000\011\000        ms-windows metafont .wmf
                   10584: 0      string  \001\000\011\000        ms-windows metafont .wmf
                   10585: 
                   10586: #tz3 files whatever that is (MS Works files)
                   10587: 0      string  \003\001\001\004\070\001\000\000        tz3 ms-works file
                   10588: 0      string  \003\002\001\004\070\001\000\000        tz3 ms-works file
                   10589: 0      string  \003\003\001\004\070\001\000\000        tz3 ms-works file
                   10590: 
                   10591: # PGP sig files .sig
                   10592: #0 string \211\000\077\003\005\000\063\237\127 065 to  \027\266\151\064\005\045\101\233\021\002 PGP sig
                   10593: 0 string \211\000\077\003\005\000\063\237\127\065\027\266\151\064\005\045\101\233\021\002 PGP sig
                   10594: 0 string \211\000\077\003\005\000\063\237\127\066\027\266\151\064\005\045\101\233\021\002 PGP sig
                   10595: 0 string \211\000\077\003\005\000\063\237\127\067\027\266\151\064\005\045\101\233\021\002 PGP sig
                   10596: 0 string \211\000\077\003\005\000\063\237\127\070\027\266\151\064\005\045\101\233\021\002 PGP sig
                   10597: 0 string \211\000\077\003\005\000\063\237\127\071\027\266\151\064\005\045\101\233\021\002 PGP sig
                   10598: 0 string \211\000\225\003\005\000\062\122\207\304\100\345\042 PGP sig
                   10599: 
                   10600: # windows zips files .dmf
                   10601: 0      string  MDIF\032\000\010\000\000\000\372\046\100\175\001\000\001\036\001\000 MS Windows special zipped file
                   10602: 
                   10603: 
                   10604: #ico files
                   10605: 0      string  \102\101\050\000\000\000\056\000\000\000\000\000\000\000        Icon for MS Windows
                   10606: 
                   10607: # Windows icons (Ian Springer <ips@fpk.hp.com>)
                   10608: 0      string  \000\000\001\000        MS Windows icon resource
                   10609: !:mime image/x-ico
                   10610: >4     byte    1                       - 1 icon
                   10611: >4     byte    >1                      - %d icons
                   10612: >>6    byte    >0                      \b, %dx
                   10613: >>>7   byte    >0                      \b%d
                   10614: >>8    byte    0                       \b, 256-colors
                   10615: >>8    byte    >0                      \b, %d-colors
                   10616: 
                   10617: 
                   10618: # .chr files
                   10619: 0      string  PK\010\010BGI   Borland font 
                   10620: >4     string  >\0     %s
                   10621: # then there is a copyright notice
                   10622: 
                   10623: 
                   10624: # .bgi files
                   10625: 0      string  pk\010\010BGI   Borland device 
                   10626: >4     string  >\0     %s
                   10627: # then there is a copyright notice
                   10628: 
                   10629: 
                   10630: # Windows Recycle Bin record file (named INFO2)
                   10631: # By Abel Cheung (abelcheung AT gmail dot com)
                   10632: # Version 4 always has 280 bytes (0x118) per record, version 5 has 800 bytes
                   10633: # Since Vista uses another structure, INFO2 structure probably won't change
                   10634: # anymore. Detailed analysis in:
                   10635: # http://www.cybersecurityinstitute.biz/downloads/INFO2.pdf
                   10636: 0      lelong          0x00000004
                   10637: >12    lelong          0x00000118      Windows Recycle Bin INFO2 file (Win98 or below)
                   10638: 
                   10639: 0      lelong          0x00000005
                   10640: >12    lelong          0x00000320      Windows Recycle Bin INFO2 file (Win2k - WinXP)
                   10641: 
                   10642: 
                   10643: ##### put in Either Magic/font or Magic/news
                   10644: # Acroread or something         files wrongly identified as G3  .pfm
                   10645: # these have the form \000 \001 any? \002 \000 \000
                   10646: # or \000 \001 any? \022 \000 \000
                   10647: 0      belong&0xffff00ff       0x00010012      PFM data
                   10648: >4     string                  \000\000
                   10649: >6     string                  >\060           - %s
                   10650: 
                   10651: 0      belong&0xffff00ff       0x00010002      PFM data
                   10652: >4     string                  \000\000
                   10653: >6     string                  >\060           - %s
                   10654: #0     string  \000\001 pfm?
                   10655: #>3    string  \022\000\000Copyright\  yes
                   10656: #>3    string  \002\000\000Copyright\  yes
                   10657: #>3    string  >\0     oops, not a font file. Cancel that.
                   10658: #it clashes with ttf files so put it lower down.
                   10659: 
                   10660: # From Doug Lee via a FreeBSD pr
                   10661: 9      string          GERBILDOC       First Choice document
                   10662: 9      string          GERBILDB        First Choice database
                   10663: 9      string          GERBILCLIP      First Choice database
                   10664: 0      string          GERBIL          First Choice device file
                   10665: 9      string          RABBITGRAPH     RabbitGraph file
                   10666: 0      string          DCU1            Borland Delphi .DCU file
                   10667: 0      string          =!<spell>       MKS Spell hash list (old format)
                   10668: 0      string          =!<spell2>      MKS Spell hash list
                   10669: # Too simple - MPi
                   10670: #0     string          AH              Halo(TM) bitmapped font file
                   10671: 0      lelong          0x08086b70      TurboC BGI file
                   10672: 0      lelong          0x08084b50      TurboC Font file
                   10673: 
                   10674: # WARNING: below line conflicts with Infocom game data Z-machine 3
                   10675: 0      byte            0x03            DBase 3 data file
                   10676: >0x04  lelong          0               (no records)
                   10677: >0x04  lelong          >0              (%ld records)
                   10678: 0      byte            0x83            DBase 3 data file with memo(s)
                   10679: >0x04  lelong          0               (no records)
                   10680: >0x04  lelong          >0              (%ld records)
                   10681: 0      leshort         0x0006          DBase 3 index file
                   10682: 0      string          PMCC            Windows 3.x .GRP file
                   10683: 1      string          RDC-meg         MegaDots 
                   10684: >8     byte            >0x2F           version %c
                   10685: >9     byte            >0x2F           \b.%c file
                   10686: 0      lelong          0x4C
                   10687: >4     lelong          0x00021401      Windows shortcut file
                   10688: 
                   10689: # DOS EPS Binary File Header
                   10690: # From: Ed Sznyter <ews@Black.Market.NET>
                   10691: 0      belong          0xC5D0D3C6      DOS EPS Binary File
                   10692: >4     long            >0              Postscript starts at byte %d
                   10693: >>8    long            >0              length %d
                   10694: >>>12  long            >0              Metafile starts at byte %d
                   10695: >>>>16 long            >0              length %d
                   10696: >>>20  long            >0              TIFF starts at byte %d
                   10697: >>>>24 long            >0              length %d
                   10698: 
                   10699: # TNEF magic From "Joomy" <joomy@se-ed.net> 
                   10700: # Microsoft Outlook's Transport Neutral Encapsulation Format (TNEF)
                   10701: 0      leshort         0x223e9f78      TNEF
                   10702: !:mime application/vnd.ms-tnef
                   10703: 
                   10704: # HtmlHelp files (.chm)
                   10705: 0      string  ITSF\003\000\000\000\x60\000\000\000\001\000\000\000    MS Windows HtmlHelp Data
                   10706: 
                   10707: # GFA-BASIC (Wolfram Kleff)
                   10708: 2      string          GFA-BASIC3      GFA-BASIC 3 data
                   10709: 
                   10710: #------------------------------------------------------------------------------
                   10711: # From Stuart Caie <kyzer@4u.net> (developer of cabextract)
                   10712: # Microsoft Cabinet files
                   10713: 0      string          MSCF\0\0\0\0    Microsoft Cabinet archive data
                   10714: >8     lelong          x               \b, %u bytes
                   10715: >28    leshort         1               \b, 1 file
                   10716: >28    leshort         >1              \b, %u files
                   10717: 
                   10718: # InstallShield Cabinet files
                   10719: 0      string          ISc(            InstallShield Cabinet archive data
                   10720: >5     byte&0xf0       =0x60           version 6,
                   10721: >5     byte&0xf0       !0x60           version 4/5,
                   10722: >(12.l+40)     lelong  x               %u files
                   10723: 
                   10724: # Windows CE package files
                   10725: 0      string          MSCE\0\0\0\0    Microsoft WinCE install header
                   10726: >20    lelong          0               \b, architecture-independent
                   10727: >20    lelong          103             \b, Hitachi SH3
                   10728: >20    lelong          104             \b, Hitachi SH4
                   10729: >20    lelong          0xA11           \b, StrongARM
                   10730: >20    lelong          4000            \b, MIPS R4000
                   10731: >20    lelong          10003           \b, Hitachi SH3
                   10732: >20    lelong          10004           \b, Hitachi SH3E
                   10733: >20    lelong          10005           \b, Hitachi SH4
                   10734: >20    lelong          70001           \b, ARM 7TDMI
                   10735: >52    leshort         1               \b, 1 file
                   10736: >52    leshort         >1              \b, %u files
                   10737: >56    leshort         1               \b, 1 registry entry
                   10738: >56    leshort         >1              \b, %u registry entries
                   10739: 
                   10740: 
                   10741: # Windows Enhanced Metafile (EMF)
                   10742: # See msdn.microsoft.com/archive/en-us/dnargdi/html/msdn_enhmeta.asp 
                   10743: # for further information.
                   10744: 0      ulelong 1
                   10745: >40    string  \ EMF           Windows Enhanced Metafile (EMF) image data
                   10746: >>44   ulelong x               version 0x%x
                   10747: 
                   10748: # From: Alex Beregszaszi <alex@fsn.hu>
                   10749: 0      string  COWD            VMWare3
                   10750: >4     byte    3               disk image
                   10751: >>32   lelong  x               (%d/
                   10752: >>36   lelong  x               \b%d/
                   10753: >>40   lelong  x               \b%d)
                   10754: >4     byte    2               undoable disk image
                   10755: >>32   string  >\0             (%s)
                   10756: 
                   10757: 0      string  VMDK             VMware4 disk image
                   10758: 0      string  KDMV             VMware4 disk image
                   10759: 
                   10760: #--------------------------------------------------------------------
                   10761: # Qemu Emulator Images
                   10762: # Lines written by Friedrich Schwittay (f.schwittay@yousable.de)
                   10763: # Made by reading sources and doing trial and error on existing
                   10764: # qcow files
                   10765: 0      string  QFI     Qemu Image, Format: Qcow
                   10766: 
                   10767: # Uncomment the following line to display Magic (only used for debugging
                   10768: # this magic number)
                   10769: #>0    string  x       , Magic: %s
                   10770: 
                   10771: # There are currently 2 Versions: "1" and "2"
                   10772: # I do not use Version 2 and therefor branch here
                   10773: # but can assure: it works (tested on both versions)
                   10774: # Also my Qemu 0.9.0 which uses this Version 2 refuses
                   10775: # to start in its bios
                   10776: >0x04  belong  2       , Version: 2
                   10777: >0x04  belong  1       , Version: 1
                   10778: 
                   10779: # Using the existence of the Backing File Offset to Branch or not
                   10780: # to read Backing File Information
                   10781: >>0xc   belong  >0      , Backing File( Offset: %lu
                   10782: >>>(0xc.L)      string >\0     , Path: %s
                   10783: 
                   10784: # Didn't get the trick here how qemu stores the "Size" at this Position
                   10785: # There is actually something stored but nothing makes sense
                   10786: # The header in the sources talks about it
                   10787: #>>>16  lelong  x       , Size: %lu
                   10788: 
                   10789: # Modification time of the Backing File
                   10790: # Really useful if you want to know if your backing
                   10791: # file is still usable together with this image
                   10792: >>>20   bedate x       , Mtime: %s )
                   10793: 
                   10794: # Don't know how to calculate in Magicfiles
                   10795: # Also: this Information is not reliably
                   10796: #      stored in image-files
                   10797: >>24    lelong  x       , Disk Size could be: %d * 256 bytes
                   10798: 
                   10799: 0      string  QEVM            QEMU's suspend to disk image
                   10800: 
                   10801: 0      string  Bochs\ Virtual\ HD\ Image       Bochs disk image,
                   10802: >32    string  x                               type %s,
                   10803: >48    string  x                               subtype %s
                   10804: 
                   10805: 0      lelong  0x02468ace                      Bochs Sparse disk image
                   10806: 
                   10807: # from http://filext.com by Derek M Jones <derek@knosof.co.uk>
                   10808: # False positive with PPT (also currently this string is too long)
                   10809: #0     string  \xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3E\x00\x03\x00\xFE\xFF\x09\x00\x06    Microsoft Installer
                   10810: 0      string  \320\317\021\340\241\261\032\341        Microsoft Office Document
                   10811: #>48   byte    0x1B                                    Excel Document
                   10812: #!:mime application/vnd.ms-excel
                   10813: >546   string  bjbj                    Microsoft Word Document
                   10814: !:mime application/msword
                   10815: >546   string  jbjb                    Microsoft Word Document
                   10816: !:mime application/msword
                   10817: 
                   10818: 0      string  \224\246\056            Microsoft Word Document
                   10819: !:mime application/msword
                   10820: 
                   10821: 512    string  R\0o\0o\0t\0\ \0E\0n\0t\0r\0y   Microsoft Word Document
                   10822: !:mime application/msword
                   10823: 
                   10824: # From: "Nelson A. de Oliveira" <naoliv@gmail.com>
                   10825: # Magic type for Dell's BIOS .hdr files
                   10826: # Dell's .hdr
                   10827: 0      string $RBU
                   10828: >23    string Dell                     %s system BIOS
                   10829: >48    string x                        version %.3s
                   10830: 
                   10831: # Type: Microsoft DirectDraw Surface
                   10832: # URL: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/DDSFileReference/ddsfileformat.asp
                   10833: # From: Morten Hustveit <morten@debian.org>
                   10834: 0      string  DDS\040\174\000\000\000 Microsoft DirectDraw Surface (DDS),
                   10835: >16    lelong  >0                      %hd x
                   10836: >12    lelong  >0                      %hd,
                   10837: >84    string  x                       %.4s
                   10838: 
                   10839: # Type: Microsoft Document Imaging Format (.mdi)
                   10840: # URL: http://en.wikipedia.org/wiki/Microsoft_Document_Imaging_Format
                   10841: # From: Daniele Sempione <scrows@oziosi.org>
                   10842: 0      short   0x5045                  Microsoft Document Imaging Format
                   10843: 
                   10844: # MS eBook format (.lit)
                   10845: 0      string  ITOLITLS                Microsoft Reader eBook Data
                   10846: >8     lelong  x                       \b, version %u
                   10847: !:mime                                 application/x-ms-reader
                   10848: 
                   10849: #------------------------------------------------------------------------------
                   10850: # msvc:  file(1) magic for msvc
                   10851: # "H. Nanosecond" <aldomel@ix.netcom.com>
                   10852: # Microsoft visual C
                   10853: # 
                   10854: # I have version 1.0
                   10855: 
                   10856: # .aps
                   10857: 0      string  HWB\000\377\001\000\000\000     Microsoft Visual C .APS file
                   10858: 
                   10859: # .ide
                   10860: #too long 0    string  \102\157\162\154\141\156\144\040\103\053\053\040\120\162\157\152\145\143\164\040\106\151\154\145\012\000\032\000\002\000\262\000\272\276\372\316        MSVC .ide
                   10861: 0      string  \102\157\162\154\141\156\144\040\103\053\053\040\120\162\157    MSVC .ide
                   10862: 
                   10863: # .res
                   10864: 0      string  \000\000\000\000\040\000\000\000\377    MSVC .res
                   10865: 0      string  \377\003\000\377\001\000\020\020\350    MSVC .res
                   10866: 0      string  \377\003\000\377\001\000\060\020\350    MSVC .res
                   10867: 
                   10868: #.lib
                   10869: 0      string  \360\015\000\000        Microsoft Visual C library
                   10870: 0      string  \360\075\000\000        Microsoft Visual C library
                   10871: 0      string  \360\175\000\000        Microsoft Visual C library
                   10872: 
                   10873: #.pch
                   10874: 0      string  DTJPCH0\000\022\103\006\200     Microsoft Visual C .pch
                   10875: 
                   10876: # .pdb
                   10877: # too long 0   string  Microsoft\ C/C++\ program\ database\ 
                   10878: 0      string  Microsoft\ C/C++\       MSVC program database
                   10879: >18    string  program\ database\      
                   10880: >33    string  >\0     ver %s
                   10881: 
                   10882: #.sbr
                   10883: 0      string  \000\002\000\007\000    MSVC .sbr
                   10884: >5     string  >\0     %s
                   10885: 
                   10886: #.bsc
                   10887: 0      string  \002\000\002\001        MSVC .bsc
                   10888: 
                   10889: #.wsp
                   10890: 0      string  1.00\ .0000.0000\000\003        MSVC .wsp version 1.0000.0000
                   10891: # these seem to start with the version and contain menus
                   10892: # ------------------------------------------------------------------------
                   10893: # mup: file(1) magic for Mup (Music Publisher) input file.
                   10894: #
                   10895: # From: Abel Cheung <abel (@) oaka.org>
                   10896: #
                   10897: # NOTE: This header is mainly proposed in the Arkkra mailing list,
                   10898: # and is not a mandatory header because of old mup input file
                   10899: # compatibility. Noteedit also use mup format, but is not forcing
                   10900: # user to use any header as well.
                   10901: #
                   10902: 0              search/1        //!Mup          Mup music publication program input text
                   10903: >6             string          -Arkkra         (Arkkra)
                   10904: >>13           string          -               
                   10905: >>>16          string          .               
                   10906: >>>>14         string          x               \b, need V%.4s
                   10907: >>>15          string          .               
                   10908: >>>>14         string          x               \b, need V%.3s
                   10909: >6             string          -               
                   10910: >>9            string          .               
                   10911: >>>7           string          x               \b, need V%.4s
                   10912: >>8            string          .               
                   10913: >>>7           string          x               \b, need V%.3s
                   10914: 
                   10915: #-----------------------------------------------------------------------------
                   10916: # natinst:  file(1) magic for National Instruments Code Files
                   10917: 
                   10918: #
                   10919: # From <egamez@fcfm.buap.mx> Enrique Gámez-Flores
                   10920: # version 1
                   10921: # Many formats still missing, we use, for the moment LabVIEW
                   10922: # We guess VXI format file. VISA, LabWindowsCVI, BridgeVIEW, etc, are missing
                   10923: #
                   10924: 0       string          RSRC            National Instruments,
                   10925: # Check if it's a LabVIEW File
                   10926: >8      string          LV              LabVIEW File,
                   10927: # Check wich kind of file is
                   10928: >>10    string          SB              Code Resource File, data
                   10929: >>10    string          IN              Virtual Instrument Program, data
                   10930: >>10    string          AR              VI Library, data
                   10931: # This is for Menu Libraries
                   10932: >8      string          LMNULBVW        Portable File Names, data
                   10933: # This is for General Resources
                   10934: >8      string          rsc             Resources File, data
                   10935: # This is for VXI Package
                   10936: 0       string          VMAP            National Instruments, VXI File, data
                   10937: 
                   10938: #------------------------------------------------------------------------------
                   10939: # ncr:  file(1) magic for NCR Tower objects
                   10940: #
                   10941: # contributed by
                   10942: # Michael R. Wayne  ***  TMC & Associates  ***  INTERNET: wayne@ford-vax.arpa
                   10943: # uucp: {philabs | pyramid} !fmsrl7!wayne   OR   wayne@fmsrl7.UUCP
                   10944: #
                   10945: 0      beshort         000610  Tower/XP rel 2 object
                   10946: >12       belong               >0      not stripped
                   10947: >20       beshort              0407    executable
                   10948: >20       beshort              0410    pure executable
                   10949: >22       beshort              >0      - version %ld
                   10950: 0      beshort         000615  Tower/XP rel 2 object
                   10951: >12       belong               >0      not stripped
                   10952: >20       beshort              0407    executable
                   10953: >20       beshort              0410    pure executable
                   10954: >22       beshort              >0      - version %ld
                   10955: 0      beshort         000620  Tower/XP rel 3 object
                   10956: >12       belong               >0      not stripped
                   10957: >20       beshort              0407    executable
                   10958: >20       beshort              0410    pure executable
                   10959: >22       beshort              >0      - version %ld
                   10960: 0      beshort         000625  Tower/XP rel 3 object
                   10961: >12       belong               >0      not stripped
                   10962: >20       beshort              0407    executable
                   10963: >20       beshort              0410    pure executable
                   10964: >22       beshort              >0      - version %ld
                   10965: 0      beshort         000630  Tower32/600/400 68020 object
                   10966: >12       belong               >0      not stripped
                   10967: >20       beshort              0407    executable
                   10968: >20       beshort              0410    pure executable
                   10969: >22       beshort              >0      - version %ld
                   10970: 0      beshort         000640  Tower32/800 68020
                   10971: >18       beshort              &020000 w/68881 object
                   10972: >18       beshort              &040000 compatible object
                   10973: >18       beshort              &060000 object
                   10974: >20       beshort              0407    executable
                   10975: >20       beshort              0413    pure executable
                   10976: >12       belong               >0      not stripped
                   10977: >22       beshort              >0      - version %ld
                   10978: 0      beshort         000645  Tower32/800 68010
                   10979: >18       beshort              &040000 compatible object
                   10980: >18       beshort              &060000 object
                   10981: >20       beshort              0407    executable
                   10982: >20       beshort              0413    pure executable
                   10983: >12       belong               >0      not stripped
                   10984: >22       beshort              >0      - version %ld
                   10985: 
                   10986: #------------------------------------------------------------------------------
                   10987: # netbsd:  file(1) magic for NetBSD objects
                   10988: #
                   10989: # All new-style magic numbers are in network byte order.
                   10990: #
                   10991: 
                   10992: 0      lelong                  000000407       a.out NetBSD little-endian object file
                   10993: >16    lelong                  >0              not stripped
                   10994: 0      belong                  000000407       a.out NetBSD big-endian object file
                   10995: >16    belong                  >0              not stripped
                   10996: 
                   10997: 0      belong&0377777777       041400413       a.out NetBSD/i386 demand paged
                   10998: >0     byte                    &0x80           
                   10999: >>20   lelong                  <4096           shared library
                   11000: >>20   lelong                  =4096           dynamically linked executable
                   11001: >>20   lelong                  >4096           dynamically linked executable
                   11002: >0     byte                    ^0x80           executable
                   11003: >16    lelong                  >0              not stripped
                   11004: 0      belong&0377777777       041400410       a.out NetBSD/i386 pure
                   11005: >0     byte                    &0x80           dynamically linked executable
                   11006: >0     byte                    ^0x80           executable
                   11007: >16    lelong                  >0              not stripped
                   11008: 0      belong&0377777777       041400407       a.out NetBSD/i386
                   11009: >0     byte                    &0x80           dynamically linked executable
                   11010: >0     byte                    ^0x80
                   11011: >>0    byte                    &0x40           position independent
                   11012: >>20   lelong                  !0              executable
                   11013: >>20   lelong                  =0              object file
                   11014: >16    lelong                  >0              not stripped
                   11015: 0      belong&0377777777       041400507       a.out NetBSD/i386 core
                   11016: >12    string                  >\0             from '%s'
                   11017: >32    lelong                  !0              (signal %d)
                   11018: 
                   11019: 0      belong&0377777777       041600413       a.out NetBSD/m68k demand paged
                   11020: >0     byte                    &0x80           
                   11021: >>20   belong                  <8192           shared library
                   11022: >>20   belong                  =8192           dynamically linked executable
                   11023: >>20   belong                  >8192           dynamically linked executable
                   11024: >0     byte                    ^0x80           executable
                   11025: >16    belong                  >0              not stripped
                   11026: 0      belong&0377777777       041600410       a.out NetBSD/m68k pure
                   11027: >0     byte                    &0x80           dynamically linked executable
                   11028: >0     byte                    ^0x80           executable
                   11029: >16    belong                  >0              not stripped
                   11030: 0      belong&0377777777       041600407       a.out NetBSD/m68k
                   11031: >0     byte                    &0x80           dynamically linked executable
                   11032: >0     byte                    ^0x80
                   11033: >>0    byte                    &0x40           position independent
                   11034: >>20   belong                  !0              executable
                   11035: >>20   belong                  =0              object file
                   11036: >16    belong                  >0              not stripped
                   11037: 0      belong&0377777777       041600507       a.out NetBSD/m68k core
                   11038: >12    string                  >\0             from '%s'
                   11039: >32    belong                  !0              (signal %d)
                   11040: 
                   11041: 0      belong&0377777777       042000413       a.out NetBSD/m68k4k demand paged
                   11042: >0     byte                    &0x80           
                   11043: >>20   belong                  <4096           shared library
                   11044: >>20   belong                  =4096           dynamically linked executable
                   11045: >>20   belong                  >4096           dynamically linked executable
                   11046: >0     byte                    ^0x80           executable
                   11047: >16    belong                  >0              not stripped
                   11048: 0      belong&0377777777       042000410       a.out NetBSD/m68k4k pure
                   11049: >0     byte                    &0x80           dynamically linked executable
                   11050: >0     byte                    ^0x80           executable
                   11051: >16    belong                  >0              not stripped
                   11052: 0      belong&0377777777       042000407       a.out NetBSD/m68k4k
                   11053: >0     byte                    &0x80           dynamically linked executable
                   11054: >0     byte                    ^0x80
                   11055: >>0    byte                    &0x40           position independent
                   11056: >>20   belong                  !0              executable
                   11057: >>20   belong                  =0              object file
                   11058: >16    belong                  >0              not stripped
                   11059: 0      belong&0377777777       042000507       a.out NetBSD/m68k4k core
                   11060: >12    string                  >\0             from '%s'
                   11061: >32    belong                  !0              (signal %d)
                   11062: 
                   11063: 0      belong&0377777777       042200413       a.out NetBSD/ns32532 demand paged
                   11064: >0     byte                    &0x80           
                   11065: >>20   lelong                  <4096           shared library
                   11066: >>20   lelong                  =4096           dynamically linked executable
                   11067: >>20   lelong                  >4096           dynamically linked executable
                   11068: >0     byte                    ^0x80           executable
                   11069: >16    lelong                  >0              not stripped
                   11070: 0      belong&0377777777       042200410       a.out NetBSD/ns32532 pure
                   11071: >0     byte                    &0x80           dynamically linked executable
                   11072: >0     byte                    ^0x80           executable
                   11073: >16    lelong                  >0              not stripped
                   11074: 0      belong&0377777777       042200407       a.out NetBSD/ns32532
                   11075: >0     byte                    &0x80           dynamically linked executable
                   11076: >0     byte                    ^0x80
                   11077: >>0    byte                    &0x40           position independent
                   11078: >>20   lelong                  !0              executable
                   11079: >>20   lelong                  =0              object file
                   11080: >16    lelong                  >0              not stripped
                   11081: 0      belong&0377777777       042200507       a.out NetBSD/ns32532 core
                   11082: >12    string                  >\0             from '%s'
                   11083: >32    lelong                  !0              (signal %d)
                   11084: 
                   11085: 0      belong&0377777777       045200507       a.out NetBSD/powerpc core
                   11086: >12    string                  >\0             from '%s'
                   11087: 
                   11088: 0      belong&0377777777       042400413       a.out NetBSD/sparc demand paged
                   11089: >0     byte                    &0x80           
                   11090: >>20   belong                  <8192           shared library
                   11091: >>20   belong                  =8192           dynamically linked executable
                   11092: >>20   belong                  >8192           dynamically linked executable
                   11093: >0     byte                    ^0x80           executable
                   11094: >16    belong                  >0              not stripped
                   11095: 0      belong&0377777777       042400410       a.out NetBSD/sparc pure
                   11096: >0     byte                    &0x80           dynamically linked executable
                   11097: >0     byte                    ^0x80           executable
                   11098: >16    belong                  >0              not stripped
                   11099: 0      belong&0377777777       042400407       a.out NetBSD/sparc
                   11100: >0     byte                    &0x80           dynamically linked executable
                   11101: >0     byte                    ^0x80
                   11102: >>0    byte                    &0x40           position independent
                   11103: >>20   belong                  !0              executable
                   11104: >>20   belong                  =0              object file
                   11105: >16    belong                  >0              not stripped
                   11106: 0      belong&0377777777       042400507       a.out NetBSD/sparc core
                   11107: >12    string                  >\0             from '%s'
                   11108: >32    belong                  !0              (signal %d)
                   11109: 
                   11110: 0      belong&0377777777       042600413       a.out NetBSD/pmax demand paged
                   11111: >0     byte                    &0x80           
                   11112: >>20   lelong                  <4096           shared library
                   11113: >>20   lelong                  =4096           dynamically linked executable
                   11114: >>20   lelong                  >4096           dynamically linked executable
                   11115: >0     byte                    ^0x80           executable
                   11116: >16    lelong                  >0              not stripped
                   11117: 0      belong&0377777777       042600410       a.out NetBSD/pmax pure
                   11118: >0     byte                    &0x80           dynamically linked executable
                   11119: >0     byte                    ^0x80           executable
                   11120: >16    lelong                  >0              not stripped
                   11121: 0      belong&0377777777       042600407       a.out NetBSD/pmax
                   11122: >0     byte                    &0x80           dynamically linked executable
                   11123: >0     byte                    ^0x80
                   11124: >>0    byte                    &0x40           position independent
                   11125: >>20   lelong                  !0              executable
                   11126: >>20   lelong                  =0              object file
                   11127: >16    lelong                  >0              not stripped
                   11128: 0      belong&0377777777       042600507       a.out NetBSD/pmax core
                   11129: >12    string                  >\0             from '%s'
                   11130: >32    lelong                  !0              (signal %d)
                   11131: 
                   11132: 0      belong&0377777777       043000413       a.out NetBSD/vax 1k demand paged
                   11133: >0     byte                    &0x80           
                   11134: >>20   lelong                  <4096           shared library
                   11135: >>20   lelong                  =4096           dynamically linked executable
                   11136: >>20   lelong                  >4096           dynamically linked executable
                   11137: >0     byte                    ^0x80           executable
                   11138: >16    lelong                  >0              not stripped
                   11139: 0      belong&0377777777       043000410       a.out NetBSD/vax 1k pure
                   11140: >0     byte                    &0x80           dynamically linked executable
                   11141: >0     byte                    ^0x80           executable
                   11142: >16    lelong                  >0              not stripped
                   11143: 0      belong&0377777777       043000407       a.out NetBSD/vax 1k
                   11144: >0     byte                    &0x80           dynamically linked executable
                   11145: >0     byte                    ^0x80
                   11146: >>0    byte                    &0x40           position independent
                   11147: >>20   lelong                  !0              executable
                   11148: >>20   lelong                  =0              object file
                   11149: >16    lelong                  >0              not stripped
                   11150: 0      belong&0377777777       043000507       a.out NetBSD/vax 1k core
                   11151: >12    string                  >\0             from '%s'
                   11152: >32    lelong                  !0              (signal %d)
                   11153: 
                   11154: 0      belong&0377777777       045400413       a.out NetBSD/vax 4k demand paged
                   11155: >0     byte                    &0x80           
                   11156: >>20   lelong                  <4096           shared library
                   11157: >>20   lelong                  =4096           dynamically linked executable
                   11158: >>20   lelong                  >4096           dynamically linked executable
                   11159: >0     byte                    ^0x80           executable
                   11160: >16    lelong                  >0              not stripped
                   11161: 0      belong&0377777777       045400410       a.out NetBSD/vax 4k pure
                   11162: >0     byte                    &0x80           dynamically linked executable
                   11163: >0     byte                    ^0x80           executable
                   11164: >16    lelong                  >0              not stripped
                   11165: 0      belong&0377777777       045400407       a.out NetBSD/vax 4k
                   11166: >0     byte                    &0x80           dynamically linked executable
                   11167: >0     byte                    ^0x80
                   11168: >>0    byte                    &0x40           position independent
                   11169: >>20   lelong                  !0              executable
                   11170: >>20   lelong                  =0              object file
                   11171: >16    lelong                  >0              not stripped
                   11172: 0      belong&0377777777       045400507       a.out NetBSD/vax 4k core
                   11173: >12    string                  >\0             from '%s'
                   11174: >32    lelong                  !0              (signal %d)
                   11175: 
                   11176: # NetBSD/alpha does not support (and has never supported) a.out objects,
                   11177: # so no rules are provided for them.  NetBSD/alpha ELF objects are 
                   11178: # dealt with in "elf".
                   11179: 0      lelong          0x00070185              ECOFF NetBSD/alpha binary
                   11180: >10    leshort         0x0001                  not stripped
                   11181: >10    leshort         0x0000                  stripped
                   11182: 0      belong&0377777777       043200507       a.out NetBSD/alpha core
                   11183: >12    string                  >\0             from '%s'
                   11184: >32    lelong                  !0              (signal %d)
                   11185: 
                   11186: 0      belong&0377777777       043400413       a.out NetBSD/mips demand paged
                   11187: >0     byte                    &0x80           
                   11188: >>20   belong                  <8192           shared library
                   11189: >>20   belong                  =8192           dynamically linked executable
                   11190: >>20   belong                  >8192           dynamically linked executable
                   11191: >0     byte                    ^0x80           executable
                   11192: >16    belong                  >0              not stripped
                   11193: 0      belong&0377777777       043400410       a.out NetBSD/mips pure
                   11194: >0     byte                    &0x80           dynamically linked executable
                   11195: >0     byte                    ^0x80           executable
                   11196: >16    belong                  >0              not stripped
                   11197: 0      belong&0377777777       043400407       a.out NetBSD/mips
                   11198: >0     byte                    &0x80           dynamically linked executable
                   11199: >0     byte                    ^0x80
                   11200: >>0    byte                    &0x40           position independent
                   11201: >>20   belong                  !0              executable
                   11202: >>20   belong                  =0              object file
                   11203: >16    belong                  >0              not stripped
                   11204: 0      belong&0377777777       043400507       a.out NetBSD/mips core
                   11205: >12    string                  >\0             from '%s'
                   11206: >32    belong                  !0              (signal %d)
                   11207: 
                   11208: 0      belong&0377777777       043600413       a.out NetBSD/arm32 demand paged
                   11209: >0     byte                    &0x80
                   11210: >>20   lelong                  <4096           shared library
                   11211: >>20   lelong                  =4096           dynamically linked executable
                   11212: >>20   lelong                  >4096           dynamically linked executable
                   11213: >0     byte                    ^0x80           executable
                   11214: >16    lelong                  >0              not stripped
                   11215: 0      belong&0377777777       043600410       a.out NetBSD/arm32 pure
                   11216: >0     byte                    &0x80           dynamically linked executable
                   11217: >0     byte                    ^0x80           executable
                   11218: >16    lelong                  >0              not stripped
                   11219: 0      belong&0377777777       043600407       a.out NetBSD/arm32
                   11220: >0     byte                    &0x80           dynamically linked executable
                   11221: >0     byte                    ^0x80
                   11222: >>0    byte                    &0x40           position independent
                   11223: >>20   lelong                  !0              executable
                   11224: >>20   lelong                  =0              object file
                   11225: >16    lelong                  >0              not stripped
                   11226: # NetBSD/arm26 has always used ELF objects, but it shares a core file
                   11227: # format with NetBSD/arm32.
                   11228: 0      belong&0377777777       043600507       a.out NetBSD/arm core
                   11229: >12    string                  >\0             from '%s'
                   11230: >32    lelong                  !0              (signal %d)
                   11231: 
                   11232: #------------------------------------------------------------------------------
                   11233: # netscape:  file(1) magic for Netscape files
                   11234: # "H. Nanosecond" <aldomel@ix.netcom.com>
                   11235: # version 3 and 4 I think
                   11236: #
                   11237: 
                   11238: # Netscape Address book  .nab
                   11239: 0      string \000\017\102\104\000\000\000\000\000\000\001\000\000\000\000\002\000\000\000\002\000\000\004\000 Netscape Address book
                   11240: 
                   11241: # Netscape Communicator address book
                   11242: 0   string   \000\017\102\111 Netscape Communicator address book
                   11243: 
                   11244: # .snm Caches
                   11245: 0      string          #\ Netscape\ folder\ cache      Netscape folder cache
                   11246: 0      string  \000\036\204\220\000    Netscape folder cache
                   11247: # .n2p 
                   11248: # Net 2 Phone 
                   11249: #0     string  123\130\071\066\061\071\071\071\060\070\061\060\061\063\060
                   11250: 0      string  SX961999        Net2phone
                   11251: 
                   11252: #
                   11253: #This is files ending in .art, FIXME add more rules
                   11254: 0       string          JG\004\016\0\0\0\0      ART
                   11255: 
                   11256: #------------------------------------------------------------------------------
                   11257: # netware:  file(1) magic for NetWare Loadable Modules (NLMs)
                   11258: # From: Mads Martin Joergensen <mmj@suse.de>
                   11259: 
                   11260: 0      string  NetWare\ Loadable\ Module       NetWare Loadable Module
                   11261: 
                   11262: #------------------------------------------------------------------------------
                   11263: # news:  file(1) magic for SunOS NeWS fonts (not "news" as in "netnews")
                   11264: #
                   11265: 0      string          StartFontMetrics        ASCII font metrics
                   11266: 0      string          StartFont       ASCII font bits
                   11267: 0      belong          0x137A2944      NeWS bitmap font
                   11268: 0      belong          0x137A2947      NeWS font family
                   11269: 0      belong          0x137A2950      scalable OpenFont binary
                   11270: 0      belong          0x137A2951      encrypted scalable OpenFont binary
                   11271: 8      belong          0x137A2B45      X11/NeWS bitmap font
                   11272: 8      belong          0x137A2B48      X11/NeWS font family
                   11273: #------------------------------------------------------------------------------
                   11274: # nitpicker:  file(1) magic for Flowfiles.
                   11275: # From: Christian Jachmann <C.Jachmann@gmx.net> http://www.nitpicker.de
                   11276: 0      string  NPFF    NItpicker Flow File 
                   11277: >4     byte    x       V%d.
                   11278: >5     byte    x       %d
                   11279: >6     bedate  x       started: %s
                   11280: >10    bedate  x       stopped: %s
                   11281: >14    belong  x       Bytes: %u
                   11282: >18    belong  x       Bytes1: %u
                   11283: >22    belong  x       Flows: %u
                   11284: >26    belong  x       Pkts: %u
                   11285: 
                   11286: #------------------------------------------------------------------------------
                   11287: # ocaml: file(1) magic for Objective Caml files.
                   11288: 0      string  Caml1999        OCaml
                   11289: >8     string  X               exec file
                   11290: >8     string  I               interface file (.cmi)
                   11291: >8     string  O               object file (.cmo)
                   11292: >8     string  A               library file (.cma)
                   11293: >8     string  Y               native object file (.cmx)
                   11294: >8     string  Z               native library file (.cmxa)
                   11295: >8     string  M               abstract syntax tree implementation file
                   11296: >8     string  N               abstract syntax tree interface file
                   11297: >9     string  >\0             (Version %3.3s)
                   11298: #------------------------------------------------------------------------------
                   11299: # octave binary data file(1) magic, from Dirk Eddelbuettel <edd@debian.org>
                   11300: 0      string          Octave-1-L      Octave binary data (little endian)
                   11301: 0      string          Octave-1-B      Octave binary data (big endian)
                   11302: 
                   11303: #------------------------------------------------------------------------------
                   11304: # Microsoft OLE 2 Compound Documents : file(1) magic for Microsoft Structured
                   11305: # storage (http://en.wikipedia.org/wiki/Structured_Storage)
                   11306: # Additional tests for OLE 2 Compound Documents should be under this recipe.
                   11307: 
                   11308: 0   string  \320\317\021\340\241\261\032\341      OLE 2 Compound Document
                   11309: # - Microstation V8 DGN files (www.bentley.com)
                   11310: #   Last update on 10/23/2006 by Lester Hightower
                   11311: > 0x480  string  D\000g\000n\000~\000H                : Microstation V8 DGN
                   11312: # - Visio documents
                   11313: #   Last update on 10/23/2006 by Lester Hightower
                   11314: > 0x480  string  V\000i\000s\000i\000o\000D\000o\000c : Visio Document
                   11315: 
                   11316: #------------------------------------------------------------------------------
                   11317: # olf:  file(1) magic for OLF executables
                   11318: #
                   11319: # We have to check the byte order flag to see what byte order all the
                   11320: # other stuff in the header is in.
                   11321: #
                   11322: # MIPS R3000 may also be for MIPS R2000.
                   11323: # What're the correct byte orders for the nCUBE and the Fujitsu VPP500?
                   11324: #
                   11325: # Created by Erik Theisen <etheisen@openbsd.org>
                   11326: # Based on elf from Daniel Quinlan <quinlan@yggdrasil.com>
                   11327: 0      string          \177OLF         OLF
                   11328: >4     byte            0               invalid class
                   11329: >4     byte            1               32-bit
                   11330: >4     byte            2               64-bit
                   11331: >7     byte            0               invalid os
                   11332: >7     byte            1               OpenBSD
                   11333: >7     byte            2               NetBSD
                   11334: >7     byte            3               FreeBSD
                   11335: >7     byte            4               4.4BSD
                   11336: >7     byte            5               Linux
                   11337: >7     byte            6               SVR4
                   11338: >7     byte            7               esix
                   11339: >7     byte            8               Solaris
                   11340: >7     byte            9               Irix
                   11341: >7     byte            10              SCO
                   11342: >7     byte            11              Dell
                   11343: >7     byte            12              NCR
                   11344: >5     byte            0               invalid byte order
                   11345: >5     byte            1               LSB
                   11346: >>16   leshort         0               no file type,
                   11347: >>16   leshort         1               relocatable,
                   11348: >>16   leshort         2               executable,
                   11349: >>16   leshort         3               shared object,
                   11350: # Core handling from Peter Tobias <tobias@server.et-inf.fho-emden.de>
                   11351: # corrections by Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de>
                   11352: >>16   leshort         4               core file
                   11353: >>>(0x38+0xcc) string  >\0             of '%s'
                   11354: >>>(0x38+0x10) lelong  >0              (signal %d),
                   11355: >>16   leshort         &0xff00         processor-specific,
                   11356: >>18   leshort         0               no machine,
                   11357: >>18   leshort         1               AT&T WE32100 - invalid byte order,
                   11358: >>18   leshort         2               SPARC - invalid byte order,
                   11359: >>18   leshort         3               Intel 80386,
                   11360: >>18   leshort         4               Motorola 68000 - invalid byte order,
                   11361: >>18   leshort         5               Motorola 88000 - invalid byte order,
                   11362: >>18   leshort         6               Intel 80486,
                   11363: >>18   leshort         7               Intel 80860,
                   11364: >>18   leshort         8               MIPS R3000_BE - invalid byte order,
                   11365: >>18   leshort         9               Amdahl - invalid byte order,
                   11366: >>18   leshort         10              MIPS R3000_LE,
                   11367: >>18   leshort         11              RS6000 - invalid byte order,
                   11368: >>18   leshort         15              PA-RISC - invalid byte order,
                   11369: >>18   leshort         16              nCUBE,
                   11370: >>18   leshort         17              VPP500,
                   11371: >>18   leshort         18              SPARC32PLUS,
                   11372: >>18   leshort         20              PowerPC,
                   11373: >>18   leshort         0x9026          Alpha,
                   11374: >>20   lelong          0               invalid version
                   11375: >>20   lelong          1               version 1
                   11376: >>36   lelong          1               MathCoPro/FPU/MAU Required
                   11377: >8     string          >\0             (%s)
                   11378: >5     byte            2               MSB
                   11379: >>16   beshort         0               no file type,
                   11380: >>16   beshort         1               relocatable,
                   11381: >>16   beshort         2               executable,
                   11382: >>16   beshort         3               shared object,
                   11383: >>16   beshort         4               core file,
                   11384: >>>(0x38+0xcc) string  >\0             of '%s'
                   11385: >>>(0x38+0x10) belong  >0              (signal %d),
                   11386: >>16   beshort         &0xff00         processor-specific,
                   11387: >>18   beshort         0               no machine,
                   11388: >>18   beshort         1               AT&T WE32100,
                   11389: >>18   beshort         2               SPARC,
                   11390: >>18   beshort         3               Intel 80386 - invalid byte order,
                   11391: >>18   beshort         4               Motorola 68000,
                   11392: >>18   beshort         5               Motorola 88000,
                   11393: >>18   beshort         6               Intel 80486 - invalid byte order,
                   11394: >>18   beshort         7               Intel 80860,
                   11395: >>18   beshort         8               MIPS R3000_BE,
                   11396: >>18   beshort         9               Amdahl,
                   11397: >>18   beshort         10              MIPS R3000_LE - invalid byte order,
                   11398: >>18   beshort         11              RS6000,
                   11399: >>18   beshort         15              PA-RISC,
                   11400: >>18   beshort         16              nCUBE,
                   11401: >>18   beshort         17              VPP500,
                   11402: >>18   beshort         18              SPARC32PLUS,
                   11403: >>18   beshort         20              PowerPC or cisco 4500,
                   11404: >>18   beshort         21              cisco 7500,
                   11405: >>18   beshort         24              cisco SVIP,
                   11406: >>18   beshort         25              cisco 7200,
                   11407: >>18   beshort         36              cisco 12000,
                   11408: >>18   beshort         0x9026          Alpha,
                   11409: >>20   belong          0               invalid version
                   11410: >>20   belong          1               version 1
                   11411: >>36   belong          1               MathCoPro/FPU/MAU Required
                   11412: #------------------------------------------------------------------------------
                   11413: # os2:  file(1) magic for OS/2 files
                   11414: #
                   11415: 
                   11416: # Provided 1998/08/22 by
                   11417: # David Mediavilla <davidme.news@REMOVEIFNOTSPAMusa.net>
                   11418: 1      search/1        InternetShortcut        MS Windows 95 Internet shortcut text
                   11419: >24    search/1        >\                      (URL=<%s>)
                   11420: 
                   11421: # OS/2 URL objects
                   11422: # Provided 1998/08/22 by
                   11423: # David Mediavilla <davidme.news@REMOVEIFNOTSPAMusa.net>
                   11424: #0     string  http:                   OS/2 URL object text
                   11425: #>5    string  >\                      (WWW) <http:%s>
                   11426: #0     string  mailto:                 OS/2 URL object text
                   11427: #>7    string  >\                      (email) <%s>
                   11428: #0     string  news:                   OS/2 URL object text
                   11429: #>5    string  >\                      (Usenet) <%s>
                   11430: #0     string  ftp:                    OS/2 URL object text
                   11431: #>4    string  >\                      (FTP) <ftp:%s>
                   11432: #0     string  file:                   OS/2 URL object text
                   11433: #>5    string  >\                      (Local file) <%s>
                   11434: 
                   11435: # >>>>> OS/2 INF/HLP <<<<<  (source: Daniel Dissett ddissett@netcom.com)
                   11436: # Carl Hauser (chauser.parc@xerox.com) and 
                   11437: # Marcus Groeber (marcusg@ph-cip.uni-koeln.de)
                   11438: # list the following header format in inf02a.doc:
                   11439: #
                   11440: #  int16 ID;           // ID magic word (5348h = "HS")
                   11441: #  int8  unknown1;     // unknown purpose, could be third letter of ID
                   11442: #  int8  flags;        // probably a flag word...
                   11443: #                      //  bit 0: set if INF style file
                   11444: #                      //  bit 4: set if HLP style file
                   11445: #                      // patching this byte allows reading HLP files
                   11446: #                      // using the VIEW command, while help files 
                   11447: #                      // seem to work with INF settings here as well.
                   11448: #  int16 hdrsize;      // total size of header
                   11449: #  int16 unknown2;     // unknown purpose
                   11450: # 
                   11451: 0   string  HSP\x01\x9b\x00 OS/2 INF
                   11452: >107 string >0                      (%s)
                   11453: 0   string  HSP\x10\x9b\x00     OS/2 HLP
                   11454: >107 string >0                      (%s)
                   11455: 
                   11456: # OS/2 INI (this is a guess)
                   11457: 0  string   \xff\xff\xff\xff\x14\0\0\0  OS/2 INI
                   11458: #------------------------------------------------------------------------------
                   11459: # os400:  file(1) magic for IBM OS/400 files
                   11460: #
                   11461: # IBM OS/400 (i5/OS) Save file (SAVF) - gerardo.cacciari@gmail.com
                   11462: # In spite of its quite variable format (due to internal memory page
                   11463: # length differences between CISC and RISC versions of the OS) the
                   11464: # SAVF structure hasn't suitable offsets to identify the catalog
                   11465: # header in the first descriptor where there are some useful infos,
                   11466: # so we must search in a somewhat large area for a particular string
                   11467: # that represents the EBCDIC encoding of 'QSRDSSPC' (save/restore
                   11468: # descriptor space) preceded by a two byte constant.
                   11469: #
                   11470: 1090    search/7393    \x19\xDB\xD8\xE2\xD9\xC4\xE2\xE2\xD7\xC3 IBM OS/400 save file data
                   11471: >&212   byte           0x01                     \b, created with SAVOBJ
                   11472: >&212   byte           0x02                     \b, created with SAVLIB
                   11473: >&212   byte           0x07                     \b, created with SAVCFG
                   11474: >&212   byte           0x08                     \b, created with SAVSECDTA
                   11475: >&212   byte           0x0A                     \b, created with SAVSECDTA
                   11476: >&212   byte           0x0B                     \b, created with SAVDLO
                   11477: >&212   byte           0x0D                     \b, created with SAVLICPGM
                   11478: >&212   byte           0x11                     \b, created with SAVCHGOBJ
                   11479: >&213   byte           0x44                     \b, at least V5R4 to open
                   11480: >&213   byte           0x43                     \b, at least V5R3 to open
                   11481: >&213   byte           0x42                     \b, at least V5R2 to open
                   11482: >&213   byte           0x41                     \b, at least V5R1 to open
                   11483: >&213   byte           0x40                     \b, at least V4R5 to open
                   11484: >&213   byte           0x3F                     \b, at least V4R4 to open
                   11485: >&213   byte           0x3E                     \b, at least V4R3 to open
                   11486: >&213   byte           0x3C                     \b, at least V4R2 to open
                   11487: >&213   byte           0x3D                     \b, at least V4R1M4 to open
                   11488: >&213   byte           0x3B                     \b, at least V4R1 to open
                   11489: >&213   byte           0x3A                     \b, at least V3R7 to open
                   11490: >&213   byte           0x35                     \b, at least V3R6 to open
                   11491: >&213   byte           0x36                     \b, at least V3R2 to open
                   11492: >&213   byte           0x34                     \b, at least V3R1 to open
                   11493: >&213   byte           0x31                     \b, at least V3R0M5 to open
                   11494: >&213   byte           0x30                     \b, at least V2R3 to open
                   11495: #
                   11496: # Copyright (c) 1996 Ignatios Souvatzis. All rights reserved.
                   11497: #
                   11498: # Redistribution and use in source and binary forms, with or without
                   11499: # modification, are permitted provided that the following conditions
                   11500: # are met:
                   11501: # 1. Redistributions of source code must retain the above copyright
                   11502: #    notice, this list of conditions and the following disclaimer.
                   11503: # 2. Redistributions in binary form must reproduce the above copyright
                   11504: #    notice, this list of conditions and the following disclaimer in the
                   11505: #    documentation and/or other materials provided with the distribution.
                   11506: # 3. All advertising materials mentioning features or use of this software
                   11507: #    must display the following acknowledgement:
                   11508: #      This product includes software developed by Ignatios Souvatzis for
                   11509: #      the NetBSD project.
                   11510: # 4. The name of the author may not be used to endorse or promote products
                   11511: #    derived from this software without specific prior written permission.
                   11512: #
                   11513: #
                   11514: # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
                   11515: # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
                   11516: # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  
                   11517: # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
                   11518: # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
                   11519: # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
                   11520: # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
                   11521: # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
                   11522: # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
                   11523: # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
                   11524: #
                   11525: #
                   11526: #
                   11527: # OS9/6809 module descriptions:
                   11528: #
                   11529: 0      beshort         0x87CD  OS9/6809 module:
                   11530: #
                   11531: >6     byte&0x0f       0x00    non-executable
                   11532: >6     byte&0x0f       0x01    machine language
                   11533: >6     byte&0x0f       0x02    BASIC I-code
                   11534: >6     byte&0x0f       0x03    Pascal P-code
                   11535: >6     byte&0x0f       0x04    C I-code
                   11536: >6     byte&0x0f       0x05    COBOL I-code
                   11537: >6     byte&0x0f       0x06    Fortran I-code
                   11538: #
                   11539: >6     byte&0xf0       0x10    program executable
                   11540: >6     byte&0xf0       0x20    subroutine
                   11541: >6     byte&0xf0       0x30    multi-module
                   11542: >6     byte&0xf0       0x40    data module
                   11543: #
                   11544: >6     byte&0xf0       0xC0    system module
                   11545: >6     byte&0xf0       0xD0    file manager
                   11546: >6     byte&0xf0       0xE0    device driver
                   11547: >6     byte&0xf0       0xF0    device descriptor
                   11548: #
                   11549: # OS9/m68k stuff (to be continued)
                   11550: #
                   11551: 0      beshort         0x4AFC  OS9/68K module:
                   11552: #
                   11553: # attr
                   11554: >0x14  byte&0x80       0x80    re-entrant
                   11555: >0x14  byte&0x40       0x40    ghost
                   11556: >0x14  byte&0x20       0x20    system-state
                   11557: #
                   11558: # lang:
                   11559: #
                   11560: >0x13  byte            1       machine language
                   11561: >0x13  byte            2       BASIC I-code
                   11562: >0x13  byte            3       Pascal P-code
                   11563: >0x13  byte            4       C I-code
                   11564: >0x13  byte            5       COBOL I-code
                   11565: >0x13  byte            6       Fortran I-code
                   11566: #
                   11567: #
                   11568: # type:
                   11569: #
                   11570: >0x12  byte            1       program executable
                   11571: >0x12  byte            2       subroutine
                   11572: >0x12  byte            3       multi-module
                   11573: >0x12  byte            4       data module
                   11574: >0x12  byte            11      trap library
                   11575: >0x12  byte            12      system module
                   11576: >0x12  byte            13      file manager
                   11577: >0x12  byte            14      device driver
                   11578: >0x12  byte            15      device descriptor
                   11579: #
                   11580: # Mach magic number info
                   11581: #
                   11582: 0      long            0xefbe  OSF/Rose object
                   11583: # I386 magic number info
                   11584: #
                   11585: 0      short           0565    i386 COFF object
                   11586: 
                   11587: #------------------------------------------------------------------------------
                   11588: # palm:  file(1) magic for PalmOS {.prc,.pdb}: applications, docfiles, and hacks
                   11589: #
                   11590: # Brian Lalor <blalor@hcirisc.cs.binghamton.edu>
                   11591: 
                   11592: # appl
                   11593: 60      belong                  0x6170706c      PalmOS application
                   11594: >0      string                  >\0             "%s"
                   11595: # TEXt
                   11596: 60      belong                  0x54455874      AportisDoc file
                   11597: >0      string                  >\0             "%s"
                   11598: # HACK
                   11599: 60      belong                  0x4841434b      HackMaster hack
                   11600: >0      string                  >\0             "%s"
                   11601: 
                   11602: # Variety of PalmOS document types
                   11603: # Michael-John Turner <mj@debian.org>
                   11604: # Thanks to Hasan Umit Ezerce <humit@tr-net.net.tr> for his DocType
                   11605: 60     string                  BVokBDIC        BDicty PalmOS document
                   11606: >0     string                  >\0             "%s"
                   11607: 60     string                  DB99DBOS        DB PalmOS document
                   11608: >0     string                  >\0             "%s"
                   11609: 60     string                  vIMGView        FireViewer/ImageViewer PalmOS document
                   11610: >0     string                  >\0             "%s"
                   11611: 60     string                  PmDBPmDB        HanDBase PalmOS document
                   11612: >0     string                  >\0             "%s"
                   11613: 60     string                  InfoINDB        InfoView PalmOS document
                   11614: >0     string                  >\0             "%s"
                   11615: 60     string                  ToGoToGo        iSilo PalmOS document
                   11616: >0     string                  >\0             "%s"
                   11617: 60     string                  JfDbJBas        JFile PalmOS document
                   11618: >0     string                  >\0             "%s"
                   11619: 60     string                  JfDbJFil        JFile Pro PalmOS document
                   11620: >0     string                  >\0             "%s"
                   11621: 60     string                  DATALSdb        List PalmOS document
                   11622: >0     string                  >\0             "%s"
                   11623: 60     string                  Mdb1Mdb1        MobileDB PalmOS document
                   11624: >0     string                  >\0             "%s"
                   11625: 60     string                  PNRdPPrs        PeanutPress PalmOS document
                   11626: >0     string                  >\0             "%s"
                   11627: 60     string                  DataPlkr        Plucker PalmOS document
                   11628: >0     string                  >\0             "%s"
                   11629: 60     string                  DataSprd        QuickSheet PalmOS document
                   11630: >0     string                  >\0             "%s"
                   11631: 60     string                  SM01SMem        SuperMemo PalmOS document
                   11632: >0     string                  >\0             "%s"
                   11633: 60     string                  TEXtTlDc        TealDoc PalmOS document
                   11634: >0     string                  >\0             "%s"
                   11635: 60     string                  InfoTlIf        TealInfo PalmOS document
                   11636: >0     string                  >\0             "%s"
                   11637: 60     string                  DataTlMl        TealMeal PalmOS document
                   11638: >0     string                  >\0             "%s"
                   11639: 60     string                  DataTlPt        TealPaint PalmOS document
                   11640: >0     string                  >\0             "%s"
                   11641: 60     string                  dataTDBP        ThinkDB PalmOS document
                   11642: >0     string                  >\0             "%s"
                   11643: 60     string                  TdatTide        Tides PalmOS document
                   11644: >0     string                  >\0             "%s"
                   11645: 60     string                  ToRaTRPW        TomeRaider PalmOS document
                   11646: >0     string                  >\0             "%s"
                   11647: 
                   11648: # A GutenPalm zTXT etext for use on Palm Pilots (http://gutenpalm.sf.net)
                   11649: # For version 1.xx zTXTs, outputs version and numbers of bookmarks and
                   11650: #   annotations.
                   11651: # For other versions, just outputs version.
                   11652: #
                   11653: 60             string          zTXT            A GutenPalm zTXT e-book
                   11654: >0             string          >\0             "%s"
                   11655: >(0x4E.L)      byte            0
                   11656: >>(0x4E.L+1)   byte            x               (v0.%02d)
                   11657: >(0x4E.L)      byte            1
                   11658: >>(0x4E.L+1)   byte            x               (v1.%02d)
                   11659: >>>(0x4E.L+10) beshort         >0
                   11660: >>>>(0x4E.L+10) beshort                <2              - 1 bookmark
                   11661: >>>>(0x4E.L+10) beshort                >1              - %d bookmarks
                   11662: >>>(0x4E.L+14) beshort         >0
                   11663: >>>>(0x4E.L+14) beshort                <2              - 1 annotation
                   11664: >>>>(0x4E.L+14) beshort                >1              - %d annotations
                   11665: >(0x4E.L)      byte            >1              (v%d.
                   11666: >>(0x4E.L+1)   byte            x               %02d)
                   11667: 
                   11668: # Palm OS .prc file types
                   11669: 60             string          libr            Palm OS dynamic library data
                   11670: >0             string          >\0             "%s"
                   11671: 60             string          ptch            Palm OS operating system patch data
                   11672: >0             string          >\0             "%s"
                   11673: 
                   11674: # Mobipocket (www.mobipocket.com), donated by Carl Witty
                   11675: 60     string                  BOOKMOBI        Mobipocket E-book
                   11676: >0     string                  >\0             "%s"
                   11677: 
                   11678: #------------------------------------------------------------------------------
                   11679: #
                   11680: # Parix COFF executables
                   11681: # From: Ignatios Souvatzis <ignatios@cs.uni-bonn.de>
                   11682: #
                   11683: 0      beshort&0xfff   0xACE   PARIX
                   11684: >0     byte&0xf0       0x80    T800
                   11685: >0     byte&0xf0       0x90    T9000
                   11686: >19    byte&0x02       0x02    executable
                   11687: >19    byte&0x02       0x00    object
                   11688: >19    byte&0x0c       0x00    not stripped
                   11689: 
                   11690: #------------------------------------------------------------------------------
                   11691: # pbm:  file(1) magic for Portable Bitmap files
                   11692: #
                   11693: # XXX - byte order?
                   11694: #
                   11695: 0      short   0x2a17  "compact bitmap" format (Poskanzer)
                   11696: #------------------------------------------------------------------------------
                   11697: # pdf:  file(1) magic for Portable Document Format
                   11698: #
                   11699: 
                   11700: 0      string          %PDF-           PDF document
                   11701: !:mime application/pdf
                   11702: >5     byte            x               \b, version %c
                   11703: >7     byte            x               \b.%c
                   11704: 
                   11705: # From: Nick Schmalenberger <nick@schmalenberger.us>
                   11706: # Forms Data Format
                   11707: 0       string          %FDF-           FDF document
                   11708: >5      byte            x               \b, version %c
                   11709: >7      byte            x               \b.%c
                   11710: 
                   11711: #------------------------------------------------------------------------------
                   11712: # pdp:  file(1) magic for PDP-11 executable/object and APL workspace
                   11713: #
                   11714: 0      lelong          0101555         PDP-11 single precision APL workspace
                   11715: 0      lelong          0101554         PDP-11 double precision APL workspace
                   11716: #
                   11717: # PDP-11 a.out
                   11718: #
                   11719: 0      leshort         0407            PDP-11 executable
                   11720: >8     leshort         >0              not stripped
                   11721: >15    byte            >0              - version %ld
                   11722: 
                   11723: 0      leshort         0401            PDP-11 UNIX/RT ldp
                   11724: 0      leshort         0405            PDP-11 old overlay
                   11725: 
                   11726: 0      leshort         0410            PDP-11 pure executable
                   11727: >8     leshort         >0              not stripped
                   11728: >15    byte            >0              - version %ld
                   11729: 
                   11730: 0      leshort         0411            PDP-11 separate I&D executable
                   11731: >8     leshort         >0              not stripped
                   11732: >15    byte            >0              - version %ld
                   11733: 
                   11734: 0      leshort         0437            PDP-11 kernel overlay
                   11735: 
                   11736: # These last three are derived from 2.11BSD file(1)
                   11737: 0      leshort         0413            PDP-11 demand-paged pure executable
                   11738: >8     leshort         >0              not stripped
                   11739: 
                   11740: 0      leshort         0430            PDP-11 overlaid pure executable
                   11741: >8     leshort         >0              not stripped
                   11742: 
                   11743: 0      leshort         0431            PDP-11 overlaid separate executable
                   11744: >8     leshort         >0              not stripped
                   11745: #------------------------------------------------------------------------------
                   11746: # perl:  file(1) magic for Larry Wall's perl language.
                   11747: #
                   11748: # The `eval' lines recognizes an outrageously clever hack.
                   11749: # Keith Waclena <keith@cerberus.uchicago.edu>
                   11750: # Send additions to <perl5-porters@perl.org>
                   11751: 0      search/1/b      #!\ /bin/perl                   Perl script text executable
                   11752: !:mime text/x-perl
                   11753: 0      search/1        eval\ "exec\ /bin/perl          Perl script text
                   11754: !:mime text/x-perl
                   11755: 0      search/1/b      #!\ /usr/bin/perl               Perl script text executable
                   11756: !:mime text/x-perl
                   11757: 0      search/1        eval\ "exec\ /usr/bin/perl      Perl script text
                   11758: !:mime text/x-perl
                   11759: 0      search/1/b      #!\ /usr/local/bin/perl         Perl script text executable
                   11760: !:mime text/x-perl
                   11761: 0      search/1        eval\ "exec\ /usr/local/bin/perl        Perl script text
                   11762: !:mime text/x-perl
                   11763: 0      search/1        eval\ '(exit\ $?0)'\ &&\ eval\ 'exec    Perl script text
                   11764: !:mime text/x-perl
                   11765: 
                   11766: 
                   11767: # by Dmitry V. Levin and Alexey Tourbin
                   11768: # check the first line
                   11769: 0      search/1        package
                   11770: 0      regex           \^package[\ \t]+[A-Za-z_]
                   11771: >0     regex           \^package[\ \t]+[0-9A-Za-z_:]+\ *;      Perl5 module source text
                   11772: # not 'p', check other lines
                   11773: 0      search/1        !p
                   11774: >0     regex           \^package[\ \t]+[0-9A-Za-z_:]+\ *;
                   11775: >>0    regex           \^1\ *;|\^(use|sub|my)\ .*[(;{=]        Perl5 module source text
                   11776: 
                   11777: 
                   11778: 
                   11779: # Perl POD documents
                   11780: # From: Tom Hukins <tom@eborcom.com>
                   11781: 0      search/1/B      \=pod\n         Perl POD document text
                   11782: 0      search/1/B      \n\=pod\n       Perl POD document text
                   11783: 0      search/1/B      \=head1\        Perl POD document text
                   11784: 0      search/1/B      \n\=head1\      Perl POD document text
                   11785: 0      search/1/B      \=head2\        Perl POD document text
                   11786: 0      search/1/B      \n\=head2\      Perl POD document text
                   11787: 
                   11788: # Perl Storable data files.
                   11789: 0      string  perl-store      perl Storable (v0.6) data
                   11790: >4     byte    >0      (net-order %d)
                   11791: >>4    byte    &01     (network-ordered)
                   11792: >>4    byte    =3      (major 1)
                   11793: >>4    byte    =2      (major 1)
                   11794: 
                   11795: 0      string  pst0    perl Storable (v0.7) data
                   11796: >4     byte    >0
                   11797: >>4    byte    &01     (network-ordered)
                   11798: >>4    byte    =5      (major 2)
                   11799: >>4    byte    =4      (major 2)
                   11800: >>5    byte    >0      (minor %d)
                   11801: 
                   11802: #------------------------------------------------------------------------------
                   11803: # pgp:  file(1) magic for Pretty Good Privacy
                   11804: # see http://lists.gnupg.org/pipermail/gnupg-devel/1999-September/016052.html
                   11805: #
                   11806: 0       beshort         0x9900                  PGP key public ring
                   11807: !:mime application/x-pgp-keyring
                   11808: 0       beshort         0x9501                  PGP key security ring
                   11809: !:mime application/x-pgp-keyring
                   11810: 0       beshort         0x9500                  PGP key security ring
                   11811: !:mime application/x-pgp-keyring
                   11812: 0      beshort         0xa600                  PGP encrypted data
                   11813: #!:mime        application/pgp-encrypted
                   11814: #0     string          -----BEGIN\040PGP       text/PGP armored data
                   11815: !:mime text/PGP # encoding: armored data
                   11816: #>15   string  PUBLIC\040KEY\040BLOCK- public key block
                   11817: #>15   string  MESSAGE-                message
                   11818: #>15   string  SIGNED\040MESSAGE-      signed message
                   11819: #>15   string  PGP\040SIGNATURE-       signature
                   11820: 
                   11821: 2      string  ---BEGIN\ PGP\ PUBLIC\ KEY\ BLOCK-      PGP public key block
                   11822: !:mime application/pgp-keys
                   11823: 0      string  -----BEGIN\040PGP\40MESSAGE-            PGP message
                   11824: !:mime application/pgp
                   11825: 0      string  -----BEGIN\040PGP\40SIGNATURE-          PGP signature
                   11826: !:mime application/pgp-signature
                   11827: 
                   11828: #------------------------------------------------------------------------------
                   11829: # pkgadd:  file(1) magic for SysV R4 PKG Datastreams
                   11830: #
                   11831: 0       string          #\ PaCkAgE\ DaTaStReAm  pkg Datastream (SVR4)
                   11832: !:mime application/x-svr4-package
                   11833: 
                   11834: #------------------------------------------------------------------------------
                   11835: # plan9:  file(1) magic for AT&T Bell Labs' Plan 9 executables
                   11836: # From: "Stefan A. Haubenthal" <polluks@web.de>
                   11837: #
                   11838: 0      belong          0x00000107      Plan 9 executable, Motorola 68k
                   11839: 0      belong          0x000001EB      Plan 9 executable, Intel 386
                   11840: 0      belong          0x00000247      Plan 9 executable, Intel 960
                   11841: 0      belong          0x000002AB      Plan 9 executable, SPARC
                   11842: 0      belong          0x00000407      Plan 9 executable, MIPS R3000
                   11843: 0      belong          0x0000048B      Plan 9 executable, AT&T DSP 3210
                   11844: 0      belong          0x00000517      Plan 9 executable, MIPS R4000 BE
                   11845: 0      belong          0x000005AB      Plan 9 executable, AMD 29000
                   11846: 0      belong          0x00000647      Plan 9 executable, ARM 7-something
                   11847: 0      belong          0x000006EB      Plan 9 executable, PowerPC
                   11848: 0      belong          0x00000797      Plan 9 executable, MIPS R4000 LE
                   11849: 0      belong          0x0000084B      Plan 9 executable, DEC Alpha
                   11850: 
                   11851: #------------------------------------------------------------------------------
                   11852: # plus5:  file(1) magic for Plus Five's UNIX MUMPS
                   11853: #
                   11854: # XXX - byte order?  Paging Hokey....
                   11855: #
                   11856: 0      short           0x259           mumps avl global
                   11857: >2     byte            >0              (V%d)
                   11858: >6     byte            >0              with %d byte name
                   11859: >7     byte            >0              and %d byte data cells
                   11860: 0      short           0x25a           mumps blt global
                   11861: >2     byte            >0              (V%d)
                   11862: >8     short           >0              - %d byte blocks
                   11863: >15    byte            0x00            - P/D format
                   11864: >15    byte            0x01            - P/K/D format
                   11865: >15    byte            0x02            - K/D format
                   11866: >15    byte            >0x02           - Bad Flags
                   11867: 
                   11868: #------------------------------------------------------------------------------
                   11869: # printer:  file(1) magic for printer-formatted files
                   11870: #
                   11871: 
                   11872: # PostScript, updated by Daniel Quinlan (quinlan@yggdrasil.com)
                   11873: 0      string          %!              PostScript document text
                   11874: !:mime application/postscript
                   11875: >2     string          PS-Adobe-       conforming
                   11876: >>11   string          >\0             DSC level %.3s
                   11877: >>>15  string          EPS             \b, type %s
                   11878: >>>15  string          Query           \b, type %s
                   11879: >>>15  string          ExitServer      \b, type %s
                   11880: >>>15   search/1000            %%LanguageLevel:\ 
                   11881: >>>>&0 string          >\0             \b, Level %s
                   11882: # Some PCs have the annoying habit of adding a ^D as a document separator
                   11883: 0      string          \004%!          PostScript document text
                   11884: !:mime application/postscript
                   11885: >3     string          PS-Adobe-       conforming
                   11886: >>12   string          >\0             DSC level %.3s
                   11887: >>>16  string          EPS             \b, type %s
                   11888: >>>16  string          Query           \b, type %s
                   11889: >>>16  string          ExitServer      \b, type %s
                   11890: >>>16   search/1000            %%LanguageLevel:\ 
                   11891: >>>>&0 string          >\0             \b, Level %s
                   11892: 0      string          \033%-12345X%!PS        PostScript document
                   11893: 
                   11894: # DOS EPS Binary File Header
                   11895: # From: Ed Sznyter <ews@Black.Market.NET>
                   11896: 0       belong          0xC5D0D3C6      DOS EPS Binary File
                   11897: >4      long            >0              Postscript starts at byte %d
                   11898: >>8     long            >0              length %d
                   11899: >>>12   long            >0              Metafile starts at byte %d
                   11900: >>>>16  long            >0              length %d
                   11901: >>>20   long            >0              TIFF starts at byte %d
                   11902: >>>>24  long            >0              length %d
                   11903: 
                   11904: # Summary: Adobe's PostScript Printer Description File
                   11905: # Extension: .ppd
                   11906: # Reference: http://partners.adobe.com/public/developer/en/ps/5003.PPD_Spec_v4.3.pdf, Section 3.8
                   11907: # Submitted by: Yves Arrouye <arrouye@marin.fdn.fr>
                   11908: #
                   11909: 0      string          *PPD-Adobe:\x20 PPD file
                   11910: >&0    string          x               \b, version %s
                   11911: 
                   11912: # HP Printer Job Language
                   11913: 0      string          \033%-12345X@PJL        HP Printer Job Language data
                   11914: # HP Printer Job Language
                   11915: # The header found on Win95 HP plot files is the "Silliest Thing possible" 
                   11916: # (TM)
                   11917: # Every driver puts the language at some random position, with random case
                   11918: # (LANGUAGE and Language)
                   11919: # For example the LaserJet 5L driver puts the "PJL ENTER LANGUAGE" in line 10
                   11920: # From: Uwe Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
                   11921: # 
                   11922: 0      string          \033%-12345X@PJL        HP Printer Job Language data
                   11923: >&0    string          >\0                     %s                      
                   11924: >>&0   string          >\0                     %s                      
                   11925: >>>&0  string          >\0                     %s              
                   11926: >>>>&0 string          >\0                     %s              
                   11927: #>15   string          \ ENTER\ LANGUAGE\ =
                   11928: #>31   string          PostScript              PostScript
                   11929: 
                   11930: # HP Printer Control Language, Daniel Quinlan (quinlan@yggdrasil.com)
                   11931: 0      string          \033E\033       HP PCL printer data
                   11932: >3     string          \&l0A           - default page size
                   11933: >3     string          \&l1A           - US executive page size
                   11934: >3     string          \&l2A           - US letter page size
                   11935: >3     string          \&l3A           - US legal page size
                   11936: >3     string          \&l26A          - A4 page size
                   11937: >3     string          \&l80A          - Monarch envelope size
                   11938: >3     string          \&l81A          - No. 10 envelope size
                   11939: >3     string          \&l90A          - Intl. DL envelope size
                   11940: >3     string          \&l91A          - Intl. C5 envelope size
                   11941: >3     string          \&l100A         - Intl. B5 envelope size
                   11942: >3     string          \&l-81A         - No. 10 envelope size (landscape)
                   11943: >3     string          \&l-90A         - Intl. DL envelope size (landscape)
                   11944: 
                   11945: # IMAGEN printer-ready files:
                   11946: 0      string  @document(              Imagen printer
                   11947: # this only works if "language xxx" is first item in Imagen header.
                   11948: >10    string  language\ impress       (imPRESS data)
                   11949: >10    string  language\ daisy         (daisywheel text)
                   11950: >10    string  language\ diablo        (daisywheel text)
                   11951: >10    string  language\ printer       (line printer emulation)
                   11952: >10    string  language\ tektronix     (Tektronix 4014 emulation)
                   11953: # Add any other languages that your Imagen uses - remember
                   11954: # to keep the word `text' if the file is human-readable.
                   11955: # [GRR 950115:  missing "postscript" or "ultrascript" (whatever it was called)]
                   11956: #
                   11957: # Now magic for IMAGEN font files...
                   11958: 0      string          Rast            RST-format raster font data
                   11959: >45    string          >0              face %s
                   11960: # From Jukka Ukkonen
                   11961: 0      string          \033[K\002\0\0\017\033(a\001\0\001\033(g        Canon Bubble Jet BJC formatted data
                   11962: 
                   11963: # From <mike@flyn.org>
                   11964: # These are the /etc/magic entries to decode data sent to an Epson printer.
                   11965: 0       string          \x1B\x40\x1B\x28\x52\x08\x00\x00REMOTE1P        Epson Stylus Color 460 data
                   11966: 
                   11967: 
                   11968: #------------------------------------------------------------------------------
                   11969: # zenographics:  file(1) magic for Zenographics ZjStream printer data
                   11970: # Rick Richardson  rickr@mn.rr.com
                   11971: 0      string          JZJZ
                   11972: >0x12  string          ZZ              Zenographics ZjStream printer data (big-endian)
                   11973: 0      string          ZJZJ
                   11974: >0x12  string          ZZ              Zenographics ZjStream printer data (little-endian)
                   11975: 
                   11976: 
                   11977: #------------------------------------------------------------------------------
                   11978: # Oak Technologies printer stream
                   11979: # Rick Richardson <rickr@mn.rr.com>
                   11980: 0       string          OAK
                   11981: >0x07  byte            0
                   11982: >0x0b  byte            0       Oak Technologies printer stream
                   11983: 
                   11984: # This would otherwise be recognized as PostScript - nick@debian.org
                   11985: 0      string          %!VMF           SunClock's Vector Map Format data
                   11986: 
                   11987: #------------------------------------------------------------------------------
                   11988: # HP LaserJet 1000 series downloadable firmware file
                   11989: 0      string  \xbe\xefABCDEFGH        HP LaserJet 1000 series downloadable firmware   
                   11990: 
                   11991: # From: Paolo <oopla@users.sf.net>
                   11992: # Epson ESC/Page, ESC/PageColor 
                   11993: 0      string  \x1b\x01@EJL    Epson ESC/Page language printer data
                   11994: 
                   11995: #------------------------------------------------------------------------------
                   11996: # project:  file(1) magic for Project management
                   11997: # 
                   11998: # Magic strings for ftnchek project files. Alexander Mai
                   11999: 0      string  FTNCHEK_\ P     project file for ftnchek
                   12000: >10    string  1               version 2.7
                   12001: >10    string  2               version 2.8 to 2.10
                   12002: >10    string  3               version 2.11 or later
                   12003: 
                   12004: #------------------------------------------------------------------------------
                   12005: # psdbms:  file(1) magic for psdatabase
                   12006: #
                   12007: 0      belong&0xff00ffff       0x56000000      ps database
                   12008: >1     string  >\0     version %s
                   12009: >4     string  >\0     from kernel %s
                   12010: #------------------------------------------------------------------------------
                   12011: # psion:  file(1) magic for Psion handhelds data
                   12012: # from: Peter Breitenlohner <peb@mppmu.mpg.de>
                   12013: #
                   12014: 0      lelong          0x10000037      Psion Series 5
                   12015: >4     lelong          0x10000039      font file
                   12016: >4     lelong          0x1000003A      printer driver
                   12017: >4     lelong          0x1000003B      clipboard
                   12018: >4     lelong          0x10000042      multi-bitmap image
                   12019: >4     lelong          0x1000006A      application information file
                   12020: >4     lelong          0x1000006D
                   12021: >>8    lelong          0x1000007D      sketch image
                   12022: !:mime image/x-psion-sketch
                   12023: >>8    lelong          0x1000007E      voice note
                   12024: >>8    lelong          0x1000007F      word file
                   12025: >>8    lelong          0x10000085      OPL program
                   12026: >>8    lelong          0x10000088      sheet file
                   12027: >>8    lelong          0x100001C4      EasyFax initialisation file
                   12028: >4     lelong          0x10000073      OPO module
                   12029: >4     lelong          0x10000074      OPL application
                   12030: >4     lelong          0x1000008A      exported multi-bitmap image
                   12031: 
                   12032: 0      lelong          0x10000041      Psion Series 5 ROM multi-bitmap image
                   12033: 
                   12034: 0      lelong          0x10000050      Psion Series 5
                   12035: >4     lelong          0x1000006D      database
                   12036: >4     lelong          0x100000E4      ini file
                   12037: 
                   12038: 0      lelong          0x10000079      Psion Series 5 binary:
                   12039: >4     lelong          0x00000000      DLL
                   12040: >4     lelong          0x10000049      comms hardware library
                   12041: >4     lelong          0x1000004A      comms protocol library
                   12042: >4     lelong          0x1000005D      OPX
                   12043: >4     lelong          0x1000006C      application
                   12044: >4     lelong          0x1000008D      DLL
                   12045: >4     lelong          0x100000AC      logical device driver
                   12046: >4     lelong          0x100000AD      physical device driver
                   12047: >4     lelong          0x100000E5      file transfer protocol
                   12048: >4     lelong          0x100000E5      file transfer protocol
                   12049: >4     lelong          0x10000140      printer definition
                   12050: >4     lelong          0x10000141      printer definition
                   12051: 
                   12052: 0      lelong          0x1000007A      Psion Series 5 executable
                   12053: 
                   12054: #------------------------------------------------------------------------------
                   12055: # pulsar:  file(1) magic for Pulsar POP3 daemon binary files
                   12056: #
                   12057: # http://pulsar.sourceforge.net
                   12058: # mailto:rok.papez@lugos.si
                   12059: #
                   12060: 
                   12061: 0      belong  0x1ee7f11e      Pulsar POP3 daemon mailbox cache file.
                   12062: >4     ubelong x               Version: %d.
                   12063: >8     ubelong x               \b%d
                   12064: 
                   12065: 
                   12066: #------------------------------------------------------------------------------
                   12067: # pyramid:  file(1) magic for Pyramids
                   12068: #
                   12069: # XXX - byte order?
                   12070: #
                   12071: 0      long            0x50900107      Pyramid 90x family executable
                   12072: 0      long            0x50900108      Pyramid 90x family pure executable
                   12073: >16    long            >0              not stripped
                   12074: 0      long            0x5090010b      Pyramid 90x family demand paged pure executable
                   12075: >16    long            >0              not stripped
                   12076: 
                   12077: #------------------------------------------------------------------------------
                   12078: # python:  file(1) magic for python
                   12079: #
                   12080: # From: David Necas <yeti@physics.muni.cz>
                   12081: # often the module starts with a multiline string
                   12082: 0      string          """     a python script text executable
                   12083: # MAGIC as specified in Python/import.c (1.5 to 2.3.0a)
                   12084: # 20121  ( YEAR - 1995 ) + MONTH  + DAY (little endian followed by "\r\n"
                   12085: 0      belong          0x994e0d0a      python 1.5/1.6 byte-compiled
                   12086: 0      belong          0x87c60d0a      python 2.0 byte-compiled
                   12087: 0      belong          0x2aeb0d0a      python 2.1 byte-compiled
                   12088: 0      belong          0x2ded0d0a      python 2.2 byte-compiled
                   12089: 0      belong          0x3bf20d0a      python 2.3 byte-compiled
                   12090: 0      belong          0x6df20d0a      python 2.4 byte-compiled
                   12091: 0      belong          0xb3f20d0a      python 2.5 byte-compiled
                   12092: 
                   12093: 0      string/b  #!\ /usr/bin/python   python script text executable
                   12094: 
                   12095: 
                   12096: #------------------------------------------------------------------------------
                   12097: # file(1) magic for revision control files
                   12098: # From Hendrik Scholz <hendrik@scholz.net>
                   12099: 0      string  /1\ :pserver:   cvs password text file
                   12100: 
                   12101: # Conary changesets
                   12102: # From: Jonathan Smith <smithj@rpath.com>
                   12103: 0      belong  0xea3f81bb      Conary changeset data
                   12104: 
                   12105: # Type: Git bundles (git-bundle)
                   12106: # From: Josh Triplett <josh@freedesktop.org>
                   12107: 0      string  #\ v2\ git\ bundle\n    Git bundle
                   12108: 
                   12109: # Type:        Mercurial bundles
                   12110: # From:        Seo Sanghyeon <tinuviel@sparcs.kaist.ac.kr>
                   12111: 0      string  HG10            Mercurial bundle,
                   12112: >4     string  UN              uncompressed
                   12113: >4     string  BZ              bzip2 compressed
                   12114: 
                   12115: # Type:        Subversion (SVN) dumps
                   12116: # From:        Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de>
                   12117: 0      string  SVN-fs-dump-format-version:     Subversion dumpfile
                   12118: >28    string  >\0                             (version: %s)
                   12119: 
                   12120: # Type:        Bazaar revision bundles and merge requests
                   12121: # URL: http://www.bazaar-vcs.org/
                   12122: # From:        Jelmer Vernooij <jelmer@samba.org>
                   12123: 0      string  #\ Bazaar\ revision\ bundle\ v Bazaar Bundle
                   12124: 0      string  #\ Bazaar\ merge\ directive\ format Bazaar merge directive
                   12125: 
                   12126: #------------------------------------------------------------------------------
                   12127: # riff:  file(1) magic for RIFF format
                   12128: # See
                   12129: #
                   12130: #      http://www.seanet.com/users/matts/riffmci/riffmci.htm
                   12131: #
                   12132: # AVI section extended by Patrik Rådman <patrik+file-magic@iki.fi>
                   12133: #
                   12134: 0      string          RIFF            RIFF (little-endian) data
                   12135: # RIFF Palette format
                   12136: >8     string          PAL             \b, palette
                   12137: >>16   leshort         x               \b, version %d
                   12138: >>18   leshort         x               \b, %d entries
                   12139: # RIFF Device Independent Bitmap format
                   12140: >8     string          RDIB            \b, device-independent bitmap
                   12141: >>16   string          BM              
                   12142: >>>30  leshort         12              \b, OS/2 1.x format
                   12143: >>>>34 leshort         x               \b, %d x
                   12144: >>>>36 leshort         x               %d
                   12145: >>>30  leshort         64              \b, OS/2 2.x format
                   12146: >>>>34 leshort         x               \b, %d x
                   12147: >>>>36 leshort         x               %d
                   12148: >>>30  leshort         40              \b, Windows 3.x format
                   12149: >>>>34 lelong          x               \b, %d x
                   12150: >>>>38 lelong          x               %d x
                   12151: >>>>44 leshort         x               %d
                   12152: # RIFF MIDI format
                   12153: >8     string          RMID            \b, MIDI
                   12154: # RIFF Multimedia Movie File format
                   12155: >8     string          RMMP            \b, multimedia movie
                   12156: # RIFF wrapper for MP3
                   12157: >8     string          RMP3            \b, MPEG Layer 3 audio
                   12158: # Microsoft WAVE format (*.wav)
                   12159: >8     string          WAVE            \b, WAVE audio
                   12160: !:mime audio/x-wav
                   12161: >>20   leshort         1               \b, Microsoft PCM
                   12162: >>>34  leshort         >0              \b, %d bit
                   12163: >>20   leshort         2               \b, Microsoft ADPCM
                   12164: >>20   leshort         6               \b, ITU G.711 A-law
                   12165: >>20   leshort         7               \b, ITU G.711 mu-law
                   12166: >>20   leshort         17              \b, IMA ADPCM
                   12167: >>20   leshort         20              \b, ITU G.723 ADPCM (Yamaha)
                   12168: >>20   leshort         49              \b, GSM 6.10
                   12169: >>20   leshort         64              \b, ITU G.721 ADPCM
                   12170: >>20   leshort         80              \b, MPEG
                   12171: >>20   leshort         85              \b, MPEG Layer 3
                   12172: >>22   leshort         =1              \b, mono
                   12173: >>22   leshort         =2              \b, stereo
                   12174: >>22   leshort         >2              \b, %d channels
                   12175: >>24   lelong          >0              %d Hz
                   12176: # Corel Draw Picture
                   12177: >8     string          CDRA            \b, Corel Draw Picture
                   12178: !:mime image/x-coreldraw
                   12179: # AVI == Audio Video Interleave
                   12180: >8     string          AVI\040         \b, AVI
                   12181: !:mime video/x-msvideo
                   12182: >>12    string          LIST
                   12183: >>>20   string          hdrlavih
                   12184: >>>>&36 lelong          x               \b, %lu x
                   12185: >>>>&40 lelong          x               %lu,
                   12186: >>>>&4  lelong          >1000000        <1 fps,
                   12187: >>>>&4  lelong          1000000         1.00 fps,
                   12188: >>>>&4  lelong          500000          2.00 fps,
                   12189: >>>>&4  lelong          333333          3.00 fps,
                   12190: >>>>&4  lelong          250000          4.00 fps,
                   12191: >>>>&4  lelong          200000          5.00 fps,
                   12192: >>>>&4  lelong          166667          6.00 fps,
                   12193: >>>>&4  lelong          142857          7.00 fps,
                   12194: >>>>&4  lelong          125000          8.00 fps,
                   12195: >>>>&4  lelong          111111          9.00 fps,
                   12196: >>>>&4  lelong          100000          10.00 fps,
                   12197: # ]9.9,10.1[
                   12198: >>>>&4  lelong          <101010
                   12199: >>>>>&-4        lelong  >99010
                   12200: >>>>>>&-4       lelong  !100000         ~10 fps,
                   12201: >>>>&4  lelong          83333           12.00 fps,
                   12202: # ]11.9,12.1[
                   12203: >>>>&4  lelong          <84034
                   12204: >>>>>&-4        lelong  >82645
                   12205: >>>>>>&-4       lelong  !83333          ~12 fps,
                   12206: >>>>&4  lelong          66667           15.00 fps,
                   12207: # ]14.9,15.1[
                   12208: >>>>&4  lelong          <67114
                   12209: >>>>>&-4        lelong  >66225
                   12210: >>>>>>&-4       lelong  !66667          ~15 fps,
                   12211: >>>>&4  lelong          50000           20.00 fps,
                   12212: >>>>&4  lelong          41708           23.98 fps,
                   12213: >>>>&4  lelong          41667           24.00 fps,
                   12214: # ]23.9,24.1[
                   12215: >>>>&4  lelong          <41841
                   12216: >>>>>&-4        lelong  >41494
                   12217: >>>>>>&-4       lelong  !41708
                   12218: >>>>>>>&-4      lelong  !41667          ~24 fps,
                   12219: >>>>&4  lelong          40000           25.00 fps,
                   12220: # ]24.9,25.1[
                   12221: >>>>&4  lelong          <40161
                   12222: >>>>>&-4        lelong  >39841
                   12223: >>>>>>&-4       lelong  !40000          ~25 fps,
                   12224: >>>>&4  lelong          33367           29.97 fps,
                   12225: >>>>&4  lelong          33333           30.00 fps,
                   12226: # ]29.9,30.1[
                   12227: >>>>&4  lelong          <33445
                   12228: >>>>>&-4        lelong  >33223
                   12229: >>>>>>&-4       lelong  !33367
                   12230: >>>>>>>&-4      lelong  !33333          ~30 fps,
                   12231: >>>>&4  lelong          <32224          >30 fps,
                   12232: ##>>>>&4  lelong          x               (%lu)
                   12233: ##>>>>&20 lelong          x               %lu frames,
                   12234: # Note: The tests below assume that the AVI has 1 or 2 streams,
                   12235: #       "vids" optionally followed by "auds".
                   12236: #       (Should cover 99.9% of all AVIs.)
                   12237: # assuming avih length = 56
                   12238: >>>88   string  LIST
                   12239: >>>>96  string  strlstrh
                   12240: >>>>>108        string  vids    video:
                   12241: >>>>>>&0        lelong  0               uncompressed
                   12242: # skip past vids strh
                   12243: >>>>>>(104.l+108)       string  strf
                   12244: >>>>>>>(104.l+132)      lelong          1       RLE 8bpp
                   12245: >>>>>>>(104.l+132)      string/c        cvid    Cinepak
                   12246: >>>>>>>(104.l+132)      string/c        i263    Intel I.263
                   12247: >>>>>>>(104.l+132)      string/c        iv32    Indeo 3.2
                   12248: >>>>>>>(104.l+132)      string/c        iv41    Indeo 4.1
                   12249: >>>>>>>(104.l+132)      string/c        iv50    Indeo 5.0
                   12250: >>>>>>>(104.l+132)      string/c        mp42    Microsoft MPEG-4 v2
                   12251: >>>>>>>(104.l+132)      string/c        mp43    Microsoft MPEG-4 v3
                   12252: >>>>>>>(104.l+132)      string/c        fmp4    FFMpeg MPEG-4
                   12253: >>>>>>>(104.l+132)      string/c        mjpg    Motion JPEG
                   12254: >>>>>>>(104.l+132)      string/c        div3    DivX 3
                   12255: >>>>>>>>112             string/c        div3    Low-Motion
                   12256: >>>>>>>>112             string/c        div4    Fast-Motion
                   12257: >>>>>>>(104.l+132)      string/c        divx    DivX 4
                   12258: >>>>>>>(104.l+132)      string/c        dx50    DivX 5
                   12259: >>>>>>>(104.l+132)      string/c        xvid    XviD
                   12260: >>>>>>>(104.l+132)     string/c        h264    H.264
                   12261: >>>>>>>(104.l+132)      string/c        wmv3    Windows Media Video 9
                   12262: >>>>>>>(104.l+132)      string/c        h264    X.264 or H.264
                   12263: >>>>>>>(104.l+132)      lelong  0
                   12264: ##>>>>>>>(104.l+132)      string  x       (%.4s)
                   12265: # skip past first (video) LIST
                   12266: >>>>(92.l+96)   string  LIST
                   12267: >>>>>(92.l+104) string  strlstrh
                   12268: >>>>>>(92.l+116)        string          auds    \b, audio:
                   12269: # auds strh length = 56:
                   12270: >>>>>>>(92.l+172)       string          strf
                   12271: >>>>>>>>(92.l+180)      leshort 0x0001  uncompressed PCM
                   12272: >>>>>>>>(92.l+180)      leshort 0x0002  ADPCM
                   12273: >>>>>>>>(92.l+180)      leshort 0x0006  aLaw
                   12274: >>>>>>>>(92.l+180)      leshort 0x0007  uLaw
                   12275: >>>>>>>>(92.l+180)      leshort 0x0050  MPEG-1 Layer 1 or 2
                   12276: >>>>>>>>(92.l+180)      leshort 0x0055  MPEG-1 Layer 3
                   12277: >>>>>>>>(92.l+180)      leshort 0x2000  Dolby AC3
                   12278: >>>>>>>>(92.l+180)      leshort 0x0161  DivX
                   12279: ##>>>>>>>>(92.l+180)      leshort x       (0x%.4x)
                   12280: >>>>>>>>(92.l+182)      leshort 1       (mono,
                   12281: >>>>>>>>(92.l+182)      leshort 2       (stereo,
                   12282: >>>>>>>>(92.l+182)      leshort >2      (%d channels,
                   12283: >>>>>>>>(92.l+184)      lelong  x       %d Hz)
                   12284: # auds strh length = 64:
                   12285: >>>>>>>(92.l+180)       string          strf
                   12286: >>>>>>>>(92.l+188)      leshort 0x0001  uncompressed PCM
                   12287: >>>>>>>>(92.l+188)      leshort 0x0002  ADPCM
                   12288: >>>>>>>>(92.l+188)      leshort 0x0055  MPEG-1 Layer 3
                   12289: >>>>>>>>(92.l+188)      leshort 0x2000  Dolby AC3
                   12290: >>>>>>>>(92.l+188)      leshort 0x0161  DivX
                   12291: ##>>>>>>>>(92.l+188)      leshort x       (0x%.4x)
                   12292: >>>>>>>>(92.l+190)      leshort 1       (mono,
                   12293: >>>>>>>>(92.l+190)      leshort 2       (stereo,
                   12294: >>>>>>>>(92.l+190)      leshort >2      (%d channels,
                   12295: >>>>>>>>(92.l+192)      lelong  x       %d Hz)
                   12296: # Animated Cursor format
                   12297: >8     string          ACON            \b, animated cursor
                   12298: # SoundFont 2 <mpruett@sgi.com>
                   12299: >8     string          sfbk            SoundFont/Bank
                   12300: # MPEG-1 wrapped in a RIFF, apparently
                   12301: >8      string          CDXA            \b, wrapped MPEG-1 (CDXA)
                   12302: >8     string          4XMV            \b, 4X Movie file 
                   12303: 
                   12304: #
                   12305: # XXX - some of the below may only appear in little-endian form.
                   12306: #
                   12307: # Also "MV93" appears to be for one form of Macromedia Director
                   12308: # files, and "GDMF" appears to be another multimedia format.
                   12309: #
                   12310: 0      string          RIFX            RIFF (big-endian) data
                   12311: # RIFF Palette format
                   12312: >8     string          PAL             \b, palette
                   12313: >>16   beshort         x               \b, version %d
                   12314: >>18   beshort         x               \b, %d entries
                   12315: # RIFF Device Independent Bitmap format
                   12316: >8     string          RDIB            \b, device-independent bitmap
                   12317: >>16   string          BM              
                   12318: >>>30  beshort         12              \b, OS/2 1.x format
                   12319: >>>>34 beshort         x               \b, %d x
                   12320: >>>>36 beshort         x               %d
                   12321: >>>30  beshort         64              \b, OS/2 2.x format
                   12322: >>>>34 beshort         x               \b, %d x
                   12323: >>>>36 beshort         x               %d
                   12324: >>>30  beshort         40              \b, Windows 3.x format
                   12325: >>>>34 belong          x               \b, %d x
                   12326: >>>>38 belong          x               %d x
                   12327: >>>>44 beshort         x               %d
                   12328: # RIFF MIDI format
                   12329: >8     string          RMID            \b, MIDI
                   12330: # RIFF Multimedia Movie File format
                   12331: >8     string          RMMP            \b, multimedia movie
                   12332: # Microsoft WAVE format (*.wav)
                   12333: >8     string          WAVE            \b, WAVE audio
                   12334: >>20   leshort         1               \b, Microsoft PCM
                   12335: >>>34  leshort         >0              \b, %d bit
                   12336: >>22   beshort         =1              \b, mono
                   12337: >>22   beshort         =2              \b, stereo
                   12338: >>22   beshort         >2              \b, %d channels
                   12339: >>24   belong          >0              %d Hz
                   12340: # Corel Draw Picture
                   12341: >8     string          CDRA            \b, Corel Draw Picture
                   12342: # AVI == Audio Video Interleave
                   12343: >8     string          AVI\040         \b, AVI
                   12344: # Animated Cursor format
                   12345: >8     string          ACON            \b, animated cursor
                   12346: # Notation Interchange File Format (big-endian only)
                   12347: >8     string          NIFF            \b, Notation Interchange File Format
                   12348: # SoundFont 2 <mpruett@sgi.com>
                   12349: >8     string          sfbk            SoundFont/Bank
                   12350: #------------------------------------------------------------------------------
                   12351: #
                   12352: # RPM: file(1) magic for Red Hat Packages   Erik Troan (ewt@redhat.com)
                   12353: #
                   12354: 0      beshort         0xedab
                   12355: >2     beshort         0xeedb          RPM
                   12356: !:mime application/x-rpm
                   12357: >>4    byte            x               v%d
                   12358: >>6    beshort         0               bin
                   12359: >>6    beshort         1               src
                   12360: >>8    beshort         1               i386
                   12361: >>8    beshort         2               Alpha
                   12362: >>8    beshort         3               Sparc
                   12363: >>8    beshort         4               MIPS
                   12364: >>8    beshort         5               PowerPC
                   12365: >>8    beshort         6               68000
                   12366: >>8    beshort         7               SGI
                   12367: >>8    beshort         8               RS6000
                   12368: >>8    beshort         9               IA64
                   12369: >>8    beshort         10              Sparc64
                   12370: >>8    beshort         11              MIPSel
                   12371: >>8    beshort         12              ARM
                   12372: >>10   string          x               %s
                   12373: 
                   12374: #------------------------------------------------------------------------------
                   12375: # rtf: file(1) magic for Rich Text Format (RTF)
                   12376: #
                   12377: # Duncan P. Simpson, D.P.Simpson@dcs.warwick.ac.uk
                   12378: #
                   12379: 0      string          {\\rtf          Rich Text Format data,
                   12380: !:mime text/rtf
                   12381: >5     string          1               version 1,
                   12382: >>6    string          \\ansi          ANSI
                   12383: >>6    string          \\mac           Apple Macintosh
                   12384: >>6    string          \\pc            IBM PC, code page 437
                   12385: >>6    string          \\pca           IBM PS/2, code page 850
                   12386: >>6    default         x               unknown character set
                   12387: >5     default         x               unknown version
                   12388: #------------------------------------------------------------------------------
                   12389: # ruby:  file(1) magic for Lua scripting language
                   12390: # URL:  http://www.ruby-lang.org/
                   12391: # From: Reuben Thomas <rrt@sc3d.org>
                   12392: 
                   12393: # Ruby scripts
                   12394: 0      search/1/b      #!\ /usr/bin/ruby       Ruby script text executable
                   12395: 0      search/1/b      #!\ /usr/local/bin/ruby Ruby script text executable
                   12396: 0      search/1        #!/usr/bin/env\ ruby    Ruby script text executable
                   12397: 0      search/1        #!\ /usr/bin/env\ ruby  Ruby script text executable
                   12398: 
                   12399: #------------------------------------------------------------------------------
                   12400: # sc:  file(1) magic for "sc" spreadsheet
                   12401: #
                   12402: 38     string          Spreadsheet     sc spreadsheet file
                   12403: !:mime application/x-sc
                   12404: 
                   12405: #------------------------------------------------------------------------------
                   12406: # sccs:  file(1) magic for SCCS archives
                   12407: #
                   12408: # SCCS archive structure:
                   12409: # \001h01207
                   12410: # \001s 00276/00000/00000
                   12411: # \001d D 1.1 87/09/23 08:09:20 ian 1 0
                   12412: # \001c date and time created 87/09/23 08:09:20 by ian
                   12413: # \001e
                   12414: # \001u
                   12415: # \001U
                   12416: # ... etc.
                   12417: # Now '\001h' happens to be the same as the 3B20's a.out magic number (0550).
                   12418: # *Sigh*. And these both came from various parts of the USG.
                   12419: # Maybe we should just switch everybody from SCCS to RCS!
                   12420: # Further, you can't just say '\001h0', because the five-digit number
                   12421: # is a checksum that could (presumably) have any leading digit,
                   12422: # and we don't have regular expression matching yet. 
                   12423: # Hence the following official kludge:
                   12424: 8      string          \001s\                  SCCS archive data
                   12425: #------------------------------------------------------------------------------
                   12426: # scientific:  file(1) magic for scientific formats 
                   12427: #
                   12428: # From: Joe Krahn <krahn@niehs.nih.gov>
                   12429: 
                   12430: ########################################################
                   12431: # CCP4 data and plot files:
                   12432: 0      string          MTZ\040         MTZ reflection file
                   12433: 
                   12434: 92     string          PLOT%%84        Plot84 plotting file
                   12435: >52    byte            1               , Little-endian
                   12436: >55    byte            1               , Big-endian
                   12437: 
                   12438: ########################################################
                   12439: # Electron density MAP/MASK formats
                   12440: 
                   12441: 0      string          EZD_MAP NEWEZD Electron Density Map
                   12442: 109    string          MAP\040(  Old EZD Electron Density Map
                   12443: 
                   12444: 0      string/c        :-)\040Origin   BRIX Electron Density Map
                   12445: >170   string          >0      , Sigma:%.12s
                   12446: #>4    string          >0      %.178s
                   12447: #>4    addr            x       %.178s
                   12448: 
                   12449: 7      string          18\040!NTITLE   XPLOR ASCII Electron Density Map
                   12450: 9      string          \040!NTITLE\012\040REMARK       CNS ASCII electron density map
                   12451: 
                   12452: 208    string          MAP\040 CCP4 Electron Density Map
                   12453: # Assumes same stamp for float and double (normal case)
                   12454: >212   byte            17      \b, Big-endian
                   12455: >212   byte            34      \b, VAX format
                   12456: >212   byte            68      \b, Little-endian
                   12457: >212   byte            85      \b, Convex native
                   12458: 
                   12459: ############################################################
                   12460: # X-Ray Area Detector images
                   12461: 0      string  R-AXIS4\ \ \    R-Axis Area Detector Image:
                   12462: >796   lelong  <20             Little-endian, IP #%d,
                   12463: >>768  lelong  >0              Size=%dx
                   12464: >>772  lelong  >0              \b%d
                   12465: >796   belong  <20             Big-endian, IP #%d,
                   12466: >>768  belong  >0              Size=%dx
                   12467: >>772  belong  >0              \b%d
                   12468: 
                   12469: 0      string  RAXIS\ \ \ \ \  R-Axis Area Detector Image, Win32:
                   12470: >796   lelong  <20             Little-endian, IP #%d,
                   12471: >>768  lelong  >0              Size=%dx
                   12472: >>772  lelong  >0              \b%d
                   12473: >796   belong  <20             Big-endian, IP #%d,
                   12474: >>768  belong  >0              Size=%dx
                   12475: >>772  belong  >0              \b%d
                   12476: 
                   12477: 
                   12478: 1028   string  MMX\000\000\000\000\000\000\000\000\000\000\000\000\000 MAR Area Detector Image,
                   12479: >1072  ulong   >1              Compressed(%d),
                   12480: >1100  ulong   >1              %d headers,
                   12481: >1104  ulong   >0              %d x
                   12482: >1108  ulong   >0              %d,
                   12483: >1120  ulong   >0              %d bits/pixel
                   12484: 
                   12485: # Type: GEDCOM genealogical (family history) data
                   12486: # From: Giuseppe Bilotta
                   12487: 0       search/1/c     0\ HEAD         GEDCOM genealogy text
                   12488: >&0     search         1\ GEDC
                   12489: >>&0    search         2\ VERS         version
                   12490: >>>&1   search/1       >\0             %s
                   12491: # From: Phil Endecott <phil05@chezphil.org>
                   12492: 0      string  \000\060\000\040\000\110\000\105\000\101\000\104                GEDCOM data
                   12493: 0      string  \060\000\040\000\110\000\105\000\101\000\104\000                GEDCOM data
                   12494: 0      string  \376\377\000\060\000\040\000\110\000\105\000\101\000\104        GEDCOM data
                   12495: 0      string  \377\376\060\000\040\000\110\000\105\000\101\000\104\000        GEDCOM data
                   12496: 0      search/1                -----BEGIN\ CERTIFICATE------   RFC1421 Security Certificate text
                   12497: 0      search/1                -----BEGIN\ NEW\ CERTIFICATE    RFC1421 Security Certificate Signing Request text
                   12498: 0      belong  0xedfeedfe      Sun 'jks' Java Keystore File data
                   12499: # Type:        SE Linux policy modules *.pp reference policy
                   12500: #      for Fedora 5 to 9, RHEL5, and Debian Etch and Lenny.
                   12501: # URL: http://doc.coker.com.au/computers/selinux-magic
                   12502: # From:        Russell Coker <russell@coker.com.au>
                   12503: 
                   12504: 0              lelong  0xf97cff8f      SE Linux modular policy
                   12505: >4             lelong  x               version %d,
                   12506: >8             lelong  x               %d sections,
                   12507: >>(12.l)       lelong  0xf97cff8d
                   12508: >>>(12.l+27)   lelong  x               mod version %d,
                   12509: >>>(12.l+31)   lelong  0               Not MLS,
                   12510: >>>(12.l+31)   lelong  1               MLS,
                   12511: >>>(12.l+23)   lelong  2
                   12512: >>>>(12.l+47)  string  >\0             module name %s
                   12513: >>>(12.l+23)   lelong  1               base
                   12514: 
                   12515: 1      string  policy_module(  SE Linux policy module source
                   12516: 2      string  policy_module(  SE Linux policy module source
                   12517: 
                   12518: 0      string  ##\ <summary>   SE Linux policy interface source
                   12519: 
                   12520: #0     search  gen_context(    SE Linux policy file contexts
                   12521: 
                   12522: #0     search  gen_sens(       SE Linux policy MLS constraints source
                   12523: 
                   12524: #------------------------------------------------------------------------------
                   12525: # sendmail:  file(1) magic for sendmail config files
                   12526: #
                   12527: # XXX - byte order?
                   12528: #
                   12529: 0      byte    046       Sendmail frozen configuration 
                   12530: >16    string  >\0       - version %s
                   12531: 0      short   0x271c    Sendmail frozen configuration
                   12532: >16    string  >\0       - version %s
                   12533: 
                   12534: #------------------------------------------------------------------------------
                   12535: # sendmail:  file(1) magic for sendmail m4(1) files
                   12536: #
                   12537: # From Hendrik Scholz <hendrik@scholz.net>
                   12538: # i.e. files in /usr/share/sendmail/cf/
                   12539: #
                   12540: 0   string  divert(-1)\n    sendmail m4 text file
                   12541: 
                   12542: 
                   12543: #------------------------------------------------------------------------------
                   12544: # sequent:  file(1) magic for Sequent machines
                   12545: #
                   12546: # Sequent information updated by Don Dwiggins <atsun!dwiggins>.
                   12547: # For Sequent's multiprocessor systems (incomplete).
                   12548: 0      lelong  0x00ea          BALANCE NS32000 .o
                   12549: >16    lelong  >0              not stripped
                   12550: >124   lelong  >0              version %ld
                   12551: 0      lelong  0x10ea          BALANCE NS32000 executable (0 @ 0)
                   12552: >16    lelong  >0              not stripped
                   12553: >124   lelong  >0              version %ld
                   12554: 0      lelong  0x20ea          BALANCE NS32000 executable (invalid @ 0)
                   12555: >16    lelong  >0              not stripped
                   12556: >124   lelong  >0              version %ld
                   12557: 0      lelong  0x30ea          BALANCE NS32000 standalone executable
                   12558: >16    lelong  >0              not stripped
                   12559: >124   lelong  >0              version %ld
                   12560: #
                   12561: # Symmetry information added by Jason Merrill <jason@jarthur.claremont.edu>.
                   12562: # Symmetry magic nums will not be reached if DOS COM comes before them;
                   12563: # byte 0xeb is matched before these get a chance.
                   12564: 0      leshort 0x12eb          SYMMETRY i386 .o
                   12565: >16    lelong  >0              not stripped
                   12566: >124   lelong  >0              version %ld
                   12567: 0      leshort 0x22eb          SYMMETRY i386 executable (0 @ 0)
                   12568: >16    lelong  >0              not stripped
                   12569: >124   lelong  >0              version %ld
                   12570: 0      leshort 0x32eb          SYMMETRY i386 executable (invalid @ 0)
                   12571: >16    lelong  >0              not stripped
                   12572: >124   lelong  >0              version %ld
                   12573: 0      leshort 0x42eb          SYMMETRY i386 standalone executable
                   12574: >16    lelong  >0              not stripped
                   12575: >124   lelong  >0              version %ld
                   12576: 
                   12577: #------------------------------------------------------------------------------
                   12578: # sgi:  file(1) magic for Silicon Graphics applications
                   12579: 
                   12580: #
                   12581: #
                   12582: # Performance Co-Pilot file types
                   12583: 0      string  PmNs                            PCP compiled namespace (V.0)
                   12584: 0      string  PmN                             PCP compiled namespace
                   12585: >3     string  >\0                             (V.%1.1s)
                   12586: #3     lelong  0x84500526                      PCP archive
                   12587: 3      belong  0x84500526                      PCP archive
                   12588: >7     byte    x                               (V.%d)
                   12589: #>20   lelong  -2                              temporal index
                   12590: #>20   lelong  -1                              metadata
                   12591: #>20   lelong  0                               log volume #0
                   12592: #>20   lelong  >0                              log volume #%ld
                   12593: >20    belong  -2                              temporal index
                   12594: >20    belong  -1                              metadata
                   12595: >20    belong  0                               log volume #0
                   12596: >20    belong  >0                              log volume #%ld
                   12597: >24    string  >\0                             host: %s
                   12598: 0      string  PCPFolio                        PCP
                   12599: >9     string  Version:                        Archive Folio
                   12600: >18    string  >\0                             (V.%s)
                   12601: 0      string  #pmchart                        PCP pmchart view
                   12602: >9     string  Version
                   12603: >17    string  >\0                             (V%-3.3s)
                   12604: 0      string  #kmchart                        PCP kmchart view
                   12605: >9     string  Version
                   12606: >17    string  >\0                             (V.%s)
                   12607: 0      string  pmview                          PCP pmview config
                   12608: >7     string  Version
                   12609: >15    string  >\0                             (V%-3.3s)
                   12610: 0      string  #pmlogger                       PCP pmlogger config
                   12611: >10    string  Version
                   12612: >18    string  >\0                             (V%1.1s)
                   12613: 0      string  #pmdahotproc                    PCP pmdahotproc config
                   12614: >13    string  Version
                   12615: >21    string  >\0                             (V%-3.3s)
                   12616: 0      string  PcPh                            PCP Help
                   12617: >4     string  1                               Index
                   12618: >4     string  2                               Text
                   12619: >5     string  >\0                             (V.%1.1s)
                   12620: 0      string  #pmieconf-rules                 PCP pmieconf rules
                   12621: >16    string  >\0                             (V.%1.1s)
                   12622: 3      string  pmieconf-pmie                   PCP pmie config
                   12623: >17    string  >\0                             (V.%1.1s)
                   12624: 
                   12625: # SpeedShop data files
                   12626: 0      lelong  0x13130303                      SpeedShop data file
                   12627: 
                   12628: # mdbm files
                   12629: 0      lelong  0x01023962                      mdbm file, version 0 (obsolete)
                   12630: 0      string  mdbm                            mdbm file,
                   12631: >5     byte    x                               version %d,
                   12632: >6     byte    x                               2^%d pages,
                   12633: >7     byte    x                               pagesize 2^%d,
                   12634: >17    byte    x                               hash %d,
                   12635: >11    byte    x                               dataformat %d
                   12636: 
                   12637: # Alias Maya files
                   12638: 0      string  //Maya ASCII    Alias Maya Ascii File,
                   12639: >13    string  >\0     version %s
                   12640: 8      string  MAYAFOR4        Alias Maya Binary File,
                   12641: >32    string  >\0     version %s scene
                   12642: 8      string  MayaFOR4        Alias Maya Binary File,
                   12643: >32    string  >\0     version %s scene
                   12644: 8      string  CIMG            Alias Maya Image File
                   12645: 8      string  DEEP            Alias Maya Image File
                   12646: #------------------------------------------------------------------------------
                   12647: # Type:        SVG Vectorial Graphics
                   12648: # From:        Noel Torres <tecnico@ejerciciosresueltos.com>
                   12649: 0      string          \<?xml\ version="
                   12650: >15    string          >\0
                   12651: >>23   search/400      \<svg                   SVG Scalable Vector Graphics image
                   12652: !:mime image/svg+xml
                   12653: >>23   search/400      \<gnc-v2                GnuCash file
                   12654: !:mime application/x-gnucash
                   12655: 
                   12656: # Sitemap file
                   12657: 0      string          \<?xml\ version="
                   12658: >15    string          >\0
                   12659: >>23   search/400      \<urlset                XML Sitemap document text
                   12660: !:mime application/xml-sitemap
                   12661: 
                   12662: #------------------------------------------------------------------------------
                   12663: # sgml:  file(1) magic for Standard Generalized Markup Language
                   12664: # HyperText Markup Language (HTML) is an SGML document type,
                   12665: # from Daniel Quinlan (quinlan@yggdrasil.com)
                   12666: # adapted to string extenstions by Anthon van der Neut <anthon@mnt.org)
                   12667: 0      search/1/cB     \<!doctype\ html        HTML document text
                   12668: !:mime text/html
                   12669: 0      search/1/cb     \<head                  HTML document text
                   12670: !:mime text/html
                   12671: 0      search/1/cb     \<title                 HTML document text
                   12672: !:mime text/html
                   12673: 0      search/1/cb     \<html                  HTML document text
                   12674: !:mime text/html
                   12675: 
                   12676: # Extensible markup language (XML), a subset of SGML
                   12677: # from Marc Prud'hommeaux (marc@apocalypse.org)
                   12678: 0      search/1/cb     \<?xml                  XML document text
                   12679: !:mime application/xml
                   12680: 0      string          \<?xml\ version\ "      XML
                   12681: !:mime application/xml
                   12682: 0      string          \<?xml\ version="       XML
                   12683: !:mime application/xml
                   12684: >15    search/1        >\0                     %.3s document text
                   12685: >>23   search/1        \<xsl:stylesheet        (XSL stylesheet)
                   12686: >>24   search/1        \<xsl:stylesheet        (XSL stylesheet)
                   12687: 0      string          \<?xml\ version='       XML
                   12688: !:mime application/xml
                   12689: >15    search/1        >\0                     %.3s document text
                   12690: >>23   search/1        \<xsl:stylesheet        (XSL stylesheet)
                   12691: >>24   search/1        \<xsl:stylesheet        (XSL stylesheet)
                   12692: 0      search/1/b      \<?xml                  XML document text
                   12693: !:mime application/xml
                   12694: 0      search/1/b      \<?XML                  broken XML document text
                   12695: !:mime application/xml
                   12696: 
                   12697: 
                   12698: # SGML, mostly from rph@sq
                   12699: 0      search/1/cb     \<!doctype              exported SGML document text
                   12700: 0      search/1/cb     \<!subdoc               exported SGML subdocument text
                   12701: 0      search/1/cb     \<!--                   exported SGML document text
                   12702: 
                   12703: # Web browser cookie files
                   12704: # (Mozilla, Galeon, Netscape 4, Konqueror..)
                   12705: # Ulf Harnhammar <ulfh@update.uu.se>
                   12706: 0      search/1        #\ HTTP\ Cookie\ File   Web browser cookie text
                   12707: 0      search/1        #\ Netscape\ HTTP\ Cookie\ File Netscape cookie text
                   12708: 0      search/1        #\ KDE\ Cookie\ File    Konqueror cookie text
                   12709: 
                   12710: #------------------------------------------------------------------------
                   12711: # file(1) magic for sharc files
                   12712: #
                   12713: # SHARC DSP, MIDI SysEx and RiscOS filetype definitions added by 
                   12714: # FutureGroove Music (dsp@futuregroove.de)
                   12715: 
                   12716: #------------------------------------------------------------------------
                   12717: #0     string                  Draw            RiscOS Drawfile
                   12718: #0     string                  PACK            RiscOS PackdDir archive
                   12719: 
                   12720: #------------------------------------------------------------------------
                   12721: # SHARC DSP stuff (based on the FGM SHARC DSP SDK)
                   12722: 
                   12723: #0     string                  =!              Assembler source
                   12724: #0     string                  Analog          ADi asm listing file
                   12725: 0      string                  .SYSTEM         SHARC architecture file
                   12726: 0      string                  .system         SHARC architecture file
                   12727: 
                   12728: 0      leshort                 0x521C          SHARC COFF binary
                   12729: >2     leshort                 >1              , %hd sections
                   12730: >>12   lelong                  >0              , not stripped
                   12731: 
                   12732: #------------------------------------------------------------------------------
                   12733: # sinclair:  file(1) sinclair QL
                   12734: 
                   12735: # additions to /etc/magic by Thomas M. Ott (ThMO)
                   12736: 
                   12737: # Sinclair QL floppy disk formats (ThMO)
                   12738: 0      string  =QL5            QL disk dump data,
                   12739: >3     string  =A              720 KB,
                   12740: >3     string  =B              1.44 MB,
                   12741: >3     string  =C              3.2 MB,
                   12742: >4     string  >\0             label:%.10s
                   12743: 
                   12744: # Sinclair QL OS dump (ThMO)
                   12745: # (NOTE: if `file' would be able to use indirect references in a endian format
                   12746: #       differing from the natural host format, this could be written more
                   12747: #       reliably and faster...)
                   12748: #
                   12749: # we *can't* lookup QL OS code dumps, because `file' is UNABLE to read more
                   12750: # than the first 8K of a file... #-(
                   12751: #
                   12752: #0             belong  =0x30000
                   12753: #>49124                belong  <47104
                   12754: #>>49128               belong  <47104
                   12755: #>>>49132      belong  <47104
                   12756: #>>>>49136     belong  <47104  QL OS dump data,
                   12757: #>>>>>49148    string  >\0     type %.3s,
                   12758: #>>>>>49142    string  >\0     version %.4s
                   12759: 
                   12760: # Sinclair QL firmware executables (ThMO)
                   12761: 0      string  NqNqNq`\004     QL firmware executable (BCPL)
                   12762: 
                   12763: # Sinclair QL libraries (was ThMO)
                   12764: 0      beshort 0xFB01          QDOS object
                   12765: >2     pstring x               '%s'
                   12766: 
                   12767: # Sinclair QL executables (was ThMO)
                   12768: 4      belong  0x4AFB          QDOS executable
                   12769: >9     pstring x               '%s'
                   12770: 
                   12771: # Sinclair QL ROM (ThMO)
                   12772: 0      belong  =0x4AFB0001     QL plugin-ROM data,
                   12773: >9     pstring =\0             un-named
                   12774: >9     pstring >\0             named: %s
                   12775: # Type: SiSU Markup Language
                   12776: # URL:  http://www.sisudoc.org/
                   12777: # From: Ralph Amissah <ralph.amissah@gmail.com>
                   12778: 
                   12779: 0      regex   \^%?[\ \t]*SiSU[\ \t]+insert    SiSU text insert
                   12780: >5     regex   [0-9.]+                         %s
                   12781: 
                   12782: 0      regex   \^%[\ \t]+SiSU[\ \t]+master     SiSU text master
                   12783: >5     regex   [0-9.]+                         %s
                   12784: 
                   12785: 0      regex   \^%?[\ \t]*SiSU[\ \t]+text      SiSU text
                   12786: >5     regex   [0-9.]+                         %s
                   12787: 
                   12788: 0      regex   \^%?[\ \t]*SiSU[\ \t][0-9.]+    SiSU text
                   12789: >5     regex   [0-9.]+                         %s
                   12790: 
                   12791: 0      regex   \^%*[\ \t]*sisu-[0-9.]+         SiSU text
                   12792: >5     regex   [0-9.]+                         %s
                   12793: #------------------------------------------------------------------------------
                   12794: # Sketch Drawings: http://sketch.sourceforge.net/ 
                   12795: # From: Edwin Mons <e@ik.nu>
                   12796: 0      search/1        ##Sketch        Sketch document text
                   12797: 
                   12798: #-----------------------------------------------
                   12799: # GNU Smalltalk image, starting at version 1.6.2
                   12800: # From: catull_us@yahoo.com
                   12801: #
                   12802: 0      string  GSTIm\0\0       GNU SmallTalk
                   12803: # little-endian
                   12804: >7     byte&1  =0              LE image version
                   12805: >>10   byte    x               %d.
                   12806: >>9    byte    x               \b%d.
                   12807: >>8    byte    x               \b%d
                   12808: #>>12  lelong  x               , data: %ld
                   12809: #>>16  lelong  x               , table: %ld
                   12810: #>>20  lelong  x               , memory: %ld
                   12811: # big-endian
                   12812: >7     byte&1  =1              BE image version
                   12813: >>8    byte    x               %d.
                   12814: >>9    byte    x               \b%d.
                   12815: >>10   byte    x               \b%d
                   12816: #>>12  belong  x               , data: %ld
                   12817: #>>16  belong  x               , table: %ld
                   12818: #>>20  belong  x               , memory: %ld
                   12819: 
                   12820: 
                   12821: 
                   12822: #------------------------------------------------------------------------------
                   12823: # sniffer:  file(1) magic for packet capture files
                   12824: #
                   12825: # From: guy@alum.mit.edu (Guy Harris)
                   12826: #
                   12827: 
                   12828: #
                   12829: # Microsoft Network Monitor 1.x capture files.
                   12830: #
                   12831: 0      string          RTSS            NetMon capture file
                   12832: >5     byte            x               - version %d
                   12833: >4     byte            x               \b.%d
                   12834: >6     leshort         0               (Unknown)
                   12835: >6     leshort         1               (Ethernet)
                   12836: >6     leshort         2               (Token Ring)
                   12837: >6     leshort         3               (FDDI)
                   12838: >6     leshort         4               (ATM)
                   12839: 
                   12840: #
                   12841: # Microsoft Network Monitor 2.x capture files.
                   12842: #
                   12843: 0      string          GMBU            NetMon capture file
                   12844: >5     byte            x               - version %d
                   12845: >4     byte            x               \b.%d
                   12846: >6     leshort         0               (Unknown)
                   12847: >6     leshort         1               (Ethernet)
                   12848: >6     leshort         2               (Token Ring)
                   12849: >6     leshort         3               (FDDI)
                   12850: >6     leshort         4               (ATM)
                   12851: 
                   12852: #
                   12853: # Network General Sniffer capture files.
                   12854: # Sorry, make that "Network Associates Sniffer capture files."
                   12855: # Sorry, make that "Network General old DOS Sniffer capture files."
                   12856: #
                   12857: 0      string          TRSNIFF\ data\ \ \ \ \032       Sniffer capture file
                   12858: >33    byte            2               (compressed)
                   12859: >23    leshort         x               - version %d
                   12860: >25    leshort         x               \b.%d
                   12861: >32    byte            0               (Token Ring)
                   12862: >32    byte            1               (Ethernet)
                   12863: >32    byte            2               (ARCNET)
                   12864: >32    byte            3               (StarLAN)
                   12865: >32    byte            4               (PC Network broadband)
                   12866: >32    byte            5               (LocalTalk)
                   12867: >32    byte            6               (Znet)
                   12868: >32    byte            7               (Internetwork Analyzer)
                   12869: >32    byte            9               (FDDI)
                   12870: >32    byte            10              (ATM)
                   12871: 
                   12872: #
                   12873: # Cinco Networks NetXRay capture files.
                   12874: # Sorry, make that "Network General Sniffer Basic capture files."
                   12875: # Sorry, make that "Network Associates Sniffer Basic capture files."
                   12876: # Sorry, make that "Network Associates Sniffer Basic, and Windows
                   12877: # Sniffer Pro", capture files."
                   12878: # Sorry, make that "Network General Sniffer capture files."
                   12879: #
                   12880: 0      string          XCP\0           NetXRay capture file
                   12881: >4     string          >\0             - version %s
                   12882: >44    leshort         0               (Ethernet)
                   12883: >44    leshort         1               (Token Ring)
                   12884: >44    leshort         2               (FDDI)
                   12885: >44    leshort         3               (WAN)
                   12886: >44    leshort         8               (ATM)
                   12887: >44    leshort         9               (802.11)
                   12888: 
                   12889: #
                   12890: # "libpcap" capture files.
                   12891: # (We call them "tcpdump capture file(s)" for now, as "tcpdump" is
                   12892: # the main program that uses that format, but there are other programs
                   12893: # that use "libpcap", or that use the same capture file format.)
                   12894: #
                   12895: 0      ubelong         0xa1b2c3d4      tcpdump capture file (big-endian)
                   12896: >4     beshort         x               - version %d
                   12897: >6     beshort         x               \b.%d
                   12898: >20    belong          0               (No link-layer encapsulation
                   12899: >20    belong          1               (Ethernet
                   12900: >20    belong          2               (3Mb Ethernet
                   12901: >20    belong          3               (AX.25
                   12902: >20    belong          4               (ProNET
                   12903: >20    belong          5               (CHAOS
                   12904: >20    belong          6               (Token Ring
                   12905: >20    belong          7               (BSD ARCNET
                   12906: >20    belong          8               (SLIP
                   12907: >20    belong          9               (PPP
                   12908: >20    belong          10              (FDDI
                   12909: >20    belong          11              (RFC 1483 ATM
                   12910: >20    belong          12              (raw IP
                   12911: >20    belong          13              (BSD/OS SLIP
                   12912: >20    belong          14              (BSD/OS PPP
                   12913: >20    belong          19              (Linux ATM Classical IP
                   12914: >20    belong          50              (PPP or Cisco HDLC
                   12915: >20    belong          51              (PPP-over-Ethernet
                   12916: >20    belong          99              (Symantec Enterprise Firewall
                   12917: >20    belong          100             (RFC 1483 ATM
                   12918: >20    belong          101             (raw IP
                   12919: >20    belong          102             (BSD/OS SLIP
                   12920: >20    belong          103             (BSD/OS PPP
                   12921: >20    belong          104             (BSD/OS Cisco HDLC
                   12922: >20    belong          105             (802.11
                   12923: >20    belong          106             (Linux Classical IP over ATM
                   12924: >20    belong          107             (Frame Relay
                   12925: >20    belong          108             (OpenBSD loopback
                   12926: >20    belong          109             (OpenBSD IPsec encrypted
                   12927: >20    belong          112             (Cisco HDLC
                   12928: >20    belong          113             (Linux "cooked"
                   12929: >20    belong          114             (LocalTalk
                   12930: >20    belong          117             (OpenBSD PFLOG
                   12931: >20    belong          119             (802.11 with Prism header
                   12932: >20    belong          122             (RFC 2625 IP over Fibre Channel
                   12933: >20    belong          123             (SunATM
                   12934: >20    belong          127             (802.11 with radiotap header
                   12935: >20    belong          129             (Linux ARCNET
                   12936: >20    belong          138             (Apple IP over IEEE 1394
                   12937: >20    belong          140             (MTP2
                   12938: >20    belong          141             (MTP3
                   12939: >20    belong          143             (DOCSIS
                   12940: >20    belong          144             (IrDA
                   12941: >20    belong          147             (Private use 0
                   12942: >20    belong          148             (Private use 1
                   12943: >20    belong          149             (Private use 2
                   12944: >20    belong          150             (Private use 3
                   12945: >20    belong          151             (Private use 4
                   12946: >20    belong          152             (Private use 5
                   12947: >20    belong          153             (Private use 6
                   12948: >20    belong          154             (Private use 7
                   12949: >20    belong          155             (Private use 8
                   12950: >20    belong          156             (Private use 9
                   12951: >20    belong          157             (Private use 10
                   12952: >20    belong          158             (Private use 11
                   12953: >20    belong          159             (Private use 12
                   12954: >20    belong          160             (Private use 13
                   12955: >20    belong          161             (Private use 14
                   12956: >20    belong          162             (Private use 15
                   12957: >20    belong          163             (802.11 with AVS header
                   12958: >16    belong          x               \b, capture length %d)
                   12959: 0      ulelong         0xa1b2c3d4      tcpdump capture file (little-endian)
                   12960: >4     leshort         x               - version %d
                   12961: >6     leshort         x               \b.%d
                   12962: >20    lelong          0               (No link-layer encapsulation
                   12963: >20    lelong          1               (Ethernet
                   12964: >20    lelong          2               (3Mb Ethernet
                   12965: >20    lelong          3               (AX.25
                   12966: >20    lelong          4               (ProNET
                   12967: >20    lelong          5               (CHAOS
                   12968: >20    lelong          6               (Token Ring
                   12969: >20    lelong          7               (ARCNET
                   12970: >20    lelong          8               (SLIP
                   12971: >20    lelong          9               (PPP
                   12972: >20    lelong          10              (FDDI
                   12973: >20    lelong          11              (RFC 1483 ATM
                   12974: >20    lelong          12              (raw IP
                   12975: >20    lelong          13              (BSD/OS SLIP
                   12976: >20    lelong          14              (BSD/OS PPP
                   12977: >20    lelong          19              (Linux ATM Classical IP
                   12978: >20    lelong          50              (PPP or Cisco HDLC
                   12979: >20    lelong          51              (PPP-over-Ethernet
                   12980: >20    lelong          99              (Symantec Enterprise Firewall
                   12981: >20    lelong          100             (RFC 1483 ATM
                   12982: >20    lelong          101             (raw IP
                   12983: >20    lelong          102             (BSD/OS SLIP
                   12984: >20    lelong          103             (BSD/OS PPP
                   12985: >20    lelong          104             (BSD/OS Cisco HDLC
                   12986: >20    lelong          105             (802.11
                   12987: >20    lelong          106             (Linux Classical IP over ATM
                   12988: >20    lelong          107             (Frame Relay
                   12989: >20    lelong          108             (OpenBSD loopback
                   12990: >20    lelong          109             (OpenBSD IPsec encrypted
                   12991: >20    lelong          112             (Cisco HDLC
                   12992: >20    lelong          113             (Linux "cooked"
                   12993: >20    lelong          114             (LocalTalk
                   12994: >20    lelong          117             (OpenBSD PFLOG
                   12995: >20    lelong          119             (802.11 with Prism header
                   12996: >20    lelong          122             (RFC 2625 IP over Fibre Channel
                   12997: >20    lelong          123             (SunATM
                   12998: >20    lelong          127             (802.11 with radiotap header
                   12999: >20    lelong          129             (Linux ARCNET
                   13000: >20    lelong          138             (Apple IP over IEEE 1394
                   13001: >20    lelong          140             (MTP2
                   13002: >20    lelong          141             (MTP3
                   13003: >20    lelong          143             (DOCSIS
                   13004: >20    lelong          144             (IrDA
                   13005: >20    lelong          147             (Private use 0
                   13006: >20    lelong          148             (Private use 1
                   13007: >20    lelong          149             (Private use 2
                   13008: >20    lelong          150             (Private use 3
                   13009: >20    lelong          151             (Private use 4
                   13010: >20    lelong          152             (Private use 5
                   13011: >20    lelong          153             (Private use 6
                   13012: >20    lelong          154             (Private use 7
                   13013: >20    lelong          155             (Private use 8
                   13014: >20    lelong          156             (Private use 9
                   13015: >20    lelong          157             (Private use 10
                   13016: >20    lelong          158             (Private use 11
                   13017: >20    lelong          159             (Private use 12
                   13018: >20    lelong          160             (Private use 13
                   13019: >20    lelong          161             (Private use 14
                   13020: >20    lelong          162             (Private use 15
                   13021: >20    lelong          163             (802.11 with AVS header
                   13022: >16    lelong          x               \b, capture length %d)
                   13023: 
                   13024: #
                   13025: # "libpcap"-with-Alexey-Kuznetsov's-patches capture files.
                   13026: # (We call them "tcpdump capture file(s)" for now, as "tcpdump" is
                   13027: # the main program that uses that format, but there are other programs
                   13028: # that use "libpcap", or that use the same capture file format.)
                   13029: #
                   13030: 0      ubelong         0xa1b2cd34      extended tcpdump capture file (big-endian)
                   13031: >4     beshort         x               - version %d
                   13032: >6     beshort         x               \b.%d
                   13033: >20    belong          0               (No link-layer encapsulation
                   13034: >20    belong          1               (Ethernet
                   13035: >20    belong          2               (3Mb Ethernet
                   13036: >20    belong          3               (AX.25
                   13037: >20    belong          4               (ProNET
                   13038: >20    belong          5               (CHAOS
                   13039: >20    belong          6               (Token Ring
                   13040: >20    belong          7               (ARCNET
                   13041: >20    belong          8               (SLIP
                   13042: >20    belong          9               (PPP
                   13043: >20    belong          10              (FDDI
                   13044: >20    belong          11              (RFC 1483 ATM
                   13045: >20    belong          12              (raw IP
                   13046: >20    belong          13              (BSD/OS SLIP
                   13047: >20    belong          14              (BSD/OS PPP
                   13048: >16    belong          x               \b, capture length %d)
                   13049: 0      ulelong         0xa1b2cd34      extended tcpdump capture file (little-endian)
                   13050: >4     leshort         x               - version %d
                   13051: >6     leshort         x               \b.%d
                   13052: >20    lelong          0               (No link-layer encapsulation
                   13053: >20    lelong          1               (Ethernet
                   13054: >20    lelong          2               (3Mb Ethernet
                   13055: >20    lelong          3               (AX.25
                   13056: >20    lelong          4               (ProNET
                   13057: >20    lelong          5               (CHAOS
                   13058: >20    lelong          6               (Token Ring
                   13059: >20    lelong          7               (ARCNET
                   13060: >20    lelong          8               (SLIP
                   13061: >20    lelong          9               (PPP
                   13062: >20    lelong          10              (FDDI
                   13063: >20    lelong          11              (RFC 1483 ATM
                   13064: >20    lelong          12              (raw IP
                   13065: >20    lelong          13              (BSD/OS SLIP
                   13066: >20    lelong          14              (BSD/OS PPP
                   13067: >16    lelong          x               \b, capture length %d)
                   13068: 
                   13069: #
                   13070: # AIX "iptrace" capture files.
                   13071: #
                   13072: 0      string          iptrace\ 1.0    "iptrace" capture file
                   13073: 0      string          iptrace\ 2.0    "iptrace" capture file
                   13074: 
                   13075: #
                   13076: # Novell LANalyzer capture files.
                   13077: #
                   13078: 0      leshort         0x1001          LANalyzer capture file
                   13079: 0      leshort         0x1007          LANalyzer capture file
                   13080: 
                   13081: #
                   13082: # HP-UX "nettl" capture files.
                   13083: #
                   13084: 0      string          \x54\x52\x00\x64\x00    "nettl" capture file
                   13085: 
                   13086: #
                   13087: # RADCOM WAN/LAN Analyzer capture files.
                   13088: #
                   13089: 0      string          \x42\xd2\x00\x34\x12\x66\x22\x88        RADCOM WAN/LAN Analyzer capture file
                   13090: 
                   13091: #
                   13092: # NetStumbler log files.  Not really packets, per se, but about as
                   13093: # close as you can get.  These are log files from NetStumbler, a
                   13094: # Windows program, that scans for 802.11b networks.
                   13095: #
                   13096: 0      string          NetS            NetStumbler log file
                   13097: >8     lelong          x               \b, %d stations found
                   13098: 
                   13099: #
                   13100: # EtherPeek/AiroPeek "version 9" capture files.
                   13101: #
                   13102: 0      string          \177ver         EtherPeek/AiroPeek capture file
                   13103: 
                   13104: #
                   13105: # Visual Networks traffic capture files.
                   13106: #
                   13107: 0      string          \x05VNF         Visual Networks traffic capture file
                   13108: 
                   13109: #
                   13110: # Network Instruments Observer capture files.
                   13111: #
                   13112: 0      string          ObserverPktBuffe        Network Instruments Observer capture file
                   13113: 
                   13114: #
                   13115: # Files from Accellent Group's 5View products.
                   13116: #
                   13117: 0      string          \xaa\xaa\xaa\xaa        5View capture file
                   13118: #------------------------------------------------------------------------------
                   13119: # softquad:  file(1) magic for SoftQuad Publishing Software
                   13120: #
                   13121: # Author/Editor and RulesBuilder
                   13122: #
                   13123: # XXX - byte order?
                   13124: #
                   13125: 0      string          \<!SQ\ DTD>     Compiled SGML rules file
                   13126: >9     string          >\0              Type %s
                   13127: 0      string          \<!SQ\ A/E>     A/E SGML Document binary
                   13128: >9     string          >\0              Type %s
                   13129: 0      string          \<!SQ\ STS>     A/E SGML binary styles file
                   13130: >9     string          >\0              Type %s
                   13131: 0      short           0xc0de          Compiled PSI (v1) data
                   13132: 0      short           0xc0da          Compiled PSI (v2) data
                   13133: >3     string          >\0             (%s)
                   13134: # Binary sqtroff font/desc files...
                   13135: 0      short           0125252         SoftQuad DESC or font file binary
                   13136: >2     short           >0              - version %d
                   13137: # Bitmaps...
                   13138: 0      search/1        SQ\ BITMAP1     SoftQuad Raster Format text
                   13139: #0     string          SQ\ BITMAP2     SoftQuad Raster Format data
                   13140: # sqtroff intermediate language (replacement for ditroff int. lang.)
                   13141: 0      string          X\              SoftQuad troff Context intermediate
                   13142: >2     string          495             for AT&T 495 laser printer
                   13143: >2     string          hp              for Hewlett-Packard LaserJet
                   13144: >2     string          impr            for IMAGEN imPRESS
                   13145: >2     string          ps              for PostScript
                   13146: 
                   13147: # From: Michael Piefel <piefel@debian.org>
                   13148: # sqtroff intermediate language (replacement for ditroff int. lang.)
                   13149: 0      string          X\ 495          SoftQuad troff Context intermediate for AT&T 495 laser printer
                   13150: 0      string          X\ hp           SoftQuad troff Context intermediate for HP LaserJet
                   13151: 0      string          X\ impr         SoftQuad troff Context intermediate for IMAGEN imPRESS
                   13152: 0      string          X\ ps           SoftQuad troff Context intermediate for PostScript
                   13153: 
                   13154: #------------------------------------------------------------------------------
                   13155: # spec:  file(1) magic for SPEC raw results (*.raw, *.rsf)
                   13156: #
                   13157: # Cloyce D. Spradling <cloyce@headgear.org>
                   13158: 
                   13159: 0      string  spec                    SPEC
                   13160: >4     string  .cpu                    CPU
                   13161: >>8    string  <:                      \b%.4s
                   13162: >>12   string  .                       raw result text
                   13163: 
                   13164: 17     string  version=SPECjbb         SPECjbb
                   13165: >32    string  <:                      \b%.4s
                   13166: >>37   string  <:                      v%.4s raw result text
                   13167: 
                   13168: 0      string  BEGIN\040SPECWEB        SPECweb
                   13169: >13    string  <:                      \b%.2s
                   13170: >>15   string  _SSL                    \b_SSL
                   13171: >>>20  string  <:                      v%.4s raw result text
                   13172: >>16   string  <:                      v%.4s raw result text
                   13173: 
                   13174: #------------------------------------------------------------------------------
                   13175: # spectrum:  file(1) magic for Spectrum emulator files.
                   13176: #
                   13177: # John Elliott <jce@seasip.demon.co.uk>
                   13178: 
                   13179: #
                   13180: # Spectrum +3DOS header
                   13181: #
                   13182: 0       string          PLUS3DOS\032    Spectrum +3 data
                   13183: >15     byte            0               - BASIC program
                   13184: >15     byte            1               - number array
                   13185: >15     byte            2               - character array
                   13186: >15     byte            3               - memory block
                   13187: >>16    belong          0x001B0040      (screen)
                   13188: >15     byte            4               - Tasword document
                   13189: >15     string          TAPEFILE        - ZXT tapefile
                   13190: #
                   13191: # Tape file. This assumes the .TAP starts with a Spectrum-format header,
                   13192: # which nearly all will.
                   13193: #
                   13194: 0       string          \023\000\000    Spectrum .TAP data
                   13195: >4      string          x               "%-10.10s"
                   13196: >3      byte            0               - BASIC program
                   13197: >3      byte            1               - number array
                   13198: >3      byte            2               - character array
                   13199: >3      byte            3               - memory block
                   13200: >>14    belong          0x001B0040      (screen)
                   13201: 
                   13202: # The following three blocks are from pak21-spectrum@srcf.ucam.org
                   13203: # TZX tape images
                   13204: 0      string          ZXTape!\x1a     Spectrum .TZX data
                   13205: >8     byte            x               version %d
                   13206: >9     byte            x               \b.%d
                   13207: 
                   13208: # RZX input recording files
                   13209: 0      string          RZX!            Spectrum .RZX data
                   13210: >4     byte            x               version %d
                   13211: >5     byte            x               \b.%d
                   13212: 
                   13213: # Floppy disk images
                   13214: 0      string          MV\ -\ CPCEMU\ Disk-Fil Amstrad/Spectrum .DSK data
                   13215: 0      string          MV\ -\ CPC\ format\ Dis Amstrad/Spectrum DU54 .DSK data
                   13216: 0      string          EXTENDED\ CPC\ DSK\ Fil Amstrad/Spectrum Extended .DSK data
                   13217: 0      string          SINCLAIR        Spectrum .SCL Betadisk image
                   13218: 
                   13219: # Hard disk images
                   13220: 0      string          RS-IDE\x1a      Spectrum .HDF hard disk image
                   13221: >7     byte            x               \b, version 0x%02x
                   13222: 
                   13223: #------------------------------------------------------------------------------
                   13224: # sql:  file(1) magic for SQL files
                   13225: #
                   13226: # From: "Marty Leisner" <mleisner@eng.mc.xerox.com>
                   13227: # Recognize some MySQL files.
                   13228: #
                   13229: 0      beshort                 0xfe01          MySQL table definition file
                   13230: >2     byte                    x               Version %d
                   13231: 0      belong&0xffffff00       0xfefe0300      MySQL MISAM index file
                   13232: >3     byte                    x               Version %d
                   13233: 0      belong&0xffffff00       0xfefe0700      MySQL MISAM compressed data file
                   13234: >3     byte                    x               Version %d
                   13235: 0      belong&0xffffff00       0xfefe0500      MySQL ISAM index file
                   13236: >3     byte                    x               Version %d
                   13237: 0      belong&0xffffff00       0xfefe0600      MySQL ISAM compressed data file
                   13238: >3     byte                    x               Version %d
                   13239: 0      string                  \376bin         MySQL replication log
                   13240: 
                   13241: #------------------------------------------------------------------------------
                   13242: # iRiver H Series database file 
                   13243: # From Ken Guest <ken@linux.ie>
                   13244: # As observed from iRivNavi.iDB and unencoded firmware
                   13245: #
                   13246: 0   string             iRivDB  iRiver Database file
                   13247: >11  string    >\0     Version %s
                   13248: >39  string            iHP-100 [H Series]
                   13249: 
                   13250: #------------------------------------------------------------------------------
                   13251: # SQLite database files
                   13252: # Ken Guest <ken@linux.ie>, Ty Sarna, Zack Weinberg
                   13253: #
                   13254: # Version 1 used GDBM internally; its files cannot be distinguished
                   13255: # from other GDBM files.
                   13256: #
                   13257: # Version 2 used this format:
                   13258: 0      string  **\ This\ file\ contains\ an\ SQLite  SQLite 2.x database
                   13259: 
                   13260: # Version 3 of SQLite allows applications to embed their own "user version"
                   13261: # number in the database.  Detect this and distinguish those files.
                   13262: 
                   13263: 0   string  SQLite\ format\ 3
                   13264: >60 string  _MTN               Monotone source repository
                   13265: >60 belong  !0                 SQLite 3.x database, user version %u
                   13266: >60 belong  0                  SQLite 3.x database
                   13267: 
                   13268: #------------------------------------------------------------------------------
                   13269: # sun:  file(1) magic for Sun machines
                   13270: #
                   13271: # Values for big-endian Sun (MC680x0, SPARC) binaries on pre-5.x
                   13272: # releases.  (5.x uses ELF.)
                   13273: #
                   13274: 0      belong&077777777        0600413         sparc demand paged
                   13275: >0     byte            &0x80
                   13276: >>20   belong          <4096           shared library
                   13277: >>20   belong          =4096           dynamically linked executable
                   13278: >>20   belong          >4096           dynamically linked executable
                   13279: >0     byte            ^0x80           executable
                   13280: >16    belong          >0              not stripped
                   13281: 
                   13282: 0      belong&077777777        0600410         sparc pure
                   13283: >0     byte            &0x80           dynamically linked executable
                   13284: >0     byte            ^0x80           executable
                   13285: >16    belong          >0              not stripped
                   13286: 
                   13287: 0      belong&077777777        0600407         sparc
                   13288: >0     byte            &0x80           dynamically linked executable
                   13289: >0     byte            ^0x80           executable
                   13290: >16    belong          >0              not stripped
                   13291: 
                   13292: 0      belong&077777777        0400413         mc68020 demand paged
                   13293: >0     byte            &0x80
                   13294: >>20   belong          <4096           shared library
                   13295: >>20   belong          =4096           dynamically linked executable
                   13296: >>20   belong          >4096           dynamically linked executable
                   13297: >0     byte            ^0x80           executable
                   13298: >16    belong          >0              not stripped
                   13299: 
                   13300: 0      belong&077777777        0400410         mc68020 pure
                   13301: >0     byte            &0x80           dynamically linked executable
                   13302: >0     byte            ^0x80           executable
                   13303: >16    belong          >0              not stripped
                   13304: 
                   13305: 0      belong&077777777        0400407         mc68020
                   13306: >0     byte            &0x80           dynamically linked executable
                   13307: >0     byte            ^0x80           executable
                   13308: >16    belong          >0              not stripped
                   13309: 
                   13310: 0      belong&077777777        0200413         mc68010 demand paged
                   13311: >0     byte            &0x80
                   13312: >>20   belong          <4096           shared library
                   13313: >>20   belong          =4096           dynamically linked executable
                   13314: >>20   belong          >4096           dynamically linked executable
                   13315: >0     byte            ^0x80           executable
                   13316: >16    belong          >0              not stripped
                   13317: 
                   13318: 0      belong&077777777        0200410         mc68010 pure
                   13319: >0     byte            &0x80           dynamically linked executable
                   13320: >0     byte            ^0x80           executable
                   13321: >16    belong          >0              not stripped
                   13322: 
                   13323: 0      belong&077777777        0200407         mc68010
                   13324: >0     byte            &0x80           dynamically linked executable
                   13325: >0     byte            ^0x80           executable
                   13326: >16    belong          >0              not stripped
                   13327: 
                   13328: # reworked these to avoid anything beginning with zero becoming "old sun-2"
                   13329: 0      belong          0407            old sun-2 executable
                   13330: >16    belong          >0              not stripped
                   13331: 0      belong          0410            old sun-2 pure executable
                   13332: >16    belong          >0              not stripped
                   13333: 0      belong          0413            old sun-2 demand paged executable
                   13334: >16    belong          >0              not stripped
                   13335: 
                   13336: #
                   13337: # Core files.  "SPARC 4.x BCP" means "core file from a SunOS 4.x SPARC
                   13338: # binary executed in compatibility mode under SunOS 5.x".
                   13339: #
                   13340: 0      belong          0x080456        SunOS core file
                   13341: >4     belong          432             (SPARC)
                   13342: >>132  string          >\0             from '%s'
                   13343: >>116  belong          =3              (quit)
                   13344: >>116  belong          =4              (illegal instruction)
                   13345: >>116  belong          =5              (trace trap)
                   13346: >>116  belong          =6              (abort)
                   13347: >>116  belong          =7              (emulator trap)
                   13348: >>116  belong          =8              (arithmetic exception)
                   13349: >>116  belong          =9              (kill)
                   13350: >>116  belong          =10             (bus error)
                   13351: >>116  belong          =11             (segmentation violation)
                   13352: >>116  belong          =12             (bad argument to system call)
                   13353: >>116  belong          =29             (resource lost)
                   13354: >>120  belong          x               (T=%dK,
                   13355: >>124  belong          x               D=%dK,
                   13356: >>128  belong          x               S=%dK)
                   13357: >4     belong          826             (68K)
                   13358: >>128  string          >\0             from '%s'
                   13359: >4     belong          456             (SPARC 4.x BCP)
                   13360: >>152  string          >\0             from '%s'
                   13361: # Sun SunPC
                   13362: 0      long            0xfa33c08e      SunPC 4.0 Hard Disk
                   13363: 0      string          #SUNPC_CONFIG   SunPC 4.0 Properties Values
                   13364: # Sun snoop (see RFC 1761, which describes the capture file format).
                   13365: #
                   13366: 0      string          snoop           Snoop capture file
                   13367: >8     belong          >0              - version %ld
                   13368: >12    belong          0               (IEEE 802.3)
                   13369: >12    belong          1               (IEEE 802.4)
                   13370: >12    belong          2               (IEEE 802.5)
                   13371: >12    belong          3               (IEEE 802.6)
                   13372: >12    belong          4               (Ethernet)
                   13373: >12    belong          5               (HDLC)
                   13374: >12    belong          6               (Character synchronous)
                   13375: >12    belong          7               (IBM channel-to-channel adapter)
                   13376: >12    belong          8               (FDDI)
                   13377: >12    belong          9               (Unknown)
                   13378: 
                   13379: # Microsoft ICM color profile
                   13380: 36     string          acspMSFT        Microsoft ICM Color Profile
                   13381: # Sun KCMS
                   13382: 36     string          acsp            Kodak Color Management System, ICC Profile
                   13383: 
                   13384: #---------------------------------------------------------------------------
                   13385: # The following entries have been tested by Duncan Laurie <duncan@sun.com> (a
                   13386: # lead Sun/Cobalt developer) who agrees that they are good and worthy of
                   13387: # inclusion.
                   13388: 
                   13389: # Boot ROM images for Sun/Cobalt Linux server appliances
                   13390: 0       string  Cobalt\ Networks\ Inc.\nFirmware\ v     Paged COBALT boot rom
                   13391: >38     string x        V%.4s
                   13392: 
                   13393: # New format for Sun/Cobalt boot ROMs is annoying, it stores the version code
                   13394: # at the very end where file(1) can't get it.
                   13395: 0       string CRfs     COBALT boot rom data (Flat boot rom or file system)
                   13396: 
                   13397: 
                   13398: #------------------------------------------------------------------------
                   13399: # sysex: file(1) magic for MIDI sysex files
                   13400: #
                   13401: # 
                   13402: 0      byte                    0xF0            SysEx File -
                   13403: 
                   13404: # North American Group
                   13405: >1     byte                    0x01            Sequential
                   13406: >1     byte                    0x02            IDP
                   13407: >1     byte                    0x03            OctavePlateau
                   13408: >1     byte                    0x04            Moog
                   13409: >1     byte                    0x05            Passport
                   13410: >1     byte                    0x06            Lexicon
                   13411: >1     byte                    0x07            Kurzweil/Future Retro
                   13412: >>3    byte                    0x77            777
                   13413: >>4    byte                    0x00            Bank
                   13414: >>4    byte                    0x01            Song
                   13415: >>5    byte                    0x0f            16
                   13416: >>5    byte                    0x0e            15
                   13417: >>5    byte                    0x0d            14
                   13418: >>5    byte                    0x0c            13
                   13419: >>5    byte                    0x0b            12
                   13420: >>5    byte                    0x0a            11
                   13421: >>5    byte                    0x09            10
                   13422: >>5    byte                    0x08            9
                   13423: >>5    byte                    0x07            8
                   13424: >>5    byte                    0x06            7
                   13425: >>5    byte                    0x05            6
                   13426: >>5    byte                    0x04            5
                   13427: >>5    byte                    0x03            4
                   13428: >>5    byte                    0x02            3
                   13429: >>5    byte                    0x01            2
                   13430: >>5    byte                    0x00            1
                   13431: >>5    byte                    0x10            (ALL)
                   13432: >>2    byte                    x                       \b, Channel %d
                   13433: >1     byte                    0x08            Fender
                   13434: >1     byte                    0x09            Gulbransen
                   13435: >1     byte                    0x0a            AKG
                   13436: >1     byte                    0x0b            Voyce
                   13437: >1     byte                    0x0c            Waveframe
                   13438: >1     byte                    0x0d            ADA
                   13439: >1     byte                    0x0e            Garfield
                   13440: >1     byte                    0x0f            Ensoniq
                   13441: >1     byte                    0x10            Oberheim
                   13442: >>2    byte                    0x06            Matrix 6 series
                   13443: >>3    byte                    0x0A            Dump (All)
                   13444: >>3    byte                    0x01            Dump (Bank)
                   13445: >>4 belong                     0x0002040E              Matrix 1000
                   13446: >>>11 byte                     <2                      User bank %d
                   13447: >>>11 byte                     >1                      Preset bank %d
                   13448: >1     byte                    0x11            Apple
                   13449: >1     byte                    0x12            GreyMatter
                   13450: >1     byte                    0x14            PalmTree
                   13451: >1     byte                    0x15            JLCooper
                   13452: >1     byte                    0x16            Lowrey
                   13453: >1     byte                    0x17            AdamsSmith
                   13454: >1     byte                    0x18            E-mu
                   13455: >1     byte                    0x19            Harmony
                   13456: >1     byte                    0x1a            ART
                   13457: >1     byte                    0x1b            Baldwin
                   13458: >1     byte                    0x1c            Eventide
                   13459: >1     byte                    0x1d            Inventronics
                   13460: >1     byte                    0x1f            Clarity
                   13461: 
                   13462: # European Group
                   13463: >1     byte                    0x21            SIEL
                   13464: >1     byte                    0x22            Synthaxe
                   13465: >1     byte                    0x24            Hohner
                   13466: >1     byte                    0x25            Twister
                   13467: >1     byte                    0x26            Solton
                   13468: >1     byte                    0x27            Jellinghaus
                   13469: >1     byte                    0x28            Southworth
                   13470: >1     byte                    0x29            PPG
                   13471: >1     byte                    0x2a            JEN
                   13472: >1     byte                    0x2b            SSL
                   13473: >1     byte                    0x2c            AudioVertrieb
                   13474: 
                   13475: >1     byte                    0x2f            ELKA
                   13476: >>3    byte                    0x09            EK-44
                   13477: 
                   13478: >1     byte                    0x30            Dynacord
                   13479: >1     byte                    0x31            Jomox
                   13480: >1     byte                    0x33            Clavia
                   13481: >1     byte                    0x39            Soundcraft
                   13482: # Some Waldorf info from http://Stromeko.Synth.net/Downloads#WaldorfDocs
                   13483: >1     byte                    0x3e            Waldorf
                   13484: >>2    byte                    0x00            microWave
                   13485: >>2    byte                    0x0E            microwave2 / XT
                   13486: >>2    byte                    0x0F            Q / Q+
                   13487: >>3    byte                    =0                      (default id)
                   13488: >>3 byte                       >0                      (
                   13489: >>>3 byte                      <0x7F           \bdevice %d)
                   13490: >>>3 byte                      =0x7F           \bbroadcast id)
                   13491: >>3    byte                    0x7f            Microwave I
                   13492: >>>4   byte                    0x00            SNDR (Sound Request)
                   13493: >>>4   byte                    0x10            SNDD (Sound Dump)
                   13494: >>>4   byte                    0x20            SNDP (Sound Parameter Change)
                   13495: >>>4   byte                    0x30            SNDQ (Sound Parameter Inquiry)
                   13496: >>>4   byte                    0x70            BOOT (Sound Reserved)
                   13497: >>>4   byte                    0x01            MULR (Multi Request)
                   13498: >>>4   byte                    0x11            MULD (Multi Dump)
                   13499: >>>4   byte                    0x21            MULP (Multi Parameter Change)
                   13500: >>>4   byte                    0x31            MULQ (Multi Parameter Inquiry)
                   13501: >>>4   byte                    0x71            OS (Multi Reserved)
                   13502: >>>4   byte                    0x02            DRMR (Drum Map Request)
                   13503: >>>4   byte                    0x12            DRMD (Drum Map Dump)
                   13504: >>>4   byte                    0x22            DRMP (Drum Map Parameter Change)
                   13505: >>>4   byte                    0x32            DRMQ (Drum Map Parameter Inquiry)
                   13506: >>>4   byte                    0x72            BIN (Drum Map Reserved)
                   13507: >>>4   byte                    0x03            PATR (Sequencer Pattern Request)
                   13508: >>>4   byte                    0x13            PATD (Sequencer Pattern Dump)
                   13509: >>>4   byte                    0x23            PATP (Sequencer Pattern Parameter Change)
                   13510: >>>4   byte                    0x33            PATQ (Sequencer Pattern Parameter Inquiry)
                   13511: >>>4   byte                    0x73            AFM (Sequencer Pattern Reserved)
                   13512: >>>4   byte                    0x04            GLBR (Global Parameter Request)
                   13513: >>>4   byte                    0x14            GLBD (Global Parameter Dump)
                   13514: >>>4   byte                    0x24            GLBP (Global Parameter Parameter Change)
                   13515: >>>4   byte                    0x34            GLBQ (Global Parameter Parameter Inquiry)
                   13516: >>>4   byte                    0x07            MODR (Mode Parameter Request)
                   13517: >>>4   byte                    0x17            MODD (Mode Parameter Dump)
                   13518: >>>4   byte                    0x27            MODP (Mode Parameter Parameter Change)
                   13519: >>>4   byte                    0x37            MODQ (Mode Parameter Parameter Inquiry)
                   13520: >>2    byte                    0x10            microQ
                   13521: >>>4   byte                    0x00            SNDR (Sound Request)
                   13522: >>>4   byte                    0x10            SNDD (Sound Dump)
                   13523: >>>4   byte                    0x20            SNDP (Sound Parameter Change)
                   13524: >>>4   byte                    0x30            SNDQ (Sound Parameter Inquiry)
                   13525: >>>4   byte                    0x70            (Sound Reserved)
                   13526: >>>4   byte                    0x01            MULR (Multi Request)
                   13527: >>>4   byte                    0x11            MULD (Multi Dump)
                   13528: >>>4   byte                    0x21            MULP (Multi Parameter Change)
                   13529: >>>4   byte                    0x31            MULQ (Multi Parameter Inquiry)
                   13530: >>>4   byte                    0x71            OS (Multi Reserved)
                   13531: >>>4   byte                    0x02            DRMR (Drum Map Request)
                   13532: >>>4   byte                    0x12            DRMD (Drum Map Dump)
                   13533: >>>4   byte                    0x22            DRMP (Drum Map Parameter Change)
                   13534: >>>4   byte                    0x32            DRMQ (Drum Map Parameter Inquiry)
                   13535: >>>4   byte                    0x72            BIN (Drum Map Reserved)
                   13536: >>>4   byte                    0x04            GLBR (Global Parameter Request)
                   13537: >>>4   byte                    0x14            GLBD (Global Parameter Dump)
                   13538: >>>4   byte                    0x24            GLBP (Global Parameter Parameter Change)
                   13539: >>>4   byte                    0x34            GLBQ (Global Parameter Parameter Inquiry)
                   13540: >>2    byte                    0x11            rackAttack
                   13541: >>>4   byte                    0x00            SNDR (Sound Parameter Request)
                   13542: >>>4   byte                    0x10            SNDD (Sound Parameter Dump)
                   13543: >>>4   byte                    0x20            SNDP (Sound Parameter Parameter Change)
                   13544: >>>4   byte                    0x30            SNDQ (Sound Parameter Parameter Inquiry)
                   13545: >>>4   byte                    0x01            PRGR (Program Parameter Request)
                   13546: >>>4   byte                    0x11            PRGD (Program Parameter Dump)
                   13547: >>>4   byte                    0x21            PRGP (Program Parameter Parameter Change)
                   13548: >>>4   byte                    0x31            PRGQ (Program Parameter Parameter Inquiry)
                   13549: >>>4   byte                    0x71            OS (Program Parameter Reserved)
                   13550: >>>4   byte                    0x03            PATR (Pattern Parameter Request)
                   13551: >>>4   byte                    0x13            PATD (Pattern Parameter Dump)
                   13552: >>>4   byte                    0x23            PATP (Pattern Parameter Parameter Change)
                   13553: >>>4   byte                    0x33            PATQ (Pattern Parameter Parameter Inquiry)
                   13554: >>>4   byte                    0x04            GLBR (Global Parameter Request)
                   13555: >>>4   byte                    0x14            GLBD (Global Parameter Dump)
                   13556: >>>4   byte                    0x24            GLBP (Global Parameter Parameter Change)
                   13557: >>>4   byte                    0x34            GLBQ (Global Parameter Parameter Inquiry)
                   13558: >>>4   byte                    0x05            EFXR (FX Parameter Request)
                   13559: >>>4   byte                    0x15            EFXD (FX Parameter Dump)
                   13560: >>>4   byte                    0x25            EFXP (FX Parameter Parameter Change)
                   13561: >>>4   byte                    0x35            EFXQ (FX Parameter Parameter Inquiry)
                   13562: >>>4   byte                    0x07            MODR (Mode Command Request)
                   13563: >>>4   byte                    0x17            MODD (Mode Command Dump)
                   13564: >>>4   byte                    0x27            MODP (Mode Command Parameter Change)
                   13565: >>>4   byte                    0x37            MODQ (Mode Command Parameter Inquiry)
                   13566: >>2    byte                    0x03            Wave
                   13567: >>>4   byte                    0x00            SBPR (Soundprogram)
                   13568: >>>4   byte                    0x01            SAPR (Performance)
                   13569: >>>4   byte                    0x02            SWAVE (Wave)
                   13570: >>>4   byte                    0x03            SWTBL (Wave control table)
                   13571: >>>4   byte                    0x04            SVT (Velocity Curve)
                   13572: >>>4   byte                    0x05            STT (Tuning Table)
                   13573: >>>4   byte                    0x06            SGLB (Global Parameters)
                   13574: >>>4   byte                    0x07            SARRMAP (Performance Program Change Map)
                   13575: >>>4   byte                    0x08            SBPRMAP (Sound Program Change Map)
                   13576: >>>4   byte                    0x09            SBPRPAR (Sound Parameter)
                   13577: >>>4   byte                    0x0A            SARRPAR (Performance Parameter)
                   13578: >>>4   byte                    0x0B            SINSPAR (Instrument/External Parameter)
                   13579: >>>4   byte                    0x0F            SBULK (Bulk Switch on/off)
                   13580: 
                   13581: # Japanese Group
                   13582: >1     byte                    0x40            Kawai
                   13583: >>3    byte                    0x20            K1
                   13584: >>3    byte                    0x22            K4
                   13585: 
                   13586: >1     byte                    0x41            Roland
                   13587: >>3    byte                    0x14            D-50
                   13588: >>3    byte                    0x2b            U-220
                   13589: >>3    byte                    0x02            TR-707
                   13590: 
                   13591: >1     byte                    0x42            Korg
                   13592: >>3    byte                    0x19            M1
                   13593: 
                   13594: >1     byte                    0x43            Yamaha
                   13595: >1     byte                    0x44            Casio
                   13596: >1     byte                    0x46            Kamiya
                   13597: >1     byte                    0x47            Akai
                   13598: >1     byte                    0x48            Victor
                   13599: >1     byte                    0x49            Mesosha
                   13600: >1     byte                    0x4b            Fujitsu
                   13601: >1     byte                    0x4c            Sony
                   13602: >1     byte                    0x4e            Teac
                   13603: >1     byte                    0x50            Matsushita
                   13604: >1     byte                    0x51            Fostex
                   13605: >1     byte                    0x52            Zoom
                   13606: >1     byte                    0x54            Matsushita
                   13607: >1     byte                    0x57            Acoustic tech. lab.
                   13608: 
                   13609: >1     belong&0xffffff00       0x00007400      Ta Horng
                   13610: >1     belong&0xffffff00       0x00007500      e-Tek
                   13611: >1     belong&0xffffff00       0x00007600      E-Voice
                   13612: >1     belong&0xffffff00       0x00007700      Midisoft
                   13613: >1     belong&0xffffff00       0x00007800      Q-Sound
                   13614: >1     belong&0xffffff00       0x00007900      Westrex
                   13615: >1     belong&0xffffff00       0x00007a00      Nvidia*
                   13616: >1     belong&0xffffff00       0x00007b00      ESS
                   13617: >1     belong&0xffffff00       0x00007c00      Mediatrix
                   13618: >1     belong&0xffffff00       0x00007d00      Brooktree
                   13619: >1     belong&0xffffff00       0x00007e00      Otari
                   13620: >1     belong&0xffffff00       0x00007f00      Key Electronics
                   13621: >1     belong&0xffffff00       0x00010000      Shure
                   13622: >1     belong&0xffffff00       0x00010100      AuraSound
                   13623: >1     belong&0xffffff00       0x00010200      Crystal
                   13624: >1     belong&0xffffff00       0x00010300      Rockwell
                   13625: >1     belong&0xffffff00       0x00010400      Silicon Graphics
                   13626: >1     belong&0xffffff00       0x00010500      Midiman
                   13627: >1     belong&0xffffff00       0x00010600      PreSonus
                   13628: >1     belong&0xffffff00       0x00010800      Topaz
                   13629: >1     belong&0xffffff00       0x00010900      Cast Lightning
                   13630: >1     belong&0xffffff00       0x00010a00      Microsoft
                   13631: >1     belong&0xffffff00       0x00010b00      Sonic Foundry
                   13632: >1     belong&0xffffff00       0x00010c00      Line 6
                   13633: >1     belong&0xffffff00       0x00010d00      Beatnik Inc.
                   13634: >1     belong&0xffffff00       0x00010e00      Van Koerving
                   13635: >1     belong&0xffffff00       0x00010f00      Altech Systems
                   13636: >1     belong&0xffffff00       0x00011000      S & S Research
                   13637: >1     belong&0xffffff00       0x00011100      VLSI Technology
                   13638: >1     belong&0xffffff00       0x00011200      Chromatic
                   13639: >1     belong&0xffffff00       0x00011300      Sapphire
                   13640: >1     belong&0xffffff00       0x00011400      IDRC
                   13641: >1     belong&0xffffff00       0x00011500      Justonic Tuning
                   13642: >1     belong&0xffffff00       0x00011600      TorComp
                   13643: >1     belong&0xffffff00       0x00011700      Newtek Inc.
                   13644: >1     belong&0xffffff00       0x00011800      Sound Sculpture
                   13645: >1     belong&0xffffff00       0x00011900      Walker Technical
                   13646: >1     belong&0xffffff00       0x00011a00      Digital Harmony
                   13647: >1     belong&0xffffff00       0x00011b00      InVision
                   13648: >1     belong&0xffffff00       0x00011c00      T-Square
                   13649: >1     belong&0xffffff00       0x00011d00      Nemesys
                   13650: >1     belong&0xffffff00       0x00011e00      DBX
                   13651: >1     belong&0xffffff00       0x00011f00      Syndyne
                   13652: >1     belong&0xffffff00       0x00012000      Bitheadz        
                   13653: >1     belong&0xffffff00       0x00012100      Cakewalk
                   13654: >1     belong&0xffffff00       0x00012200      Staccato
                   13655: >1     belong&0xffffff00       0x00012300      National Semicon.
                   13656: >1     belong&0xffffff00       0x00012400      Boom Theory
                   13657: >1     belong&0xffffff00       0x00012500      Virtual DSP Corp
                   13658: >1     belong&0xffffff00       0x00012600      Antares
                   13659: >1     belong&0xffffff00       0x00012700      Angel Software
                   13660: >1     belong&0xffffff00       0x00012800      St Louis Music
                   13661: >1     belong&0xffffff00       0x00012900      Lyrrus dba G-VOX
                   13662: >1     belong&0xffffff00       0x00012a00      Ashley Audio
                   13663: >1     belong&0xffffff00       0x00012b00      Vari-Lite
                   13664: >1     belong&0xffffff00       0x00012c00      Summit Audio
                   13665: >1     belong&0xffffff00       0x00012d00      Aureal Semicon.
                   13666: >1     belong&0xffffff00       0x00012e00      SeaSound
                   13667: >1     belong&0xffffff00       0x00012f00      U.S. Robotics
                   13668: >1     belong&0xffffff00       0x00013000      Aurisis
                   13669: >1     belong&0xffffff00       0x00013100      Nearfield Multimedia
                   13670: >1     belong&0xffffff00       0x00013200      FM7 Inc.
                   13671: >1     belong&0xffffff00       0x00013300      Swivel Systems
                   13672: >1     belong&0xffffff00       0x00013400      Hyperactive
                   13673: >1     belong&0xffffff00       0x00013500      MidiLite
                   13674: >1     belong&0xffffff00       0x00013600      Radical
                   13675: >1     belong&0xffffff00       0x00013700      Roger Linn
                   13676: >1     belong&0xffffff00       0x00013800      Helicon
                   13677: >1     belong&0xffffff00       0x00013900      Event
                   13678: >1     belong&0xffffff00       0x00013a00      Sonic Network
                   13679: >1     belong&0xffffff00       0x00013b00      Realtime Music
                   13680: >1     belong&0xffffff00       0x00013c00      Apogee Digital
                   13681: 
                   13682: >1     belong&0xffffff00       0x00202b00      Medeli Electronics
                   13683: >1     belong&0xffffff00       0x00202c00      Charlie Lab
                   13684: >1     belong&0xffffff00       0x00202d00      Blue Chip Music
                   13685: >1     belong&0xffffff00       0x00202e00      BEE OH Corp
                   13686: >1     belong&0xffffff00       0x00202f00      LG Semicon America
                   13687: >1     belong&0xffffff00       0x00203000      TESI
                   13688: >1     belong&0xffffff00       0x00203100      EMAGIC
                   13689: >1     belong&0xffffff00       0x00203200      Behringer
                   13690: >1     belong&0xffffff00       0x00203300      Access Music
                   13691: >1     belong&0xffffff00       0x00203400      Synoptic
                   13692: >1     belong&0xffffff00       0x00203500      Hanmesoft Corp
                   13693: >1     belong&0xffffff00       0x00203600      Terratec
                   13694: >1     belong&0xffffff00       0x00203700      Proel SpA
                   13695: >1     belong&0xffffff00       0x00203800      IBK MIDI
                   13696: >1     belong&0xffffff00       0x00203900      IRCAM
                   13697: >1     belong&0xffffff00       0x00203a00      Propellerhead Software
                   13698: >1     belong&0xffffff00       0x00203b00      Red Sound Systems
                   13699: >1     belong&0xffffff00       0x00203c00      Electron ESI AB
                   13700: >1     belong&0xffffff00       0x00203d00      Sintefex Audio
                   13701: >1     belong&0xffffff00       0x00203e00      Music and More
                   13702: >1     belong&0xffffff00       0x00203f00      Amsaro
                   13703: >1     belong&0xffffff00       0x00204000      CDS Advanced Technology
                   13704: >1     belong&0xffffff00       0x00204100      Touched by Sound
                   13705: >1     belong&0xffffff00       0x00204200      DSP Arts
                   13706: >1     belong&0xffffff00       0x00204300      Phil Rees Music
                   13707: >1     belong&0xffffff00       0x00204400      Stamer Musikanlagen GmbH
                   13708: >1     belong&0xffffff00       0x00204500      Soundart
                   13709: >1     belong&0xffffff00       0x00204600      C-Mexx Software
                   13710: >1     belong&0xffffff00       0x00204700      Klavis Tech.
                   13711: >1     belong&0xffffff00       0x00204800      Noteheads AB
                   13712: 
                   13713: 0      string                  T707            Roland TR-707 Data
                   13714: #------------------------------------------------------------------------------
                   13715: # teapot:  file(1) magic for "teapot" spreadsheet
                   13716: #
                   13717: 0       string          #!teapot\012xdr      teapot work sheet (XDR format)
                   13718: 
                   13719: #------------------------------------------------------------------------------
                   13720: # terminfo:  file(1) magic for terminfo
                   13721: #
                   13722: # XXX - byte order for screen images?
                   13723: #
                   13724: 0      string          \032\001        Compiled terminfo entry
                   13725: 0      short           0433            Curses screen image
                   13726: 0      short           0434            Curses screen image
                   13727: #------------------------------------------------------------------------------
                   13728: # tex:  file(1) magic for TeX files
                   13729: #
                   13730: # XXX - needs byte-endian stuff (big-endian and little-endian DVI?)
                   13731: #
                   13732: # From <conklin@talisman.kaleida.com>
                   13733: 
                   13734: # Although we may know the offset of certain text fields in TeX DVI
                   13735: # and font files, we can't use them reliably because they are not
                   13736: # zero terminated. [but we do anyway, christos]
                   13737: 0      string          \367\002        TeX DVI file
                   13738: !:mime application/x-dvi
                   13739: >16    string          >\0             (%s)
                   13740: 0      string          \367\203        TeX generic font data
                   13741: 0      string          \367\131        TeX packed font data
                   13742: >3     string          >\0             (%s)
                   13743: 0      string          \367\312        TeX virtual font data
                   13744: 0      search/1        This\ is\ TeX,  TeX transcript text
                   13745: 0      search/1        This\ is\ METAFONT,     METAFONT transcript text
                   13746: 
                   13747: # There is no way to detect TeX Font Metric (*.tfm) files without
                   13748: # breaking them apart and reading the data.  The following patterns
                   13749: # match most *.tfm files generated by METAFONT or afm2tfm.
                   13750: 2      string          \000\021        TeX font metric data
                   13751: !:mime application/x-tex-tfm
                   13752: >33    string          >\0             (%s)
                   13753: 2      string          \000\022        TeX font metric data
                   13754: !:mime application/x-tex-tfm
                   13755: >33    string          >\0             (%s)
                   13756: 
                   13757: # Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com)
                   13758: 0      search/1        \\input\ texinfo        Texinfo source text
                   13759: !:mime text/x-texinfo
                   13760: 0      search/1        This\ is\ Info\ file    GNU Info text
                   13761: !:mime text/x-info
                   13762: 
                   13763: # TeX documents, from Daniel Quinlan (quinlan@yggdrasil.com)
                   13764: 0      search/400      \\input         TeX document text
                   13765: !:mime text/x-tex
                   13766: 0      search/400      \\section       LaTeX document text
                   13767: !:mime text/x-tex
                   13768: 0      search/400      \\setlength     LaTeX document text
                   13769: !:mime text/x-tex
                   13770: 0      search/400      \\documentstyle LaTeX document text
                   13771: !:mime text/x-tex
                   13772: 0      search/400      \\chapter       LaTeX document text
                   13773: !:mime text/x-tex
                   13774: 0      search/400      \\documentclass LaTeX 2e document text
                   13775: !:mime text/x-tex
                   13776: 0      search/400      \\relax         LaTeX auxiliary file
                   13777: !:mime text/x-tex
                   13778: 0      search/400      \\contentsline  LaTeX table of contents
                   13779: !:mime text/x-tex
                   13780: 0      search/400      %\ -*-latex-*-  LaTeX document text
                   13781: !:mime text/x-tex
                   13782: 
                   13783: # Tex document, from Hendrik Scholz <hendrik@scholz.net>
                   13784: 0      search/1        \\ifx           TeX document text
                   13785: 
                   13786: # Index and glossary files
                   13787: 0      search/400      \\indexentry    LaTeX raw index file
                   13788: 0      search/400      \\begin{theindex}       LaTeX sorted index
                   13789: 0      search/400      \\glossaryentry LaTeX raw glossary
                   13790: 0      search/400      \\begin{theglossary}    LaTeX sorted glossary
                   13791: 0      search/400      This\ is\ makeindex     Makeindex log file
                   13792: 
                   13793: # End of TeX
                   13794: 
                   13795: #------------------------------------------------------------------------------
                   13796: # file(1) magic for BibTex text files
                   13797: # From Hendrik Scholz <hendrik@scholz.net>
                   13798: 
                   13799: 0      search/1/c      @article{       BibTeX text file
                   13800: 0      search/1/c      @book{          BibTeX text file
                   13801: 0      search/1/c      @inbook{        BibTeX text file
                   13802: 0      search/1/c      @incollection{  BibTeX text file
                   13803: 0      search/1/c      @inproceedings{ BibTeX text file
                   13804: 0      search/1/c      @manual{        BibTeX text file
                   13805: 0      search/1/c      @misc{          BibTeX text file
                   13806: 0      search/1/c      @preamble{      BibTeX text file
                   13807: 0      search/1/c      @phdthesis{     BibTeX text file
                   13808: 0      search/1/c      @techreport{    BibTeX text file
                   13809: 0      search/1/c      @unpublished{   BibTeX text file
                   13810: 
                   13811: 73     search/1        %%%\ \          BibTeX-file{ BibTex text file (with full header)
                   13812: 
                   13813: 73     search/1        %%%\ \ @BibTeX-style-file{   BibTeX style text file (with full header)
                   13814: 
                   13815: 0      search/1        %\ BibTeX\ standard\ bibliography\      BibTeX standard bibliography style text file
                   13816: 
                   13817: 0      search/1        %\ BibTeX\ `    BibTeX custom bibliography style text file
                   13818: 
                   13819: 0      search/1        @c\ @mapfile{   TeX font aliases text file
                   13820: #------------------------------------------------------------------------------
                   13821: # file(1) magic for tgif(1) files
                   13822: # From Hendrik Scholz <hendrik@scholz.net>
                   13823: 
                   13824: 0      string  %TGIF\ x                Tgif file version %s
                   13825: 
                   13826: # ------------------------------------------------------------------------
                   13827: # ti-8x: file(1) magic for the TI-8x and TI-9x Graphing Calculators.
                   13828: #
                   13829: # From: Ryan McGuire (rmcguire@freenet.columbus.oh.us).
                   13830: #
                   13831: # Update: Romain Lievin (roms@lpg.ticalc.org).
                   13832: #
                   13833: # NOTE: This list is not complete.
                   13834: # Files for the TI-80 and TI-81 are pretty rare. I'm not going to put the
                   13835: # program/group magic numbers in here because I cannot find any.
                   13836: 0              string          **TI80**        TI-80 Graphing Calculator File.
                   13837: 0              string          **TI81**        TI-81 Graphing Calculator File.
                   13838: #
                   13839: # Magic Numbers for the TI-73
                   13840: #
                   13841: 0              string          **TI73**        TI-73 Graphing Calculator
                   13842: >0x00003B      byte            0x00            (real number)
                   13843: >0x00003B      byte            0x01            (list)
                   13844: >0x00003B      byte            0x02            (matrix)
                   13845: >0x00003B      byte            0x03            (equation)
                   13846: >0x00003B      byte            0x04            (string)
                   13847: >0x00003B      byte            0x05            (program)
                   13848: >0x00003B      byte            0x06            (assembly program)
                   13849: >0x00003B      byte            0x07            (picture)
                   13850: >0x00003B      byte            0x08            (gdb)
                   13851: >0x00003B      byte            0x0C            (complex number)
                   13852: >0x00003B      byte            0x0F            (window settings)
                   13853: >0x00003B      byte            0x10            (zoom)
                   13854: >0x00003B      byte            0x11            (table setup)
                   13855: >0x00003B      byte            0x13            (backup)
                   13856: 
                   13857: # Magic Numbers for the TI-82
                   13858: #
                   13859: 0              string          **TI82**        TI-82 Graphing Calculator
                   13860: >0x00003B      byte            0x00            (real)
                   13861: >0x00003B      byte            0x01            (list)
                   13862: >0x00003B      byte            0x02            (matrix)
                   13863: >0x00003B      byte            0x03            (Y-variable)
                   13864: >0x00003B      byte            0x05            (program)
                   13865: >0x00003B      byte            0x06            (protected prgm)
                   13866: >0x00003B      byte            0x07            (picture)
                   13867: >0x00003B      byte            0x08            (gdb)
                   13868: >0x00003B      byte            0x0B            (window settings)
                   13869: >0x00003B      byte            0x0C            (window settings)
                   13870: >0x00003B      byte            0x0D            (table setup)
                   13871: >0x00003B      byte            0x0E            (screenshot)
                   13872: >0x00003B      byte            0x0F            (backup)
                   13873: #
                   13874: # Magic Numbers for the TI-83
                   13875: #
                   13876: 0              string          **TI83**        TI-83 Graphing Calculator
                   13877: >0x00003B      byte            0x00            (real)
                   13878: >0x00003B      byte            0x01            (list)
                   13879: >0x00003B      byte            0x02            (matrix)
                   13880: >0x00003B      byte            0x03            (Y-variable)
                   13881: >0x00003B      byte            0x04            (string)
                   13882: >0x00003B      byte            0x05            (program)
                   13883: >0x00003B      byte            0x06            (protected prgm)
                   13884: >0x00003B      byte            0x07            (picture)
                   13885: >0x00003B      byte            0x08            (gdb)
                   13886: >0x00003B      byte            0x0B            (window settings)
                   13887: >0x00003B      byte            0x0C            (window settings)
                   13888: >0x00003B      byte            0x0D            (table setup)
                   13889: >0x00003B      byte            0x0E            (screenshot)
                   13890: >0x00003B      byte            0x13            (backup)
                   13891: #
                   13892: # Magic Numbers for the TI-83+
                   13893: #
                   13894: 0              string          **TI83F*        TI-83+ Graphing Calculator
                   13895: >0x00003B      byte            0x00            (real number)
                   13896: >0x00003B      byte            0x01            (list)
                   13897: >0x00003B      byte            0x02            (matrix)
                   13898: >0x00003B      byte            0x03            (equation)
                   13899: >0x00003B      byte            0x04            (string)
                   13900: >0x00003B      byte            0x05            (program)
                   13901: >0x00003B      byte            0x06            (assembly program)
                   13902: >0x00003B      byte            0x07            (picture)
                   13903: >0x00003B      byte            0x08            (gdb)
                   13904: >0x00003B      byte            0x0C            (complex number)
                   13905: >0x00003B      byte            0x0F            (window settings)
                   13906: >0x00003B      byte            0x10            (zoom)
                   13907: >0x00003B      byte            0x11            (table setup)
                   13908: >0x00003B      byte            0x13            (backup)
                   13909: >0x00003B      byte            0x15            (application variable)
                   13910: >0x00003B      byte            0x17            (group of variable)
                   13911: 
                   13912: #
                   13913: # Magic Numbers for the TI-85
                   13914: #
                   13915: 0              string          **TI85**        TI-85 Graphing Calculator
                   13916: >0x00003B      byte            0x00            (real number)
                   13917: >0x00003B      byte            0x01            (complex number)
                   13918: >0x00003B      byte            0x02            (real vector)
                   13919: >0x00003B      byte            0x03            (complex vector)
                   13920: >0x00003B      byte            0x04            (real list)
                   13921: >0x00003B      byte            0x05            (complex list)
                   13922: >0x00003B      byte            0x06            (real matrix)
                   13923: >0x00003B      byte            0x07            (complex matrix)
                   13924: >0x00003B      byte            0x08            (real constant)
                   13925: >0x00003B      byte            0x09            (complex constant)
                   13926: >0x00003B      byte            0x0A            (equation)
                   13927: >0x00003B      byte            0x0C            (string)
                   13928: >0x00003B      byte            0x0D            (function GDB)
                   13929: >0x00003B      byte            0x0E            (polar GDB)
                   13930: >0x00003B      byte            0x0F            (parametric GDB)
                   13931: >0x00003B      byte            0x10            (diffeq GDB)
                   13932: >0x00003B      byte            0x11            (picture)
                   13933: >0x00003B      byte            0x12            (program)
                   13934: >0x00003B      byte            0x13            (range)
                   13935: >0x00003B      byte            0x17            (window settings)
                   13936: >0x00003B      byte            0x18            (window settings)
                   13937: >0x00003B      byte            0x19            (window settings)
                   13938: >0x00003B      byte            0x1A            (window settings)
                   13939: >0x00003B      byte            0x1B            (zoom)
                   13940: >0x00003B      byte            0x1D            (backup)
                   13941: >0x00003B      byte            0x1E            (unknown)
                   13942: >0x00003B      byte            0x2A            (equation)
                   13943: >0x000032      string          ZS4             - ZShell Version 4 File.
                   13944: >0x000032      string          ZS3             - ZShell Version 3 File.
                   13945: #
                   13946: # Magic Numbers for the TI-86
                   13947: #
                   13948: 0              string          **TI86**        TI-86 Graphing Calculator
                   13949: >0x00003B      byte            0x00            (real number)
                   13950: >0x00003B      byte            0x01            (complex number)
                   13951: >0x00003B      byte            0x02            (real vector)
                   13952: >0x00003B      byte            0x03            (complex vector)
                   13953: >0x00003B      byte            0x04            (real list)
                   13954: >0x00003B      byte            0x05            (complex list)
                   13955: >0x00003B      byte            0x06            (real matrix)
                   13956: >0x00003B      byte            0x07            (complex matrix)
                   13957: >0x00003B      byte            0x08            (real constant)
                   13958: >0x00003B      byte            0x09            (complex constant)
                   13959: >0x00003B      byte            0x0A            (equation)
                   13960: >0x00003B      byte            0x0C            (string)
                   13961: >0x00003B      byte            0x0D            (function GDB)
                   13962: >0x00003B      byte            0x0E            (polar GDB)
                   13963: >0x00003B      byte            0x0F            (parametric GDB)
                   13964: >0x00003B      byte            0x10            (diffeq GDB)
                   13965: >0x00003B      byte            0x11            (picture)
                   13966: >0x00003B      byte            0x12            (program)
                   13967: >0x00003B      byte            0x13            (range)
                   13968: >0x00003B      byte            0x17            (window settings)
                   13969: >0x00003B      byte            0x18            (window settings)
                   13970: >0x00003B      byte            0x19            (window settings)
                   13971: >0x00003B      byte            0x1A            (window settings)
                   13972: >0x00003B      byte            0x1B            (zoom)
                   13973: >0x00003B      byte            0x1D            (backup)
                   13974: >0x00003B      byte            0x1E            (unknown)
                   13975: >0x00003B      byte            0x2A            (equation)
                   13976: #
                   13977: # Magic Numbers for the TI-89
                   13978: #
                   13979: 0              string          **TI89**        TI-89 Graphing Calculator
                   13980: >0x000048      byte            0x00            (expression)
                   13981: >0x000048      byte            0x04            (list)
                   13982: >0x000048      byte            0x06            (matrix)
                   13983: >0x000048      byte            0x0A            (data)
                   13984: >0x000048      byte            0x0B            (text)
                   13985: >0x000048      byte            0x0C            (string)
                   13986: >0x000048      byte            0x0D            (graphic data base)
                   13987: >0x000048      byte            0x0E            (figure)
                   13988: >0x000048      byte            0x10            (picture)
                   13989: >0x000048      byte            0x12            (program)
                   13990: >0x000048      byte            0x13            (function)
                   13991: >0x000048      byte            0x14            (macro)
                   13992: >0x000048      byte            0x1C            (zipped)
                   13993: >0x000048      byte            0x21            (assembler)
                   13994: #
                   13995: # Magic Numbers for the TI-92
                   13996: #
                   13997: 0              string          **TI92**        TI-92 Graphing Calculator
                   13998: >0x000048      byte            0x00            (expression)
                   13999: >0x000048      byte            0x04            (list)
                   14000: >0x000048      byte            0x06            (matrix)
                   14001: >0x000048      byte            0x0A            (data)
                   14002: >0x000048      byte            0x0B            (text)
                   14003: >0x000048      byte            0x0C            (string)
                   14004: >0x000048      byte            0x0D            (graphic data base)
                   14005: >0x000048      byte            0x0E            (figure)
                   14006: >0x000048      byte            0x10            (picture)
                   14007: >0x000048      byte            0x12            (program)
                   14008: >0x000048      byte            0x13            (function)
                   14009: >0x000048      byte            0x14            (macro)
                   14010: >0x000048      byte            0x1D            (backup)
                   14011: #
                   14012: # Magic Numbers for the TI-92+/V200
                   14013: #
                   14014: 0              string          **TI92P*        TI-92+/V200 Graphing Calculator
                   14015: >0x000048      byte            0x00            (expression)
                   14016: >0x000048      byte            0x04            (list)
                   14017: >0x000048      byte            0x06            (matrix)
                   14018: >0x000048      byte            0x0A            (data)
                   14019: >0x000048      byte            0x0B            (text)
                   14020: >0x000048      byte            0x0C            (string)
                   14021: >0x000048      byte            0x0D            (graphic data base)
                   14022: >0x000048      byte            0x0E            (figure)
                   14023: >0x000048      byte            0x10            (picture)
                   14024: >0x000048      byte            0x12            (program)
                   14025: >0x000048      byte            0x13            (function)
                   14026: >0x000048      byte            0x14            (macro)
                   14027: >0x000048      byte            0x1C            (zipped)
                   14028: >0x000048      byte            0x21            (assembler)
                   14029: #
                   14030: # Magic Numbers for the TI-73/83+/89/92+/V200 FLASH upgrades
                   14031: #
                   14032: 0x0000016      string          Advanced        TI-XX Graphing Calculator (FLASH)
                   14033: 0              string          **TIFL**        TI-XX Graphing Calculator (FLASH)
                   14034: >8             byte            >0              - Revision %d
                   14035: >>9            byte            x               \b.%d,
                   14036: >12            byte            >0              Revision date %02x
                   14037: >>13           byte            x               \b/%02x
                   14038: >>14           beshort         x               \b/%04x,
                   14039: >17            string          >/0             name: '%s',
                   14040: >48            byte            0x74            device: TI-73,
                   14041: >48            byte            0x73            device: TI-83+,
                   14042: >48            byte            0x98            device: TI-89,
                   14043: >48            byte            0x88            device: TI-92+,
                   14044: >49            byte            0x23            type: OS upgrade,
                   14045: >49            byte            0x24            type: application,
                   14046: >49            byte            0x25            type: certificate,
                   14047: >49            byte            0x3e            type: license,
                   14048: >74            lelong          >0              size: %ld bytes
                   14049: 
                   14050: # VTi & TiEmu skins (TI Graphing Calculators).
                   14051: # From: Romain Lievin (roms@lpg.ticalc.org).
                   14052: # Magic Numbers for the VTi skins
                   14053: 0               string          VTI            Virtual TI skin
                   14054: >3             string          v               - Version
                   14055: >>4            byte            >0              \b %c
                   14056: >>6            byte            x               \b.%c
                   14057: # Magic Numbers for the TiEmu skins
                   14058: 0              string          TiEmu           TiEmu skin
                   14059: >6              string          v               - Version
                   14060: >>7             byte            >0              \b %c
                   14061: >>9             byte            x               \b.%c
                   14062: >>10           byte            x               \b%c
                   14063: 
                   14064: #------------------------------------------------------------------------------
                   14065: # timezone:  file(1) magic for timezone data
                   14066: #
                   14067: # from Daniel Quinlan (quinlan@yggdrasil.com)
                   14068: # this should work on Linux, SunOS, and maybe others
                   14069: # Added new official magic number for recent versions of the Olson code
                   14070: 0      string  TZif    timezone data
                   14071: 0      string  \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0      old timezone data
                   14072: 0      string  \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0      old timezone data
                   14073: 0      string  \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0      old timezone data
                   14074: 0      string  \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0      old timezone data
                   14075: 0      string  \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0      old timezone data
                   14076: 0      string  \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0      old timezone data
                   14077: #------------------------------------------------------------------------------
                   14078: # troff:  file(1) magic for *roff
                   14079: #
                   14080: # updated by Daniel Quinlan (quinlan@yggdrasil.com)
                   14081: 
                   14082: # troff input
                   14083: 0      search/1        .\\"            troff or preprocessor input text
                   14084: !:mime text/troff
                   14085: 0      search/1        '\\"            troff or preprocessor input text
                   14086: !:mime text/troff
                   14087: 0      search/1        '.\\"           troff or preprocessor input text
                   14088: !:mime text/troff
                   14089: 0      search/1        \\"             troff or preprocessor input text
                   14090: !:mime text/troff
                   14091: 0      search/1        '''             troff or preprocessor input text
                   14092: !:mime text/troff
                   14093: 
                   14094: # ditroff intermediate output text
                   14095: 0      search/1        x\ T            ditroff output text
                   14096: >4     search/1        cat             for the C/A/T phototypesetter
                   14097: >4     search/1        ps              for PostScript
                   14098: >4     search/1        dvi             for DVI
                   14099: >4     search/1        ascii           for ASCII
                   14100: >4     search/1        lj4             for LaserJet 4
                   14101: >4     search/1        latin1          for ISO 8859-1 (Latin 1)
                   14102: >4     search/1        X75             for xditview at 75dpi
                   14103: >>7    search/1        -12             (12pt)
                   14104: >4     search/1        X100            for xditview at 100dpi
                   14105: >>8    search/1        -12             (12pt)
                   14106: 
                   14107: # output data formats
                   14108: 0      string          \100\357        very old (C/A/T) troff output data
                   14109: #
                   14110: #------------------------------------------------------------------------------
                   14111: # tuxedo:      file(1) magic for BEA TUXEDO data files
                   14112: #
                   14113: # from Ian Springer <ispringer@hotmail.com>
                   14114: #
                   14115: 0      string          \0\0\1\236\0\0\0\0\0\0\0\0\0\0\0\0      BEA TUXEDO DES mask data
                   14116: 
                   14117: #------------------------------------------------------------------------------
                   14118: # typeset:  file(1) magic for other typesetting
                   14119: #
                   14120: 0      string          Interpress/Xerox        Xerox InterPress data
                   14121: >16    string          /                       (version
                   14122: >>17   string          >\0                     %s)
                   14123: #---------------------------------------------------------------------------
                   14124: # Unicode:  BOM prefixed text files - Adrian Havill <havill@turbolinux.co.jp>
                   14125: # GRR: These types should be recognised in file_ascmagic so these
                   14126: # encodings can be treated by text patterns.
                   14127: # Missing types are already dealt with internally.
                   14128: #
                   14129: 0      string  +/v8                    Unicode text, UTF-7
                   14130: 0      string  +/v9                    Unicode text, UTF-7
                   14131: 0      string  +/v+                    Unicode text, UTF-7
                   14132: 0      string  +/v/                    Unicode text, UTF-7
                   14133: 0      string  \335\163\146\163        Unicode text, UTF-8-EBCDIC
                   14134: 0      string  \376\377\000\000        Unicode text, UTF-32, big-endian
                   14135: 0      string  \377\376\000\000        Unicode text, UTF-32, little-endian
                   14136: 0      string  \016\376\377            Unicode text, SCSU (Standard Compression Scheme for Unicode)
                   14137: 
                   14138: #------------------------------------------------------------------------------
                   14139: # unknown:  file(1) magic for unknown machines
                   14140: #
                   14141: # XXX - this probably should be pruned, as it'll match PDP-11 and
                   14142: # VAX image formats.
                   14143: #
                   14144: # 0x107 is 0407; 0x108 is 0410; both are PDP-11 (executable and pure,
                   14145: # respectively).
                   14146: #
                   14147: # 0x109 is 0411; that's PDP-11 split I&D, but the PDP-11 version doesn't
                   14148: # have the "version %ld", which may be a bogus COFFism (I don't think
                   14149: # there ever was COFF for the PDP-11).
                   14150: #
                   14151: # 0x10B is 0413; that's VAX demand-paged, but this is a short, not a
                   14152: # long, as it would be on a VAX.
                   14153: #
                   14154: # 0x10C is 0414 and 0x10E is 416; those *are* unknown.
                   14155: #
                   14156: 0      short           0x107           unknown machine executable
                   14157: >8     short           >0              not stripped
                   14158: >15    byte            >0              - version %ld
                   14159: 0      short           0x108           unknown pure executable
                   14160: >8     short           >0              not stripped
                   14161: >15    byte            >0              - version %ld
                   14162: 0      short           0x109           PDP-11 separate I&D
                   14163: >8     short           >0              not stripped
                   14164: >15    byte            >0              - version %ld
                   14165: 0      short           0x10b           unknown pure executable
                   14166: >8     short           >0              not stripped
                   14167: >15    byte            >0              - version %ld
                   14168: 0      long            0x10c           unknown demand paged pure executable
                   14169: >16    long            >0              not stripped
                   14170: 0      long            0x10e           unknown readable demand paged pure executable
                   14171: #------------------------------------------------------------------------------
                   14172: # uuencode:  file(1) magic for ASCII-encoded files
                   14173: #
                   14174: 
                   14175: # GRR:  the first line of xxencoded files is identical to that in uuencoded
                   14176: # files, but the first character in most subsequent lines is 'h' instead of
                   14177: # 'M'.  (xxencoding uses lowercase letters in place of most of uuencode's
                   14178: # punctuation and survives BITNET gateways better.)  If regular expressions
                   14179: # were supported, this entry could possibly be split into two with
                   14180: # "begin\040\.\*\012M" or "begin\040\.\*\012h" (where \. and \* are REs).
                   14181: 0      search/1        begin\          uuencoded or xxencoded text
                   14182: 
                   14183: # btoa(1) is an alternative to uuencode that requires less space.
                   14184: 0      search/1        xbtoa\ Begin    btoa'd text
                   14185: 
                   14186: # ship(1) is another, much cooler alternative to uuencode.
                   14187: # Greg Roelofs, newt@uchicago.edu
                   14188: 0      search/1        $\012ship       ship'd binary text
                   14189: 
                   14190: # bencode(8) is used to encode compressed news batches (Bnews/Cnews only?)
                   14191: # Greg Roelofs, newt@uchicago.edu
                   14192: 0      search/1        Decode\ the\ following\ with\ bdeco     bencoded News text
                   14193: 
                   14194: # BinHex is the Macintosh ASCII-encoded file format (see also "apple")
                   14195: # Daniel Quinlan, quinlan@yggdrasil.com
                   14196: 11     search/1        must\ be\ converted\ with\ BinHex       BinHex binary text
                   14197: >41    search/1        x                                       \b, version %.3s
                   14198: 
                   14199: # GRR: handle BASE64
                   14200: 
                   14201: #------------------------------------------------------------------------------
                   14202: # varied.out:  file(1) magic for various USG systems
                   14203: #
                   14204: #      Herewith many of the object file formats used by USG systems.
                   14205: #      Most have been moved to files for a particular processor,
                   14206: #      and deleted if they duplicate other entries.
                   14207: #
                   14208: 0      short           0610            Perkin-Elmer executable
                   14209: # AMD 29K
                   14210: 0      beshort         0572            amd 29k coff noprebar executable
                   14211: 0      beshort         01572           amd 29k coff prebar executable
                   14212: 0      beshort         0160007         amd 29k coff archive
                   14213: # Cray
                   14214: 6      beshort         0407            unicos (cray) executable
                   14215: # Ultrix 4.3
                   14216: 596    string          \130\337\377\377        Ultrix core file
                   14217: >600   string          >\0             from '%s'
                   14218: # BeOS and MAcOS PEF executables
                   14219: # From: hplus@zilker.net (Jon Watte)
                   14220: 0      string          Joy!peffpwpc    header for PowerPC PEF executable
                   14221: #
                   14222: # ava assembler/linker Uros Platise <uros.platise@ijs.si>
                   14223: 0       string          avaobj  AVR assembler object code
                   14224: >7      string          >\0     version '%s'
                   14225: # gnu gmon magic From: Eugen Dedu <dedu@ese-metz.fr>
                   14226: 0      string          gmon            GNU prof performance data
                   14227: >4     long            x               - version %ld
                   14228: # From: Dave Pearson <davep@davep.org>
                   14229: # Harbour <URL:http://www.harbour-project.org/> HRB files.
                   14230: 0      string          \xc0HRB         Harbour HRB file
                   14231: >4     short           x               version %d
                   14232: 
                   14233: # From: Alex Beregszaszi <alex@fsn.hu>
                   14234: # 0    string          exec            BugOS executable
                   14235: # 0    string          pack            BugOS archive
                   14236: 
                   14237: # From: Jason Spence <jspence@lightconsulting.com>
                   14238: # Generated by the "examples" in STM's ST40 devkit, and derived code.
                   14239: 0      lelong          0x13a9f17e      ST40 component image format
                   14240: >4     string          >\0             \b, name '%s'
                   14241: 
                   14242: #------------------------------------------------------------------------------
                   14243: # varied.script:  file(1) magic for various interpreter scripts
                   14244: 
                   14245: 0      string          #!\ /                   a
                   14246: >3     string          >\0                     %s script text executable
                   14247: 0      string          #!\t/                   a
                   14248: >3     string          >\0                     %s script text executable
                   14249: 0      string          #!/                     a
                   14250: >2     string          >\0                     %s script text executable
                   14251: 0      string          #!\                     script text executable
                   14252: >3     string          >\0                     for %s
                   14253: 
                   14254: # From: arno <arenevier@fdn.fr>
                   14255: # mozilla xpconnect typelib
                   14256: # see http://www.mozilla.org/scriptable/typelib_file.html
                   14257: 0      string          XPCOM\nTypeLib\r\n\032          XPConnect Typelib
                   14258: >0x10  byte        x       version %d
                   14259: >>0x11 byte        x      \b.%d
                   14260: 
                   14261: #------------------------------------------------------------------------------
                   14262: # vax:  file(1) magic for VAX executable/object and APL workspace
                   14263: #
                   14264: 0      lelong          0101557         VAX single precision APL workspace
                   14265: 0      lelong          0101556         VAX double precision APL workspace
                   14266: 
                   14267: #
                   14268: # VAX a.out (32V, BSD)
                   14269: #
                   14270: 0      lelong          0407            VAX executable
                   14271: >16    lelong          >0              not stripped
                   14272: 
                   14273: 0      lelong          0410            VAX pure executable
                   14274: >16    lelong          >0              not stripped
                   14275: 
                   14276: 0      lelong          0413            VAX demand paged pure executable
                   14277: >16    lelong          >0              not stripped
                   14278: 
                   14279: 0      lelong          0420            VAX demand paged (first page unmapped) pure executable
                   14280: >16    lelong          >0              not stripped
                   14281: 
                   14282: #
                   14283: # VAX COFF
                   14284: #
                   14285: # The `versions' should be un-commented if they work for you.
                   14286: # (Was the problem just one of endianness?)
                   14287: #
                   14288: 0      leshort         0570            VAX COFF executable
                   14289: >12    lelong          >0              not stripped
                   14290: >22    leshort         >0              - version %ld
                   14291: 0      leshort         0575            VAX COFF pure executable
                   14292: >12    lelong          >0              not stripped
                   14293: >22    leshort         >0              - version %ld
                   14294: 
                   14295: #------------------------------------------------------------------------------
                   14296: # vicar:  file(1) magic for VICAR files.
                   14297: #
                   14298: # From: Ossama Othman <othman@astrosun.tn.cornell.edu
                   14299: # VICAR is JPL's in-house spacecraft image processing program
                   14300: # VICAR image
                   14301: 0      string  LBLSIZE=        VICAR image data
                   14302: >32    string  BYTE            \b, 8 bits  = VAX byte
                   14303: >32    string  HALF            \b, 16 bits = VAX word     = Fortran INTEGER*2
                   14304: >32    string  FULL            \b, 32 bits = VAX longword = Fortran INTEGER*4
                   14305: >32    string  REAL            \b, 32 bits = VAX longword = Fortran REAL*4
                   14306: >32    string  DOUB            \b, 64 bits = VAX quadword = Fortran REAL*8
                   14307: >32    string  COMPLEX         \b, 64 bits = VAX quadword = Fortran COMPLEX*8
                   14308: # VICAR label file
                   14309: 43     string  SFDU_LABEL      VICAR label file
                   14310: #------------------------------------------------------------------------------
                   14311: # Virtutech Compressed Random Access File Format
                   14312: #
                   14313: # From <gustav@virtutech.com>
                   14314: 0      string          \211\277\036\203        Virtutech CRAFF
                   14315: >4     belong          x               v%d
                   14316: >20    belong          0               uncompressed
                   14317: >20    belong          1               bzipp2ed
                   14318: >20    belong          2               gzipped
                   14319: >24    belong          0               not clean
                   14320: 
                   14321: #------------------------------------------------------------------------------
                   14322: # visx:  file(1) magic for Visx format files
                   14323: #
                   14324: 0      short           0x5555          VISX image file
                   14325: >2     byte            0               (zero)
                   14326: >2     byte            1               (unsigned char)
                   14327: >2     byte            2               (short integer)
                   14328: >2     byte            3               (float 32)
                   14329: >2     byte            4               (float 64)
                   14330: >2     byte            5               (signed char)
                   14331: >2     byte            6               (bit-plane)
                   14332: >2     byte            7               (classes)
                   14333: >2     byte            8               (statistics)
                   14334: >2     byte            10              (ascii text)
                   14335: >2     byte            15              (image segments)
                   14336: >2     byte            100             (image set)
                   14337: >2     byte            101             (unsigned char vector)
                   14338: >2     byte            102             (short integer vector)
                   14339: >2     byte            103             (float 32 vector)
                   14340: >2     byte            104             (float 64 vector)
                   14341: >2     byte            105             (signed char vector)
                   14342: >2     byte            106             (bit plane vector)
                   14343: >2     byte            121             (feature vector)
                   14344: >2     byte            122             (feature vector library)
                   14345: >2     byte            124             (chain code)
                   14346: >2     byte            126             (bit vector)
                   14347: >2     byte            130             (graph)
                   14348: >2     byte            131             (adjacency graph)
                   14349: >2     byte            132             (adjacency graph library)
                   14350: >2     string          .VISIX          (ascii text)
                   14351: 
                   14352: #------------------------------------------------------------------------------
                   14353: # vms:  file(1) magic for VMS executables (experimental)
                   14354: #
                   14355: # VMS .exe formats, both VAX and AXP (Greg Roelofs, newt@uchicago.edu)
                   14356: 
                   14357: # GRR 950122:  I'm just guessing on these, based on inspection of the headers
                   14358: # of three executables each for Alpha and VAX architectures.  The VAX files
                   14359: # all had headers similar to this:
                   14360: #
                   14361: #   00000  b0 00 30 00 44 00 60 00  00 00 00 00 30 32 30 35  ..0.D.`.....0205
                   14362: #   00010  01 01 00 00 ff ff ff ff  ff ff ff ff 00 00 00 00  ................
                   14363: #
                   14364: 0      string  \xb0\0\x30\0    VMS VAX executable
                   14365: >44032 string  PK\003\004      \b, Info-ZIP SFX archive v5.12 w/decryption
                   14366: #
                   14367: # The AXP files all looked like this, except that the byte at offset 0x22
                   14368: # was 06 in some of them and 07 in others:
                   14369: #
                   14370: #   00000  03 00 00 00 00 00 00 00  ec 02 00 00 10 01 00 00  ................
                   14371: #   00010  68 00 00 00 98 00 00 00  b8 00 00 00 00 00 00 00  h...............
                   14372: #   00020  00 00 07 00 00 00 00 00  00 00 00 00 00 00 00 00  ................
                   14373: #   00030  00 00 00 00 01 00 00 00  00 00 00 00 00 00 00 00  ................
                   14374: #   00040  00 00 00 00 ff ff ff ff  ff ff ff ff 02 00 00 00  ................
                   14375: #
                   14376: 0      belong  0x03000000      VMS Alpha executable
                   14377: >75264 string  PK\003\004      \b, Info-ZIP SFX archive v5.12 w/decryption
                   14378: 
                   14379: # -----------------------------------------------------------
                   14380: # VMware specific files (deducted from version 1.1 and log file entries)
                   14381: # Anthon van der Neut (anthon@mnt.org)
                   14382: 0      belong  0x4d52564e      VMware nvram 
                   14383: 
                   14384: #------------------------------------------------------------------------------
                   14385: # vorbis:  file(1) magic for Ogg/Vorbis files
                   14386: #
                   14387: # From Felix von Leitner <leitner@fefe.de>
                   14388: # Extended by Beni Cherniavsky <cben@crosswinds.net>
                   14389: # Further extended by Greg Wooledge <greg@wooledge.org>
                   14390: #
                   14391: # Most (everything but the number of channels and bitrate) is commented
                   14392: # out with `##' as it's not interesting to the average user.  The most
                   14393: # probable things advanced users would want to uncomment are probably
                   14394: # the number of comments and the encoder version.
                   14395: #
                   14396: # FIXME: The first match has been made a search, so that it can skip
                   14397: # over prepended ID3 tags. This will work for MIME type detection, but
                   14398: # won't work for detecting other properties of the file (they all need
                   14399: # to be made relative to the search). In any case, if the file has ID3
                   14400: # tags, the ID3 information will be printed, not the Ogg information,
                   14401: # so until that's fixed, this doesn't matter.
                   14402: # FIXME[2]: Disable the above for now, since search assumes text mode.
                   14403: #
                   14404: # --- Ogg Framing ---
                   14405: #0             search/1000     OggS            Ogg data
                   14406: 0              string  OggS            Ogg data
                   14407: !:mime         application/ogg
                   14408: >4             byte            !0              UNKNOWN REVISION %u
                   14409: ##>4           byte            0               revision 0
                   14410: >4             byte            0
                   14411: ##>>14         lelong          x               (Serial %lX)
                   14412: # non-Vorbis content: FLAC (Free Lossless Audio Codec, http://flac.sourceforge.net)
                   14413: >>28           string          \x7fFLAC        \b, FLAC audio
                   14414: # non-Vorbis content: Theora
                   14415: >>28           string          \x80theora      \b, Theora video
                   14416: # non-Vorbis content: Kate
                   14417: >>28           string          \x80kate\0\0\0\0        \b, Kate
                   14418: >>>37          ubyte           x               v%u
                   14419: >>>38          ubyte           x               \b.%u,
                   14420: >>>40          byte            0               utf8 encoding,
                   14421: >>>40          byte            !0              unknown character encoding,
                   14422: >>>60          string          >\0             language %s,
                   14423: >>>60          string          \0              no language set,
                   14424: >>>76          string          >\0             category %s
                   14425: >>>76          string          \0              no category set
                   14426: # non-Vorbis content: Skeleton
                   14427: >>28           string          fishead\0       \b, Skeleton
                   14428: >>>36          short           x               v%u
                   14429: >>>40          short           x               \b.%u
                   14430: # non-Vorbis content: Speex
                   14431: >>28           string          Speex\ \ \      \b, Speex audio
                   14432: # non-Vorbis content: OGM
                   14433: >>28           string          \x01video\0\0\0 \b, OGM video
                   14434: >>>37          string/c        div3            (DivX 3)
                   14435: >>>37          string/c        divx            (DivX 4)
                   14436: >>>37          string/c        dx50            (DivX 5)
                   14437: >>>37          string/c        xvid            (XviD)
                   14438: # --- First vorbis packet - general header ---
                   14439: >>28           string          \x01vorbis      \b, Vorbis audio,
                   14440: >>>35          lelong          !0              UNKNOWN VERSION %lu,
                   14441: ##>>>35                lelong          0               version 0,
                   14442: >>>35          lelong          0
                   14443: >>>>39         ubyte           1               mono,
                   14444: >>>>39         ubyte           2               stereo,
                   14445: >>>>39         ubyte           >2              %u channels,
                   14446: >>>>40         lelong          x               %lu Hz
                   14447: # Minimal, nominal and maximal bitrates specified when encoding
                   14448: >>>>48         string          <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff       \b,
                   14449: # The above tests if at least one of these is specified:
                   14450: >>>>>52                lelong          !-1
                   14451: # Vorbis RC2 has a bug which puts -1000 in the min/max bitrate fields
                   14452: # instead of -1.
                   14453: # Vorbis 1.0 uses 0 instead of -1.
                   14454: >>>>>>52       lelong          !0
                   14455: >>>>>>>52      lelong          !-1000
                   14456: >>>>>>>>52     lelong          x               <%lu
                   14457: >>>>>48                lelong          !-1
                   14458: >>>>>>48       lelong          x               ~%lu
                   14459: >>>>>44                lelong          !-1
                   14460: >>>>>>44       lelong          !-1000
                   14461: >>>>>>>44      lelong          !0
                   14462: >>>>>>>>44     lelong          x               >%lu
                   14463: >>>>>48                string          <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff       bps
                   14464: # -- Second vorbis header packet - the comments
                   14465: # A kludge to read the vendor string.  It's a counted string, not a
                   14466: # zero-terminated one, so file(1) can't read it in a generic way.
                   14467: # libVorbis is the only one existing currently, so I detect specifically
                   14468: # it.  The interesting value is the cvs date (8 digits decimal).
                   14469: # Post-RC1 Ogg files have the second header packet (and thus the version)
                   14470: # in a different place, so we must use an indirect offset.
                   14471: >>>(84.b+85)           string          \x03vorbis
                   14472: >>>>(84.b+96)          string/c        Xiphophorus\ libVorbis\ I       \b, created by: Xiphophorus libVorbis I
                   14473: >>>>>(84.b+120)                string          >00000000       
                   14474: # Map to beta version numbers:
                   14475: >>>>>>(84.b+120)       string          <20000508       (<beta1, prepublic)
                   14476: >>>>>>(84.b+120)       string          20000508        (1.0 beta 1 or beta 2)
                   14477: >>>>>>(84.b+120)       string          >20000508
                   14478: >>>>>>>(84.b+120)      string          <20001031       (beta2-3)
                   14479: >>>>>>(84.b+120)       string          20001031        (1.0 beta 3)
                   14480: >>>>>>(84.b+120)       string          >20001031
                   14481: >>>>>>>(84.b+120)      string          <20010225       (beta3-4)
                   14482: >>>>>>(84.b+120)       string          20010225        (1.0 beta 4)
                   14483: >>>>>>(84.b+120)       string          >20010225
                   14484: >>>>>>>(84.b+120)      string          <20010615       (beta4-RC1)
                   14485: >>>>>>(84.b+120)       string          20010615        (1.0 RC1)
                   14486: >>>>>>(84.b+120)       string          20010813        (1.0 RC2)
                   14487: >>>>>>(84.b+120)       string          20010816        (RC2 - Garf tuned v1)
                   14488: >>>>>>(84.b+120)       string          20011014        (RC2 - Garf tuned v2)
                   14489: >>>>>>(84.b+120)       string          20011217        (1.0 RC3)
                   14490: >>>>>>(84.b+120)       string          20011231        (1.0 RC3)
                   14491: # Some pre-1.0 CVS snapshots still had "Xiphphorus"...
                   14492: >>>>>>(84.b+120)       string          >20011231       (pre-1.0 CVS)
                   14493: # For the 1.0 release, Xiphophorus is replaced by Xiph.Org
                   14494: >>>>(84.b+96)          string/c        Xiph.Org\ libVorbis\ I  \b, created by: Xiph.Org libVorbis I
                   14495: >>>>>(84.b+117)                string          >00000000       
                   14496: >>>>>>(84.b+117)       string          <20020717       (pre-1.0 CVS)
                   14497: >>>>>>(84.b+117)       string          20020717        (1.0)
                   14498: >>>>>>(84.b+117)       string          20030909        (1.0.1)
                   14499: >>>>>>(84.b+117)       string          20040629        (1.1.0 RC1)
                   14500: 
                   14501: #------------------------------------------------------------------------------
                   14502: # VXL: file(1) magic for VXL binary IO data files
                   14503: #
                   14504: # from Ian Scott <scottim@sf.net>
                   14505: #
                   14506: # VXL is a collection of C++ libraries for Computer Vision.
                   14507: # See the vsl chapter in the VXL Book for more info
                   14508: # http://www.isbe.man.ac.uk/public_vxl_doc/books/vxl/book.html
                   14509: # http:/vxl.sf.net
                   14510: 
                   14511: 2      lelong  0x472b2c4e      VXL data file,
                   14512: >0     leshort >0              schema version no %d
                   14513: 
                   14514: #------------------------------------------------------------------------------
                   14515: # warc:  file(1) magic for WARC files
                   14516: 
                   14517: 0      string  WARC/   WARC Archive
                   14518: >5     string  x       version %.4s
                   14519: #------------------------------------------------------------------------------
                   14520: # weak:  file(1) magic for very weak magic entries, disabled by default
                   14521: #
                   14522: # These entries are so weak that they might interfere identification of
                   14523: # other formats. Example include:
                   14524: # - Only identify for 1 or 2 bytes
                   14525: # - Match against very wide range of values
                   14526: # - Match against generic word in some spoken languages (e.g. English)
                   14527: 
                   14528: # Summary: Computer Graphics Metafile
                   14529: # Extension: .cgm
                   14530: #0     beshort&0xffe0  0x0020          binary Computer Graphics Metafile
                   14531: #0     beshort         0x3020          character Computer Graphics Metafile
                   14532: 
                   14533: #0     string          =!!             Bennet Yee's "face" format
                   14534: 
                   14535: #------------------------------------------------------------------------------
                   14536: # windows:  file(1) magic for Microsoft Windows
                   14537: #
                   14538: # This file is mainly reserved for files where programs
                   14539: # using them are run almost always on MS Windows 3.x or
                   14540: # above, or files only used exclusively in Windows OS,
                   14541: # where there is no better category to allocate for.
                   14542: # For example, even though WinZIP almost run on Windows
                   14543: # only, it is better to treat them as "archive" instead.
                   14544: # For format usable in DOS, such as generic executable
                   14545: # format, please specify under "msdos" file.
                   14546: #
                   14547: 
                   14548: 
                   14549: # Summary: Outlook Express DBX file
                   14550: # Extension: .dbx
                   14551: # Created by: Christophe Monniez
                   14552: 0      string  \xCF\xAD\x12\xFE        MS Outlook Express DBX file
                   14553: >4     byte    =0xC5                   \b, message database
                   14554: >4     byte    =0xC6                   \b, folder database
                   14555: >4     byte    =0xC7                   \b, account information
                   14556: >4     byte    =0x30                   \b, offline database
                   14557: 
                   14558: 
                   14559: # Summary: Windows crash dump
                   14560: # Extension: .dmp
                   14561: # Created by: Andreas Schuster (http://computer.forensikblog.de/)
                   14562: # Reference (1): http://computer.forensikblog.de/en/2008/02/64bit_magic.html
                   14563: # Modified by (1): Abel Cheung (Avoid match with first 4 bytes only)
                   14564: 0      string          PAGE            
                   14565: >4     string          DUMP            MS Windows 32bit crash dump
                   14566: >>0x05c        byte            0               \b, no PAE
                   14567: >>0x05c        byte            1               \b, PAE
                   14568: >>0xf88        lelong          1               \b, full dump
                   14569: >>0xf88        lelong          2               \b, kernel dump
                   14570: >>0xf88        lelong          3               \b, small dump
                   14571: >>0x068        lelong          x               \b, %ld pages
                   14572: >4     string          DU64            MS Windows 64bit crash dump
                   14573: >>0xf98        lelong          1               \b, full dump
                   14574: >>0xf98        lelong          2               \b, kernel dump
                   14575: >>0xf98        lelong          3               \b, small dump
                   14576: >>0x090        lequad          x               \b, %lld pages
                   14577: 
                   14578: 
                   14579: # Summary: Vista Event Log
                   14580: # Extension: .evtx
                   14581: # Created by: Andreas Schuster (http://computer.forensikblog.de/)
                   14582: # Reference (1): http://computer.forensikblog.de/en/2007/05/some_magic.html
                   14583: 0      string          ElfFile\0       MS Windows Vista Event Log
                   14584: >0x2a  leshort         x               \b, %d chunks
                   14585: >>0x10 lelong          x               \b (no. %d in use)
                   14586: >0x18  lelong          >1              \b, next record no. %d
                   14587: >0x18  lelong          =1              \b, empty
                   14588: >0x78  lelong          &1              \b, DIRTY
                   14589: >0x78  lelong          &2              \b, FULL
                   14590: 
                   14591: 
                   14592: # Summary: Windows 3.1 group files
                   14593: # Extension: .grp
                   14594: # Created by: unknown
                   14595: 0      string          \120\115\103\103        MS Windows 3.1 group files
                   14596: 
                   14597: 
                   14598: # Summary: Old format help files
                   14599: # Extension: .hlp
                   14600: # Created by: Dirk Jagdmann <doj@cubic.org>
                   14601: 0      lelong          0x00035f3f              MS Windows 3.x help file
                   14602: 
                   14603: 
                   14604: # Summary: Hyper terminal
                   14605: # Extension: .ht
                   14606: # Created by: unknown
                   14607: 0      string          HyperTerminal\ 
                   14608: >15    string          1.0\ --\ HyperTerminal\ data\ file      MS Windows HyperTerminal profile
                   14609: 
                   14610: 
                   14611: # Summary: Windows shortcut
                   14612: # Extension: .lnk
                   14613: # Created by: unknown
                   14614: 0      string          \114\0\0\0\001\024\002\0\0\0\0\0\300\0\0\0\0\0\0\106    MS Windows shortcut
                   14615: 
                   14616: 
                   14617: # Summary: Outlook Personal Folders
                   14618: # Created by: unknown
                   14619: 0      lelong          0x4E444221      Microsoft Outlook email folder
                   14620: >10    leshort         0x0e            (<=2002)
                   14621: >10    leshort         0x17            (>=2003)
                   14622: 
                   14623: 
                   14624: # Summary: Windows help cache
                   14625: # Created by: unknown
                   14626: 0      string          \164\146\115\122\012\000\000\000\001\000\000\000        MS Windows help cache
                   14627: 
                   14628: 
                   14629: # Summary: IE cache file
                   14630: # Created by: Christophe Monniez
                   14631: 0      string  Client\ UrlCache\ MMF   Internet Explorer cache file
                   14632: >20    string  >\0                     version %s
                   14633: 
                   14634: 
                   14635: # Summary: Registry files
                   14636: # Created by: unknown
                   14637: # Modified by (1): Joerg Jenderek
                   14638: 0      string          regf            MS Windows registry file, NT/2000 or above
                   14639: 0      string          CREG            MS Windows 95/98/ME registry file
                   14640: 0      string          SHCC3           MS Windows 3.1 registry file
                   14641: 
                   14642: 
                   14643: # Summary: Windows Registry text
                   14644: # Extension: .reg
                   14645: # Submitted by: Abel Cheung <abelcheung@gmail.com>
                   14646: 0      string          REGEDIT4\r\n\r\n        Windows Registry text (Win95 or above)
                   14647: 0      string          Windows\ Registry\ Editor\ 
                   14648: >&0    string          Version\ 5.00\r\n\r\n   Windows Registry text (Win2K or above)
                   14649: #------------------------------------------------------------------------------
                   14650: # wordprocessors:  file(1) magic fo word processors.
                   14651: #
                   14652: ####### PWP file format used on Smith Corona Personal Word Processors:
                   14653: 2      string  \040\040\040\040\040\040\040\040\040\040\040ML4D\040'92 Smith Corona PWP
                   14654: >24    byte    2       \b, single spaced
                   14655: >24    byte    3       \b, 1.5 spaced
                   14656: >24    byte    4       \b, double spaced
                   14657: >25    byte    0x42    \b, letter
                   14658: >25    byte    0x54    \b, legal
                   14659: >26    byte    0x46    \b, A4
                   14660: 
                   14661: #WordPerfect type files Version 1.6 - PLEASE DO NOT REMOVE THIS LINE
                   14662: 0      string  \377WPC\020\000\000\000\022\012\001\001\000\000\000\000 (WP) loadable file
                   14663: >15    byte    0       Optimized for Intel
                   14664: >15    byte    1       Optimized for Non-Intel
                   14665: 1      string  WPC     (Corel/WP)
                   14666: >8     short   257     WordPerfect macro
                   14667: >8     short   258     WordPerfect help file
                   14668: >8     short   259     WordPerfect keyboard file
                   14669: >8     short   266     WordPerfect document
                   14670: >8     short   267     WordPerfect dictionary
                   14671: >8     short   268     WordPerfect thesaurus
                   14672: >8     short   269     WordPerfect block
                   14673: >8     short   270     WordPerfect rectangular block
                   14674: >8     short   271     WordPerfect column block
                   14675: >8     short   272     WordPerfect printer data
                   14676: >8     short   275     WordPerfect printer data
                   14677: >8     short   276     WordPerfect driver resource data
                   14678: >8     short   279     WordPerfect hyphenation code
                   14679: >8     short   280     WordPerfect hyphenation data
                   14680: >8     short   281     WordPerfect macro resource data
                   14681: >8     short   283     WordPerfect hyphenation lex
                   14682: >8     short   285     WordPerfect wordlist
                   14683: >8     short   286     WordPerfect equation resource data
                   14684: >8     short   289     WordPerfect spell rules
                   14685: >8     short   290     WordPerfect dictionary rules
                   14686: >8     short   295     WordPerfect spell rules (Microlytics)
                   14687: >8     short   299     WordPerfect settings file
                   14688: >8     short   301     WordPerfect 4.2 document
                   14689: >8     short   325     WordPerfect dialog file
                   14690: >8     short   332     WordPerfect button bar
                   14691: >8     short   513     Shell macro
                   14692: >8     short   522     Shell definition
                   14693: >8     short   769     Notebook macro
                   14694: >8     short   770     Notebook help file
                   14695: >8     short   771     Notebook keyboard file
                   14696: >8     short   778     Notebook definition
                   14697: >8     short   1026    Calculator help file
                   14698: >8     short   1538    Calendar help file
                   14699: >8     short   1546    Calendar data file
                   14700: >8     short   1793    Editor macro
                   14701: >8     short   1794    Editor help file
                   14702: >8     short   1795    Editor keyboard file
                   14703: >8     short   1817    Editor macro resource file
                   14704: >8     short   2049    Macro editor macro
                   14705: >8     short   2050    Macro editor help file
                   14706: >8     short   2051    Macro editor keyboard file
                   14707: >8     short   2305    PlanPerfect macro
                   14708: >8     short   2306    PlanPerfect help file
                   14709: >8     short   2307    PlanPerfect keyboard file
                   14710: >8     short   2314    PlanPerfect worksheet
                   14711: >8     short   2319    PlanPerfect printer definition
                   14712: >8     short   2322    PlanPerfect graphic definition
                   14713: >8     short   2323    PlanPerfect data
                   14714: >8     short   2324    PlanPerfect temporary printer
                   14715: >8     short   2329    PlanPerfect macro resource data
                   14716: >8     byte    11      Mail
                   14717: >8     short   2818    help file
                   14718: >8     short   2821    distribution list
                   14719: >8     short   2826    out box
                   14720: >8     short   2827    in box
                   14721: >8     short   2836    users archived mailbox
                   14722: >8     short   2837    archived message database
                   14723: >8     short   2838    archived attachments
                   14724: >8     short   3083    Printer temporary file
                   14725: >8     short   3330    Scheduler help file
                   14726: >8     short   3338    Scheduler in file
                   14727: >8     short   3339    Scheduler out file
                   14728: >8     short   3594    GroupWise settings file
                   14729: >8     short   3601    GroupWise directory services
                   14730: >8     short   3627    GroupWise settings file
                   14731: >8     short   4362    Terminal resource data
                   14732: >8     short   4363    Terminal resource data
                   14733: >8     short   4395    Terminal resource data
                   14734: >8     short   4619    GUI loadable text
                   14735: >8     short   4620    graphics resource data
                   14736: >8     short   4621    printer settings file
                   14737: >8     short   4622    port definition file
                   14738: >8     short   4623    print queue parameters
                   14739: >8     short   4624    compressed file
                   14740: >8     short   5130    Network service msg file
                   14741: >8     short   5131    Network service msg file
                   14742: >8     short   5132    Async gateway login msg
                   14743: >8     short   5134    GroupWise message file
                   14744: >8     short   7956    GroupWise admin domain database
                   14745: >8     short   7957    GroupWise admin host database
                   14746: >8     short   7959    GroupWise admin remote host database
                   14747: >8     short   7960    GroupWise admin ADS deferment data file
                   14748: >8     short   8458    IntelliTAG (SGML) compiled DTD
                   14749: >8     long    18219264        WordPerfect graphic image (1.0)
                   14750: >8     long    18219520        WordPerfect graphic image (2.0)
                   14751: #end of WordPerfect type files Version 1.6 - PLEASE DO NOT REMOVE THIS LINE
                   14752: 
                   14753: # Hangul (Korean) Word Processor File
                   14754: 0      string  HWP\ Document\ File     Hangul (Korean) Word Processor File 3.0
                   14755: # From: Won-Kyu Park <wkpark@kldp.org>
                   14756: 512    string          R\0o\0o\0t\0    Hangul (Korean) Word Processor File 2000
                   14757: !:mime application/x-hwp
                   14758: 
                   14759: # CosmicBook, from Benoît Rouits
                   14760: 0       string  CSBK    Ted Neslson's CosmicBook hypertext file
                   14761: 
                   14762: 2       string  EYWR    AmigaWriter file
                   14763: 
                   14764: # chi:  file(1) magic for ChiWriter files
                   14765: 0       string          \\1cw\          ChiWriter file
                   14766: >5      string          >\0             version %s
                   14767: 0       string          \\1cw           ChiWriter file
                   14768: 
                   14769: # Quark Express from http://www.garykessler.net/library/file_sigs.html
                   14770: 2      string  IIXPR3                  Intel Quark Express Document (English)
                   14771: 2      string  IIXPRa                  Intel Quark Express Document (Korean)
                   14772: 2      string  MMXPR3                  Motorola Quark Express Document (English)
                   14773: !:mime application/x-quark-xpress-3
                   14774: 2      string  MMXPRa                  Motorola Quark Express Document (Korean)
                   14775: 
                   14776: # adobe indesign (document, whatever...) from querkan
                   14777: 0      belong  0x0606edf5              Adobe InDesign
                   14778: >16    string  DOCUMENT                Document
                   14779: 
                   14780: #------------------------------------------------------------------------------
                   14781: # ichitaro456: file(1) magic for Just System Word Processor Ichitaro
                   14782: #
                   14783: # Contributor kenzo-:
                   14784: # Reversed-engineered JS Ichitaro magic numbers
                   14785: #
                   14786: 
                   14787: 0      string          DOC
                   14788: >43    byte            0x14    Just System Word Processor Ichitaro v4
                   14789: !:mime application/x-ichitaro4
                   14790: >144   string  JDASH           application/x-ichitaro4
                   14791: 
                   14792: 0      string          DOC
                   14793: >43    byte            0x15    Just System Word Processor Ichitaro v5
                   14794: !:mime application/x-ichitaro5
                   14795: 
                   14796: 0      string          DOC
                   14797: >43    byte            0x16    Just System Word Processor Ichitaro v6
                   14798: !:mime application/x-ichitaro6
                   14799: 
                   14800: # Type: Freemind mindmap documents
                   14801: # From: Jamie Thompson <debian-bugs@jamie-thompson.co.uk>
                   14802: 0      string/cB       \<map\ version  Freemind document
                   14803: !:mime application/x-freemind
                   14804: 
                   14805: # Type:        Scribus
                   14806: # From:        Werner Fink <werner@suse.de>
                   14807: 0      string  \<SCRIBUSUTF8\ Version          Scribus Document
                   14808: 0      string  \<SCRIBUSUTF8NEW\ Version       Scribus Document
                   14809: !:mime application/x-scribus
                   14810: 
                   14811: #------------------------------------------------------------------------------
                   14812: # file(1) magic(5) data for xdelta  Josh MacDonald <jmacd@CS.Berkeley.EDU>
                   14813: #
                   14814: 0      string  %XDELTA%        XDelta binary patch file 0.14
                   14815: 0      string  %XDZ000%        XDelta binary patch file 0.18
                   14816: 0      string  %XDZ001%        XDelta binary patch file 0.20
                   14817: 0      string  %XDZ002%        XDelta binary patch file 1.0
                   14818: 0      string  %XDZ003%        XDelta binary patch file 1.0.4
                   14819: 0      string  %XDZ004%        XDelta binary patch file 1.1
                   14820: 
                   14821: #------------------------------------------------------------------------------
                   14822: # xenix:  file(1) magic for Microsoft Xenix
                   14823: #
                   14824: # "Middle model" stuff, and "Xenix 8086 relocatable or 80286 small
                   14825: # model" lifted from "magic.xenix", with comment "derived empirically;
                   14826: # treat as folklore until proven"
                   14827: #
                   14828: # "small model", "large model", "huge model" stuff lifted from XXX
                   14829: #
                   14830: # XXX - "x.out" collides with PDP-11 archives
                   14831: #
                   14832: 0      string          core            core file (Xenix)
                   14833: 0      byte            0x80            8086 relocatable (Microsoft)
                   14834: 0      leshort         0xff65          x.out
                   14835: >2     string          __.SYMDEF        randomized
                   14836: >0     byte            x               archive
                   14837: 0      leshort         0x206           Microsoft a.out
                   14838: >8     leshort         1               Middle model
                   14839: >0x1e  leshort         &0x10           overlay
                   14840: >0x1e  leshort         &0x2            separate
                   14841: >0x1e  leshort         &0x4            pure
                   14842: >0x1e  leshort         &0x800          segmented
                   14843: >0x1e  leshort         &0x400          standalone
                   14844: >0x1e  leshort         &0x8            fixed-stack
                   14845: >0x1c  byte            &0x80           byte-swapped
                   14846: >0x1c  byte            &0x40           word-swapped
                   14847: >0x10  lelong          >0              not-stripped
                   14848: >0x1e  leshort         ^0xc000         pre-SysV
                   14849: >0x1e  leshort         &0x4000         V2.3
                   14850: >0x1e  leshort         &0x8000         V3.0
                   14851: >0x1c  byte            &0x4            86
                   14852: >0x1c  byte            &0xb            186
                   14853: >0x1c  byte            &0x9            286
                   14854: >0x1c  byte            &0xa            386
                   14855: >0x1f  byte            <0x040          small model
                   14856: >0x1f  byte            =0x048          large model     
                   14857: >0x1f  byte            =0x049          huge model 
                   14858: >0x1e  leshort         &0x1            executable
                   14859: >0x1e  leshort         ^0x1            object file
                   14860: >0x1e  leshort         &0x40           Large Text
                   14861: >0x1e  leshort         &0x20           Large Data
                   14862: >0x1e  leshort         &0x120          Huge Objects Enabled
                   14863: >0x10  lelong          >0              not stripped
                   14864: 
                   14865: 0      leshort         0x140           old Microsoft 8086 x.out
                   14866: >0x3   byte            &0x4            separate
                   14867: >0x3   byte            &0x2            pure
                   14868: >0     byte            &0x1            executable
                   14869: >0     byte            ^0x1            relocatable
                   14870: >0x14  lelong          >0              not stripped
                   14871: 
                   14872: 0      lelong          0x206           b.out
                   14873: >0x1e  leshort         &0x10           overlay
                   14874: >0x1e  leshort         &0x2            separate
                   14875: >0x1e  leshort         &0x4            pure
                   14876: >0x1e  leshort         &0x800          segmented
                   14877: >0x1e  leshort         &0x400          standalone
                   14878: >0x1e  leshort         &0x1            executable
                   14879: >0x1e  leshort         ^0x1            object file
                   14880: >0x1e  leshort         &0x4000         V2.3
                   14881: >0x1e  leshort         &0x8000         V3.0
                   14882: >0x1c  byte            &0x4            86
                   14883: >0x1c  byte            &0xb            186
                   14884: >0x1c  byte            &0x9            286
                   14885: >0x1c  byte            &0x29           286
                   14886: >0x1c  byte            &0xa            386
                   14887: >0x1e  leshort         &0x4            Large Text
                   14888: >0x1e  leshort         &0x2            Large Data
                   14889: >0x1e  leshort         &0x102          Huge Objects Enabled
                   14890: 
                   14891: 0      leshort         0x580           XENIX 8086 relocatable or 80286 small model
                   14892: 
                   14893: #------------------------------------------------------------------------------
                   14894: # This is Aaron's attempt at a MAGIC file for Xilinx .bit files.
                   14895: # Xilinx-Magic@RevRagnarok.com
                   14896: # Got the info from FPGA-FAQ 0026
                   14897: #
                   14898: # First there is the sync header and its length
                   14899: 0      beshort 0x0009
                   14900: >2     belong  =0x0ff00ff0
                   14901: >>&0   belong  =0x0ff00ff0
                   14902: >>>&0  beshort =0x0000 
                   14903: >>>>&0 pstring a       Xilinx BIT data
                   14904: # Next is a Pascal-style string with the NCD name. We want to capture that.
                   14905: >>>>0x0F       pstring x       - from %s
                   14906: # It is followed by a NUL
                   14907: >>>>>&1        byte    0x00
                   14908: # And then 'b'
                   14909: >>>>>&2        string b
                   14910: # With the part number:
                   14911: #>>>>>&5 string        4v      (Virtex4)
                   14912: #>>>>>&5 string  2v    (Virtex II
                   14913: #>>>>>>&0      string  !p      \b)
                   14914: #>>>>>>&0      string  p       Pro)
                   14915: >>>>>&4        pstring x       - for %s
                   14916: # And then NUL / 'c' / Build Data / NUL / 'd' / Date / NUL / 'e' / Data Length
                   14917: >>>>>>&1       byte    0x00
                   14918: >>>>>>&2       string  c
                   14919: >>>>>>&4       pstring x       - built %s
                   14920: >>>>>>>&1      byte    0x00
                   14921: >>>>>>>&2      string  d
                   14922: >>>>>>>&4      pstring x       \b(%s)
                   14923: >>>>>>>>&1     byte    0x00
                   14924: >>>>>>>>&2     string  e
                   14925: >>>>>>>>&4     belong  x       - data length 0x%lx
                   14926: 
                   14927: #------------------------------------------------------------------------------
                   14928: # xo65 object files
                   14929: # From: "Ullrich von Bassewitz" <uz@cc65.org>
                   14930: #
                   14931: 0      string          \x55\x7A\x6E\x61        xo65 object,
                   14932: >4     leshort         x                       version %d,
                   14933: >6     leshort&0x0001 =0x0001                  with debug info
                   14934: >6     leshort&0x0001 =0x0000                  no debug info
                   14935: 
                   14936: # xo65 library files
                   14937: 0      string          \x6E\x61\x55\x7A        xo65 library,
                   14938: >4     leshort         x                       version %d
                   14939: 
                   14940: # o65 object files
                   14941: 0      string          \x01\x00\x6F\x36\x35    o65
                   14942: >6     leshort&0x1000  =0x0000                 executable,
                   14943: >6     leshort&0x1000  =0x1000                 object,
                   14944: >5     byte            x                       version %d,
                   14945: >6     leshort&0x8000  =0x8000                 65816,
                   14946: >6     leshort&0x8000  =0x0000                 6502,
                   14947: >6     leshort&0x2000  =0x2000                 32 bit,
                   14948: >6     leshort&0x2000  =0x0000                 16 bit,
                   14949: >6     leshort&0x4000  =0x4000                 page reloc,
                   14950: >6     leshort&0x4000  =0x0000                 byte reloc,
                   14951: >6     leshort&0x0003  =0x0000                 alignment 1
                   14952: >6     leshort&0x0003  =0x0001                 alignment 2
                   14953: >6     leshort&0x0003  =0x0002                 alignment 4
                   14954: >6     leshort&0x0003  =0x0003                 alignment 256
                   14955: 
                   14956: #------------------------------------------------------------------------------
                   14957: # xwindows:  file(1) magic for various X/Window system file formats.
                   14958: 
                   14959: # Compiled X Keymap 
                   14960: # XKM (compiled X keymap) files (including version and byte ordering)
                   14961: 1      string  mkx                             Compiled XKB Keymap: lsb,
                   14962: >0     byte    >0                              version %d
                   14963: >0     byte    =0                              obsolete
                   14964: 0      string  xkm                             Compiled XKB Keymap: msb,
                   14965: >3     byte    >0                              version %d
                   14966: >0     byte    =0                              obsolete
                   14967: 
                   14968: # xfsdump archive
                   14969: 0      string  xFSdump0                        xfsdump archive
                   14970: >8     belong  x       (version %d)
                   14971: 
                   14972: # Jaleo XFS files
                   14973: 0      long    395726                          Jaleo XFS file
                   14974: >4     long    x                               - version %ld
                   14975: >8     long    x                               - [%ld -
                   14976: >20    long    x                               %ldx
                   14977: >24    long    x                               %ldx
                   14978: >28    long    1008                            YUV422]
                   14979: >28    long    1000                            RGB24]
                   14980: 
                   14981: #------------------------------------------------------------------------------
                   14982: # zilog:  file(1) magic for Zilog Z8000.
                   14983: #
                   14984: # Was it big-endian or little-endian?  My Product Specification doesn't
                   14985: # say.
                   14986: #
                   14987: 0      long            0xe807          object file (z8000 a.out)
                   14988: 0      long            0xe808          pure object file (z8000 a.out)
                   14989: 0      long            0xe809          separate object file (z8000 a.out)
                   14990: 0      long            0xe805          overlay object file (z8000 a.out)
                   14991: 
                   14992: #------------------------------------------------------------------------------
                   14993: # zyxel:  file(1) magic for ZyXEL modems
                   14994: #
                   14995: # From <rob@pe1chl.ampr.org>
                   14996: # These are the /etc/magic entries to decode datafiles as used for the
                   14997: # ZyXEL U-1496E DATA/FAX/VOICE modems.  (This header conforms to a
                   14998: # ZyXEL-defined standard)
                   14999: 
                   15000: 0      string          ZyXEL\002       ZyXEL voice data
                   15001: >10    byte            0               - CELP encoding
                   15002: >10    byte&0x0B       1               - ADPCM2 encoding
                   15003: >10    byte&0x0B       2               - ADPCM3 encoding
                   15004: >10    byte&0x0B       3               - ADPCM4 encoding
                   15005: >10    byte&0x0B       8               - New ADPCM3 encoding
                   15006: >10    byte&0x04       4               with resync

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>