GELF_UPDATE_EHDR(3) BSD 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 updating.
[ELF_E_RESOURCE] An out of memory condition was detected.
SEE ALSO
elf(3), elf_flagelf(3), elf_flagphdr(3), elf_flagshdr(3), gelf(3), gelf_getehdr(3), gelf_getphdr(3), gelf_getshdr(3)
BSD
August 27, 2006 BSD