HP-UX Reference (11i v1 00/12) - 3 Library Functions A-M (vol 6)
__________________________________________________________________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________________________
STANDARD Printed by: Nora Chuang [nchuang] STANDARD
/build/1111/BRICK/man3/!!!intro.3c
________________________________________________________________
___ ___
e
elf_getphdr(3E) elf_getphdr(3E)
NAME
elf32_getphdr, elf32_newphdr, elf64_getphdr, elf64_newphdr - retrieve class-dependent program header
table for elf32 and elf64 files, respectively
SYNOPSIS
cc [flag... ] file... -lelf [library] ...
#include <libelf.h>
Elf32_Ehdr *elf32_getphdr(Elf *elf);
Elf32_Ehdr *elf32_newphdr(Elf *elf, size_t count);
Elf64_Ehdr *elf64_getphdr(Elf *elf);
Elf64_Ehdr *elf64_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
availablefor 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 elf_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 func-
tions 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.
For a 64-bit class file,
elf64_getphdr
returns a pointer to the program execution header table, if one is
availablefor the ELF descriptor elf.
elf64_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 elf64_newehdr (see elf_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 64-bit class file, an error occurs, or elf is null, both func-
tions return a null pointer. Additionally,
elf64_newphdr returns a null pointer if count is zero.
The table is an array of
Elf64_Phdr structures, each of which includes the following members.
Elf64_Word p_type;
Elf64_Off p_offset;
Elf64_Addr p_vaddr;
Elf64_Addr p_paddr;
Elf64_Word p_filesz;
Elf64_Word p_memsz;
Elf64_Word p_flags;
Elf64_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;
elf64_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.
Section 3−−190 − 1 − HP-UX Release 11i: December 2000
___
___