elf_getident.3e (2010 09)

e
elf_getident(3E) elf_getident(3E)
NAME
elf_getident - retrieve file identification data
SYNOPSIS
cc [flag... ] file...
-lelf [library ] ...
#include <libelf.h>
char *elf_getident(Elf *elf, size_t *ptr);
DESCRIPTION
As elf (3E) explains, ELF provides a framework for various classes of files, where basic objects may have
32 bits, 64 bits, and so forth. To accommodate these differences, without forcing the larger sizes on
smaller machines, the initial bytes in an ELF file hold identification information common to all file
classes. Every ELF header’s
e_ident has EI_NIDENT bytes with the following interpretation.
e_ident Index Value Purpose
EI_MAG0 ELFMAG0 File identification
EI_MAG1 ELFMAG1
EI_MAG2 ELFMAG2
EI_MAG3 ELFMAG3
EI_CLASS ELFCLASSNONE File class
ELFCLASS32
ELFCLASS64
EI_DATA ELFDATANONE Data encoding
ELFDATA2LSB
ELFDATA2MSB
EI_VERSION EV_CURRENT File version
EI_OSABI ELFOSABI_NONE OS/ABI identification
ELFOSABI_HPUX
EI_ABIVERSION 0 ABI version
1
EI_PAD Start of padding bytes
10-15 0 Unused, set to zero
Other kinds of files (see elf_kind (3E)) also may have identification data, though they would not conform
to e_ident.
elf_getident returns a pointer to the file’s ‘‘initial bytes.’’ If the library recognizes the file, a conver-
sion from the file image to the memory image may occur. In any case, the identification bytes are
guaranteed not to have been modified, though the size of the unmodified area depends on the file type. If
ptr is non-null, the library stores the number of identification bytes in the location to which ptr points. If
no data is present, elf is null, or an error occurs, the return value is a null pointer, with zero optionally
stored through ptr .
SEE ALSO
elf(3E), elf_begin(3E), elf_getehdr(3E), elf_kind(3E), elf_rawfile(3E).
HP-UX 11i Version 3: September 2010 1 Hewlett-Packard Company 1

Summary of content (2 pages)