UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
syms_mach_parser.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#ifndef SYMS_MACH_PARSER_H
4#define SYMS_MACH_PARSER_H
5
7//~ NOTE(allen): MACH Parser Types
8
14
20
25
30
31enum
32{
37};
39
64
66// Dylib
67
73
74
80
87
89// Binds
90
101
107
114
116// Exports
117
118typedef struct SYMS_MachExport
119{
122
124
128
129 // SYMS_MachExportSymbolFlags_REEXPORT
132
133 // SYMS_MachExportSymbolFlags_STUB_AND_RESOLVER
136
142
149
151//~ NOTE(allen): MACH Parser Functions
152
153// accelerators
154// mach specific
156
157// main api
165
166// arch
168
169// bin list
174 SYMS_U64 n);
175
176// binary secs
178 SYMS_MachBinAccel *bin);
179
181
182// dylib
184
185// binds
188
189// exports
192
193#endif // SYMS_MACH_PARSER_H
OODEFFUNC typedef const char * file
Definition oodle2.h:678
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition syms_debug_info.h:31
Definition syms_debug_info.h:69
Definition syms_debug_info.h:64
Definition syms_mach_parser.h:40
SYMS_U32 dylib_count
Definition syms_mach_parser.h:61
SYMS_B32 is_swapped
Definition syms_mach_parser.h:45
SYMS_U32 load_command_count
Definition syms_mach_parser.h:47
SYMS_Arch arch
Definition syms_mach_parser.h:43
SYMS_MachSection64 * sections
Definition syms_mach_parser.h:55
SYMS_U64Range export_range
Definition syms_mach_parser.h:59
struct SYMS_MachParsedDylib * dylibs
Definition syms_mach_parser.h:62
SYMS_MachSegmentCommand64 * segments
Definition syms_mach_parser.h:52
SYMS_MachSymtabCommand symtab
Definition syms_mach_parser.h:50
SYMS_FileFormat format
Definition syms_mach_parser.h:41
SYMS_U64Range bind_ranges[SYMS_MachBindTable_COUNT]
Definition syms_mach_parser.h:58
SYMS_U64Range load_commands
Definition syms_mach_parser.h:48
SYMS_U32 section_count
Definition syms_mach_parser.h:56
SYMS_U32 segment_count
Definition syms_mach_parser.h:53
Definition syms_mach_parser.h:15
SYMS_FileFormat format
Definition syms_mach_parser.h:16
SYMS_MachFatArch * fats
Definition syms_mach_parser.h:17
SYMS_U32 count
Definition syms_mach_parser.h:18
Definition syms_mach_parser.h:109
SYMS_U32 count
Definition syms_mach_parser.h:112
SYMS_MachBindNode * last
Definition syms_mach_parser.h:111
SYMS_MachBindNode * first
Definition syms_mach_parser.h:110
Definition syms_mach_parser.h:103
SYMS_MachBind data
Definition syms_mach_parser.h:104
struct SYMS_MachBindNode * next
Definition syms_mach_parser.h:105
Definition syms_mach_parser.h:92
SYMS_U64 segment_offset
Definition syms_mach_parser.h:94
SYMS_U64 dylib
Definition syms_mach_parser.h:95
SYMS_String8 symbol_name
Definition syms_mach_parser.h:96
SYMS_U8 flags
Definition syms_mach_parser.h:97
SYMS_MachBindType type
Definition syms_mach_parser.h:98
SYMS_S64 addend
Definition syms_mach_parser.h:99
SYMS_U32 segment
Definition syms_mach_parser.h:93
Definition syms_mach_parser.h:82
SYMS_U32 count
Definition syms_mach_parser.h:85
SYMS_MachDylibNode * first
Definition syms_mach_parser.h:83
SYMS_MachDylibNode * last
Definition syms_mach_parser.h:84
Definition syms_mach_parser.h:76
SYMS_MachParsedDylib data
Definition syms_mach_parser.h:78
struct SYMS_MachDylibNode * next
Definition syms_mach_parser.h:77
Definition syms_meta_mach.h:423
Definition syms_mach_parser.h:144
SYMS_MachExport * node
Definition syms_mach_parser.h:147
SYMS_U8 child_idx
Definition syms_mach_parser.h:146
struct SYMS_MachExportFrame * next
Definition syms_mach_parser.h:145
Definition syms_mach_parser.h:138
SYMS_MachExport data
Definition syms_mach_parser.h:140
struct SYMS_MachExportNode * next
Definition syms_mach_parser.h:139
Definition syms_mach_parser.h:119
SYMS_U64 dylib_ordinal
Definition syms_mach_parser.h:130
SYMS_B32 is_export_info
Definition syms_mach_parser.h:123
SYMS_U8 child_count
Definition syms_mach_parser.h:121
SYMS_U64 address
Definition syms_mach_parser.h:127
SYMS_String8 name
Definition syms_mach_parser.h:125
SYMS_U64 flags
Definition syms_mach_parser.h:126
SYMS_String8 import_name
Definition syms_mach_parser.h:131
SYMS_U64 resolver
Definition syms_mach_parser.h:134
struct SYMS_MachExport ** children
Definition syms_mach_parser.h:120
Definition syms_meta_mach.h:456
Definition syms_mach_parser.h:9
SYMS_FileFormat format
Definition syms_mach_parser.h:10
SYMS_B32 is_swapped
Definition syms_mach_parser.h:11
SYMS_B32 is_fat
Definition syms_mach_parser.h:12
Definition syms_mach_parser.h:69
SYMS_U64Range name
Definition syms_mach_parser.h:71
SYMS_MachDylib header
Definition syms_mach_parser.h:70
Definition syms_meta_mach.h:519
Definition syms_mach_parser.h:26
SYMS_MachSection64 data
Definition syms_mach_parser.h:28
struct SYMS_MachSectionNode * next
Definition syms_mach_parser.h:27
Definition syms_meta_mach.h:494
Definition syms_mach_parser.h:21
SYMS_MachSegmentCommand64 data
Definition syms_mach_parser.h:23
struct SYMS_MachSegmentNode * next
Definition syms_mach_parser.h:22
Definition syms_meta_mach.h:533
Definition syms_debug_info.h:21
Definition syms_base.h:296
Definition syms_base.h:264
#define SYMS_API
Definition syms_base.h:29
SYMS_S32 SYMS_B32
Definition syms_base.h:99
uint32_t SYMS_U32
Definition syms_crt_overrides.h:38
uint64_t SYMS_U64
Definition syms_crt_overrides.h:39
int64_t SYMS_S64
Definition syms_crt_overrides.h:35
uint8_t SYMS_U8
Definition syms_crt_overrides.h:36
#define SYMS_Arena
Definition syms_default_arena.h:61
SYMS_API SYMS_U64 syms_mach_default_vbase_from_bin(SYMS_MachBinAccel *bin)
Definition syms_mach_parser.c:448
SYMS_API void syms_mach_dylib_list_push(SYMS_Arena *arena, SYMS_MachDylibList *list, SYMS_MachDylib *dylib, SYMS_U64Range name)
Definition syms_mach_parser.c:465
SYMS_API SYMS_MachBindList syms_mach_binds_from_base_range(SYMS_Arena *arena, void *base, SYMS_U64Range range, SYMS_U32 address_size, SYMS_MachBindTable bind_type)
Definition syms_mach_parser.c:477
SYMS_API SYMS_Arch syms_mach_arch_from_bin(SYMS_MachBinAccel *bin)
Definition syms_mach_parser.c:376
SYMS_API SYMS_MachFileAccel * syms_mach_file_accel_from_data(SYMS_Arena *arena, SYMS_String8 data)
Definition syms_mach_parser.c:264
SYMS_API SYMS_SecInfoArray syms_mach_sec_info_array_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_MachBinAccel *bin)
Definition syms_mach_parser.c:423
SYMS_API SYMS_BinInfoArray syms_mach_bin_info_array_from_bin_list(SYMS_Arena *arena, SYMS_MachBinListAccel *bin_list)
Definition syms_mach_parser.c:386
SYMS_API SYMS_MachBinAccel * syms_mach_bin_accel_from_bin_list_number(SYMS_Arena *arena, SYMS_String8 data, SYMS_MachBinListAccel *bin_list, SYMS_U64 n)
Definition syms_mach_parser.c:407
@ SYMS_MachBindTable_REGULAR
Definition syms_mach_parser.h:33
@ SYMS_MachBindTable_LAZY
Definition syms_mach_parser.h:34
@ SYMS_MachBindTable_COUNT
Definition syms_mach_parser.h:36
@ SYMS_MachBindTable_WEAK
Definition syms_mach_parser.h:35
SYMS_U32 SYMS_MachBindTable
Definition syms_mach_parser.h:38
SYMS_API SYMS_MachExport * syms_build_mach_export_trie(SYMS_Arena *arena, void *base, SYMS_U64Range range)
Definition syms_mach_parser.c:667
SYMS_API SYMS_B32 syms_mach_file_is_bin_list(SYMS_MachFileAccel *file_accel)
Definition syms_mach_parser.c:329
SYMS_API SYMS_ExportArray syms_mach_exports_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_MachBinAccel *bin)
Definition syms_mach_parser.c:673
SYMS_API SYMS_MachBinAccel * syms_mach_bin_accel_from_file(SYMS_Arena *arena, SYMS_String8 data, SYMS_MachFileAccel *file)
Definition syms_mach_parser.c:319
SYMS_API SYMS_B32 syms_mach_file_is_bin(SYMS_MachFileAccel *file)
Definition syms_mach_parser.c:313
SYMS_API SYMS_MachBinAccel * syms_mach_bin_from_base_range(SYMS_Arena *arena, void *base, SYMS_U64Range range)
Definition syms_mach_parser.c:10
SYMS_API SYMS_MachBinListAccel * syms_mach_bin_list_accel_from_file(SYMS_Arena *arena, SYMS_String8 data, SYMS_MachFileAccel *file)
Definition syms_mach_parser.c:335
SYMS_API SYMS_ImportArray syms_mach_imports_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_MachBinAccel *bin)
Definition syms_mach_parser.c:575
SYMS_FileFormat
Definition syms_meta_base.h:94
SYMS_Arch
Definition syms_meta_base.h:6
SYMS_U8 SYMS_MachBindType
Definition syms_meta_mach.h:319