FreeBSD 7.0 manual page repository

FreeBSD is a free computer operating system based on BSD UNIX originally. Many IT companies, like DeployIS is using it to provide an up-to-date, stable operating system.

elf32_getehdr, elf64_getehdr, gelf_getehdr - retrieve the object file



      elf32_getehdr, elf64_getehdr, gelf_getehdr - retrieve the object file


      library “libelf”


      #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);


      These functions retrieve the ELF object file header from the ELF descrip‐
      tor 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.
      These functions return a pointer to a translated header descriptor if
      successful, or NULL on failure.


      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 execu‐
      [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
      elf(3), elf32_newehdr(3), elf64_newehdr(3), elf_flagehdr(3),
      elf_getident(3), gelf(3), gelf_newehdr(3), elf(5)


Based on BSD UNIX
FreeBSD is an advanced operating system for x86 compatible (including Pentium and Athlon), amd64 compatible (including Opteron, Athlon64, and EM64T), UltraSPARC, IA-64, PC-98 and ARM architectures. It is derived from BSD, the version of UNIX developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.