GELF_GETEHDR(3)

GELF_GETEHDR(3) | Library Functions Manual | GELF_GETEHDR(3)

# NAME

elf32_getehdr, elf64_getehdr, gelf_getehdr — retrieve the object file header

# LIBRARY

ELF Access Library (libelf, -lelf)

# SYNOPSIS

#include <libelf.h>
Elf32_Ehdr *
elf32_getehdr(Elf *elf);
Elf64_Ehdr *
elf64_getehdr(Elf *elf);
#include <gelf.h>
GElf_Ehdr *
gelf_getehdr(Elf *elf, GElf_Ehdr *dst);

# DESCRIPTION

These functions retrieve the ELF object file header from the ELF descriptor elf and return a translated header descriptor to their callers.
Functions elf32_getehdr() and elf64_getehdr() return a pointer to the appropriate class-specific header descriptor if it exists in the file referenced by descriptor elf. These functions return `NULL` if an ELF header was not found in file elf.
Function gelf_getehdr() stores a translated copy of the header for ELF file elf into the descriptor pointed to by argument dst. It returns argument dst if successful or `NULL` in case of failure.

# RETURN VALUES

These functions return a pointer to a translated header descriptor if successful, or NULL on failure.

# ERRORS

These functions can fail with the following errors:

[`ELF_E_ARGUMENT`]
  The argument elf was null.
[`ELF_E_ARGUMENT`]
  Argument elf was not a descriptor for an ELF file.
[`ELF_E_ARGUMENT`]
  The elf class of descriptor elf was not recognized.
[`ELF_E_ARGUMENT`]
  Argument dst was null.
[`ELF_E_CLASS`]
  The ELF class of descriptor elf did not match that of the API function being called.
[`ELF_E_HEADER`]
  ELF descriptor elf does not have an associated header.
[`ELF_E_RESOURCE`]
  An out of memory condition was detected during execution.
[`ELF_E_SECTION`]
  The ELF descriptor in argument elf did not adhere to the conventions used for extended numbering.
[`ELF_E_VERSION`]
  The ELF descriptor elf had an unsupported ELF version number.

# SEE ALSO

elf(3), elf32_newehdr(3), elf64_newehdr(3), elf_flagehdr(3), elf_getident(3), gelf(3), gelf_newehdr(3), elf(5)

December 16, 2006 | NetBSD 8.3