GELF_GETSHDR(3) | FreeBSD Library Functions Manual | GELF_GETSHDR(3) |
名称
elf32_getshdr, elf64_getshdr, gelf_getshdr — クラス依存のセクションヘッダを検索するライブラリ
ELF Access Library (libelf, -lelf)書式
#include < libelf.h> Elf32_Shdr *
elf32_getshdr( Elf_Scn *scn);
Elf64_Shdr *
elf64_getshdr( Elf_Scn *scn);
#include < gelf.h>
GElf_Shdr *
gelf_getshdr( Elf_Scn *scn, GElf_Shdr *shdr);
解説
これらの関数は、セクション記述子 scn に関連している ELF セクションヘッダデータ構造体へのポインタを返します。関数 elf32_getshdr() は、 Elf32_Shdr 構造体へのポインタを検索して取得します。セクション記述子 scn は、クラス ELFCLASS32 の ELF 記述子に関連していなければなりません。
関数 elf64_getshdr() は、 Elf64_Shdr 構造体へのポインタを検索して取得します。セクション記述子 scn は、クラス ELFCLASS64 の ELF 記述子に関連していなければなりません。
関数 gelf_getshdr() は、引数 scn に関連するセクションヘッダの値を引数 dst で指される構造体にコピーします。 GElf_Shdr データ構造体は、 gelf(3) で説明されています。
戻り値
関数 elf32_getshdr() と elf64_getshdr() は、成功すれば、適切なセクションヘッダへの有効なポインタを返し、エラーに遭遇したなら、NULL を返します。関数 gelf_getshdr() は、成功したなら、引数 dst を返し、エラーに遭遇したなら、NULL を返します。
エラー
これらの関数は、次のエラーで失敗するかもしれません:- [ ELF_E_ARGUMENT]
- 引数 scn または shdr が NULL でした。
- [ ELF_E_ARGUMENT]
- 引数 scn が、ELF オブジェクトのための記述子に関連づけられていませんでした。
- [ ELF_E_CLASS]
- セクション記述子 scn に関連している ELF のクラスは、API によって期待されたクラスに適合していませんでした。
August 27, 2006 | FreeBSD |