xref: /openbsd/usr.bin/file/magdir/xenix (revision 36c0c0fe)
1*36c0c0feStedu#	$OpenBSD: xenix,v 1.2 2004/06/03 03:14:20 tedu Exp $
2ab0f8c09Smillert
3ab0f8c09Smillert#------------------------------------------------------------------------------
4ab0f8c09Smillert# xenix:  file(1) magic for Microsoft Xenix
5ab0f8c09Smillert#
6ab0f8c09Smillert# "Middle model" stuff, and "Xenix 8086 relocatable or 80286 small
7ab0f8c09Smillert# model" lifted from "magic.xenix", with comment "derived empirically;
8ab0f8c09Smillert# treat as folklore until proven"
9ab0f8c09Smillert#
10ab0f8c09Smillert# "small model", "large model", "huge model" stuff lifted from XXX
11ab0f8c09Smillert#
12ab0f8c09Smillert# XXX - "x.out" collides with PDP-11 archives
13ab0f8c09Smillert#
14ab0f8c09Smillert0	string		core		core file (Xenix)
15ab0f8c09Smillert0	byte		0x80		8086 relocatable (Microsoft)
16ab0f8c09Smillert0	leshort		0xff65		x.out
17ab0f8c09Smillert>2	string		__.SYMDEF	 randomized
18ab0f8c09Smillert>0	byte		x		archive
19ab0f8c09Smillert0	leshort		0x206		Microsoft a.out
20ab0f8c09Smillert>8	leshort		1		Middle model
21ab0f8c09Smillert>0x1e	leshort		&0x10		overlay
22ab0f8c09Smillert>0x1e	leshort		&0x2		separate
23ab0f8c09Smillert>0x1e	leshort		&0x4		pure
24ab0f8c09Smillert>0x1e	leshort		&0x800		segmented
25ab0f8c09Smillert>0x1e	leshort		&0x400		standalone
26ab0f8c09Smillert>0x1e	leshort		&0x8		fixed-stack
27ab0f8c09Smillert>0x1c	byte		&0x80		byte-swapped
28ab0f8c09Smillert>0x1c	byte		&0x40		word-swapped
29ab0f8c09Smillert>0x10	lelong		>0		not-stripped
30ab0f8c09Smillert>0x1e	leshort		^0xc000		pre-SysV
31ab0f8c09Smillert>0x1e	leshort		&0x4000		V2.3
32ab0f8c09Smillert>0x1e	leshort		&0x8000		V3.0
33ab0f8c09Smillert>0x1c	byte		&0x4		86
34ab0f8c09Smillert>0x1c	byte		&0xb		186
35ab0f8c09Smillert>0x1c	byte		&0x9		286
36ab0f8c09Smillert>0x1c	byte		&0xa		386
37ab0f8c09Smillert>0x1f	byte		<0x040		small model
38ab0f8c09Smillert>0x1f	byte		=0x048		large model
39ab0f8c09Smillert>0x1f	byte		=0x049		huge model
40ab0f8c09Smillert>0x1e	leshort		&0x1		executable
41ab0f8c09Smillert>0x1e	leshort		^0x1		object file
42ab0f8c09Smillert>0x1e	leshort		&0x40		Large Text
43ab0f8c09Smillert>0x1e	leshort		&0x20		Large Data
44ab0f8c09Smillert>0x1e	leshort		&0x120		Huge Objects Enabled
45ab0f8c09Smillert>0x10	lelong		>0		not stripped
46ab0f8c09Smillert
47ab0f8c09Smillert0	leshort		0x140		old Microsoft 8086 x.out
48ab0f8c09Smillert>0x3	byte		&0x4		separate
49ab0f8c09Smillert>0x3	byte		&0x2		pure
50ab0f8c09Smillert>0	byte		&0x1		executable
51ab0f8c09Smillert>0	byte		^0x1		relocatable
52ab0f8c09Smillert>0x14	lelong		>0		not stripped
53ab0f8c09Smillert
54ab0f8c09Smillert0	lelong		0x206		b.out
55ab0f8c09Smillert>0x1e	leshort		&0x10		overlay
56ab0f8c09Smillert>0x1e	leshort		&0x2		separate
57ab0f8c09Smillert>0x1e	leshort		&0x4		pure
58ab0f8c09Smillert>0x1e	leshort		&0x800		segmented
59ab0f8c09Smillert>0x1e	leshort		&0x400		standalone
60ab0f8c09Smillert>0x1e	leshort		&0x1		executable
61ab0f8c09Smillert>0x1e	leshort		^0x1		object file
62ab0f8c09Smillert>0x1e	leshort		&0x4000		V2.3
63ab0f8c09Smillert>0x1e	leshort		&0x8000		V3.0
64ab0f8c09Smillert>0x1c	byte		&0x4		86
65ab0f8c09Smillert>0x1c	byte		&0xb		186
66ab0f8c09Smillert>0x1c	byte		&0x9		286
67ab0f8c09Smillert>0x1c	byte		&0x29		286
68ab0f8c09Smillert>0x1c	byte		&0xa		386
69ab0f8c09Smillert>0x1e	leshort		&0x4		Large Text
70ab0f8c09Smillert>0x1e	leshort		&0x2		Large Data
71ab0f8c09Smillert>0x1e	leshort		&0x102		Huge Objects Enabled
72ab0f8c09Smillert
73ab0f8c09Smillert0	leshort		0x580		XENIX 8086 relocatable or 80286 small model
74