file_cmds-60.tar.gz
[apple/file_cmds.git] / file / magdir / mach
1 #------------------------------------------------------------------------------
2 # mach file description
3 #
4 # Since Java bytecode and Mach-O fat-files have the same magic number the test
5 # must be preformed in the same "magic" sequence to get both right.  The long
6 # at offset 4 in a fat file tells the number of architectures.  The short at
7 # offset 4 in a Java bytecode file is the compiler minor version and the
8 # short at offset 6 is the compiler major version.  Since the minor version is
9 # never to be non-zero then the hack of testing for the number of architectures
10 # to be less that the maximum short is done here.
11 #
12 0       belong          0xcafebabe
13 >4      belong          0x0003002d      Java bytecode
14 >4      belong          1               Mach-O fat file with 1 architecture
15 >4      belong          >1
16 >>4     belong          <0xffff         Mach-O fat file with %ld architectures
17 #
18 0       lelong          0xfeedface      Mach-O
19 >12     lelong          1               object
20 >12     lelong          2               executable
21 >12     lelong          3               fixed virtual memory shared library
22 >12     lelong          4               core
23 >12     lelong          5               preload executable
24 >12     lelong          6               dynamically linked shared library
25 >12     lelong          7               dynamic linker
26 >12     lelong          8               bundle
27 >12     lelong          >8
28 >>12    lelong          x               filetype=%ld
29 >4      lelong          <0
30 >>4     lelong          x               architecture=%ld
31 >4      lelong          1               vax
32 >4      lelong          2               romp
33 >4      lelong          3               architecture=3
34 >4      lelong          4               ns32032
35 >4      lelong          5               ns32332
36 >4      lelong          6               m68k
37 >4      lelong          7               i386
38 >4      lelong          8               mips
39 >4      lelong          9               ns32532
40 >4      lelong          10              architecture=10
41 >4      lelong          11              hppa
42 >4      lelong          12              acorn
43 >4      lelong          13              m88k
44 >4      lelong          14              sparc
45 >4      lelong          15              i860-big
46 >4      lelong          16              i860
47 >4      lelong          17              rs6000
48 >4      lelong          18              ppc
49 >4      lelong          >18
50 >>4     lelong          x               architecture=%ld
51 #
52 0       belong          0xfeedface      Mach-O
53 >12     belong          1               object
54 >12     belong          2               executable
55 >12     belong          3               fixed virtual memory shared library
56 >12     belong          4               core
57 >12     belong          5               preload executable
58 >12     belong          6               dynamically linked shared library
59 >12     belong          7               dynamic linker
60 >12     belong          8               bundle
61 >12     belong          >8
62 >>12    belong          x               filetype=%ld
63 >4      belong          <0
64 >>4     belong          x               architecture=%ld
65 >4      belong          1               vax
66 >4      belong          2               romp
67 >4      belong          3               architecture=3
68 >4      belong          4               ns32032
69 >4      belong          5               ns32332
70 >4      belong          6               m68k
71 >4      belong          7               i386
72 >4      belong          8               mips
73 >4      belong          9               ns32532
74 >4      belong          10              architecture=10
75 >4      belong          11              hppa
76 >4      belong          12              acorn
77 >4      belong          13              m88k
78 >4      belong          14              sparc
79 >4      belong          15              i860-big
80 >4      belong          16              i860
81 >4      belong          17              rs6000
82 >4      belong          18              ppc
83 >4      belong          >18
84 >>4     belong          x               architecture=%ld