FreeBSD manual

download PDF document: gelf_update_phdr.3.pdf

GELF_UPDATE_EHDR(3) FreeBSD Library Functions Manual GELF_UPDATE_EHDR(3)
NAME gelf_update_ehdr, gelf_update_phdr, gelf_update_shdr - update underlying ELF data structures
LIBRARY ELF Access Library (libelf, -lelf)
SYNOPSIS #include <gelf.h>
int gelf_update_ehdr(Elf *elf, GElf_Ehdr *ehdr);
int gelf_update_phdr(Elf *elf, int ndx, GElf_Phdr *phdr);
int gelf_update_shdr(Elf_Scn *scn, GElf_Shdr *shdr);
DESCRIPTION These functions are used to update ELF data structures on the underlying ELF descriptor. Class-dependent data structures in the underlying ELF descriptor are updated using the data in the class-independent GElf descriptors and the underlying ELF data structures are marked "dirty". The conversion process signals an error if the values being copied to the target ELF data structure would exceed representation limits. GElf descriptors are described in gelf(3).
Function gelf_update_ehdr() updates the ELF Executable Header with the values in the class-independent executable header ehdr.
Function gelf_update_phdr() updates the ELF Program Header structure at index ndx with the values in the class-independent program header phdr.
Function gelf_update_shdr() updates the ELF Section Header structure associated with section descriptor scn with the values in argument shdr.
RETURN VALUES These functions return a non-zero integer on success, or zero in case of an error.
ERRORS These functions may fail with the following errors:
[ELF_E_ARGUMENT] Arguments elf, ehdr, phdr, scn, or shdr were NULL.
[ELF_E_ARGUMENT] Argument elf was not a descriptor for an ELF object.
[ELF_E_ARGUMENT] Argument elf had an unsupported ELF class.
[ELF_E_ARGUMENT] Argument ndx exceeded the number of entries in the program header table.
[ELF_E_ARGUMENT] Section descriptor scn was not associated with an ELF descriptor.
[ELF_E_MODE] ELF descriptor elf was not opened for writing or
FreeBSD 14.0-RELEASE-p6 August 27, 2006 FreeBSD 14.0-RELEASE-p6