Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > E

elf_getphdr(3E)

HP-UX 11i Version 3: February 2007
» 

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index

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_Phdr *elf32_getphdr(Elf *elf); Elf32_Phdr *elf32_newphdr(Elf *elf, size_t count); Elf64_Phdr *elf64_getphdr(Elf *elf); Elf64_Phdr *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 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 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 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.

For a 64-bit class file, elf64_getphdr returns a pointer to the program execution header table, if one is available for 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 functions 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_Xword p_filesz; Elf64_Xword p_memsz; Elf64_Word p_flags; Elf64_Xword 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.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.