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