| KENV(2) | FreeBSD System Calls Manual | KENV(2) | 
名称
kenv — カーネル環境ライブラリ
Standard C Library (libc, -lc)解説
kenv() システムコールはカーネル環境変数を操作します。カーネル環境の中の全てのエントリをダンプする能力と同様に、ユーザランドでよく知られている環境変数を取得、設定、設定解除する動作をサポートしています。action 引数は、以下の中の 1 つを取ることが可能です:
- KENV_GET
 - カーネル環境変数に関連付けられた値を返します。その変数が見つからない場合には、-1 が返されグローバル変数 errno が ENOENT に設定されます。 value に利用可能なバイト数のみがコピーされます。
 - KENV_SET
 - 新しいカーネル環境変数を設定または追加します。このオプションはスーパユーザのみ利用可能です。
 - KENV_UNSET
 - カーネル環境変数 name を設定解除します。その変数が見つからなかった場合には、-1 が返されグローバル変数 errno が EINVAL に設定されます。このオプションはスーパユーザのみ利用可能です。
 - KENV_DUMP
 - value を埋め尽くすだけのカーネル環境変数をダンプします。 value が NULL の場合には、 kenv() は環境変数全体をコピーするために必要なバイト数を返すでしょう。
 
name 引数は作用されるべき環境変数の名前です。 KENV_DUMP の場合には、無視されます。
value 引数は、 KENV_SET の場合には環境変数 name に設定するべき値、または KENV_DUMP および KENV_GET の場合には kenv() が返すデータをコピーするべき場所を指し示す値、のどちらかを含みます。 value が NULL で KENV_DUMP の場合には、 kenv() は環境変数全体をコピーするために必要なバイト数を返すでしょう。
len 引数は value が指す記憶領域が何バイトかを示します。
戻り値
KENV_SET および KENV_UNSET で成功した場合には、 kenv() システムコールは 0 を返します。 KENV_DUMP および KENV_GET で成功した場合には、 value にコピーされたバイト数を返します。エラーが発生した場合には、値-1 が返されグローバル変数 errno がそのエラーを示すために設定されます。エラー
kenv() システムコールは、以下の場合に失敗します:- [ EINVAL]
 - action 引数が有効なオプションではありません。または KENV_SET のための value 引数の長さが 1 未満です。
 - [ ENOENT]
 - KENV_SET または KENV_UNSET のための name の値が見つけられませんでした。
 - [ EPERM]
 - スーパユーザではないユーザがカーネル環境変数を設定または設定解除しようとしました。
 - [ EFAULT]
 - ユーザ引数にコピーまたは値をコピーしようとしたときに、不正なアドレスに遭遇しました。
 - [ ENAMETOOLONG]
 - ユーザによって与えられた変数の名前が KENV_MNAMELEN より長過ぎました、または変数の値が KENV_MVALLEN より長過ぎました。
 
関連項目
kenv(1)作者
このマニュアルページは、 <davidc@FreeBSD.org>によって書かれました。kenv() システムコールは、 <mux@FreeBSD.org>によって書かれました。
| April 17, 2002 | FreeBSD |