FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | ライブラリ | 書式 | 解説 | 戻り値 | エラー | 関連項目
ELF_UPDATE(3)          FreeBSD ライブラリ関数マニュアル          ELF_UPDATE(3)

名称
     elf_update -- ELF 記述子を更新する

ライブラリ
     ELF 解析ライブラリ (libelf, -lelf)

書式
     #include <libelf.h>

     off_t
     elf_update(Elf *elf, Elf_Cmd cmd);

解説
     関数 elf_update() によって、ライブラリは、ELF オブジェクトの構造を再計算
     し、オプションでオブジェクトのイメージをファイルに書き込みます。

     引数 elf は、有効な ELF 記述子を参照するべきです。

     引数 cmd は、次の値の 1 つを指定することができます:

     ELF_C_NULL      ライブラリは、ELF_F_DIRTY フラグで変更された構造体の構造
                     的な情報を再計算しますが、データを基本的なファイルイメー
                     ジに書き込みません。

     ELF_C_WRITE     ライブラリは、構造的な情報について再計算し、新しいイメー
                     ジを基本的なファイルに書き込みます。引数 elf によって参照
                     される ELF 記述子は、書き込みまたは更新される基本な ELF
                     オブジェクトを許可するべきです (elf_begin(3) を参照)。

     記述子 elf に関連した Elf_ScnElf_Data 記述子へのすべてのポインタは、
     elf_update() への呼び出しの後に無効であると見なされるべきです。

   オブジェクトのレイアウトの指定
     ELF 解析ライブラリ (libelf, -lelf) は、2 つのレイアウトモードをサポートし
     ます。

     ライブラリのレイアウト
             ELF_F_LAYOUT フラグが ELF 記述子で設定されないなら、ELF ライブラ
             リは、次のスキームによって ELF オブジェクトをレイアウトします:
             EHDR          ELF 実行形式のヘッダは、オブジェクトの最初に置かれ
                           ます。
             PHDR          ELF 記述子がプログラムのヘッダテーブルを含んでいる
                           なら、それは、実行形式のヘッダの後に置かれます。
             セクションデータ
                           ELF セクションデータは、存在するなら、保持されてい
                           る各セクションの整列要求を考慮して、次に置かれま
                           す。
             SHDR          ELF セクションヘッダテーブルは、存在するなら、最後
                           に置かれます。

     制御されたアプリケーションのレイアウト
             アプリケーションは、ELF 記述子で ELF_F_LAYOUT フラグを設定するこ
             とによって、ELF オブジェクトのレイアウトの完全な制御をすることが
             できます (elf_flagelf(3) を参照)。この場合に、ライブラリは、下記
             のようにアプリケーションに供給された情報を使用して、ELFオブジェク
             トをレイアウトします:

             EHDR          ELF 実行形式のヘッダは、オブジェクトの最初に置かれ
                           ます。
             PHDR          ELF プログラムのヘッダテーブルは、存在するなら、そ
                           れは、ELF 実行形式のヘッダの e_phoff フィールドで指
                           定されたオフセットに置かれます。
             セクションデータ
                           各 ELF セクションのデータは、セクションのヘッダの
                           sh_offset フィールドによって指定されたオフセットに
                           置かれます。セクションのサイズは、セクションのヘッ
                           ダの sh_size フィールドから取られます。
             SHDR          ELF セクションのヘッダテーブルは、存在するなら、実
                           行形式のヘッダの e_shoff フィールドによって指定され
                           たオフセットに置かれます。

     ファイルの内容の範囲のギャップは、elf_fill(3) によって指定された満たされ
     た値に設定されます。

   供給されたアプリケーションの情報
     アプリケーションは、elf_update() を呼び出す前に ELF 記述子に関連したデー
     タ構造の次のフィールドを設定する必要があります。

     実行形式ヘッダ
             アプリケーションによって設定される必要がある ELF 実行形式のヘッダ
             のフィールドは、次の通りです:

             e_entry            実行形式のために要求されるエントリアドレスに設
                                定されます。
             e_flags            要求されたプロセッサ特有のフラグに設定されま
                                す。
             e_ident[EI_DATA]   ELFDATA2LSB または ELFDATA2MSB の 1 つを設定し
                                なければなりません。
             e_ident[EI_OSABI]  要求された OS ABI に設定されます。例えば、
                                FreeBSD の実行形式について、このフィールドは、
                                ELFOSABI_FREEBSD に設定されるべきです。
             e_machine          要求されたマシンのアーキテクチャをヘッダファイ
                                ルを <elfdefinitions.h> の EM_* 値の 1 つに設
                                定されます。
             e_phoff            アプリケーションがオブジェクトのレイアウトを管
                                理しているなら、このフィールドを ELF プログラ
                                ムヘッダテーブルのファイルオフセットに設定しな
                                ければなりません。
             e_shoff            アプリケーションがオブジェクトのレイアウトを管
                                理しているなら、このフィールドを ELF セクショ
                                ンヘッダテーブルのファイルオフセットに設定しな
                                ければなりません。
             e_shstrndx         セクション名を含んでいる文字列テーブルのイン
                                デックスに設定されます。
             e_type             ELF オブジェクトのタイプをヘッダファイル
                                <elfdefinitions.h> の ET_* 値の 1 つに設定され
                                ます。
             e_version          ELF オブジェクトの要求されたバージョンに設定さ
                                れます。

     プログラムヘッダ
             プログラムのヘッダテーブルのエントリのすべてのフィールドは、アプ
             リケーションによって設定される必要があります。

     セクションヘッダ
             アプリケーションによって設定される必要がある ELF セクションのヘッ
             ダのフィールドは、次の通りです:

             sh_addr       セクションが存在するべきメモリアドレスに設定されま
                           す。
             sh_addralign  アプリケーションがファイルレイアウトを管理している
                           なら、このフィールドをセクションの内容のために必要
                           な整列に設定しなければなりません。この値は、2 のべ
                           き乗でなければなりません、そしてセクションに関連し
                           たあらゆる Elf_Data 記述子によって必要とされる最大
                           の整列と少なくとも同じくらい大きくなければなりませ
                           ん。
             sh_entsize    固定サイズの要素を含んでいるセクションに対して、各
                           エントリのサイズに設定され、固定サイズの要素のない
                           セクションに対して、0 に設定されます。アプリケー
                           ションがファイルレイアウトを管理していないなら、タ
                           イプがライブラリに知られているそれらのセクションの
                           ために 0 として、このフィールドを残します。
             sh_flags      要求されたセクションフラグに設定されます。
             sh_info       elf(5) に説明されるように設定されます。
             sh_link       elf(5) に説明されるように設定されます。
             sh_name       セクション名を含んでいる文字列テーブルのセクション
                           の名前のインデックスに設定されます。
             sh_offset     アプリケーションがファイルレイアウトを管理している
                           なら、このフィールドをセクションの内容のファイルオ
                           フセットに設定しなければなりません。
             sh_size       アプリケーションがファイルレイアウトを管理している
                           なら、このフィールドをセクションの内容のファイルサ
                           イズに設定しなければなりません。
             sh_type       セクションのタイプに設定されます。

     セクションデータ
             各セクションに関連している Elf_Data 記述子は、その内容を指定しま
             す (elf_getdata(3) を参照)。これらの記述子のすべてのフィールドが
             アプリケーションの制御の下にある間に、次のフィールドは、オブジェ
             クトのレイアウトに影響を及ぼします:
             d_align     要求された整列を記述子のデータの含まれているセクショ
                         ン内に設定されます。
             d_off       アプリケーションが管理されているオブジェクトのレイア
                         ウトであるなら、記述子のデータが、置かれるべきである
                         セクション内に、このフィールドをファイルのオフセット
                         に設定しなければなりません。
             d_size      記述子のデータのメモリ表現のバイト単位のサイズに設定
                         されます。

