elf_getident(3E) DG/UX 5.4.2 elf_getident(3E)
NAME
elfgetident - retrieve file identification data
SYNOPSIS
cc [flag ...] file ... -lelf [library ...]
#include <libelf.h>
char *elfgetident(Elf *elf, sizet *ptr);
DESCRIPTION
As elf(3E) explains, ELF provides a framework for various classes of
files, where basic objects may have 32 bits, 64 bits, etc. 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 eident has EINIDENT bytes with the following
interpretation.
eident Index Value Purpose
--------------+--------------+---------------------
EIMAG0 | ELFMAG0 |
EIMAG1 | ELFMAG1 |
EIMAG2 | ELFMAG2 | File identification
EIMAG3 | ELFMAG3 |
--------------+--------------+---------------------
| ELFCLASSNONE |
EICLASS | ELFCLASS32 | File class
| ELFCLASS64 |
--------------+--------------+---------------------
| ELFDATANONE |
EIDATA | ELFDATA2LSB | Data encoding
| ELFDATA2MSB |
--------------+--------------+---------------------
EIVERSION | EVCURRENT | File version
--------------+--------------+---------------------
7-15 | 0 | Unused, set to zero
--------------+--------------+---------------------
Other kinds of files [see elfkind(3E)] also may have identification
data, though they would not conform to eident.
elfgetident returns a pointer to the file's ``initial bytes.'' If
the library recognizes 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 are 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), elfbegin(3E), elfgetehdr(3E), elfkind(3E),
elfrawfile(3E).
Licensed material--property of copyright holder(s) 1