elf_getarsym(3E) elf_getarsym(3E)
NAME
elfgetarsym - Symboltabelle eines Archivs lesen
SYNTAX
cc [option ...] datei ... -lelf [bibliothek ...]
#include <libelf.h>
ElfArsym *elfgetarsym(Elf *elf, sizet *ptr);
BESCHREIBUNG
elfgetarsym() liefert einen Zeiger auf die Symboltabelle des Archivs,
falls diese für den ELF-Deskriptor elf verfügbar ist. Ansonsten hat
das Archiv keine Symboltabelle, es trat ein Fehler auf, oder elf ist
gleich Null. In diesem Fall liefert elfgetarsym() den Wert Null. Die
Symboltabelle ist ein Feld von Strukturen, bestehend aus den folgenden
Komponenten:
char *asname;
sizet asoff;
unsigned long ashash;
Diese Komponenten haben die folgende Semantik:
asname ein Zeiger auf einen durch ein Nullzeichen beendeten Symbol-
namen
asoff Dieser Wert ist ein Byte-Offset vom Anfang des Archivs auf
den Kopf der Archivkomponente. Die Archivkomponente am ange-
gebenen Offset definiert das entsprechende Symbol. Die Werte
für asoff können als Argumente an elfrand() übergeben wer-
den, um auf die gewünschten Archivkomponenten zuzugreifen.
ashash Dies ist ein Hash-Wert für den Namen, der durch elfhash()
berechnet wird.
Wenn ptr ungleich Null ist, speichert die Bibliothek die Anzahl der
Tabelleneinträge an der Adresse ab, auf die ptr zeigt. Dieser Wert
wird auf Null gesetzt, wenn der Rückgabewert Null ist. Der letzte
Tabelleneintrag, der noch im Zähler angegeben ist, besitzt für asname
den Wert Null, für asoff den Wert Null und für ashash den Wert ~0UL.
SIEHE AUCH
elf(3E), elfgetarhdr(3E), elfhash(3E), elfrand(3E), ar(4).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98