elf_getident(3E)elf_getident(3E)NAMEelf_getident - retrieve file identification data
SYNOPSIS
[flag... ] file... [library] ...
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 has 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
returns a pointer to the file's ``initial bytes.'' If the library rec‐
ognizes the file, a conversion 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 ALSOelf(3E), elf_begin(3E), elf_getehdr(3E), elf_kind(3E), elf_rawfile(3E).
elf_getident(3E)