doc/documentation/manual-pages/ja/man2/kenv.2
Sergio Carlavilla Delgado 989d921f5d Migrate doc to Hugo/AsciiDoctor
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
2021-01-26 00:31:29 +01:00

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
が書きました。