Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


GELF_UPDATE_EHDR(3)        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)

NetBSD 10.99                    August 27, 2006                   NetBSD 10.99