elf_nextscn(3)
- NetBSD Manual Pages
ELF_GETSCN(3) NetBSD Library Functions Manual ELF_GETSCN(3)
NAME
elf_getscn, elf_ndxscn, elf_newscn, elf_nextscn -- get/allocate section
information for an ELF object
LIBRARY
ELF Object Manipulation 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 descrip-
tor. For ELF descriptors opened for writing, the ELF library will auto-
matically 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 conse-
quence, 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)
NetBSD 10.99 September 24, 2018 NetBSD 10.99
Powered by man-cgi (2024-03-20).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.