EN JA
GELF_GETREL(3)
GELF_GETREL(3) FreeBSD Library Functions Manual GELF_GETREL(3)

名称

gelf_getrel, gelf_update_relELF 再配置エントリを読み込んで、更新する

ライブラリ

ELF Access Library (libelf, -lelf)

書式

#include < gelf.h>

GElf_Rel *
gelf_getrel( Elf_Data *data, int ndx, GElf_Rel *rel);

int
gelf_update_rel( Elf_Data *data, int ndx, GElf_Rel *rel);

解説

これらの便利な関数は、ELF オブジクトでクラスに依存する Elf32_Rel または Elf64_Rel 構造を検索して、更新するために使用されます。

引数 data は、タイプ SHT_REL のセクションに関連している Elf_Data 記述子です。引数 ndx は、検索されるか、または更新されるエントリのインデックスです。クラスから独立している GElf_Rel 構造は gelf(3) で説明されています。

関数 gelf_getrel() は、データバッファ data のインデックス ndx でクラス依存のエントリを検索して、クラスから独立している形式に変換した後に、引数 rel によって指された送り先にそれをコピーします。

関数 gelf_update_rel() は、引数 rel によって指されたクラスから独立しているエントリをクラス依存する形式に変換し、引数 data によって記述されたデータバッファのインデックス ndx のエントリにそれを書き込みます。関数 gelf_update_rel() は、クラスから独立している表現の値のどれかがターゲットタイプの表現可能な制限を超えるなら、エラーシグナルを生成します。

戻り値

関数 gelf_getrel() は、成功したなら、引数 rel の値を返し、エラーの場合は、NULL を返します。関数 gelf_update_rel() は、成功したなら、0 以外の値を返し、エラーの場合は 0 を返します。

エラー

これらの関数は、次のエラーで失敗するかもしれません:
[ ELF_E_ARGUMENT]
引数 data または rel が NULL でした。
[ ELF_E_ARGUMENT]
引数 ndx は、0 未満またはデータ記述子のエントリの数より大きかったです。
[ ELF_E_ARGUMENT]
データ記述子 data は、タイプ SHT_REL のセクションに関連づけられませんでした。
[ ELF_E_RANGE]
値は、ターゲットタイプで表現可能ではありませんでした。
August 29, 2006 FreeBSD