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 9.1