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

FreeBSD Manual Pages

  
 
  

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

NAME
     elf32_newphdr, elf64_newphdr, gelf_newphdr	-- allocate an ELF program
     header table

LIBRARY
     ELF Access	Library	(libelf, -lelf)

SYNOPSIS
     #include <libelf.h>

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

     Elf64_Phdr	*
     elf64_newphdr(Elf *elf, size_t count);

     #include <gelf.h>

     void *
     gelf_newphdr(Elf *elf, size_t count);

DESCRIPTION
     These functions allocate an ELF Program Header table for an ELF descrip-
     tor.  Elf32_Phdr and Elf64_Phdr descriptors are described further in
     elf(5).

     Functions elf32_newphdr() and elf64_newphdr() allocate a table of count
     Elf32_Phdr	and Elf64_Phdr descriptors respectively, discarding any	exist-
     ing program header	table already present in the ELF descriptor elf.  A
     value of zero for argument	count may be used to delete an existing	pro-
     gram header table from an ELF descriptor.

     Function gelf_newphdr() will return a table of Elf32_Phdr or Elf64_Phdr
     with count	elements depending on the ELF class of ELF descriptor elf.

     The functions set the ELF_F_DIRTY flag on the program header table.  All
     members of	the returned array of Phdr structures will be initialized to
     zero.

     After a successful	call to	these functions, the pointer returned by a
     prior call	to elf32_getphdr() or elf64_getphdr() on the same descriptor
     elf will no longer	be valid.

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

COMPATIBILITY
     The gelf_newphdr()	function uses a	type of	void * for its returned	value.
     This differs from some other implementations of the ELF(3)	API, which use
     an	unsigned long return type.

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_CLASS]     ELF descriptor elf was of an unrecognized class.

     [ELF_E_RESOURCE]  An out of memory	condition was detected.

     [ELF_E_SEQUENCE]  An executable header was	not allocated for ELF descrip-
		       tor elf before using these APIs.

SEE ALSO
     elf(3), elf32_getphdr(3), elf32_newehdr(3), elf64_getphdr(3),
     elf64_newehdr(3), elf_flagphdr(3),	elf_getphnum(3), gelf(3),
     gelf_getphdr(3), gelf_newehdr(3), elf(5)

BSD			       October 22, 2007				   BSD

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

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

home | help