Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)

elf_begin(3E)

elf_flag(3E)

elf_getehdr(3E)





   elf_getphdr(3E)                (ELF Library)                elf_getphdr(3E)


   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 previously, 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 creating the program header table.

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




   7/91                                                                 Page 1





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026