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

名称

elf_cntlelf ファイル記述子を制御する

ライブラリ

ELF Access Library (libelf, -lelf)

書式

#include < libelf.h>

int
elf_cntl( Elf *elf, Elf_Cmd cmd);

解説

関数 elf_cntl() は、ELF 記述子 elf を作成するために使用されるファイル記述子の ELF ライブラリのその後の使用を制御します。

引数 cmd は、次の取るための動作をライブラリに通知します:

ELF_C_FDDONE
この値は、引数 elf に関連しているファイル記述子で、さらなる I/O を実行しないように ELF ライブラリに指示します。モード ELF_C_WRITE または ELF_C_RDWR でオープンされた ELF 記述子に関して、その後の、その記述子での elf_update() 操作は、次で失敗するかもしれません。
ELF_C_FDREAD
この値は、基本的なファイル記述子を、コマンド ELF_C_FDDONE で安全にクローズできるように、ELF 記述子 elf に関連しているすべての必要なデータでメモリに読み込むように ELF ライブラリに指示します。

引数 elf は、ファイルシステムオブジェクト (例えば、 ar(1) アーカイブ、ELF ファイル、または他のデータファイル) に関連している ELF 記述子でなければなりません。

実装に関する注

内部的に mmap(2) を使用するのために、この関数は、 ELF_C_READ モードでオープンされた ELF オブジェクトに対して無効の操作 (no-op) です。

戻り値

関数 elf_cntl() は、成功した場合 0 を返すか、またはエラーが検出されたなら、-1 を返します。

エラー

[ ELF_E_ARCHIVE]
引数 elf が、アーカイブメンバへの記述子です。
[ ELF_E_ARGUMENT]
引数 elf が、NULL でした。
[ ELF_E_ARGUMENT]
引数 cmd が、認識されませんでした。
[ ELF_E_MODE]
ELF_C_FDREAD 操作が、書き込みのためにオープンされた ELF 記述子で要求されました。
August 9, 2006 FreeBSD