ldtbread-Subroutine

Zweck

Liest einen indexierten Symboltabelleneintrag einer allgemeinen Objektdatei.

Bibliothek

Bibliothek Für Objektdateizugriffsroutinen (libld.a)

Syntax

#include <stdio.h>
#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.

Anmerkung: Das erste Symbol in der Symboltabelle hat den Index 0.