LDTBREAD(3X) — NEWS-OS Programmer’s Manual
名称
ldtbread − 共通オブジェクトファイルのインデックスされたシンボルテーブル エントリを読み込む
形式
#include <stdio.h>
#include <filehdr.h>
#include <syms.h>
#include <ldfcn.h>
int ldtbread (ldptr, symindex, symbol)
LDFILE ∗ldptr;
long symindex;
pSYMR ∗symbol;
解説
ldtbread は、現在 ldptr と対応付けられている共通オブジェクトファイルの symindex により指定されたシンボルテーブルエントリを、 symbol で始まっているエントリ領域に読み込みます。
ldtbread は、 SUCCESS または FAILURE を返します。 symindex がオブジェクトファイル中のシンボル数より大きい場合、 または指定されたシンボルテーブルエントリを読み込めない場合は、 ldtbread は失敗します。
ローカルおよび外部記号(シンボル)は、線形リストに連結されます。 シンボルは symnum ゼロから SYMHEADER(ldptr).isymMax+SYMHEADER(ldptr).iextMax までアクセス可能です。 SYMR のインデックスおよび iss フィールドは(ファイル相対ではなく) 絶対的なので、ldgetname(3X)、ldgetaux(3X) および ldtbread (本ルーチン) は、引数として与えられたインデックスに対して処理を行います。 この時、外部シンボルの "sym" 部分だけが返されます。
注意: シンボルテーブル中の最初のシンボルは、インデックス 0 をもちます。
プログラムは、オブジェクトファイルのアクセスルーチンライブラリ libmld.a とともにロードしなければなりません。
関連事項
ldclose(3X), ldgetname(3X), ldopen(3X), ldtbseek(3X), ldgetname(3X), ldfcn(3X)
NEWS-OSRelease 4.2.1R