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
名称 | ライブラリ | 書式 | 解説 | 戻り値 | 使用例 | 関連項目 | 歴史 | 作者
DLINFO(3)              FreeBSD ライブラリ関数マニュアル              DLINFO(3)

名称
     dlinfo -- ダイナミックにロードしたオブジェクトに関する情報

ライブラリ
     標準 C ライブラリ (libc, -lc)

書式
     #include <link.h>
     #include <dlfcn.h>

     int
     dlinfo(void * restrict handle, int request, void * restrict p);

解説
     dlinfo() 関数は、ダイナミックにロードしたオブジェクトに関する情報を提供し
     ます。dlinfo() および正確な意味によってとられる動作、および p 引数のタイ
     プは、呼び出し側によって提供される request 引数の値に依存します。

     handle (ハンドル) 引数は dlopen(3) 関数呼び出しから返された値あるいは特別
     のハンドル RTLD_SELF のいずれかです。handle (ハンドル) が dlopen(3) 呼び
     出しから返される値である場合、dlinfo() 関数によって返された情報は指定され
     たオブジェクトに関係します。ハンドルが特別のハンドル RTLD_SELF である場
     合、返された情報は呼び出し側自体に関係します。

     request 引数に対するあり得る値は次のとおりです。

     RTLD_DI_LINKMAP
             指定された handle (ハンドル) のための Link_map (struct link_map)
             構造体ポインタを検索します。成功したリターンにおいては、p 引数
             は、handle (ハンドル) 引数によって指定された、共有オブジェクトに
             ついて記述する、Link_map 構造体 (Link_map **p) へのポインタで満た
             されます。Link_map 構造体は、dlopen(3)dlclose(3) が呼ばれる、
             同じ順序で ld.so(1) によってダブルリンクしたリストとして維持され
             ます。使用例の例 1 を参照してください

             Link_map 構造体は <link.h> で定義され、次のメンバがあります:

                   caddr_t         l_addr;    /* ライブラリのベースアドレス */
                   const char      *l_name;   /* ライブラリへの絶対パス */
                   const void      *l_ld;     /* メモリ中の .dynamic へのポインタ */
                   struct link_map *l_next,   /* マップライブラリのリンクリスト */
                                   *l_prev;

             l_addr  オブジェクトのベースアドレスはメモリへロードしました。

             l_name  ロードした共有オブジェクトのフルネーム。

             l_ld    メモリにロードされた動的リンク情報セグメント (PT_DYNAMIC)
                     のアドレス。

             l_next  リンクマップリストでの次の Link_map 構造体。

             l_prev  リンクマップリストでの前の Link_map 構造体。

     RTLD_DI_SERINFO
             与えられた handle (ハンドル) 引数に関連したライブラリ検索パスを検
             索します。p 引数は Dl_serinfo 構造体バッファ (Dl_serinfo *p) を指
             すべきです。Dl_serinfo 構造体は RTLD_DI_SERINFOSIZE リクエストで
             最初に初期化しなければなりません。

             返された Dl_serinfo 構造体は dls_cnt Dl_serpath エントリを含んで
             います。各エントリの dlp_name フィールドは検索パスを指します。対
             応する dlp_info フィールドは、パスの出所を示す、より多くのフラグ
             のうちの 1 つを含んでいます (<link.h> ヘッダファイルに定義された
             LA_SER_* フラグを参照)。使用法の例については、使用例の例 2 を参照
             してください。

     RTLD_DI_SERINFOSIZE
             RTLD_DI_SERINFO リクエストで使用される Dl_serinfo 構造体を初期化
             します。dls_cntdls_size の両方のフィールドはハンドルに適用可
             能な検索パスの数、および dls_cnt Dl_serpath エントリを保持するの
             に要求される Dl_serinfo バッファのサイズの合計および関連する検索
             パス文字列を示すために返されます。使用法の例については、使用例の
             例 2 を参照してください。

     RTLD_DI_ORIGIN
             ハンドルに関連した動的なオブジェクトの出所を検索します。成功した
             リターンでは p 引数は char ポインタ (char *p) で満たされます。

戻り値
     dlinfo() 関数は成功すれば 0 を返します。エラーが生じた場合、-1 を返しま
     す。エラーが検出された場合は常に、それを詳述するメッセージは dlerror(3)
     への呼び出しによって検索できます。

使用例
     例 1: Link_map 構造体を検索するために dlinfo() を使用します。

     次の例は、動的なライブラリが呼び出し側の一つの後にロードした共有ライブラ
     リのリストをどのように検出することができるかを示します。単純にするため
     に、エラーチェックは省略されています。

           Link_map *map;

           dlinfo(RTLD_SELF, RTLD_DI_LINKMAP, &map);

           while (map != NULL) {
                   printf("%p: %s\n", map->l_addr, map->l_name);
                   map = map->l_next;
           }

     例 2: ライブラリ検索パスを検索するために dlinfo() を使用します。

     次の例は、動的なオブジェクトが dlopen(3) で単純なファイル名を位置付けるた
     めに使用されるライブラリ検索パスをどのように検査することができるか示しま
     す。単純にするために、エラーチェックは省略されています。

           Dl_serinfo       _info, *info = &_info;
           Dl_serpath      *path;
           unsigned int     cnt;

           /* determine search path count and required buffer size */
           dlinfo(RTLD_SELF, RTLD_DI_SERINFOSIZE, (void *)info);

           /* allocate new buffer and initialize */
           info = malloc(_info.dls_size);
           info->dls_size = _info.dls_size;
           info->dls_cnt = _info.dls_cnt;

           /* obtain sarch path information */
           dlinfo(RTLD_SELF, RTLD_DI_SERINFO, (void *)info);

           path = &info->dls_serpath[0];

           for (cnt = 1; cnt <= info->dls_cnt; cnt++, path++) {
                   (void) printf("%2d: %s\n", cnt, path->dls_name);
           }

関連項目
     rtld(1), dladdr(3), dlopen(3), dlsym(3)

歴史
     dlinfo() 関数は、Solaris オペレーティングシステムではじめて登場しました。
     FreeBSD では FreeBSD 4.8 ではじめて登場しました。

作者
     dlinfo() 関数の FreeBSD 実装は、Alexey Zelkin <phantom@FreeBSD.org> に
     よって最初に書かれ、後に Alexander Kabaev <kan@FreeBSD.org> によって拡張
     され改善されました。

     この関数のためのマニュアルページは、Alexey Zelkin <phantom@FreeBSD.org>
     によって書かれました。

FreeBSD 11.2                   February 14, 2003                  FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索