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.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)

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



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 書式 | 解説 | 関連項目 | 歴史 | 作者 | バグ
SYSCTL_ADD_OID(9)      FreeBSD カーネル開発者マニュアル      SYSCTL_ADD_OID(9)

名称
     sysctl_add_oid, sysctl_move_oid, sysctl_remove_oid, sysctl_remove_name --
     実行時 sysctl ツリー操作

書式
     #include <sys/types.h>
     #include <sys/sysctl.h>

     struct sysctl_oid *
     sysctl_add_oid(struct sysctl_ctx_list *ctx,
         struct sysctl_oid_list *parent, int number, const char *name,
         int kind, void *arg1, intmax_t arg2,
         int (*handler) (SYSCTL_HANDLER_ARGS), const char *format,
         const char *descr, const char *label);

     int
     sysctl_move_oid(struct sysctl_oid *oidp, struct sysctl_oid_list *parent);

     int
     sysctl_remove_oid(struct sysctl_oid *oidp, int del, int recurse);

     int
     sysctl_remove_name(struct sysctl_oid *oidp, const char *name, int del,
         int recurse);

解説
     これらの関数は、例えば、モジュールの存続期間の間に、実行時に sysctl OID
     を作成し削除するためにインタフェースを提供しています。sysctl(9) によって
     定義されたラッパマクロは、新しい OID を作成するとき、推奨されます。
     sysctl_add_oid() コードから直接呼び出されるべきではありません。

     タイプ CTLTYPE_NODE の動的な OID は、いくつかのコードセクションが、それら
     を作成してい削除することができるように、再使用可能ですが、実際には、それ
     らは、リファレンスカウントに基づいて、割り付けられ、解放されます。結果と
     して、それらが両方とも使用する、2 つ以上のコードセクションに対して部分的
     にオーバラップするツリーを作成することは、可能です。オーバラップする葉を
     作成することも、同じ名前と親で異なる子どもタイプを作成することも不可能で
     す。

     sysctl_add_oid() 関数は、もしあるなら、あらゆるタイプの生の OID を作成
     し、その親のノードにそれを接続します。OID が成功して作成されるなら、関数
     は、それへのポインタを返し、そうでなければ、NULL を返します。
     sysctl_add_oid() のための多くの引数は、sysctl(9) によって定義されたラッパ
     マクロに共通です。

     sysctl_move_oid() 関数は、既存の OID を再び親とします。あたかも OID_AUTO
     に設定された number で作成されたかのように、OID は、新しい番号に割り当て
     られます。

     sysctl_remove_oid() 関数は、オプションでそのリソースを解放して、ツリーか
     ら動的に作成された OID を削除します。それは、次の引数を取ります:

     oidp     削除される動的な OID へのポインタ。OID が動的でないか、またはポ
              インタが NULL であるなら、関数は、EINVAL を返します。

     del      0 でないなら、sysctl_remove_oid() は、OID のリファレンスカウント
              が 0 になるとき、OID のリソースを解放しようと試みます。しかしな
              がら、del が 0 に設定されるなら、ルーチンは、その資源を解放せず
              に、単にツリーから OID の登録を取り消します。この振る舞いは、呼
              び出し側が後で、多くの OID のロールバックの (おそらく部分的に失
              敗した) 削除を期待するとき、役に立ちます。

     recurse  0 でないなら、ノードとそのすべての子どもを削除することを試みま
              す。recurse が 0 に設定されるなら、あらゆる子どもを含むノードを
              削除する試みは、ENOTEMPTY エラーの結果となります。警告: "細心の
              注意を払って再帰的な削除を使用してください" !  通常、それは、コ
              ンテキストが使用されるなら、必要とされるべきではありません。コン
              テキストは、ツリーのユーザ間の相互の依存性を追跡することを処理し
              ます。しかしながら、いくつかの極端な場合に、それが他のいくつかの
              リソースを解放するために、それがどのように作成されたとしても、サ
              ブツリーの一部を削除することが必要かもしれません。しかしながら、
              他のコードセクションが削除されたサブツリーを使用し続けるなら、こ
              れは、システム panic(9) の結果となるかもしれないことに注意してく
              ださい。

     sysctl_remove_name() 関数は、name 引数と一致する子ノードを検索して、次
     に、delrecurse 引数を通過していって、そのノードで sysctl_remove_oid()
     関数を呼び出します。指定された名前があるノードが存在しないなら、ENOENT の
     エラーコードが返されます。そうでないなら、sysctl_remove_oid() からのエ
     ラーコードが返されます。

     ほとんどの場合、プログラマは、作成された OID の経過を追い、規則的な方法で
     後にそれらを削除するために sysctl_ctx_init(9) に記述されているように、コ
     ンテキストを使用するべきです。

関連項目
     sysctl(8), sysctl(9), sysctl_ctx_free(9), sysctl_ctx_init(9)

歴史
     これらの関数は、FreeBSD 4.2 ではじめて登場しました。

作者
     Andrzej Bialecki <abial@FreeBSD.org>

バグ
     多くのコードセクションの間のノードを共有することは、時々リソースをロック
     する相互依存を引き起こします。例えば、モジュール A がモジュール B によっ
     て作成された OID へのサブツリーを取り付けるなら、モジュール B は、その
     OID を削除することができません。これらの問題は、sysctl コンテキストによっ
     て適切に扱われます。

     ツリーでの多くの操作は、リンクされたリストを横断することを含んでいます。
     このために、OID 生成と削除は、比較的コストが高くなります。

FreeBSD 13.2                   December 13, 2016                  FreeBSD 13.2

Table of Contents

FreeBSD マニュアル検索