ELF_STRPTR(3)

ELF_STRPTR(3) | Library Functions Manual | ELF_STRPTR(3)

# NAME

`elf_strptr` — retrieve a string pointer in a string table

# LIBRARY

ELF Access Library (libelf, -lelf)

# SYNOPSIS

`#include <libelf.h>`

char *
`elf_strptr`(Elf *elf, size_t scndx, size_t stroffset);

# DESCRIPTION

Function `elf_strptr`() allows an application to convert a string table offset to a string pointer, correctly translating the offset in the presence of multiple Elf_Data descriptors covering the contents of the section.

Argument elf is a descriptor for an ELF object. Argument scndx is the section index for an ELF string table. Argument stroffset is the index of the desired string in the string table.

# RETURN VALUES

Function `elf_strptr`() returns a valid pointer on success or `NULL` in case an error was encountered.

# ERRORS

[`ELF_E_ARGUMENT`]
  Argument elf was `NULL`.
[`ELF_E_ARGUMENT`]
  Argument elf was not a descriptor for an ELF object.
[`ELF_E_ARGUMENT`]
  Argument scndx was not the section index for a string table.
[`ELF_E_ARGUMENT`]
  Argument stroffset exceeded the size of the string table.
[`ELF_E_ARGUMENT`]
  Argument stroffset index an unallocated region of the string table.
[`ELF_E_DATA`]
  Offset stroffset indexed a region that was not covered by any Elf_Data descriptor.
[`ELF_E_DATA`]
  An erroneous Elf_Data descriptor was part of the section specified by argument scndx.
[`ELF_E_HEADER`]
  ELF descriptor elf contained an invalid section header.
[`ELF_E_RESOURCE`]
  An out of memory condition was detected.
[`ELF_E_SECTION`]
  Section scndx contained a malformed section header.
[`ELF_E_SECTION`]
  The ELF descriptor in argument elf did not adhere to the conventions used for extended numbering.

# SEE ALSO

elf(3), elf32_getshdr(3), elf64_getshdr(3), elf_getdata(3), elf_rawdata(3), gelf(3), gelf_getshdr(3)

December 16, 2006 | NetBSD 11.0