#ident "$Header: magic,v 1.8.1.2 92/08/02 21:15:35 marker Exp $"
#	"@(#)file:magic	1.30"
#		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), message identifier for the string
#	to be printed and a default string if the specified string cannot
#	be retrieved from the message databases.  Numeric
#	values may be decimal, octal, or hex.  The message identifier field
#	can be omitted, in which case the default string will be used as is.
#	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		uxcore:226	32-bit
>4	byte	2				64-bit
>5	byte	1		uxcore:227	LSB
>5	byte	2		uxcore:228	MSB
>16	short	0		uxcore:229	unknown type
>16	short	1		uxcore:230	relocatable
>16	short	2		uxcore:231	executable
>16	short	3		uxcore:232	dynamic lib
>16	short	4		uxcore:233	core file
>18	short	0		uxcore:234	unknown machine
>18	short	1				WE32100
>18	short	2				SPARC
>18	short	3				80386
>18	short	4				M68000
>18	short	5				M88000
>18	short	6				860
>18	short	8				MIPS
>20	long	x				- version %ld
# >36	long	1		uxcore:236	MAU Required
0	short	070701		uxcore:237	cpio archive
0	string	070701		uxcore:238	ASCII cpio archive
0	short	070702		uxcore:239	cpio archive - CRC header
0	string	070702		uxcore:240	ASCII cpio archive - CRC header
0	short	070707		uxcore:241	cpio archive - CHR (-c) header
0	string	070707		uxcore:242	ASCII cpio archive - CHR (-c) header
0	long	0177555		uxcore:243	obsolete ar archive
0	short	0177545		uxcore:244	pdp11/pre System V ar archive
0	long	0100554		uxcore:245	apl workspace
0	short	017037		uxcore:246	packed data
0	short		8093		compressed data
>2	byte		<0200		- %d bits
>2	byte		0214		- 12 bits
>2	byte		0215		- 13 bits
>2	byte		0220		- 16 bits
0	string	<ar>		uxcore:247	System V Release 1 ar archive
0	short	0407		uxcore:249	pdp11/pre System V vax executable
>8	short	>0		uxcore:250	not stripped
>15	byte	>0		uxcore:251	- version %ld
0	short	0401		uxcore:252	unix-rt ldp
0	short	0405		uxcore:253	pdp11 overlay
0	short	0410		uxcore:254	pdp11/pre System V vax pure executable
>8	short	>0		uxcore:250	not stripped
>15	byte	>0		uxcore:251	- version %ld
0	short	0411		uxcore:255	pdp11 separate I&D
>8	short	>0		uxcore:250	not stripped
>15	byte	>0		uxcore:251	- version %ld
0	short	0432		uxcore:256	Compiled Terminfo Entry
0	short	0433		uxcore:257	Curses screen image
0	short	0434		uxcore:257	Curses screen image
0	short	0437		uxcore:258	pdp11 kernel overlay
0	short	0570		uxcore:259	vax executable
>12	long	>0		uxcore:250	not stripped
>22	short	>0		uxcore:251	- version %ld
0	short	0575		uxcore:260	vax pure executable
>12	long	>0		uxcore:250	not stripped
>22	short	>0		uxcore:251	- version %ld
# 0502 = 0x142 (mipsel mips3)
#0	short	0502		uxcore:261	basic-16 executable
#>12	long	>0		uxcore:250	not stripped
#>22	short	>0		uxcore:251	- version %ld
0	short	0503		uxcore:262	basic-16 executable (TV)
>12	long	>0		uxcore:250	not stripped
>22	short	>0		uxcore:251	- version %ld
0	short	0510		uxcore:263	x86 executable
>12	long	>0		uxcore:250	not stripped
0	short	0511		uxcore:264	x86 executable (TV)
>12	long	>0		uxcore:250	not stripped
0	short	0550		uxcore:265	3b20 executable
>12	long	>0		uxcore:250	not stripped
>22	short	>0		uxcore:251	- version %ld
0	short	0551		uxcore:266	3b20 executable (TV)
>12	long	>0		uxcore:250	not stripped
>22	short	>0		uxcore:251	- version %ld
0	short	0560		uxcore:267	WE32000 executable
>12	long	>0		uxcore:250	not stripped
>18	short	^00010000	uxcore:268	- N/A on 3b2/300 w/paging
>18	short	&00020000	uxcore:269	- 32100 required
>18	short	&00040000	uxcore:270	and mau hardware required
>20	short	0443		uxcore:271	(target shared library)
>20	short	0410		uxcore:272	(swapped)
>20	short	0413		uxcore:273	(paged)
>22	short	>0		uxcore:251	- version %ld
0	short	0561		uxcore:274	WE32000 executable (TV)
>12	long	>0		uxcore:250	not stripped
>18	short	&00020000	uxcore:269	- 32100 required
>18	short	&00040000	uxcore:270	and mau hardware required
>22	short	>0		uxcore:251	- version %ld
0	short	=0512		uxcore:275	iAPX 286 executable small model (COFF)
>12	long	>0		uxcore:250	not stripped
>22	short	>0		uxcore:251	- version %ld
0	short	=0522		uxcore:276	iAPX 286 executable large model (COFF)
>12	long	>0		uxcore:250	not stripped
>22	short	>0		uxcore:251	- version %ld
0	short	0520		uxcore:277	mc68k executable
>12	long	>0		uxcore:250	not stripped
0	short	0521		uxcore:278	mc68k executable (shared)
>12	long	>0		uxcore:250	not stripped
0	short	0522		uxcore:279	mc68k executable (shared demand paged)
>12	long	>0		uxcore:250	not stripped
0	byte	0x80		uxcore:280	8086 relocatable (Microsoft)
0	byte	0xf0		uxcore:281	MS-DOS library
0	short	0xff65				x.out
>2	string	__.SYMDEF	uxcore:282	 randomized
>0	byte	x		uxcore:283	archive
0	short	0x206		uxcore:284	Microsoft a.out
>0x1e	short	&0x10		uxcore:285	overlay
>0x1e	short	&0x2		uxcore:286	separate
>0x1e	short	&0x4		uxcore:287	pure
>0x1e	short	&0x800		uxcore:288	segmented
>0x1e	short	&0x400		uxcore:289	standalone
>0x1e	short	&0x8		uxcore:290	fixed-stack
>0x1c	byte	&0x80		uxcore:291	byte-swapped
>0x1c	byte	&0x40		uxcore:292	word-swapped
>0x10	long	>0		uxcore:293	not-stripped
>0x1e	short	^0xc000		uxcore:294	pre-SysV
>0x1c	byte	&0x4				86
>0x1c	byte	&0x9				286
>0x1c	byte	&0xa				386
>0x1e	short	&0x1		uxcore:231	executable
>0x1e	short	^0x1		uxcore:295	object file
>0x1e	short	&0x40		uxcore:296	Large Text
>0x1e	short	&0x20		uxcore:297	Large Data
>0x1e	short	&0x120		uxcore:298	Huge Objects Enabled
0	short	0x10b		uxcore:299	VAX demand load format a.out object file
>0x10	long	>0		uxcore:250	not stripped
#
# MIPS binary information
#
0	short		0x0160		mipseb
>18	short		&020000		dynamic
>20	short		0407		executable
>20	short		0410		pure
>20	short		0413		demand paged
>8	long		!0		not stripped
>8	long		0		stripped
>22	byte		x		- version %ld.
>23	byte		x		\b%ld
0	short		0x0162		mipsel
>18	short		&020000		dynamic
>20	short		0407		executable
>20	short		0410		pure
>20	short		0413		demand paged
>8	long		!0		not stripped
>8	long		0		stripped
>22	byte		x		- version %ld.
>23	byte		x		\b%ld
0	short		0x6001		swapped mipseb
>18	short		&020000		dynamic
>20	short		03401		executable
>20	short		04001		pure
>20	short		05401		demand paged
>8	long		!0		not stripped
>8	long		0		stripped
>23	byte		x		- version %ld.
>22	byte		x		\b%ld
0	short		0x6201		swapped mipsel
>18	short		&020000		dynamic
>20	short		03401		executable
>20	short		04001		pure
>20	short		05401		demand paged
>8	long		!0		not stripped
>8	long		0		stripped
>23	byte		x		- version %ld.
>22	byte		x		\b%ld
0	short		0x180		mipseb ucode
0	short		0x182		mipsel ucode
0	short		0x0163		mipseb mips2
>20	short		0407		executable
>20	short		0410		pure
>20	short		0413		demand paged
>8	long		!0		not stripped
>8	long		0		stripped
>22	byte		x		- version %ld.
>23	byte		x		\b%ld
0	short		0x0166		mipsel mips2
>20	short		0407		executable
>20	short		0410		pure
>20	short		0413		demand paged
>8	long		!0		not stripped
>8	long		0		stripped
>22	byte		x		- version %ld.
>23	byte		x		\b%ld
0	short		0x6301		swapped mipseb mips2
>20	short		03401		executable
>20	short		04001		pure
>20	short		05401		demand paged
>8	long		!0		not stripped
>8	long		0		stripped
>23	byte		x		- version %ld.
>22	byte		x		\b%ld
0	short		0x6601		swapped mipsel mips2
>20	short		03401		executable
>20	short		04001		pure
>20	short		05401		demand paged
>8	long		!0		not stripped
>8	long		0		stripped
>23	byte		x		- version %ld.
>22	byte		x		\b%ld
0	short		0x0140		mipseb mips3
>20	short		0407		executable
>20	short		0410		pure
>20	short		0413		demand paged
>8	long		!0		not stripped
>8	long		0		stripped
>22	byte		x		- version %ld.
>23	byte		x		\b%ld
0	short		0x0142		mipsel mips3
>20	short		0407		executable
>20	short		0410		pure
>20	short		0413		demand paged
>8	long		!0		not stripped
>8	long		0		stripped
>22	byte		x		- version %ld.
>23	byte		x		\b%ld
0	short		0x4001		swapped mipseb mips3
>20	short		03401		executable
>20	short		04001		pure
>20	short		05401		demand paged
>8	long		!0		not stripped
>8	long		0		stripped
>23	byte		x		- version %ld.
>22	byte		x		\b%ld
0	short		0x4201		swapped mipsel mips3
>20	short		03401		executable
>20	short		04001		pure
>20	short		05401		demand paged
>8	long		!0		not stripped
>8	long		0		stripped
>23	byte		x		- version %ld.
>22	byte		x		\b%ld
#
# Old Microsoft objects, moved after mips objects since we are re-using
# the magic 0x140 for mips3 object.
#
0	short	0x140		uxcore:300	old Microsoft 8086 x.out
>0x3	byte	&0x4		uxcore:286	separate
>0x3	byte	&0x2		uxcore:287	pure
>0	byte	&0x1		uxcore:231	executable
>0	byte	^0x1		uxcore:230	relocatable
>0x14	long	>0		uxcore:250	not stripped
0	long	0x10b		uxcore:299	VAX demand load format a.out object file
>0x10	long	>0		uxcore:250	not stripped
0	long	0x140		uxcore:300	old Microsoft 8086 x.out
>0x3	byte	&0x4		uxcore:286	separate
>0x3	byte	&0x2		uxcore:287	pure
>0	byte	&0x1		uxcore:231	executable
>0	byte	^0x1		uxcore:230	relocatable
>0x14	long	>0		uxcore:250	not stripped
0	long	0xe807		uxcore:301	object file (z8000 a.out)
0	long	0xe808		uxcore:302	pure object file (z8000 a.out)
0	long	0xe809		uxcore:303	separate object file (z8000 a.out)
0	long	0xe805		uxcore:304	overlay object file (z8000 a.out)
0	long	0x178		uxcore:305	Bell 5.0 executable
#
# Archives - This handles archive subtypes
#
0	string		!<arch>\n__________E	MIPS archive
>20	string		U			with mipsucode members
>21	string		L			with mipsel members
>21	string		B			with mipseb members
>19	string		L			and a EL hash table
>19	string		B			and a EB hash table
>22	string		X			-- out of date
0	string	!<arch>		uxcore:248	current ar archive
