Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GELF_GETPHDR(3)		 BSD Library Functions Manual	       GELF_GETPHDR(3)

NAME
     elf32_getphdr, elf64_getphdr, gelf_getphdr	-- retrieve an ELF program
     header table

LIBRARY
     ELF Access	Library	(libelf, -lelf)

SYNOPSIS
     #include <libelf.h>

     Elf32_Phdr	*
     elf32_getphdr(Elf *elf);

     Elf64_Phdr	*
     elf64_getphdr(Elf *elf);

     #include <gelf.h>

     GElf_Phdr *
     gelf_getphdr(Elf *elf, int	index, GElf_Phdr *dst);

DESCRIPTION
     These functions retrieve and translate ELF	program	header information
     from an ELF descriptor, if	this information exists.

     Functions elf32_getphdr() and elf64_getphdr() return a pointer to an ar-
     ray of translated Elf32_Phdr and Elf64_Phdr descriptors respectively.
     These descriptors are described in	elf(5).	 The number of entries in this
     array may be determined using the elf_getphnum(3) function.

     Function gelf_getphdr() will retrieve the program header table entry at
     index index from ELF descriptor elf. The translated program header	table
     entry will	be written to the address pointed to be	argument dst.

     Applications may inform the library of modifications to a program header
     table entry by using the elf_flagphdr(3) API.  Applications using the
     gelf(3) interface need to use the gelf_update_phdr(3) API to copy modifi-
     cations to	a program header entry back to the underlying ELF descriptor.

RETURN VALUES
     The functions a valid pointer if successful, or NULL in case an error was
     encountered.

ERRORS
     These functions may fail with the following errors:

     [ELF_E_ARGUMENT]  Argument	elf was	NULL.

     [ELF_E_ARGUMENT]  Argument	elf was	not a descriptor for an	ELF object.

     [ELF_E_ARGUMENT]  Argument	dst was	NULL.

     [ELF_E_ARGUMENT]  Index index was out of range.

     [ELF_E_CLASS]     The class of ELF	descriptor elf did not match the ex-
		       pected class of the function being called.

     [ELF_E_HEADER]    ELF descriptor elf did not possess an executable
		       header.

     [ELF_E_HEADER]    ELF descriptor elf had a	corrupt	executable header.

     [ELF_E_RESOURCE]  An out of memory	condition was detected.

     [ELF_E_SECTION]   The ELF descriptor in argument elf did not adhere to
		       the conventions used for	extended numbering.

     [ELF_VERSION]     ELF descriptor elf was of an unsupported	version.

SEE ALSO
     elf(3), elf32_getehdr(3), elf32_newphdr(3), elf64_getehdr(3),
     elf64_newphdr(3), elf_flagphdr(3),	elf_getphnum(3), gelf(3),
     gelf_getehdr(3), gelf_newphdr(3), gelf_update_phdr(3), elf(5)

BSD			       October 21, 2007				   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=elf64_getphdr&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help