ldtbread-Subroutine
Zweck
Liest einen indexierten Symboltabelleneintrag einer allgemeinen Objektdatei.
Bibliothek
Bibliothek Für Objektdateizugriffsroutinen (libld.a)
Syntax
#include <ldfcn.h>
int ldtbread ( ldPointer, SymbolIndex, Symbol)
LDFILE *ldPointer;
long SymbolIndex;
void *Symbol;
Beschreibung
Die Subroutine ldtbread liest den Symboltabelleneintrag, der durch den Wert des Parameters SymbolIndex der allgemeinen Objektdatei angegeben wird, die dem Parameter ldPointer derzeit zugeordnet ist, in den Speicherbereich ab dem Parameter Symbol . Es liegt in der Verantwortung der aufrufenden Routine, einen Zeiger auf einen Puffer bereitzustellen, der groß genug ist, um den Symboltabelleneintrag der zugeordneten Objektdatei aufzunehmen. Da die Subroutine ldopen Informationen zum Dateitypanzeiger (über das Makro HEADER (ldPointer) .f_magic ) bereitstellt, kann die aufrufende Anwendung immer bestimmen, ob der Zeiger Symbol auf eine 32 -Bit- SYMENT -oder 64 -Bit- SYMENT_64 -Struktur verweisen soll.
Parameter
| Element | Beschreibung |
|---|---|
| ldPointer | Verweist auf die Struktur LDDATEI , die als Ergebnis eines erfolgreichen Aufrufs an die Subroutine ldopen oder LDAOPEN zurückgegeben wurde. |
| SymbolIndex | Gibt den Index des zu lesenden Symboltabelleneintrags an. |
| Symbol | Verweist auf eine 32 -Bit-oder eine 64 -Bit- EINZAHLUNG -Struktur. |
Rückgabewerte
Die Subroutine Ldtbread gibt den Wert SUCCESS oder FAILURE zurück.
Fehlercodes
Die Subroutine ldtbread schlägt fehl, wenn der Parameter SymbolIndex größer-gleich der Anzahl der Symbole in der Objektdatei ist oder wenn sie den angegebenen Symboltabelleneintrag nicht lesen kann.