elf_getident(3E) elf_getident(3E)
NAME
elfgetident - Identifkationsdaten einer Datei lesen
SYNTAX
cc [option ...] datei ... -lelf [bibliothek ...]
#include <libelf.h>
char *elfgetident(Elf *elf, sizet *ptr);
BESCHREIBUNG
Wie unter elf(3E) beschrieben, bietet ELF einen Rahmen für verschiedene
Klassen von Dateien, wobei die grundlegenden Objekte 32 Bits, 64 Bits
etc. umfassen. Um diese Unterschiede auszugleichen, ohne die größeren
Objekte auf kleineren Maschinen einzuschränken, beinhalten die ersten
Bytes einer ELF-Datei Identifikationsinformationen, die für alle
Dateiklassen gleich definiert sind. Jeder eident-Eintrag aus einem
ELF-Kopf besitzt EINIDENT-Bytes, welche folgende Bedeutung haben:
________________________________________________________________________
| e_ident-Index | Wert | Zweck |
|_______________|________________|______________________________________|
| EIMAG0 | ELFMAG0 | Dateiidentifikation |
| EIMAG1 | ELFMAG1 | |
| EIMAG2 | ELFMAG2 | |
| EIMAG3 | ELFMAG3 | |
|_______________|________________|______________________________________|
| EICLASS | ELFCLASSNONE | Dateiklasse |
| | ELFCLASS32 | |
| | ELFClASS64 | |
|_______________|________________|______________________________________|
| EIDATA | ELFDATANONE | Datencodierung |
| | ELFDATA2LSB | |
| | ELFDATA2MSB | |
|_______________|________________|______________________________________|
| EIVERSION | EVCURRENT | Dateiversion |
|_______________|________________|______________________________________|
| 7-15 | 0 | nicht benutzt, wird auf Null gesetzt|
|_______________|________________|______________________________________|
Andere Arten von Dateien [siehe elfkind(3E)] können ebenfalls Identi-
fikationsdaten enthalten, jedoch entsprechen diese nicht eident.
elfgetident() liefert einen Zeiger auf die ersten Bytes der Datei.
Wenn die Bibliothek die Datei erkennt, kann eine Konversion der Datei-
abbildung in eine Speicherabbildung erfolgen. In jedem Fall wird
garantiert, daß die Identifikationsbytes nicht modifiziert werden,
obwohl die Größe des unveränderten Bereichs vom Dateityp abhängt. Wenn
ptr ungleich Null ist, speichert die Bibliothek die Anzahl der Identi-
fikationsbytes an der Adresse, auf die ptr zeigt. Wenn keine Daten
verfügbar sind, elf gleich Null ist, oder wenn ein Fehler auftritt, so
ist der Rückgabewert ein Nullzeiger, wobei gegebenenfalls unter ptr
der Wert Null gespeichert wird.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
elf_getident(3E) elf_getident(3E)
SIEHE AUCH
elf(3E), elfbegin(3E), elfgetehdr(3E), elfkind(3E),
elfrawfile(3E).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98