tail head cat sleep
QR code linking to this page

Manual Pages  — ELF_GETSCN

NAME

elf_getscn, elf_ndxscn, elf_newscn, elf_nextscn – get/allocate section information for an ELF object

CONTENTS

LIBRARY

ELF Access Library (libelf, -lelf)

SYNOPSIS

#include <libelf.h>

Elf_Scn *
elf_getscn(Elf *elf, size_t index);

size_t
elf_ndxscn(Elf_Scn *scn);

Elf_Scn *
elf_newscn(Elf *elf);

Elf_Scn *
elf_nextscn(Elf *elf, Elf_Scn *scn);

DESCRIPTION

These functions are used to iterate through the sections associated with an ELF descriptor.

Function elf_getscn() will return a section descriptor for the section at index index in the object denoted by ELF descriptor elf. An error will be signalled if the specified section does not exist.

Function elf_ndxscn() returns the section table index associated with section descriptor scn.

Function elf_newscn() creates a new section and appends it to the list of sections associated with descriptor elf. The library will automatically increment the e_shnum field of the ELF header associated with descriptor elf, and will set the ELF_F_DIRTY flag on the returned section descriptor. For ELF descriptors opened for writing, the ELF library will automatically create an empty section at index zero ( SHN_UNDEF) on the first call to elf_newscn().

Function elf_nextscn() takes a section descriptor scn and returns a pointer to the section descriptor at the next higher index. As a consequence, elf_nextscn() will never return a pointer to the empty section at index zero ( SHN_UNDEF). Argument scn is allowed to be NULL, in which case this function will return a pointer to the section descriptor at index 1. If no further sections are present, function elf_nextscn() will return a NULL pointer.

RETURN VALUES

Functions elf_getscn(), elf_newscn() and elf_nextscn() return a valid pointer to a section descriptor if successful, or NULL if an error occurs.

Function elf_ndxscn() returns a valid section table index if successful, or SHN_UNDEF if an error occurs.

ERRORS

These functions may fail with the following errors:
[ELF_E_ARGUMENT]
  Arguments elf or scn were NULL.
[ELF_E_ARGUMENT]
  Argument index exceeded the current number of sections in the ELF object.
[ELF_E_ARGUMENT]
  Argument elf was not a descriptor for an ELF file.
[ELF_E_ARGUMENT]
  Section descriptor scn was not associated with ELF descriptor elf.
[ELF_E_CLASS] Descriptor elf was of an unknown ELF class.
[ELF_E_SECTION] Argument elf specified extended section numbering in the ELF header with the section header at index SHN_UNDEF not being of type SHT_NULL.

SEE ALSO

elf(3), elf_flagdata(3), elf_flagscn(3), elf_getdata(3), elf_getshdr(3), gelf(3)

ELF_GETSCN (3) September 24, 2018

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.