EN JA
GELF_GETSHDR(3)
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