#ident	"@(#)file:magic	1.34"
#
#		file cmd's magic file
#
#
#	Basically, the fields of this file are as follows:
#	byte offset, value type, optional operator (= by default), value
#	to match (numeric or string), and string to be printed.  Numeric
#	values may be decimal, octal, or hex.  Also note that the last
#	string may have 1 printf format spec.
#	The '>' in occassional column 1's is magic: it forces file to
#	continue scanning and matching additional lines.  The first line
#	afterwards not so marked terminates the search.
#
0	string		ELF		ELF
>4	byte		1		32-bit
>5	byte		1		LSB
>5	byte		2		MSB
>16	short		0		unknown type
>16	short		1		relocatable
>16	short		2		executable
>16	short		3		dynamic lib
>16	short		4		core file
>18	short		0		unknown machine
>18	short		1		WE32100
>18	short		2		SPARC
>18	short		3		80386
>18	short		4		M68000
>18	short		5		M88000
>20	long		1		Version 1
>36	long		1		MAU Required
0	string		070701		expanded ASCII cpio archive
0	string		070702		expanded ASCII cpio archive - CRC header
0	short		070707		cpio archive
0	string		070707		ASCII cpio archive
0	long		0177555		obsolete ar archive
0	short		0177545		pdp11/pre System V ar archive
0	long		0100554		apl workspace
0	short		017037		packed data
0	string		<ar>		System V Release 1 ar archive
0	string		!<arch>		current ar archive
0	short		0407		pdp11/pre System V vax executable
>8	short		>0		not stripped
>15	byte		>0		- version %ld
0	short		0401		unix-rt ldp
0	short		0405		pdp11 overlay
0	short		0410		pdp11/pre System V vax pure executable
>8	short		>0		not stripped
>15	byte		>0		- version %ld
0	short		0411		pdp11 separate I&D
>8	short		>0		not stripped
>15	byte		>0		- version %ld
0	short		0432		Compiled Terminfo Entry
0	short		0433		Curses screen image
0	short		0434		Curses screen image
0	short		0437		pdp11 kernel overlay
0	short		0570		vax executable
>12	long		>0		not stripped
>22	short		>0		- version %ld
0	short		0575		vax pure executable
>12	long		>0		not stripped
>22	short		>0		- version %ld
0	short		0502		basic-16 executable
>12	long		>0		not stripped
>22	short		>0		- version %ld
0	short		0503		basic-16 executable (TV)
>12	long		>0		not stripped
>22	short		>0		- version %ld
0	short		0510		x86 executable
>12	long		>0		not stripped
0	short		0511		x86 executable (TV)
>12	long		>0		not stripped
0	short		0550		3b20 executable
>12	long		>0		not stripped
>22	short		>0		- version %ld
0	short		0551		3b20 executable (TV)
>12	long		>0		not stripped
>22	short		>0		- version %ld
0	short		0560		WE32000 executable
>12	long		>0		not stripped
>18	short		^00010000	- N/A on 3b2/300 w/paging
>18	short		&00020000	- 32100 required
>18	short		&00040000	and mau hardware required
>20	short		0443		(target shared library)
>20	short		0410		(swapped)
>20	short		0413		(paged)
>22	short		>0		- version %ld
0	short		0561		WE32000 executable (TV)
>12	long		>0		not stripped
>18	short		&00020000	- 32100 required
>18	short		&00040000	and mau hardware required
>22	short		>0		- version %ld
0	string		MZ		DOS executable (EXE)
0	string		LZ		DOS built-in
0	byte		0xe9		DOS executable (COM)
0	byte		0xeb		DOS executable (COM)
0	short		=0512		iAPX 286 executable small model (COFF)
>12	long		>0		not stripped
>22	short		>0		- version %ld
0	short		=0522		iAPX 286 executable large model (COFF)
>12	long		>0		not stripped
>22	short		>0		- version %ld
0	short		0520		mc68k executable
>12	long		>0		not stripped
0	short		0521		mc68k executable (shared)
>12	long		>0		not stripped
0	short		0522		mc68k executable (shared demand paged)
>12	long		>0		not stripped
0	short		=0514		iAPX 386 executable
>12	long		>0		not stripped
>22	short		>0		- version %ld
0	string		core		core file (Xenix)
0	byte		0x80		8086 relocatable (Microsoft)
0	byte		0xf0		MS-DOS library
0	short		0xff65		x.out
>2	string		__.SYMDEF	 randomized
>0	byte		x		archive
0	short		0x206		Microsoft a.out
>0x1e	short		&0x10		overlay
>0x1e	short		&0x2		separate
>0x1e	short		&0x4		pure
>0x1e	short		&0x800		segmented
>0x1e	short		&0x400		standalone
>0x1e	short		&0x8		fixed-stack
>0x1c	byte		&0x80		byte-swapped
>0x1c	byte		&0x40		word-swapped
>0x10	long		>0		not-stripped
>0x1e	short		^0xc000		pre-SysV
>0x1c	byte		&0x4		86
>0x1c	byte		&0x9		286
>0x1c	byte		&0xa		386
>0x1e	short		&0x1		executable
>0x1e	short		^0x1		object file
>0x1e	short		&0x40		Large Text
>0x1e	short		&0x20		Large Data
>0x1e	short		&0x120		Huge Objects Enabled
0	short		0x10b		VAX demand load format a.out object file
>0x10	long		>0		not stripped
0	short		0x140		old Microsoft 8086 x.out
>0x3	byte		&0x4		separate
>0x3	byte		&0x2		pure
>0	byte		&0x1		executable
>0	byte		^0x1		relocatable
>0x14	long		>0		not stripped
0	short		0xe807		object file (z8000 a.out)
0	short		0xe808		pure object file (z8000 a.out)
0	short		0xe809		separate object file (z8000 a.out)
0	short		0xe805		overlay object file (z8000 a.out)
0	long		0x206		b.out
>0x1e	short		&0x10		overlay
>0x1e	short		&0x2		separate
>0x1e	short		&0x4		pure
>0x1e	short		&0x800		segmented
>0x1e	short		&0x400		standalone
>0x1e	short		&0x1		executable
>0x1e	short		^0x1		object file
>0x1e	short		&0x4000		V2.3
>0x1e	short		&0x8000		V3.0
>0x1c	byte		&0x4		86
>0x1c	byte		&0xb		186
>0x1c	byte		&0x9		286
>0x1c	byte		&0x29		286
>0x1c	byte		&0xa		386
>0x1e	short		&0x4		Large Text
>0x1e	short		&0x2		Large Data
>0x1e	short		&0x102		Huge Objects Enabled
0	long		0x10b		VAX demand load format a.out object file
>0x10	long		>0		not stripped
0	long		0x140		old Microsoft 8086 x.out
>0x3	byte		&0x4		separate
>0x3	byte		&0x2		pure
>0	byte		&0x1		executable
>0	byte		^0x1		relocatable
>0x14	long		>0		not stripped
0	long		0xe807		object file (z8000 a.out)
0	long		0xe808		pure object file (z8000 a.out)
0	long		0xe809		separate object file (z8000 a.out)
0	long		0xe805		overlay object file (z8000 a.out)
0	long		0x178		Bell 5.0 executable
# Compressed information
0	short		017635		compressed data (3b2)
0	short		0116437		compressed data
>2	byte		0214		- with 12 bits
>2	byte		0215		- with 13 bits
>2	byte		0216		- with 14 bits
>2	byte		0217		- with 15 bits
>2	byte		0220		- with 16 bits