戻り値
     関数 elf_update() は、成功するなら、ファイルイメージの合計サイズを返し、
     エラーが生じるなら、-1 を返します。

エラー
     これらの関数は、次のエラーで失敗するかもしれません:

     [ELF_E_ARGUMENT]  引数 elf が NULL でした。

     [ELF_E_ARGUMENT]  引数 cmd が認識されませんでした。

     [ELF_E_ARGUMENT]  引数 elf が、ELF オブジェクトのための記述子ではありませ
                       んでした。

     [ELF_E_CLASS]     引数 elf の実行形式ヘッダの e_ident[EI_CLASS] フィール
                       ドは、ファイルのクラスに一致しませんでした。

     [ELF_E_DATA]      引数 elf に含まれている Elf_Data 記述子が、サポートされ
                       ていないタイプを指定しました。

     [ELF_E_DATA]      Elf_Data 記述子が、0 であったか、2 のべき乗でなかった整
                       列を指定しました。

     [ELF_E_HEADER]    引数 elf の ELF ヘッダは、既にファイルに関連しているバ
                       イト順序と異なったバイト順序を要求しました。

     [ELF_E_IO]        I/O エラーに遭遇しました。

     [ELF_E_LAYOUT]    引数 elf に含まれた Elf_Data 記述子が、セクションを含む
                       のと不適合である整列を指定しました。

     [ELF_E_LAYOUT]    引数 elf が、範囲でオーバラップしたセクション記述子を含
                       んでいました。

     [ELF_E_LAYOUT]    引数 elf が、間違って整列されたか、またはそれらのデータ
                       に対して小さすぎたセクション記述子を含んでいました。

     [ELF_E_LAYOUT]    フラグ ELF_F_LAYOUT が、Elf 記述子に設定され、プログラ
                       ムのヘッダテーブルでオーバラップされた実行形式のヘッダ
                       に設定されました。

     [ELF_E_LAYOUT]    フラグ ELF_F_LAYOUT が、Elf 記述子に設定され、プログラ
                       ムのヘッダテーブルが、整列されていないファイルのオフ
                       セットに置かれました。

     [ELF_E_LAYOUT]    フラグ ELF_F_LAYOUT が、Elf 記述子に設定され、セクショ
                       ンのヘッダテーブルが、セクション記述子によってマップさ
                       れた範囲をオーバラップしました。

     [ELF_E_LAYOUT]    ELF_F_LAYOUT フラグが、Elf 記述子で設定され、Elf_Data
                       記述子の d_offset フィールドが、複数の記述子の指定され
                       た整列でなかった値を含んでいました。

     [ELF_E_MODE]      ELF_C_WRITE 操作が、書き込みまたは更新用にオープンされ
                       なかった ELF 記述子で要求されました。

     [ELF_E_SECTION]   引数 elf は、認識されていないタイプがあるセクションを含
                       みました。

     [ELF_E_SECTION]   インデックス SHN_UNDEF のセクションヘッダには、不正なセ
                       クションタイプがありました。

     [ELF_E_SEQUENCE]  ELF_C_WRITE 操作が、基本的なファイルから ELF 記述子 elf
                       を分離された elf_cntl(elf, ELF_C_FDDONE) への前の呼び出
                       しの後に要求されました。

     [ELF_E_VERSION]   引数 elf がサポートされないバージョンであるか、またはサ
                       ポートされないバージョンで Elf_Data 記述子を含みまし
                       た。

関連項目
     elf(3), elf32_getehdr(3), elf32_getphdr(3), elf32_newehdr(3),
     elf32_newphdr(3), elf64_getehdr(3), elf64_getphdr(3), elf64_newehdr(3),
     elf64_newphdr(3), elf_begin(3), elf_cntl(3), elf_fill(3),
     elf_flagehdr(3), elf_flagelf(3), elf_getdata(3), elf_getscn(3),
     elf_newdata(3), elf_newscn(3), elf_rawdata(3), gelf(3), gelf_newehdr(3),
     gelf_newphdr(3), elf(5)

FreeBSD 11.2                    August 14, 2011                   FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索