66 lines
1.8 KiB
Go
66 lines
1.8 KiB
Go
package macho
|
|
|
|
type CPU uint32
|
|
|
|
const (
|
|
CPU_X86 CPU = 7
|
|
CPU_X86_64 CPU = CPU_X86 | 0x01000000
|
|
CPU_ARM CPU = 12
|
|
CPU_ARM_64 CPU = CPU_ARM | 0x01000000
|
|
)
|
|
|
|
const (
|
|
CPU_SUBTYPE_ARM64_ALL = 0
|
|
CPU_SUBTYPE_X86_64_ALL = 3
|
|
)
|
|
|
|
type Prot uint32
|
|
|
|
const (
|
|
ProtReadable Prot = 0x1
|
|
ProtWritable Prot = 0x2
|
|
ProtExecutable Prot = 0x4
|
|
)
|
|
|
|
type HeaderFlags uint32
|
|
|
|
const (
|
|
FlagNoUndefs HeaderFlags = 0x1
|
|
FlagIncrLink HeaderFlags = 0x2
|
|
FlagDyldLink HeaderFlags = 0x4
|
|
FlagBindAtLoad HeaderFlags = 0x8
|
|
FlagPrebound HeaderFlags = 0x10
|
|
FlagSplitSegs HeaderFlags = 0x20
|
|
FlagLazyInit HeaderFlags = 0x40
|
|
FlagTwoLevel HeaderFlags = 0x80
|
|
FlagForceFlat HeaderFlags = 0x100
|
|
FlagNoMultiDefs HeaderFlags = 0x200
|
|
FlagNoFixPrebinding HeaderFlags = 0x400
|
|
FlagPrebindable HeaderFlags = 0x800
|
|
FlagAllModsBound HeaderFlags = 0x1000
|
|
FlagSubsectionsViaSymbols HeaderFlags = 0x2000
|
|
FlagCanonical HeaderFlags = 0x4000
|
|
FlagWeakDefines HeaderFlags = 0x8000
|
|
FlagBindsToWeak HeaderFlags = 0x10000
|
|
FlagAllowStackExecution HeaderFlags = 0x20000
|
|
FlagRootSafe HeaderFlags = 0x40000
|
|
FlagSetuidSafe HeaderFlags = 0x80000
|
|
FlagNoReexportedDylibs HeaderFlags = 0x100000
|
|
FlagPIE HeaderFlags = 0x200000
|
|
FlagDeadStrippableDylib HeaderFlags = 0x400000
|
|
FlagHasTLVDescriptors HeaderFlags = 0x800000
|
|
FlagNoHeapExecution HeaderFlags = 0x1000000
|
|
FlagAppExtensionSafe HeaderFlags = 0x2000000
|
|
)
|
|
|
|
type HeaderType uint32
|
|
|
|
const (
|
|
TypeObject HeaderType = 0x1
|
|
TypeExecute HeaderType = 0x2
|
|
TypeCore HeaderType = 0x4
|
|
TypeDylib HeaderType = 0x6
|
|
TypeBundle HeaderType = 0x8
|
|
TypeDsym HeaderType = 0xA
|
|
)
|