19#include <Library/BaseLib.h>
20#include <Library/BaseMemoryLib.h>
21#include <Library/BaseOverflowLib.h>
22#include <Library/DebugLib.h>
35 return Context->Is32Bit ?
48 return Context->Is32Bit ?
61 return Context->Is32Bit ?
74 return Context->Is32Bit ?
87 return Context->Is32Bit ?
100 return Context->Is32Bit ?
113 return Context->Is32Bit ?
126 if (Context->Is32Bit) {
127 ASSERT (Address < MAX_UINT32);
130 return Context->Is32Bit ?
138 IN UINT64 LinkAddress,
143 if (Context->Is32Bit) {
144 ASSERT (LinkAddress < MAX_UINT32);
147 return Context->Is32Bit ?
156 OUT UINT32 *FileOffset,
157 OUT UINT32 *MaxSize OPTIONAL
162 return Context->Is32Bit ?
171 OUT UINT32 *FileOffset,
172 OUT UINT32 *MaxSize OPTIONAL
176 if (Context->Is32Bit) {
177 ASSERT (Address < MAX_UINT32);
180 return Context->Is32Bit ?
BOOLEAN MachoRelocateSymbol64(IN OUT OC_MACHO_CONTEXT *Context, IN UINT64 LinkAddress, IN OUT MACH_NLIST_64 *Symbol)
BOOLEAN MachoRelocateSymbol32(IN OUT OC_MACHO_CONTEXT *Context, IN UINT32 LinkAddress, IN OUT MACH_NLIST *Symbol)
MACH_NLIST_64 * MachoGetSymbolByIndex64(IN OUT OC_MACHO_CONTEXT *Context, IN UINT32 Index)
BOOLEAN MachoSymbolIsLocalDefined32(IN OUT OC_MACHO_CONTEXT *Context, IN CONST MACH_NLIST *Symbol)
CONST CHAR8 * MachoGetSymbolName32(IN OUT OC_MACHO_CONTEXT *Context, IN CONST MACH_NLIST *Symbol)
BOOLEAN MachoSymbolIsLocalDefined64(IN OUT OC_MACHO_CONTEXT *Context, IN CONST MACH_NLIST_64 *Symbol)
MACH_NLIST_64 * MachoGetLocalDefinedSymbolByName64(IN OUT OC_MACHO_CONTEXT *Context, IN CONST CHAR8 *Name)
CONST CHAR8 * MachoGetIndirectSymbolName64(IN OUT OC_MACHO_CONTEXT *Context, IN CONST MACH_NLIST_64 *Symbol)
MACH_NLIST * MachoGetSymbolByIndex32(IN OUT OC_MACHO_CONTEXT *Context, IN UINT32 Index)
BOOLEAN MachoSymbolGetFileOffset32(IN OUT OC_MACHO_CONTEXT *Context, IN CONST MACH_NLIST *Symbol, OUT UINT32 *FileOffset, OUT UINT32 *MaxSize OPTIONAL)
CONST CHAR8 * MachoGetSymbolName64(IN OUT OC_MACHO_CONTEXT *Context, IN CONST MACH_NLIST_64 *Symbol)
CONST CHAR8 * MachoGetIndirectSymbolName32(IN OUT OC_MACHO_CONTEXT *Context, IN CONST MACH_NLIST *Symbol)
BOOLEAN MachoGetSymbolByExternRelocationOffset32(IN OUT OC_MACHO_CONTEXT *Context, IN UINT32 Address, OUT MACH_NLIST **Symbol)
BOOLEAN MachoIsSymbolValueInRange64(IN OUT OC_MACHO_CONTEXT *Context, IN CONST MACH_NLIST_64 *Symbol)
MACH_NLIST * MachoGetLocalDefinedSymbolByName32(IN OUT OC_MACHO_CONTEXT *Context, IN CONST CHAR8 *Name)
BOOLEAN MachoSymbolIsDefined64(IN CONST MACH_NLIST_64 *Symbol)
BOOLEAN MachoSymbolIsDefined32(IN CONST MACH_NLIST *Symbol)
BOOLEAN MachoIsSymbolValueInRange32(IN OUT OC_MACHO_CONTEXT *Context, IN CONST MACH_NLIST *Symbol)
BOOLEAN MachoSymbolGetFileOffset64(IN OUT OC_MACHO_CONTEXT *Context, IN CONST MACH_NLIST_64 *Symbol, OUT UINT32 *FileOffset, OUT UINT32 *MaxSize OPTIONAL)
BOOLEAN MachoGetSymbolByExternRelocationOffset64(IN OUT OC_MACHO_CONTEXT *Context, IN UINT64 Address, OUT MACH_NLIST_64 **Symbol)
BOOLEAN InternalMachoSymbolGetDirectFileOffset32(IN OUT OC_MACHO_CONTEXT *Context, IN UINT32 Address, OUT UINT32 *FileOffset, OUT UINT32 *MaxSize OPTIONAL)
BOOLEAN InternalMachoSymbolGetDirectFileOffset64(IN OUT OC_MACHO_CONTEXT *Context, IN UINT64 Address, OUT UINT32 *FileOffset, OUT UINT32 *MaxSize OPTIONAL)
MACH_NLIST_ANY * MachoGetLocalDefinedSymbolByName(IN OUT OC_MACHO_CONTEXT *Context, IN CONST CHAR8 *Name)
BOOLEAN MachoRelocateSymbol(IN OUT OC_MACHO_CONTEXT *Context, IN UINT64 LinkAddress, IN OUT MACH_NLIST_ANY *Symbol)
BOOLEAN MachoSymbolIsLocalDefined(IN OUT OC_MACHO_CONTEXT *Context, IN CONST MACH_NLIST_ANY *Symbol)
CONST CHAR8 * MachoGetIndirectSymbolName(IN OUT OC_MACHO_CONTEXT *Context, IN CONST MACH_NLIST_ANY *Symbol)
BOOLEAN MachoGetSymbolByExternRelocationOffset(IN OUT OC_MACHO_CONTEXT *Context, IN UINT64 Address, OUT MACH_NLIST_ANY **Symbol)
MACH_NLIST_ANY * MachoGetSymbolByIndex(IN OUT OC_MACHO_CONTEXT *Context, IN UINT32 Index)
BOOLEAN MachoIsSymbolValueInRange(IN OUT OC_MACHO_CONTEXT *Context, IN CONST MACH_NLIST_ANY *Symbol)
CONST CHAR8 * MachoGetSymbolName(IN OUT OC_MACHO_CONTEXT *Context, IN CONST MACH_NLIST_ANY *Symbol)
BOOLEAN MachoSymbolGetDirectFileOffset(IN OUT OC_MACHO_CONTEXT *Context, IN UINT64 Address, OUT UINT32 *FileOffset, OUT UINT32 *MaxSize OPTIONAL)
BOOLEAN MachoSymbolIsDefined(IN OUT OC_MACHO_CONTEXT *Context, IN CONST MACH_NLIST_ANY *Symbol)
BOOLEAN MachoSymbolGetFileOffset(IN OUT OC_MACHO_CONTEXT *Context, IN CONST MACH_NLIST_ANY *Symbol, OUT UINT32 *FileOffset, OUT UINT32 *MaxSize OPTIONAL)