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

# NAME

elf32_getehdr, elf64_getehdr, gelf_getehdr — retrieve the object file header

# LIBRARY

ELF Parsing 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 5.99