HP-UX Reference (11i v2 04/09) - 3 Library Functions A-M (vol 6)

e
elf_getehdr(3E) elf_getehdr(3E)
NAME
elf32_getehdr, elf32_newehdr, elf64_getehdr, elf64_newehdr - retrieve class-dependent object file header
for elf32 and elf64 files, respectively
SYNOPSIS
cc [flag... ] file...
-lelf [library] ...
#include <libelf.h>
Elf32_Ehdr *elf32_getehdr(Elf *elf);
Elf32_Ehdr *elf32_newehdr(Elf *elf);
Elf64_Ehdr *elf64_getehdr(Elf *elf);
Elf64_Ehdr *elf64_newehdr(Elf *elf);
DESCRIPTION
For a 32-bit class file,
elf32_getehdr returns a pointer to an ELF header, if one is available for the
ELF descriptor elf. If no header exists for the descriptor,
elf32_newehdr
allocates a ‘‘clean’’ one, but it
otherwise behaves the same as
elf32_getehdr
. It does not allocate a new header if one exists already.
If no header exists (for
elf_getehdr), one cannot be created (for
elf_newehdr), a system error
occurs, the file is not a 32-bit class file, or elf is null, both functions return a null pointer. The header
includes the following members.
unsigned char e_ident[EI_NIDENT];
Elf32_Half e_type;
Elf32_Half e_machine;
Elf32_Word e_version;
Elf32_Addr e_entry;
Elf32_Off e_phoff;
Elf32_Off e_shoff;
Elf32_Word e_flags;
Elf32_Half e_ehsize;
Elf32_Half e_phentsize;
Elf32_Half e_phnum;
Elf32_Half e_shentsize;
Elf32_Half e_shnum;
Elf32_Half e_shstrndx;
elf32_newehdr automatically sets the
ELF_F_DIRTY bit (see elf_flag(3E)). A program may use
elf_getident to inspect the identification bytes from a file.
For a 64-bit class file,
elf64_getehdr
returns a pointer to an ELF header, if one is available for the
ELF descriptor elf. If no header exists for the descriptor,
elf64_newehdr
allocates a ‘‘clean’’ one, but it
otherwise behaves the same as
elf64_getehdr
. It does not allocate a new header if one exists already.
If no header exists (for
elf_getehdr), one cannot be created (for elf_newehdr), a system error
occurs, the file is not a 64-bit class file, or elf is null, both functions return a null pointer. The header
includes the following members.
unsigned char e_ident[EI_NIDENT];
Elf64_Half e_type;
Elf64_Half e_machine;
Elf64_Word e_version;
Elf64_Addr e_entry;
Elf64_Off e_phoff;
Elf64_Off e_shoff;
Elf64_Word e_flags;
Elf64_Half e_ehsize;
Elf64_Half e_phentsize;
Elf64_Half e_phnum;
Elf64_Half e_shentsize;
Elf64_Half e_shnum;
Elf64_Half e_shstrndx;
elf64_newehdr automatically sets the ELF_F_DIRTY bit (see elf_flag(3E)). A program may use
elf_getident to inspect the identification bytes from a file.
HP-UX 11i Version 2: September 2004 1 Hewlett-Packard Company Section 3253