]> CyberLeo.Net >> Repos - FreeBSD/releng/10.3.git/blob - contrib/file/magic/Magdir/xenix
Update file(1) to new version with security update. [EN-18:02.file]
[FreeBSD/releng/10.3.git] / contrib / file / magic / Magdir / xenix
1
2 #------------------------------------------------------------------------------
3 # $File: xenix,v 1.11 2017/03/17 21:35:28 christos Exp $
4 # xenix:  file(1) magic for Microsoft Xenix
5 #
6 # "Middle model" stuff, and "Xenix 8086 relocatable or 80286 small
7 # model" lifted from "magic.xenix", with comment "derived empirically;
8 # treat as folklore until proven"
9 #
10 # "small model", "large model", "huge model" stuff lifted from XXX
11 #
12 # XXX - "x.out" collides with PDP-11 archives
13 #
14 0       string          core            core file (Xenix)
15 # URL: http://www.polarhome.com/service/man/?qf=86rel&tf=2&of=Xenix
16 # Reference: http://www.azillionmonkeys.com/qed/Omfg.pdf
17 # Update: Joerg Jenderek
18 # recordtype~TranslatorHEADerRecord
19 0       byte            0x80
20 # GRR: line above is too general as it catches also Extensible storage engine DataBase
21 # skip examples like GENA.SND Switch.Snd by looking for record length maximal 1024-3
22 >1      uleshort        <1022
23 # skip examples like GAME.PICTURE Strange.Pic by looking for positiv record length
24 >>1     uleshort        >0
25 # skip examples like Xtable.Data FRACTAL.GEN SHR.VIEW by looking for positiv string length
26 >>>3    ubyte           >0
27 # skip examples like OMBRE.6 with "UUUUUU" by looking for filename like "hello.c"
28 >>>>4   regex   [a-zA-Z_/]{1,8}[.]      8086 relocatable (Microsoft)
29 #!:mime application/octet-stream
30 !:mime  application/x-object
31 !:ext   o/a
32 >>>>>3  pstring         x               \b, "%s"
33 # checksum
34 #>>>>>(3.b+4)   ubyte   x               \b, checksum 0x%2.2x
35 0       leshort         0xff65          x.out
36 >2      string          __.SYMDEF        randomized
37 >0      byte            x               archive
38 0       leshort         0x206           Microsoft a.out
39 >8      leshort         1               Middle model
40 >0x1e   leshort         &0x10           overlay
41 >0x1e   leshort         &0x2            separate
42 >0x1e   leshort         &0x4            pure
43 >0x1e   leshort         &0x800          segmented
44 >0x1e   leshort         &0x400          standalone
45 >0x1e   leshort         &0x8            fixed-stack
46 >0x1c   byte            &0x80           byte-swapped
47 >0x1c   byte            &0x40           word-swapped
48 >0x10   lelong          >0              not-stripped
49 >0x1e   leshort         ^0xc000         pre-SysV
50 >0x1e   leshort         &0x4000         V2.3
51 >0x1e   leshort         &0x8000         V3.0
52 >0x1c   byte            &0x4            86
53 >0x1c   byte            &0xb            186
54 >0x1c   byte            &0x9            286
55 >0x1c   byte            &0xa            386
56 >0x1f   byte            <0x040          small model
57 >0x1f   byte            =0x048          large model
58 >0x1f   byte            =0x049          huge model
59 >0x1e   leshort         &0x1            executable
60 >0x1e   leshort         ^0x1            object file
61 >0x1e   leshort         &0x40           Large Text
62 >0x1e   leshort         &0x20           Large Data
63 >0x1e   leshort         &0x120          Huge Objects Enabled
64 >0x10   lelong          >0              not stripped
65
66 0       leshort         0x140           old Microsoft 8086 x.out
67 >0x3    byte            &0x4            separate
68 >0x3    byte            &0x2            pure
69 >0      byte            &0x1            executable
70 >0      byte            ^0x1            relocatable
71 >0x14   lelong          >0              not stripped
72
73 0       lelong          0x206           b.out
74 >0x1e   leshort         &0x10           overlay
75 >0x1e   leshort         &0x2            separate
76 >0x1e   leshort         &0x4            pure
77 >0x1e   leshort         &0x800          segmented
78 >0x1e   leshort         &0x400          standalone
79 >0x1e   leshort         &0x1            executable
80 >0x1e   leshort         ^0x1            object file
81 >0x1e   leshort         &0x4000         V2.3
82 >0x1e   leshort         &0x8000         V3.0
83 >0x1c   byte            &0x4            86
84 >0x1c   byte            &0xb            186
85 >0x1c   byte            &0x9            286
86 >0x1c   byte            &0x29           286
87 >0x1c   byte            &0xa            386
88 >0x1e   leshort         &0x4            Large Text
89 >0x1e   leshort         &0x2            Large Data
90 >0x1e   leshort         &0x102          Huge Objects Enabled
91
92 0       leshort         0x580           XENIX 8086 relocatable or 80286 small model