日本語 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 は現在、作成中で日々更新されています。
Table of Contents
KENV(2) FreeBSD システムコールマニュアル KENV(2)
名称
kenv -- カーネル環境変数
ライブラリ
標準 C ライブラリ (libc, -lc)
書式
#include <kenv.h>
int
kenv(int action, const char *name, char *value, int len);
解説
kenv() システムコールは、カーネル環境変数を操作します。それは、カーネル環
境のすべてのエントリをダンプする能力と同様に、よく知られているユーザラン
ドの環境変数を取得、設定と設定解除のアクションをサポートしています。
action 引数は、次の 1 つを指定できます:
KENV_GET 与えられた name で変数の value を取得します。value バッ
ファのサイズは、切り捨てを避けて、ヌル文字での終了を保
証するために少なくとも KENV_MVALLEN + 1 バイトあるべき
であり、len によって与えられます。
KENV_SET 変数を設定するか、または追加します。name と value は、
それぞれ、KENV_MNAMELEN と KENV_MVALLEN 文字に制限され
ます (ヌル文字の終端子を含みません)。len 引数は、value
の長さを示し、ヌル文字の終端子を含まなければなりませ
ん。このオプションは、スーパユーザだけが利用可能です。
KENV_UNSET 与えられた name で変数を設定解除します。value と len 引
数は、無視されます。このオプションは、スーパユーザだけ
が利用可能です。
KENV_DUMP サイズが len で与えられる value に適合する動的なカーネ
ル環境と同じくらいダンプします。value が NULL であるな
ら、kenv() は、全体の環境変数をコピーするために必要なバ
イト数を返します。name は、無視されます。
KENV_DUMP_LOADER KENV_DUMP とまったく同じセマンティックスで loader(8) に
よって提供される静的環境をダンプします。この環境にもと
もと存在していた重複していて不正な変数は、カーネルに
よって廃棄され、出力には現れません。
KENV_DUMP_STATIC カーネルの config(5) によって定義された静的環境をダンプ
します。セマンティクスは、KENV_DUMP_LOADER と同じです。
戻り値
kenv() システムコールは、KENV_SET と KENV_UNSET の場合に成功するなら、0
を返し、KENV_DUMP と KENV_GET の場合に、コピーされたバイト数を value に返
します。エラーが起こるなら、-1 の値が返され、グローバル変数 errno は、エ
ラーを示す値に設定されます。
エラー
kenv() システムコールは、次の場合に失敗します:
[EINVAL] action 引数は、有効なオプションではないか、または、
value の長さは、KENV_SET のために 1 未満です。
[ENOENT] 値は、KENV_GET または KENV_UNSET のための name に対し
て見つけられませんでした。
[ENOENT] 要求された環境は、KENV_DUMP_LOADER または
KENV_DUMP_STATIC について利用可能ではありません。カー
ネルは、デフォルトでこれらの環境を破壊するように設定さ
れています。
[EPERM] スーパユーザ以外のユーザが、カーネル環境変数を設定する
か、または設定解除することを試みました。
[EFAULT] ユーザ引数でコピーする試み、または (複数の) 値をコピー
する間に、不正なアドレスに遭遇しました。
[ENAMETOOLONG] name または value は、それぞれ KENV_MNAMELEN または
KENV_MVALLEN 文字より長いか、または、len は、KENV_SET
のためのヌル文字の終端子を含みませんでした。
関連項目
kenv(1)
作者
このマニュアルページは、Chad David <davidc@FreeBSD.org> によって書かれま
した。
kenv() システムコールは、Maxime Henrion <mux@FreeBSD.org> によって書かれ
ました。
FreeBSD 13.2 June 20, 2021 FreeBSD 13.2