Next: IO procedures, Up: r6rs-elf API [Contents][Index]
Constructors are low-level procedures that you typically do not have to invoke yourself as the records are constructed by the parsing procedures. We document them here because you can learn about what records are offered by the library and what their fields are. Most of the Scheme records documented below have a C counterpart.
For example, to access the ‘data’ field of an ‘<elf-ident>’ object, use the ‘elf-ident-data’ procedure. All of the records are immutable.
Constructs an <elf-ident>, the Scheme analogue of the first 16
bytes of the ELF header, also known as the ELF identifier.
Constructs an <elf-header>, the Scheme analogue of
‘ElfN_Ehdr’. The first parameter, elf-ident, is an instance
of <elf-ident>. The accessors of <elf-ident> also apply
to instances of <elf-header> as the former is a parent record of
the latter.
Constructs an <elf-region-header>. This record does not have an
ELF analogue, but it is a useful record to provide an offset and a size
field; both the program header and section header records have such
fields, albeit with different names. This parent record allows us to
also provide uniform accessors for these two distinct records.
Constructs an <elf-program-header>, the Scheme analogue of
‘ElfN_Phdr’.
Constructs an <elf-section-header>, the Scheme analogue of
‘ElfN_Shdr’.
Constructs an <elf-sym>, the Scheme analogue of ‘ElfN_Sym’.
Constructs an <elf-rel>, the Scheme analogue of ‘ElfN_Rel’.
Constructs an <elf-rela>, the Scheme analogue of
‘ElfN_Rela’.
Constructs an <elf-dyn>, the Scheme analogue of ‘ElfN_Dyn’.
Constructs an <elf-nhdr>, the Scheme analogue of
‘ElfN_Nhdr’.
Constructs an <elf-note>, which contains both the note header and
the note itself. The first parameter, elf-nhdr, is an instance of
<elf-nhdr>. The accessors of <elf-nhdr> also apply to
instances of <elf-note> as the former record is a parent of the
later.
Next: IO procedures, Up: r6rs-elf API [Contents][Index]