1//,,,-- llvm/Support/MachO.def - The MachO file definitions -----*- C++ -*-,,,//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//,,,----------------------------------------------------------------------,,,//
9//
10// Definitions for MachO files
11//
12//,,,----------------------------------------------------------------------,,,//
13
14#ifdef HANDLE_LOAD_COMMAND
15
16HANDLE_LOAD_COMMAND(LC_SEGMENT, 0x00000001u, segment_command)
17HANDLE_LOAD_COMMAND(LC_SYMTAB, 0x00000002u, symtab_command)
18// LC_SYMSEG is obsolete and no longer supported.
19HANDLE_LOAD_COMMAND(LC_SYMSEG, 0x00000003u, symseg_command)
20HANDLE_LOAD_COMMAND(LC_THREAD, 0x00000004u, thread_command)
21HANDLE_LOAD_COMMAND(LC_UNIXTHREAD, 0x00000005u, thread_command)
22// LC_LOADFVMLIB is obsolete and no longer supported.
23HANDLE_LOAD_COMMAND(LC_LOADFVMLIB, 0x00000006u, fvmlib_command)
24// LC_IDFVMLIB is obsolete and no longer supported.
25HANDLE_LOAD_COMMAND(LC_IDFVMLIB, 0x00000007u, fvmlib_command)
26// LC_IDENT is obsolete and no longer supported.
27HANDLE_LOAD_COMMAND(LC_IDENT, 0x00000008u, ident_command)
28// LC_FVMFILE is obsolete and no longer supported.
29HANDLE_LOAD_COMMAND(LC_FVMFILE, 0x00000009u, fvmfile_command)
30// LC_PREPAGE is obsolete and no longer supported.
31HANDLE_LOAD_COMMAND(LC_PREPAGE, 0x0000000Au, load_command)
32HANDLE_LOAD_COMMAND(LC_DYSYMTAB, 0x0000000Bu, dysymtab_command)
33HANDLE_LOAD_COMMAND(LC_LOAD_DYLIB, 0x0000000Cu, dylib_command)
34HANDLE_LOAD_COMMAND(LC_ID_DYLIB, 0x0000000Du, dylib_command)
35HANDLE_LOAD_COMMAND(LC_LOAD_DYLINKER, 0x0000000Eu, dylinker_command)
36HANDLE_LOAD_COMMAND(LC_ID_DYLINKER, 0x0000000Fu, dylinker_command)
37// LC_PREBOUND_DYLIB is obsolete and no longer supported.
38HANDLE_LOAD_COMMAND(LC_PREBOUND_DYLIB, 0x00000010u, prebound_dylib_command)
39HANDLE_LOAD_COMMAND(LC_ROUTINES, 0x00000011u, routines_command)
40HANDLE_LOAD_COMMAND(LC_SUB_FRAMEWORK, 0x00000012u, sub_framework_command)
41HANDLE_LOAD_COMMAND(LC_SUB_UMBRELLA, 0x00000013u, sub_umbrella_command)
42HANDLE_LOAD_COMMAND(LC_SUB_CLIENT, 0x00000014u, sub_client_command)
43HANDLE_LOAD_COMMAND(LC_SUB_LIBRARY, 0x00000015u, sub_library_command)
44// LC_TWOLEVEL_HINTS is obsolete and no longer supported.
45HANDLE_LOAD_COMMAND(LC_TWOLEVEL_HINTS, 0x00000016u, twolevel_hints_command)
46// LC_PREBIND_CKSUM is obsolete and no longer supported.
47HANDLE_LOAD_COMMAND(LC_PREBIND_CKSUM, 0x00000017u, prebind_cksum_command)
48// LC_LOAD_WEAK_DYLIB is obsolete and no longer supported.
49HANDLE_LOAD_COMMAND(LC_LOAD_WEAK_DYLIB, 0x80000018u, dylib_command)
50HANDLE_LOAD_COMMAND(LC_SEGMENT_64, 0x00000019u, segment_command_64)
51HANDLE_LOAD_COMMAND(LC_ROUTINES_64, 0x0000001Au, routines_command_64)
52HANDLE_LOAD_COMMAND(LC_UUID, 0x0000001Bu, uuid_command)
53HANDLE_LOAD_COMMAND(LC_RPATH, 0x8000001Cu, rpath_command)
54HANDLE_LOAD_COMMAND(LC_CODE_SIGNATURE, 0x0000001Du, linkedit_data_command)
55HANDLE_LOAD_COMMAND(LC_SEGMENT_SPLIT_INFO, 0x0000001Eu, linkedit_data_command)
56HANDLE_LOAD_COMMAND(LC_REEXPORT_DYLIB, 0x8000001Fu, dylib_command)
57HANDLE_LOAD_COMMAND(LC_LAZY_LOAD_DYLIB, 0x00000020u, dylib_command)
58HANDLE_LOAD_COMMAND(LC_ENCRYPTION_INFO, 0x00000021u, encryption_info_command)
59HANDLE_LOAD_COMMAND(LC_DYLD_INFO, 0x00000022u, dyld_info_command)
60HANDLE_LOAD_COMMAND(LC_DYLD_INFO_ONLY, 0x80000022u, dyld_info_command)
61HANDLE_LOAD_COMMAND(LC_LOAD_UPWARD_DYLIB, 0x80000023u, dylib_command)
62HANDLE_LOAD_COMMAND(LC_VERSION_MIN_MACOSX, 0x00000024u, version_min_command)
63HANDLE_LOAD_COMMAND(LC_VERSION_MIN_IPHONEOS, 0x00000025u, version_min_command)
64HANDLE_LOAD_COMMAND(LC_FUNCTION_STARTS, 0x00000026u, linkedit_data_command)
65HANDLE_LOAD_COMMAND(LC_DYLD_ENVIRONMENT, 0x00000027u, dylinker_command)
66HANDLE_LOAD_COMMAND(LC_MAIN, 0x80000028u, entry_point_command)
67HANDLE_LOAD_COMMAND(LC_DATA_IN_CODE, 0x00000029u, linkedit_data_command)
68HANDLE_LOAD_COMMAND(LC_SOURCE_VERSION, 0x0000002Au, source_version_command)
69HANDLE_LOAD_COMMAND(LC_DYLIB_CODE_SIGN_DRS, 0x0000002Bu, linkedit_data_command)
70HANDLE_LOAD_COMMAND(LC_ENCRYPTION_INFO_64, 0x0000002Cu,
71                    encryption_info_command_64)
72HANDLE_LOAD_COMMAND(LC_LINKER_OPTION, 0x0000002Du, linker_option_command)
73HANDLE_LOAD_COMMAND(LC_LINKER_OPTIMIZATION_HINT, 0x0000002Eu, linkedit_data_command)
74HANDLE_LOAD_COMMAND(LC_VERSION_MIN_TVOS, 0x0000002Fu, version_min_command)
75HANDLE_LOAD_COMMAND(LC_VERSION_MIN_WATCHOS, 0x00000030u, version_min_command)
76HANDLE_LOAD_COMMAND(LC_NOTE, 0x00000031u, note_command)
77HANDLE_LOAD_COMMAND(LC_BUILD_VERSION, 0x00000032u, build_version_command)
78
79#endif
80
81#ifdef LOAD_COMMAND_STRUCT
82
83LOAD_COMMAND_STRUCT(dyld_info_command)
84LOAD_COMMAND_STRUCT(dylib_command)
85LOAD_COMMAND_STRUCT(dylinker_command)
86LOAD_COMMAND_STRUCT(dysymtab_command)
87LOAD_COMMAND_STRUCT(encryption_info_command)
88LOAD_COMMAND_STRUCT(encryption_info_command_64)
89LOAD_COMMAND_STRUCT(entry_point_command)
90LOAD_COMMAND_STRUCT(fvmfile_command)
91LOAD_COMMAND_STRUCT(fvmlib_command)
92LOAD_COMMAND_STRUCT(ident_command)
93LOAD_COMMAND_STRUCT(linkedit_data_command)
94LOAD_COMMAND_STRUCT(linker_option_command)
95LOAD_COMMAND_STRUCT(load_command)
96LOAD_COMMAND_STRUCT(prebind_cksum_command)
97LOAD_COMMAND_STRUCT(prebound_dylib_command)
98LOAD_COMMAND_STRUCT(routines_command)
99LOAD_COMMAND_STRUCT(routines_command_64)
100LOAD_COMMAND_STRUCT(rpath_command)
101LOAD_COMMAND_STRUCT(segment_command)
102LOAD_COMMAND_STRUCT(segment_command_64)
103LOAD_COMMAND_STRUCT(source_version_command)
104LOAD_COMMAND_STRUCT(sub_client_command)
105LOAD_COMMAND_STRUCT(sub_framework_command)
106LOAD_COMMAND_STRUCT(sub_library_command)
107LOAD_COMMAND_STRUCT(sub_umbrella_command)
108LOAD_COMMAND_STRUCT(symseg_command)
109LOAD_COMMAND_STRUCT(symtab_command)
110LOAD_COMMAND_STRUCT(thread_command)
111LOAD_COMMAND_STRUCT(twolevel_hints_command)
112LOAD_COMMAND_STRUCT(uuid_command)
113LOAD_COMMAND_STRUCT(version_min_command)
114LOAD_COMMAND_STRUCT(note_command)
115LOAD_COMMAND_STRUCT(build_version_command)
116
117#endif
118
119#undef HANDLE_LOAD_COMMAND
120#undef LOAD_COMMAND_STRUCT
121