executable_formats
moduleSource
macOSLinuxWindowswasm
#import "executable_formats";
Procedures#
Bitfields#
Storage masks are part of the public contract.
Mach-O#
(file_content: string) -> bool
(path:
string) -> (success:
bool,
Mach_O)
(file_content:
string, path := "(unspecified file)") -> (success:
bool,
Mach_O)
(padded: [] u8) -> string
COFF#
(file_content: string) -> bool
(path:
string) -> (success:
bool,
Coff)
(file_content:
string, path := "(unspecified file)", verbose := false, start_offset := 0) -> (success:
bool,
Coff)
(file_content: string) -> (bool, coff_start: int)
(path:
string) -> (success:
bool,
Coff)
(file_content:
string, path := "(unspecified file)", verbose := false) -> (success:
bool,
Coff)
(coff:
Coff, section_index:
int, offset:
u64) -> (success:
bool,
Unwind_Info)
(coff:
Coff, symbol_index:
int) -> (
string,
bool)
(coff:
Coff, offset:
int) -> (
string,
bool)
ELF#
(file_content: string) -> bool
(path:
string) -> (success:
bool, elf:
Elf)
(data: string, path := "(unspecified file)") -> (bool, *Elf_Header_64, [] Elf_Program_Header_64)
(file_content:
string, path := "(unspecified file)") -> (success:
bool, elf:
Elf)
(index: int, table: string) -> (success: bool, string)
Relocations#
(elf:
Elf, section_index:
int, data: []
u8) ->
bool
Lexer#
(lexer: *
Lexer, input:
string)
(lexer: *
Lexer, file_path:
string) ->
bool
(c: u8) -> bool
(c: s32) -> bool
(c: s32) -> bool
(c: s16) -> bool
(lexer: *
Lexer, line:
s32, column:
s32) ->
string
(value: float64) -> bool
(lexer: *
Lexer, format:
string, arguments: ..
Any)
(lexer: *
Lexer, format:
string, arguments: ..
Any)
TBD#
(file_content: string) -> bool
(file_content:
string, path := "(unspecified file)") -> (success:
bool, []
Text_Based_Dylib)
Archive#
(file_content: string) -> bool
(file_content: string) -> bool
(path:
string) -> (success:
bool,
Archive)
(content:
string, archive_filename:
string, verbose := false) -> (success:
bool,
Archive)
Types#
:: #type,isa u32
:: struct
:: struct
:: enum
:: enum
:: enum
:: enum
:: enum
:: enum
:: enum
:: enum_flags
:: enum_flags
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: enum
:: struct
:: struct
:: enum
:: enum
:: struct
:: enum
:: struct
:: enum
:: enum
:: enum
:: enum_flags
:: enum_flags
:: struct
:: struct
:: enum
:: struct
:: enum
:: struct
:: enum_flags
:: struct
:: struct
:: enum
:: enum
:: struct
:: enum
:: enum
:: enum
:: enum
:: enum
:: enum
:: enum_flags
:: enum
:: enum_flags
:: struct
:: enum
:: enum
:: enum
:: enum
:: struct
:: enum
:: struct
:: enum
:: enum_flags
:: struct
:: struct
:: enum
:: enum
:: enum_flags
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: enum
:: enum
:: enum_flags
:: struct
:: struct
:: enum
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
:: struct
Constants#
:: s32
Explicit public ABI transcribed from the executable-formats spec.
:: cast(cpu_threadtype_t) 0
:: cast(cpu_threadtype_t) 1
:: 0xfeedface
:: 0xcefaedfe
:: 0xfeedfacf
:: 0xcffaedfe
:: 0x1
:: 0x2
:: 0x3
:: 0x4
:: 0x5
:: 0x6
:: 0x7
:: 0x8
:: 0x9
:: 0xa
:: 0xb
:: 0xc
:: 0xd
:: 0xe
:: 0x1
:: 0x2
:: 0x4
:: 0x8
:: 0x10
:: 0x20
:: 0x40
:: 0x80
:: 0x100
:: 0x200
:: 0x400
:: 0x800
:: 0x1000
:: 0x2000
:: 0x4000
:: 0x8000
:: 0x10000
:: 0x20000
:: 0x40000
:: 0x80000
:: 0x100000
:: 0x200000
:: 0x400000
:: 0x800000
:: 0x1000000
:: 0x02000000
:: 0x04000000
:: 0x08000000
:: 0x10000000
:: 0x80000000
:: 0x000000ff
:: 0xffffff00
:: 0xff000000
:: 0x00ffff00
:: "__PAGEZERO"
:: "__TEXT"
:: "__text"
:: "__fvmlib_init0"
:: "__fvmlib_init1"
:: "__DATA"
:: "__data"
:: "__bss"
:: "__common"
:: "__OBJC"
:: "__symbol_table"
:: "__module_info"
:: "__selector_strs"
:: "__selector_refs"
:: "__ICON"
:: "__tiff"
:: "__LINKEDIT"
:: "__UNIXSTACK"
:: "__IMPORT"
:: 0x01
:: 0x02
:: 0x04
:: 0x08
:: 0x1a741800
:: 0x80000000
:: 0x40000000
:: 0
:: 0xFFFFFFFF
:: 1
:: 2
:: 3
:: 4
:: 5
:: 6
:: 7
:: 8
:: 9
:: 10
:: 11
:: 12
:: 13
:: 14
:: 15
:: 16
:: 17
:: 18
:: 19
:: 20
:: 21
:: 22
:: 23
:: 24
:: 1
:: 2
:: 3
:: 4
:: 1024
:: 1025
:: 1026
:: 1027
:: 1028
:: 1031
:: 1032
:: 1
:: 2
:: 3
:: 0xF0
:: 0x0F
:: 0x00
:: 0x10
:: 0x20
:: 0x30
:: 0x40
:: 0x50
:: 0x60
:: 0x70
:: 0x80
:: 1
:: 2
:: 3
:: 0
:: -1
:: -2
:: -3
:: 0x1
:: 0x8
:: 0xF0
:: 0x0F
:: 0x00
:: 0x10
:: 0x20
:: 0x30
:: 0x40
:: 0x50
:: 0x60
:: 0x70
:: 0x80
:: 0x90
:: 0xA0
:: 0xB0
:: 0xC0
:: 0xD0
:: 0x00
:: 0x01
:: 0x03
:: 0x00
:: 0x01
:: 0x02
:: 0x04
:: 0x08
:: 0x10
:: 0x20
:: 0x0001
:: 0x0002
:: 0x0003
:: 0x0004
:: 0x0005
:: 0
:: 0x80000000
:: 0x20
:: 0x22
:: 0x24
:: 0x26
:: 0x28
:: 0x2e
:: 0x32
:: 0x3c
:: 0x40
:: 0x44
:: 0x4e
:: 0x60
:: 0x64
:: 0x66
:: 0x68
:: 0x80
:: 0x82
:: 0x84
:: 0x86
:: 0x88
:: 0x8A
:: 0xa0
:: 0xa2
:: 0xa4
:: 0xc0
:: 0xc2
:: 0xe0
:: 0xe2
:: 0xe4
:: 0xe8
:: 0xfe
:: 0x30
:: 0xe0
:: 0x10
:: 0x0e
:: 0x01
:: 0x0
:: 0x2
:: 0xe
:: 0xc
:: 0xa
:: 0
:: 255
:: 0x7
:: 0
:: 1
:: 2
:: 3
:: 4
:: 5
:: 0x0010
:: 0x0
:: 0xfd
:: 0xfe
:: 0xff
:: 0x0020
:: 0x0020
:: 0x0040
:: 0x0080
:: 0x0080
:: 0x0008
:: 0x0100
:: 0x0200
:: 0x0400
:: s32
:: s32
:: s32
:: 0x5a4d
:: 0x00004550
:: 512
:: 8