I'm very pleased to announce the release of our new website and documentation using the new toolchain with Hugo and AsciiDoctor. To get more information about the new toolchain please read the FreeBSD Documentation Project Primer[1], Hugo docs[2] and AsciiDoctor docs[3]. Acknowledgment: Benedict Reuschling <bcr@> Glen Barber <gjb@> Hiroki Sato <hrs@> Li-Wen Hsu <lwhsu@> Sean Chittenden <seanc@> The FreeBSD Foundation [1] https://docs.FreeBSD.org/en/books/fdp-primer/ [2] https://gohugo.io/documentation/ [3] https://docs.asciidoctor.org/home/ Approved by: doceng, core
172 lines
4.4 KiB
Groff
172 lines
4.4 KiB
Groff
.\"
|
|
.\" Copyright (C) 2002 Chad David <davidc@FreeBSD.org>. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice(s), this list of conditions and the following disclaimer as
|
|
.\" the first lines of this file unmodified other than the possible
|
|
.\" addition of one or more copyright notices.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice(s), this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
|
|
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
.\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
|
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
|
.\" DAMAGE.
|
|
.\"
|
|
.\" %FreeBSD: src/lib/libc/sys/kenv.2,v 1.4 2002/12/19 09:40:25 ru Exp %
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd April 17, 2002
|
|
.Dt KENV 2
|
|
.Os
|
|
.Sh 名称
|
|
.Nm kenv
|
|
.Nd カーネル環境
|
|
.Sh ライブラリ
|
|
.Lb libc
|
|
.Sh 書式
|
|
.In kenv.h
|
|
.Ft int
|
|
.Fn kenv "int action" "const char *name" "char *value" "int len"
|
|
.Sh 解説
|
|
.Fn kenv
|
|
システムコールはカーネル環境変数を操作します。
|
|
カーネル環境の中の全てのエントリをダンプする能力と同様に、ユーザランドで
|
|
よく知られている環境変数を取得、設定、設定解除する動作をサポートしています。
|
|
.Pp
|
|
.Fa action
|
|
引数は、以下の中の 1 つを取ることが可能です:
|
|
.Bl -tag -width ".Dv KENV_UNSET"
|
|
.It Dv KENV_GET
|
|
カーネル環境変数に関連付けられた値を返します。
|
|
その変数が見つからない場合には、\-1 が返されグローバル変数
|
|
.Va errno
|
|
が
|
|
.Er ENOENT
|
|
に設定されます。
|
|
.Fa value
|
|
に利用可能なバイト数のみがコピーされます。
|
|
.It Dv KENV_SET
|
|
新しいカーネル環境変数を設定または追加します。
|
|
このオプションはスーパユーザのみ利用可能です。
|
|
.It Dv KENV_UNSET
|
|
カーネル環境変数
|
|
.Fa name
|
|
を設定解除します。
|
|
その変数が見つからなかった場合には、\-1 が返されグローバル変数
|
|
.Va errno
|
|
が
|
|
.Er EINVAL
|
|
に設定されます。
|
|
このオプションはスーパユーザのみ利用可能です。
|
|
.It Dv KENV_DUMP
|
|
.Fa value
|
|
を埋め尽くすだけのカーネル環境変数をダンプします。
|
|
.Fa value
|
|
が
|
|
.Dv NULL
|
|
の場合には、
|
|
.Fn kenv
|
|
は環境変数全体をコピーするために必要なバイト数を返すでしょう。
|
|
.El
|
|
.Pp
|
|
.Fa name
|
|
引数は作用されるべき環境変数の名前です。
|
|
.Dv KENV_DUMP
|
|
の場合には、無視されます。
|
|
.Pp
|
|
.Fa value
|
|
引数は、
|
|
.Dv KENV_SET
|
|
の場合には環境変数
|
|
.Fa name
|
|
に設定するべき値、または
|
|
.Dv KENV_DUMP
|
|
および
|
|
.Dv KENV_GET
|
|
の場合には
|
|
.Fn kenv
|
|
が返すデータをコピーするべき場所を指し示す値、のどちらかを含みます。
|
|
.Fa value
|
|
が
|
|
.Dv NULL
|
|
で
|
|
.Dv KENV_DUMP
|
|
の場合には、
|
|
.Fn kenv
|
|
は環境変数全体をコピーするために必要なバイト数を返すでしょう。
|
|
.Pp
|
|
.Fa len
|
|
引数は
|
|
.Fa value
|
|
が指す記憶領域が何バイトかを示します。
|
|
.Sh 戻り値
|
|
.Dv KENV_SET
|
|
および
|
|
.Dv KENV_UNSET
|
|
で成功した場合には、
|
|
.Fn kenv
|
|
システムコールは 0 を返します。
|
|
.Dv KENV_DUMP
|
|
および
|
|
.Dv KENV_GET
|
|
で成功した場合には、
|
|
.Fa value
|
|
にコピーされたバイト数を返します。
|
|
エラーが発生した場合には、値 \-1 が返されグローバル変数
|
|
.Va errno
|
|
がそのエラーを示すために設定されます。
|
|
.Sh エラー
|
|
.Fn kenv
|
|
システムコールは、以下の場合に失敗します:
|
|
.Bl -tag -width Er
|
|
.It Bq Er EINVAL
|
|
.Fa action
|
|
引数が有効なオプションではありません。または
|
|
.Dv KENV_SET
|
|
のための
|
|
.Fa value
|
|
引数の長さが 1 未満です。
|
|
.It Bq Er ENOENT
|
|
.Dv KENV_SET
|
|
または
|
|
.Dv KENV_UNSET
|
|
のための
|
|
.Fa name
|
|
の値が見つけられませんでした。
|
|
.It Bq Er EPERM
|
|
スーパユーザではないユーザがカーネル環境変数を設定または
|
|
設定解除しようとしました。
|
|
.It Bq Er EFAULT
|
|
ユーザ引数にコピーまたは値をコピーしようとしたときに、
|
|
不正なアドレスに遭遇しました。
|
|
.It Bq Er ENAMETOOLONG
|
|
ユーザによって与えられた変数の名前が
|
|
.Dv KENV_MNAMELEN
|
|
より長過ぎました、または変数の値が
|
|
.Dv KENV_MVALLEN
|
|
より長過ぎました。
|
|
.El
|
|
.Sh 関連項目
|
|
.Xr kenv 1
|
|
.Sh 作者
|
|
.An -nosplit
|
|
このマニュアルページは
|
|
.An Chad David Aq davidc@FreeBSD.org
|
|
が書きました。
|
|
.Pp
|
|
.Fn kenv
|
|
システムコールは
|
|
.An Maxime Henrion Aq mux@FreeBSD.org
|
|
が書きました。
|