Amiga Unix — 68040 · 68060

Manual pages › ELF library (3E)

elf_getphdr(3E)

retrieve classdependent program header table

From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.

NAME

elf_getphdr: elf32_getphdr, elf32_newphdr - retrieve class-dependent program header table

SYNOPSIS

cc [flag ...] file ...  -lelf [library ...]

#include <libelf.h>

Elf32_Phdr *elf32_getphdr(Elf *elf);
Elf32_Phdr *elf32_newphdr(Elf *elf, size_t count);

DESCRIPTION

For a 32-bit class file, elf32_getphdr returns a pointer  to
the  program execution header table, if one is available for
the ELF descriptor elf.  elf32_newphdr allocates a new table
with count entries, regardless of whether one existed previ-
ously, and sets the  ELF_F_DIRTY  bit  for  the  table  [see
elf_flag(3E)].   Specifying a zero count deletes an existing
table.   Note   this   behavior   differs   from   that   of
elf32_newehdr [see elf32_getehdr(3E)], allowing a program to
replace or delete the program  header  table,  changing  its
size  if  necessary.  If no program header table exists, the
file is not a 32-bit class file, an error occurs, or elf  is
null,  both  functions return a null pointer.  Additionally,
elf32_newphdr returns a null pointer if count is zero.   The
table  is  an  array of Elf32_Phdr structures, each of which
includes the following members.
             Elf32_Word      p_type;
             Elf32_Off       p_offset;
             Elf32_Addr      p_vaddr;
             Elf32_Addr      p_paddr;
             Elf32_Word      p_filesz;
             Elf32_Word      p_memsz;
             Elf32_Word      p_flags;
             Elf32_Word      p_align;
The ELF header's e_phnum member tells how many  entries  the
program  header  table has [see elf_getehdr(3E)].  A program
may inspect this value to determine the size of an  existing
table;  elf32_newphdr  automatically sets the member's value
to count.  If the program is building  a  new  file,  it  is
responsible for creating the file's ELF header before creat-
ing the program header table.

SEE ALSO

elf(3E), elf_begin(3E), elf_flag(3E), elf_getehdr(3E).