xref: /openbsd/usr.bin/file/magdir/mach (revision 380b5c7d)
1*380b5c7dSchl#	$OpenBSD: mach,v 1.4 2008/05/08 01:40:57 chl Exp $
2d4e7c603Sniklas
3*380b5c7dSchl#------------------------------------------------------------
4*380b5c7dSchl# Mach has two magic numbers, 0xcafebabe and 0xfeedface.
5*380b5c7dSchl# Unfortunately the first, cafebabe, is shared with
6*380b5c7dSchl# Java ByteCode, so they are both handled in the file "cafebabe".
7*380b5c7dSchl# The "feedface" ones are handled herein.
8*380b5c7dSchl#------------------------------------------------------------
9*380b5c7dSchl0	lelong&0xfeffffff	0xfeedface	Mach-O
10*380b5c7dSchl>0	byte		0xcf		64-bit
11*380b5c7dSchl>12	lelong		1		object
12*380b5c7dSchl>12	lelong		2		executable
13*380b5c7dSchl>12	lelong		3		fixed virtual memory shared library
14*380b5c7dSchl>12	lelong		4		core
15*380b5c7dSchl>12	lelong		5		preload executable
16*380b5c7dSchl>12	lelong		6		dynamically linked shared library
17*380b5c7dSchl>12	lelong		7		dynamic linker
18*380b5c7dSchl>12	lelong		8		bundle
19*380b5c7dSchl>12	lelong		9		dynamically linked shared library stub
20*380b5c7dSchl>12	lelong		>9
21*380b5c7dSchl>>12	lelong		x		filetype=%ld
22*380b5c7dSchl>4	lelong		<0
23*380b5c7dSchl>>4	lelong		x		architecture=%ld
24*380b5c7dSchl>4	lelong		1		vax
25*380b5c7dSchl>4	lelong		2		romp
26*380b5c7dSchl>4	lelong		3		architecture=3
27*380b5c7dSchl>4	lelong		4		ns32032
28*380b5c7dSchl>4	lelong		5		ns32332
29*380b5c7dSchl>4	lelong		6		m68k
30*380b5c7dSchl>4	lelong		7		i386
31*380b5c7dSchl>4	lelong		8		mips
32*380b5c7dSchl>4	lelong		9		ns32532
33*380b5c7dSchl>4	lelong		10		architecture=10
34*380b5c7dSchl>4	lelong		11		hppa
35*380b5c7dSchl>4	lelong		12		acorn
36*380b5c7dSchl>4	lelong		13		m88k
37*380b5c7dSchl>4	lelong		14		sparc
38*380b5c7dSchl>4	lelong		15		i860-big
39*380b5c7dSchl>4	lelong		16		i860
40*380b5c7dSchl>4	lelong		17		rs6000
41*380b5c7dSchl>4	lelong		18		ppc
42*380b5c7dSchl>4	lelong		16777234	ppc64
43*380b5c7dSchl>4	lelong		>16777234
44*380b5c7dSchl>>4	lelong		x		architecture=%ld
45ab0f8c09Smillert#
46*380b5c7dSchl0	belong&0xfffffffe	0xfeedface	Mach-O
47*380b5c7dSchl>3	byte		0xcf		64-bit
48ab0f8c09Smillert>12	belong		1		object
49ab0f8c09Smillert>12	belong		2		executable
50*380b5c7dSchl>12	belong		3		fixed virtual memory shared library
51ab0f8c09Smillert>12	belong		4		core
52ab0f8c09Smillert>12	belong		5		preload executable
5336c0c0feStedu>12	belong		6               dynamically linked shared library
5436c0c0feStedu>12	belong		7               dynamic linker
5536c0c0feStedu>12	belong		8		bundle
56*380b5c7dSchl>12	belong		9		dynamically linked shared library stub
57*380b5c7dSchl>12	belong		>9
58ab0f8c09Smillert>>12	belong		x		filetype=%ld
59ab0f8c09Smillert>4	belong		<0
60ab0f8c09Smillert>>4	belong		x		architecture=%ld
61ab0f8c09Smillert>4	belong		1		vax
62ab0f8c09Smillert>4	belong		2		romp
63ab0f8c09Smillert>4	belong		3		architecture=3
64ab0f8c09Smillert>4	belong		4		ns32032
65ab0f8c09Smillert>4	belong		5		ns32332
66ab0f8c09Smillert>4	belong		6		for m68k architecture
6736c0c0feStedu# from NeXTstep 3.0 <mach/machine.h>
6836c0c0feStedu# i.e. mc680x0_all, ignore
6936c0c0feStedu# >>8	belong		1		(mc68030)
7036c0c0feStedu>>8	belong		2		(mc68040)
7136c0c0feStedu>>8	belong		3		(mc68030 only)
72ab0f8c09Smillert>4	belong		7		i386
73ab0f8c09Smillert>4	belong		8		mips
74ab0f8c09Smillert>4	belong		9		ns32532
75ab0f8c09Smillert>4	belong		10		architecture=10
76*380b5c7dSchl>4	belong		11		hppa
77ab0f8c09Smillert>4	belong		12		acorn
78ab0f8c09Smillert>4	belong		13		m88k
79ab0f8c09Smillert>4	belong		14		sparc
80ab0f8c09Smillert>4	belong		15		i860-big
81ab0f8c09Smillert>4	belong		16		i860
82ab0f8c09Smillert>4	belong		17		rs6000
8336c0c0feStedu>4	belong		18		ppc
84*380b5c7dSchl>4	belong		16777234	ppc64
85*380b5c7dSchl>4	belong		>16777234
86ab0f8c09Smillert>>4	belong		x		architecture=%ld
87